/* cup/role-icons.css */
/* Shared project-drawn silhouettes. Explicit symbol fills prevent outline
   rules on cards, account rows or broadcast surfaces from erasing highlights. */
svg.role-icon{display:inline-block;width:24px;height:24px;vertical-align:middle;flex-shrink:0;fill:currentColor;stroke:none;overflow:visible}
svg.role-icon>use{fill:currentColor;stroke:none}
.roster-form .form-field>label{display:flex;align-items:center;gap:8px}.roster-form .form-field>label>.role-icon{width:21px;height:21px;color:var(--accent)}
.ms-source-name>small>.role-icon,.rm-current-player small>.role-icon{width:17px;height:17px;margin-right:5px;color:var(--accent)}
.form-grid label>span>.role-icon{width:18px;height:18px;margin-right:5px;color:var(--accent)}
.account-champion-portrait>.account-lane-icon{position:absolute;display:grid;place-items:center;width:22px;height:22px;right:-5px;bottom:-5px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--accent);z-index:1}
.account-champion-portrait>.account-lane-icon>.role-icon{width:17px;height:17px;max-width:none;max-height:none}
@media(max-width:700px){.account-champion-portrait>.account-lane-icon{width:20px;height:20px;right:-4px;bottom:-4px}.account-champion-portrait>.account-lane-icon>.role-icon{width:15px;height:15px}}


/* cup/grade-badges.css */
/* One legible grade language across light/dark pages and compact previews. */
.grade-badge[data-grade]{--grade-fg:#b1becb;--grade-edge:#788796;--grade-glow:120 135 150;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;flex-shrink:0;min-width:36px;min-height:29px;padding:3px 9px;border:1px solid var(--grade-edge);border-radius:5px;color:var(--grade-fg);background:linear-gradient(135deg,rgb(var(--grade-glow) / .18),transparent 65%),#121b25;box-shadow:inset 0 1px rgb(255 255 255 / .06);font:650 16px/1.2 Arial,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:.025em;white-space:nowrap;text-decoration:none}
.grade-badge[data-grade="s-plus"]{--grade-fg:#fff0bf;--grade-edge:#d4b36c;--grade-glow:255 224 150;background:linear-gradient(135deg,#cda65033,#9fe6eb14 70%),#17202a;box-shadow:inset 0 1px #fff2bf33,0 0 12px #e9c86b12}
.grade-badge[data-grade="s"]{--grade-fg:#f4d487;--grade-edge:#ba944b;--grade-glow:244 212 135}
.grade-badge[data-grade="a"]{--grade-fg:#dbb1fa;--grade-edge:#9e73c7;--grade-glow:216 177 250}
.grade-badge[data-grade="b"]{--grade-fg:#82d8ec;--grade-edge:#4b9eb3;--grade-glow:130 216 236}
.grade-badge[data-grade="c"]{--grade-fg:#d3dde6;--grade-edge:#87929d;--grade-glow:211 221 230}
.grade-badge[data-grade="d"]{--grade-fg:#e4ad7b;--grade-edge:#b47d4e;--grade-glow:217 161 110}
.grade-badge[data-grade="neutral"]{--grade-fg:#aab6c4;--grade-edge:#52606e;--grade-glow:130 145 160;font-size:13px;font-weight:500;letter-spacing:0}
.grade-badge.grade-badge--compact{min-width:32px;min-height:25px;padding:3px 7px;font-size:14px}.grade-badge.grade-badge--compact[data-grade="neutral"]{font-size:12px}
.profile-preview-position{display:flex;align-items:center;gap:5px;min-width:56px}.profile-preview-position>.role-icon{width:20px;height:20px;color:var(--accent)}
.pregame-players>div>span{display:flex;align-items:center;gap:6px}.pregame-players>div>span>.role-icon{width:20px;height:20px;color:var(--accent)}
.ms-slot-copy>span>.role-icon{width:18px;height:18px;color:var(--accent)}
.grading-preview-table .grade-badge+.grade-badge{margin-left:6px}.grading-input-table select.grade-badge{min-width:76px}.grading-preview-summary>.grade-badge{gap:7px}
@media(min-width:2400px){.grade-badge[data-grade]{min-height:34px;font-size:19px}.grade-badge.grade-badge--compact{min-height:29px;font-size:16px}.grade-badge[data-grade="neutral"]{font-size:15px}}


/* cup/cup.css */
/* 驴酱杯 public presentation. Reference source files are retained separately. */
:root{color-scheme:dark;--bg:#0b0e14;--surface:#121720;--surface-2:#191f2a;--surface-3:#222a37;--text:#edf1f7;--muted:#8e99ac;--line:#29313e;--accent:#a99368;--blue:#4fa8ff;--red:#ff6475;--win:#48d597;--loss:#ff5b70;--header:#090c11;--shadow:0 14px 40px #0003}
:root[data-theme=light]{color-scheme:light;--bg:#eef1f5;--surface:#fff;--surface-2:#f4f6f9;--surface-3:#e6ebf2;--text:#172131;--muted:#69768a;--line:#d9dfe8;--accent:#927648;--blue:#1375c9;--red:#ca324c;--win:#13865a;--loss:#cc334c;--header:#fff;--shadow:0 12px 36px #1d34590b}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.6 "Microsoft YaHei","PingFang SC","Noto Sans CJK SC",Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block}svg{fill:none;stroke:currentColor;stroke-width:1.7}h1,h2,h3,p,dl,dd{margin:0}h1,h2,h3{font-weight:500;line-height:1.35}h1{font-size:30px;letter-spacing:.03em}h2{font-size:21px}h3{font-size:16px}strong,b{font-weight:600}small,.small{font-size:12px}.muted{color:var(--muted)}a,button{transition:color .18s,background .18s,border-color .18s}a:hover{color:var(--blue)}:focus-visible{outline:2px solid var(--blue);outline-offset:4px}.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}.skip-link{position:fixed;top:-100px;left:16px;z-index:100;background:var(--surface);padding:10px 18px}.skip-link:focus{top:12px}
.site-header{position:relative;z-index:30;background:var(--header);border-bottom:1px solid var(--line)}.header-inner{max-width:1840px;min-height:82px;margin:auto;padding:0 40px;display:flex;align-items:center;gap:44px}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap}.brand svg{width:34px;height:42px;color:var(--accent)}.brand svg path:first-child{fill:color-mix(in srgb,var(--accent) 8%,transparent)}.brand>span{font-size:23px;font-weight:500;letter-spacing:.12em;line-height:1.3}.brand small{display:block;font-size:10px;letter-spacing:.15em;font-weight:400;color:var(--muted);margin-top:4px}.main-nav{display:flex;align-self:stretch;align-items:stretch;gap:32px}.main-nav>a{display:flex;align-items:center;position:relative;font-size:15px;white-space:nowrap;color:var(--muted)}.main-nav>a[aria-current=page]{color:var(--text)}.main-nav>a[aria-current=page]:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--accent)}.header-tools{margin-left:auto;display:flex;gap:20px;align-items:center}.manage-link{font-size:12px;color:var(--muted)}.season-switcher{position:relative;max-width:230px}.season-switcher summary{list-style:none;font-size:12px;color:var(--muted);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.season-switcher summary::-webkit-details-marker{display:none}.season-switcher summary span{margin-left:12px}.season-switcher ul{position:absolute;top:35px;right:0;width:270px;margin:0;padding:8px;list-style:none;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}.season-switcher li a{display:block;padding:10px 12px;white-space:normal}.season-switcher li a[aria-current=true]{background:var(--surface-2);color:var(--blue)}.theme-toggle{height:32px;width:32px;border:1px solid var(--line);color:var(--muted);background:transparent;display:grid;place-items:center}.theme-toggle svg{width:17px;height:17px}.nav-toggle{display:none;width:34px;height:34px;background:transparent;border:0;padding:6px;color:var(--text)}.nav-toggle span{display:block;height:1px;background:currentColor;margin:5px 0}.demo-notice{min-height:29px;display:flex;align-items:center;justify-content:center;gap:8px;padding:5px 24px;font-size:11px;color:var(--muted);background:var(--surface);border-bottom:1px solid var(--line)}.demo-notice>span{width:4px;height:4px;background:var(--accent);flex-shrink:0}
.site-main{width:calc(100% - 96px);max-width:1680px;margin:0 auto;padding:32px 0 64px;min-height:calc(100vh - 190px)}.site-footer{max-width:1680px;margin:0 auto;border-top:1px solid var(--line);padding:24px 0;display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:26px}.page-heading p{color:var(--muted);margin-top:7px;font-size:13px}.heading-count{font-size:28px;font-variant-numeric:tabular-nums;color:var(--accent)}.heading-count small{color:var(--muted);font-weight:400}.panel{background:var(--surface);border:1px solid var(--line);padding:24px;min-width:0}.section-block{margin-top:32px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.section-heading a,.text-link{color:var(--muted);font-size:12px}.section-heading a:hover,.text-link:hover{color:var(--blue)}.section-heading h2{font-size:20px}.section-heading p{margin-top:5px}.button{min-height:42px;padding:10px 22px;display:inline-flex;justify-content:center;align-items:center;gap:24px;border:1px solid var(--line);font-size:13px;white-space:nowrap}.button.primary{background:var(--accent);color:#0b1018;border-color:var(--accent)}.button.primary:hover{background:#c0ab81;border-color:#c0ab81;color:#0b1018}.button.outline{background:#0c101a70;border-color:#a9936866;color:#eee}.back-link{display:inline-block;margin-bottom:22px;color:var(--muted);font-size:12px}.empty-state{text-align:center;padding:48px 24px;grid-column:1/-1}.empty-state h2,.empty-state h3{font-size:18px}.empty-state p{color:var(--muted);margin-top:10px}.empty-state a{display:inline-block;margin-top:16px}.data-note{font-size:12px;color:var(--muted);line-height:1.8;margin-top:18px}.status-dot{width:6px;height:6px;background:var(--win);display:inline-block;box-shadow:0 0 12px #48d59755}
.event-hero{position:relative;min-height:384px;overflow:hidden;background:#101a2d;border:1px solid #344050;color:#edf1f7}.event-hero-art{position:absolute;right:0;top:0;width:78%;height:100%;object-fit:cover;object-position:center 35%;opacity:.8}.event-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0b101af5 0%,#0c1422e6 28%,#0b152766 67%,#0c142220),linear-gradient(0deg,#0b101a70,transparent 60%);pointer-events:none}.event-hero-content{position:relative;z-index:1;padding:48px;max-width:650px}.hero-event-label{font-size:12px;color:#a99368;margin-bottom:10px;letter-spacing:.12em}.event-hero h1{font-size:38px;font-weight:500;letter-spacing:.04em}.hero-description{margin-top:12px;color:#9ba9be;font-size:14px}.hero-actions{display:flex;gap:12px;margin-top:28px}.hero-facts{display:flex;gap:34px;margin-top:36px;color:#a6b0c0;font-size:12px}.hero-facts b{font-size:22px;font-weight:400;margin-right:5px;color:#e4e9f1}.hero-stage{position:absolute;z-index:2;right:28px;bottom:25px;display:flex;gap:10px;align-items:center;font-size:12px;color:#d6dfed}.stage-progress{display:grid;grid-template-columns:1fr 40px 1fr;align-items:center;padding:22px 26px;margin:16px 0 30px;background:var(--surface);border:1px solid var(--line)}.stage-progress>a{display:flex;gap:22px;align-items:center;min-width:0}.stage-index{font-size:24px;font-weight:400;color:var(--accent);font-variant-numeric:tabular-nums}.stage-progress h2{font-size:17px}.stage-progress p{color:var(--muted);font-size:12px;margin-top:4px}.stage-progress strong{margin-left:auto;font-size:26px;color:var(--win);font-weight:400}.stage-progress strong small{font-size:12px;color:var(--muted)}.stage-progress .text-link{margin-left:auto}.stage-arrow{text-align:center;color:var(--muted)}.home-main-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:24px}.home-fixtures{grid-template-columns:1fr!important}.home-fixtures .match-card{padding:14px 18px}.home-fixtures .match-meta{margin-bottom:10px}.home-fixtures .match-card-foot{margin-top:10px}.home-fixtures .match-team-name{font-size:15px}.home-players{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.team-mark{position:relative;display:inline-grid;place-items:center;width:36px;height:36px;flex:0 0 36px;color:var(--muted);background:var(--surface-3);font:600 11px/1 Arial,sans-serif;overflow:hidden}.team-mark img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:var(--surface-2);padding:3px}.team-mark-large{width:82px;height:82px;flex-basis:82px;font-size:19px}.team-mark-large img{padding:8px}.result-tag{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;font-size:11px;color:var(--muted);background:var(--surface-2);border:1px solid var(--line);white-space:nowrap}.result-tag.qualified{color:var(--win);border-color:color-mix(in srgb,var(--win) 27%,transparent);background:color-mix(in srgb,var(--win) 8%,transparent)}.result-tag.eliminated{color:var(--loss);border-color:color-mix(in srgb,var(--loss) 27%,transparent);background:color-mix(in srgb,var(--loss) 8%,transparent)}.round-state{font-size:10px;color:var(--muted);white-space:nowrap}.round-state-completed{color:var(--win)}.round-state-published{color:var(--blue)}
.matches-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.match-card{display:block;border:1px solid var(--line);background:var(--surface-2);padding:16px 18px;min-width:0;color:var(--text)}.match-card:hover{border-color:var(--accent);color:var(--text);background:var(--surface-3)}.match-meta,.match-card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;color:var(--muted)}.match-meta{margin-bottom:16px}.match-teams{display:grid;grid-template-columns:1fr 12px 1fr;align-items:center;gap:12px}.match-team{display:flex;align-items:center;gap:10px;min-width:0}.match-team-name{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.match-team strong{font-size:24px;font-weight:400;margin-left:auto;font-variant-numeric:tabular-nums}.match-divider{color:var(--muted);text-align:center}.match-team.is-winner strong{color:var(--win)}.match-card-foot{padding-top:10px;margin-top:16px;border-top:1px solid var(--line)}.match-card-foot>span:last-child{color:var(--muted)}.match-completed .match-state{color:var(--muted)}
.table-scroll{max-width:100%;overflow:auto}.standings-table,.data-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}.standings-table th,.standings-table td,.data-table th,.data-table td{border-bottom:1px solid var(--line);padding:12px 14px;font-weight:400;white-space:nowrap}.standings-table thead,.data-table thead{color:var(--muted);font-size:11px;background:var(--surface-2)}.standings-table td:nth-child(2),.standings-table td:nth-child(3){font-variant-numeric:tabular-nums}.standings-table th:first-child{padding-left:12px}.standings-table th a{display:flex;gap:12px;align-items:center;max-width:320px}.standings-table th a>span:last-child{overflow:hidden;text-overflow:ellipsis}.standings-table .team-mark{width:28px;height:28px;flex-basis:28px;font-size:9px}.table-empty{color:var(--muted);text-align:center;padding:30px!important}.data-table{min-width:750px}.data-table th small{display:block;color:var(--muted)}.table-champion{display:flex;gap:8px;align-items:center}.table-champion img{width:30px;height:30px}.cell-unknown{color:var(--muted)}
.players-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}.player-card{min-width:0;background:var(--surface);border:1px solid var(--line);overflow:hidden}.player-card:hover{border-color:var(--accent)}.player-card-link{display:block}.player-card-link:hover{color:var(--text)}.player-visual{height:185px;position:relative;background:linear-gradient(120deg,#1a2536,#0a0e17);isolation:isolate;overflow:hidden}.champion-splash{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% center;opacity:.8;transition:transform .35s}.player-card:hover .champion-splash{transform:scale(1.04)}.player-visual:after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(0deg,#111925 3%,#11192530 75%),linear-gradient(90deg,#0b142550,transparent)}.player-role{position:absolute;left:12px;top:12px;display:flex;gap:7px;align-items:center;z-index:2;font-size:11px;color:#edf1f7;text-shadow:0 1px 3px #000;background:#0b101b99;padding:4px 8px}.role-icon{width:20px;height:20px;flex:0 0 20px;object-fit:contain;display:inline-block;vertical-align:middle;stroke:currentColor;fill:none}.player-grade{position:absolute;right:12px;top:12px;font:500 19px/1.4 Arial,sans-serif;color:#d3bd8f;z-index:2;border-bottom:1px solid #a9936880}.player-portrait{position:absolute;width:112px;height:112px;left:20px;bottom:-1px;z-index:1;background:radial-gradient(ellipse at bottom,#34425a55,transparent 75%);overflow:hidden}.player-portrait img{position:absolute;inset:0;object-fit:contain;object-position:center bottom;width:100%;height:100%}.portrait-missing{display:grid;place-items:center;width:100%;height:100%;font-size:11px;color:#7b8da6;background:linear-gradient(0deg,#1a2639aa,transparent)}.player-card-info{padding:18px 20px 16px}.player-name-line{display:flex;gap:8px;align-items:center;min-width:0}.player-card h3{font-size:20px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.captain-tag{color:var(--accent);font-size:10px;white-space:nowrap;border:1px solid var(--line);padding:1px 4px}.player-card-info>p{margin-top:4px;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.champion-icons{display:flex;gap:6px;align-items:center;margin-top:14px;min-height:34px}.champion-icon{display:block;width:34px;height:34px;border:1px solid var(--line)}.champion-icon img{width:100%;height:100%;object-fit:cover}.catalog-filter{display:flex;gap:16px;align-items:flex-end;margin-bottom:24px;padding:20px 24px}.catalog-filter label{display:flex;flex-direction:column;gap:7px;min-width:150px;font-size:11px;color:var(--muted)}.catalog-filter .search-field{flex:1}.catalog-filter input,.catalog-filter select{height:40px;width:100%;padding:0 12px;color:var(--text);background:var(--surface-2);border:1px solid var(--line);border-radius:0;font-size:13px}.catalog-filter .button{min-height:40px}.catalog-filter .text-link{padding-bottom:11px}.pagination{display:flex;justify-content:center;align-items:center;gap:24px;margin-top:32px;font-size:12px;color:var(--muted)}.pagination a{border:1px solid var(--line);padding:8px 16px;background:var(--surface)}.player-profile{display:grid;grid-template-columns:300px 1fr;gap:40px}.player-profile .player-visual{height:230px}.player-profile>.page-heading{margin-top:0}.profile-role{display:flex;align-items:center;gap:8px;color:var(--accent);font-size:12px;margin-bottom:8px}.identity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}.identity-grid>div{padding:16px 20px 16px 0;border-bottom:1px solid var(--line)}.identity-grid dt,.stats-grid dt{color:var(--muted);font-size:11px}.identity-grid dd{margin-top:5px;font-size:15px;overflow-wrap:anywhere}.champion-profile-list{display:flex;gap:16px;flex-wrap:wrap}.champion-profile-list>div{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);padding:8px 14px 8px 8px;font-size:12px}.champion-profile-list img{height:40px;width:40px}.dimensions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 28px}.dimension>div{display:flex;justify-content:space-between;font-size:12px;gap:12px;margin-bottom:8px}.dimension strong{color:var(--accent);font-weight:400}.dimension meter{width:100%;height:4px;appearance:none;background:var(--surface-3);border:0;display:block}.dimension meter::-webkit-meter-bar{background:var(--surface-3);border:0;border-radius:0}.dimension meter::-webkit-meter-optimum-value{background:var(--accent)}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.stats-grid>div{padding:10px 20px;border-left:1px solid var(--line)}.stats-grid>div:first-child{padding-left:0;border:0}.stats-grid dd{font-size:30px;font-weight:400;margin-top:6px;font-variant-numeric:tabular-nums}.stats-grid small{font-size:13px;color:var(--muted)}
.team-workspace{display:grid;grid-template-columns:210px minmax(0,1fr);gap:32px}.team-selector-rail{background:var(--surface);border:1px solid var(--line);align-self:start;position:sticky;top:20px}.team-selector-rail nav{display:flex;flex-direction:column}.team-selector-rail nav>a{display:flex;align-items:center;gap:10px;padding:11px 14px;border-left:2px solid transparent;border-bottom:1px solid var(--line)}.team-selector-rail nav>a:last-child{border-bottom:0}.team-selector-rail nav>a.active{background:var(--surface-2);border-left-color:var(--accent);color:var(--text)}.team-selector-rail nav>a>span:nth-child(2){font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-selector-rail nav>a>small{display:none}.team-selector-rail .team-mark{width:30px;height:30px;flex-basis:30px}.team-detail{min-width:0}.team-identity{display:flex;gap:22px;align-items:center;padding:24px 0 28px;border-bottom:1px solid var(--line)}.team-identity h2{font-size:28px;margin-top:2px}.team-identity p{color:var(--muted);font-size:12px;margin-top:6px;max-width:600px}.team-record{margin-left:auto;text-align:right;flex-shrink:0}.team-record>strong{display:block;font-size:35px;font-weight:400;line-height:1.25;font-variant-numeric:tabular-nums;margin-bottom:8px}.team-record>strong>span{margin:0 12px;color:var(--muted)}.lineup-five{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.lineup-five .player-visual{height:180px}.lineup-five .player-card-info{padding:16px 14px}.lineup-five .player-card h3{font-size:18px}.lineup-five .player-portrait{left:12px;width:104px;height:104px}.lineup-five .player-role{left:9px;font-size:10px;padding:4px 6px}.lineup-five .player-grade{right:9px}.lineup-slot{min-width:0}.lineup-empty{height:310px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;border:1px dashed var(--line);color:var(--muted);background:var(--surface)}.lineup-empty .role-icon{width:36px;height:36px}.lineup-empty p{font-size:12px}
.stage-tabs{display:flex;gap:0;border-bottom:1px solid var(--line);margin-bottom:22px}.stage-tabs>a{display:flex;align-items:center;gap:10px;padding:13px 24px;border-bottom:2px solid transparent;color:var(--muted);font-size:16px}.stage-tabs>a>span{font-size:11px;color:var(--accent)}.stage-tabs>a small{font-size:11px;margin-left:6px}.stage-tabs>a[aria-current=page]{color:var(--text);border-color:var(--accent);background:var(--surface)}.schedule-panel{padding:0}.schedule-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 24px;border-bottom:1px solid var(--line)}.round-filter,.view-toggle{display:flex;gap:6px;flex-wrap:wrap}.round-filter>a,.view-toggle>a{font-size:12px;padding:6px 13px;color:var(--muted);border:1px solid transparent;white-space:nowrap}.round-filter>a[aria-current=page]{color:var(--text);background:var(--surface-3);border-color:var(--line)}.view-toggle{flex-shrink:0;border:1px solid var(--line);gap:0}.view-toggle>a[aria-current=page]{color:var(--accent);background:var(--surface-2)}.schedule-statusbar{display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:11px;padding:15px 24px;border-bottom:1px solid var(--line)}.schedule-key{display:flex;gap:18px}.schedule-key span{display:flex;align-items:center;gap:6px}.key-dot{width:5px;height:5px;display:inline-block}.key-dot.qualified{background:var(--win)}.key-dot.eliminated{background:var(--loss)}.champion-status{color:var(--accent)}.schedule-rounds{padding:24px}.list-round+.list-round{margin-top:36px;padding-top:26px;border-top:1px solid var(--line)}.list-round-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.list-round-heading h2{font-size:20px}.list-group+.list-group{margin-top:22px}.list-group-heading{display:flex;justify-content:space-between;margin-bottom:12px;font-size:11px;color:var(--muted);align-items:center}.list-group-heading h3{font-size:20px;font-weight:400;color:var(--accent)}.list-group-heading h3 span{font-size:11px;color:var(--muted);margin-left:6px}.list-outcomes{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.pairing-pending{padding:24px;background:var(--surface-2);border:1px dashed var(--line);color:var(--muted);font-size:12px}.pairing-pending strong{font-weight:400}.pairing-pending p{font-size:11px;margin-top:6px}.graph-explanation{padding:18px 24px 0;font-size:11px;color:var(--muted)}.graph-explanation>span{float:right}.swiss-scroll,.bracket-scroll{width:100%;overflow:auto;padding:22px 24px 28px;overscroll-behavior-x:contain}.swiss-board{position:relative;display:grid;grid-template-columns:repeat(5,minmax(240px,1fr));gap:36px;min-width:1350px;isolation:isolate}.swiss-board.is-single-round{grid-template-columns:minmax(260px,420px);min-width:0}.swiss-connections,.playoff-connections{position:absolute;inset:0;pointer-events:none;z-index:-1;overflow:visible}.swiss-connections path{stroke-width:1.3;fill:none;stroke-dasharray:3 4;opacity:.75}.flow-win{stroke:var(--win)}.flow-loss{stroke:var(--loss)}.round-heading{min-height:53px;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:18px;border-bottom:1px solid var(--line);padding-bottom:13px}.round-heading h2{font-size:16px}.round-heading .round-state{padding-top:4px}.round-groups{display:flex;flex-direction:column;gap:22px}.record-group{background:var(--bg);border:1px solid var(--line);position:relative}.record-heading{display:flex;align-items:center;justify-content:space-between;padding:11px 12px;border-bottom:1px solid var(--line);background:var(--surface-2)}.record-heading h3{font:400 20px/1.2 Arial,sans-serif;color:var(--text)}.record-heading span{font-size:10px;color:var(--muted)}.record-matches{padding:8px;display:flex;flex-direction:column;gap:6px}.record-matches .match-card{padding:10px 9px}.record-matches .match-meta,.record-matches .match-card-foot{display:none}.record-matches .match-teams{gap:5px;grid-template-columns:1fr 7px 1fr}.record-matches .match-team{gap:5px}.record-matches .team-mark{width:23px;height:23px;flex-basis:23px;font-size:8px}.record-matches .match-team-name{font-size:10px}.record-matches .match-team strong{font-size:15px}.record-matches .match-divider{font-size:10px}.record-matches .pairing-pending{font-size:11px;padding:14px 9px;min-height:43px}.record-outcome{border:1px solid;padding:10px 12px;background:var(--surface);position:relative;font-size:11px;display:flex;flex-direction:column;gap:6px}.outcome-qualified{border-color:color-mix(in srgb,var(--win) 38%,transparent);color:var(--win)}.outcome-eliminated{border-color:color-mix(in srgb,var(--loss) 38%,transparent);color:var(--loss)}.record-outcome>strong{font-weight:500;margin-bottom:2px}.record-outcome>small{font-size:10px;opacity:.65}.outcome-team{display:flex;gap:7px;align-items:center;min-width:0;color:var(--text);font-size:10px}.outcome-team>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.outcome-team .team-mark{width:19px;height:19px;flex-basis:19px;font-size:7px}.playoff-board{position:relative;display:flex;gap:64px;min-width:1080px;isolation:isolate;padding-right:12px}.playoff-round{flex:1;min-width:285px;display:flex;flex-direction:column}.playoff-slots{display:flex;flex-direction:column;justify-content:space-around;flex:1;gap:24px}.playoff-slot{position:relative;background:var(--surface)}.playoff-pending{padding:17px 22px;border:1px dashed var(--line);background:var(--surface-2);min-height:150px;display:flex;flex-direction:column;gap:8px;font-size:12px}.playoff-pending>strong{font-weight:400}.playoff-pending>span:not(.muted){font-size:10px;color:var(--muted)}.playoff-connections path{stroke:var(--accent);stroke-width:1.3;fill:none;opacity:.7}.champion-panel{align-self:center;text-align:center;width:160px;flex:0 0 160px;padding:28px 14px;border:1px solid var(--accent);background:var(--surface-2)}.champion-panel .team-mark{margin:auto}.champion-panel>span{display:block;font-size:11px;color:var(--accent);margin:15px 0 7px}.champion-panel h2{font-size:18px}
.match-scoreboard{padding:24px 36px;background:linear-gradient(90deg,color-mix(in srgb,var(--blue) 8%,var(--surface)),var(--surface) 40%,var(--surface) 60%,color-mix(in srgb,var(--red) 8%,var(--surface)))}.scoreboard-meta{display:flex;justify-content:space-between;gap:24px;font-size:11px;color:var(--muted)}.scoreboard-teams{display:grid;grid-template-columns:1fr 180px 1fr;gap:24px;align-items:center;margin:28px 0 12px}.scoreboard-team{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;min-width:0}.scoreboard-team h1,.scoreboard-team h2{font-size:25px;font-weight:500}.scoreboard-team>span:last-child{font-size:11px;color:var(--muted)}.scoreboard-score{text-align:center;display:flex;align-items:center;flex-direction:column;gap:12px}.scoreboard-score>strong{font:400 54px/1.2 Arial,sans-serif;letter-spacing:.04em}.scoreboard-score>strong>span{margin:0 18px;color:var(--muted)}.game-navigation{display:flex;border-bottom:1px solid var(--line);margin-top:24px;gap:6px;overflow:auto}.game-navigation>a{padding:14px 24px;white-space:nowrap;color:var(--muted);border-bottom:2px solid var(--accent);font-size:14px}.game-navigation>a span{font-size:10px;display:block;margin-top:3px;color:var(--muted)}.game-result{display:flex;gap:18px;font-size:12px;color:var(--muted)}.game-result strong{font-weight:500;color:var(--win)}.battle-lineups{display:grid;grid-template-columns:1fr 1fr;gap:24px}.battle-side{background:var(--surface);border:1px solid var(--line);border-top:2px solid;min-width:0}.side-blue{--side:var(--blue);border-top-color:var(--blue)}.side-red{--side:var(--red);border-top-color:var(--red)}.battle-side-head{display:flex;justify-content:space-between;gap:16px;padding:16px 20px;align-items:center;background:color-mix(in srgb,var(--side) 6%,var(--surface))}.battle-side-head>div{display:flex;align-items:center;gap:12px}.battle-side-head h3{font-size:19px}.battle-side-head>span{color:var(--side);font-size:12px;white-space:nowrap}.side-totals{display:grid;grid-template-columns:repeat(3,1fr);padding:14px 20px;border-bottom:1px solid var(--line);gap:20px}.side-totals>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.side-totals span{color:var(--muted);font-size:11px}.side-totals strong{font:400 20px/1.3 Arial,sans-serif}.battle-player{display:grid;grid-template-columns:56px minmax(100px,1fr);gap:10px 16px;padding:16px 20px;border-bottom:1px solid var(--line);align-items:center}.battle-champion{grid-row:span 2;align-self:start;min-width:0}.battle-champion>img,.champion-unknown{width:56px;height:56px;border:1px solid var(--side);object-fit:cover}.champion-unknown{display:grid;place-items:center;color:var(--muted);background:var(--surface-2)}.battle-champion>span:last-child{display:block;text-align:center;font-size:9px;color:var(--muted);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.battle-player-info>a{display:flex;align-items:center;gap:7px;min-width:0}.battle-player-info strong{font-size:15px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.battle-player-info .role-icon{width:17px;height:17px;flex-basis:17px}.build-icons{display:flex;gap:4px;align-items:center;min-height:23px;margin-top:7px}.build-icons img{width:22px;height:22px;border:1px solid var(--line)}.build-icons img.spell-icon{width:20px;height:20px}.build-divider{width:4px}.battle-stat{grid-column:2;display:grid;grid-template-columns:1.3fr .7fr 1fr 1fr;gap:10px;min-width:0}.battle-stat dt{font-size:9px;color:var(--muted)}.battle-stat dd{font:400 12px/1.4 Arial,sans-serif;white-space:nowrap;margin-top:3px}.bans-row{display:flex;gap:8px;align-items:center;padding:16px 20px;min-height:67px}.bans-row>strong{font-size:11px;color:var(--muted);font-weight:400;margin-right:5px}.ban-champion{width:34px;height:34px;position:relative;overflow:hidden}.ban-champion img{width:100%;height:100%;object-fit:cover;filter:grayscale(.75);opacity:.65}.ban-champion i{position:absolute;width:150%;height:1px;background:var(--loss);transform:rotate(-45deg);top:50%;left:-25%}.pregame-lineups{display:grid;grid-template-columns:1fr 1fr;gap:24px}.pregame-players{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.pregame-players>div{min-width:0;text-align:center}.pregame-players>div>span{display:block;color:var(--muted);font-size:11px;margin-bottom:8px}.pregame-players a{display:flex;flex-direction:column;align-items:center;font-size:12px;overflow-wrap:anywhere}.pregame-players img{height:72px;width:72px;object-fit:contain;margin-bottom:7px}
@media(min-width:2200px){.site-main,.site-footer{max-width:1840px}.header-inner{max-width:2000px}.player-visual{height:200px}.lineup-five .player-visual{height:210px}.lineup-five .player-card-info{padding:18px}.lineup-five .player-card h3{font-size:20px}}
@media(max-width:1350px){.header-inner{padding:0 28px;gap:26px}.main-nav{gap:24px}.header-tools{gap:14px}.season-switcher{max-width:180px}.site-main{width:calc(100% - 56px)}.site-footer{margin:0 28px}.team-workspace{grid-template-columns:170px minmax(0,1fr);gap:22px}.team-selector-rail nav>a{padding:11px 9px;gap:7px}.lineup-five .player-card h3{font-size:16px}.lineup-five .player-visual{height:165px}.lineup-five .player-card-info{padding:14px 10px}.lineup-five .player-role{font-size:9px;gap:4px;left:6px}.lineup-five .role-icon{width:16px;height:16px;flex-basis:16px}.lineup-five .player-portrait{width:96px;height:96px;left:8px}.champion-icons{gap:5px}.champion-icon{width:30px;height:30px}.team-identity .team-mark-large{width:64px;height:64px;flex-basis:64px}.team-identity h2{font-size:24px}.event-hero-content{padding:40px}.home-main-grid{grid-template-columns:1.3fr 1fr}.hero-facts{gap:26px}}
@media(max-width:1100px){.header-inner{gap:22px;min-height:76px}.main-nav{gap:20px}.main-nav>a{font-size:13px}.brand>span{font-size:21px}.brand svg{width:28px}.brand{gap:8px}.season-switcher{max-width:135px}.manage-link{display:none}.home-main-grid{grid-template-columns:1fr 1fr}.home-fixtures .match-teams{gap:8px}.home-fixtures .match-team-name{font-size:12px}.team-workspace{display:block}.team-selector-rail{position:static;margin-bottom:22px}.team-selector-rail nav{flex-direction:row;overflow:auto}.team-selector-rail nav>a{flex-direction:column;min-width:84px;max-width:84px;gap:4px;padding:12px 6px;border-left:0;border-bottom:2px solid transparent}.team-selector-rail nav>a.active{border-bottom-color:var(--accent)}.team-selector-rail nav>a>span:nth-child(2){max-width:100%;font-size:10px}.lineup-five .player-visual{height:185px}.lineup-five .player-card h3{font-size:18px}.lineup-five .player-card-info{padding:16px}.event-hero h1{font-size:34px}.stage-progress{padding:20px;gap:12px;grid-template-columns:1fr 24px 1fr}.stage-progress>a{gap:14px}.stage-progress .text-link{display:none}.stage-progress strong small{display:block}.player-profile{grid-template-columns:260px 1fr;gap:28px}.dimensions{grid-template-columns:repeat(2,minmax(0,1fr))}.battle-lineups{gap:16px}.battle-player{padding:14px}.side-totals{padding:14px;gap:10px}.side-totals>div{flex-direction:column;align-items:flex-start;gap:3px}.battle-stat{gap:5px}.battle-stat dd{font-size:11px}.battle-champion>img{width:50px;height:50px}.battle-player{grid-template-columns:50px minmax(100px,1fr);gap:10px}.battle-side-head{padding:14px}.battle-side-head h3{font-size:17px}}
@media(max-width:850px){.header-tools .season-switcher{max-width:180px}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:10px 28px 22px;background:var(--header);border-bottom:1px solid var(--line);box-shadow:var(--shadow)}.main-nav.is-open{display:flex;flex-direction:column;gap:0}.main-nav>a{padding:13px 0;font-size:15px}.main-nav>a[aria-current=page]:after{width:24px;height:1px}.nav-toggle{display:block;margin-left:0;flex-shrink:0}.header-tools{margin-left:auto}.site-main{padding-top:24px}.event-hero{min-height:350px}.event-hero-art{width:100%}.event-hero-content{padding:32px;max-width:500px}.hero-stage{right:22px;bottom:18px}.home-main-grid{grid-template-columns:1fr}.home-players{grid-template-columns:repeat(3,minmax(0,1fr))!important}.lineup-five{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.lineup-five .player-visual{height:190px}.matches-grid{grid-template-columns:1fr}.schedule-toolbar{flex-wrap:wrap;gap:14px}.round-filter{flex:1}.battle-lineups,.pregame-lineups{grid-template-columns:1fr}.battle-player{grid-template-columns:56px minmax(100px,1fr);padding:16px 20px;gap:10px 16px}.battle-champion>img{width:56px;height:56px}.side-totals>div{flex-direction:row;align-items:center;gap:12px}.battle-stat dd{font-size:13px}.battle-stat dt{font-size:10px}.battle-side-head{padding:16px 20px}.battle-side-head h3{font-size:19px}.graph-explanation>span{display:block;float:none;margin-top:4px}.player-profile{grid-template-columns:220px 1fr;gap:24px}.player-profile .player-visual{height:190px}.player-profile .page-heading h1{font-size:25px}.identity-grid{grid-template-columns:1fr}.identity-grid>div{padding:10px 0}.player-profile .dimensions{grid-template-columns:1fr}.catalog-filter{flex-wrap:wrap}.catalog-filter .search-field{flex-basis:100%}.catalog-filter label:not(.search-field){flex:1;min-width:130px}.scoreboard-team h1,.scoreboard-team h2{font-size:20px}.scoreboard-teams{grid-template-columns:1fr 120px 1fr;gap:14px}.scoreboard-score>strong{font-size:40px}.scoreboard-score>strong>span{margin:0 12px}.stage-progress>a{align-items:flex-start}.stage-index{font-size:19px}.stage-progress h2{font-size:15px}.stage-progress p{font-size:10px}.stage-progress strong{font-size:22px}}
@media(max-width:560px){body{font-size:13px}.header-inner{padding:0 18px;min-height:68px;gap:14px}.brand>span{font-size:19px}.brand small{font-size:8px}.brand svg{width:27px;height:34px}.header-tools{gap:12px}.season-switcher{display:none}.demo-notice{font-size:9px;line-height:1.6;padding:5px 18px;text-align:left;justify-content:flex-start}.site-main{width:calc(100% - 36px);padding:22px 0 40px}.site-footer{margin:0 18px;padding:20px 0;flex-direction:column;gap:6px;font-size:10px}.page-heading{margin-bottom:20px;gap:12px}.page-heading h1{font-size:25px}.page-heading p{font-size:11px}.page-heading>.text-link{font-size:10px}.heading-count{font-size:22px;white-space:nowrap}.heading-count small{display:block;font-size:10px}.panel{padding:18px}.section-heading{margin-bottom:16px;gap:10px}.section-heading h2{font-size:18px}.section-heading a{font-size:10px}.section-heading>.muted{font-size:9px;max-width:130px;text-align:right}.section-block{margin-top:26px}.event-hero{min-height:380px}.event-hero-art{width:150%;max-width:none;right:-40%;object-position:65% center;opacity:.65}.event-hero:after{background:linear-gradient(90deg,#0b101aee,#0b101a66),linear-gradient(0deg,#0b101add,transparent 60%)}.event-hero-content{padding:30px 24px}.event-hero h1{font-size:29px;line-height:1.4;max-width:270px}.hero-description{font-size:12px;max-width:240px}.hero-event-label{font-size:10px}.hero-actions{margin-top:25px;gap:9px}.button{padding:10px 15px;font-size:12px;gap:12px;min-height:40px}.hero-facts{gap:20px;margin-top:28px;font-size:10px}.hero-facts b{font-size:20px}.hero-stage{font-size:10px;bottom:18px;left:24px;right:auto}.stage-progress{grid-template-columns:1fr;gap:16px;padding:18px}.stage-progress>a{align-items:center}.stage-progress>a+span{display:none}.stage-progress>a:last-child{border-top:1px solid var(--line);padding-top:16px}.stage-progress h2{font-size:16px}.stage-progress p{font-size:11px}.stage-progress strong small{display:inline-block;font-size:10px}.stage-progress .text-link{display:inline-block;font-size:10px}.home-main-grid{gap:18px}.home-fixtures .match-card{padding:14px 12px}.match-team{gap:7px}.match-teams{gap:7px}.match-team .team-mark{width:29px;height:29px;flex-basis:29px;font-size:8px}.match-team-name{font-size:11px}.match-team strong{font-size:20px}.match-meta{font-size:9px}.match-card-foot{font-size:9px}.home-fixtures .match-team-name{font-size:11px}.standings-table th,.standings-table td{padding:10px 7px;font-size:11px}.standings-table th a{gap:7px;max-width:150px}.standings-table .team-mark{width:24px;height:24px;flex-basis:24px}.result-tag{font-size:9px;padding:3px 6px}.players-grid,.home-players{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px}.player-visual{height:160px}.player-portrait{width:92px;height:92px;left:10px}.player-role{left:7px;top:9px;font-size:9px;gap:4px;padding:3px 5px}.player-role .role-icon{width:16px;height:16px;flex-basis:16px}.player-grade{right:9px;top:9px;font-size:17px}.player-card-info{padding:13px 11px}.player-card h3{font-size:17px}.player-card-info>p{font-size:10px}.champion-icons{margin-top:11px;gap:4px;min-height:27px}.champion-icon{width:27px;height:27px}.captain-tag{font-size:8px;padding:0 3px}.catalog-filter{padding:16px;gap:12px}.catalog-filter label:not(.search-field){min-width:100px}.catalog-filter .button{min-width:90px}.catalog-filter .text-link{padding:0;margin:auto 0}.player-profile{display:block}.player-profile>aside{max-width:220px;margin-bottom:24px}.player-profile .player-visual{height:200px}.player-profile .player-card h3{font-size:21px}.player-profile .identity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.player-profile .identity-grid>div{padding:12px 10px 12px 0}.player-profile .dimensions{grid-template-columns:repeat(2,minmax(0,1fr))}.champion-profile-list{gap:10px}.champion-profile-list>div{font-size:11px;padding-right:10px}.champion-profile-list img{width:32px;height:32px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.stats-grid>div{padding:0 0 0 14px}.stats-grid>div:nth-child(3){border-left:0;padding-left:0}.stats-grid dd{font-size:25px}.identity-grid dd{font-size:12px}.team-identity{gap:14px;padding-top:0;align-items:flex-start}.team-identity .team-mark-large{width:54px;height:54px;flex-basis:54px}.team-identity h2{font-size:22px}.team-identity p{font-size:10px}.team-record>strong{font-size:25px;margin-bottom:5px}.team-record>strong>span{margin:0 5px}.team-record .result-tag{font-size:8px;padding:2px 4px}.team-identity>div:nth-child(2){min-width:0}.team-identity .muted{font-size:10px}.lineup-five{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lineup-five .player-visual{height:160px}.lineup-five .player-card-info{padding:13px 11px}.lineup-five .player-card h3{font-size:17px}.lineup-five .player-portrait{width:92px;height:92px;left:10px}.lineup-empty{height:286px}.team-selector-rail{margin-bottom:20px}.team-selector-rail nav>a{min-width:74px;max-width:74px;padding:10px 4px}.team-selector-rail .team-mark{width:28px;height:28px;flex-basis:28px}.stage-tabs>a{padding:12px 14px;font-size:14px;gap:7px;flex:1}.stage-tabs>a small{font-size:9px;margin-left:0}.stage-tabs>a>span{font-size:9px}.schedule-panel{padding:0}.schedule-toolbar{padding:16px;gap:14px}.round-filter{gap:4px;flex-basis:100%}.round-filter>a{padding:5px 8px;font-size:10px}.view-toggle{margin-left:auto}.view-toggle>a{padding:4px 14px;font-size:11px}.schedule-statusbar{padding:12px 16px;gap:12px;font-size:10px;flex-wrap:wrap}.schedule-key{gap:12px}.schedule-rounds{padding:16px}.list-round-heading h2{font-size:18px}.list-group-heading h3{font-size:18px}.list-group-heading>span{font-size:10px}.match-card{padding:14px 12px}.graph-explanation{padding:14px 16px 0;font-size:9px}.swiss-scroll,.bracket-scroll{padding:20px 16px}.swiss-board{grid-template-columns:repeat(5,240px);gap:32px;min-width:1328px}.swiss-board.is-single-round{grid-template-columns:1fr;min-width:0}.scoreboard-meta{font-size:9px;flex-direction:column;gap:5px}.match-scoreboard{padding:18px}.scoreboard-teams{grid-template-columns:1fr 90px 1fr;gap:10px;margin-top:24px}.scoreboard-team .team-mark-large{width:52px;height:52px;flex-basis:52px}.scoreboard-team h1,.scoreboard-team h2{font-size:17px;overflow-wrap:anywhere}.scoreboard-team>span:last-child{font-size:9px}.scoreboard-score>strong{font-size:32px}.scoreboard-score>strong>span{margin:0 8px}.scoreboard-score{gap:8px}.game-navigation>a{padding:12px 18px;font-size:12px}.game-navigation>a span{font-size:9px}.game-result{font-size:10px;gap:10px;flex-direction:column;align-items:flex-end}.battle-side-head{padding:14px}.battle-side-head h3{font-size:17px}.battle-side-head>.team-mark{width:28px}.side-totals{padding:12px 14px;gap:12px}.side-totals>div{flex-direction:column;align-items:flex-start;gap:3px}.side-totals strong{font-size:18px}.battle-player{padding:14px;grid-template-columns:48px minmax(0,1fr);gap:9px 12px}.battle-champion>img,.champion-unknown{width:48px;height:48px}.battle-player-info strong{font-size:14px}.battle-stat{gap:7px;grid-template-columns:1.3fr .7fr 1fr 1fr}.battle-stat dd{font-size:10px}.battle-stat dt{font-size:8px}.build-icons{gap:3px;flex-wrap:wrap}.build-icons img{width:19px;height:19px}.build-icons img.spell-icon{width:17px;height:17px}.build-icons .small{font-size:9px}.bans-row{padding:14px}.pregame-players{gap:7px}.pregame-players img{height:44px;width:44px}.pregame-players a{font-size:10px}.pregame-players>div>span{font-size:9px}.playoff-board{gap:42px;min-width:1010px}.playoff-round{min-width:285px}.pregame-lineups .panel{padding:14px}}
.swiss-board{grid-template-columns:repeat(5,minmax(220px,1fr));gap:30px;min-width:1220px}.swiss-board.is-single-round{grid-template-columns:minmax(260px,420px);min-width:0}.record-outcome{flex-direction:row;flex-wrap:wrap}.record-outcome>strong,.record-outcome>small{flex-basis:100%}.record-outcome .outcome-team{flex:1 1 calc(50% - 6px);min-width:0}.match-scoreboard{background:linear-gradient(110deg,var(--surface-2),var(--surface) 55%)}.image-unavailable{font-size:9px;color:var(--muted);line-height:1.3}.champion-icon .image-unavailable{display:block;padding:2px;overflow:hidden;height:100%}
@media(max-width:560px){.swiss-board{grid-template-columns:repeat(5,240px);gap:32px;min-width:1328px}.swiss-board.is-single-round{grid-template-columns:1fr;min-width:0}}
@media(max-width:560px){.season-switcher{display:block;max-width:100px}.season-switcher summary{font-size:10px}.season-switcher summary span{margin-left:3px}.season-switcher ul{right:-48px;width:250px}.header-tools{gap:8px}.header-inner{gap:10px}.brand{flex-shrink:0}}
@media(max-width:360px){.season-switcher{max-width:72px}.brand svg{width:22px}.brand>span{font-size:17px}.header-inner{padding:0 12px;gap:8px}}
.site-footer{width:calc(100% - 96px);margin-left:auto;margin-right:auto}.player-portrait:has(img) .portrait-missing{visibility:hidden}
.team-mark:has(img),.team-mark img{background:#17202d}.battle-player-info img.role-icon,.profile-role img.role-icon{background:#17202d;padding:2px}
.champion-label{display:block;font-size:9px;color:var(--muted);margin-top:12px}.champion-label+.champion-icons{margin-top:6px}
@media(max-width:560px){.battle-stat dt{font-size:10px}.battle-stat dd{font-size:12px}.battle-champion>span:last-child{font-size:10px}}
@media(max-width:1350px){.site-footer{width:calc(100% - 56px);margin-left:auto;margin-right:auto}}
@media(max-width:560px){.site-footer{width:calc(100% - 36px);margin-left:auto;margin-right:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}


/* cup/experience.css */
/* Shared event shell, public catalog and team workspace follow 84452cup's
   existing interaction structure. LoL assets and palette remain independent. */
:root {
  --accent: #8ebce6;
  --bg: #0b121c;
  --surface: #121e2c;
  --surface-2: #192838;
  --surface-3: #24384b;
  --line: #2c4054;
  --muted: #a4b4c5;
  --header: #101b29;
  --card-text: #f2ede3;
  --card-muted: #b6b8bd;
}
:root[data-theme=light] {
  --bg: #edf1f6;
  --surface: #ffffff;
  --surface-2: #f3f6fa;
  --surface-3: #e8eef5;
  --text: #1c2c3e;
  --muted: #5c6d80;
  --line: #d4dfea;
  --accent: #245f91;
  --header: #ffffff;
  --blue: #2067a5;
  --red: #b74760;
  --win: #19775f;
  --loss: #ad455a;
  --success: var(--win);
  --danger: var(--loss);
  --shadow: 0 10px 28px #1927370d;
}
body { font-size: 15px; }
.header-inner { gap: 32px; }
.main-nav { gap: 26px; }
.main-nav>a { font-size: 14px; }
.main-nav>a:hover,.text-link:hover,.section-heading a:hover { color: var(--accent); }
.main-nav>.mobile-management-link { display: none; }
.season-all-link { border-top: 1px solid var(--line); margin-top: 5px; padding-top: 5px; }
.button { font-size: 14px; }
.button:not(.primary):not(.outline) { background: var(--surface-2); color: var(--text); }
.button:not(.primary):not(.outline):hover { border-color: var(--accent); }
.manage-link { font-size: 12px; padding: 5px 0; }
.site-main { padding-top: 28px; }
.panel { border-color: var(--line); }
.site-messages { display: grid; gap: 10px; margin-bottom: 22px; }
.site-message { padding: 14px 18px; background: var(--surface-2); border: 1px solid var(--line); border-left: 3px solid var(--accent); font-size: 13px; }
.site-message.success { border-left-color: var(--win); }
.site-message.error,.site-message.warning { border-left-color: var(--loss); }
.event-context-bar { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; color: var(--muted); font-size: 12px; }
.event-context-bar>a:first-child { white-space: nowrap; }
.event-context-bar>a:first-child>span { margin-left: 12px; opacity: .4; }
.event-context-bar>span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.event-context-bar>.text-link { margin-left: auto; white-space: nowrap; }
.event-hero { min-height: 352px; }
.event-hero-content { padding: 38px 44px; }
.hero-event-label { color: #c0aa7b; }
.hero-description { color: #bbc2cd; max-width: 420px; }
.hero-facts { margin-top: 28px; }
.hero-stage { color: #e2e5e8; }
.hero-stage .status-dot { background: #bba26c; box-shadow: 0 0 10px #bba26c55; }
.tournament-path { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 16px 0 28px; border: 1px solid var(--line); background: var(--surface); }
.tournament-path>a { display: flex; gap: 18px; align-items: center; padding: 21px 26px; position: relative; border-right: 1px solid var(--line); }
.tournament-path>a:last-child { border-right: 0; }
.tournament-path>a>span { font-size: 25px; color: var(--accent); font-variant-numeric: tabular-nums; font-weight: 400; }
.tournament-path strong { display: block; font-size: 16px; font-weight: 500; }
.tournament-path small { display: block; font-size: 11px; color: var(--muted); margin-top: 3px; }
.tournament-path>a[aria-current],.tournament-path .phase-published { box-shadow: inset 0 -2px var(--accent); background: color-mix(in srgb,var(--accent) 5%,var(--surface)); }
.tournament-path .phase-completed small { color: var(--win); }
.home-main-grid { grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); }
.home-team-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
.home-team-grid>a { display: flex; flex-direction: column; align-items: center; gap: 7px; padding: 12px 6px; background: var(--surface-2); border: 1px solid transparent; min-width: 0; }
.home-team-grid>a:hover { border-color: var(--accent); }
.home-team-grid .team-mark { width: 42px; height: 42px; flex-basis: 42px; background: #17202d; }
.home-team-grid .team-mark img { background: #17202d; padding: 4px; }
.home-team-grid>a>span:last-child { font-size: 11px; max-width: 100%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.champion-honour { display: flex; gap: 16px; align-items: center; padding: 16px; margin-bottom: 16px; border: 1px solid color-mix(in srgb,var(--accent) 60%,var(--line)); background: color-mix(in srgb,var(--accent) 8%,var(--surface)); }
.champion-honour>svg { width: 32px; height: 38px; color: var(--accent); }
.champion-honour small { display: block; color: var(--muted); }
.champion-honour strong { display: block; font-size: 24px; margin-top: 2px; }
.champion-honour .team-mark { margin-left: auto; width: 54px; height: 54px; flex-basis: 54px; }
.event-shortcuts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.event-shortcuts>a { display: flex; align-items: center; padding: 18px 22px; gap: 16px; background: var(--surface); border: 1px solid var(--line); }
.event-shortcut-symbol { color: var(--accent); font-size: 28px; }
.event-shortcuts>a>div { min-width: 0; }
.event-shortcuts strong { font-weight: 500; display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.event-shortcuts small { display: block; color: var(--muted); margin-top: 3px; }
.event-shortcuts>a>span:last-child { margin-left: auto; color: var(--accent); }

/* AIGC supplies a transparent decorative frame only; identity, ratings and
   source labels are HTML and never baked into the image. The card stays dark
   in both themes, as a broadcast image surface. */
.player-card { position: relative; border: 0; background: transparent; overflow: visible; }
.player-card-link { position: relative; isolation: isolate; aspect-ratio: 4/5; overflow: hidden; color: var(--card-text); background: #101820; clip-path: polygon(5% 3%,94% 3%,97% 8%,97% 94%,92% 97%,5% 97%,3% 93%,3% 8%); }
.player-card-link:focus-visible { outline-offset: -10px; outline-color: #d0b47e; }
.card-frame { position: absolute; inset: 0; background: url("https://cos-xinlvjiang.zepeng.top/images/sha256/7124755167886a4fa31988283f6fe5ed1296b7cebab02af3908acbf3eff73c9b.png") center/100% 100% no-repeat; z-index: 5; pointer-events: none; }
.player-card:hover .card-frame { filter: brightness(1.18); }
.player-visual,.lineup-five .player-visual,.player-profile .player-visual { position: absolute; inset: 7% 8% 23%; height: auto; overflow: hidden; background: radial-gradient(ellipse at center,#314955,#101820 75%); }
.champion-splash { opacity: .75; object-position: 56% 30%; }
.player-visual:after { background: linear-gradient(0deg,#111922 0%,#11192220 48%,#11192245),linear-gradient(90deg,#10192245,transparent); }
.card-role-watermark { position: absolute; width: 56px; height: 56px; right: 18px; top: 55px; opacity: .17; z-index: 1; }
.card-role-watermark .role-icon { width: 56px; height: 56px; padding: 6px; }
.player-role,.lineup-five .player-role { top: 12px; left: 10px; z-index: 4; font-size: 11px; background: #111820b8; color: #f2ede3; padding: 4px 6px; border-bottom: 1px solid #b29c7250; }
.player-role .role-icon { width: 19px; height: 19px; flex-basis: 19px; }
.player-grade,.lineup-five .player-grade { top: 12px; right: 10px; z-index: 4; border: 0; font-size: 23px; color: #ddc58f; text-shadow: 0 1px 4px #000; }
.player-grade small { display: block; font-size: 8px; text-align: center; letter-spacing: .1em; color: #c9bea8; }
.player-portrait,.lineup-five .player-portrait { left: 50%; bottom: 2px; transform: translateX(-50%); width: 96%; height: 88%; max-width: none; z-index: 2; border: 0; background: none; }
.player-card.has-champions .player-portrait { height: 82%; bottom: 20px; }
.player-portrait img { object-position: center bottom; -webkit-mask-image: linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent),linear-gradient(0deg,transparent,#000 10%,#000 86%,transparent); -webkit-mask-composite: source-in; mask-image: linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent),linear-gradient(0deg,transparent,#000 10%,#000 86%,transparent); mask-composite: intersect; }
.portrait-missing { background: none; color: #aeb8c2; font-size: 10px; }
.player-card-info,.lineup-five .player-card-info { position: absolute; bottom: 8.5%; left: 11%; right: 11%; height: 12.5%; padding: 0; z-index: 6; color: var(--card-text); text-align: center; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.player-name-line { width: 100%; justify-content: center; gap: 5px; }
.player-card h3,.lineup-five .player-card h3 { font-size: clamp(17px,1.2vw,23px); font-weight: 500; letter-spacing: .025em; line-height: 1.25; }
.player-card-info>p { display: none; }
.card-team-tag { position: absolute; right: 11px; top: 17px; z-index: 4; max-width: 44%; color: #d7c59d; font: 500 12px/1.3 Arial,sans-serif; letter-spacing: .05em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-shadow: 0 1px 4px #000; }
.captain-tag { color: #d5bd89; font-size: 8px; border-color: #b49a6350; padding: 0 3px; }
.card-champions { position: absolute; bottom: calc(100% + 15px); left: -1%; right: -1%; display: flex; align-items: center; justify-content: center; gap: 8px; }
.card-champions .champion-label { color: #c0c2c6; font-size: 8px; margin: 0; max-width: 25px; line-height: 1.5; }
.card-champions .champion-icons { margin: 0; min-height: 27px; gap: 5px; }
.champion-icon { width: 29px; height: 29px; border-color: #b49a6380; box-shadow: 0 2px 5px #0009; }
.card-champions .muted { color: var(--card-muted); font-size: 10px; }
.player-card:hover .champion-splash { transform: scale(1.03); }
.player-card:hover h3 { color: #e4c68d; }
.player-catalog { grid-template-columns: repeat(auto-fill,minmax(225px,1fr)); gap: 20px; }
.player-profile>aside { max-width: 300px; }
.lineup-empty { min-height: 290px; height: 100%; aspect-ratio: 4/5; }
.team-edit-link { display: inline-flex; align-items: center; gap: 6px; margin-top: 9px; color: var(--accent); font-size: 12px; }
.player-profile .page-heading h1 { font-size: 32px; }
.profile-role { color: var(--accent); }
.profile-subnav { display: flex; gap: 26px; border-bottom: 1px solid var(--line); margin: 28px 0; }
.profile-subnav>a { padding: 12px 0; color: var(--muted); font-size: 13px; border-bottom: 2px solid transparent; }
.profile-subnav>a:hover { color: var(--text); border-bottom-color: var(--accent); }
.history-scope { display: inline-flex; gap: 8px; align-items: center; font-size: 11px; color: var(--muted); }
.history-scope:before { content: ''; width: 6px; height: 6px; background: var(--accent); }
.history-summary { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 16px; padding: 20px 0; border-bottom: 1px solid var(--line); margin-bottom: 22px; }
.history-summary dt { font-size: 11px; color: var(--muted); }
.history-summary dd { font-size: 25px; margin-top: 3px; font-variant-numeric: tabular-nums; }
.history-summary dd small { font-size: 11px; color: var(--muted); }
.history-champions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 24px; }
.history-champion { display: flex; gap: 10px; align-items: center; padding: 10px 14px 10px 10px; background: var(--surface-2); border: 1px solid var(--line); }
.history-champion>img { width: 42px; height: 42px; }
.history-champion strong { display: block; font-size: 12px; font-weight: 500; }
.history-champion small { display: block; color: var(--muted); font-size: 10px; margin-top: 2px; }
.history-list { display: grid; gap: 10px; }
.history-record { display: grid; grid-template-columns: 80px minmax(160px,1fr) 90px minmax(160px,1fr); align-items: center; gap: 18px; padding: 16px 18px; background: var(--surface-2); border: 1px solid var(--line); border-left: 3px solid var(--muted); min-width: 0; }
.history-record.is-win { border-left-color: var(--win); }
.history-record.is-loss { border-left-color: var(--loss); }
.history-result strong { display: block; font-size: 15px; font-weight: 500; color: var(--muted); }
.is-win .history-result strong { color: var(--win); }
.is-loss .history-result strong { color: var(--loss); }
.history-result small { display: block; color: var(--muted); font-size: 10px; }
.history-identity { display: flex; align-items: center; gap: 12px; min-width: 0; }
.history-identity>img { width: 44px; height: 44px; flex: 0 0 44px; }
.history-identity>div { min-width: 0; }
.history-identity strong { font-size: 13px; font-weight: 500; display: block; }
.history-identity small { display: block; font-size: 10px; color: var(--muted); margin-top: 2px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.history-kda { font-size: 17px; font-variant-numeric: tabular-nums; }
.history-kda>small { display: block; font-size: 10px; color: var(--muted); }
.history-details { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.history-details dt { font-size: 10px; color: var(--muted); }
.history-details dd { font-size: 13px; font-variant-numeric: tabular-nums; }
.history-source { grid-column: 2/-1; display: flex; gap: 20px; align-items: center; color: var(--muted); font-size: 10px; margin-top: -8px; }
.history-source>a:last-child { margin-left: auto; color: var(--accent); }

/* A single set of controls is shared by event management and team accounts. */
.heading-actions { display: flex; gap: 12px; align-items: center; }
.heading-actions form { margin: 0; }
.event-catalog { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.event-tile { border: 1px solid var(--line); background: var(--surface); overflow: hidden; }
.event-tile-art { height: 158px; position: relative; background: radial-gradient(ellipse at 70% 10%,#33464d,#111b25 75%); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.event-tile-art:after { content: ''; position: absolute; inset: 12px; border: 1px solid #b29c7233; pointer-events: none; }
.event-tile-art>svg { width: 82px; height: 96px; color: #c0a472; stroke-width: 1.2; opacity: .85; }
.event-tile-art>.result-tag { position: absolute; top: 23px; left: 23px; border-color: #b29c7250; background: #111b25; color: #c9b68e; z-index: 1; }
.event-tile-art>.result-tag.qualified { color: #6ad6a7; border-color: #6ad6a750; }
.event-tile-number { position: absolute; right: 26px; bottom: -26px; color: #ffffff08; font: 400 140px/1 Arial,sans-serif; }
.event-tile-content { padding: 24px; }
.event-tile h2 { font-size: 21px; }
.event-tile-content>p { color: var(--muted); font-size: 12px; margin-top: 7px; }
.event-tile dl { display: flex; gap: 45px; padding: 22px 0; }
.event-tile dt { color: var(--muted); font-size: 11px; }
.event-tile dd { font-size: 24px; font-variant-numeric: tabular-nums; }
.event-tile-link { display: flex; justify-content: space-between; padding-top: 15px; border-top: 1px solid var(--line); font-size: 13px; }
.event-tile-link>span { color: var(--accent); }
.management-events { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.manage-event>header { display: flex; align-items: flex-start; gap: 12px; justify-content: space-between; margin-bottom: 12px; }
.manage-event h3 { font-size: 20px; }
.manage-event-actions { display: flex; gap: 20px; align-items: center; margin-top: 24px; }
.manage-team-identity { display: flex; align-items: center; gap: 12px; margin-bottom: 24px; }
.manage-team-identity h3 { font-size: 19px; }
.manage-team-identity .team-mark { width: 48px; height: 48px; flex-basis: 48px; }
.management-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.management-summary .panel { padding: 20px 24px; }
.management-summary .panel>span { font-size: 12px; color: var(--muted); }
.management-summary strong { display: block; font-size: 30px; font-weight: 400; margin-top: 5px; font-variant-numeric: tabular-nums; }
.management-summary small { font-size: 12px; color: var(--muted); }
.management-config { display: grid; grid-template-columns: 1fr 1.5fr; gap: 24px; }
.site-form { display: grid; gap: 20px; }
.site-form h2 { margin-bottom: 3px; }
.form-field { min-width: 0; }
.form-field>a { overflow-wrap: anywhere; }
.form-field>label { display: block; font-size: 13px; margin-bottom: 8px; }
.field-required { color: var(--accent); margin-left: 4px; }
.site-form input:not([type=checkbox]):not([type=file]):not([type=hidden]),.site-form select,.site-form textarea { width: 100%; min-height: 43px; border: 1px solid var(--line); background: var(--surface-2); color: var(--text); border-radius: 0; padding: 10px 12px; font: inherit; font-size: 14px; }
.site-form textarea { min-height: 120px; resize: vertical; }
.site-form input[type=file] { display: block; max-width: 100%; padding: 10px 0; font-size: 12px; }
.site-form input[type=file]::file-selector-button { margin-right: 12px; background: var(--surface-2); color: var(--text); border: 1px solid var(--line); padding: 9px 12px; }
.site-form .field-checkbox { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.field-checkbox>label { margin: 0; }
.field-checkbox input { accent-color: var(--accent); width: 17px; height: 17px; }
.field-help,.field-errors,.form-errors { color: var(--muted); font-size: 12px; margin-top: 7px; overflow-wrap: anywhere; }
.field-errors,.form-errors { color: var(--loss); }
.field-errors ul,.form-errors ul { margin: 0; padding-left: 17px; }
.form-errors { background: color-mix(in srgb,var(--loss) 6%,var(--surface)); border: 1px solid color-mix(in srgb,var(--loss) 30%,var(--line)); padding: 12px; }
.form-actions { display: flex; gap: 12px; align-items: center; padding-top: 10px; border-top: 1px solid var(--line); margin-top: 4px; flex-wrap: wrap; }
.form-layout { display: grid; grid-template-columns: minmax(320px,720px) minmax(260px,400px); gap: 28px; align-items: start; }
.form-guide h2 { font-size: 20px; }
.form-guide ol { list-style: none; margin: 24px 0 0; padding: 0; counter-reset: setup; }
.form-guide li { padding: 0 0 22px 38px; position: relative; }
.form-guide li:before { counter-increment: setup; content: '0' counter(setup); position: absolute; left: 0; top: 0; color: var(--accent); font-size: 17px; }
.form-guide li strong { font-size: 14px; font-weight: 500; display: block; }
.form-guide li span { font-size: 12px; color: var(--muted); display: block; margin-top: 5px; }
.team-logo-preview { text-align: center; padding: 28px; }
.team-logo-preview .team-mark { display: grid; margin: 26px auto 18px; width: 112px; height: 112px; font-size: 24px; }
.team-logo-preview h2 { font-size: 22px; }
.compact-form { gap: 14px; }
.compact-form .button { justify-self: start; }
.entrant-form { grid-template-columns: repeat(2,minmax(0,1fr)); }
.entrant-form .form-errors { grid-column: 1/-1; }
.entrant-form>.button { grid-column: 1/-1; }
.management-publish { margin-top: 26px; padding-top: 20px; border-top: 1px solid var(--line); display: flex; gap: 16px; align-items: center; justify-content: space-between; }
.management-team-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
.configured-team { padding: 20px; }
.configured-team>header { display: flex; gap: 12px; align-items: center; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.configured-team h3 { font-size: 18px; }
.configured-team small { font-size: 10px; }
.configured-roster { list-style: none; margin: 18px 0; padding: 0; }
.configured-roster li { display: grid; grid-template-columns: 20px 38px minmax(0,1fr); align-items: center; gap: 8px; margin: 12px 0; }
.configured-roster li>span { color: var(--muted); font-size: 11px; }
.configured-roster li>strong { font-size: 12px; font-weight: 400; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.configured-team footer { display: flex; justify-content: space-between; gap: 10px; padding-top: 14px; border-top: 1px solid var(--line); }
.team-grant-control { border-top: 1px solid var(--line); margin-top: 14px; padding-top: 12px; }
.team-grant-control>summary { color: var(--muted); font-size: 11px; cursor: pointer; }
.team-grant-control .site-form { gap: 12px; margin-top: 14px; }
.team-grant-control .form-field>label { font-size: 11px; }
.team-grant-control .site-form input:not([type=checkbox]):not([type=hidden]) { min-height: 35px; padding: 7px 10px; font-size: 12px; }
.team-grant-control .button { min-height: 35px; padding: 7px 12px; font-size: 12px; justify-self: start; }
.grant-active { display: flex; align-items: center; gap: 8px; font-size: 11px; color: var(--muted); }
.grant-active>input { accent-color: var(--accent); }
.login-layout { display: grid; grid-template-columns: 1fr 400px; gap: 70px; align-items: center; max-width: 1000px; margin: 65px auto; }
.login-heading>svg { width: 65px; height: 74px; color: var(--accent); margin-bottom: 24px; }
.login-heading h1 { font-size: 30px; }
.login-heading p { color: var(--muted); margin-top: 10px; font-size: 13px; }
.login-form { padding: 32px; }
.login-form>.text-link { justify-self: center; }

@media(min-width:2200px) {
  .player-catalog { grid-template-columns: repeat(auto-fill,minmax(245px,1fr)); }
  .event-hero { min-height: 382px; }
  .event-hero-content { padding: 44px 52px; }
}
@media(max-width:1350px) {
  .header-inner { gap: 22px; }
  .main-nav { gap: 20px; }
  .main-nav>a { font-size: 13px; }
  .header-tools { gap: 12px; }
  .season-switcher { max-width: 160px; }
  .tournament-path>a { padding: 18px 20px; gap: 13px; }
  .management-team-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .player-role,.lineup-five .player-role { font-size: 9px; left: 6px; top: 8px; gap: 4px; }
  .player-role .role-icon { width: 16px; height: 16px; flex-basis: 16px; }
  .card-champions { bottom: calc(100% + 12px); gap: 6px; }
  .champion-icon { width: 26px; height: 26px; }
}
@media(max-width:1100px) {
  .main-nav { gap: 16px; }
  .main-nav>a { font-size: 12px; }
  .header-tools .season-switcher { max-width: 135px; }
  .tournament-path>a { padding: 18px 15px; gap: 10px; }
  .tournament-path>a>span { font-size: 20px; }
  .tournament-path strong { font-size: 15px; }
  .tournament-path small { font-size: 10px; }
  .event-catalog,.management-events { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .event-shortcuts { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .player-catalog { grid-template-columns: repeat(auto-fill,minmax(210px,1fr)); }
  .management-config { grid-template-columns: 1fr 1.2fr; gap: 18px; }
  .form-layout { gap: 20px; }
  .history-record { grid-template-columns: 65px minmax(130px,1fr) 78px minmax(140px,1fr); gap: 14px; }
  .history-details { gap: 8px; }
}
@media(max-width:850px) {
  .main-nav>.mobile-management-link { display: flex; color: var(--accent); }
  .home-main-grid { grid-template-columns: 1fr; }
  .home-team-grid { grid-template-columns: repeat(8,minmax(0,1fr)); }
  .tournament-path { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tournament-path>a:nth-child(2) { border-right: 0; }
  .tournament-path>a:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .management-summary { gap: 12px; }
  .management-summary .panel { padding: 16px; }
  .management-summary strong { font-size: 26px; }
  .management-config { grid-template-columns: 1fr; }
  .management-team-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .form-layout { grid-template-columns: minmax(0,1fr); }
  .form-guide { max-width: none; }
  .login-layout { grid-template-columns: 1fr 360px; gap: 30px; margin: 40px auto; }
  .login-heading h1 { font-size: 24px; }
  .heading-actions { gap: 8px; }
  .history-summary { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
}
@media(max-width:560px) {
  body { font-size: 14px; }
  .site-main { padding-top: 20px; }
  .header-inner { gap: 10px; }
  .header-tools { gap: 8px; }
  .header-tools .season-switcher { max-width: 100px; }
  .event-context-bar { font-size: 10px; gap: 7px; margin-bottom: 14px; }
  .event-context-bar>a:first-child>span { margin-left: 5px; }
  .event-context-bar>.text-link { font-size: 9px; }
  .event-context-bar>span { max-width: 120px; }
  .event-hero { min-height: 342px; }
  .event-hero-content { padding: 26px 22px; }
  .hero-description { font-size: 12px; }
  .hero-facts { gap: 18px; margin-top: 25px; }
  .hero-stage { left: 22px; }
  .tournament-path { margin: 12px 0 20px; }
  .tournament-path>a { padding: 15px 13px; gap: 10px; }
  .tournament-path>a>span { font-size: 18px; }
  .tournament-path strong { font-size: 14px; }
  .tournament-path small { font-size: 9px; }
  .home-team-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 6px; }
  .home-team-grid>a { padding: 10px 4px; }
  .home-team-grid .team-mark { width: 36px; height: 36px; flex-basis: 36px; }
  .home-team-grid>a>span:last-child { font-size: 10px; }
  .player-card h3,.lineup-five .player-card h3 { font-size: 16px; }
  .player-portrait,.lineup-five .player-portrait { width: 96%; height: 88%; bottom: 2px; }
  .player-card.has-champions .player-portrait { height: 82%; bottom: 14px; }
  .player-role,.lineup-five .player-role { top: 6px; left: 5px; padding: 3px; font-size: 8px; gap: 3px; }
  .player-role .role-icon { width: 14px; height: 14px; flex-basis: 14px; }
  .player-grade,.lineup-five .player-grade { top: 6px; right: 5px; font-size: 17px; }
  .player-grade small { font-size: 6px; }
  .card-team-tag { right: 6px; top: 11px; font-size: 9px; }
  .player-card-info,.lineup-five .player-card-info { left: 10%; right: 10%; bottom: 8.5%; height: 12.5%; padding: 0; }
  .player-card-info>p { font-size: 8px; margin-top: 3px; }
  .card-champions { bottom: calc(100% + 9px); gap: 4px; }
  .card-champions .champion-icons { gap: 3px; min-height: 21px; }
  .card-champions .champion-label { font-size: 6px; max-width: 16px; }
  .champion-icon { width: 21px; height: 21px; }
  .card-role-watermark { width: 40px; height: 40px; right: 6px; top: 34px; }
  .card-role-watermark .role-icon { width: 40px; height: 40px; }
  .lineup-empty { min-height: 0; }
  .player-profile>aside { max-width: 260px; margin: 0 auto 26px; }
  .player-profile .player-card h3 { font-size: 25px; }
  .player-profile .player-portrait { width: 96%; height: 88%; bottom: 2px; }
  .player-profile .player-card.has-champions .player-portrait { height: 82%; bottom: 22px; }
  .player-profile .player-role { font-size: 11px; top: 12px; left: 10px; }
  .player-profile .player-role .role-icon { width: 19px; height: 19px; }
  .player-profile .card-champions { bottom: calc(100% + 16px); gap: 8px; }
  .player-profile .champion-icon { width: 30px; height: 30px; }
  .player-profile .champion-label { font-size: 8px; max-width: 24px; }
  .player-profile .player-card-info>p { font-size: 11px; }
  .player-profile .page-heading h1 { font-size: 28px; }
  .profile-subnav { gap: 23px; margin: 22px 0; }
  .profile-subnav>a { font-size: 12px; padding: 10px 0; }
  .history-summary { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px 10px; padding: 4px 0 18px; }
  .history-summary dd { font-size: 22px; }
  .history-summary dt { font-size: 10px; }
  .history-champions { gap: 8px; }
  .history-champion { padding: 8px; gap: 7px; }
  .history-champion>img { width: 32px; height: 32px; }
  .history-champion strong { font-size: 11px; }
  .history-champion small { font-size: 9px; }
  .history-record { grid-template-columns: 52px minmax(0,1fr) 76px; gap: 12px 9px; padding: 12px; }
  .history-result strong { font-size: 13px; }
  .history-result small { font-size: 9px; }
  .history-identity { gap: 8px; }
  .history-identity>img { width: 36px; height: 36px; flex-basis: 36px; }
  .history-identity strong { font-size: 12px; }
  .history-identity small { font-size: 9px; }
  .history-kda { font-size: 14px; text-align: right; }
  .history-kda>small { font-size: 9px; }
  .history-details { grid-column: 2/-1; gap: 12px; }
  .history-details dd { font-size: 12px; }
  .history-details dt { font-size: 9px; }
  .history-source { grid-column: 1/-1; font-size: 9px; gap: 10px; margin-top: 0; flex-wrap: wrap; }
  .event-shortcuts,.event-catalog,.management-events { grid-template-columns: 1fr; }
  .event-shortcuts>a { padding: 15px 18px; }
  .event-shortcuts strong { font-size: 13px; }
  .event-tile-art { height: 132px; }
  .event-tile-content { padding: 20px; }
  .event-tile h2 { font-size: 21px; }
  .page-heading:has(.heading-actions) { align-items: flex-start; flex-direction: column; }
  .page-heading>.button { min-height: 35px; font-size: 11px; padding: 8px 12px; }
  .heading-actions .button { min-height: 37px; font-size: 12px; padding: 8px 13px; }
  .management-summary { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .management-summary .panel { padding: 15px; }
  .management-summary .panel>span { font-size: 11px; }
  .management-summary strong { font-size: 27px; }
  .management-team-grid { grid-template-columns: 1fr; gap: 12px; }
  .entrant-form { grid-template-columns: 1fr; }
  .management-publish { gap: 12px; }
  .management-publish .button { font-size: 12px; }
  .form-field>label { font-size: 12px; }
  .site-form { gap: 18px; }
  .form-actions>.muted { flex-basis: 100%; font-size: 11px; }
  .form-guide ol { margin-top: 18px; }
  .login-layout { grid-template-columns: 1fr; gap: 24px; margin: 12px auto; }
  .login-heading { text-align: center; }
  .login-heading>svg { width: 42px; height: 48px; margin: 0 auto 16px; display: block; }
  .login-heading h1 { font-size: 25px; }
  .login-heading p { font-size: 12px; }
  .login-form { padding: 24px; }
}


/* cup/player-cards.css */
/* One continuous card: abstract portrait ground, identity, configurable data,
   heroes and audience score share the same material and outer metal frame. */
.player-card {
  --tier: #a9b3c0;
  --tier-soft: #80909e;
  --tier-rgb: 169 179 192;
  --frame-material: saturate(.08) brightness(.82);
  --tier-motion: card-sheen;
  container-type: inline-size;
  container-name: player-card;
  transition: transform .24s ease;
}
.player-card .player-card-link {
  display: flex; flex-direction: column; position: relative; aspect-ratio: auto;
  min-height: 0; padding: 11px 11px 24px; overflow: hidden; isolation: isolate;
  color: #e8edf3; text-decoration: none;
  clip-path: polygon(12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px),0 12px);
  background: linear-gradient(135deg,var(--tier),rgb(var(--tier-rgb) / .28) 22%,rgb(var(--tier-rgb) / .6) 48%,rgb(var(--tier-rgb) / .22) 76%,var(--tier));
}
.player-card-link::before {
  content: ""; position: absolute; inset: 2px; z-index: -1; pointer-events: none;
  clip-path: polygon(11px 0,calc(100% - 11px) 0,100% 11px,100% calc(100% - 11px),calc(100% - 11px) 100%,11px 100%,0 calc(100% - 11px),0 11px);
  background: radial-gradient(ellipse at 50% 12%,rgb(var(--tier-rgb) / .16),transparent 55%),repeating-linear-gradient(115deg,transparent 0 18px,rgb(var(--tier-rgb) / .025) 19px,transparent 20px 36px),linear-gradient(180deg,#1b2530,#101820 74%,#141c25);
}
.player-card-link::after {
  content: ""; position: absolute; inset: 6px; z-index: 5; pointer-events: none;
  border: 1px solid rgb(var(--tier-rgb) / .28);
  clip-path: polygon(6px 0,calc(100% - 6px) 0,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0 calc(100% - 6px),0 6px);
}
.player-card[data-grade="s-plus"] {
  --tier: #fff0bf; --tier-soft: #c5a46c; --tier-rgb: 255 240 191;
  --frame-material: saturate(.65) brightness(1.5);
  --tier-motion: card-ascend;
}
.player-card[data-grade="s-plus"] .player-card-link {
  background: linear-gradient(135deg,#fff3c8,#af7a35 19%,#fff1c3 34%,#94d9e0 51%,#b99051 68%,#fff3c8);
}
.player-card[data-grade="s-plus"] .player-card-link::before {
  background: radial-gradient(ellipse at 50% 8%,#d6b66a38,transparent 50%),radial-gradient(ellipse at 95% 55%,#9adbe114,transparent 52%),repeating-linear-gradient(115deg,transparent 0 18px,#fff1c308 19px,transparent 20px 36px),linear-gradient(180deg,#292b31,#141a21 74%,#20232a);
}
.player-card[data-grade="s"] {
  --tier: #f4d487; --tier-soft: #a9813c; --tier-rgb: 244 212 135;
  --frame-material: saturate(1.3) brightness(1.12);
  --tier-motion: card-corona;
}
.player-card[data-grade="a"] {
  --tier: #d8b1fa; --tier-soft: #8461b0; --tier-rgb: 216 177 250;
  --frame-material: hue-rotate(215deg) saturate(1.15) brightness(1.2);
  --tier-motion: card-prism;
}
.player-card[data-grade="b"] {
  --tier: #82d8ec; --tier-soft: #3d8a9e; --tier-rgb: 130 216 236;
  --frame-material: hue-rotate(150deg) saturate(1.15) brightness(1.15);
  --tier-motion: card-scan;
}
.player-card[data-grade="c"] {
  --tier: #d3dde6; --tier-soft: #87929d; --tier-rgb: 211 221 230;
  --frame-material: saturate(.05) brightness(1.3);
}
.player-card[data-grade="d"] {
  --tier: #d9a16e; --tier-soft: #8e5937; --tier-rgb: 217 161 110;
  --frame-material: hue-rotate(-15deg) saturate(1.35) brightness(.94);
  --tier-motion: card-ember;
}
.player-card .card-frame { inset: 1px; background: none; filter: var(--frame-material); }
.card-frame::before,.card-frame::after {
  content: ""; position: absolute; left: 0; right: 0;
  background-image: url("https://cos-xinlvjiang.zepeng.top/images/sha256/7124755167886a4fa31988283f6fe5ed1296b7cebab02af3908acbf3eff73c9b.png");
  background-image: image-set(url("https://cos-xinlvjiang.zepeng.top/images/sha256/70b8ae955a68130fd8f9b4677c39b9eae066dd73242f42618255b0873b1994e3.webp") type('image/webp'), url("https://cos-xinlvjiang.zepeng.top/images/sha256/7124755167886a4fa31988283f6fe5ed1296b7cebab02af3908acbf3eff73c9b.png") type('image/png'));
  background-repeat: no-repeat; background-size: 100% auto;
}
.card-frame::before {
  top: 0; height: 62px; background-position: center top;
  mask-image: linear-gradient(#000 55%,transparent); -webkit-mask-image: linear-gradient(#000 55%,transparent);
}
.card-frame::after {
  bottom: 0; height: 23px; background-position: center bottom;
  mask-image: linear-gradient(transparent,#000 60%); -webkit-mask-image: linear-gradient(transparent,#000 60%);
}
.player-card:is(:hover,:focus-within) .card-frame {
  filter: var(--frame-material) brightness(1.14) drop-shadow(0 0 3px rgb(var(--tier-rgb) / .28));
}
.player-card:is(:hover,:focus-within) { transform: translateY(-4px); }
.player-card-link:focus-visible { outline: 2px solid var(--tier); outline-offset: -10px; }
.player-card .player-visual {
  position: relative; inset: auto; flex-shrink: 0; width: 100%; height: auto;
  aspect-ratio: 1.04; overflow: hidden; background: none; isolation: auto;
}
.player-card .player-visual::after { background: linear-gradient(0deg,#131c25,transparent 24%); }
.card-material { position: absolute; inset: 0; pointer-events: none; }
.card-material::before {
  content: ""; position: absolute; inset: 10% 7% 0;
  background: radial-gradient(ellipse at 50% 44%,rgb(var(--tier-rgb) / .24),transparent 65%),linear-gradient(135deg,transparent 36%,rgb(var(--tier-rgb) / .07) 36% 37%,transparent 37% 63%,rgb(var(--tier-rgb) / .06) 63% 64%,transparent 64%);
}
.card-material::after {
  content: ""; position: absolute; inset: 18% 14% 10%; transform: skewY(-9deg);
  border: 1px solid rgb(var(--tier-rgb) / .12); border-bottom: 0;
  background: linear-gradient(110deg,transparent,rgb(var(--tier-rgb) / .05),transparent);
}
.player-card .card-role-watermark { top: 66px; right: 16px; width: 70px; height: 70px; opacity: .07; }
.player-card .card-role-watermark .role-icon { width: 70px; height: 70px; }
.player-card .player-visual>.player-portrait,.player-card.has-champions .player-visual>.player-portrait {
  left: 50%; bottom: -3px; width: 100%; height: 92%; max-width: none;
  mask-image: linear-gradient(0deg,transparent,#000 18%); -webkit-mask-image: linear-gradient(0deg,transparent,#000 18%);
}
.player-card .portrait-missing { padding: 10px; font-size: 12px; line-height: 1.5; text-align: center; }
.player-card .player-card-info {
  position: relative; inset: auto; height: auto; padding: 8px 9px 13px;
  text-align: center; z-index: 6; flex-shrink: 0;
}
.player-card .player-card-info h3 { font-size: clamp(19px,1.35vw,25px); line-height: 1.25; letter-spacing: .015em; }
.player-card .player-card-info>.player-game-id {
  display: block; width: 100%; margin-top: 6px; color: #aebbc9; font-size: 12px;
  line-height: 1.3; letter-spacing: .02em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.player-card .player-role {
  top: 20px; left: 18px; z-index: 7; padding: 5px 7px; gap: 6px;
  font-size: 13px; line-height: 1.3; color: #f2ede3;
  border-color: rgb(var(--tier-rgb) / .35); background: #111820ed;
}
.player-card .player-role .role-icon { width: 20px; height: 20px; flex-basis: 20px; color: var(--tier); }
.player-card .card-team-crest {
  position:absolute; left:14px; top:47%; z-index:7; display:grid; place-items:center;
  width:clamp(28px,13cqw,44px); aspect-ratio:1; padding:4px; transform:translateY(-50%);
  border:1px solid rgb(var(--tier-rgb) / .42); border-radius:5px;
  background:#0b141dd9; box-shadow:0 2px 6px #0005;
}
.player-card .card-team-crest .team-mark {
  width:100%; height:100%; flex-basis:auto; background:none; color:var(--tier); font-size:0;
}
.player-card .card-team-crest .team-mark img { padding:0; background:transparent; }
.player-card .card-team-crest-fallback {
  position:absolute; inset:5px; width:calc(100% - 10px); height:calc(100% - 10px);
  display:none; fill:rgb(var(--tier-rgb) / .09); stroke:var(--tier); stroke-width:1.5;
}
.player-card .card-team-crest:not(:has(.team-mark img)) .card-team-crest-fallback { display:block; }
.role-icon { stroke-width: 1.6; stroke-linejoin: round; stroke-linecap: round; }
.role-icon .role-map { fill: currentColor; stroke: none; opacity: .26; }
.role-icon .role-active { fill: currentColor; stroke: none; }

/* A small metal badge reserves the upper right corner for every rating state. */
.player-card .player-grade {
  top: 18px; right: 14px; z-index: 7; display: flex; flex-direction: column;
  justify-content: center; align-items: center; width: 46px; height: 48px;
  padding: 3px 4px 6px; border: 0; isolation: isolate; color: var(--tier);
  text-align: center; text-shadow: 0 2px 4px #000b;
}
.player-card.has-grade-editor { position: relative; }
.player-card > .card-grade-edit-trigger {
  top: 29px; right: 25px; background: transparent; cursor: pointer; appearance: none;
}
.card-grade-edit-trigger:focus-visible { outline: 2px solid var(--tier); outline-offset: 3px; }
.player-grade::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  clip-path: polygon(16% 0,84% 0,100% 16%,100% 76%,50% 100%,0 76%,0 16%);
  background: linear-gradient(135deg,rgb(var(--tier-rgb) / .65),#17202b 32%,#0c1119 70%,rgb(var(--tier-rgb) / .55));
  border-top: 1px solid var(--tier); box-shadow: inset 0 0 13px rgb(var(--tier-rgb) / .15);
}
.player-grade strong {
  display: block; max-width: 100%; overflow: hidden; text-overflow: ellipsis;
  white-space: nowrap; font: 600 29px/1 Arial,sans-serif;
}
.player-card[data-grade="s-plus"] .player-grade { width: 54px; }
.player-card[data-grade="s-plus"] .player-grade strong { font-size: 27px; letter-spacing: -.055em; }
.player-card[data-grade="neutral"] .player-grade strong { font-family: inherit; font-weight: 500; font-size: 12px; line-height: 1.4; letter-spacing: 0; }
.player-card .captain-tag { color: var(--tier); border-color: rgb(var(--tier-rgb) / .35); }
.player-card:is(:hover,:focus-within) h3 { color: var(--tier); }

/* Effects sit above the artwork but below all labels. Nothing is drawn by JS. */
.card-effects { position: absolute; inset: 0; z-index: 3; pointer-events: none; overflow: hidden; }
.card-effects::before {
  content: ""; position: absolute; inset: 6% 8% 23%; opacity: 0;
  background: radial-gradient(ellipse at 50% 0,rgb(var(--tier-rgb) / .5),transparent 65%);
}
.card-effects::after {
  content: ""; position: absolute; inset: -20% -35%; opacity: 0;
  background: linear-gradient(115deg,transparent 38%,rgb(var(--tier-rgb) / .12) 46%,rgb(var(--tier-rgb) / .58) 50%,transparent 57%);
  transform: translateX(-55%);
}
.player-card:is(:hover,:focus-within) .card-effects::after { animation: var(--tier-motion) 1.35s ease-out both; }
.player-card[data-grade="s-plus"] .card-effects::after {
  background: linear-gradient(115deg,transparent 30%,#9ce3eb18 39%,#fff0bf88 48%,#fff7e4aa 50%,#b4e9ee33 54%,transparent 65%);
}
.player-card[data-grade="s-plus"] .card-effects::before {
  inset: 0 4% 22%;
  background: radial-gradient(ellipse at 50% 0,#fff1bb60,transparent 60%),conic-gradient(from 155deg at 50% 10%,transparent 0 15%,#f8e3a91f 17%,transparent 19% 31%,#bce9f21f 33%,transparent 35%);
}
.player-card[data-grade="a"] .card-effects::after {
  background: conic-gradient(from 45deg at 50% 45%,transparent,rgb(var(--tier-rgb) / .3),transparent 25%,transparent 50%,rgb(var(--tier-rgb) / .22),transparent 80%);
}
.player-card[data-grade="b"] .card-effects::after {
  inset: 5% 8% 23%; background: linear-gradient(0deg,transparent 40%,rgb(var(--tier-rgb) / .28) 49%,rgb(var(--tier-rgb) / .7) 50%,transparent 52%);
}
.player-card[data-grade="c"] .card-effects::after {
  background: repeating-linear-gradient(115deg,transparent 0 11%,rgb(var(--tier-rgb) / .22) 12%,transparent 13% 24%);
}
.player-card[data-grade="d"] .card-effects::after {
  inset: 20% 8% 22%; background: radial-gradient(ellipse at 50% 100%,rgb(var(--tier-rgb) / .5),transparent 65%);
}
.card-effects i { position: absolute; left: 14%; bottom: 28%; width: 3px; height: 3px; background: var(--tier); opacity: 0; box-shadow: 0 0 7px var(--tier); }
.card-effects i:nth-child(2) { left: 84%; bottom: 40%; }
.card-effects i:nth-child(3) { left: 79%; bottom: 26%; }
.player-card:is([data-grade="s-plus"],[data-grade="s"],[data-grade="a"],[data-grade="d"]):is(:hover,:focus-within) .card-effects i { animation: card-spark 1.5s ease-out both; }
.player-card[data-grade="s-plus"] .card-effects i { width: 4px; height: 4px; box-shadow: 0 0 10px #fff0bf,20px -14px 0 #bce9f28c; }
.player-card .card-effects i:nth-child(2) { animation-delay: .15s; }
.player-card .card-effects i:nth-child(3) { animation-delay: .3s; }
.player-card[data-grade="a"] .card-effects i { width: 5px; height: 5px; transform: rotate(45deg); }
.player-card[data-grade="neutral"] .card-effects { display: none; }

/* The grid grows with the configured N. Unknown values never create meters. */
.card-dimensions-panel {
  position: relative; z-index: 4; width: auto; margin: 0 9px; padding: 9px 0;
  color: #e8edf3; background: none; border: 0; border-top: 1px solid rgb(var(--tier-rgb) / .18);
  clip-path: none;
}
.card-dimensions-panel.is-scrollable { overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; }
.card-dimensions-panel.is-scrollable:focus-visible { outline: 1px solid var(--tier); outline-offset: -1px; }
.card-dimensions-grid { display: grid; grid-template-columns: repeat(var(--dimension-columns,6),minmax(0,1fr)); width: var(--dimension-grid-width,100%); gap: 0 4px; margin: 0; }
.card-dimension { position: relative; min-width: 0; min-height: 40px; text-align: center; }
.card-dimension dt { font-size: 10px; line-height: 1.3; color: #b3becb; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.card-dimension dd { margin: 3px 0 0; color: var(--tier); font: 400 15px/1.25 Arial,sans-serif; font-variant-numeric: tabular-nums; white-space: nowrap; letter-spacing: -.02em; }
.card-dimension.is-unavailable dd { color: #8c98a5; }
.card-dimension meter { position: absolute; display: block; left: 13%; bottom: 0; width: 74%; height: 3px; margin: 0; appearance: none; border: 0; background: #2a3440; }
.card-dimension meter::-webkit-meter-bar { background: #2a3440; border: 0; border-radius: 0; }
.card-dimension meter::-webkit-meter-optimum-value { background: var(--tier); }
.card-dimension meter::-moz-meter-bar { background: var(--tier); }
.player-card:focus-within .card-dimensions-panel { border-color: var(--tier); }
.card-footer { position: relative; display: grid; grid-template-columns: minmax(0,1fr) repeat(3,auto); align-items: center; gap: clamp(2px,1.1cqw,5px); z-index: 4; min-height: 45px; margin: 0 9px; padding: 10px 0 3px; border-top: 1px solid rgb(var(--tier-rgb) / .18); }
.player-card .card-champions { position: relative; inset: auto; display: block; width: auto; min-width: 0; }
.player-card .card-champions .champion-icons { flex-wrap: nowrap; gap: clamp(1px,1.1cqw,4px); margin: 0; min-height: 0; }
.player-card .champion-icon { width: clamp(10px,8cqw,22px); height: clamp(10px,8cqw,22px); flex-shrink: 0; border-color: rgb(var(--tier-rgb) / .45); }
.card-mean-score { display: inline-flex; align-items: center; justify-content: flex-end; gap: clamp(2px,.8cqw,3px); color: var(--tier); font-variant-numeric: tabular-nums; white-space: nowrap; }
.card-mean-score svg { width: clamp(8px,4.5cqw,15px); height: clamp(8px,4.5cqw,15px); flex-shrink: 0; fill: rgb(var(--tier-rgb) / .15); stroke: currentColor; stroke-width: 1.4; }
.card-match-score svg,.card-mvp-score svg { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.card-mean-score strong { font-size: clamp(9px,5cqw,17px); font-weight: 500; line-height: 1; }
.card-mean-score.is-unavailable { color: #9ca9b8; }
.card-accessible-note { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.player-profile>aside { width: 100%; }
.extra-dimensions { margin-top: 24px; }

@keyframes card-sheen { 0% { opacity: 0; transform: translateX(-55%); } 30% { opacity: .42; } 100% { opacity: 0; transform: translateX(55%); } }
@keyframes card-ascend { 0% { opacity: 0; transform: translate(-58%,16%) rotate(-5deg); } 35% { opacity: .8; } 100% { opacity: 0; transform: translate(58%,-10%) rotate(5deg); } }
@keyframes card-corona { 0% { opacity: 0; transform: translateX(-55%) scale(1.05); } 35% { opacity: .7; } 100% { opacity: 0; transform: translateX(55%) scale(1); } }
@keyframes card-prism { 0% { opacity: 0; transform: rotate(-25deg) scale(.65); } 40% { opacity: .55; } 100% { opacity: 0; transform: rotate(35deg) scale(1.3); } }
@keyframes card-scan { 0% { opacity: 0; transform: translateY(50%); } 25% { opacity: .6; } 100% { opacity: 0; transform: translateY(-70%); } }
@keyframes card-ember { 0% { opacity: 0; transform: translateY(15%); } 40% { opacity: .6; } 100% { opacity: 0; transform: translateY(-15%); } }
@keyframes card-spark { 0% { opacity: 0; translate: 0 9px; } 25% { opacity: .8; } 100% { opacity: 0; translate: 4px -45px; } }
@keyframes card-breathe { 0%,100% { opacity: .09; } 50% { opacity: .2; } }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .player-card[data-grade="s"]:is(:hover,:focus-within) .card-effects::before { animation: card-breathe 5s ease-in-out infinite; }
  .player-card[data-grade="s-plus"]:is(:hover,:focus-within) .card-effects::before { animation: card-breathe 4s ease-in-out infinite; }
}
@container player-card (min-width:320px) {
  .player-card .player-card-info h3 { font-size: clamp(27px,9cqw,36px); }
  .player-card .player-card-info>.player-game-id { font-size: 14px; }
  .player-card .player-role { font-size: 14px; }
  .player-card .player-grade { width: 50px; height: 52px; }
  .player-grade strong { font-size: 34px; }
  .player-card[data-grade="s-plus"] .player-grade { width: 60px; }
  .player-card[data-grade="s-plus"] .player-grade strong { font-size: 32px; }
  .player-card[data-grade="neutral"] .player-grade strong { font-size: 13px; }
  .card-dimension dt { font-size: 12px; }
  .card-dimension dd { font-size: 18px; }
  .card-dimension { min-height: 44px; }
  .card-mean-score strong { font-size: 18px; }
}
@container player-card (max-width:190px) {
  .player-card .player-card-link { padding: 9px 9px 21px; }
  .player-card .player-role { top: 20px; left: 8px; padding: 4px; gap: 4px; font-size: 10px; }
  .player-card .player-role .role-icon { width: 16px; height: 16px; flex-basis: 16px; }
  .player-card .player-grade { top: 21px; right: 6px; width: 36px; height: 40px; padding: 3px 3px 5px; }
  .player-card > .card-grade-edit-trigger { top: 30px; right: 15px; }
  .player-grade strong { font-size: 23px; }
  .player-card[data-grade="s-plus"] .player-grade { width: 43px; }
  .player-card[data-grade="s-plus"] .player-grade strong { font-size: 22px; }
  .player-card[data-grade="neutral"] .player-grade strong { font-size: 9.5px; }
  .player-card .player-card-info { padding: 5px 5px 11px; }
  .player-card .player-card-info h3 { font-size: 18px; }
  .player-card .player-card-info>.player-game-id { font-size: 10px; margin-top: 4px; }
  .player-card .portrait-missing { font-size: 11px; }
  .card-dimensions-panel { margin: 0 4px; padding: 8px 0; }
  .card-dimensions-grid { gap: 7px 2px; }
  .card-dimension dt { font-size: clamp(8px,5cqw,9.5px); }
  .card-dimension { min-height: 34px; }
  .card-dimension dd { font-size: clamp(10px,6cqw,11.5px); letter-spacing: -.035em; }
  .card-footer { min-height: 38px; margin: 0 4px; padding-top: 8px; }
}
@media (hover:none) {
  .player-card:is(:hover,:focus-within) { transform: none; }
  .player-card .card-effects::before,.player-card .card-effects::after,.player-card .card-effects i { animation: none !important; opacity: 0; }
}
@media (prefers-reduced-motion:reduce) {
  .player-card,.player-card *,.player-card *::before,.player-card *::after { animation: none !important; transition: none !important; }
  .player-card:is(:hover,:focus-within),.player-card .champion-splash,.player-card:is(:hover,:focus-within) .champion-splash { transform: none; }
  .player-card .card-effects::before,.player-card .card-effects::after,.player-card .card-effects i { opacity: 0; }
}

/* Origin remains available through the number's tooltip and accessible text. */
.score-manual{text-decoration:none}

/* Pointer coordinates affect decoration only. The card's dimensions, content
 * and hit target stay fixed in lists, lineups and dynamically inserted dossiers. */
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .player-card > .player-card-link { transform-origin:50% 50%; transition:transform .18s ease-out; }
  .player-card.is-pointer-lit > .player-card-link {
    transform:perspective(1000px) rotateX(var(--card-tilt-x,0deg)) rotateY(var(--card-tilt-y,0deg));
  }
  .player-card.is-pointer-lit:is(:hover,:focus-within) .card-effects::before {
    inset:0; opacity:.42; animation:none;
    background:radial-gradient(ellipse at var(--card-light-x,50%) var(--card-light-y,35%),rgb(var(--tier-rgb) / .52),transparent 58%);
  }
  .player-card.is-pointer-lit .player-card-link::after { opacity:1; }
}
@media (forced-colors:active), print {
  .player-card .card-effects { display:none; }
  .player-card.is-pointer-lit > .player-card-link { transform:none; }
}


/* cup/tooltip.css */
/* Compact source labels; details remains usable when JavaScript is unavailable. */
.page-source-bar { max-width: 1840px; margin: 0 auto; padding: 12px 40px 0; display: flex; justify-content: flex-end; }
.source-notice { position: relative; display: inline-block; vertical-align: middle; color: var(--muted); }
.source-notice>summary { display: inline-flex; align-items: center; gap: 7px; min-height: 30px; padding: 3px 9px; list-style: none; cursor: pointer; border: 1px solid var(--line); border-radius: 4px; background: var(--surface); color: var(--accent); font-size: 12px; line-height: 1.5; white-space: nowrap; }
.source-notice>summary::-webkit-details-marker { display: none; }
.source-notice>summary:hover,.source-notice[open]>summary { border-color: var(--accent); color: var(--text); }
.source-notice>summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.source-notice-icon { display: inline-grid; place-items: center; width: 15px; height: 15px; border: 1px solid currentColor; border-radius: 50%; font-family: Georgia,serif; font-size: 11px; font-weight: 600; font-style: italic; line-height: 1; }
.source-notice-popover { position: absolute; top: 100%; right: 0; z-index: 45; width: min(360px,calc(100vw - 32px)); max-height: min(50vh,360px); overflow-y: auto; padding: 15px 17px; border: 1px solid var(--line); border-radius: 5px; background: var(--surface); color: var(--text); box-shadow: var(--shadow); font-size: 13px; font-weight: 400; line-height: 1.8; white-space: normal; overflow-wrap: anywhere; transform: translateX(var(--source-shift,0)); }
.source-notice-popover>p+p { margin-top: 8px; }
.source-notice-inline { margin-left: 7px; }
.source-notice-icon-only>summary { min-width: 30px; justify-content: center; padding: 5px; border-color: transparent; background: transparent; color: var(--muted); }
.section-title-with-note { display: flex; align-items: center; gap: 0; }
@media(max-width:700px) {
  .page-source-bar { padding: 10px 20px 0; }
  .source-notice-popover { position: fixed; inset: auto 16px 16px; width: auto; max-height: 50vh; transform: none; padding: 16px 18px; z-index: 60; }
}


/* cup/scoreboard.css */
/* Shared fixture layout: left team | centered result | right team.
 * Interaction and long-name principles follow 84452cup's schedule_overview;
 * this is an independent LoL adaptation, using this project's theme tokens.
 */
.cup-match-card {
  container-type: inline-size;
}
.cup-match-card .match-teams,
.playoff-pending .match-teams {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  min-width: 0;
  margin-block: 18px;
}
.cup-match-card .match-team {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.cup-match-card .match-team-b {
  justify-content: flex-end;
  text-align: right;
}
.cup-match-card .match-team .team-mark {
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
}
.cup-match-card .match-team-name,
.playoff-pending .match-team-name {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.4;
  font-size: 15px;
  font-weight: 500;
  min-width: 0;
}
.cup-match-card .match-result,
.playoff-pending .match-result {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-width: 76px;
  padding: 7px 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--surface);
  color: var(--text);
  font: 600 28px/1.15 Arial, sans-serif;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0;
  white-space: nowrap;
  text-align: center;
}
.cup-match-card .score-separator {
  color: var(--muted);
  font-weight: 400;
}
.cup-match-card .score-value {
  min-width: .62em;
}
.cup-match-card .score-value.is-winner {
  color: var(--win);
}
.cup-match-card .match-result-pending,
.playoff-pending .match-result-pending {
  color: var(--muted);
  font-size: 20px;
  font-weight: 500;
}
.cup-match-card:hover .match-result {
  border-color: var(--accent);
}
.cup-match-card:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}
.playoff-pending {
  container-type: inline-size;
}
.playoff-pending .match-teams {
  width: 100%;
  margin-block: auto;
  padding-block: 12px;
}
.playoff-pending .match-team-b {
  text-align: right;
}
.playoff-pending .match-team-name {
  font-size: 13px;
  font-weight: 400;
  -webkit-line-clamp: 3;
}
.playoff-pending .match-result {
  min-width: 42px;
  font-size: 16px;
  padding: 6px;
}
@container (max-width: 320px) {
  .cup-match-card .match-teams {
    gap: 8px;
    margin-block: 15px;
  }
  .cup-match-card .match-team {
    gap: 7px;
  }
  .cup-match-card .match-team-name {
    font-size: 13px;
  }
  .cup-match-card .match-team .team-mark {
    width: 26px;
    height: 26px;
    flex-basis: 26px;
  }
  .cup-match-card .match-result {
    min-width: 60px;
    padding: 7px;
    gap: 5px;
    font-size: 24px;
  }
  .cup-match-card .match-result-pending {
    font-size: 18px;
  }
}
@container (max-width: 230px) {
  .cup-match-card .match-team {
    flex-direction: column;
    justify-content: center;
    text-align: center;
    gap: 5px;
  }
  .cup-match-card .match-team-b .match-team-name {
    order: 1;
  }
  .cup-match-card .match-team-name {
    min-height: 2.8em;
    max-width: 100%;
    font-size: 12px;
  }
  .cup-match-card .match-teams {
    gap: 5px;
  }
  .cup-match-card .match-result {
    min-width: 54px;
    font-size: 22px;
    padding: 6px;
  }
}
/* Match detail keeps the same team/result/team reading order at every width. */
.match-scoreboard .scoreboard-teams {
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: clamp(12px, 2vw, 30px);
}
.match-scoreboard .scoreboard-team h1,
.match-scoreboard .scoreboard-team h2 {
  max-width: 100%;
  overflow-wrap: anywhere;
  text-wrap: balance;
}
.match-scoreboard .scoreboard-score > strong {
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
  min-width: 3.2em;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.match-scoreboard .scoreboard-score > strong > span {
  margin-inline: .24em;
}
.match-scoreboard .scoreboard-score > small {
  color: var(--muted);
  font-size: 12px;
  letter-spacing: .05em;
}
.game-panel > .section-heading {
  align-items: center;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
}
.game-panel .game-result {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px;
}
.game-panel .game-result > span {
  padding: 7px 10px;
  border: 1px solid var(--line);
  border-radius: 5px;
  background: var(--surface);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.game-panel .game-result > strong {
  padding: 7px 12px;
  border: 1px solid color-mix(in srgb, var(--win) 40%, var(--line));
  border-radius: 5px;
  background: color-mix(in srgb, var(--win) 9%, var(--surface));
  color: var(--win);
  white-space: nowrap;
}
.game-panel .battle-side-head > span {
  padding: 5px 10px;
  border: 1px solid color-mix(in srgb, var(--side) 45%, var(--line));
  border-radius: 4px;
  background: color-mix(in srgb, var(--side) 12%, var(--surface));
  color: var(--side);
  font-weight: 500;
}
.game-panel .battle-side-head h3 {
  min-width: 0;
  overflow-wrap: anywhere;
}
@media (max-width: 560px) {
  .match-scoreboard .scoreboard-teams {
    gap: 10px;
  }
  .match-scoreboard .scoreboard-score > strong {
    font-size: 30px;
    min-width: 2.8em;
  }
  .match-scoreboard .scoreboard-team h1,
  .match-scoreboard .scoreboard-team h2 {
    font-size: 16px;
  }
  .cup-match-card .match-meta {
    gap: 8px;
    font-size: 10px;
  }
  .game-panel > .section-heading {
    align-items: flex-start;
  }
  .game-panel .game-result {
    flex-direction: row;
    gap: 6px;
    max-width: 45%;
  }
  .game-panel .game-result > strong,
  .game-panel .game-result > span {
    padding: 5px 7px;
    font-size: 10px;
  }
  .game-panel .battle-side-head > span {
    padding: 4px 7px;
    font-size: 11px;
  }
}


/* cup/broadcast.css */
/* Read-only design references, verified 2026-10-13:
   84452cup dev-ck 993cc324562a5eba15e28198f1010692700ed1be:
   docs/ui-design-guidelines.md; docs/design/reveal-stage-prompt.md.
   Also follows 84452cup-ui/SKILL.md and references/layout-rules.md.
   No source code or assets copied. No root repository LICENSE was found;
   third-party vendor licenses do not grant rights to the whole repository.
   These are public-page readability overrides, not a separate broadcast app. */
:root {
  --watch-body: clamp(15px,calc(10px + .32vw),20px);
  --watch-control: clamp(15px,calc(11px + .28vw),20px);
  --watch-meta: clamp(12px,calc(8px + .28vw),16px);
  --watch-data: clamp(17px,calc(10px + .48vw),26px);
  --watch-title: clamp(29px,calc(15px + .8vw),46px);
}
body:is(.home-page,.events-page,.teams-page,.players-page,.schedule-page) { font-size: var(--watch-body); }
.main-nav>a { font-size: var(--watch-control); }
.manage-link,.season-switcher summary { font-size: var(--watch-meta); }
.theme-toggle { width: 38px; height: 38px; }
:is(.home-page,.events-page,.teams-page,.players-page,.schedule-page) .page-heading h1 { font-size: var(--watch-title); }
.page-heading h1,.event-hero h1,.event-tile h2,.team-identity h2 { overflow-wrap: anywhere; }
:is(.home-page,.events-page,.teams-page,.players-page,.schedule-page) .page-heading p { font-size: var(--watch-body); }
:is(.home-page,.events-page,.teams-page,.players-page,.schedule-page) .section-heading h2 { font-size: clamp(21px,calc(15px + .4vw),30px); }
:is(.home-page,.events-page,.teams-page,.players-page,.schedule-page) :is(.text-link,.section-heading>a,.back-link,.pagination) { font-size: var(--watch-meta); }
:is(.home-page,.events-page,.teams-page,.players-page,.schedule-page) .button { min-height: 44px; font-size: var(--watch-control); padding: 10px 20px; gap: 16px; }
:is(.home-page,.events-page,.teams-page,.players-page,.schedule-page) .empty-state :is(h2,h3) { font-size: 20px; }
:is(.home-page,.events-page,.teams-page,.players-page,.schedule-page) .empty-state p { font-size: var(--watch-body); }
.hero-description { font-size: var(--watch-body); }
.hero-facts,.hero-stage { font-size: var(--watch-meta); }
.hero-facts b { font-size: clamp(25px,1.5vw,38px); }
.tournament-path strong { font-size: var(--watch-control); }
.tournament-path small { font-size: var(--watch-meta); }
.home-team-grid>a>span:last-child { font-size: var(--watch-meta); }
.event-tile-content p,.event-shortcuts small { font-size: var(--watch-meta); }
.event-shortcuts strong { font-size: var(--watch-control); }
.team-selector-rail nav>a>span:nth-child(2) { font-size: var(--watch-meta); }
.team-identity p { font-size: var(--watch-body); }
.team-edit-link { font-size: var(--watch-control); }
.team-record>strong { font-size: clamp(36px,2.7vw,58px); }
.profile-role,.identity-grid dt,.stats-grid dt { font-size: var(--watch-meta); }
.identity-grid dd { font-size: var(--watch-control); }
.champion-profile-list>div,.profile-subnav>a { font-size: var(--watch-control); }
.stats-grid dd { font-size: clamp(30px,2vw,48px); }
.catalog-filter { gap: 16px; flex-wrap: wrap; }
.catalog-filter label { font-size: var(--watch-meta); }
.catalog-filter input,.catalog-filter select { height: 44px; font-size: var(--watch-control); }
.catalog-filter .button { min-height: 44px; }
.catalog-filter .search-field { min-width: 240px; }
.result-tag,.team-record .result-tag,.round-state { font-size: var(--watch-meta); }
.stage-tabs>a { min-height: 48px; font-size: var(--watch-control); }
.stage-tabs>a small,.schedule-statusbar,.schedule-key,.graph-explanation { font-size: var(--watch-meta); }
.round-filter>a,.view-toggle>a { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; font-size: var(--watch-control); }
.cup-match-card .match-meta,.match-card-foot { font-size: var(--watch-meta); flex-wrap: wrap; }
.cup-match-card .match-team-name,.home-fixtures .match-team-name { font-size: var(--watch-control); }
.cup-match-card .match-result { font-size: clamp(28px,1.6vw,40px); }
.cup-match-card .match-result-pending { font-size: 21px; }
.match-team strong { font-size: clamp(26px,1.5vw,36px); }
.standings-table,.data-table { font-size: var(--watch-body); }
.standings-table th,.standings-table td { font-size: var(--watch-body); }
.standings-table thead th { font-size: var(--watch-meta); }
.standings-table thead,.data-table thead { font-size: var(--watch-meta); }
.swiss-board:not(.is-single-round) { grid-template-columns: repeat(5,minmax(265px,1fr)); min-width: 1485px; gap: 30px; }
.record-heading span,.record-outcome,.outcome-team>span { font-size: var(--watch-meta); }
.record-matches .cup-match-card .match-team-name { font-size: 13px; }
.record-matches .cup-match-card .match-result { font-size: 22px; }
.record-matches .match-team strong { font-size: 19px; }
.record-matches .team-mark { width: 26px; height: 26px; flex-basis: 26px; }
.record-matches .match-card { padding: 12px 10px; }
.playoff-round { min-width: 310px; }
.playoff-pending .match-team-name { font-size: var(--watch-meta); }
.scoreboard-meta,.scoreboard-team>span:last-child,.match-scoreboard .scoreboard-score>small { font-size: var(--watch-meta); }
.match-scoreboard .scoreboard-team h1,.match-scoreboard .scoreboard-team h2 { font-size: clamp(25px,1.5vw,38px); overflow-wrap: anywhere; }
.match-scoreboard .scoreboard-score>strong { font-size: clamp(56px,3.3vw,84px); }
.game-navigation>a { min-height: 48px; font-size: var(--watch-control); }
.game-navigation>a span,.game-result { font-size: var(--watch-meta); }
.battle-side-head h3 { font-size: clamp(21px,1.2vw,30px); }
.battle-side-head>div { min-width: 0; }
.battle-side-head h3 { min-width: 0; overflow-wrap: anywhere; }
.battle-side-head>span,.side-totals>div>span { font-size: var(--watch-meta); }
.game-panel .battle-side-head>span { font-size: var(--watch-meta); }
.side-totals strong { font-size: var(--watch-data); }
.battle-player-info strong { font-size: var(--watch-control); }
.battle-champion>span:last-child { font-size: var(--watch-meta); }
.battle-stat dt { font-size: var(--watch-meta); }
.battle-stat dd { font-size: var(--watch-control); font-variant-numeric: tabular-nums; }
.pregame-players a { font-size: var(--watch-control); }
.pregame-players>div>span { font-size: var(--watch-meta); }
.history-summary dt,.history-champion small,.history-result small,.history-identity small,.history-kda>small,.history-details dt,.history-source { font-size: var(--watch-meta); }
.history-summary dd { font-size: clamp(29px,1.8vw,42px); }
.history-champion strong,.history-result strong,.history-identity strong { font-size: var(--watch-control); }
.history-kda { font-size: var(--watch-data); }
.history-details dd { font-size: var(--watch-control); }
.history-record { grid-template-columns: 80px minmax(150px,1fr) 112px minmax(210px,1.2fr); gap: 16px; }
.history-source { flex-wrap: wrap; gap: 8px 18px; overflow-wrap: anywhere; }
.history-source>a { max-width: 100%; }
.source-notice-popover { font-size: max(14px,var(--watch-meta)); }

@media(min-width:2200px) {
  .site-main,.site-footer { max-width: 2480px; width: calc(100% - 128px); }
  .header-inner { max-width: 2640px; }
  .page-source-bar { max-width: 2640px; }
  .player-catalog { grid-template-columns: repeat(auto-fill,minmax(320px,1fr)); gap: 24px; }
  .lineup-five,.home-players { gap: 22px; }
  .swiss-board:not(.is-single-round) { grid-template-columns: repeat(5,minmax(320px,1fr)); min-width: 1760px; }
  .record-matches .cup-match-card .match-team-name { font-size: 16px; }
  .record-matches .match-team strong { font-size: 23px; }
  .playoff-round { min-width: 360px; }
}
@media(max-width:1200px) {
  .header-inner { gap: 20px; }
  .main-nav { gap: 16px; }
  .main-nav>a { font-size: 15px; }
  .header-tools { gap: 12px; }
  .history-record { grid-template-columns: 65px minmax(0,1fr) 100px; gap: 12px; padding: 14px; }
  .history-details { grid-column: 2/-1; gap: 9px; }
  .history-source { grid-column: 1/-1; margin-top: 0; }
}
@media(max-width:850px) {
  .main-nav>a { min-height: 44px; font-size: 16px; }
  .history-record { grid-template-columns: 65px minmax(0,1fr) 100px; gap: 12px; }
  .history-details { grid-column: 2/-1; }
  .history-source { grid-column: 1/-1; margin-top: 0; }
}
@media(max-width:560px) {
  .header-inner { gap: 10px; }
  .header-tools { gap: 8px; }
  .season-switcher summary { font-size: 11px; }
  .theme-toggle { width: 36px; height: 36px; }
  .hero-description { font-size: 15px; }
  .hero-facts { gap: 16px; font-size: 12px; }
  .hero-stage { font-size: 12px; }
  .tournament-path strong { font-size: 15px; }
  .tournament-path small { font-size: 12px; }
  .catalog-filter { gap: 12px; }
  .catalog-filter .search-field { min-width: 0; width: 100%; }
  .catalog-filter label { min-width: 0; }
  .stage-tabs>a { gap: 6px; padding: 12px; }
  .stage-tabs>a small { font-size: 11px; margin-left: 0; }
  .round-filter>a,.view-toggle>a { min-height: 40px; font-size: 14px; padding: 7px 11px; }
  .match-teams { gap: 8px; }
  .match-team { gap: 7px; }
  .cup-match-card .match-team-name,.home-fixtures .match-team-name { font-size: 14px; }
  .match-team strong { font-size: 24px; }
  .section-heading { align-items: flex-start; flex-wrap: wrap; gap: 10px; }
  .team-identity p { font-size: 14px; }
  .match-scoreboard .scoreboard-teams { gap: 8px; }
  .match-scoreboard .scoreboard-team h1,.match-scoreboard .scoreboard-team h2 { font-size: 19px; }
  .match-scoreboard .scoreboard-score>strong { font-size: 40px; }
  .scoreboard-score>strong>span { margin: 0 9px; }
  .scoreboard-score { gap: 8px; }
  .battle-player { grid-template-columns: 52px minmax(0,1fr); gap: 10px 12px; }
  .battle-champion { grid-row: auto; }
  .battle-stat { grid-column: 1/-1; gap: 8px; padding-top: 4px; }
  .battle-stat dd { font-size: 15px; }
  .battle-stat dt { font-size: 12px; }
  .game-panel .game-result { max-width: 55%; }
  .game-panel .game-result>strong,.game-panel .game-result>span { font-size: 12px; }
  .game-panel .game-result>strong { white-space: normal; overflow-wrap: anywhere; text-align: right; }
  .game-panel .battle-side-head>span { font-size: 12px; }
  .history-record { grid-template-columns: 54px minmax(0,1fr) 88px; gap: 11px 9px; padding: 12px; }
  .history-result strong,.history-identity strong { font-size: 14px; }
  .history-kda { font-size: 15px; }
  .history-identity small,.history-result small,.history-kda>small { font-size: 11px; }
  .history-details { grid-column: 1/-1; }
  .history-details dd { font-size: 15px; }
  .history-source { font-size: 11px; gap: 7px 10px; }
  .pregame-players { gap: 6px; }
  .pregame-players a { font-size: 13px; }
}
@container (max-width:320px) {
  .cup-match-card .match-team-name { font-size: 14px; }
  .cup-match-card .match-result { font-size: 26px; }
  .cup-match-card .match-result-pending { font-size: 19px; }
}
@container (max-width:230px) {
  .cup-match-card .match-team-name { font-size: 13px; }
  .cup-match-card .match-result { font-size: 22px; }
}


/* cup/account-history.css */
/* LoL account insights. Interaction principles: read-only reference
   84452cup/docs/ui-design-guidelines.md at 993cc324562a5eba15e28198f1010692700ed1be.
   No source copied; public reviewed observations only. */
.account-history-panel{--account-body:clamp(15px,.88vw,21px);--account-meta:clamp(13px,.74vw,17px);--account-number:clamp(26px,1.8vw,44px)}
.account-history-panel .section-heading{margin-bottom:24px;flex-wrap:wrap}.account-updated{font-size:var(--account-meta);color:var(--muted);font-variant-numeric:tabular-nums}
.account-history-filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap;padding-bottom:24px;border-bottom:1px solid var(--line)}
.account-history-filters label{display:grid;gap:6px;color:var(--muted);font-size:var(--account-meta);min-width:110px}.account-history-filters .account-name-filter{min-width:190px;max-width:340px}
.account-history-filters select,.account-record-filters select{min-height:44px;max-width:100%;padding:9px 34px 9px 12px;color:var(--text);background:var(--surface-2);border:1px solid var(--line);border-radius:4px;font-size:var(--account-body)}
.account-history-filters .button,.account-record-filters .button{font-size:var(--account-body);min-height:44px;color:var(--text);background:var(--surface-2);border-radius:4px;gap:8px}
.account-history-filters .account-date-filter{min-width:160px;max-width:200px;flex:0 1 175px}
.account-date-filter input{min-height:44px;width:100%;min-width:0;max-width:100%;padding:8px 10px;color:var(--text);background:var(--surface-2);border:1px solid var(--line);border-radius:4px;font-size:var(--account-body);font-variant-numeric:tabular-nums}
.account-clear-dates{display:inline-flex;align-items:center;min-height:44px;color:var(--muted);font-size:var(--account-body);white-space:nowrap;padding:8px 3px}
.account-clear-dates:hover{color:var(--accent)}
.account-date-error{font-size:var(--account-body);color:var(--loss);margin-top:14px;line-height:1.6}
.account-records-title{display:grid;gap:5px}
.account-record-counts{display:flex;gap:8px 20px;flex-wrap:wrap;font-size:var(--account-meta);color:var(--muted)}
.account-record-counts b{font-weight:500;color:var(--text);font-variant-numeric:tabular-nums}
@media(max-width:600px){.account-history-filters .account-date-filter{min-width:0;max-width:none;flex:1 1 calc(50% - 10px)}.account-date-filter input{font-size:14px;padding:8px 9px}.account-clear-dates{justify-content:center;width:100%;min-height:34px;padding:0}.account-record-counts{gap:6px 16px;font-size:13px}.account-pagination>span{font-size:13px;white-space:nowrap}}
.account-overview{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:36px;padding:30px 0 24px;align-items:center}.account-results-overview{display:flex;align-items:center;gap:26px;min-width:0}.account-win-ring{width:clamp(112px,7.7vw,160px);height:clamp(112px,7.7vw,160px);flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--win) var(--win-rate),color-mix(in srgb,var(--loss) 55%,var(--surface-3)) 0);transform:rotate(-90deg)}.account-win-ring.is-unknown{background:var(--line)}.account-win-ring>div{width:calc(100% - 12px);height:calc(100% - 12px);background:var(--surface);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(90deg)}.account-win-ring strong{font-size:var(--account-number);font-variant-numeric:tabular-nums;line-height:1.25;font-weight:600}.account-win-ring small{font-size:var(--account-meta);margin-left:2px}.account-win-ring span{font-size:var(--account-meta);color:var(--muted)}.account-result-counts{min-width:0}.account-result-counts>strong{font-size:var(--account-number);font-variant-numeric:tabular-nums;font-weight:500;white-space:nowrap}.account-result-counts>strong>span{font-size:var(--account-body);color:var(--muted);margin:0 6px}.account-result-counts i{font-size:22px;font-style:normal;color:var(--line);margin-right:6px}.account-result-counts>p{font-size:var(--account-meta);color:var(--muted);margin:3px 0 12px}.account-recent-form{display:flex;gap:4px;flex-wrap:wrap;max-width:380px}.account-recent-form>span{width:22px;height:23px;display:grid;place-items:center;font-size:11px;font-weight:600;border-radius:2px;color:var(--muted);background:var(--surface-3)}.account-recent-form>.is-win{color:var(--win);background:color-mix(in srgb,var(--win) 14%,var(--surface))}.account-recent-form>.is-loss{color:var(--loss);background:color-mix(in srgb,var(--loss) 14%,var(--surface))}
.account-performance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;border-left:1px solid var(--line);padding-left:32px}.account-performance dt{font-size:var(--account-meta);color:var(--muted)}.account-performance dd{font-size:var(--account-number);font-variant-numeric:tabular-nums;font-weight:500;margin-top:6px}.account-performance .perfect-kda{font-size:clamp(22px,1.6vw,36px)}
.account-window{display:flex;justify-content:space-between;gap:12px;font-size:var(--account-meta);color:var(--muted);padding-bottom:22px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}.account-insights{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:38px;padding:24px 0 30px}.account-insights section>header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.account-insights h3,.account-records-heading h3{font-size:clamp(18px,1.1vw,25px);font-weight:500}.account-insights header>span{font-size:var(--account-meta);color:var(--muted)}.account-champion-list{display:grid;gap:12px}.account-champion-stat{display:flex;align-items:center;justify-content:space-between;gap:16px}.account-champion-identity{display:flex;align-items:center;gap:12px;min-width:0}.account-champion-identity>img{width:clamp(42px,3vw,60px);height:clamp(42px,3vw,60px);border-radius:4px;object-fit:cover}.account-champion-identity strong{display:block;font-size:var(--account-body);font-weight:500}.account-champion-identity span{display:block;font-size:var(--account-meta);color:var(--muted)}.account-champion-rate{min-width:120px;width:24%;text-align:right}.account-champion-rate>strong{font-size:var(--account-body);font-variant-numeric:tabular-nums;font-weight:500}.account-champion-rate small{font-size:var(--account-meta)}.account-history-panel meter{display:block;width:100%;height:5px;background:var(--surface-3);border:0;border-radius:2px;overflow:hidden;appearance:none}.account-history-panel meter::-webkit-meter-bar{background:var(--surface-3);border:0;height:5px}.account-history-panel meter::-webkit-meter-optimum-value{background:var(--blue)}.account-history-panel meter::-moz-meter-bar{background:var(--blue)}.account-champion-rate meter{margin-top:6px}.account-all-champions{margin-top:18px}.account-all-champions>summary{cursor:pointer;color:var(--muted);font-size:var(--account-meta);padding:10px 0}.account-all-champions[open]>.account-champion-list{margin-top:10px;max-height:560px;overflow:auto;padding-right:12px}.account-position-insights{border-left:1px solid var(--line);padding-left:34px}.account-position-list{display:grid;gap:20px}.account-position-stat>div{display:flex;align-items:center;gap:12px;font-size:var(--account-body);margin-bottom:8px}.account-position-stat img,.account-position-stat .role-icon{width:30px;height:30px;flex:0 0 30px;color:var(--muted)}.account-position-stat img{background:#17202d;border-radius:3px;padding:3px}.account-position-stat strong{margin-left:auto;font-weight:500;font-variant-numeric:tabular-nums}.account-position-stat small{font-size:var(--account-meta);color:var(--muted)}
.account-records-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0 18px;border-top:1px solid var(--line);flex-wrap:wrap}.account-records-heading h3>span{font-size:var(--account-meta);color:var(--muted);margin-left:8px}.account-record-filters{display:flex;flex-wrap:wrap;gap:8px}.account-record-filters select{max-width:220px;min-width:125px}
.account-history-record{grid-template-columns:66px minmax(200px,1.25fr) minmax(122px,.7fr) minmax(220px,1.4fr) minmax(150px,1fr);gap:16px;padding:17px 20px;background:linear-gradient(90deg,color-mix(in srgb,var(--muted) 5%,var(--surface-2)),var(--surface-2) 35%);border-radius:4px;transition:border-color .2s,background .2s,box-shadow .2s;position:relative}.account-history-record.is-win{background:linear-gradient(90deg,color-mix(in srgb,var(--win) 8%,var(--surface-2)),var(--surface-2) 35%)}.account-history-record.is-loss{background:linear-gradient(90deg,color-mix(in srgb,var(--loss) 7%,var(--surface-2)),var(--surface-2) 35%)}.account-history-record:hover{border-top-color:color-mix(in srgb,var(--blue) 35%,var(--line));border-bottom-color:color-mix(in srgb,var(--blue) 35%,var(--line));box-shadow:0 5px 18px #0000000a}.account-history-record .history-result strong{font-size:var(--account-body)}.account-history-record .history-result small,.account-history-record .history-identity small,.account-history-record .history-kda>small,.account-history-record .history-details dt{font-size:var(--account-meta)}.account-history-record .history-identity{gap:12px}.account-history-record .history-identity strong{font-size:var(--account-body)}.account-history-record .history-identity small{white-space:normal;font-variant-numeric:tabular-nums;line-height:1.5}.account-champion-portrait{position:relative;width:52px;height:52px;flex:0 0 52px;display:grid;place-items:center;background:var(--surface-3);border-radius:4px;color:var(--muted)}.account-champion-portrait>img:first-child{width:100%;height:100%;object-fit:cover;border-radius:4px}.account-champion-portrait>.account-lane-icon{position:absolute;width:21px;height:21px;right:-5px;bottom:-5px;padding:2px;background:#17202d;border:2px solid var(--surface-2);border-radius:3px}.account-spell-icons{display:grid;gap:3px;flex-shrink:0}.account-spell-icons>img,.account-spell-icons>.account-icon-fallback{width:23px;height:23px;border-radius:3px}.account-spell-icons>.account-icon-fallback{font-size:9px}.account-history-record .history-kda{font-size:clamp(20px,1.2vw,29px);white-space:nowrap}.account-history-record .history-kda>span{color:var(--muted);font-size:.7em}.account-history-record .history-kda>em{color:var(--loss);font-style:normal}.account-history-record .history-details{gap:12px}.account-history-record .history-details dd{font-size:var(--account-body);white-space:nowrap}.account-history-record .history-details dd small{font-size:var(--account-meta);color:var(--muted)}.account-build{display:flex;gap:12px;align-items:center;justify-content:flex-end}.account-item-icons{display:grid;grid-template-columns:repeat(4,30px);gap:4px;align-items:center}.account-item-icons>img,.account-item-icons>.account-icon-fallback{width:30px;height:30px;border-radius:3px}.account-icon-fallback{display:grid;place-items:center;background:var(--surface-3);border:1px solid var(--line);font-size:9px;color:var(--muted);overflow:hidden}.account-icon-fallback.is-empty{font-size:20px}.account-icon-fallback>.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.account-build-unavailable{grid-column:1/-1;font-size:var(--account-meta);color:var(--muted);white-space:nowrap}.account-provider-score{color:var(--blue);font-size:var(--account-body);font-variant-numeric:tabular-nums;text-align:center}.account-provider-score>small{display:block;color:var(--muted);font-size:11px}
.account-game-details{grid-column:1/-1;border-top:1px solid var(--line);font-size:var(--account-body);margin-top:0}.account-game-details>summary{display:flex;align-items:center;justify-content:flex-end;gap:8px;list-style:none;cursor:pointer;color:var(--muted);font-size:var(--account-meta);padding:8px 0 0;min-height:36px}.account-game-details>summary::-webkit-details-marker{display:none}.account-game-details>summary>svg{width:18px;height:18px;transition:transform .22s}.account-game-details[open]>summary>svg{transform:rotate(180deg)}.account-game-details[open]>summary{color:var(--text)}.account-game-more{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px;padding:18px 0 0;animation:account-reveal .22s ease-out}.account-expanded-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.account-expanded-stats dt{color:var(--muted);font-size:var(--account-meta)}.account-expanded-stats dd{margin:4px 0 0;font-size:var(--account-body);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.account-runes{display:grid;gap:10px;align-content:start;padding-left:24px;border-left:1px solid var(--line)}.account-runes>strong{font-weight:500;font-size:var(--account-body)}.account-rune-group{display:grid;grid-template-columns:70px minmax(0,1fr);align-items:center;gap:8px;font-size:var(--account-meta);color:var(--muted)}.account-rune-group>div{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.account-rune-group img{width:28px;height:28px;object-fit:contain}.account-rune-name{display:inline-flex;padding:3px 8px;border:1px solid var(--line);border-radius:3px;color:var(--text);font-size:var(--account-meta);background:var(--surface)}.account-detail-foot{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--line);font-size:var(--account-meta);color:var(--muted)}.account-detail-foot>.source-notice{margin-left:auto}.account-pagination{margin-top:24px}.account-empty>svg{width:48px;height:48px;margin:0 auto 16px;color:var(--blue);opacity:.6}
@keyframes account-reveal{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:2200px){.account-overview{gap:64px}.account-results-overview{gap:34px}.account-recent-form{max-width:560px;gap:6px}.account-recent-form>span{width:29px;height:30px;font-size:14px}.account-performance{padding-left:48px}.account-insights{gap:60px}.account-champion-list{gap:16px}.account-history-record{grid-template-columns:90px minmax(280px,1.2fr) minmax(160px,.65fr) minmax(330px,1.4fr) minmax(230px,1fr);gap:26px;padding:24px 28px}.account-champion-portrait{width:68px;height:68px;flex-basis:68px}.account-spell-icons>img,.account-spell-icons>.account-icon-fallback{width:30px;height:30px}.account-item-icons{grid-template-columns:repeat(4,40px);gap:5px}.account-item-icons>img,.account-item-icons>.account-icon-fallback{width:40px;height:40px}.account-icon-fallback{font-size:12px}.account-game-details>summary{min-height:42px}.account-history-panel .section-heading h2{font-size:clamp(24px,1.1vw,32px)}}
@media(max-width:1350px){.account-overview{gap:24px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.account-results-overview{gap:18px}.account-performance{gap:16px;padding-left:22px}.account-history-record{grid-template-columns:60px minmax(200px,1.25fr) minmax(115px,.65fr) minmax(190px,1.2fr);gap:14px}.account-build{grid-column:2/-1;justify-content:flex-start}.account-item-icons{display:flex;flex-wrap:wrap}.account-game-details{grid-column:1/-1}.account-history-record .history-details dd small{display:block}.account-expanded-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.account-overview{grid-template-columns:1fr;gap:24px}.account-performance{border-left:0;border-top:1px solid var(--line);padding:20px 0 0}.account-insights{grid-template-columns:minmax(0,1.35fr) minmax(200px,1fr);gap:24px}.account-position-insights{padding-left:24px}.account-history-record{grid-template-columns:54px minmax(190px,1fr) 116px}.account-history-record .history-details{grid-column:2/-1;grid-template-columns:repeat(3,minmax(0,1fr))}.account-history-record .history-details dd small{display:inline}.account-build{grid-column:2/-1}.account-game-more{grid-template-columns:1fr}.account-runes{padding:16px 0 0;border-left:0;border-top:1px solid var(--line)}}
@media(max-width:600px){.account-history-panel{padding:18px 14px;--account-body:15px;--account-meta:13px;--account-number:28px}.account-history-panel .section-heading{gap:8px;margin-bottom:18px}.account-history-panel .section-heading h2{font-size:21px}.account-history-filters{gap:12px 10px}.account-history-filters label{flex:1 1 calc(50% - 10px);min-width:0}.account-history-filters .account-name-filter{min-width:0;max-width:none}.account-history-filters select{width:100%;padding-left:10px;font-size:14px}.account-history-filters .button{width:100%}.account-results-overview{gap:18px}.account-win-ring{width:100px;height:100px}.account-win-ring>div{width:calc(100% - 10px);height:calc(100% - 10px)}.account-result-counts>strong{font-size:26px}.account-result-counts>strong>span{font-size:14px;margin:0 3px}.account-result-counts>p{font-size:12px}.account-recent-form{gap:3px}.account-recent-form>span{width:18px;height:20px;font-size:10px}.account-performance{gap:10px}.account-performance dd{font-size:25px}.account-performance dt{font-size:12px}.account-performance .perfect-kda{font-size:21px}.account-window{gap:8px;flex-wrap:wrap;font-size:12px}.account-insights{grid-template-columns:1fr;gap:26px}.account-position-insights{border-left:0;border-top:1px solid var(--line);padding:22px 0 0}.account-position-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}.account-position-stat>div{gap:7px;font-size:14px}.account-position-stat img,.account-position-stat .role-icon{width:24px;height:24px;flex-basis:24px}.account-champion-rate{min-width:88px}.account-records-heading{gap:12px}.account-record-filters{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.account-record-filters select{width:100%;min-width:0;padding:8px;font-size:13px}.account-record-filters .button{padding:8px 12px;font-size:13px}.account-history-record{grid-template-columns:42px minmax(0,1fr) 89px;gap:12px 9px;padding:13px 10px}.account-history-record .history-result strong{font-size:14px}.account-history-record .history-result small{font-size:12px}.account-history-record .history-identity{gap:8px}.account-history-record .history-identity strong{font-size:14px}.account-history-record .history-identity small{font-size:11px}.account-champion-portrait{width:40px;height:40px;flex-basis:40px}.account-champion-portrait>.account-lane-icon{width:18px;height:18px;right:-4px;bottom:-4px}.account-spell-icons{display:none}.account-history-record .history-kda{font-size:17px}.account-history-record .history-kda>small{font-size:11px}.account-history-record .history-details{grid-column:2/-1;gap:8px}.account-history-record .history-details dt{font-size:11px}.account-history-record .history-details dd{font-size:14px}.account-history-record .history-details dd small{font-size:11px;display:block}.account-build{grid-column:2/-1;flex-wrap:wrap;gap:8px}.account-item-icons>img,.account-item-icons>.account-icon-fallback{width:27px;height:27px}.account-expanded-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 10px}.account-expanded-stats dt{font-size:12px}.account-expanded-stats dd{font-size:14px}.account-rune-group{grid-template-columns:62px minmax(0,1fr)}.account-rune-name{font-size:12px}.account-detail-foot{font-size:12px}.account-game-more{gap:18px}.account-game-details>summary{font-size:12px}.account-pagination{gap:8px}.account-pagination>a{font-size:13px;padding:6px 9px}}
@media(prefers-reduced-motion:reduce){.account-history-record,.account-game-details>summary>svg{transition:none}.account-game-more{animation:none}}

/* SQGG's public profile informed information grouping only; all markup,
   styling and assets belong to this project. The full row opens native details. */
.account-history-panel .history-list{gap:7px}
.account-history-panel .account-match-card{display:block;padding:0;min-width:0;overflow:hidden}
.account-match-disclosure>summary{list-style:none;cursor:pointer}
.account-match-disclosure>summary::-webkit-details-marker{display:none}
.account-match-summary{display:grid;grid-template-columns:100px minmax(160px,1fr) 108px minmax(192px,1.2fr) 115px 44px;gap:12px;align-items:center;padding:10px 12px;min-height:94px}
.account-match-summary:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
.account-match-outcome{display:grid;gap:3px;min-width:0}
.account-match-outcome>strong{font-size:12px;line-height:1.35;font-weight:600}
.account-match-outcome>time{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.account-match-outcome>span{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.account-match-outcome .match-outcome{font-size:12px;padding:3px 5px;gap:3px}
.account-match-outcome .match-outcome svg{width:12px;height:12px}
.account-match-outcome small{font-size:11px;color:var(--muted)}
.account-match-summary .history-identity{min-width:0;gap:6px}
.account-match-summary .account-champion-portrait{width:40px;height:40px;flex-basis:40px}
.account-champion-level{position:absolute;right:-2px;bottom:-3px;padding:0 3px;border-radius:3px;background:#17202d;color:#fff;font-size:10px;line-height:15px;font-weight:500}
.account-match-summary .account-spell-icons{display:grid;gap:2px}
.account-match-summary .account-spell-icons>img,.account-match-summary .account-spell-icons>.account-icon-fallback{width:19px;height:19px}
.account-champion-label{min-width:0}
.account-match-summary .account-champion-label>strong{font-size:13px;line-height:1.4;white-space:normal}
.account-champion-label>small{display:flex!important;gap:4px;align-items:center;font-size:11px!important}
.account-champion-label .role-icon{width:13px;height:13px;flex-shrink:0}
.account-match-summary .history-kda{font-size:18px;text-align:center}
.account-match-summary .history-kda>small{font-size:11px;display:block}
.account-match-summary .account-build{grid-column:auto;display:flex;align-items:center;gap:4px 9px;flex-wrap:wrap;justify-content:flex-start;min-width:0}
.account-match-summary .account-item-icons{display:flex;gap:2px;flex-wrap:nowrap}
.account-match-summary .account-item-icons>img,.account-match-summary .account-item-icons>.account-icon-fallback{width:25px;height:25px;flex:0 0 25px}
.account-match-summary .account-provider-score{font-size:12px}
.account-source-mvp{font-size:10px;color:var(--accent);font-weight:500}
.account-summary-stats{display:grid;gap:3px;font-size:11px;color:var(--muted)}
.account-summary-stats>span{display:flex;gap:8px;justify-content:space-between}
.account-summary-stats b{font-weight:500;color:var(--text);font-variant-numeric:tabular-nums}
.account-match-toggle{min-height:44px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--muted);font-size:11px}
.account-match-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;transition:transform .18s}
.account-match-disclosure[open] .account-match-toggle svg{transform:rotate(180deg)}
.account-match-disclosure[open]>.account-match-summary{border-bottom:1px solid var(--line)}
.account-match-expanded{padding:12px;background:color-mix(in srgb,var(--surface) 65%,transparent)}
.account-match-expanded h4{font-size:13px;font-weight:600;margin:0 0 10px}
.account-match-expanded .account-game-more{padding-top:12px;gap:14px;grid-template-columns:minmax(0,2fr) minmax(210px,1fr)}
.account-match-expanded .account-expanded-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px;margin:0}
.account-match-expanded .account-expanded-stats dt{font-size:11px}
.account-match-expanded .account-expanded-stats dd{font-size:13px}
.account-match-expanded .account-runes{padding-left:14px;gap:9px}
.account-detail-spells{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}
.account-detail-spells .account-item-icons{display:flex}
.account-detail-spells .account-item-icons>img,.account-detail-spells .account-item-icons>.account-icon-fallback{width:25px;height:25px}
.account-scoreboard{display:grid;gap:9px;min-width:0}
.account-scoreboard-side{min-width:0;border:1px solid var(--line);border-radius:4px;overflow:hidden}
.account-scoreboard-side>header{display:flex;align-items:center;gap:9px 14px;flex-wrap:wrap;padding:8px 10px;background:color-mix(in srgb,var(--blue) 7%,var(--surface));font-size:12px}
.account-scoreboard-side.side-red>header{background:color-mix(in srgb,var(--red) 7%,var(--surface))}
.account-scoreboard-side>header>strong{color:var(--blue)}
.account-scoreboard-side.side-red>header>strong{color:var(--red)}
.account-scoreboard-side>header .match-outcome{font-size:11px;padding:2px 5px}
.account-scoreboard-side>header .match-outcome svg{width:12px;height:12px}
.account-scoreboard-side>header b{font-weight:500}
.account-bans{display:flex;align-items:center;gap:4px;margin-left:auto;color:var(--muted);font-size:11px}
.account-bans img{width:22px;height:22px;object-fit:cover;border-radius:2px}
.account-scoreboard-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.account-scoreboard-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.account-scoreboard table{width:100%;min-width:820px;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}
.account-scoreboard th,.account-scoreboard td{padding:7px 8px;border-bottom:1px solid var(--line);text-align:center;white-space:nowrap}
.account-scoreboard thead th{font-size:11px;color:var(--muted);font-weight:500}
.account-scoreboard tbody tr:last-child>*{border-bottom:0}
.account-scoreboard tbody th{width:230px;text-align:left}
.account-scoreboard td b{font-weight:500}
.account-scoreboard td>small{display:block;font-size:10px;color:var(--muted)}
.account-scoreboard .is-self{background:color-mix(in srgb,var(--accent) 8%,var(--surface))}
.account-scoreboard-player{display:flex;align-items:center;gap:5px}
.account-scoreboard-player .account-champion-portrait{width:31px;height:31px;flex-basis:31px}
.account-scoreboard-player .account-spell-icons{display:grid;gap:2px}
.account-scoreboard-player .account-spell-icons>img,.account-scoreboard-player .account-spell-icons>.account-icon-fallback{width:15px;height:15px}
.account-scoreboard-player>span:last-child{min-width:0}
.account-scoreboard-player strong{display:block;max-width:150px;overflow:hidden;text-overflow:ellipsis;font-size:12px;font-weight:500}
.account-scoreboard .is-self .account-scoreboard-player strong{font-weight:700}
.account-scoreboard-player small{display:block;font-size:10px;color:var(--muted);font-weight:400}
.account-scoreboard .account-item-icons{display:flex;flex-wrap:nowrap;gap:2px}
.account-scoreboard .account-item-icons>img,.account-scoreboard .account-item-icons>.account-icon-fallback{width:23px;height:23px;flex:0 0 23px;font-size:8px}
.account-scoreboard-note{font-size:11px;color:var(--muted);line-height:1.5;margin:0}
@media(max-width:1100px){
  .account-match-summary{grid-template-columns:90px minmax(150px,1fr) 95px minmax(190px,1.1fr) 44px;gap:8px}
  .account-summary-stats{display:none}
}
@media(max-width:760px){
  .account-match-summary{grid-template-columns:78px minmax(0,1fr) 95px 28px;gap:7px;padding:9px}
  .account-match-summary .account-match-outcome{grid-column:1;grid-row:1/3;align-self:start}
  .account-match-summary .history-identity{grid-column:2;grid-row:1}
  .account-match-summary .history-kda{grid-column:3;grid-row:1;font-size:16px}
  .account-match-summary .account-build{grid-column:2/4;grid-row:2}
  .account-match-toggle{grid-column:4;grid-row:1/3}
  .account-champion-label{display:none}
  .account-match-summary .account-item-icons>img,.account-match-summary .account-item-icons>.account-icon-fallback{width:24px;height:24px;flex-basis:24px}
  .account-match-expanded{padding:8px}
  .account-match-expanded .account-game-more{grid-template-columns:1fr}
  .account-match-expanded .account-runes{border-left:0;border-top:1px solid var(--line);padding:12px 0 0}
  .account-match-expanded .account-expanded-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .account-scoreboard-side>header{gap:6px 10px}
  .account-bans{margin-left:0}
}
@media(prefers-reduced-motion:reduce){.account-match-toggle svg{transition:none}}
@media(max-width:420px){
  .account-match-summary{grid-template-columns:67px minmax(0,1fr) 84px 24px;gap:6px;padding:8px}
  .account-match-summary .account-champion-portrait{width:34px;height:34px;flex-basis:34px}
  .account-match-summary .account-spell-icons>img,.account-match-summary .account-spell-icons>.account-icon-fallback{width:16px;height:16px}
  .account-match-summary .history-kda{font-size:15px}
  .account-match-summary .account-item-icons>img,.account-match-summary .account-item-icons>.account-icon-fallback{width:21px;height:21px;flex-basis:21px}
}

/* Keep account switching and the first records visible without shrinking touch targets. */
.account-history-panel{--account-body:14px;--account-meta:12px;--account-number:26px}
.account-history-panel .section-heading{margin-bottom:12px}
.account-history-filters{gap:8px 12px;padding-bottom:12px}
.account-history-filters label{gap:4px}
.account-history-panel .account-profile-snapshot{padding-top:12px;gap:10px 20px}
.account-history-panel .account-rank-snapshots>div{padding:6px 10px}
.account-overview{gap:20px;padding:16px 0 12px}
.account-results-overview{gap:16px}
.account-win-ring{width:82px;height:82px}
.account-win-ring>div{width:calc(100% - 8px);height:calc(100% - 8px)}
.account-win-ring strong{font-size:24px}
.account-result-counts>p{margin-bottom:7px}
.account-recent-form>span{width:19px;height:20px}
.account-performance{gap:14px;padding-left:20px}
.account-performance dd{margin-top:3px}
.account-window{padding-bottom:10px}
.account-analysis{border-bottom:1px solid var(--line)}
.account-analysis>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;cursor:pointer;font-size:14px}
.account-analysis>summary>span{font-size:12px;color:var(--muted)}
.account-insights{gap:24px;padding:10px 0 16px}
.account-position-insights{padding-left:20px}
.account-position-list{gap:12px}
.account-position-stat>div{margin-bottom:4px}
.account-insights section>header{margin-bottom:10px}
.account-insights h3,.account-records-heading h3{font-size:17px}
.account-champion-identity>img{width:38px;height:38px}
.account-champion-list{gap:8px}
.account-records-heading{gap:10px;padding:12px 0 10px;border-top:0}
.account-history-record{padding:12px 14px;gap:12px}
.account-pagination{margin-top:14px}
@media(max-width:900px){
  .account-overview{grid-template-columns:1fr;gap:12px}
  .account-performance{padding:12px 0 0;border-left:0}
}
@media(max-width:600px){
  .account-history-panel{padding:14px 12px;--account-body:14px;--account-meta:12px;--account-number:23px}
  .account-history-panel .section-heading{margin-bottom:10px}
  .account-history-panel .section-heading h2{font-size:19px}
  .account-history-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px}
  .account-history-filters label,.account-history-filters .account-name-filter{min-width:0;max-width:none}
  .account-history-filters .account-name-filter{grid-column:1/-1;grid-row:1}
  .account-history-filters .button{grid-column:3;grid-row:2;align-self:end;padding-inline:12px}
  .account-history-filters label:first-of-type{grid-column:1;grid-row:2}
  .account-history-filters label:last-of-type{grid-column:2;grid-row:2}
  .account-win-ring{width:76px;height:76px}
  .account-result-counts>strong{font-size:24px}
  .account-performance dd{font-size:23px}
  .account-analysis>summary{font-size:13px}
  .account-analysis>summary>span{font-size:11px}
  .account-insights{grid-template-columns:1fr;gap:16px}
  .account-position-insights{padding:14px 0 0}
  .account-position-list{gap:12px}
  .account-history-record{padding:11px 9px;gap:9px}
}

.account-profile-snapshot{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding:20px 0 0}.account-profile-snapshot>div:first-child{display:flex;gap:12px 18px;align-items:center;flex-wrap:wrap}.account-profile-snapshot strong{font-size:var(--account-body);font-weight:500}.account-profile-snapshot>div:first-child>span,.account-rank-missing{font-size:var(--account-meta);color:var(--muted)}.account-rank-snapshots{display:flex;gap:18px;flex-wrap:wrap}.account-rank-snapshots>div{display:grid;grid-template-columns:auto auto;align-items:baseline;gap:2px 12px;padding:10px 14px;background:var(--surface-2);border-left:2px solid var(--accent)}.account-rank-snapshots span{font-size:var(--account-meta);color:var(--muted);grid-column:1/-1}.account-rank-snapshots b{font-size:var(--account-meta);font-weight:500;color:var(--accent);font-variant-numeric:tabular-nums}.account-rank-snapshots small{font-size:var(--account-meta);color:var(--muted);grid-column:1/-1}.account-mobile-spells{display:none}@media(max-width:600px){.account-mobile-spells{display:flex;align-items:center;gap:16px;padding-bottom:12px}.account-mobile-spells>strong{font-size:14px;font-weight:500}.account-mobile-spells .account-item-icons{display:flex}.account-profile-snapshot{gap:14px}.account-rank-snapshots{gap:10px}}

/* Dense account workspace. All numbers come from validated public history.
   Container queries also cover the narrower profile preview dialog. */
.account-history-panel{container-type:inline-size}
.account-workspace{display:grid;grid-template-columns:230px minmax(0,1fr);gap:16px;padding-top:14px;align-items:start}
.account-sidebar,.account-main{min-width:0}
.account-sidebar{display:grid;gap:12px}
.account-sidebar-block{padding:12px;background:var(--surface-2);border:1px solid var(--line);border-radius:6px;min-width:0}
.account-sidebar-block>header{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:10px}
.account-sidebar-block h3{font-size:13px;font-weight:600;margin:0}
.account-sidebar-block>header>span,.account-sidebar-note{font-size:11px;color:var(--muted);line-height:1.6}
.account-sidebar-note{margin:6px 0 10px}
.account-current-name{display:block;font-size:13px;overflow-wrap:anywhere;margin-bottom:10px}
.account-sidebar .account-rank-snapshots{display:grid;gap:8px}
.account-sidebar .account-rank-snapshots>div{padding:7px 9px;background:var(--surface)}
.account-sidebar .account-rank-snapshots strong{font-size:15px}
.account-sidebar .account-rank-snapshots span,.account-sidebar .account-rank-snapshots small{font-size:11px}
.account-sidebar .account-champion-stat{gap:8px}
.account-sidebar .account-champion-identity{gap:7px}
.account-sidebar .account-champion-identity>img{width:32px;height:32px}
.account-sidebar .account-champion-identity strong,.account-sidebar .account-champion-rate>strong{font-size:12px}
.account-sidebar .account-champion-identity span,.account-sidebar .account-champion-rate small{font-size:10px}
.account-sidebar .account-champion-rate{min-width:44px;width:44px}
.account-sidebar .account-all-champions{margin-top:8px}
.account-teammates{display:grid;gap:9px}
.account-teammates>div{display:grid;gap:2px}
.account-teammates strong{font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-teammates span{font-size:11px;color:var(--muted)}
.account-page-overview{display:grid;grid-template-columns:minmax(210px,1.2fr) minmax(160px,1fr) minmax(125px,.8fr);gap:16px;background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:12px}
.account-overview-label{display:block;font-size:11px;color:var(--muted);margin-bottom:8px}
.account-overview-numbers{display:flex;align-items:center;gap:13px}
.account-page-overview .account-win-ring{width:68px;height:68px}
.account-page-overview .account-win-ring strong{font-size:20px}
.account-page-kda{display:grid;gap:3px;font-size:12px;font-variant-numeric:tabular-nums}
.account-page-kda>strong{font-size:22px;color:var(--accent);line-height:1.2}
.account-page-kda small{font-size:11px;font-weight:400}
.account-page-kda>span:last-child{font-size:11px;color:var(--muted)}
.account-page-champions>div{display:flex;align-items:center;gap:6px;font-size:11px;margin-bottom:4px}
.account-page-champions img{width:22px;height:22px;border-radius:3px}
.account-page-champions strong{font-weight:500;flex:1}
.account-page-champions b{font-weight:500;min-width:36px;text-align:right}
.account-page-champions span:not(.account-overview-label){color:var(--muted)}
.account-page-positions>div{display:flex;justify-content:space-around;gap:6px}
.account-page-positions>div>span{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10px;color:var(--muted)}
.account-position-bar{display:flex;align-items:end;width:12px;height:46px;border-radius:2px;background:var(--surface-3);overflow:hidden}
.account-position-bar>i{display:block;width:100%;background:var(--accent);opacity:.65}
.account-page-positions .role-icon{width:14px;height:14px}
.account-main .account-records-heading{padding:10px 0;gap:8px}
.account-main .account-records-heading h3{font-size:14px}
.account-main .account-record-counts{font-size:11px;gap:10px}
.account-main .account-record-filters{gap:5px}
.account-main .account-record-filters select{min-width:100px;max-width:155px;font-size:12px;padding:7px 25px 7px 8px}
.account-main .account-record-filters .button{font-size:12px;padding-inline:10px}
.account-main .account-match-summary{grid-template-columns:77px minmax(115px,.8fr) 82px 105px minmax(170px,1.1fr) 24px;gap:6px 8px;padding:9px 10px;min-height:110px}
.account-main .account-match-outcome{grid-column:1;grid-row:1/3}
.account-main .account-match-summary .history-identity{grid-column:2;grid-row:1}
.account-main .account-match-summary .history-kda{grid-column:3;grid-row:1;font-size:16px;line-height:1.25}
.account-main .account-match-summary .history-kda>small{line-height:1.4}
.account-main .account-match-summary .account-build{grid-column:2/5;grid-row:2;align-self:start;gap:2px 8px;line-height:1.3}
.account-main .account-summary-stats{display:grid;grid-column:4;grid-row:1;font-size:10px}
.account-summary-stats>small{font-size:10px;text-align:right}
.account-main .account-summary-stats>span{white-space:nowrap;gap:4px}
.account-main .account-match-summary .account-item-icons>img,.account-main .account-match-summary .account-item-icons>.account-icon-fallback{width:23px;height:23px;flex-basis:23px}
.account-main .account-match-toggle{grid-column:6;grid-row:1/3}
.account-participation{color:var(--muted);font-size:10px!important;font-weight:400}
.account-rune-mini{display:grid;gap:3px;flex-shrink:0}
.account-rune-mini>img,.account-rune-mini>.account-icon-fallback{width:16px;height:16px;object-fit:contain;border-radius:50%;font-size:8px}
.account-farm-line{font-size:10px;color:var(--muted);flex-basis:100%;line-height:1.4}
.account-summary-stats>span>small{font-size:9px;min-width:28px;text-align:right}
.account-match-rosters,.account-roster-missing{grid-column:5;grid-row:1/3;min-width:0}
.account-match-rosters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.account-mini-team{display:grid;gap:2px;min-width:0}
.account-mini-player{display:flex;align-items:center;gap:3px;min-width:0;color:var(--muted);font-size:10px;line-height:16px}
.account-mini-player>img{width:16px;height:16px;border-radius:2px;flex-shrink:0}
.account-mini-fallback{display:grid;place-items:center;width:16px;height:16px;border-radius:2px;flex-shrink:0;font-style:normal;background:var(--surface-3);border:1px solid var(--line)}
.account-mini-player>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-mini-player.is-current{color:var(--text);font-weight:700}
.account-roster-missing{font-size:11px;color:var(--muted);text-align:center}
.account-stat-bar{display:block;height:4px;max-width:80px;background:var(--surface-3);margin:4px auto 0;border-radius:2px;overflow:hidden}
.account-stat-bar>i{display:block;height:100%;background:var(--blue)}
.side-red .account-stat-bar>i{background:var(--red)}
.account-main .account-scoreboard table{min-width:860px}
.account-main .account-scoreboard tbody th{width:205px}
.account-main .account-scoreboard-player strong{max-width:124px}
@container(max-width:1120px){
  .account-workspace{grid-template-columns:200px minmax(0,1fr);gap:12px}
  .account-page-overview{grid-template-columns:minmax(190px,1.2fr) minmax(140px,1fr)}
  .account-page-positions{display:none}
  .account-main .account-match-summary{grid-template-columns:72px minmax(115px,1fr) 76px minmax(150px,1.1fr) 24px;gap:6px}
  .account-main .account-summary-stats{grid-column:2/4;grid-row:3;display:flex;flex-wrap:wrap;gap:3px 10px}
  .account-main .account-summary-stats>span{gap:5px}
  .account-main .account-match-summary .account-build{grid-column:2/4}
  .account-match-rosters,.account-roster-missing{grid-column:4;grid-row:1/4}
  .account-main .account-match-toggle{grid-column:5;grid-row:1/4}
  .account-main .account-match-summary .account-champion-label{display:none}
  .account-main .account-match-outcome{grid-row:1/4}
}
@container(max-width:900px){
  .account-workspace{grid-template-columns:minmax(0,1fr)}
  .account-sidebar{grid-row:2;grid-template-columns:repeat(3,minmax(0,1fr))}
  .account-main{grid-row:1}
  .account-page-overview{grid-template-columns:minmax(190px,1.2fr) minmax(150px,1fr) minmax(115px,.8fr)}
  .account-page-positions{display:block}
}
@container(max-width:600px){
  .account-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}
  .account-sidebar-block:last-child{grid-column:1/-1}
  .account-page-overview{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;padding:10px}
  .account-page-positions{display:none}
  .account-page-overview .account-win-ring{width:48px;height:48px}
  .account-page-overview .account-win-ring strong{font-size:15px}
  .account-overview-numbers{gap:7px}
  .account-page-kda{font-size:10px}
  .account-page-kda>strong{font-size:18px}
  .account-page-kda>span:last-child{font-size:10px}
  .account-page-champions strong{display:none}
  .account-main .account-match-summary{grid-template-columns:65px minmax(0,1fr) 82px 22px;gap:6px;padding:9px 8px}
  .account-main .account-match-outcome{grid-column:1;grid-row:1/4}
  .account-main .account-match-summary .history-identity{grid-column:2;grid-row:1}
  .account-main .account-match-summary .history-kda{grid-column:3;grid-row:1}
  .account-main .account-match-summary .account-build{grid-column:2/4;grid-row:2}
  .account-main .account-summary-stats{grid-column:2/4;grid-row:3;font-size:10px}
  .account-main .account-match-toggle{grid-column:4;grid-row:1/5}
  .account-match-rosters{grid-column:1/4;grid-row:4;gap:10px;border-top:1px solid var(--line);padding-top:6px;margin-top:2px}
  .account-mini-team{display:flex;justify-content:space-between}
  .account-mini-player>img,.account-mini-fallback{width:22px;height:22px}
  .account-mini-player>span{display:none}
  .account-roster-missing{display:none}
  .account-main .account-match-summary .account-item-icons>img,.account-main .account-match-summary .account-item-icons>.account-icon-fallback{width:22px;height:22px;flex-basis:22px}
  .account-main .account-match-summary .account-champion-portrait{width:36px;height:36px;flex-basis:36px}
  .account-main .account-record-filters{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}
  .account-main .account-record-filters select{max-width:none;min-width:0;width:100%}
}

/* Provider honors do not count as organizer tournament awards. */
.account-source-honors{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.account-source-honors>span{display:inline-flex;align-items:center;min-height:18px;padding:1px 5px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:3px;color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface));font-size:10px;line-height:1.3;white-space:nowrap}


/* cup/shell.css */
/* Shared shell follows the brand/event/navigation/account regions of
 * 84452cup src/bidding/templates/bidding/base.html and site-header.css,
 * reference 993cc324562a5eba15e28198f1010692700ed1be (read only).
 * This is independent CSS adapted to LoL tokens, not copied source/assets.
 * The reference has no repository-root license; no redistribution right inferred.
 */
.site-header { position: sticky; top: 0; z-index: 90; background: color-mix(in srgb,var(--header) 95%,transparent); backdrop-filter: blur(18px); }
.site-header::after { content: ""; position: absolute; bottom: -1px; left: 0; right: 0; height: 1px; background: linear-gradient(90deg,transparent,var(--accent),transparent); opacity: .22; pointer-events: none; }
.site-header .header-inner { max-width: 1840px; min-height: 94px; padding: 0 40px; gap: clamp(24px,3.6vw,70px); }
.header-identity { --mark-size: 60px; position: relative; display: grid; align-content: center; gap: 2px; flex: 0 1 300px; min-width: 180px; padding: 10px 0 10px calc(var(--mark-size) + 13px); }
.site-header .brand { width: fit-content; min-width: 0; gap: 0; }
.site-header .brand-image { position: absolute; left: 0; top: 50%; display: block; width: var(--mark-size); height: auto; aspect-ratio: 184 / 166; object-fit: contain; transform: translateY(-50%); }
.site-header .brand > span { font-size: 25px; letter-spacing: .12em; font-weight: 650; line-height: 1.35; }
.site-header .season-switcher { display: block; position: relative; max-width: none; min-width: 0; }
.site-header .season-switcher summary { display: flex; align-items: center; gap: 7px; min-height: 30px; max-width: 100%; width: fit-content; list-style: none; padding: 2px 6px 2px 0; color: var(--muted); font-size: 14px; cursor: pointer; white-space: nowrap; transition: color .18s ease; }
.site-header .season-switcher summary span { margin: 0; }
.site-header .season-switcher-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.shell-caret { width: 16px; height: 16px; flex: 0 0 16px; fill: none; stroke: currentColor; stroke-width: 1.6; transition: transform .2s ease; }
[data-shell-menu][open] > summary .shell-caret { transform: rotate(180deg); }
.site-header .season-switcher[open] summary,.site-header .season-switcher summary:hover { color: var(--accent); }
.site-header .season-switcher ul { left: 0; right: auto; top: calc(100% + 8px); width: max(100%,310px); max-width: min(440px,calc(100vw - 88px)); max-height: min(480px,calc(100dvh - 112px)); overflow: auto; padding: 7px; margin: 0; background: var(--surface); border: 1px solid var(--line); border-top: 2px solid var(--accent); border-radius: 8px; box-shadow: 0 18px 44px #0004; list-style: none; z-index: 3; }
.site-header .season-switcher li a { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 11px 12px; border-radius: 5px; color: var(--muted); font-size: 15px; line-height: 1.4; transition: color .18s ease,background .18s ease; }
.site-header .season-switcher li a:hover { color: var(--text); background: var(--surface-2); }
.site-header .season-switcher li a[aria-current=true] { background: color-mix(in srgb,var(--accent) 12%,var(--surface)); color: var(--accent); }
.season-option-name { min-width: 0; flex: 1; overflow-wrap: anywhere; }
.season-status { flex: 0 0 auto; color: var(--muted); font-size: 12px; }
.season-status.is-live { color: var(--win); }
.season-check,.season-all-link svg { width: 16px; height: 16px; flex: 0 0 16px; stroke: currentColor; stroke-width: 1.7; fill: none; }
.season-all-link a { justify-content: space-between; }
.season-empty { padding: 12px; color: var(--muted); font-size: 14px; }
.site-header .main-nav { flex: 0 0 auto; align-self: stretch; display: flex; align-items: stretch; gap: clamp(20px,2.2vw,44px); }
.site-header .main-nav > a { padding: 0 9px; min-height: 44px; font-size: 17px; font-weight: 550; color: var(--muted); transition: color .18s ease; }
.site-header .main-nav > a::after { content: ""; position: absolute; left: 9px; right: 9px; bottom: -1px; height: 3px; background: var(--accent); transform: scaleX(0); transform-origin: center; transition: transform .2s ease; }
.site-header .main-nav > a:hover { color: var(--text); }
.site-header .main-nav > a[aria-current=page] { color: var(--text); }
.site-header .main-nav > a[aria-current=page]::after,.site-header .main-nav > a:hover::after { transform: scaleX(1); }
.site-header .header-tools { flex: 0 0 auto; min-width: 0; gap: 20px; margin-left: auto; }
.account-menu { position: relative; }
.account-menu > summary { display: flex; align-items: center; gap: 10px; min-height: 44px; list-style: none; cursor: pointer; border-radius: 24px; color: var(--text); }
.account-menu > summary::-webkit-details-marker { display: none; }
.account-avatar { display: grid; place-items: center; position: relative; width: 40px; height: 40px; flex: 0 0 40px; border-radius: 50%; border: 1px solid color-mix(in srgb,var(--accent) 65%,var(--line)); background: radial-gradient(circle at 25% 15%,color-mix(in srgb,var(--accent) 24%,var(--surface-2)),var(--surface-2) 70%); color: var(--accent); box-shadow: inset 0 0 0 3px var(--header); font-size: 18px; font-weight: 700; line-height: 1; transition: box-shadow .25s ease,border-color .25s ease; }
.account-avatar::after { content: ""; position: absolute; inset: -4px; border: 1px solid color-mix(in srgb,var(--accent) 15%,transparent); border-radius: inherit; pointer-events: none; }
.account-menu > summary:hover .account-avatar,.account-menu[open] > summary .account-avatar { box-shadow: inset 0 0 0 3px var(--header),0 0 15px color-mix(in srgb,var(--accent) 18%,transparent); border-color: var(--accent); }
.account-name { font-size: 15px; font-weight: 550; max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.account-menu .shell-caret { color: var(--muted); width: 13px; }
.account-panel { position: absolute; top: calc(100% + 16px); right: 0; width: 268px; max-width: calc(100vw - 32px); max-height: calc(100dvh - 112px); overflow-y: auto; padding: 8px; background: var(--surface); border: 1px solid var(--line); border-top: 2px solid var(--accent); border-radius: 9px; box-shadow: 0 18px 44px #0004; }
.account-identity { display: flex; align-items: center; gap: 13px; padding: 13px 11px 17px; margin-bottom: 5px; border-bottom: 1px solid var(--line); }
.account-identity > div { min-width: 0; }
.account-identity strong { display: block; font-size: 16px; font-weight: 650; overflow-wrap: anywhere; }
.account-identity > div > span { display: block; margin-top: 2px; font-size: 13px; color: var(--muted); }
.account-action { display: flex; align-items: center; gap: 11px; width: 100%; min-height: 45px; padding: 10px 12px; background: transparent; border: 0; border-radius: 5px; color: var(--text); font: inherit; font-size: 15px; text-align: left; cursor: pointer; transition: background .18s ease,color .18s ease; }
.account-action:hover { background: var(--surface-2); color: var(--accent); }
.account-action svg { width: 19px; height: 19px; flex: 0 0 19px; stroke: currentColor; stroke-width: 1.5; fill: none; }
.account-action .account-arrow { width: 15px; height: 15px; margin-left: auto; }
.account-panel form { margin: 0; }
.account-login { display: flex; align-items: center; gap: 9px; min-height: 44px; font-size: 15px; color: var(--text); transition: color .18s ease; }
.account-login svg { width: 22px; height: 22px; stroke: currentColor; stroke-width: 1.5; fill: none; }
.account-login:hover { color: var(--accent); }
.site-header .theme-toggle { width: 40px; height: 40px; border-radius: 50%; border-color: transparent; background: var(--surface-2); color: var(--muted); cursor: pointer; transition: color .2s ease,background .2s ease,transform .25s ease; }
.site-header .theme-toggle:hover { color: var(--accent); transform: rotate(24deg); }
.site-header .theme-toggle svg { fill: none; stroke: currentColor; stroke-width: 1.6; }
.site-header :is(a,summary,button):focus-visible { outline: 2px solid var(--blue); outline-offset: 5px; }
.navigation-progress { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 150; overflow: hidden; pointer-events: none; }
.navigation-progress::after { content: ""; display: block; width: 40%; height: 100%; background: linear-gradient(90deg,transparent,var(--accent),var(--blue),transparent); animation: shell-navigation 1.15s ease-in-out infinite; }
@keyframes shell-navigation { from { transform: translateX(-100%); } to { transform: translateX(350%); } }
[data-shell-menu][open] > :not(summary) { animation: shell-dropdown .18s ease-out; transform-origin: top; }
@keyframes shell-dropdown { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 1200px) {
  .site-header .header-inner { gap: 24px; padding-inline: 24px; }
  .header-identity { flex-basis: 240px; }
  .site-header .main-nav { gap: 17px; }
  .site-header .main-nav > a { font-size: 16px; padding-inline: 7px; }
  .site-header .header-tools { gap: 14px; }
  .account-name { max-width: 100px; }
}
@media (max-width: 850px) {
  .site-header .header-inner { min-height: 84px; gap: 18px; }
  .header-identity { flex: 1 1 auto; max-width: 340px; }
  .site-header .main-nav { display: none; position: absolute; inset: 100% 0 auto; padding: 10px 24px 18px; background: var(--header); border-bottom: 1px solid var(--line); box-shadow: var(--shadow); }
  .site-header .main-nav.is-open { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; animation: shell-dropdown .18s ease-out; }
  .site-header .main-nav > a { display: flex; justify-content: center; padding: 13px 5px; border-radius: 5px; min-height: 48px; font-size: 16px; }
  .site-header .main-nav > a[aria-current=page] { color: var(--accent); background: color-mix(in srgb,var(--accent) 10%,var(--surface)); }
  .site-header .main-nav > a::after { left: 30%; right: 30%; bottom: 0; width: auto; }
  .site-header .nav-toggle { display: block; width: 40px; height: 40px; padding: 9px; margin: 0; }
  .site-header .nav-toggle span { height: 2px; transition: transform .2s ease,opacity .2s ease; }
  .nav-toggle[aria-expanded=true] span:first-child { transform: translateY(7px) rotate(45deg); }
  .nav-toggle[aria-expanded=true] span:nth-child(2) { opacity: 0; }
  .nav-toggle[aria-expanded=true] span:last-child { transform: translateY(-7px) rotate(-45deg); }
}
@media (max-width: 560px) {
  .site-header .header-inner { padding-inline: 18px; min-height: 82px; gap: 9px; }
  .header-identity { --mark-size: 48px; min-width: 0; padding-left: 58px; gap: 1px; }
  .site-header .brand > span { font-size: 21px; letter-spacing: .08em; }
  .site-header .season-switcher summary { font-size: 13px; min-height: 28px; padding-right: 0; gap: 4px; }
  .site-header .season-switcher ul { left: 0; right: auto; width: 290px; max-width: calc(100vw - 76px); }
  .site-header .header-tools { gap: 9px; }
  .account-menu > summary { gap: 0; }
  .account-menu > summary > .account-name,.account-menu > summary > .shell-caret { display: none; }
  .account-avatar { width: 34px; height: 34px; flex-basis: 34px; font-size: 16px; }
  .account-panel { position: fixed; top: 90px; right: 16px; left: auto; width: min(268px,calc(100vw - 32px)); }
  .site-header .theme-toggle { width: 34px; height: 34px; }
  .account-login { gap: 0; width: 34px; justify-content: center; }
  .account-login > span { display: none; }
  .site-header .nav-toggle { width: 34px; height: 38px; padding-inline: 7px; }
  .site-header .main-nav { padding-inline: 18px; }
}
@media (min-width: 2400px) {
  .site-header .header-inner { max-width: 2640px; min-height: 120px; padding-inline: 50px; gap: 88px; }
  .header-identity { --mark-size: 76px; flex-basis: 400px; gap: 3px; padding-left: 94px; }
  .site-header .brand > span { font-size: 34px; }
  .site-header .season-switcher summary { font-size: 19px; min-height: 38px; }
  .site-header .main-nav { gap: 50px; }
  .site-header .main-nav > a { font-size: 23px; }
  .site-header .header-tools { gap: 26px; }
  .account-avatar { width: 52px; height: 52px; flex-basis: 52px; font-size: 23px; }
  .account-name,.account-login { font-size: 20px; max-width: 200px; }
  .site-header .theme-toggle { width: 48px; height: 48px; }
  .account-panel { width: 340px; }
  .account-action,.account-identity strong,.site-header .season-switcher li a { font-size: 20px; min-height: 52px; }
  .site-header .season-switcher ul { width: 400px; }
  .season-status,.account-identity > div > span { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .site-header *,[data-shell-menu][open] > :not(summary) { animation: none!important; transition: none!important; }
  .navigation-progress::after { animation: none; width: 100%; }
}


/* cup/support.css */
/* One small pre-match surface; the same blue/red order as the scoreboard. */
.series-support{--support-blue:#51b6ef;--support-red:#ee818b;margin:12px 0 0;padding:14px 20px 10px;border:1px solid var(--line);background:var(--surface);border-radius:12px}
.support-heading{display:flex;align-items:center;gap:10px;margin:0 0 8px}.support-heading h2{font-size:15px;margin:0;font-weight:700}.support-heading>span{font-size:13px;color:var(--muted)}.support-heading .support-help{margin-left:auto;width:20px;height:20px;border:1px solid var(--line);border-radius:50%;text-align:center;line-height:18px;cursor:help}
.support-choices{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}.support-choice{display:flex;align-items:center;gap:10px;min-width:0;min-height:42px;padding:6px 10px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--support-blue);font:inherit;text-align:left;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease}.support-choice-b{color:var(--support-red)}.support-team-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650}.support-choice strong{margin-left:auto;font-size:20px;line-height:1;font-variant-numeric:tabular-nums}.support-choice-action{font-size:12px;border:1px solid currentColor;border-radius:20px;white-space:nowrap;padding:2px 7px}.support-choice[aria-pressed=true]{background:color-mix(in srgb,currentColor 9%,transparent);border-color:currentColor}.support-choice:focus-visible,.support-help:focus-visible{outline:2px solid var(--gold,#c8aa6e);outline-offset:3px}.support-choice:disabled{cursor:default}.support-choice:disabled .support-choice-action{display:none}
.support-track{height:7px;border-radius:4px;overflow:hidden;display:flex;gap:2px;background:var(--line);margin-top:6px}.support-track>span{height:100%;min-width:0;transition:width .35s ease}.support-fill-a{background:#409fdc}.support-fill-b{background:#d76778}.support-track.is-empty{background:var(--line)}.support-track.is-empty>span{display:none}.support-feedback{min-height:17px;margin:4px 0 0;font-size:12px;color:var(--muted)}.support-feedback:empty{display:none}.series-support.is-busy .support-choice{cursor:progress}
.match-support-summary{margin:10px 0 0}.support-summary-labels{display:flex;justify-content:space-between;gap:8px;font-size:12px;font-variant-numeric:tabular-nums;color:var(--muted)}.support-summary-labels>span:first-child{color:#54b2ea}.support-summary-labels>span:last-child{color:#ed8391}.match-support-summary .support-track{height:4px;margin-top:5px}
[data-theme=light] .series-support{--support-blue:#17668e;--support-red:#a63549}[data-theme=light] .support-summary-labels>span:first-child{color:#17668e}[data-theme=light] .support-summary-labels>span:last-child{color:#a63549}
@media(hover:hover) and (pointer:fine){.support-choice:not(:disabled):hover{background:color-mix(in srgb,currentColor 8%,transparent);border-color:color-mix(in srgb,currentColor 45%,transparent);box-shadow:0 0 15px color-mix(in srgb,currentColor 7%,transparent)}}
@media(max-width:600px){.series-support{padding:12px}.support-choices{gap:12px}.support-choice{flex-wrap:wrap;gap:5px;padding:5px 3px;min-height:58px}.support-team-name{width:100%;font-size:14px}.support-choice strong{font-size:18px}.support-heading{gap:8px}.support-heading h2{font-size:14px}}
@media(prefers-reduced-motion:reduce){.support-choice,.support-track>span{transition:none}}


/* cup/interactions.css */
/* Shared controls: feedback without changing the page's visual hierarchy. */
:is(.button,.view-toggle a,.stage-tabs a,.round-filter a,.pagination a,.match-game-tabs a,.live-ribbon-controls button,.support-choice){transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}
:is(.button,.view-toggle a,.stage-tabs a,.round-filter a,.pagination a,.match-game-tabs a,.live-ribbon-controls button,.support-choice):focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(hover:hover) and (pointer:fine){
  :is(.button,.live-ribbon-controls button):not(:disabled):not([aria-disabled=true]):hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 14%,transparent)}
  :is(.view-toggle a,.stage-tabs a,.round-filter a,.pagination a,.match-game-tabs a):not([aria-disabled=true]):hover{border-color:var(--accent);color:var(--text);background-color:color-mix(in srgb,var(--accent) 9%,var(--surface))}
  :is(.button,.live-ribbon-controls button):not(:disabled):active{transform:translateY(0);box-shadow:none}
}
@media(pointer:coarse){:is(.button,.view-toggle a,.stage-tabs a,.round-filter a,.pagination a,.live-ribbon-controls button){min-height:44px}}
@media(prefers-reduced-motion:reduce){:is(.button,.view-toggle a,.stage-tabs a,.round-filter a,.pagination a,.match-game-tabs a,.live-ribbon-controls button,.support-choice){transition:none!important;transform:none!important}}


/* cup/portal-polish.css */
/* Small public-portal improvements; keep the established card and report surfaces. */
#account-records { scroll-margin-top: 20px; }
.home-recent-results { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); }
.home-recent-results h3 { margin: 0 0 9px; font-size: var(--watch-control,15px); font-weight: 550; color: var(--text); }
.home-recent-list { display: grid; }
.home-recent-result { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; gap: 14px; min-height: 48px; padding: 8px 4px; color: var(--muted); border-bottom: 1px solid var(--line); transition: background .18s ease,color .18s ease; }
.home-recent-result:last-child { border-bottom: 0; }
.home-recent-result:hover { background: var(--surface-2); color: var(--text); }
.home-recent-result:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
.recent-result-team { display: flex; align-items: center; gap: 9px; min-width: 0; font-size: var(--watch-control,15px); }
.recent-result-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.recent-result-team-b { justify-content: flex-end; text-align: right; }
.recent-result-team .team-mark { width: 27px; height: 27px; flex: 0 0 27px; }
.recent-result-score { display: flex; gap: 10px; align-items: baseline; font-size: clamp(20px,1.3vw,28px); font-weight: 550; font-variant-numeric: tabular-nums; }
.recent-result-score i { color: var(--muted); font-style: normal; font-size: .75em; }
.home-recent-result .is-winner { color: var(--text); }
@media (max-width:560px) {
  .home-recent-results { margin-top: 17px; padding-top: 14px; }
  .home-recent-result { gap: 8px; padding-inline: 0; }
  .recent-result-team { gap: 6px; font-size: 13px; }
  .recent-result-team .team-mark { width: 23px; height: 23px; flex-basis: 23px; }
  .recent-result-score { gap: 7px; font-size: 20px; }
}
@media (prefers-reduced-motion:reduce) { .home-recent-result { transition: none; } }


/* cup/theme-light.css */
/* Cool light surfaces for the independent LoL site. Media and grade colours
 * retain their own meaning; no reference stylesheets or assets are changed. */
:root {
  --ui-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
}
body, button, input, select, textarea { font-family: var(--ui-font); }

/* The palette lives in experience.css; these rules cover older literal colours. */
:root[data-theme="light"] { color-scheme: light; accent-color: var(--accent); }
:root[data-theme="light"] body { color: var(--text); background: var(--bg); }
:root[data-theme="light"] :is(h1,h2,h3) { letter-spacing: 0; }
:root[data-theme="light"] .site-header {
  color: var(--text);
  background: color-mix(in srgb,var(--header) 94%,transparent);
  border-bottom-color: var(--line);
  backdrop-filter: blur(16px);
  box-shadow: 0 1px 0 #ffffffb3,0 4px 20px #193c5e05;
}
:root[data-theme="light"] .site-header::after { display: none; }
:root[data-theme="light"] .site-header .brand > span { letter-spacing: .035em; }
:root[data-theme="light"] .site-header .brand { color: var(--text); }
:root[data-theme="light"] .site-header .main-nav > a { color: var(--muted); }
:root[data-theme="light"] .site-header .main-nav > a:is(:hover,[aria-current=page]) { color: var(--text); }
:root[data-theme="light"] .site-header .brand:hover svg { filter: none; }
:root[data-theme="light"] :is(.account-panel,.site-header .season-switcher ul) {
  border-color: var(--line);
  border-top-color: var(--accent);
  box-shadow: 0 12px 30px #18253414;
}
:root[data-theme="light"] .site-header .season-switcher li a[aria-current="true"] {
  background: #edf3f9;
  color: var(--accent);
}
:root[data-theme="light"] .account-avatar {
  background: #edf2f7;
  color: var(--accent);
  border-color: #c9d6e3;
  box-shadow: none;
}
:root[data-theme="light"] .account-avatar::after { display: none; }
:root[data-theme="light"] .account-menu > summary:hover .account-avatar,
:root[data-theme="light"] .account-menu[open] > summary .account-avatar {
  border-color: var(--accent);
  box-shadow: none;
}
:root[data-theme="light"] .navigation-progress::after { background: var(--accent); }

/* A blue action must have a light foreground in every public and organizer form. */
:root[data-theme="light"] .button.primary {
  background: linear-gradient(180deg,#3276ae,var(--accent));
  border-color: var(--accent);
  color: #fff;
  box-shadow: inset 0 1px 0 #ffffff24,0 2px 5px #234b721a;
}
:root[data-theme="light"] .button.primary:hover {
  background: #1c5382;
  border-color: #1c5382;
  color: #fff;
  filter: none;
}
:root[data-theme="light"] .button.outline {
  background: var(--surface);
  border-color: #b8c2ce;
  color: var(--text);
}
:root[data-theme="light"] .button.outline:hover { background: var(--surface-2); border-color: var(--accent); color: var(--accent); }
:root[data-theme="light"] :is(.site-form,.catalog-filter) :is(input,select,textarea)::placeholder { color: #6d7783; opacity: 1; }
:root[data-theme="light"] :is(.support-choice,.support-help):focus-visible { outline-color: var(--accent); }

/* White list rows carry results through their edge and badge, not a gradient. */
:root[data-theme="light"] :is(.history-record,.account-history-record,.profile-event-record) { background: var(--surface); }
:root[data-theme="light"] :is(.history-record,.account-history-record,.profile-event-record):hover { background: #fafbfc; }
:root[data-theme="light"] :is(.match-scoreboard,.team-live,.team-live-avatar,.ms-entrant-face) { background: var(--surface-2); }
:root[data-theme="light"] .battle-report .br-side { background: color-mix(in srgb,var(--side) 3%,var(--surface)); }
:root[data-theme="light"] .rm-workflows > a[aria-current="page"] { background: #edf3f9; }
:root[data-theme="light"] .workspace-navigation > a[aria-current="page"] { background: #edf3f9; }
:root[data-theme="light"] .workspace-task-icon { background: #edf3f9; }

/* Dark photographs remain media surfaces, with neutral labels and blue actions. */
:root[data-theme="light"] .event-hero { border-color: #334553; }
:root[data-theme="light"] .hero-event-label { color: #d2dfeb; }
:root[data-theme="light"] .hero-stage .status-dot { background: #88b4d8; box-shadow: none; }
:root[data-theme="light"] .event-hero .button.outline { color: #f0f4f8; background: #16232f80; border-color: #b7c7d080; }
:root[data-theme="light"] .event-hero .button.outline:hover { background: #243849; border-color: #d2dce5; }
:root[data-theme="light"] .event-tile-art { background: #e9eef3; }
:root[data-theme="light"] .event-tile-art::after { border-color: #d5dde5; }
:root[data-theme="light"] .event-tile-art > svg { color: #728aa0; }
:root[data-theme="light"] .event-tile-art > .result-tag { color: var(--muted); background: var(--surface); border-color: var(--line); }
:root[data-theme="light"] .event-tile-art > .result-tag.qualified { color: var(--win); border-color: color-mix(in srgb,var(--win) 30%,var(--line)); }
:root[data-theme="light"] .event-tile-number { color: #77889a1a; }
:root[data-theme="light"] .live-strip--main { --strip-accent: #8ab4d5; border-color: #8ab4d566; }
:root[data-theme="light"] .live-main-label { color: #dce8f1; border-left-color: #8ab4d5; }
:root[data-theme="light"] .live-strip--main .live-room-enter { color: #dce8f1; }
:root[data-theme="light"] .live-reference-badge { color: #dce8f1; background: #172733b8; border-color: #8ab4d566; }
:root[data-theme="light"] .live-strip:focus-visible { outline-color: #8ab4d5; }

/* Compact grade badges keep S/A/B/C/D hues while fitting the light surfaces. */
:root[data-theme="light"] .grade-badge[data-grade] {
  --grade-fg: #606a76;
  --grade-edge: #bac3cd;
  background: color-mix(in srgb,var(--grade-fg) 7%,var(--surface));
  border-color: var(--grade-edge);
  color: var(--grade-fg);
  box-shadow: none;
}
:root[data-theme="light"] .grade-badge[data-grade="s-plus"] { --grade-fg: #806019; --grade-edge: #c4aa68; }
:root[data-theme="light"] .grade-badge[data-grade="s"] { --grade-fg: #86641d; --grade-edge: #c6ac72; }
:root[data-theme="light"] .grade-badge[data-grade="a"] { --grade-fg: #77479d; --grade-edge: #b399c9; }
:root[data-theme="light"] .grade-badge[data-grade="b"] { --grade-fg: #176e85; --grade-edge: #81b2be; }
:root[data-theme="light"] .grade-badge[data-grade="c"] { --grade-fg: #505e6e; --grade-edge: #a1adb9; }
:root[data-theme="light"] .grade-badge[data-grade="d"] { --grade-fg: #925c2d; --grade-edge: #c9a582; }
:root[data-theme="light"] .grade-badge[data-grade="neutral"] { --grade-fg: #606a76; --grade-edge: #bac3cd; }

/* The player trace is blue; comparison traces remain distinct in the legend. */
:root[data-theme="light"] .profile-radar-layer.is-player { --radar-color: #1767b2; }
:root[data-theme="light"] .profile-radar-layer.is-position { --radar-color: #3a806d; }
:root[data-theme="light"] .profile-radar-legend .is-player { --legend-color: #1767b2; }
:root[data-theme="light"] .profile-radar-legend .is-position { --legend-color: #3a806d; }
:root[data-theme="light"] :is(.profile-preview-dialog,.audience-rating-dialog,.profile-room-preview) { box-shadow: 0 18px 60px #172b4630; }
:root[data-theme="light"] :is(.profile-preview-dialog,.audience-rating-dialog)::backdrop { background: #26384b66; }

/* Match the dark shell to the steel-blue light theme without recolouring media. */
:root[data-theme="dark"] .button.primary { background: #a5c9ea; border-color: #a5c9ea; color: #142b40; box-shadow: inset 0 1px 0 #ffffff33; }
:root[data-theme="dark"] .button.primary:hover { background: #c0dcf3; border-color: #c0dcf3; color: #142b40; }
:root[data-theme="dark"] .button.outline { background: #142335; border-color: #526e89; color: #dce9f5; }
:root[data-theme="dark"] .button.outline:hover { background: #20374c; border-color: #94b8d9; }
.site-header .theme-toggle { transition: background .2s,border-color .2s,box-shadow .2s; }
.site-header .theme-toggle:hover { transform: none; }
.theme-toggle:hover { border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent); }
.theme-toggle svg { transition: transform .3s ease; }
.theme-toggle:hover svg { transform: rotate(30deg); }
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  .site-header .theme-toggle,.theme-toggle svg { transition: none; }
  .theme-toggle:hover svg { transform: none; }
}

@media (forced-colors:active) {
  :root[data-theme="light"] :is(.button.primary,.button.outline,.grade-badge[data-grade]) { border-color: ButtonText; }
}


/* cup/schedule-compact.css */
/* Compact fixtures share one geometry across Swiss, playoffs and the home hub. */
.fixture-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cup-match-card.fixture-card{position:relative;display:flex;flex-direction:column;justify-content:center;gap:7px;height:88px;min-height:88px;padding:9px 12px 10px;border:1px solid var(--line);border-radius:7px;background:var(--surface);box-shadow:none;container-type:normal;color:var(--text);transition:border-color .16s,background .16s}
.cup-match-card.fixture-card:hover{background:var(--surface-2);border-color:var(--accent)}
.cup-match-card.fixture-card .match-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:13px;margin:0;font-size:10px;line-height:13px;color:var(--muted);white-space:nowrap}
.fixture-card .fixture-state{display:inline-flex;align-items:center;gap:5px}.fixture-card.match-live .fixture-state{color:var(--blue);font-weight:650}.fixture-state i{height:5px;width:5px;border-radius:50%;background:currentColor}
.cup-match-card.fixture-card .match-teams{display:grid;grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);align-items:center;gap:8px;margin:0;min-height:30px}
.cup-match-card.fixture-card .match-team{display:flex;align-items:center;gap:6px;margin:0;min-height:0;min-width:0}
.cup-match-card.fixture-card .match-team-b{justify-content:flex-end;text-align:right}
.cup-match-card.fixture-card .match-team-name{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;line-height:1.4;color:var(--text);font-weight:550}
.cup-match-card.fixture-card .team-mark{width:27px;height:27px;flex:0 0 27px;border-radius:4px;background:var(--surface-2);clip-path:none}
.cup-match-card.fixture-card .team-mark img{width:100%;height:100%;object-fit:contain}
.cup-match-card.fixture-card .match-result{display:flex;align-items:center;justify-content:center;gap:4px;padding:0;min-width:0;min-height:0;border:0;background:transparent;border-radius:0;font:650 21px/1 Arial,sans-serif;font-variant-numeric:tabular-nums;color:var(--text)}
.cup-match-card.fixture-card .match-result-pending{font-size:13px;letter-spacing:.04em;font-weight:500;color:var(--muted)}
.cup-match-card.fixture-card .score-separator{color:var(--muted);font-size:13px}
.cup-match-card.fixture-card .is-winner .match-team-name,.cup-match-card.fixture-card .score-value.is-winner{color:var(--win);font-weight:700}
.fixture-winner{color:var(--win);font-size:9px;line-height:14px;padding:0 3px;background:color-mix(in srgb,var(--win) 10%,var(--surface));border-radius:3px;flex:none}
.cup-match-card.fixture-card .fixture-support{position:absolute;bottom:0;left:8px;right:8px;margin:0;padding:0;border:0;height:3px;z-index:2}
.fixture-card .fixture-support .support-track{display:flex;height:3px;margin:0;border:0;border-radius:2px;overflow:hidden;background:var(--line);gap:1px}
.fixture-card .fixture-support .support-track.is-empty{background:var(--line);opacity:.45}
.fixture-card .fixture-support .support-fill-a{background:var(--blue)}.fixture-card .fixture-support .support-fill-b{background:var(--red)}
.fixture-support-label{display:none}
.schedule-panel .matches-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:start}
.schedule-page .page-heading{margin-bottom:14px}.schedule-page .stage-tabs{margin-bottom:14px}.schedule-panel .schedule-toolbar{padding:12px 18px;gap:12px}.schedule-panel .schedule-statusbar{padding:10px 18px}.schedule-panel .schedule-graph-note{display:flex;justify-content:flex-end;padding:5px 18px 0}
.schedule-panel .schedule-rounds{padding:20px}.schedule-panel .list-round+.list-round{margin-top:25px;padding-top:20px}
.schedule-panel .list-round-heading{margin-bottom:14px}.schedule-panel .list-group+.list-group{margin-top:16px}
.schedule-panel .list-group-heading h3{font-size:17px}.schedule-panel .pairing-pending{border-radius:6px}
/* A fixed tournament grid keeps empty rounds and completed rounds aligned. */
.schedule-page .stage-tabs>a>span:first-child{display:none}
.schedule-view-label{font-size:14px;font-weight:600;color:var(--text)}
.schedule-panel .swiss-scroll{padding:12px 20px 24px;scrollbar-width:thin;scrollbar-gutter:stable}
.schedule-panel .swiss-layout{--flow-win:#659387;--flow-loss:#a78b92;position:relative;display:grid;grid-template-columns:repeat(5,minmax(194px,1fr)) 150px;gap:32px;min-width:1280px;isolation:isolate}
:root[data-theme=light] .swiss-layout{--flow-win:#508477;--flow-loss:#a07982}
.swiss-layout .swiss-round{min-width:0;animation:none}
.swiss-layout .round-heading{height:38px;min-height:38px;margin:0 0 14px;padding:0 0 11px;align-items:center;border-bottom:2px solid var(--line)}
.swiss-layout .round-heading h2{font-size:14px;font-weight:600;letter-spacing:0}.swiss-layout .round-state{font-size:11px;padding:0;color:var(--muted)}.swiss-layout .round-state-published{color:var(--blue)}.swiss-final-outcomes .round-heading>span{font-size:10px;color:var(--muted)}
.swiss-layout .round-groups{display:grid;grid-template-rows:repeat(24,24px);gap:0;position:relative}
.swiss-layout .record-group{display:flex;flex-direction:column;min-height:0;min-width:0;border:1px solid var(--line);border-radius:3px;background:var(--surface);overflow:visible}
.swiss-layout .record-heading{display:flex;align-items:center;justify-content:space-between;flex:none;height:28px;min-height:28px;padding:0 9px;border-radius:2px 2px 0 0;background:var(--surface-3);border-bottom:1px solid var(--line)}
:root[data-theme=light] .swiss-layout .record-group:not(.is-pending) .record-heading{background:#29343e;border-bottom-color:#29343e}
:root[data-theme=light] .swiss-layout .record-group:not(.is-pending) .record-heading h3{color:#fff}
:root[data-theme=light] .swiss-layout .record-group:not(.is-pending) .record-heading>span{color:#d1d7dd}
.swiss-layout .record-heading h3{font:600 15px/1.2 "Segoe UI",Arial,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--text)}.swiss-layout .record-heading>span{font-size:10px;color:var(--muted)}
.swiss-layout .record-matches{display:flex;flex-direction:column;padding:3px 4px;gap:4px;flex:1;min-height:0;justify-content:center}
/* Two aligned team rows give names room without enlarging the bracket. */
.swiss-layout .record-matches .fixture-card{height:52px;min-height:52px;padding:4px 7px 5px;gap:0;border-radius:2px;border-color:transparent;background:var(--surface-2);box-shadow:none;flex:none}
.swiss-layout .record-matches .fixture-card:hover{border-color:var(--blue);background:var(--surface-3)}
.swiss-layout .fixture-card .match-meta{display:none}
.swiss-layout .fixture-card .match-teams{display:flex;flex-direction:column;align-items:stretch;gap:3px;min-height:0;padding-right:23px}
.swiss-layout .fixture-card .match-team{justify-content:flex-start;text-align:left;gap:6px;height:19px;min-height:19px}
.swiss-layout .fixture-card .match-team-name{font-size:12px;line-height:19px;font-weight:400;color:var(--text)}
.swiss-layout .fixture-card .match-team-b .team-mark{order:-1}.swiss-layout .fixture-card .match-team-b .fixture-winner{order:1}
.swiss-layout .fixture-card .team-mark{width:18px;height:18px;flex-basis:18px;background:transparent;border-radius:0;font-size:7px}.swiss-layout .fixture-card .team-mark img{background:#18222d;padding:2px}
.swiss-layout .fixture-card .match-result{position:absolute;top:5px;right:8px;bottom:6px;display:flex;flex-direction:column;justify-content:space-between;width:17px;font:600 15px/19px "Segoe UI",Arial,sans-serif;gap:0;color:var(--muted)}
.swiss-layout .fixture-card .score-separator{display:none}.swiss-layout .fixture-card .match-result-pending{justify-content:center;font-size:10px;font-weight:400;color:var(--muted)}
.swiss-layout .fixture-card .is-winner .match-team-name,.swiss-layout .fixture-card .score-value.is-winner{color:var(--text);font-weight:600}
.swiss-layout .fixture-winner{margin-left:auto;padding:0;background:none;color:var(--win);font-size:9px;line-height:16px;font-weight:400}
.swiss-layout .record-matches .fixture-card.match-live{border-left:2px solid var(--blue)}.swiss-layout .fixture-card.match-live .match-meta{display:block;position:absolute;right:29px;top:17px;font-size:9px;line-height:16px}.swiss-layout .fixture-card.match-live .fixture-format{display:none}.swiss-layout .fixture-card.match-live .match-teams{padding-right:61px}.swiss-layout .fixture-card.match-live .match-result::before{content:"";position:absolute;top:50%;left:-9px;width:4px;height:4px;border-radius:50%;background:var(--blue)}
.swiss-layout .fixture-card .fixture-support{height:2px;left:7px;right:7px}.swiss-layout .fixture-support .support-track{height:2px}.swiss-layout .fixture-support .support-track.is-empty{visibility:hidden}
.swiss-layout .record-group.is-pending{border-style:solid;background:var(--surface)}
.swiss-layout .record-group.is-pending .record-heading{background:var(--surface-2)}
.swiss-layout .pairing-pending{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:10px 3px;min-height:0;flex:1;border:0;background:transparent;text-align:center;color:var(--muted)}
.swiss-layout .pairing-pending strong{font-size:12px;font-weight:400}.swiss-layout .pairing-pending small{font-size:10px}
.swiss-layout .record-outcome{display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:center;gap:6px;min-width:0;min-height:0;padding:8px;border-radius:3px;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--flow-win);color:var(--text)}
.swiss-layout .outcome-eliminated{border-left-color:var(--flow-loss)}
.swiss-layout .record-outcome>strong{display:flex;justify-content:space-between;align-items:center;flex-basis:auto;font:600 14px/1.2 "Segoe UI",Arial,sans-serif;margin:0;color:var(--text)}.swiss-layout .record-outcome>strong span{font-size:11px;font-weight:400;line-height:1.2;color:var(--win)}.swiss-layout .outcome-eliminated>strong span{color:var(--loss)}
.swiss-layout .outcome-teams{display:flex;flex-wrap:wrap;gap:5px}.swiss-layout .outcome-teams small{font-size:11px;color:var(--muted)}
.swiss-layout .outcome-team{display:flex;align-items:center;flex:1 1 auto;max-width:100%;gap:4px;min-width:0;font-size:11px;color:var(--text)}.swiss-layout .outcome-team>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.swiss-layout .outcome-team .team-mark{width:18px;height:18px;flex-basis:18px;background:transparent}.swiss-layout .outcome-team .team-mark img{padding:2px;background:#18222d}
.swiss-layout .swiss-round[data-round="1"] .record-group{grid-row:1/25}
.swiss-layout .swiss-round[data-round="2"] .record-group[data-wins="1"]{grid-row:1/13;margin-bottom:6px}
.swiss-layout .swiss-round[data-round="2"] .record-group[data-losses="1"]{grid-row:13/25;margin-top:6px}
.swiss-layout .swiss-round[data-round="3"] .record-group[data-wins="2"]{grid-row:1/7}
.swiss-layout .swiss-round[data-round="3"] .record-group[data-wins="1"]{grid-row:7/19;margin-block:9px}
.swiss-layout .swiss-round[data-round="3"] .record-group[data-losses="2"]{grid-row:19/25}
.swiss-layout .swiss-round[data-round="4"] .outcome-qualified{grid-row:1/4}.swiss-layout .swiss-round[data-round="4"] .record-group[data-wins="2"]{grid-row:4/13;margin-block:6px}.swiss-layout .swiss-round[data-round="4"] .record-group[data-losses="2"]{grid-row:13/22;margin-block:6px}.swiss-layout .swiss-round[data-round="4"] .outcome-eliminated{grid-row:22/25}
.swiss-layout .swiss-round[data-round="5"] .outcome-qualified{grid-row:5/9}.swiss-layout .swiss-round[data-round="5"] .record-group{grid-row:10/19}.swiss-layout .swiss-round[data-round="5"] .outcome-eliminated{grid-row:21/25}
.swiss-layout .swiss-final-outcomes .outcome-qualified{grid-row:10/15}.swiss-layout .swiss-final-outcomes .outcome-eliminated{grid-row:16/21}
.swiss-layout .swiss-connections{z-index:-1;inset:0;position:absolute;pointer-events:none;overflow:visible}.swiss-layout .swiss-connections path{fill:none;stroke-width:1.5;stroke-dasharray:none;stroke-linecap:round;stroke-linejoin:round;opacity:.85;vector-effect:non-scaling-stroke}.swiss-layout .flow-win{stroke:var(--flow-win)}.swiss-layout .flow-loss{stroke:var(--flow-loss)}
.schedule-panel .playoff-board{gap:38px;min-width:940px}.schedule-panel .playoff-round{min-width:270px}.schedule-panel .playoff-slots{gap:16px}.schedule-panel .playoff-pending{height:88px;min-height:88px;padding:9px 12px;border-radius:7px;gap:5px}.schedule-panel .playoff-pending .match-teams{margin:0;padding:0;min-height:30px}.schedule-panel .playoff-pending .match-team-name{font-size:11px;-webkit-line-clamp:2}.schedule-panel .playoff-pending .match-result{background:transparent;border:0}.schedule-panel .playoff-pending>.muted{font-size:10px}
.swiss-format-fields{display:flex;gap:12px;flex-wrap:wrap}.swiss-format-fields label{display:grid;gap:5px;font-size:12px;min-width:110px}.swiss-format-fields select{min-height:36px}.swiss-format-options{margin:12px 0}
:root[data-theme=light] .fixture-card{box-shadow:none}
@media(max-width:1100px){.schedule-panel .matches-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.schedule-panel .matches-grid{grid-template-columns:1fr}.schedule-panel .schedule-rounds{padding:14px}.schedule-panel .swiss-scroll{padding:12px 14px 18px}.schedule-panel .swiss-layout{grid-template-columns:repeat(5,210px) 156px;gap:32px;min-width:1366px}.cup-match-card.fixture-card{height:84px;min-height:84px}.cup-match-card.fixture-card .match-team-name{font-size:13px}.fixture-card .fixture-support-label{font-size:10px}.swiss-layout .record-matches .fixture-card{height:52px;min-height:52px}.swiss-layout .fixture-card .match-team-name{font-size:12px}.schedule-panel .playoff-board{min-width:920px}.schedule-panel .playoff-pending{height:84px;min-height:84px}}
@media(prefers-reduced-motion:reduce){.cup-match-card.fixture-card{transition:none}}


/* cup/schedule-effects.css */
/* Tournament surfaces and interaction states. Geometry stays in schedule-compact.css. */
.schedule-page {
  --stage-ink: #dceafb;
  --stage-top: #263d54;
  --stage-bottom: #1a2d41;
  --stage-edge: #557795;
  --stage-shadow: #00000032;
  --stage-wash: #8ebce60a;
}
:root[data-theme=light] .schedule-page {
  --stage-ink: #edf5ff;
  --stage-top: #3c5874;
  --stage-bottom: #293f56;
  --stage-edge: #6d89a5;
  --stage-shadow: #193c5e12;
  --stage-wash: #427cb40b;
}
.schedule-page .page-heading { margin-bottom: 20px; }
.schedule-page .page-heading h1 { display: flex; align-items: center; gap: 12px; font-weight: 600; }
.schedule-page .page-heading h1::before {
  content: ""; width: 5px; height: 27px; border-radius: 2px;
  background: linear-gradient(180deg,var(--accent),color-mix(in srgb,var(--accent) 25%,transparent));
  box-shadow: 0 0 18px color-mix(in srgb,var(--accent) 16%,transparent);
}
.schedule-page .schedule-panel {
  border-radius: 13px; overflow: hidden;
  box-shadow: 0 1px 2px var(--stage-shadow),0 16px 44px var(--stage-shadow);
  background: var(--surface);
}
.schedule-stagebar { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 0 20px; border-bottom: 1px solid var(--line); }
.schedule-panel .stage-tabs { margin: 0; border: 0; gap: 26px; }
.schedule-panel .stage-tabs > a { position: relative; padding: 20px 0 18px; gap: 10px; border: 0; background: transparent; font-size: 15px; }
.schedule-panel .stage-tabs > a small { color: var(--muted); font-size: 11px; }
.schedule-panel .stage-tabs > a::after { content: ""; position: absolute; inset: auto 0 -1px; height: 3px; border-radius: 3px 3px 0 0; background: var(--accent); transform: scaleX(0); transform-origin: left; transition: transform .22s ease; }
.schedule-panel .stage-tabs > a[aria-current=page] { color: var(--text); font-weight: 600; background: transparent; }
.schedule-panel .stage-tabs > a[aria-current=page]::after { transform: scaleX(1); }
.schedule-panel .view-toggle { margin: 0; padding: 3px; gap: 2px; border: 1px solid var(--line); background: var(--surface-2); border-radius: 8px; box-shadow: inset 0 1px 3px var(--stage-shadow); }
.schedule-panel .view-toggle > a { display: flex; align-items: center; gap: 6px; padding: 6px 11px; border-radius: 5px; font-size: 12px; color: var(--muted); }
.schedule-panel .view-toggle > a svg { height: 14px; width: 14px; flex: none; }
.schedule-panel .view-toggle > a[aria-current=page] { color: var(--accent); background: var(--surface); box-shadow: 0 1px 4px var(--stage-shadow); }
.schedule-panel .schedule-statusbar { min-height: 43px; border-bottom: 0; color: var(--muted); background: transparent; }
.schedule-panel .schedule-toolbar { background: var(--surface-2); padding-block: 10px; }
.schedule-panel :is(.swiss-scroll,.bracket-scroll) {
  background: radial-gradient(ellipse at 50% 0,var(--stage-wash),transparent 60%),var(--surface);
  border-top: 1px solid color-mix(in srgb,var(--line) 55%,transparent);
  scrollbar-color: color-mix(in srgb,var(--accent) 40%,var(--line)) transparent;
}
.schedule-panel .swiss-scroll { padding-top: 18px; }
.swiss-layout .swiss-round { position: relative; }
.swiss-layout .round-heading { border-bottom-width: 1px; position: relative; }
.swiss-layout .round-heading h2 { font-size: 13px; font-weight: 650; }
.swiss-layout .round-heading::after { content: ""; position: absolute; bottom: -2px; left: 0; width: 23px; height: 3px; background: var(--line); border-radius: 2px; }
.swiss-layout .swiss-round:has(.round-state-published) .round-heading::after { background: var(--blue); width: 38px; box-shadow: 0 0 12px color-mix(in srgb,var(--blue) 30%,transparent); }
.swiss-layout .swiss-round:has(.round-state-published) .round-groups::before {
  content: ""; position: absolute; z-index: -1; inset: -7px -8px;
  background: linear-gradient(180deg,color-mix(in srgb,var(--blue) 7%,transparent),transparent 75%);
  border-radius: 10px; pointer-events: none;
}
.swiss-layout :is(.record-group,.record-outcome) {
  border-radius: 7px; box-shadow: 0 2px 4px var(--stage-shadow),0 8px 18px color-mix(in srgb,var(--stage-shadow) 45%,transparent);
  transition: border-color .2s,box-shadow .2s,opacity .2s;
}
:root .schedule-page .schedule-panel .swiss-layout .record-group:not(.is-pending) .record-heading {
  position: relative; border-radius: 6px 6px 0 0; border-bottom-color: var(--stage-edge);
  background: linear-gradient(110deg,var(--stage-top),var(--stage-bottom));
  box-shadow: inset 0 1px 0 #ffffff16;
}
.schedule-panel .swiss-layout .record-group:not(.is-pending) .record-heading h3 { color: var(--stage-ink); }
.schedule-panel .swiss-layout .record-group:not(.is-pending) .record-heading > span { color: #d0dfed; }
.swiss-layout .record-heading h3 { font-size: 14px; }
.swiss-layout .record-group.is-pending { box-shadow: inset 0 1px 0 color-mix(in srgb,var(--surface) 70%,transparent); background: color-mix(in srgb,var(--surface-2) 45%,var(--surface)); }
.swiss-layout .record-group.is-pending .record-heading { border-radius: 6px 6px 0 0; background: transparent; }
.swiss-layout .pairing-pending::before { content: ""; width: 22px; height: 16px; margin-bottom: 3px; border: 1px solid var(--line); border-radius: 3px; background: linear-gradient(90deg,transparent 47%,var(--line) 47% 53%,transparent 53%); opacity: .8; }
.swiss-layout .record-outcome { background: linear-gradient(110deg,color-mix(in srgb,var(--flow-win) 6%,var(--surface)),var(--surface) 80%); }
.swiss-layout .outcome-eliminated { background: linear-gradient(110deg,color-mix(in srgb,var(--flow-loss) 6%,var(--surface)),var(--surface) 80%); }
.schedule-panel .swiss-layout { --flow-win: #4c9d8e; --flow-loss: #b77e90; }
:root[data-theme=light] .schedule-panel .swiss-layout { --flow-win: #498577; --flow-loss: #a07183; }
.swiss-layout .swiss-connections path { transition: opacity .18s,stroke-width .18s; }
.swiss-layout.has-flow-focus .swiss-connections path { opacity: .18; }
.swiss-layout.has-flow-focus .swiss-connections path.is-flow-active { opacity: 1; stroke-width: 2.5; filter: drop-shadow(0 0 3px color-mix(in srgb,var(--blue) 20%,transparent)); }
.swiss-layout.has-flow-focus :is(.record-group,.record-outcome):not(.is-flow-related):not(.is-flow-origin) { opacity: .62; box-shadow: none; }
.swiss-layout .is-flow-related { border-color: color-mix(in srgb,var(--accent) 65%,var(--line)); box-shadow: 0 4px 14px var(--stage-shadow); }
.swiss-layout .is-flow-origin { border-color: var(--blue); box-shadow: 0 0 0 2px color-mix(in srgb,var(--blue) 12%,transparent),0 7px 22px var(--stage-shadow); }
.swiss-layout :is(.record-group,.record-outcome):focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
.schedule-page .cup-match-card.fixture-card {
  transition: transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease;
  box-shadow: 0 1px 2px var(--stage-shadow),inset 0 1px 0 #ffffff06;
}
.swiss-layout .record-matches .fixture-card { background: linear-gradient(100deg,var(--surface-2),color-mix(in srgb,var(--surface-2) 45%,var(--surface))); border-radius: 4px; }
.swiss-layout .fixture-card .team-mark img { border-radius: 3px; }
.schedule-page .fixture-card.match-live { box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--blue) 25%,transparent),0 0 16px color-mix(in srgb,var(--blue) 8%,transparent); }
.schedule-page .fixture-card:focus-visible { z-index: 3; outline: 2px solid var(--blue); outline-offset: 2px; }
.schedule-page .fixture-card:active { transform: translateY(0); }
.schedule-panel .playoff-board .playoff-flow { opacity: .65; stroke: var(--accent); }
.schedule-panel .playoff-board .is-journey-focus { border-color: var(--blue); box-shadow: 0 0 0 2px color-mix(in srgb,var(--blue) 12%,transparent),0 6px 20px var(--stage-shadow); }
.schedule-panel .playoff-pending { border-style: solid; background: color-mix(in srgb,var(--surface-2) 60%,var(--surface)); }
.schedule-page #standings { border-radius: 12px; box-shadow: 0 5px 20px var(--stage-shadow); }
.schedule-page .standings-table tbody tr { transition: background .18s; }
.schedule-page .standings-table tbody tr:hover { background: var(--surface-2); }
@media(hover:hover) and (pointer:fine) {
  .schedule-panel .stage-tabs > a:hover::after { transform: scaleX(1); }
  .schedule-page .cup-match-card.fixture-card:hover { transform: translateY(-2px); z-index: 3; border-color: color-mix(in srgb,var(--blue) 65%,var(--line)); background: var(--surface); box-shadow: 0 5px 14px var(--stage-shadow),0 0 0 1px color-mix(in srgb,var(--blue) 10%,transparent); }
}
@media(max-width:700px) {
  .schedule-stagebar { padding: 0 14px; gap: 12px; flex-wrap: wrap; }
  .schedule-panel .stage-tabs { gap: 24px; flex: 1; }
  .schedule-panel .stage-tabs > a { padding: 17px 0 15px; gap: 6px; flex: none; font-size: 14px; }
  .schedule-panel .stage-tabs > a small { display: none; }
  .schedule-panel .view-toggle > a { padding: 5px 8px; font-size: 11px; }
  .schedule-panel .view-toggle > a svg { width: 12px; }
  .schedule-panel .schedule-statusbar { gap: 6px; padding: 10px 14px; }
  .schedule-page .page-heading { margin-bottom: 16px; }
  .schedule-page .schedule-panel { border-radius: 10px; }
}
@media(prefers-reduced-motion:reduce) {
  .schedule-page :is(.fixture-card,.record-group,.record-outcome,.swiss-connections path),.schedule-panel .stage-tabs > a::after { transition: none; }
  .schedule-page .cup-match-card.fixture-card:hover { transform: none; }
}
@media(forced-colors:active) {
  .schedule-panel :is(.view-toggle,.stage-tabs) > a[aria-current=page] { outline: 1px solid Highlight; outline-offset: -2px; font-weight: 700; }
  .swiss-layout.has-flow-focus :is(.record-group,.record-outcome) { opacity: 1!important; }
  .swiss-layout .swiss-connections path { stroke: CanvasText; opacity: 1!important; filter: none!important; }
  .swiss-layout .swiss-connections .flow-loss { stroke-dasharray: 4 3; }
  .swiss-layout .is-flow-origin { outline: 2px solid Highlight; }
}


/* cup/site-polish.css */
/* Shared material and interaction layer. Media, rank colours and match results
   retain their own semantics; elevation indicates actual interface hierarchy. */
:root {
  --header-height: 94px;
  --radius-sm: 7px;
  --radius-panel: 14px;
  --radius-dialog: 18px;
  --edge-light: #ffffff0b;
  --elevation-1: 0 2px 5px #00000016,0 12px 32px #00000014;
  --elevation-2: 0 5px 10px #0000001f,0 22px 48px #00000029;
  --elevation-3: 0 12px 24px #00000033,0 32px 88px #00000066;
  --surface-wash: #b8d5f008;
  --motion-fast: 160ms;
  --motion-enter: 260ms;
  --ease-out: cubic-bezier(.2,.7,.2,1);
}
:root[data-theme=light] {
  --bg: #f1f4f8;
  --surface-2: #f5f7fb;
  --surface-3: #e9eef5;
  --line: #d9e1eb;
  --edge-light: #ffffffd9;
  --elevation-1: 0 2px 4px #1d324408,0 10px 26px #1d324409;
  --elevation-2: 0 4px 9px #1d32440c,0 20px 44px #1d324415;
  --elevation-3: 0 10px 22px #1d32441a,0 32px 80px #1d324433;
  --surface-wash: #ecf4fc55;
}
html { scroll-padding-top: calc(var(--header-height) + 20px); }
body {
  background-image: radial-gradient(ellipse 85% 520px at 50% 0,color-mix(in srgb,var(--accent) 6%,transparent),transparent);
  background-repeat: no-repeat;
  min-height: 100dvh;
}
::selection { background: color-mix(in srgb,var(--accent) 25%,var(--surface)); color: var(--text); }
body .site-main { width: min(1560px,calc(100% - 64px)); padding-top: 32px; padding-bottom: 64px; }
.site-header { box-shadow: 0 1px 0 var(--edge-light); transition: box-shadow var(--motion-enter) ease,background-color var(--motion-enter) ease; }
.site-header.is-scrolled { box-shadow: 0 1px 0 var(--line),0 7px 24px #00000012; }
:root[data-theme=light] .site-header { background: #fffffff0; }
.site-header .main-nav > a { position: relative; }
.site-header .main-nav > a[aria-current=page] { background: linear-gradient(0deg,color-mix(in srgb,var(--accent) 7%,transparent),transparent 80%); }
.site-header .season-switcher summary { min-height: 44px; }
.site-header :is(.theme-toggle,.nav-toggle,.account-login) { min-width: 44px; min-height: 44px; }
.site-header .account-menu > summary { min-width: 44px; justify-content: center; }
.site-header :is(.account-panel,.season-switcher ul) { border-top: 1px solid var(--line); border-radius: 12px; box-shadow: var(--elevation-3),inset 0 1px var(--edge-light); }
.site-header .account-action { border-radius: var(--radius-sm); }
.site-main .panel:not(.schedule-panel) { border-radius: var(--radius-panel); background-image: linear-gradient(150deg,var(--surface-wash),transparent 45%); box-shadow: var(--elevation-1),inset 0 1px var(--edge-light); }
.site-main .panel .panel { box-shadow: none; }
.site-main .page-heading { gap: 20px; margin-bottom: 26px; }
.site-main .page-heading h1 { letter-spacing: -.025em; font-weight: 650; }
.site-main .page-heading p { margin-top: 8px; line-height: 1.7; }
.site-main .section-heading { align-items: center; }
.site-main .section-heading h2 { letter-spacing: -.015em; font-weight: 600; }
.site-main .section-heading > a { display: inline-flex; align-items: center; min-height: 40px; flex-shrink: 0; padding-inline: 3px; }
.site-main .back-link { display: inline-flex; align-items: center; min-height: 40px; }
.site-main :is(.button,.pagination a) { border-radius: var(--radius-sm); }
.site-main .button { line-height: 1.4; }
.site-main .button:not(:disabled):not([aria-disabled=true]):active { transform: translateY(1px); }
.site-main :is(input,select,textarea):focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; box-shadow: 0 0 0 5px color-mix(in srgb,var(--accent) 10%,transparent); }
.site-main :is(button,input,select,textarea):disabled { cursor: not-allowed; }
.site-main .empty-state { border-radius: 10px; background: linear-gradient(160deg,var(--surface-2),transparent); }
.site-main .empty-state :is(h2,h3) { color: var(--text); font-weight: 600; }
.site-main .empty-state p { max-width: 42em; margin-inline: auto; line-height: 1.8; }
.site-main .site-message { border-radius: 8px; box-shadow: var(--elevation-1); }
.site-main :is(.data-table,.standings-table) tbody tr { transition: background var(--motion-fast) ease; }
.site-main :is(.data-table,.standings-table) tbody tr:hover { background: color-mix(in srgb,var(--accent) 5%,var(--surface)); }
.site-main :is(.data-table,.standings-table) th { font-weight: 550; }
.site-main :is(.data-table,.standings-table) td { font-variant-numeric: tabular-nums; }
.site-main :is([id],input,select,textarea) { scroll-margin-top: calc(var(--header-height) + 24px); }
.site-main :is(.swiss-scroll,.bracket-scroll,.table-scroll,.table-wrap) { overscroll-behavior-x: contain; scrollbar-color: color-mix(in srgb,var(--muted) 45%,transparent) transparent; scrollbar-width: thin; }
.site-main :is(.swiss-scroll,.bracket-scroll):focus-visible { outline-offset: -3px; }
.site-main [data-scroll-overflow=true] { background-image: linear-gradient(90deg,var(--surface),transparent),linear-gradient(270deg,var(--surface),transparent),linear-gradient(90deg,#162a4520,transparent),linear-gradient(270deg,#162a4520,transparent); background-position: left center,right center,left center,right center; background-size: 30px 100%,30px 100%,12px 100%,12px 100%; background-repeat: no-repeat; background-attachment: local,local,scroll,scroll; }
.profile-preview-dialog,.audience-rating-dialog { border-radius: var(--radius-dialog); box-shadow: var(--elevation-3); }
.site-footer { max-width: 1560px; margin-inline: auto; width: calc(100% - 64px); color: var(--muted); border-top-color: var(--line); }
.site-main .login-layout { gap: 0; max-width: 1000px; margin: 44px auto; align-items: stretch; border: 1px solid var(--line); border-radius: 18px; overflow: hidden; background: var(--surface); box-shadow: var(--elevation-2); }
.site-main .login-heading { display: flex; flex-direction: column; justify-content: center; position: relative; padding: 56px 44px; isolation: isolate; overflow: hidden; background: radial-gradient(ellipse at 0 0,#254b6688,transparent 70%),linear-gradient(145deg,#152d42,#0c1726); color: #f1f5fa; }
.site-main .login-heading::after { content: ''; position: absolute; width: 200px; height: 230px; right: -60px; bottom: -80px; border: 1px solid #9ebbd42b; border-radius: 50%; box-shadow: 0 0 0 28px #9ebbd408,0 0 0 56px #9ebbd405; z-index: -1; }
.site-main .login-heading > svg { color: #a4c9e6; }
.site-main .login-heading h1 { font-weight: 650; letter-spacing: -.02em; }
.site-main .login-heading p { color: #b6c6d7; font-size: 14px; }
.site-main .login-layout .login-form { margin: 0; padding: 40px 32px; border: 0; border-radius: 0; box-shadow: none; }
.site-main .login-form h2 { font-weight: 650; }
.site-main .login-layout .site-form.login-form input:not([type=hidden]) { min-height: 44px; border: 1px solid color-mix(in srgb,var(--line) 78%,var(--muted)); border-radius: var(--radius-sm); background: var(--surface); }
.site-main .login-form .button { min-height: 46px; justify-content: center; }
.back-to-top { position: fixed; z-index: 80; right: max(18px,calc((100vw - 1640px)/2)); bottom: max(22px,env(safe-area-inset-bottom)); display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; background: var(--surface); color: var(--text); box-shadow: var(--elevation-2),inset 0 1px var(--edge-light); cursor: pointer; transition: background var(--motion-fast),transform var(--motion-fast); }
.back-to-top[hidden] { display: none; }
.back-to-top svg { width: 20px; height: 20px; }
.back-to-top:hover { background: var(--surface-2); color: var(--accent); transform: translateY(-2px); }
.back-to-top:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
body:has(dialog[open]) .back-to-top { visibility: hidden; }
@media(min-width:851px) { .site-header .header-identity { padding-block: 5px; } }
@media(max-width:1000px) { body .site-main { width: calc(100% - 48px); } }
@media(max-width:850px) { :root { --header-height: 90px; } .site-header .main-nav.is-open { box-shadow: var(--elevation-2); } }
@media(max-width:760px) {
  .site-main .login-layout { grid-template-columns: 1fr; max-width: 480px; margin-block: 8px 30px; }
  .site-main .login-heading { padding: 28px 24px; text-align: left; }
  .site-main .login-heading > svg { width: 38px; height: 44px; margin: 0 0 16px; }
  .site-main .login-heading h1 { font-size: 24px; }
  .site-main .login-layout .login-form { padding: 28px 24px; }
}
@media(max-width:560px) {
  body .site-main { width: calc(100% - 32px); padding-top: 22px; padding-bottom: 44px; }
  .site-header .header-inner { padding-inline: 12px; gap: 3px; }
  .site-header .header-identity { padding-top: 5px; padding-bottom: 5px; padding-left: 58px; --mark-size: 48px; }
  .site-header .brand > span { font-size: 20px; }
  .site-header .season-switcher summary { font-size: 12px; }
  .site-header .header-tools { gap: 1px; }
  .site-header .theme-toggle { background: transparent; }
  .site-header .nav-toggle { padding-inline: 11px; }
  .site-header .account-panel { top: calc(var(--header-height) + 8px); }
  .site-main .page-heading { gap: 14px; margin-bottom: 22px; }
  .site-main .section-heading > a { min-height: 44px; }
  .site-main :is(input,select,textarea) { font-size: 16px; }
  .site-main .panel:not(.schedule-panel) { border-radius: 12px; }
  .site-footer { width: calc(100% - 32px); font-size: 11px; }
  .back-to-top { right: 14px; bottom: 18px; }
}
@media(prefers-reduced-motion:no-preference) {
  .site-main > .page-heading { animation: heading-arrive var(--motion-enter) var(--ease-out) both; }
  @keyframes heading-arrive { from { opacity: .65; transform: translateY(5px); } to { opacity: 1; transform: none; } }
}
@media(prefers-reduced-motion:reduce) {
  .site-header,.back-to-top,.site-main :is(.button,.pagination a,.data-table tr,.standings-table tr) { transition: none!important; transform: none!important; }
}
@media(forced-colors:active) {
  body,.site-main .panel,.site-main [data-scroll-overflow=true] { background-image: none; }
  .site-main .panel,.back-to-top { border: 1px solid CanvasText; box-shadow: none; }
  .site-header .main-nav > a[aria-current=page] { outline: 1px solid Highlight; outline-offset: -4px; }
}


/* cup/home-polish.css */
/* Homepage and public event directory. Room states, match outcomes and player
   identity stay with their shared components; only the surrounding hierarchy changes. */
.home-page .home-overview{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;padding:30px 34px;border:1px solid #54799a4d;border-radius:var(--radius-panel);background:radial-gradient(ellipse at 0 0,#37618255,transparent 65%),linear-gradient(120deg,#142b40,#0d1c2d);color:#f1f6fc;box-shadow:var(--elevation-1),inset 0 1px #ffffff12;min-width:0}
.home-page .home-overview-main{min-width:0}
.home-page .home-overview-meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px;color:#b5c7da;font-size:13px;line-height:1.5;margin-bottom:10px}
.home-page .home-event-status{display:inline-flex;align-items:center;gap:7px;padding:3px 9px;border:1px solid #a9bfd04d;border-radius:5px;color:#d4dfeb;font-weight:550}
.home-page .home-event-status.event-status--active{color:#a7e5d9;background:#183d3b88;border-color:#66bbae55}
.home-page .home-event-status.event-status--active:before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}
.home-page .home-overview h1{max-width:26em;overflow-wrap:anywhere;font-size:clamp(25px,2.2vw,36px);font-weight:650;line-height:1.35;letter-spacing:-.025em}
.home-page .home-overview-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:22px}
.home-page .home-overview-actions .button,.home-page .home-empty-event .button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:11px 17px;background:#dbeafa;color:#17344d;border:1px solid #eaf4ff;font-size:14px;font-weight:650;border-radius:7px;transition:background var(--motion-fast),box-shadow var(--motion-fast)}
.home-page .home-overview-actions .button svg{width:18px;height:18px;flex:none;stroke-width:1.6}
.home-page .home-overview-roster{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:14px;color:#d5e2ef}
.home-page .home-overview-record{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:center;padding-left:28px;border-left:1px solid #a0bad42b;min-width:290px}
.home-page .home-overview-record dt{color:#b5c7da;font-size:12px;white-space:nowrap}
.home-page .home-overview-record dd{display:flex;align-items:baseline;gap:5px;margin-top:6px;font-size:32px;line-height:1.2;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.025em}
.home-page .home-overview-record dd small{font-size:12px;font-weight:400;color:#b5c7da;letter-spacing:0}
.home-page .home-empty-event{grid-template-columns:1fr;padding-block:38px;min-height:220px}
.home-page .home-empty-event p{color:#b5c7da;font-size:14px;line-height:1.8;margin-top:12px;max-width:42em}
.home-page .home-empty-event .button{margin-top:24px}
.home-page .home-stage-path{margin:14px 0 28px;border-radius:10px;overflow:hidden;box-shadow:inset 0 1px var(--edge-light)}
.home-page .home-stage-path>a{gap:14px;padding:15px 20px;min-height:76px;transition:background var(--motion-fast)}
.home-page .home-stage-path>a>span{font-size:20px;color:var(--muted);opacity:.7}
.home-page .home-stage-path strong{font-size:15px;font-weight:600}
.home-page .home-stage-path small{font-size:12px;line-height:1.4;margin-top:5px}
.home-page .home-stage-path>a[aria-current=step]>span{color:var(--accent);opacity:1}
.home-page .home-content-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;gap:24px;margin-bottom:24px}
.home-page .home-matches-stack{display:grid;gap:18px;min-width:0}
.home-page .home-content-grid :is(.home-matches-panel,.home-teams-panel){min-width:0;padding:22px}
.home-page .home-content-grid .section-heading{gap:12px;margin-bottom:17px}
.home-page .home-content-grid .section-heading h2,.home-page .home-recent-results .section-heading h2{font-size:20px}
.home-page .home-content-grid .section-heading>a,.home-page .home-recent-results .section-heading>a{font-size:13px;gap:9px}
.home-page .home-fixtures{gap:12px}
.home-page .home-team-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.home-page .home-team-grid>a{min-height:94px;gap:8px;padding:12px 6px 10px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(150deg,var(--surface-2),var(--surface));transition:border-color var(--motion-fast),background var(--motion-fast),transform var(--motion-fast);text-align:center}
.home-page .home-team-grid .team-mark{width:36px;height:36px;flex-basis:36px;border-radius:7px}
.home-page .home-team-grid>a>span:last-child{font-size:12px;line-height:1.45;font-weight:550;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.home-page .champion-honour{display:flex;align-items:center;gap:14px;margin:0 0 16px;padding:15px 16px;border-radius:9px;border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line));background:linear-gradient(110deg,color-mix(in srgb,var(--accent) 9%,var(--surface)),var(--surface))}
.home-page .champion-honour>svg{width:30px;height:34px;flex:none;color:var(--accent);stroke-width:1.5}
.home-page .champion-honour>div{flex:1;min-width:0}
.home-page .champion-honour small{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}
.home-page .champion-honour strong{display:block;font-size:18px;overflow-wrap:anywhere}
.home-page .champion-honour .team-mark{width:42px;height:42px;flex-basis:42px}
.home-page .home-panel-empty{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;grid-column:1/-1;min-height:190px;padding:20px 14px;color:var(--muted)}
.home-page .home-empty-mark{font-size:26px;line-height:1;margin-bottom:14px;color:var(--accent);opacity:.7}
.home-page .home-panel-empty h3{font-size:17px;color:var(--text);font-weight:600}
.home-page .home-panel-empty p{font-size:13px;line-height:1.8;margin-top:8px;max-width:32em}
.home-page .home-panel-empty .text-link{min-height:44px;display:inline-flex;align-items:center;gap:12px;margin-top:12px;font-size:13px}
.home-page .home-recent-results{margin:0;padding:14px 18px 16px;border:1px solid var(--line)}
.home-page .home-recent-results .section-heading{margin-bottom:8px;gap:12px}
.home-page .home-recent-results .section-heading h2{font-size:18px}
.home-page .home-recent-list{grid-template-columns:1fr;gap:6px}
.home-page .home-recent-result{gap:8px;min-height:44px;padding:6px 10px;border:1px solid var(--line);border-radius:7px;background:var(--surface-2)}
.home-page .home-recent-result:last-child{border-bottom:1px solid var(--line)}
.home-page .recent-result-team{font-size:13px;gap:7px}
.home-page .recent-result-team .team-mark{width:24px;height:24px;flex-basis:24px}
.home-page .recent-result-score{gap:6px;font-size:22px}
.home-page .home-featured-players{margin-top:30px}
.home-page .home-featured-players .section-heading{margin-bottom:16px}
.home-page .home-players{gap:18px}
.home-page .event-shortcuts>a{border:1px solid var(--line);border-radius:10px;padding:16px 18px;min-height:80px;background:var(--surface);box-shadow:inset 0 1px var(--edge-light);transition:border-color var(--motion-fast),background var(--motion-fast)}
.home-page .event-shortcut-symbol{display:grid;place-items:center;flex:none;width:40px;height:40px;border:1px solid var(--line);border-radius:9px;color:var(--accent);font-size:24px}
.home-page .event-shortcuts strong{line-height:1.5;overflow-wrap:anywhere}
.home-page .event-shortcuts small{margin-top:4px;font-size:12px}
/* The main broadcast keeps a landscape stage; supporting rooms form a smaller
   horizontally scrollable lineup. These scoped rules beat live.css loaded in-body. */
.home-page .live-hub{margin-bottom:28px}
.home-page .live-hub-heading{margin-bottom:13px;gap:10px 18px}
.home-page .live-hub-heading h2{font-size:20px;font-weight:600}
.home-page .live-hub-actions{gap:12px 20px}
.home-page .live-ribbon-controls button{height:40px;width:40px;border-radius:7px}
.home-page .live-stage-lineup{grid-template-columns:minmax(285px,.7fr) minmax(0,1.3fr);gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#101e2b;box-shadow:var(--elevation-1),inset 0 1px #ffffff0a}
.home-page .live-stage-lineup.without-main-stage{grid-template-columns:minmax(0,1fr)}
.home-page .live-stage-lineup.only-main-stage{display:block}
.home-page .live-strip--main,.home-page .only-main-stage .live-strip--main{height:270px;min-height:0;border-right:1px solid #9ab9d329;border-bottom:0;--strip-accent:#a7c6e3}
.home-page .live-strip--main .live-strip-art img,.home-page .only-main-stage .live-strip--main .live-strip-art img{width:65%;height:100%;margin-left:auto;object-fit:cover;object-position:center 25%}
.home-page .live-strip--main:after,.home-page .only-main-stage .live-strip--main:after{background:linear-gradient(90deg,#0b1725f5 8%,#0b1725c9 42%,#0b172525),linear-gradient(0deg,#0b1725b0,transparent 75%)}
.home-page .live-strip--main .live-strip-top,.home-page .only-main-stage .live-strip--main .live-strip-top{padding:20px 22px;justify-content:flex-start;gap:16px}
.home-page .live-strip--main .live-strip-info,.home-page .only-main-stage .live-strip--main .live-strip-info{right:30%;padding:22px}
.home-page .live-strip--main .live-strip-info strong{font-size:clamp(25px,2.1vw,33px);line-height:1.35}
.home-page .live-main-label{border-color:#a7c6e3;color:#c8ddf0;letter-spacing:.03em;font-size:14px}
.home-page .live-strip--main .live-room-enter{margin-top:14px;color:#d5e8fa;font-size:13px}
.home-page .live-strip--main .live-room-title{font-size:13px;-webkit-line-clamp:2;line-height:1.55;margin-top:8px}
.home-page .live-ribbon{gap:10px;align-items:center;padding:14px;scroll-padding-inline:14px;background:linear-gradient(140deg,#152637,#10202e);scrollbar-color:#88a4bd70 transparent}
.home-page .live-ribbon .live-strip{flex-basis:155px;height:240px;border:1px solid #a9bfd026;border-radius:8px;background:radial-gradient(ellipse at 50% 30%,#344d60,#132737 70%)}
.home-page .live-ribbon .live-strip:after{background:linear-gradient(180deg,#0b1725b5,transparent 35%,#0b1725d9 72%,#0b1725)}
.home-page .live-ribbon .live-strip-top{padding:10px 9px;gap:4px}
.home-page .live-ribbon .live-strip-info{padding:14px 11px 15px}
.home-page .live-ribbon .live-strip-info strong{font-size:18px;line-height:1.4}
.home-page .live-ribbon .live-team-name{font-size:12px;margin-bottom:4px}
.home-page .live-ribbon .live-room-title{font-size:12px;line-height:1.5;margin-top:5px;-webkit-line-clamp:1}
.home-page .live-ribbon .live-room-enter{font-size:12px;margin-top:6px;opacity:.9}
.home-page .live-ribbon .live-reference-badge{font-size:11px;border-color:#8ca8c055;color:#c2d4e6;background:#0b1725b8}
.home-page .live-strip.is-live{--strip-accent:var(--live-glow)}
.home-page .live-strip:focus-visible{outline:3px solid #d9edff;outline-offset:-4px}
.home-page .live-strip:hover .live-strip-art img,.home-page .live-strip:focus-visible .live-strip-art img{transform:scale(1.005);filter:brightness(1)}
.home-page .live-strip.is-live:hover .live-strip-art img,.home-page .live-strip.is-live:focus-visible .live-strip-art img{filter:brightness(1.02)}
/* Event cards use their whole surface as one target, with a compact visual mark
   and truthful lifecycle status instead of a decorative event index. */
.events-page .events-heading{align-items:flex-end;margin-bottom:28px}
.events-page .events-heading .events-eyebrow{margin:0 0 7px;color:var(--accent);font-size:12px;font-weight:600}
.events-page .events-heading h1{font-size:clamp(27px,2.3vw,36px)}
.events-page .events-heading p{font-size:14px;color:var(--muted)}
.events-page .events-manage-link{min-height:44px;gap:18px;font-size:13px;flex:none}
.events-page .event-catalog{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:24px;align-items:stretch}
.events-page .event-tile{display:flex;flex-direction:column;min-width:0;border-radius:var(--radius-panel);color:var(--text);box-shadow:var(--elevation-1),inset 0 1px var(--edge-light);transition:border-color var(--motion-fast),box-shadow var(--motion-fast),transform var(--motion-fast)}
.events-page .event-tile-art{height:110px;flex:none;align-items:center;justify-content:flex-end;padding:16px 24px;background:radial-gradient(ellipse at 0 0,#365c7b66,transparent 72%),linear-gradient(130deg,#142b40,#101f30)}
.events-page .event-tile-art:after{inset:0;border:0;border-bottom:1px solid #a1c1de1a}
.events-page .event-tile-art>svg{width:64px;height:78px;color:#a7c4de;opacity:.25;stroke-width:1.25}
.events-page .event-tile-kicker{position:absolute;top:21px;left:24px;font-size:13px;font-weight:550;color:#cbdcea;letter-spacing:.05em}
.events-page .event-directory-status{position:absolute;left:24px;bottom:20px;display:inline-flex;align-items:center;gap:7px;max-width:calc(100% - 48px);padding:3px 8px;border:1px solid #9db6ce45;border-radius:5px;color:#d5e1ec;background:#0e1e2d80;font-size:12px;line-height:1.5;z-index:1}
.events-page .event-directory-status.event-status--active{color:#a7e5d9;border-color:#6ac6b75c;background:#153832aa}
.events-page .event-directory-status.event-status--active:before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}
.events-page .event-tile-content{display:flex;flex-direction:column;flex:1;min-width:0;padding:25px 26px 21px}
.events-page .event-tile-content>.event-tile-type{font-size:12px;line-height:1.5;color:var(--muted);margin:0 0 9px}
.events-page .event-tile h2{font-size:24px;line-height:1.4;letter-spacing:-.02em;font-weight:650;overflow-wrap:anywhere}
.events-page .event-tile dl{gap:38px;padding:24px 0 22px;margin-top:auto}
.events-page .event-tile dt{font-size:12px;line-height:1.5}
.events-page .event-tile dd{display:flex;align-items:baseline;gap:5px;font-size:28px;font-weight:600;line-height:1.3;margin-top:4px}
.events-page .event-tile dd small{font-size:12px;font-weight:400;color:var(--muted)}
.events-page .event-tile-link{align-items:center;gap:16px;min-height:44px;padding-top:15px;font-size:14px;font-weight:550}
.events-page .event-tile-link>svg{width:20px;height:20px;color:var(--accent);stroke-width:1.5;transition:transform var(--motion-fast)}
.events-page .event-catalog.is-single .event-tile{display:grid;grid-template-columns:minmax(180px,.3fr) minmax(0,1fr)}
.events-page .is-single .event-tile-art{height:auto;min-height:260px;justify-content:center}
.events-page .is-single .event-tile-art>svg{width:90px;height:105px;opacity:.2}
.events-page .is-single .event-tile-content{padding:32px 34px 24px}
.events-page .is-single .event-tile h2{font-size:clamp(25px,2.2vw,34px)}
.events-page .events-empty{grid-column:1/-1;padding:36px;min-height:230px}
.events-page .events-empty-label{display:inline-flex;font-size:12px;color:var(--accent);border:1px solid var(--line);border-radius:5px;padding:4px 9px;margin-bottom:16px}
.events-page .events-empty h2{font-size:23px;font-weight:600;line-height:1.5}
.events-page .events-empty p{font-size:14px;line-height:1.8;color:var(--muted);max-width:42em;margin-top:9px}
.events-page .events-empty .button{min-height:44px;margin-top:22px}
/* Keep event artwork a dark media surface in both themes. The legacy light
   palette also targets these classes, so theme-qualified scope is intentional. */
:root[data-theme=light] .events-page .event-tile-art{background:radial-gradient(ellipse at 0 0,#365c7b66,transparent 72%),linear-gradient(130deg,#142b40,#101f30);color:#d7e6f5}
:root[data-theme=light] .events-page .event-tile-art:after{border-color:#a1c1de2b}
:root[data-theme=light] .events-page .event-tile-art>svg{color:#b6d4ed;opacity:.42}
:root[data-theme=light] .events-page .event-tile-kicker{color:#d7e6f5}
.home-page :is(.home-stage-path>a,.home-team-grid>a,.champion-honour,.event-shortcuts>a):focus-visible,.events-page .event-tile:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.home-page .home-overview a:focus-visible{outline:2px solid #dbeafa;outline-offset:4px}
@media(hover:hover) and (pointer:fine){
  .home-page .home-overview-actions .button:hover{background:#f1f7fd;box-shadow:0 3px 14px #010b1726}
  .home-page .home-overview-roster:hover{color:#fff}
  .home-page .home-stage-path>a:hover{background:var(--surface-2)}
  .home-page .home-team-grid>a:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 50%,var(--line))}
  .home-page .champion-honour:hover,.home-page .event-shortcuts>a:hover{border-color:var(--accent)}
  .home-page .live-strip:hover .live-strip-art img{transform:scale(1.045);filter:brightness(1.03)}
  .home-page .live-strip.is-live:hover .live-strip-art img{filter:brightness(1.08)}
  .events-page .event-tile:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));box-shadow:var(--elevation-2),inset 0 1px var(--edge-light)}
  .events-page .event-tile:hover .event-tile-link>svg{transform:translateX(3px)}
}
@media(max-width:1100px){
  .home-page .home-overview{padding:26px;gap:22px}
  .home-page .home-overview-record{min-width:255px;gap:19px;padding-left:22px}
  .home-page .home-content-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:18px}
  .home-page .home-content-grid :is(.home-matches-panel,.home-teams-panel){padding:18px}
  .home-page .home-recent-result .recent-result-team{font-size:14px}
}
@media(max-width:850px){
  .home-page .home-overview{grid-template-columns:minmax(0,1fr)}
  .home-page .home-overview-record{min-width:0;padding:18px 0 0;border-left:0;border-top:1px solid #a0bad42b;gap:20px;max-width:440px}
  .home-page .home-content-grid{grid-template-columns:1fr}
  .home-page .home-team-grid{grid-template-columns:repeat(8,minmax(0,1fr))}
  .home-page .home-stage-path>a{padding:14px 16px;gap:11px}
  .home-page .live-stage-lineup{grid-template-columns:minmax(245px,.9fr) minmax(0,1.1fr)}
  .home-page .live-strip--main .live-strip-info{right:18%}
}
@media(max-width:600px){
  .home-page .home-overview{padding:22px 20px;gap:20px}
  .home-page .home-overview-meta{font-size:12px;margin-bottom:9px;gap:10px}
  .home-page .home-overview h1{font-size:25px}
  .home-page .home-overview-actions{margin-top:18px;gap:8px 18px}
  .home-page .home-overview-actions .button{font-size:13px;gap:12px;padding-inline:12px}
  .home-page .home-overview-roster{font-size:13px;gap:8px}
  .home-page .home-overview-record{padding-top:17px;gap:12px}
  .home-page .home-overview-record dt{font-size:11px}
  .home-page .home-overview-record dd{font-size:26px;margin-top:5px}
  .home-page .home-overview-record dd small{font-size:11px}
  .home-page .home-stage-path{grid-template-columns:repeat(2,minmax(0,1fr));margin:12px 0 24px}
  .home-page .home-stage-path>a{padding:13px 12px;min-height:70px;gap:10px}
  .home-page .home-stage-path>a>span{font-size:18px}
  .home-page .home-stage-path strong{font-size:14px}
  .home-page .home-stage-path small{font-size:11px;line-height:1.4}
  .home-page .home-content-grid :is(.home-matches-panel,.home-teams-panel){padding:16px}
  .home-page .home-content-grid .section-heading h2,.home-page .home-recent-results .section-heading h2{font-size:18px}
  .home-page .home-content-grid .section-heading>a,.home-page .home-recent-results .section-heading>a{font-size:12px;gap:6px}
  .home-page .home-team-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
  .home-page .home-team-grid>a{min-height:92px;padding:11px 5px 9px}
  .home-page .home-team-grid>a>span:last-child{font-size:11px}
  .home-page .home-fixtures{grid-template-columns:1fr}
  .home-page .home-panel-empty{min-height:160px;padding:12px 8px}
  .home-page .home-recent-results{padding:12px 16px 16px;margin:0}
  .home-page .home-recent-result{padding:8px 10px;gap:8px}
  .home-page .home-recent-result .recent-result-team{font-size:13px;gap:6px}
  .home-page .recent-result-score{font-size:21px;gap:6px}
  .home-page .home-featured-players{margin-top:26px}
  .home-page .live-hub{margin-bottom:24px}
  .home-page .live-hub-heading h2{font-size:18px}
  .home-page .live-hub-heading{gap:8px;margin-bottom:10px}
  .home-page .live-hub-actions{gap:10px;width:100%;justify-content:space-between}
  .home-page .live-ribbon-controls{gap:8px}
  .home-page .live-ribbon-position{min-width:65px}
  .home-page .live-stage-lineup{display:block}
  .home-page .live-strip--main,.home-page .only-main-stage .live-strip--main{height:190px;border-right:0;border-bottom:1px solid #9ab9d329}
  .home-page .live-strip--main .live-strip-art img,.home-page .only-main-stage .live-strip--main .live-strip-art img{width:64%;height:100%;object-position:center 24%}
  .home-page .live-strip--main .live-strip-top,.home-page .only-main-stage .live-strip--main .live-strip-top{padding:14px 16px;gap:12px}
  .home-page .live-strip--main .live-strip-info,.home-page .only-main-stage .live-strip--main .live-strip-info{right:25%;padding:14px 16px 16px}
  .home-page .live-strip--main .live-strip-info strong{font-size:26px}
  .home-page .live-strip--main .live-room-title{font-size:12px;-webkit-line-clamp:1;margin-top:5px}
  .home-page .live-strip--main .live-room-enter{font-size:12px;margin-top:7px}
  .home-page .live-ribbon{padding:11px;gap:9px;scroll-padding-inline:11px}
  .home-page .live-ribbon .live-strip{height:166px;flex-basis:142px}
  .home-page .live-ribbon .live-strip-art img{object-position:center 20%}
  .home-page .live-ribbon .live-strip-top{padding:9px 8px}
  .home-page .live-ribbon .live-strip-info{padding:12px 9px 11px}
  .home-page .live-ribbon .live-strip-info strong{font-size:16px}
  .home-page .live-ribbon .live-team-name{font-size:11px;margin-bottom:3px}
  .home-page .live-ribbon .live-room-title{display:none}
  .home-page .live-ribbon .live-room-enter{margin-top:5px;font-size:11px}
  .events-page .events-heading{align-items:flex-start;gap:15px;margin-bottom:22px}
  .events-page .events-heading p{font-size:13px}
  .events-page .event-catalog{grid-template-columns:1fr;gap:18px}
  .events-page .event-catalog.is-single .event-tile{display:flex}
  .events-page .is-single .event-tile-art,.events-page .event-tile-art{min-height:0;height:100px;justify-content:flex-end;padding:14px 20px}
  .events-page .is-single .event-tile-art>svg{width:64px;height:78px;opacity:.25}
  .events-page .event-tile-kicker{left:20px;top:18px}
  .events-page .event-directory-status{left:20px;bottom:17px}
  .events-page .event-tile-content,.events-page .is-single .event-tile-content{padding:22px 20px 18px}
  .events-page .event-tile h2,.events-page .is-single .event-tile h2{font-size:23px}
  .events-page .event-tile dl{padding:21px 0 18px}
  .events-page .events-empty{padding:26px 22px;min-height:210px}
  .events-page .events-empty h2{font-size:21px}
}
@media(prefers-reduced-motion:reduce){
  .home-page :is(.home-team-grid>a,.home-overview-actions .button,.home-stage-path>a,.event-shortcuts>a,.live-strip-art img,.live-room-enter),.events-page :is(.event-tile,.event-tile-link>svg){transition:none}
  .home-page .home-team-grid>a:hover,.events-page .event-tile:hover,.events-page .event-tile:hover .event-tile-link>svg,.home-page .live-strip:hover .live-strip-art img,.home-page .live-strip:focus-visible .live-strip-art img{transform:none}
}
@media(forced-colors:active){
  .home-page .home-overview,.home-page .live-stage-lineup,.home-page .home-team-grid>a,.events-page .event-tile{border:1px solid CanvasText;box-shadow:none;background:Canvas;color:CanvasText}
  .home-page .home-overview :is(h1,dt,dd,small,.home-overview-meta,.home-overview-roster,.home-event-status),.events-page .event-tile-art :is(.event-tile-kicker,.event-directory-status){color:CanvasText}
  .home-page .home-overview-record{border-color:CanvasText}
  .home-page .home-overview .button,.home-page .home-overview a:focus-visible{border-color:LinkText;outline-color:LinkText}
  .home-page .live-strip,.home-page .live-strip .live-state{border-color:CanvasText}
  .events-page .event-tile-art,:root[data-theme] .events-page .event-tile-art{background:Canvas;color:CanvasText;border-bottom:1px solid CanvasText}
  :root[data-theme] .events-page .event-tile-art:after{border-color:CanvasText}
  :root[data-theme] .events-page .event-tile-art>svg,:root[data-theme] .events-page .event-tile-kicker{color:CanvasText;opacity:1}
  .events-page .event-directory-status{border-color:CanvasText;background:Canvas}
  .events-page .event-tile-art>svg,.home-page .home-stage-path>a>span{opacity:1}
}


/* cup/roster-polish.css */
/* Shared roster presentation. Grade colour and real data remain independent
 * of page theme; the character cards keep their existing LoL silhouette. */
.roster-reading-note{margin:0 0 15px;color:var(--muted);font-size:12px;line-height:1.7}
.catalog-reading-note{margin-top:-8px;margin-bottom:20px}
.roster-mobile-instruction{display:none}
.roster-position-nav,.roster-scroll-status{display:none}
.players-page .catalog-controls.catalog-filter{border-radius:var(--radius-panel,14px);box-shadow:var(--elevation-1,0 3px 14px #03101b0a)}
.players-page .catalog-style-gallery{border-radius:10px;background:var(--surface-2);box-shadow:none}
.players-page .catalog-style-gallery>summary{font-size:14px;padding-block:12px}
.players-page .catalog-style-gallery[open]>summary{border-bottom:1px solid var(--line)}
.players-page .catalog-primary-filters label>span{font-size:12px;font-weight:500}
.players-page .catalog-filter-actions{min-height:34px}
.players-page .catalog-controls :is(input,select):focus-visible{outline:2px solid var(--blue);outline-offset:3px;box-shadow:none}
@media(max-width:520px){
  .players-page .player-catalog{grid-template-columns:minmax(0,360px)!important;justify-content:center}
}

/* Enough room for five positions, with a bounded navigation rail below the header. */
.teams-page .team-workspace{grid-template-columns:180px minmax(0,1fr);gap:24px}
.teams-page .team-selector-rail{top:calc(var(--header-height,94px) + 16px);max-height:calc(100dvh - var(--header-height,94px) - 32px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;border-radius:10px;box-shadow:var(--elevation-1,0 3px 14px #03101b0a)}
.team-rail-heading{display:flex;justify-content:space-between;align-items:center;padding:13px 14px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}
.team-rail-heading strong{color:var(--text);font-size:13px;font-weight:600}.team-rail-heading>span{font-variant-numeric:tabular-nums}
.teams-page .team-selector-rail nav>a{gap:9px;min-height:53px;padding:10px 12px;transition:background-color var(--motion-fast,160ms),color var(--motion-fast,160ms)}
.teams-page .team-selector-rail nav>a:hover{background:var(--surface-2)}
.teams-page .team-selector-rail nav>a.active{background:color-mix(in srgb,var(--blue) 7%,var(--surface));border-left-color:var(--blue)}
.teams-page .team-selector-rail nav>a>span:nth-child(2){font-size:12px;font-weight:500}
.teams-page .team-selector-rail .team-mark{border-radius:6px;box-shadow:inset 0 0 0 1px var(--line)}
.teams-page .team-identity{padding:22px;border:1px solid var(--line);border-radius:var(--radius-panel,14px);background:var(--surface);box-shadow:var(--elevation-1,0 3px 14px #03101b0a);align-items:center}
.teams-page .team-identity>div:nth-child(2){min-width:0;flex:1}
.teams-page .team-identity h2{font-size:clamp(23px,2vw,32px);font-weight:600;line-height:1.25;overflow-wrap:anywhere}
.teams-page .team-identity p{max-width:620px;font-size:13px;line-height:1.75}
.teams-page .team-identity>.team-mark{border-radius:12px;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line),0 5px 15px #020b1610}
.teams-page .team-record>strong{font-size:clamp(31px,2.7vw,46px);font-weight:600;margin-bottom:6px}
.teams-page .team-record .result-tag{font-size:11px}
.teams-page .roster-section>.section-heading{margin-bottom:6px}
.teams-page .roster-section .lineup-five{gap:14px;align-items:stretch;min-width:0}
.teams-page .roster-section .lineup-slot{display:flex;min-width:0}
.teams-page .roster-section .lineup-slot>.player-card{width:100%;height:100%}
.teams-page .roster-section .lineup-empty{width:100%;height:100%;min-height:360px;aspect-ratio:auto;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;border:1px dashed var(--line);border-radius:10px;background:var(--surface-2)}
.teams-page .roster-section .lineup-empty>.role-icon{width:30px;height:30px;color:var(--muted)}
.teams-page .lineup-five:focus-visible{outline:2px solid var(--blue);outline-offset:6px}
.team-directory-when-open{display:none}.team-quick-directory[open] .team-directory-when-open{display:inline}.team-quick-directory[open] .team-directory-when-closed{display:none}
.team-quick-directory .team-directory-toggle>span[aria-hidden]{display:inline-block;transition:transform var(--motion-fast,160ms)}
.team-quick-directory[open] .team-directory-toggle>span[aria-hidden]{transform:rotate(180deg)}
.team-quick-directory.panel{padding:18px 20px;border-radius:10px;background:var(--surface-2)}
.team-quick-grid .team-quick-card{border-radius:8px;background:var(--surface);transition:border-color var(--motion-fast,160ms),background-color var(--motion-fast,160ms),box-shadow var(--motion-fast,160ms)}
.team-quick-grid .team-quick-card>small{font-size:11px;color:var(--muted)}
.team-quick-grid .team-quick-card:is(:hover,:focus-visible){background:color-mix(in srgb,var(--blue) 3%,var(--surface));border-color:color-mix(in srgb,var(--blue) 50%,var(--line));box-shadow:var(--elevation-1,0 3px 14px #03101b0a)}

/* Keep the shared grade light effects; they run only on hover or focus.
 * Names, heroes and score labels keep a stable order. */
.player-card{transition:transform .18s var(--ease-out,ease-out),filter .18s ease;filter:drop-shadow(0 6px 10px #020b161f)}
.player-card:is(:hover,:focus-within){transform:translateY(-3px)}
.player-card:is(:hover,:focus-within) .card-frame{filter:var(--frame-material) brightness(1.14)}
.player-card .player-card-link::after{opacity:.6}
.player-card .player-card-info h3{font-weight:600;letter-spacing:0}
.player-card .player-card-info>.player-game-id{line-height:1.4;color:#b8c5d2;letter-spacing:0}
.player-card .card-dimension dt{font-size:11px;color:#b8c5d2;line-height:1.35}
.player-card .card-dimension dd{font-size:16px;line-height:1.3}
.player-card .card-dimension{min-height:43px}
.player-card .champion-icon{overflow:hidden;border-radius:4px;transition:box-shadow var(--motion-fast,160ms)}
.player-card .champion-icon>img{transition:transform var(--motion-fast,160ms)}
.preview-media-unavailable{display:grid;place-items:center;width:28px;height:28px;border-radius:4px;background:var(--surface-2);border:1px solid var(--line);font-size:12px;color:var(--muted)}
.champion-icon>.preview-media-unavailable{width:100%;height:100%;border:0;border-radius:0;background:#243140;color:#aebdcb}

/* Preserve the equal desktop columns while keeping many live rooms bounded. */
.player-dossier .dossier-abilities,.player-dossier .dossier-performance>.panel{border-radius:var(--radius-panel,14px);box-shadow:var(--elevation-1,0 3px 14px #03101b0a)}
.player-dossier .profile-section-heading{padding-bottom:18px}
.player-dossier .profile-chart-heading{flex-wrap:wrap;row-gap:8px}
.player-dossier .profile-score-source{max-width:100%;overflow:hidden;text-overflow:ellipsis}
.player-dossier .profile-live{flex:none;max-height:300px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;grid-auto-rows:minmax(100px,auto)}
.player-dossier .profile-live-link{border-radius:9px;border-color:var(--line);box-shadow:var(--elevation-1,0 3px 14px #03101b0a)}
.player-dossier .profile-live-link:has(.profile-live-cover){min-height:150px}
.player-dossier .profile-event-metrics dd{font-weight:600}
.player-dossier .profile-rating-context{margin:10px 0 0;font-size:11px;line-height:1.65;color:var(--muted);text-align:left}
.player-dossier .profile-rating-number{line-height:1;font-weight:600}
.player-dossier .profile-hero-picks>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 9px}
.player-dossier .profile-hero-picks>div>span{width:100%;min-width:0;max-width:none}
.player-dossier .profile-hero-picks img{border-radius:8px;box-shadow:0 2px 7px #020b1612}
.profile-history-workspace .profile-history-tabs{gap:24px}
.profile-history-workspace .profile-history-tabs>a{font-size:16px;padding-block:13px}
.profile-history-workspace .profile-event-record{border-radius:8px;box-shadow:var(--elevation-1,0 3px 14px #03101b08)}
.profile-history-workspace .profile-event-open{display:inline-flex;align-items:center;justify-content:center;min-height:36px}
.profile-preview-dialog .profile-preview-slot{border-radius:8px;background:var(--surface-2)}
.profile-preview-dialog .profile-preview-member-photo{box-shadow:inset 0 0 0 1px var(--line)}
.profile-preview-dialog .profile-preview-member:focus-visible{outline:2px solid var(--blue);outline-offset:4px;border-radius:4px}
.profile-preview-dialog .profile-preview-member strong{line-height:1.45}

@container player-card (max-width:260px){
  .player-card .card-dimension dt{font-size:clamp(8px,4.8cqw,11px)}
  .player-card .card-dimension dd{font-size:clamp(10px,6.3cqw,15px)}
}
@container player-card (max-width:190px){
  .player-card .player-card-info h3{font-size:17px}
  .player-card .player-card-info>.player-game-id{font-size:11px}
  .player-card .card-footer{margin-inline:5px}
  .player-card[data-grade="neutral"] .player-grade{width:48px}
  .player-card[data-grade="neutral"] .player-grade strong{font-size:11px;line-height:1.4}
}
@media(max-width:1450px){
  .teams-page .team-workspace{display:block}
  .teams-page .team-selector-rail{position:static;max-height:none;overflow:hidden;margin-bottom:20px}
  .teams-page .team-selector-rail .team-rail-heading{display:none}
  .teams-page .team-selector-rail nav{display:flex;flex-direction:row;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;padding:5px}
  .teams-page .team-selector-rail nav>a{flex:0 0 98px;min-width:98px;max-width:98px;min-height:78px;flex-direction:column;gap:5px;padding:11px 7px;border-left:0;border-bottom:2px solid transparent;border-radius:6px}
  .teams-page .team-selector-rail nav>a.active{border-bottom-color:var(--blue)}
  .teams-page .team-selector-rail nav>a>span:nth-child(2){max-width:100%;font-size:11px}
}
@media(min-width:701px) and (max-width:1100px){
  .teams-page .roster-section .lineup-five{grid-template-columns:repeat(6,minmax(0,1fr))}
  .teams-page .roster-section .lineup-slot{grid-column:span 2}
  .teams-page .roster-section .lineup-slot:nth-child(4){grid-column:2/span 2}
  .teams-page .roster-section .lineup-slot:nth-child(5){grid-column:4/span 2}
}
@media(max-width:700px){
  .players-page .catalog-primary-filters>.catalog-sort{grid-column:auto}
  .players-page .catalog-reading-note{font-size:11px;margin-bottom:15px}
  .teams-page .team-identity{padding:16px;gap:13px;flex-wrap:wrap}
  .teams-page .team-identity>.team-mark{width:56px;height:56px;flex-basis:56px}
  .teams-page .team-identity>div:nth-child(2){flex-basis:calc(100% - 74px)}
  .teams-page .team-identity h2{font-size:24px}
  .teams-page .team-identity p{font-size:12px}
  .teams-page .team-record{display:flex;align-items:center;gap:12px;width:100%;margin:2px 0 0;padding-top:13px;border-top:1px solid var(--line);text-align:left}
  .teams-page .team-record>strong{font-size:27px;margin:0}.teams-page .team-record>strong>span{margin-inline:7px}
  .teams-page .team-record .result-tag{font-size:11px}
  .teams-page .roster-section .lineup-five{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:4px;scrollbar-width:thin;padding:4px 4px 14px;gap:14px;align-items:stretch}
  .teams-page .roster-section .lineup-slot{flex:0 0 clamp(244px,78vw,286px);scroll-snap-align:start}
  .teams-page .roster-section .lineup-empty{min-height:390px}
  .teams-page .roster-section .lineup-slot:last-child{scroll-snap-align:end}
  .teams-page .roster-section .player-visual{aspect-ratio:1.52}
  .teams-page .roster-section .player-card-info{padding-block:5px 10px}
  .teams-page .roster-section .player-card-info h3{font-size:21px;line-height:1.35}
  .roster-position-nav:not([hidden]){display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin-bottom:10px;padding:4px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}
  .roster-position-nav>button{display:flex;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:44px;padding:5px 2px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted);font:inherit;font-size:12px;font-weight:500;line-height:1.3;cursor:pointer;touch-action:manipulation}
  .roster-position-nav .role-icon{width:16px;height:16px;flex-shrink:0}
  .roster-position-nav>button[aria-pressed=true]{background:var(--surface);color:var(--text);border-color:var(--line);box-shadow:var(--elevation-1)}
  .roster-position-nav>button:focus-visible{outline:2px solid var(--blue);outline-offset:1px}
  .roster-scroll-status:not([hidden]){display:block;margin:0 4px;color:var(--muted);text-align:right;font-size:12px;font-variant-numeric:tabular-nums}
  .roster-desktop-instruction{display:none}.roster-mobile-instruction{display:inline}
  .team-quick-directory.panel{padding:16px}
  .team-quick-directory .team-quick-grid{gap:9px}
  .team-quick-grid .team-quick-card{padding:12px;grid-template-columns:30px minmax(0,1fr);gap:5px 8px}
  .team-quick-grid .team-quick-card>.team-mark{width:30px;height:30px;flex-basis:30px}
  .player-dossier .profile-live{max-height:260px}
  .player-dossier .profile-event-metrics dd{font-size:29px}
  .player-dossier .profile-hero-picks>div>span{min-width:0}
  .profile-history-workspace .profile-history-tabs{gap:18px}.profile-history-workspace .profile-history-tabs>a{font-size:15px;gap:7px}
}
@media(hover:hover) and (pointer:fine){
  .player-card .champion-icon:hover{box-shadow:0 0 0 1px rgb(var(--tier-rgb) / .45)}
  .player-card .champion-icon:hover>img{transform:scale(1.06)}
  .profile-preview-dialog .profile-preview-member:hover strong{color:var(--blue)}
}
@media(hover:none){.player-card:is(:hover,:focus-within){transform:none}}
@media(prefers-reduced-motion:reduce){
  .player-card,.player-card *,.player-card *::before,.player-card *::after,.team-quick-directory .team-directory-toggle>span[aria-hidden],.team-quick-grid .team-quick-card,.teams-page .team-selector-rail nav>a{animation:none!important;transition:none!important}
  .player-card:is(:hover,:focus-within),.player-card .champion-icon>img{transform:none!important}
  .teams-page .roster-section .lineup-five{scroll-behavior:auto;scroll-snap-type:none}
}
@media(forced-colors:active){
  .player-card{filter:none}.player-card .player-card-link{outline:1px solid CanvasText;clip-path:none}
  .player-card .card-mean-score{color:CanvasText}
  .teams-page .team-selector-rail nav>a.active{outline:2px solid Highlight;outline-offset:-3px}
  .team-quick-grid .team-quick-card[aria-current=true]{outline:2px solid Highlight;outline-offset:-3px}
}


/* cup/workspace-polish.css */
/* Organizer UI only. Shared fields keep their native forms and server checks. */
.management-workspace {
  --workspace-control-height: 44px;
  --workspace-radius: var(--radius-panel, 12px);
  --workspace-control-radius: 6px;
  --workspace-control-bg: var(--surface-2);
  --workspace-control-border: color-mix(in srgb, var(--line) 84%, var(--muted));
  --workspace-focus: var(--blue);
  --workspace-danger: var(--loss);
  font-size: 15px;
}
.management-workspace :is(.ms-workbench,.rm-workbench,.manual-workbench,.management-history,.hc-workbench) {
  max-width: none;
  margin-inline: 0;
}
.management-workspace :is(.workspace-heading,.page-heading,.rm-heading) {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin: 0 0 24px;
}
.management-workspace :is(.workspace-heading,.page-heading,.rm-heading) h1 {
  font-size: clamp(25px, 1.8vw, 30px);
  font-weight: 650;
  line-height: 1.35;
  letter-spacing: -.02em;
  overflow-wrap: anywhere;
}
.management-workspace :is(.workspace-heading,.page-heading,.rm-heading) p {
  margin-top: 8px;
  max-width: 72ch;
  font-size: 14px;
  line-height: 1.75;
  color: var(--muted);
}
.management-workspace :is(.workspace-actions,.rm-heading-actions) {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}
.management-workspace :is(.panel,.workspace-metrics>div) { border-radius: var(--workspace-radius); }
.management-workspace .workspace-context { margin-bottom: 14px; line-height: 1.6; }
.management-workspace .workspace-navigation {
  position: relative;
  gap: 6px;
  margin-bottom: 26px;
  padding-bottom: 12px;
  scrollbar-width: thin;
  scroll-padding-inline: 12px;
}
.management-workspace .workspace-navigation>a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 16px;
  border: 1px solid transparent;
  border-radius: 6px;
  font-size: 14px;
  line-height: 1.4;
}
.management-workspace .workspace-navigation>a[aria-current=page] {
  border-color: color-mix(in srgb, var(--workspace-accent) 28%, var(--line));
  background: color-mix(in srgb, var(--workspace-accent) 9%, var(--surface));
}
.management-workspace .workspace-navigation.has-overflow-right { mask-image: linear-gradient(90deg,#000 calc(100% - 18px),transparent); }
.management-workspace .workspace-navigation.has-overflow-left { mask-image: linear-gradient(90deg,transparent,#000 18px); }
.management-workspace .workspace-navigation.has-overflow-left.has-overflow-right { mask-image: linear-gradient(90deg,transparent,#000 18px,#000 calc(100% - 18px),transparent); }
.management-workspace .workspace-subnavigation { gap: 8px 18px; margin-top: -12px; line-height: 1.6; }
.management-workspace .workspace-subnavigation>a { display: inline-flex; align-items: center; min-height: 38px; }
.management-workspace :is(.workspace-filter,.mh-search,.ms-list-toolbar form,.rm-filter) {
  gap: 12px;
  align-items: end;
}
.management-workspace :is(.site-form,.ms-workbench,.rm-workbench,.manual-workbench,.management-history) :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]),select,textarea) {
  min-width: 0;
  max-width: 100%;
  min-height: var(--workspace-control-height);
  border: 1px solid var(--workspace-control-border);
  border-radius: var(--workspace-control-radius);
  background: var(--workspace-control-bg);
  color: var(--text);
  padding: 10px 12px;
  font-family: inherit;
  font-size: 15px;
  line-height: 1.45;
  box-shadow: inset 0 1px 2px #00000008;
}
.management-workspace :is(.site-form,.ms-workbench,.rm-workbench,.manual-workbench,.management-history) textarea { line-height: 1.7; }
.management-workspace :is(input,textarea)::placeholder { color: var(--muted); opacity: .85; }
.management-workspace :is(input[type=checkbox],input[type=radio]),
.management-workspace :is(.site-form,.ms-workbench,.rm-workbench,.manual-workbench,.management-history) :is(input[type=checkbox],input[type=radio])[type] {
  width: 18px; min-width: 18px; height: 18px; min-height: 18px; padding: 0; flex: 0 0 18px; accent-color: var(--workspace-accent);
}
.management-workspace :is(input,select,textarea):disabled { opacity: .62; cursor: not-allowed; }
.management-workspace :is(input,textarea)[readonly] { color: var(--muted); box-shadow: none; }
.management-workspace :is(a,button,input,select,textarea,summary):focus-visible {
  outline: 2px solid var(--workspace-focus);
  outline-offset: 3px;
}
.management-workspace .form-field { min-width: 0; scroll-margin-top: calc(var(--header-height, 94px) + 24px); }
.management-workspace .form-field>label {
  display: block;
  margin-bottom: 8px;
  color: var(--text);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
}
.management-workspace .field-checkbox { gap: 10px; }
.management-workspace .field-checkbox>label { margin-bottom: 0; font-weight: 400; order: 1; flex: 1; }
.management-workspace .field-checkbox>input { order: 0; }
.management-workspace .field-checkbox>:is(.field-help,.field-errors,.errorlist) { order: 2; flex-basis: 100%; }
.management-workspace :is(.field-help,.rm-note) { color: var(--muted); font-size: 13px; line-height: 1.7; }
.management-workspace :is(.field-required,.rm-required) { color: var(--workspace-danger); margin-left: 4px; }
.management-workspace :is(.field-errors,.form-errors,.errorlist) { color: var(--workspace-danger); font-size: 13px; line-height: 1.65; overflow-wrap: anywhere; }
.management-workspace .form-errors {
  padding: 14px 16px;
  border: 1px solid color-mix(in srgb, var(--workspace-danger) 35%, var(--line));
  border-radius: 6px;
  background: color-mix(in srgb, var(--workspace-danger) 6%, var(--surface));
}
.management-workspace .is-workspace-invalid :is(input,select,textarea):not([type=hidden]) {
  border-color: color-mix(in srgb, var(--workspace-danger) 65%, var(--line));
}
.management-workspace .workspace-error-summary {
  margin: 0 0 22px;
  padding: 16px 20px;
  border: 1px solid color-mix(in srgb, var(--workspace-danger) 38%, var(--line));
  border-left: 3px solid var(--workspace-danger);
  border-radius: 6px;
  background: color-mix(in srgb, var(--workspace-danger) 5%, var(--surface));
  scroll-margin-top: calc(var(--header-height, 94px) + 24px);
}
.management-workspace .workspace-error-summary>strong { display: block; font-size: 15px; }
.management-workspace .workspace-error-summary>ul { margin: 8px 0 0; padding-left: 20px; max-height: 200px; overflow-y: auto; }
.management-workspace .workspace-error-summary li { padding: 3px 0; font-size: 13px; line-height: 1.65; }
.management-workspace .workspace-error-summary a { color: var(--workspace-danger); text-decoration: underline; text-underline-offset: 3px; }
.management-workspace .button {
  min-height: var(--workspace-control-height);
  padding: 10px 17px;
  gap: 8px;
  border-radius: var(--workspace-control-radius);
  font-size: 14px;
  font-weight: 550;
  line-height: 1.4;
}
.management-workspace .button:disabled { opacity: .5; cursor: not-allowed; transform: none; }
.management-workspace :is(.hc-state,.ms-state,.rm-status) {
  min-height: 27px;
  padding: 4px 8px;
  border-radius: 5px;
  font-size: 12px;
  line-height: 1.4;
}
.management-workspace :is(.ms-state.is-active,.ms-state.is-bound,.rm-status.is-complete) {
  color: var(--win);
  border-color: color-mix(in srgb, var(--win) 35%, var(--line));
  background: color-mix(in srgb, var(--win) 5%, var(--surface));
}
.management-workspace :is(.hc-state--failed,.ms-danger,.rm-status.is-invalid) { color: var(--workspace-danger); }
.management-workspace :is(.hc-state--running,.ms-state.is-pending,.rm-status.is-pending) {
  color: var(--blue);
  border-color: color-mix(in srgb, var(--blue) 35%, var(--line));
  background: color-mix(in srgb, var(--blue) 5%, var(--surface));
}
.management-workspace .workspace-metrics { gap: 12px; }
.management-workspace .workspace-metrics>div { padding: 18px 20px; }
.management-workspace .workspace-task-grid { gap: 16px; }
.management-workspace .workspace-task { min-height: 198px; gap: 20px; }
.management-workspace .workspace-quick-links { gap: 8px 20px; padding-block: 12px 20px; }
.management-workspace .workspace-quick-links>a { display: inline-flex; align-items: center; min-height: 32px; }
.management-workspace .mh-flow-nav { margin-block: 12px 20px; }
.management-workspace .mh-account { padding: 20px; }
.management-workspace .mh-account-summary { margin-block: 16px; }
.management-workspace .mh-account-summary strong { font-size: 27px; }
.management-workspace .mh-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; align-items: stretch; }
.management-workspace .mh-actions>form { min-width: 0; margin: 0; }
.management-workspace .mh-actions>form:nth-child(n+3) { grid-column: 1/-1; }
.management-workspace .mh-actions .button { width: 100%; white-space: normal; }
.management-workspace .ms-series-row { padding-block: 18px; gap: 18px; }
.management-workspace .ms-match-teams>strong { font-size: 16px; }
.management-workspace .ms-score { font-size: 22px; }
.management-workspace .ms-pending-count { font-size: 13px; }
.management-workspace .rm-workflows>a { min-height: 76px; padding: 14px 16px; }
.management-workspace .rm-workflows strong { font-size: 16px; font-weight: 550; }
.management-workspace .rm-section-head h2 { font-size: 21px; }
.management-workspace .rm-player-section { border-radius: 8px; }
.management-workspace .rm-player-fields { gap: 14px 12px; }
.management-workspace [data-workspace-actions] {
  position: sticky;
  bottom: 12px;
  z-index: 16;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 20px;
  margin-top: 22px;
  border: 1px solid var(--workspace-control-border);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface) 96%, transparent);
  box-shadow: var(--elevation-2, 0 10px 32px #00000014);
  backdrop-filter: blur(12px);
}
.management-workspace [data-workspace-actions] :is(p,span) { color: var(--muted); font-size: 13px; line-height: 1.65; }
.management-workspace [data-workspace-actions]>.button { flex: 0 0 auto; }
:root[data-theme=light] .management-workspace { --workspace-control-bg: #fff; --workspace-control-border: #a6b3c1; }
:root[data-theme=light] .management-workspace .panel { box-shadow: 0 2px 10px #193b5b04; }
@media (max-width:1100px) {
  .management-workspace .ms-series-row { gap: 14px; }
}
@media (max-width:760px) {
  .management-workspace :is(.workspace-heading,.page-heading,.rm-heading) { flex-wrap: wrap; gap: 14px; margin-bottom: 20px; }
  .management-workspace :is(.workspace-heading,.page-heading,.rm-heading) h1 { font-size: 25px; }
  .management-workspace :is(.workspace-heading,.page-heading,.rm-heading)>:is(.button,.workspace-actions,.rm-heading-actions) { width: 100%; }
  .management-workspace :is(.workspace-actions,.rm-heading-actions)>.button { flex: 1; }
  .management-workspace .workspace-navigation { margin-bottom: 22px; }
  .management-workspace .workspace-navigation>a { padding-inline: 13px; font-size: 13px; }
  .management-workspace :is(.site-form,.ms-workbench,.rm-workbench,.manual-workbench,.management-history) :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]),select,textarea) { font-size: 16px; }
  .management-workspace .workspace-task { min-height: 0; }
  .management-workspace .mh-account { padding: 17px; }
  .management-workspace .rm-workflows>a { padding: 12px 9px; min-height: 66px; }
  .management-workspace .rm-workflows strong { font-size: 14px; }
  .management-workspace [data-workspace-actions] { position: static; bottom: auto; flex-wrap: wrap; gap: 12px; padding: 14px 16px; box-shadow: var(--elevation-1, none); }
  .management-workspace [data-workspace-actions]>.button { width: 100%; }
}
@media (max-height:560px) { .management-workspace [data-workspace-actions] { position: static; } }
@media (prefers-reduced-motion:reduce) { .management-workspace *, .management-workspace *::before, .management-workspace *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }


.management-workspace [data-workspace-actions]>.form-actions { display: flex; flex-direction: row; align-items: center; flex-wrap: wrap; gap: 10px; margin-left: auto; }
.management-workspace [data-workspace-actions]>.intake-optional-note { flex: 1; min-width: 0; }
@media(max-width:760px) { .management-workspace [data-workspace-actions]>.form-actions { width: 100%; margin-left: 0; margin-top: 6px; flex-direction: row; flex-wrap: nowrap; align-items: stretch; } .management-workspace [data-workspace-actions]>.form-actions>.button { flex: 1 1 0; min-width: 0; width: auto; min-height: 44px; padding-inline: 8px; } }

.management-workspace [data-workspace-actions]:has(.intake-optional-note[open]) { position: static; }


/* cup/site-scenery.css */
/* Generated League-inspired scenery is decorative, not official game artwork.
   Solid content surfaces remain the reading layer.
   One responsive asset per page is shared by the backdrop and its feature header.
   Page assignments: battle / strategy / assembly / mastery / championship. */
body {
  --scenery-image: url("https://cos-xinlvjiang.zepeng.top/images/sha256/36039c1fbf90da46dbf861311c86a2c1755e53b9799d608fdcdd8c05bae3797d.webp");
  position: relative;
  isolation: isolate;
}
body.home-page { --scenery-image: url("https://cos-xinlvjiang.zepeng.top/images/sha256/f5296f934cf61e16d189f2a5a52373925dd3f6b2f31e0d37a01c35419c3f7f8e.webp"); }
body.schedule-page { --scenery-image: url("https://cos-xinlvjiang.zepeng.top/images/sha256/575a2e2ad4003cd19b483699408039be9622371954d837ed884e423e5bfd370e.webp"); }
body.teams-page { --scenery-image: url("https://cos-xinlvjiang.zepeng.top/images/sha256/310824ea941cca2951fe53e57ffe2776e182241db7807f728fc11ba70ec0b56a.webp"); }
body.players-page { --scenery-image: url("https://cos-xinlvjiang.zepeng.top/images/sha256/2af5859ad2313e5bb25d423266009b243623bb7718ce5b3e8b86027cdbf82b23.webp"); }
body.events-page { --scenery-image: url("https://cos-xinlvjiang.zepeng.top/images/sha256/56341d933db415cf08d125f8323868c1b34ea5a0030ab8056103e88bda307a9a.webp"); }
.site-scenery {
  position: absolute;
  z-index: -1;
  inset: 0 0 auto;
  height: 860px;
  max-height: 100%;
  pointer-events: none;
  background-image: linear-gradient(180deg,#0b101bb8 0%,#0b101bc9 30%,#0b101bf2 72%,var(--bg) 80%),var(--scenery-image);
  background-position: center top,center top;
  background-size: 100% 100%,max(100%,1440px) auto;
  background-repeat: no-repeat;
  contain: paint;
}
body:is(.schedule-page,.teams-page,.players-page,.events-page) .site-scenery {
  background-position: center top,72% top;
}
:root[data-theme=light] .site-scenery {
  background-image: linear-gradient(180deg,#f1f4f89c 0%,#f1f4f8b8 30%,#f1f4f8f2 72%,var(--bg) 80%),var(--scenery-image);
}
/* Keep the artwork visible on shorter feature areas, with a steady text scrim. */
.home-page .home-overview {
  background-image: linear-gradient(100deg,#0b1c2be8 0%,#0c2237c4 42%,#0d253d78 72%,#0d253da8 100%),var(--scenery-image);
  background-position: center,center 34%;
  background-size: cover;
}
.home-page .home-overview-record :is(dt,small) { color: #d6e4ef; }
.teams-page .team-identity {
  background-image: linear-gradient(100deg,var(--surface) 0%,color-mix(in srgb,var(--surface) 94%,transparent) 45%,color-mix(in srgb,var(--surface) 70%,transparent) 100%),var(--scenery-image);
  background-position: center,center 34%;
  background-size: cover;
}
.events-page .event-tile-art,
:root[data-theme=light] .events-page .event-tile-art {
  background-image: linear-gradient(110deg,#10283de8,#1c3c5773),var(--scenery-image);
  background-position: center,74% center;
  background-size: cover;
}
.management-page .site-scenery { opacity: .48; }
@media (max-width:760px) {
  body { --scenery-image: url("https://cos-xinlvjiang.zepeng.top/images/sha256/f72ececcd52648bb7c8dbabb8219b7a2de448bc1e5f203f9a684ef252d78640c.webp"); }
  body.home-page { --scenery-image: url("https://cos-xinlvjiang.zepeng.top/images/sha256/4b3b3114397b9554ff1f89bdbe45d368f69b8593e1e16c01f5d3c4faee802fc3.webp"); }
  body.schedule-page { --scenery-image: url("https://cos-xinlvjiang.zepeng.top/images/sha256/2b77d0e9c6250543443032bdec036e42ea40cc076e1d2346f5cb673e52519985.webp"); }
  body.teams-page { --scenery-image: url("https://cos-xinlvjiang.zepeng.top/images/sha256/5e24fc02c81ef0cdd06f2fc8fffa6056e39355cd61015069621ce9412ab11e03.webp"); }
  body.players-page { --scenery-image: url("https://cos-xinlvjiang.zepeng.top/images/sha256/78ba8d8f849ef1ca8ebd5fe61de49933ac06895ed252f2a770d343b1057169a5.webp"); }
  body.events-page { --scenery-image: url("https://cos-xinlvjiang.zepeng.top/images/sha256/efaacf99664e5fba5fa559ad04d5693ebd3e55333106d3abdf511fa492839264.webp"); }
  .site-scenery { height: 660px; background-size: 100% 100%,auto 540px; background-position: center top,76% top; }
  body.home-page .site-scenery { background-position: center top,20% top; }
  body:is(.schedule-page,.teams-page,.players-page,.events-page) .site-scenery { background-position: center top,72% top; }
  .home-page .home-overview { background-position: center,63% center; }
  .teams-page .team-identity { background-position: center,72% center; }
}
@media (prefers-reduced-data:reduce), (forced-colors:active), print {
  body,body:is(.home-page,.schedule-page,.teams-page,.players-page,.events-page) { --scenery-image: none; }
  .site-scenery { display: none; }
}
@media (forced-colors:active), print {
  .home-page .home-overview,.teams-page .team-identity,
  .events-page .event-tile-art,:root[data-theme=light] .events-page .event-tile-art { background-image: none; }
}
@media (forced-colors:active) {
  .home-page .home-overview-record :is(dt,small) { color: CanvasText; }
}


/* cup/hextech-components.css */
/* Decorative material only. Component styles continue to own dimensions,
 * scrolling, focus, interaction and semantic grade / side / outcome colours.
 * No additional image is needed: every etched line is a CSS paint layer. */
:root {
  --hex-metal: #bdab7e;
  --hex-energy: #83c8da;
  --hex-edge: color-mix(in srgb,var(--hex-metal) 25%,var(--line));
  --hex-rule: color-mix(in srgb,var(--hex-energy) 12%,var(--line));
  --hex-etch: #88c7da06;
  --hex-highlight: #d3efff0e;
  --hex-shadow: #020b1729;
  --hex-dialog-shadow: #02071366;
  --hex-wash: #82cad709;
}
:root[data-theme=light] {
  --hex-metal: #927b4d;
  --hex-energy: #407e94;
  --hex-edge: color-mix(in srgb,var(--hex-metal) 23%,var(--line));
  --hex-rule: color-mix(in srgb,var(--hex-energy) 15%,var(--line));
  --hex-etch: #356f8c04;
  --hex-highlight: #ffffffd9;
  --hex-shadow: #193c5e0d;
  --hex-dialog-shadow: #17365326;
  --hex-wash: #437e9307;
}

/* An opaque reading surface remains between the scenery and its data. */
.home-page :is(.home-matches-panel,.home-teams-panel,.home-recent-results),
.schedule-page .schedule-panel,
.players-page .catalog-controls.catalog-filter,
.teams-page .team-selector-rail,
.teams-page .team-quick-directory,
.player-dossier .dossier-abilities,
.player-dossier .dossier-performance > .panel,
.events-page .event-tile {
  border-color: var(--hex-edge);
  background-image: linear-gradient(135deg,var(--hex-wash),transparent 42%);
  box-shadow: inset 0 1px 0 var(--hex-highlight),0 6px 24px var(--hex-shadow);
}
.home-page .home-overview,
.teams-page .team-identity {
  border-color: var(--hex-edge);
  box-shadow: inset 0 1px 0 #d3efff16,inset 0 -1px 0 #bdab7e16,0 6px 24px var(--hex-shadow);
}
.home-page .home-stage-path,
.home-page .home-team-grid > a,
.home-page .event-shortcuts > a,
.teams-page .team-quick-grid .team-quick-card,
.events-page .event-tile-content {
  background-color: var(--surface);
  background-image: linear-gradient(135deg,var(--hex-wash),transparent 65%);
}
.teams-page .team-identity > .team-mark,
.home-page .home-team-grid .team-mark {
  box-shadow: inset 0 0 0 1px var(--hex-rule),0 2px 8px var(--hex-shadow);
}

/* The current card silhouette and each grade's frame remain intact. Etched
 * facets sit on existing decoration nodes, below the portrait and all text. */
.player-card .player-card-link::before {
  background-color: #111c26;
  background-image:
    radial-gradient(ellipse at 50% 7%,rgb(var(--tier-rgb) / .18),transparent 54%),
    linear-gradient(118deg,transparent 24%,#8bc9d808 24.2%,transparent 24.5% 76%,#8bc9d806 76.2%,transparent 76.5%),
    repeating-linear-gradient(0deg,transparent 0 35px,#b5dce303 35px 36px),
    linear-gradient(180deg,#1b2b36,#101820 74%,#15232d);
}
.player-card .player-card-link::after {
  box-shadow: inset 0 1px 0 rgb(var(--tier-rgb) / .13),inset 0 -1px 0 #8bc9d80a;
}
.player-card .card-material::before {
  background-image:
    radial-gradient(ellipse at 50% 44%,rgb(var(--tier-rgb) / .22),transparent 65%),
    linear-gradient(135deg,transparent 36%,rgb(var(--tier-rgb) / .08) 36% 36.5%,transparent 36.5% 63%,#8bc9d80c 63% 63.5%,transparent 63.5%);
}
.player-card .card-material::after {
  border-color: rgb(var(--tier-rgb) / .15);
  box-shadow: inset 1px 0 0 #82c8d807;
}
.player-card .player-role {
  background-image: linear-gradient(135deg,#a7dbea0d,transparent 65%);
  box-shadow: inset 0 1px 0 rgb(var(--tier-rgb) / .1);
}
.player-card .card-footer,
.player-card .card-dimensions-panel {
  background-image: linear-gradient(90deg,transparent,#a7dbea04,transparent);
}
.player-card .champion-icon {
  box-shadow: inset 0 0 0 1px #050c14,0 1px 4px #00000024;
}

/* Tournament frames borrow the same metal and cool light, while the existing
 * win / loss edges, blue / red support tracks and flow focus stay authoritative. */
.schedule-page {
  --stage-top: #2b4859;
  --stage-bottom: #172e40;
  --stage-edge: #647e88;
  --stage-wash: var(--hex-wash);
}
:root[data-theme=light] .schedule-page {
  --stage-top: #3b5a6a;
  --stage-bottom: #294456;
  --stage-edge: #82949b;
  --stage-wash: var(--hex-wash);
}
.schedule-page .schedule-stagebar {
  border-bottom-color: var(--hex-rule);
  background-image: linear-gradient(100deg,var(--hex-wash),transparent 70%);
  box-shadow: inset 0 1px 0 var(--hex-highlight);
}
.schedule-page .schedule-panel .schedule-toolbar {
  background-image: linear-gradient(100deg,var(--hex-etch),transparent 70%);
}
.schedule-page .schedule-panel :is(.swiss-scroll,.bracket-scroll) {
  background-image:
    radial-gradient(ellipse at 50% 0,var(--hex-wash),transparent 60%),
    repeating-linear-gradient(0deg,transparent 0 47px,var(--hex-etch) 47px 48px);
}
.schedule-page .swiss-layout .record-group {
  background-image: linear-gradient(145deg,var(--hex-wash),transparent 60%);
}
.schedule-page .swiss-layout .record-group.is-pending {
  background-image: linear-gradient(145deg,var(--hex-etch),transparent 60%);
}
.schedule-page .swiss-layout .record-group.is-pending .record-heading {
  background-image: linear-gradient(110deg,var(--hex-wash),transparent 70%);
}
.home-page .cup-match-card.fixture-card,
.teams-page .cup-match-card.fixture-card,
.schedule-page .cup-match-card.fixture-card {
  background-image: linear-gradient(115deg,var(--hex-wash),transparent 65%);
}
.schedule-page .swiss-layout .record-matches .fixture-card {
  background-image: linear-gradient(110deg,var(--hex-wash),transparent 80%);
}
.schedule-page .schedule-panel .playoff-pending {
  background-image: linear-gradient(110deg,var(--hex-etch),transparent 75%);
}
.schedule-page #standings {
  border-color: var(--hex-edge);
  box-shadow: inset 0 1px 0 var(--hex-highlight),0 6px 24px var(--hex-shadow);
}

/* These selectors also outrank the fragment styles loaded in page content.
 * No pseudo-element is added over a dialog, control, focus ring or report. */
body .site-main :is(.match-dialog,.profile-preview-dialog,.audience-rating-dialog) {
  border-color: var(--hex-edge);
  background-image: linear-gradient(135deg,var(--hex-wash),transparent 42%);
  box-shadow: 0 28px 84px var(--hex-dialog-shadow),0 7px 22px var(--hex-shadow),inset 0 1px 0 var(--hex-highlight);
}
body .site-main :is(.match-dialog-toolbar,.profile-preview-toolbar) {
  border-bottom-color: var(--hex-rule);
  background-image: linear-gradient(110deg,var(--hex-wash),transparent 70%);
  box-shadow: inset 0 1px 0 var(--hex-highlight);
}
body .site-main .match-dialog .match-scoreboard {
  border-color: var(--hex-rule);
  background-image: linear-gradient(110deg,var(--hex-wash),transparent 70%);
  box-shadow: inset 0 1px 0 var(--hex-highlight);
}
body .site-main .match-dialog .match-preview-lineup {
  box-shadow: inset 0 1px 0 var(--hex-highlight),0 3px 12px var(--hex-shadow);
}
body .site-main .match-dialog .match-preview-roles > span::before {
  border-color: var(--hex-edge);
  background-image: linear-gradient(135deg,var(--hex-wash),transparent 75%);
}
body .site-main .profile-preview-dialog .profile-preview-slot {
  background-image: linear-gradient(135deg,var(--hex-wash),transparent 70%);
  box-shadow: inset 0 1px 0 var(--hex-highlight);
}

/* No motion is introduced. The reduced-data mode also drops etched paint and
 * the existing decorative card frame image; identity images remain content. */
@media (prefers-reduced-data:reduce) {
  .player-card .card-frame::before,
  .player-card .card-frame::after { background-image: none; }
  .schedule-page .schedule-panel :is(.swiss-scroll,.bracket-scroll) {
    background-image: none;
  }
}
@media (prefers-reduced-motion:reduce) {
  .player-card .card-material,
  .player-card .card-material::before,
  .player-card .card-material::after { animation: none; transition: none; }
}
@media (forced-colors:active), print {
  :root[data-theme] .schedule-page .schedule-panel .swiss-layout .record-group:not(.is-pending) .record-heading {
    background-image: none;
  }
  .home-page :is(.home-overview,.home-matches-panel,.home-teams-panel,.home-recent-results,.home-stage-path),
  .home-page .home-team-grid > a,
  .home-page .event-shortcuts > a,
  .schedule-page :is(.schedule-panel,.schedule-stagebar,#standings),
  .schedule-page .schedule-panel :is(.schedule-toolbar,.swiss-scroll,.bracket-scroll,.playoff-pending),
  .schedule-page .swiss-layout :is(.record-group,.record-heading,.record-matches .fixture-card),
  .home-page .cup-match-card.fixture-card,
  .teams-page .cup-match-card.fixture-card,
  .schedule-page .cup-match-card.fixture-card,
  .players-page .catalog-controls.catalog-filter,
  .teams-page :is(.team-identity,.team-selector-rail,.team-quick-directory),
  .teams-page .team-quick-grid .team-quick-card,
  .player-dossier .dossier-abilities,
  .player-dossier .dossier-performance > .panel,
  .events-page :is(.event-tile,.event-tile-content),
  body .site-main :is(.match-dialog,.profile-preview-dialog,.audience-rating-dialog,.match-dialog-toolbar,.profile-preview-toolbar),
  body .site-main .match-dialog :is(.match-scoreboard,.match-preview-lineup),
  body .site-main .match-dialog .match-preview-roles > span::before,
  body .site-main .profile-preview-dialog .profile-preview-slot {
    background-image: none;
    box-shadow: none;
  }
  .player-card[data-grade] .player-card-link::before {
    background-image: none;
  }
  .player-card .player-card-link::after,
  .player-card .card-material::before,
  .player-card .card-material::after,
  .player-card .card-frame::before,
  .player-card .card-frame::after { background-image: none; box-shadow: none; }
  .player-card :is(.player-card-link,.player-role,.champion-icon,.card-footer,.card-dimensions-panel) {
    background-image: none;
    box-shadow: none;
  }
}
@media (forced-colors:active) {
  :root[data-theme] { --hex-edge: CanvasText; --hex-rule: CanvasText; }
  .player-card[data-grade] .player-card-link::before { background-color: Canvas; }
  .player-card .player-card-link::after { border-color: CanvasText; }
  body .site-main .match-dialog .match-preview-roles > span:focus-visible::before {
    border-color: Highlight;
  }
}
@media print {
  :root[data-theme] { --hex-edge: #777; --hex-rule: #aaa; }
  .player-card[data-grade] .player-card-link::before { background-color: #fff; }
  .player-card .player-card-link,
  .player-card .player-role,
  .player-card .player-card-info > .player-game-id,
  .player-card .card-dimension :is(dt,dd),
  .player-card .card-mean-score { color: #111; }
  .player-card .player-role { background-color: #fff; }
}


/* cup/card-responsive.css */
/* One card scale in catalogs, lineups and dossiers. Browser zoom changes the
 * available columns; it does not switch the portrait, name or score layout. */
article.player-card[data-entrant-card] {
  --card-pad: clamp(9px,3.8cqw,13px);
  --card-inset: clamp(6px,3cqw,11px);
  --card-badge-top: clamp(15px,6.4cqw,22px);
  --card-badge-right: clamp(9px,4.4cqw,15px);
  min-width: 0;
}
article.player-card[data-entrant-card] > .player-card-link {
  padding: var(--card-pad) var(--card-pad) clamp(20px,8.2cqw,29px);
  min-height: 0;
  aspect-ratio: auto;
}
article.player-card[data-entrant-card] .card-frame::before {
  height: clamp(48px,23cqw,80px);
}
article.player-card[data-entrant-card] .card-frame::after {
  height: clamp(18px,8.4cqw,29px);
}
article.player-card[data-entrant-card] .player-visual {
  position: relative;
  inset: auto;
  width: 100%;
  height: auto;
  aspect-ratio: 1.04;
}
article.player-card[data-entrant-card] .player-visual > .player-portrait {
  left: 50%;
  transform: translateX(-50%);
  bottom: -3px;
  width: 100%;
  height: 92%;
  max-width: none;
}
article.player-card[data-entrant-card] .player-role {
  top: clamp(16px,6.8cqw,23px);
  left: clamp(10px,5.4cqw,19px);
  padding: clamp(3px,1.6cqw,6px) clamp(4px,2cqw,7px);
  gap: clamp(4px,2cqw,7px);
  font-size: clamp(10px,4.4cqw,15px);
  line-height: 1.3;
}
article.player-card[data-entrant-card] .player-role .role-icon {
  width: clamp(16px,6.8cqw,23px);
  height: clamp(16px,6.8cqw,23px);
  flex-basis: clamp(16px,6.8cqw,23px);
}
article.player-card[data-entrant-card] .player-grade {
  top: var(--card-badge-top);
  right: var(--card-badge-right);
  width: clamp(40px,16cqw,56px);
  height: clamp(44px,17.4cqw,61px);
  padding: 3px 4px 6px;
}
/* The edit button is a sibling of the card link, so its offset includes the
 * link padding. Public badges stay inside the visual. */
article.player-card[data-entrant-card] > .card-grade-edit-trigger {
  top: calc(var(--card-pad) + var(--card-badge-top));
  right: calc(var(--card-pad) + var(--card-badge-right));
}
article.player-card[data-entrant-card] .player-grade strong {
  font-size: clamp(24px,10.4cqw,36px);
}
article.player-card[data-entrant-card][data-grade="s-plus"] .player-grade {
  width: clamp(47px,19cqw,66px);
}
article.player-card[data-entrant-card][data-grade="s-plus"] .player-grade strong {
  font-size: clamp(23px,9.8cqw,34px);
}
article.player-card[data-entrant-card][data-grade="neutral"] .player-grade strong {
  font-size: clamp(10px,4.2cqw,14px);
}
article.player-card[data-entrant-card] .card-team-crest {
  left: clamp(9px,4.5cqw,16px);
  width: clamp(30px,13cqw,46px);
  padding: clamp(3px,1.4cqw,5px);
  /* Keep the image inset while removing its outline; scale the mark exactly. */
  border-color: transparent;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transform: translateY(-50%) scale(1.5);
  transform-origin: left center;
}
article.player-card[data-entrant-card] .card-role-watermark {
  top: clamp(52px,24cqw,84px);
  right: clamp(11px,5.5cqw,19px);
  width: clamp(55px,26cqw,91px);
  height: clamp(55px,26cqw,91px);
}
article.player-card[data-entrant-card] .card-role-watermark .role-icon {
  width: 100%;
  height: 100%;
}
article.player-card[data-entrant-card] .player-card-info {
  position: relative;
  inset: auto;
  height: auto;
  padding: clamp(4px,1.7cqw,6px) var(--card-inset) clamp(6px,2.7cqw,10px);
}
article.player-card[data-entrant-card] .player-name-line {
  width: 100%;
  min-width: 0;
  justify-content: center;
  gap: clamp(4px,2cqw,7px);
}
article.player-card[data-entrant-card] .player-card-info h3 {
  min-width: 0;
  max-width: 100%;
  font-size: clamp(18px,8.3cqw,29px);
  line-height: 1.25;
}
article.player-card[data-entrant-card] .captain-tag {
  flex-shrink: 0;
  font-size: clamp(8px,3cqw,10px);
}
article.player-card[data-entrant-card] .player-card-info > .player-game-id {
  font-size: clamp(10px,4.3cqw,15px);
  line-height: 1.4;
  margin-top: clamp(2px,1.2cqw,4px);
}
article.player-card[data-entrant-card] .card-dimensions-panel {
  margin: 0 var(--card-inset);
  padding: clamp(5px,2.2cqw,8px) 0;
}
article.player-card[data-entrant-card] .card-dimensions-grid {
  grid-template-columns: repeat(var(--dimension-columns,6),minmax(0,1fr));
  gap: 0 clamp(2px,1.2cqw,4px);
}
article.player-card[data-entrant-card] .card-dimension {
  min-height: clamp(32px,12.7cqw,44px);
}
article.player-card[data-entrant-card] .card-dimension dt {
  font-size: clamp(9px,4cqw,14px);
  line-height: 1.35;
}
article.player-card[data-entrant-card] .card-dimension[data-dimension^=combat_] dt {
  letter-spacing: 0;
  font-size: clamp(8px,3.45cqw,12px);
  font-family: "Segoe UI","Microsoft YaHei",Arial,sans-serif;
}
article.player-card[data-entrant-card] .card-dimension dd {
  min-height: clamp(18px,7cqw,24px);
  margin-top: clamp(2px,.9cqw,3px);
  font-size: clamp(13px,5.6cqw,19px);
  line-height: 1.25;
  letter-spacing: -.02em;
}
article.player-card[data-entrant-card] .card-dimension meter {
  height: clamp(2px,1cqw,3px);
}
article.player-card[data-entrant-card] .card-footer {
  grid-template-columns: minmax(0,1fr) repeat(3,auto);
  gap: clamp(3px,1.3cqw,5px);
  min-height: clamp(40px,17cqw,60px);
  margin: 0 var(--card-inset);
  padding: clamp(8px,3.4cqw,12px) 0 clamp(2px,1cqw,4px);
}
article.player-card[data-entrant-card] .card-champions .champion-icons {
  flex-wrap: nowrap;
  gap: clamp(2px,1.1cqw,4px);
}
article.player-card[data-entrant-card] .champion-icon {
  width: clamp(16px,7.7cqw,27px);
  height: clamp(16px,7.7cqw,27px);
}
article.player-card[data-entrant-card] .card-mean-score {
  gap: clamp(2px,.9cqw,3px);
}
article.player-card[data-entrant-card] .card-mean-score svg {
  width: clamp(10px,4.4cqw,15px);
  height: clamp(10px,4.4cqw,15px);
}
article.player-card[data-entrant-card] .card-mean-score strong {
  font-size: clamp(11px,5cqw,17px);
  line-height: 1;
}

/* Match the leaderboard's card columns and gaps without changing the frame.
 * Catalog pagination reads the resulting grid columns to keep full rows. */
:is(.players-page,.teams-page) {
  --card-list-columns: 5;
  --card-list-column-gap: 20px;
  --card-list-total-gaps: 80px;
  --card-list-row-gap: 28px;
}
.players-page .players-grid.player-catalog {
  grid-template-columns: repeat(var(--card-list-columns),minmax(0,1fr)) !important;
  gap: var(--card-list-row-gap) var(--card-list-column-gap);
  justify-content: center;
  align-items: start;
}
.players-page .player-catalog > article.player-card[data-entrant-card] {
  width: 100%;
  max-width: none;
  margin: 0;
}
.teams-page .team-workspace {
  /* Measure the same full content width as the leaderboard, before the team
   * selector takes its share. Cards wrap rather than grow to fill spare space. */
  container: card-lineup / inline-size;
}
.teams-page .roster-section .lineup-five {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: start;
  gap: var(--card-list-row-gap) var(--card-list-column-gap);
}
.teams-page .roster-section .lineup-slot:nth-child(n) {
  flex: 0 0 min(100%,calc((100cqw - var(--card-list-total-gaps)) / var(--card-list-columns)));
  grid-column: auto;
}
.teams-page .roster-section .lineup-slot > article.player-card[data-entrant-card] {
  width: 100%;
  max-width: none;
  height: auto;
  margin: 0;
}
@media (min-width:1800px) {
  :is(.players-page,.teams-page) {
    --card-list-columns: 6;
    --card-list-total-gaps: 100px;
  }
}
@media (max-width:1100px) {
  :is(.players-page,.teams-page) {
    --card-list-columns: 4;
    --card-list-column-gap: 16px;
    --card-list-total-gaps: 48px;
    --card-list-row-gap: 24px;
  }
}
@media (max-width:850px) {
  :is(.players-page,.teams-page) {
    --card-list-columns: 3;
    --card-list-total-gaps: 32px;
  }
}
@media (max-width:700px) {
  .teams-page .roster-section .lineup-five {
    flex-wrap: nowrap;
    justify-content: start;
  }
}
@media (max-width:600px) {
  :is(.players-page,.teams-page) {
    --card-list-columns: 2;
    --card-list-column-gap: 10px;
    --card-list-total-gaps: 10px;
  }
}

/* Raw combat metrics keep their observed units inside each card column. */
article.player-card[data-entrant-card] .card-dimension[data-raw-dimension] dd{font-size:clamp(11px,4.5cqw,16px);white-space:normal;line-height:1.2}
article.player-card[data-entrant-card] .card-dimension-number{display:block;font-variant-numeric:tabular-nums}
article.player-card[data-entrant-card] .card-dimension-unit{display:block;margin-top:2px;color:#b3becb;font-size:clamp(8px,3cqw,10px);font-weight:400;white-space:nowrap;letter-spacing:-.03em}
article.player-card[data-entrant-card] .card-dimension-unit.is-inline{display:inline;margin:0 0 0 1px;font-size:.7em}

article.player-card[data-entrant-card] .card-dimension-unit.is-long{white-space:normal;line-height:1.05}
article.player-card[data-entrant-card] .card-dimension-unit.is-long>span{display:inline-block}


/* cup/player-card-materials.css */
/* B / Hextech material. Shared original grain plus seven distinct facet maps.
 * Grade tint applies only to the background, never portraits or hero images.
 * The chosen dark card intentionally remains the same in day and night pages.
 * Light cards are an optional companion stylesheet, not a theme default. */
@media screen and (forced-colors: none) {
  .player-card[data-grade] {
    --card-material-image: url("https://cos-xinlvjiang.zepeng.top/images/sha256/221dacd48c3ffdcfa9e1276ec4d25249daa35dab51c691332145cc8632c7f293.webp");
    --card-material-ground: #203542;
    --card-material-tint: #46505a;
    --card-material-facets: url("https://cos-xinlvjiang.zepeng.top/images/sha256/f2e3734ab367109a4ea1bec309759c22f330ef5007e0edb1112e660263993265.svg");
    --card-material-ink: #edf3f6;
    --card-material-muted: #c5d0dc;
    --card-material-missing: #adbecb;
    --card-material-number: var(--tier);
  }
  .player-card[data-grade="s-plus"] {
    --card-material-ground: #29262d; --card-material-tint: #6c6569;
    --card-material-facets: url("https://cos-xinlvjiang.zepeng.top/images/sha256/c6b5c518aebb429545ddd3589cc17309614c5db4793d130e156ea203d834d820.svg");
    --card-material-muted: #ded3e1; --card-material-number: #fff0d4;
  }
  /* S+ uses pearl-prism facets and iridescent reflections. Keep the
   * original motion timings, geometry and pointer handling; only recolour. */
  .player-card[data-grade="s-plus"] .card-effects::after {
    background: linear-gradient(115deg,transparent 30%,#e9b6eb28 39%,#e0c4ff77 45%,#fff5e7aa 50%,#f5dca166 54%,#ccebdc22 59%,transparent 65%);
  }
  .player-card[data-grade="s-plus"] .card-effects::before {
    background: radial-gradient(ellipse at 50% 0,#fff2e160,transparent 60%),conic-gradient(from 155deg at 50% 10%,transparent 0 15%,#efbce52b 17%,transparent 19% 31%,#d4b9f52b 33%,transparent 35%);
  }
  .player-card[data-grade="s-plus"] .card-effects i {
    box-shadow: 0 0 10px #ffe9f7,20px -14px 0 #e5cbff8c;
  }
  .player-card[data-grade="s"] {
    --card-material-ground: #302b20; --card-material-tint: #655437;
    --card-material-facets: url("https://cos-xinlvjiang.zepeng.top/images/sha256/371c57403e3866c9f53e0efbdb91a049616263902732b0733c76ddc67a40fead.svg");
  }
  .player-card[data-grade="a"] {
    --card-material-ground: #292238; --card-material-tint: #574366;
    --card-material-facets: url("https://cos-xinlvjiang.zepeng.top/images/sha256/32e389b9abe2e9cec7a15082875ed7a9cc3c6a49b999b21a65001631ecd0ccd7.svg");
  }
  .player-card[data-grade="b"] {
    --card-material-ground: #16313b; --card-material-tint: #2b5a68;
    --card-material-facets: url("https://cos-xinlvjiang.zepeng.top/images/sha256/d1920a369886c7d65002bf8c2bae4b8d6d2629bf7d9fade1352e678ba1960293.svg");
  }
  .player-card[data-grade="c"] {
    --card-material-ground: #29313a; --card-material-tint: #465765;
    --card-material-facets: url("https://cos-xinlvjiang.zepeng.top/images/sha256/ff16426e985a3f99b96b6487dc93ae42fbccb607accf5311cf8d07f872d2d7ea.svg");
  }
  .player-card[data-grade="d"] {
    --card-material-ground: #33251f; --card-material-tint: #654836;
    --card-material-facets: url("https://cos-xinlvjiang.zepeng.top/images/sha256/53c5f01c317cd0329e92b1737aaacfeb07d2613c88432cb39de63b020d8928ff.svg");
  }
  .player-card[data-grade] > .player-card-link::before {
    background-color: var(--card-material-ground);
    background-image:
      linear-gradient(180deg,#07101900 32%,#07101955 68%,#07101922),
      var(--card-material-facets),
      linear-gradient(var(--card-material-tint),var(--card-material-tint)),
      var(--card-material-image);
    background-blend-mode: normal,normal,color,normal;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
  .player-card[data-grade] > .player-card-link {
    color: var(--card-material-ink);
  }
  .player-card[data-grade] .player-visual::after {
    background: linear-gradient(0deg,color-mix(in srgb,var(--card-material-ground) 60%,transparent),transparent 26%);
  }
  .player-card[data-grade] .card-material::before {
    background: radial-gradient(ellipse at 45% 34%,rgb(var(--tier-rgb) / .14),transparent 67%);
  }
  .player-card[data-grade] .card-material::after {
    border-color: rgb(var(--tier-rgb) / .08);
    background: linear-gradient(110deg,transparent,rgb(var(--tier-rgb) / .035),transparent);
    box-shadow: none;
  }
  .player-card[data-grade] .player-card-info > .player-game-id,
  .player-card[data-grade] .card-dimension dt {
    color: var(--card-material-muted);
  }
  .player-card[data-grade] .card-dimension dd,
  .player-card[data-grade] .card-mean-score {
    color: var(--card-material-number);
  }
  .player-card[data-grade] .card-dimension.is-unavailable dd,
  .player-card[data-grade] .card-mean-score.is-unavailable {
    color: var(--card-material-missing);
  }
  .player-card[data-grade] .card-dimensions-panel,
  .player-card[data-grade] .card-footer {
    background: linear-gradient(90deg,#0b192211,#0b192230 50%,#0b192211);
    border-top-color: rgb(var(--tier-rgb) / .25);
  }
  .player-card[data-grade] .player-card-info h3 {
    text-shadow: 0 1px 3px #06101855;
  }
  /* Use the existing grade-dependent sheen / prism / scan / ember on top of
   * the material. No continuous animation, extra listeners or layout motion. */
  .player-card[data-grade] .card-effects { mix-blend-mode: screen; }
  .player-card[data-grade="s-plus"] > .player-card-link::before {
    background-image:
      linear-gradient(180deg,#17141b00 32%,#17141b66 68%,#17141b22),
      var(--card-material-facets),
      linear-gradient(var(--card-material-tint),var(--card-material-tint)),
      var(--card-material-image);
  }
  .player-card[data-grade="s-plus"] .card-dimensions-panel,
  .player-card[data-grade="s-plus"] .card-footer {
    background: linear-gradient(90deg,#21192511,#21192540 50%,#21192511);
  }
}

@media (prefers-reduced-data: reduce) {
  .player-card[data-grade] { --card-material-image: none; --card-material-facets: none; }
}


/* cup/player-card-frame.css */
/* Continuous, hollow metal rails. Pixel-sized corners follow the actual card
 * height, including configurable dimensions; the centre never covers content.
 * Keep the original PNG corner ornaments, without its opaque lower nameplate. */
.card-frame-outer,.card-frame-inner { display: none; }
@media screen and (forced-colors: none) {
  .player-card[data-grade] {
    --frame-light: #edf3f5;
    --frame-mid: #a9b3c0;
    --frame-dark: #586a78;
    --frame-reflection: #c6d5dc;
  }
  .player-card[data-grade="s-plus"] { --frame-light: #fff6e7; --frame-mid: #e5c5d4; --frame-dark: #877087; --frame-reflection: #e9d7f3; }
  .player-card[data-grade="s"] { --frame-light: #ffe9a5; --frame-mid: #d9ad51; --frame-dark: #91602b; --frame-reflection: #f4d999; }
  .player-card[data-grade="a"] { --frame-light: #f2d9ff; --frame-mid: #bf8ae6; --frame-dark: #775393; --frame-reflection: #dac5ff; }
  .player-card[data-grade="b"] { --frame-light: #cdfaff; --frame-mid: #65c9e1; --frame-dark: #33758f; --frame-reflection: #9ee9f3; }
  .player-card[data-grade="c"] { --frame-light: #edf5ff; --frame-mid: #b4c4d5; --frame-dark: #6b7d90; --frame-reflection: #d0ddeb; }
  .player-card[data-grade="d"] { --frame-light: #ffdbb6; --frame-mid: #c88c5c; --frame-dark: #805037; --frame-reflection: #e4b289; }
  .player-card[data-grade] > .player-card-link {
    background: #14232d;
  }
  .player-card[data-grade] > .player-card-link::before { inset: 3px; }
  /* Replace the old clipped rectangular border: clipping cannot draw bevels. */
  .player-card[data-grade] > .player-card-link::after { border: 0; box-shadow: none; opacity: 0; }
  .player-card[data-grade] .card-frame {
    inset: 0; z-index: 8; background: none; filter: none; pointer-events: none;
  }
  .player-card[data-grade]:is(:hover,:focus-within) .card-frame { filter: brightness(1.1); }
  .player-card[data-grade] .card-frame::before,
  .player-card[data-grade] .card-frame::after { z-index: 2; filter: var(--frame-material); }
  .player-card[data-grade] .card-frame-outer,
  .player-card[data-grade] .card-frame-inner {
    display: block; position: absolute; pointer-events: none;
    --cut: 12px; --rail: 2.5px; --inner-cut: 13px;
    /* Both loops are closed: unlike border+clip this includes all four bevels.
     * The duplicated bridge has zero area under the evenodd fill rule. */
    clip-path: polygon(evenodd,
      var(--cut) 0,calc(100% - var(--cut)) 0,100% var(--cut),100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,var(--cut) 100%,0 calc(100% - var(--cut)),0 var(--cut),var(--cut) 0,
      var(--inner-cut) var(--rail),var(--rail) var(--inner-cut),var(--rail) calc(100% - var(--inner-cut)),var(--inner-cut) calc(100% - var(--rail)),calc(100% - var(--inner-cut)) calc(100% - var(--rail)),calc(100% - var(--rail)) calc(100% - var(--inner-cut)),calc(100% - var(--rail)) var(--inner-cut),calc(100% - var(--inner-cut)) var(--rail),var(--inner-cut) var(--rail));
    background: linear-gradient(130deg,var(--frame-light) 0%,var(--frame-mid) 17%,var(--frame-light) 30%,var(--frame-dark) 48%,var(--frame-reflection) 66%,var(--frame-mid) 82%,var(--frame-light) 96%);
  }
  .player-card[data-grade] .card-frame-outer { inset: 1px; }
  .player-card[data-grade] .card-frame-inner {
    inset: 7px; --cut: 8px; --rail: 1px; --inner-cut: 8.4px; opacity: .72;
    background: linear-gradient(145deg,var(--frame-light),var(--frame-dark) 26%,var(--frame-reflection) 54%,var(--frame-dark) 77%,var(--frame-light));
  }
  .player-card[data-grade="s-plus"] .card-frame-outer {
    background: linear-gradient(130deg,#fff9e8 0%,#f0c9e4 18%,#c5a7e9 31%,#f6e1b5 47%,#ede7d2 55%,#b9decc 64%,#fff4e8 76%,#d9bced 87%,#fff3d9 98%);
  }
  .player-card[data-grade="s-plus"] .card-frame-inner {
    background: linear-gradient(145deg,#fff8e9,#d1a8cf 26%,#e8c9f9 50%,#f3dda9 72%,#fff3e4);
  }
  /* Content and its separators are already inset by the responsive card skin.
   * The frame is higher than labels but has no painted centre and takes no input. */
}

/* Shared by roster, catalog, rankings, previews and embedded cards. */
article.player-card[data-entrant-card]{position:relative}
article.player-card[data-entrant-card] .player-card-info h3,
article.player-card[data-entrant-card] .card-footer-text{font-size:clamp(14px,6.4cqw,24px)!important;line-height:1.25;font-weight:650;letter-spacing:.015em}
article.player-card[data-entrant-card] .card-custom-footer{display:block;min-height:0;padding:6px 0 2px;overflow:hidden;text-align:center}
article.player-card[data-entrant-card] .card-footer-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;white-space:normal;color:inherit}
article.player-card.has-grade-editor .card-custom-footer .card-footer-text{visibility:hidden}
article.player-card[data-entrant-card] .card-text-edit{position:absolute;z-index:8;bottom:calc(clamp(20px,8.2cqw,29px) + 2px);left:24px;width:calc(100% - 48px);height:auto;min-height:1.25em;max-height:2.5em;margin:0;padding:0 3px;border:0;background:transparent;color:#e8edf3;cursor:pointer;text-align:center}
article.player-card[data-entrant-card] .card-text-edit:hover{background:#ffffff12;border-radius:5px}
article.player-card[data-entrant-card] .card-solo-rank{position:absolute;z-index:8;top:83px;right:17px;display:flex;align-items:center;flex-direction:column;gap:0;max-width:86px;min-width:44px;padding:2px 4px;border:0;border-radius:5px;background:linear-gradient(180deg,#1018201a,#101820b8);color:#e8edf3;text-align:center;font-size:clamp(11px,4.4cqw,13px);line-height:1.25;font-weight:600;text-shadow:0 1px 3px #000}
article.player-card[data-entrant-card] button.card-solo-rank{cursor:pointer}
.card-solo-rank img{width:clamp(30px,14cqw,48px);height:clamp(30px,14cqw,48px);object-fit:contain;filter:drop-shadow(0 2px 3px #0008)}
.card-solo-rank[data-rank=unknown]{max-width:5em;opacity:.8}
.card-solo-rank:focus-visible,.card-text-edit:focus-visible{outline:2px solid var(--tier);outline-offset:3px}
@container player-card (max-width:200px){article.player-card[data-entrant-card] .card-solo-rank{top:66px;right:9px;max-width:64px}article.player-card[data-entrant-card] .card-text-edit{left:16px;width:calc(100% - 32px)}}


/* cup/team-marks.css */
/* A supplied crest owns its visible shape. Page-specific rules may size the
 * mark later in the document, but must not paint behind transparent pixels.
 * Keep the existing box, padding, border and image-fit geometry unchanged. */
.team-mark:has(> img),
.team-mark > img {
  background: transparent !important;
}

/* The abbreviation remains in the shared markup as the loading/error
 * fallback. Transparent images must not reveal those letters underneath.
 * Existing media handlers remove failed images, restoring the fallback. */
.team-mark:has(> img) {
  color: transparent !important;
}

/* The player card has an extra crest holder outside the shared mark. Clear
 * its plate only when an image exists; keep the no-image shield treatment. */
.player-card .card-team-crest:has(.team-mark > img) {
  background: transparent;
  box-shadow: none;
}


/* cup/team-captions.css */
/* A team keeps its complete tag when a schedule card has little room. */
.team-caption{display:block;min-width:0;width:100%;max-width:100%;flex:1 1 0;container:team-caption / inline-size;white-space:nowrap}
.team-caption-content{display:flex;align-items:baseline;justify-content:inherit;min-width:0;max-width:100%;white-space:nowrap}
.team-caption-name{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.team-caption-tag{flex:none;white-space:nowrap}
.team-caption-tag-text{font-family:Arial,sans-serif;letter-spacing:0}
/* Brackets always show the abbreviation; the caption title retains full identity. */
.tournament-graph .team-caption-content.has-tag>.team-caption-name,
.tournament-graph .team-caption-content.has-tag .team-caption-paren{display:none}
.match-team-b .team-caption-content{justify-content:flex-end}
.schedule-page .tournament-graph .graph-match .fixture-card .match-team{flex-direction:row;flex-wrap:nowrap}
.schedule-page .tournament-graph .graph-match .fixture-card .match-team-name{min-height:0;order:0}
.outcome-team .team-caption-content,.playoff-podium-team .team-caption-content{justify-content:center}
.draw-team-token>.waiting-team-label{flex:1 1 0;min-width:0}
.graph-draw-crest-label{flex:1 1 100%;width:100%}
.graph-draw-team>.team-caption{min-width:0}
.list-outcomes>.result-tag{display:inline-flex;align-items:center;max-width:100%;gap:.4em}
.list-outcomes>.result-tag>.team-caption{flex:0 1 auto;width:auto;container-type:normal}
.list-outcomes>.result-tag>span:last-child{flex:none}
@container playoff-stage (max-width:225px){
  .schedule-page .playoff-presentation .graph-match .fixture-card:has(.team-caption-content[data-tag-length="4"]){padding-inline:2px}
  .schedule-page .playoff-presentation .graph-match .fixture-card .match-teams:has(.team-caption-content[data-tag-length="4"]){grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr);gap:4px}
  .schedule-page .playoff-presentation .graph-match .fixture-card .match-team:has(.team-caption-content[data-tag-length="4"]){gap:1px}
  .schedule-page .playoff-presentation .graph-match .fixture-card .match-team:has(.team-caption-content[data-tag-length="4"]) .team-mark{width:24px;height:24px;flex-basis:24px}
}
/* Keep room for a readable name fragment before showing its parentheses.
   These queries affect children, never the measured caption itself. */
@container team-caption (max-width:6.25em){
  .team-caption-content.has-tag:not([data-tag-length="1"]):not([data-tag-length="2"]):not([data-tag-length="3"])>.team-caption-name,
  .team-caption-content.has-tag:not([data-tag-length="1"]):not([data-tag-length="2"]):not([data-tag-length="3"]) .team-caption-paren{display:none}
}
@container team-caption (max-width:5.5em){
  .team-caption-content[data-tag-length="3"]>.team-caption-name,
  .team-caption-content[data-tag-length="3"] .team-caption-paren{display:none}
}
@container team-caption (max-width:4.75em){
  .team-caption-content[data-tag-length="2"]>.team-caption-name,
  .team-caption-content[data-tag-length="2"] .team-caption-paren{display:none}
}
@container team-caption (max-width:4em){
  .team-caption-content[data-tag-length="1"]>.team-caption-name,
  .team-caption-content[data-tag-length="1"] .team-caption-paren{display:none}
}
/* Four wide Latin letters must fit the narrowest desktop Swiss column.
   Reserve their width by reducing only the surrounding logo gap, not type. */
@media(min-width:901px){
  .schedule-page .swiss-presentation .swiss-round{container:swiss-column / inline-size}
  .schedule-page .swiss-presentation .graph-match .fixture-card .match-teams:has(.team-caption-content[data-tag-length="4"]){grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr);gap:2px}
  .schedule-page .swiss-presentation .graph-match .fixture-card .match-team:has(.team-caption-content[data-tag-length="4"]){gap:1px}
  .schedule-page .swiss-presentation .graph-match .fixture-card .match-team:has(.team-caption-content[data-tag-length="4"]) .team-mark{width:24px;height:24px;flex-basis:24px}
  @container swiss-column (max-width:190px){
    .schedule-page .swiss-presentation .graph-match .fixture-card:has(.team-caption-content[data-tag-length="4"]){padding-inline:1px}
    .schedule-page .swiss-presentation .graph-match .fixture-card .match-team:has(.team-caption-content[data-tag-length="4"]) .team-mark{width:22px;height:22px;flex-basis:22px}
  }
}


/* cup/player-navigation.css */
.site-header .nav-player-group{position:relative;display:flex;align-items:stretch;min-height:44px}
.site-header .nav-player-link{display:flex;align-items:center;position:relative;padding:0 3px 0 9px;font-size:17px;font-weight:550;color:var(--muted)}
.site-header .nav-player-group.is-current>.nav-player-link,.site-header .nav-player-link:hover{color:var(--text)}
.site-header .nav-player-group.is-current:after{content:"";position:absolute;height:3px;left:9px;right:7px;bottom:-1px;background:var(--accent)}
.site-header .nav-player-menu{display:flex;align-items:center}
.site-header .nav-player-menu>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:center;min-width:30px;height:100%;min-height:44px;color:var(--muted);border-radius:5px}
.site-header .nav-player-menu>summary::-webkit-details-marker{display:none}
.site-header .nav-player-menu>summary:hover{color:var(--accent);background:var(--surface-2)}
.site-header .nav-player-menu>summary svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;transition:transform .18s}
.site-header .nav-player-menu[open]>summary svg{transform:rotate(180deg)}
.site-header .nav-player-options{position:absolute;z-index:8;top:calc(100% + 8px);right:0;width:220px;padding:7px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--elevation-3)}
.site-header .nav-player-options:before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}
.site-header .nav-player-options>a{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;border-radius:6px;min-height:64px;color:var(--text)}
.site-header .nav-player-options>a:hover,.site-header .nav-player-options>a[aria-current]{background:var(--surface-2);color:var(--accent)}
.site-header .nav-player-options strong{font-size:14px;font-weight:600}.site-header .nav-player-options small{font-size:11px;color:var(--muted)}
.site-header .nav-player-link:focus-visible,.site-header .nav-player-menu>summary:focus-visible,.site-header .nav-player-options>a:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
@media(max-width:1150px){.site-header .nav-player-link{font-size:16px;padding-left:7px}}
@media(max-width:850px){.site-header .nav-player-group{justify-content:center;min-height:48px}.site-header .nav-player-link{padding:13px 0 13px 7px;font-size:16px}.site-header .nav-player-menu>summary{min-width:35px}.site-header .nav-player-group.is-current{border-radius:5px;background:color-mix(in srgb,var(--accent) 10%,var(--surface))}.site-header .nav-player-group.is-current:after{left:30%;right:30%;bottom:0}.site-header .nav-player-options{right:0;top:100%;width:210px}}
@media(min-width:2400px){.site-header .nav-player-link{font-size:23px}}
@media(prefers-reduced-motion:reduce){.site-header .nav-player-menu>summary svg{transition:none}}


/* cup/account-dashboard.css */
/* Account-first match dashboard. Icons complement accessible names and exact data. */
.account-history-panel{--account-win:#247d75;--account-loss:#b3556c;--account-body:14px;--account-meta:12px}
[data-theme="dark"] .account-history-panel{--account-win:#78c9bc;--account-loss:#e8a1b2}
.account-history-panel .section-heading{margin-bottom:14px}
.account-history-panel .section-heading>[data-player-sync]{margin-left:auto;justify-content:flex-end;max-width:420px;gap:6px 10px}
.account-history-panel [data-player-sync] .profile-sync-button{min-height:40px;white-space:nowrap}
.account-history-panel [data-player-sync] .profile-sync-message{max-width:230px;font-size:11px}
.account-history-filters{display:flex;align-items:end;gap:10px;padding-bottom:14px}
.account-history-filters label{flex:0 1 170px;min-width:0;grid-column:auto!important;grid-row:auto!important;font-size:11px}
.account-history-filters .account-name-filter{flex:1;max-width:360px;min-width:0}
.account-history-filters .account-count-filter{flex:0 1 140px}
.account-history-filters .button{width:auto;grid-column:auto;grid-row:auto;margin-left:auto}
.account-history-filters select{width:100%;min-height:40px;font-size:13px;border-radius:7px}
.account-mode-filter{display:flex;align-items:center;gap:8px;padding:7px;margin-bottom:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.account-mode-options{display:flex;flex:1;flex-wrap:wrap;gap:4px;min-width:0;margin:0;padding:0;border:0}
.account-mode-choice{display:flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:7px 10px;border:1px solid transparent;border-radius:7px;font-size:12px;color:var(--muted);cursor:pointer}
.account-mode-choice>input{flex:none;width:14px;height:14px;margin:0;accent-color:var(--blue)}
.account-mode-choice>span{display:flex;align-items:baseline;gap:6px;white-space:nowrap}
.account-mode-choice small{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}
.account-mode-choice:hover{background:var(--surface-2);color:var(--text)}
.account-mode-choice:has(input:checked){color:var(--blue);font-weight:650;background:color-mix(in srgb,var(--blue) 9%,var(--surface));border-color:color-mix(in srgb,var(--blue) 25%,var(--line))}
.account-mode-choice:focus-within{outline:2px solid var(--blue);outline-offset:-2px}
.account-mode-filter>.button{flex:none;min-height:38px;font-size:12px;padding:7px 12px}
:root[data-palette=crimson] .account-mode-choice{--blue:var(--accent)}
.account-main .account-record-filters{flex-wrap:wrap;justify-content:flex-end}
@container(max-width:600px){
  .account-mode-filter{flex-wrap:wrap;gap:6px}
  .account-mode-options{flex-basis:100%;gap:4px}
  .account-mode-choice{flex:1 0 auto;min-height:44px;padding:7px 8px}
  .account-mode-filter>.button{min-height:44px;margin-left:auto}
  .account-main .account-record-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .account-main .account-record-filters>.button{grid-column:1/-1}
}
.account-workspace{display:grid;grid-template-columns:250px minmax(0,1fr);gap:18px;padding-top:16px;align-items:start}
.account-sidebar{display:grid;grid-template-columns:1fr;gap:14px;grid-row:auto}
.account-main{min-width:0;grid-row:auto}
.account-sidebar-block{padding:16px;border-radius:12px;background:var(--surface);border:1px solid var(--line);box-shadow:0 3px 14px #152b3d04;min-width:0}
.account-sidebar-block>header{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:0 0 14px}
.account-sidebar-block h3{font-size:13px;letter-spacing:.01em;font-weight:650}
.account-sidebar-block>header>span,.account-sidebar-note{font-size:11px;color:var(--muted);line-height:1.6}
.account-current-name{display:block;font-size:13px;overflow-wrap:anywhere;margin-bottom:14px}
.account-level{background:color-mix(in srgb,var(--blue) 9%,var(--surface));padding:3px 7px;border-radius:5px;color:var(--blue)!important;font-variant-numeric:tabular-nums}
.account-sidebar .account-rank-snapshots{display:grid;gap:8px}
.account-sidebar .account-rank-snapshots>.account-rank-card{display:flex;align-items:center;gap:10px;padding:10px 5px;border:0;border-radius:8px;background:linear-gradient(115deg,color-mix(in srgb,var(--rank-color,#7f91a3) 11%,var(--surface)),var(--surface))}
.tier-iron{--rank-color:#978985}.tier-bronze{--rank-color:#ba8661}.tier-silver{--rank-color:#8cabc0}.tier-gold{--rank-color:#cda54f}.tier-platinum{--rank-color:#66b2b2}.tier-emerald{--rank-color:#3eb18c}.tier-diamond{--rank-color:#5d90db}.tier-master{--rank-color:#aa78d2}.tier-grandmaster{--rank-color:#d96979}.tier-challenger{--rank-color:#d4ae58}.tier-unranked,.tier-unknown{--rank-color:#8c9ca9}
.account-rank-emblem{width:70px;height:64px;flex-shrink:0;overflow:visible;color:var(--rank-color,#8c9ca9);filter:drop-shadow(0 3px 4px color-mix(in srgb,currentColor 15%,transparent))}
.rank-wing{fill:color-mix(in srgb,currentColor 25%,var(--surface));stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}
.rank-wing-edge{stroke:currentColor;fill:none;opacity:.75}
.rank-shield{fill:color-mix(in srgb,currentColor 65%,var(--surface));stroke:currentColor;stroke-width:1.5}
.rank-facet{fill:color-mix(in srgb,currentColor 20%,var(--surface));stroke:color-mix(in srgb,currentColor 75%,white);stroke-width:1.4}
.rank-core{fill:currentColor}.rank-spark{fill:none;stroke:color-mix(in srgb,currentColor 20%,white);stroke-width:1.1;opacity:.8}
.account-rank-info{min-width:0;flex:1;display:grid;gap:4px}
.account-sidebar .account-rank-info>span{font-size:10px;color:var(--muted)}
.account-sidebar .account-rank-info>strong{font-size:17px;letter-spacing:.02em;font-weight:700;line-height:1.25}
.account-rank-record{display:flex;justify-content:space-between;gap:7px;align-items:center;font-variant-numeric:tabular-nums}
.account-rank-record>b{font-size:13px}.account-rank-record small{font-size:10px;color:var(--muted)}
.account-win-text{color:var(--account-win)}.account-loss-text{color:var(--account-loss)}
.account-snapshot-time{text-align:right;margin:8px 0 -4px;font-size:10px}
.account-sidebar .account-champion-list{gap:13px}
.account-sidebar .account-champion-stat{gap:7px}
.account-sidebar .account-champion-identity{gap:9px}
.account-sidebar .account-champion-identity>img{width:38px;height:38px;border-radius:9px;border:1px solid color-mix(in srgb,var(--text) 10%,transparent)}
.account-sidebar .account-champion-identity strong{font-size:12px;line-height:1.6}
.account-sidebar .account-champion-identity span{font-size:10px}
.account-sidebar .account-champion-rate{width:46px;min-width:46px}
.account-sidebar .account-champion-rate>strong{font-size:13px;color:var(--account-win);font-weight:650}
.account-champion-rate small{font-size:10px}
.account-sidebar .account-all-champions{margin-top:8px}
.account-sidebar .account-all-champions>summary{font-size:11px;padding:8px 0;color:var(--muted)}
.account-hero-switch{display:flex;gap:12px;margin:0;padding:0 0 9px;border:0;border-bottom:1px solid var(--line);min-width:0}
.account-hero-switch .visually-hidden,.account-hero-switch>input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.account-hero-switch>label{font-size:12px;font-weight:600;color:var(--muted);cursor:pointer;min-height:28px;display:flex;align-items:center;position:relative}
.account-hero-switch>input:checked+label{color:var(--blue)}
.account-hero-switch>input:checked+label:after{content:"";position:absolute;bottom:-10px;left:0;right:0;height:2px;border-radius:2px;background:var(--blue)}
.account-hero-switch>input:focus-visible+label{outline:2px solid var(--blue);outline-offset:3px}
.account-masteries{display:none}
.account-hero-collection:has(input[value="mastery"]:checked) .account-masteries{display:grid;gap:12px;padding-top:14px}
.account-hero-collection:has(input[value="mastery"]:checked) .account-recent-heroes{display:none}
.account-mastery-row{display:flex;align-items:center;gap:10px}
.account-mastery-portrait{position:relative;flex-shrink:0;width:38px;height:38px}
.account-mastery-portrait>img{width:100%;height:100%;object-fit:cover;border-radius:9px}
.account-mastery-portrait>b{position:absolute;bottom:-3px;right:-4px;min-width:18px;line-height:15px;padding:0 3px;border-radius:4px;background:var(--surface);border:1px solid var(--line);color:var(--text);font-size:9px;text-align:center}
.account-mastery-row>span:nth-child(2){display:grid;gap:4px;flex:1;min-width:0}
.account-mastery-row strong{font-size:12px;font-weight:500}
.account-mastery-row small{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.account-mastery-row>svg{width:18px;height:18px;fill:color-mix(in srgb,var(--accent) 15%,transparent);stroke:var(--accent);stroke-width:1.4}
.account-mastery-panel{border-top:1px solid var(--line);margin-top:14px;padding-top:9px}
.account-mastery-panel>summary{display:flex;align-items:center;gap:7px;list-style:none;cursor:pointer;min-height:35px;font-size:12px;color:var(--muted)}
.account-mastery-panel>summary::-webkit-details-marker{display:none}
.account-mastery-panel svg{width:18px;height:18px;fill:color-mix(in srgb,var(--accent) 14%,transparent);stroke:var(--accent);stroke-width:1.5}
.account-position-distribution{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;align-items:end;padding-top:4px}
.account-position-distribution>div{display:flex;align-items:center;flex-direction:column;gap:9px;color:var(--muted)}
.account-position-bar{display:flex;align-items:end;width:25px;height:62px;border-radius:5px;background:var(--surface-2);overflow:hidden}
.account-position-bar>i{display:block;width:100%;background:linear-gradient(0deg,var(--blue),color-mix(in srgb,var(--blue) 45%,var(--surface)));min-height:0;opacity:.85}
.account-position-distribution .role-icon{width:22px;height:22px}
.account-position-distribution .is-played .role-icon{color:var(--blue)}
.account-position-distribution b{font-size:11px;font-weight:500;font-variant-numeric:tabular-nums}
.account-position-distribution small{font-size:9px}
.account-mode-tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:thin;border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:5px;margin-bottom:12px;overscroll-behavior-x:contain}
.account-mode-tabs>a{display:flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;flex:1;min-height:39px;border-radius:7px;color:var(--muted);font-size:12px;padding:8px 11px;transition:background .15s,color .15s}
.account-mode-tabs>a>span{font-size:10px;opacity:.7;font-variant-numeric:tabular-nums}
.account-mode-tabs>a:hover{background:var(--surface-2);color:var(--text)}
.account-mode-tabs>a.is-active{background:color-mix(in srgb,var(--blue) 11%,var(--surface));color:var(--blue);font-weight:700;box-shadow:inset 0 -2px 0 var(--blue)}
.account-mode-tabs>a:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
.account-page-overview{display:grid;grid-template-columns:minmax(210px,1.12fr) minmax(110px,.65fr) minmax(160px,1fr);gap:18px;padding:18px;border-radius:12px;background:var(--surface);border:1px solid var(--line);align-items:center}
.account-overview-label{display:block;color:var(--muted);font-size:11px;margin-bottom:11px}
.account-overview-label>b{font-weight:500;display:inline-block;padding:1px 5px;border-radius:4px;background:var(--surface-2);margin-left:5px}
.account-overview-numbers{display:flex;align-items:center;gap:12px}
.account-page-overview .account-win-ring{width:76px;height:76px;flex-shrink:0;background:conic-gradient(var(--account-win) var(--win-rate),color-mix(in srgb,var(--account-loss) 28%,var(--surface)) 0)}
.account-page-overview .account-win-ring.is-unknown{background:var(--line)}
.account-page-overview .account-win-ring>div{width:calc(100% - 9px);height:calc(100% - 9px);display:flex;flex-direction:column;gap:2px;background:var(--surface)}
.account-page-overview .account-win-ring strong{font-size:22px;line-height:1.2}
.account-page-overview .account-win-ring strong small{font-size:11px}
.account-page-overview .account-win-ring>div>span{font-size:10px;color:var(--muted)}
.account-win-loss{flex:1;min-width:0}
.account-win-loss>b{font-size:19px;font-weight:700;margin-right:8px;white-space:nowrap}
.account-win-loss>b>small{font-size:11px;font-weight:400}
.account-recent-streak{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:3px;margin-top:8px;max-width:150px}
.account-recent-streak>i{display:grid;place-items:center;aspect-ratio:1;border-radius:3px;background:var(--surface-2);color:var(--muted)}
.account-recent-streak>.is-win{background:color-mix(in srgb,var(--account-win) 15%,var(--surface));color:var(--account-win)}
.account-recent-streak>.is-loss{background:color-mix(in srgb,var(--account-loss) 15%,var(--surface));color:var(--account-loss)}
.account-recent-streak svg{width:90%;height:90%;fill:none;stroke:currentColor;stroke-width:1.5}
.account-page-kda{display:grid;gap:0;border-left:1px solid var(--line);padding-left:18px}
.account-page-kda>strong{font-size:30px;letter-spacing:-.03em;color:var(--account-win);line-height:1.2}
.account-page-kda>strong>small{font-size:13px;font-weight:400;letter-spacing:0;color:var(--muted)}
.account-kda-breakdown{display:flex;gap:5px;font-size:12px;margin-top:9px;font-variant-numeric:tabular-nums}
.account-kda-breakdown>b{font-weight:600}.account-kda-breakdown>b:nth-of-type(2){color:var(--account-loss)}
.account-kda-breakdown>i{color:var(--muted);font-style:normal;opacity:.5}
.account-page-kda>span:last-child{font-size:9px;color:var(--muted);margin-top:3px}
.account-page-champions>div{display:flex;align-items:center;gap:8px;font-size:12px;margin:0 0 6px}
.account-page-champions>div:last-child{margin:0}
.account-page-champions img{width:30px;height:30px;border-radius:7px}
.account-page-champions>div>.account-overview-champion-fallback{display:flex!important;align-items:center;justify-content:center;flex:0 0 30px;width:30px;min-height:30px;font-size:9px;line-height:1.3;border-radius:7px;background:var(--surface-2);overflow-wrap:anywhere;text-align:center}
.account-page-champions>div>span{flex:1;min-width:0;display:grid;gap:2px}
.account-page-champions strong{font-size:11px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-page-champions small{font-size:9px;color:var(--muted)}
.account-page-champions b{font-size:12px;color:var(--account-win);font-weight:650}
.account-main .account-records-heading{padding:15px 0 11px;align-items:center}
.account-main .account-records-heading h3{font-size:13px}
.account-main .account-record-counts{font-size:10px;margin-top:4px}
.account-main .account-record-filters select{min-height:35px;border-radius:6px}
.account-main .account-record-filters .button{min-height:35px;border-radius:6px}
.account-history-panel .history-list{gap:9px}
.account-history-panel .account-match-card{border:1px solid var(--line);border-left:3px solid var(--muted);border-radius:10px;background:var(--surface)}
.account-history-panel .account-match-card.is-win{border-left-color:var(--account-win);background:color-mix(in srgb,var(--account-win) 8%,var(--surface))}
.account-history-panel .account-match-card.is-loss{border-left-color:var(--account-loss);background:color-mix(in srgb,var(--account-loss) 8%,var(--surface))}
.account-history-panel .account-match-card:hover{filter:brightness(1.015);box-shadow:0 3px 12px #132b3e08}
.account-main .account-match-summary{grid-template-columns:88px minmax(155px,1.25fr) 94px minmax(105px,.8fr) 26px;gap:8px 12px;padding:12px 14px;min-height:112px}
.account-main .account-match-outcome{grid-column:1;grid-row:1/3}
.account-main .account-match-summary .history-identity{grid-column:2;grid-row:1;gap:6px}
.account-main .account-match-summary .history-kda{grid-column:3;grid-row:1;font-size:18px;text-align:center}
.account-main .account-summary-stats{display:grid;grid-column:4;grid-row:1/3;gap:6px;font-size:11px}
.account-main .account-summary-stats>span{display:flex;gap:5px}
.account-main .account-summary-stats b{font-size:12px;font-weight:600}
.account-main .account-summary-stats small{font-size:10px;min-width:27px}
.account-main .account-match-summary .account-build{grid-column:2/4;grid-row:2;display:flex;align-items:center;gap:5px 8px}
.account-main .account-match-summary .account-champion-portrait{width:44px;height:44px;flex-basis:44px}
.account-main .account-match-summary .account-champion-label{display:block}
.account-main .account-match-summary .account-champion-label>strong{font-size:12px}
.account-main .account-match-summary .account-champion-label>small{font-size:10px!important}
.account-main .account-match-summary .account-item-icons>img,.account-main .account-match-summary .account-item-icons>.account-icon-fallback{width:25px;height:25px;flex-basis:25px;border-radius:4px}
.account-main .account-match-toggle{grid-column:5;grid-row:1/3;font-size:10px}
.account-farm-line{font-size:10px}
.account-farm-line>span{display:inline-flex;align-items:center;gap:5px;margin-right:9px}
.account-farm-line small{font-size:10px;color:var(--muted)}
.account-farm-line .ui-icon{width:13px;height:13px}
.account-summary-stats .ui-icon{width:15px;height:15px;color:var(--muted)}
.account-summary-stats .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.account-summary-stats>span>b{margin-left:auto}
.account-stat-bar{display:block;height:4px;max-width:80px;background:var(--surface-3);margin:4px auto 0;border-radius:2px;overflow:hidden}
.account-stat-bar>i{display:block;height:100%;background:var(--blue)}.side-red .account-stat-bar>i{background:var(--red)}
.account-main .account-scoreboard table{min-width:860px}
@container(min-width:1121px){
  .account-main .account-match-summary{grid-template-columns:88px minmax(150px,1fr) 108px minmax(235px,1.3fr) minmax(110px,.65fr) 24px;grid-template-rows:auto;gap:12px;padding:14px;min-height:98px}
  .account-main .account-match-outcome{grid-column:1;grid-row:1}
  .account-main .account-match-summary .history-identity{grid-column:2;grid-row:1}
  .account-main .account-match-summary .history-kda{grid-column:3;grid-row:1}
  .account-main .account-match-summary .account-build{grid-column:4;grid-row:1;align-self:center}
  .account-main .account-summary-stats{grid-column:5;grid-row:1;gap:7px}
  .account-main .account-match-toggle{grid-column:6;grid-row:1}
  .account-main .account-match-summary .account-champion-label>strong{font-size:13px}
  .account-main .account-match-summary .account-provider-score{font-size:14px}
}
@container(max-width:1120px){
  .account-workspace{grid-template-columns:220px minmax(0,1fr);gap:14px}
  .account-sidebar-block{padding:13px}
  .account-page-overview{grid-template-columns:minmax(195px,1.2fr) minmax(100px,.7fr) minmax(125px,.9fr);gap:12px;padding:14px}
  .account-page-kda{padding-left:12px}
  .account-main .account-match-summary{grid-template-columns:77px minmax(110px,1.1fr) 87px minmax(90px,.8fr) 21px;gap:7px 9px;padding:11px}
  .account-main .account-match-summary .account-champion-label{display:none}
}
@container(max-width:850px){
  .account-workspace{grid-template-columns:1fr}
  .account-sidebar{grid-template-columns:repeat(3,minmax(0,1fr));grid-row:auto}
  .account-sidebar-block:last-child{grid-column:auto}
  .account-main{grid-row:auto}
  .account-rank-emblem{width:53px;height:51px}
  .account-sidebar .account-rank-info>strong{font-size:14px}
  .account-rank-record{flex-wrap:wrap}
  .account-sidebar .account-champion-identity>img{width:30px;height:30px}
  .account-sidebar .account-champion-identity strong{font-size:10px}
  .account-sidebar .account-champion-rate{min-width:32px;width:32px}
}
@container(max-width:600px){
  .account-history-panel .section-heading>[data-player-sync]{flex-basis:100%;max-width:none;justify-content:flex-start;margin:0}
  .account-history-panel [data-player-sync] .profile-sync-button{min-height:44px}
  .account-history-panel [data-player-sync] .profile-sync-message{max-width:180px}
  .account-history-filters select,.account-history-filters .button,.account-main .account-record-filters select,.account-main .account-record-filters .button,.account-mode-tabs>a,.account-hero-switch>label{min-height:44px}
  .account-history-filters{gap:8px;flex-wrap:wrap}
  .account-history-filters .account-name-filter{flex:1 1 100%;max-width:none;order:-1}
  .account-history-filters label{flex:1 1 150px}
  .account-history-filters .button{margin:0;min-height:44px}
  .account-workspace{gap:12px}
  .account-sidebar{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .account-standing{grid-column:1/-1}
  .account-sidebar .account-rank-snapshots{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .account-current-name{font-size:12px;margin-bottom:8px}
  .account-sidebar-block>header{margin-bottom:10px}
  .account-rank-card{gap:5px!important;padding:7px 3px!important}
  .account-rank-emblem{width:47px;height:48px}
  .account-rank-record b{font-size:12px}
  .account-sidebar .account-rank-info>strong{font-size:14px}
  .account-sidebar .account-champion-list{gap:9px}
  .account-sidebar .account-champion-identity{gap:5px}
  .account-sidebar .account-champion-identity>div{min-width:0}
  .account-sidebar .account-champion-identity strong,.account-sidebar .account-champion-identity span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .account-sidebar .account-champion-identity>img{width:28px;height:28px}
  .account-sidebar .account-champion-identity strong{font-size:10px}
  .account-sidebar .account-champion-identity span{font-size:9px}
  .account-sidebar .account-champion-rate>strong{font-size:11px}
  .account-mastery-row{gap:7px}
  .account-mastery-portrait{width:31px;height:31px}
  .account-mastery-row strong,.account-mastery-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .account-mastery-row strong{font-size:11px}
  .account-mastery-row small{font-size:10px}
  .account-mastery-row>svg{display:none}
  .account-position-distribution{gap:4px;padding-top:12px}
  .account-position-bar{width:18px;height:80px}
  .account-position-distribution .role-icon{width:18px;height:18px}
  .account-position-distribution b{font-size:9px}
  .account-mode-tabs{margin-bottom:10px;gap:2px}
  .account-mode-tabs>a{font-size:12px;padding:7px 10px;flex:0 0 auto}
  .account-mode-tabs>a>span{display:none}
  .account-page-overview{grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);gap:12px;padding:14px}
  .account-page-overview .account-win-ring{width:64px;height:64px}
  .account-page-overview .account-win-ring strong{font-size:20px}
  .account-overview-numbers{gap:9px}
  .account-win-loss>b{font-size:16px;margin-right:4px}
  .account-recent-streak{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;max-width:86px}
  .account-page-kda>strong{font-size:27px}
  .account-page-champions{grid-column:1/-1;display:flex;gap:12px;border-top:1px solid var(--line);padding-top:11px}
  .account-page-champions>.account-overview-label{display:none}
  .account-page-champions>div{flex:1;min-width:0;margin:0;gap:5px}
  .account-page-champions img{width:30px;height:30px}
  .account-page-champions strong{display:none}
  .account-page-champions>div>span{display:none}
  .account-page-champions b{font-size:12px}
  .account-main .account-match-summary{grid-template-columns:65px minmax(0,1fr) 78px 19px;gap:7px 8px;padding:10px 8px;position:relative;min-height:142px}
  .account-main .account-match-outcome{grid-column:1;grid-row:1/4;align-self:start}
  .account-main .account-match-summary .history-identity{grid-column:2;grid-row:1}
  .account-main .account-match-summary .history-kda{grid-column:3;grid-row:1;font-size:16px}
  .account-main .account-match-summary .account-build{grid-column:2/4;grid-row:2}
  .account-main .account-match-summary .account-provider-score{position:absolute;left:8px;bottom:11px;font-size:13px}
  .account-main .account-match-summary .account-provider-score>small{display:inline;font-size:9px}
  .account-main .account-summary-stats{grid-column:2/4;grid-row:3;display:flex;flex-wrap:wrap;gap:3px 9px;font-size:9px}
  .account-main .account-summary-stats b{font-size:10px}
  .account-main .account-summary-stats small{display:none}
  .account-main .account-match-toggle{grid-column:4;grid-row:1/4}
  .account-main .account-match-toggle>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .account-main .account-match-summary .account-champion-portrait{width:39px;height:39px;flex-basis:39px}
  .account-main .account-match-summary .account-item-icons>img,.account-main .account-match-summary .account-item-icons>.account-icon-fallback{width:23px;height:23px;flex-basis:23px}
}
@media(prefers-reduced-motion:reduce){.account-mode-tabs>a{transition:none}}


/* cup/icon-language.css */
/* Small shared symbols; text and accessible names carry their meaning. */
svg.ui-icon{display:inline-block;width:1em;height:1em;flex:0 0 auto;vertical-align:-.12em;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.site-header .main-nav>a,.site-header .nav-player-link{gap:6px}
.site-header .main-nav>a>.ui-icon,.site-header .nav-player-link>.ui-icon{width:17px;height:17px;opacity:.8}
.site-header .nav-player-options>a{flex-direction:row;align-items:center;gap:10px;min-height:44px}
.site-header .nav-player-options>a>.ui-icon{width:17px;height:17px;color:var(--muted)}
.site-header .nav-player-options>a:hover>.ui-icon,.site-header .nav-player-options>a[aria-current]>.ui-icon{color:var(--accent)}
.match-outcome>.ui-icon{width:13px;height:13px;stroke-width:2.2}
@media(max-width:850px){.site-header .main-nav>a,.site-header .nav-player-link{gap:4px}.site-header .main-nav>a>.ui-icon,.site-header .nav-player-link>.ui-icon{width:15px;height:15px}}
@media(max-width:390px){.site-header .main-nav>a,.site-header .nav-player-link{font-size:14px}}


/* cup/site-registration.css */
.site-footer.site-registration-footer{flex-direction:column;gap:12px}
.site-footer-description{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 20px}
.site-registration{display:flex;flex-wrap:wrap;gap:6px 18px;line-height:1.7;min-height:1.7em;min-width:0}
.site-registration a{max-width:100%;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:3px}
.site-registration a:hover,.site-registration a:focus-visible{color:var(--text)}
.site-registration-empty{color:var(--muted)}

