* { box-sizing: border-box; }
html { min-width: 320px; background: var(--xm-bg); }
body { margin: 0; min-width: 320px; min-height: 100vh; color: var(--xm-text); font-family: var(--xm-font); font-size: 16px; line-height: 1.45; background: radial-gradient(circle at 66% -20%, rgba(55, 129, 235, .14), transparent 38%), var(--xm-bg); -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; }
a { color: inherit; text-decoration: none; }
button { color: inherit; }
code { padding: 2px 5px; border: 1px solid var(--xm-border-soft); border-radius: 5px; color: #acd1ff; background: rgba(71, 129, 211, .08); }

.xm-app-shell { min-height: 100vh; }
.xm-sidebar { position: fixed; inset: 0 auto 0 0; z-index: 70; width: var(--xm-sidebar-width); display: flex; flex-direction: column; background: rgba(8, 20, 38, .97); border-right: 1px solid var(--xm-border-soft); backdrop-filter: blur(18px); }
.xm-sidebar-backdrop { display: none; }
.xm-brand { min-height: 76px; display: flex; align-items: center; gap: 11px; padding: 14px 18px; border-bottom: 1px solid var(--xm-border-soft); }
.xm-brand img { width: 42px; height: 42px; border-radius: 12px; object-fit: contain; }
.xm-brand-name { font-size: 21px; line-height: 1; font-weight: 850; letter-spacing: -.045em; }
.xm-brand-name span { color: var(--xm-blue); }
.xm-brand-sub { margin-top: 3px; color: #6286b5; font-size: 12px; font-weight: 900; letter-spacing: .14em; }
.xm-sidebar-mode { display: flex; gap: 10px; align-items: center; margin: 12px 10px 2px; padding: 12px; border: 1px solid var(--xm-border-soft); border-radius: 11px; background: rgba(20, 39, 66, .42); }
.xm-sidebar-mode strong, .xm-sidebar-mode small { display: block; }
.xm-sidebar-mode strong { color: #d7e7fb; font-size: 14px; }
.xm-sidebar-mode small { margin-top: 2px; color: var(--xm-muted-2); font-size: 12px; }
.xm-mode-dot { width: 9px; height: 9px; flex: 0 0 9px; border-radius: 50%; background: var(--xm-blue); box-shadow: 0 0 0 5px rgba(75, 152, 255, .07); }
.is-referee .xm-mode-dot { background: var(--xm-red); box-shadow: 0 0 0 5px rgba(255, 100, 124, .07); }
.is-organizer .xm-mode-dot { background: var(--xm-cyan); box-shadow: 0 0 0 5px rgba(45, 212, 191, .07); }
.xm-sidebar-scroll { flex: 1; min-height: 0; overflow-y: auto; padding: 10px; scrollbar-width: thin; }
.xm-nav-label { padding: 14px 9px 7px; color: var(--xm-muted-2); font-size: 12px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.xm-nav-list { display: grid; gap: 4px; }
.xm-nav-link { min-height: 42px; display: flex; align-items: center; gap: 11px; padding: 9px 11px; border: 1px solid transparent; border-radius: 9px; color: var(--xm-muted); font-size: 15px; font-weight: 700; transition: .16s ease; }
.xm-nav-link:hover { color: var(--xm-text); background: rgba(79, 132, 205, .09); }
.xm-nav-link.router-link-active { color: #dbeaff; border-color: rgba(88, 148, 226, .16); background: #1a2b45; }
.xm-nav-link.is-live { color: #79adff; }
.xm-nav-link.is-success { color: #52dcb0; }
.xm-sidebar-footer { padding: 10px; border-top: 1px solid var(--xm-border-soft); }
.xm-switch-zone { min-height: 46px; display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid rgba(45, 212, 191, .18); border-radius: 10px; color: #7fdccc; background: rgba(45, 212, 191, .05); font-size: 14px; font-weight: 800; }

.xm-main-column { min-height: 100vh; margin-left: var(--xm-sidebar-width); }
.xm-topbar { position: sticky; top: 0; z-index: 50; min-height: 68px; display: flex; align-items: center; gap: 12px; padding: 9px 24px; border-bottom: 1px solid var(--xm-border-soft); background: rgba(7, 17, 31, .84); backdrop-filter: blur(16px); }
.xm-page-heading { min-width: 0; }
.xm-page-heading h1 { margin: 0; color: #dbe9fc; font-size: 17px; font-weight: 800; letter-spacing: -.01em; }
.xm-page-heading p { margin: 2px 0 0; color: var(--xm-muted-2); font-size: 13px; }
.xm-topbar-actions { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.xm-icon-button { width: 36px; height: 36px; display: inline-grid; place-items: center; padding: 0; border: 1px solid var(--xm-border); border-radius: 9px; color: #bdcee5; background: #0b1729; cursor: pointer; transition: .16s ease; }
.xm-icon-button:hover { color: white; border-color: #3a5b86; background: #10203a; transform: translateY(-1px); }
.xm-mobile-menu { display: none; }
.xm-user-pill { height: 40px; display: flex; align-items: center; gap: 8px; padding: 4px 9px 4px 5px; border: 1px solid var(--xm-border-soft); border-radius: 11px; background: rgba(16, 31, 53, .78); }
.xm-user-avatar { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 8px; color: #cfe7ff; background: #193a64; font-size: 12px; font-weight: 900; }
.xm-user-copy strong, .xm-user-copy small { display: block; }
.xm-user-copy strong { font-size: 13px; }
.xm-user-copy small { color: var(--xm-muted-2); font-size: 12px; }
.xm-content { width: 100%; max-width: 1680px; margin: 0 auto; padding: 28px 30px 52px; }

.xm-button { min-height: 36px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 8px 13px; border: 1px solid var(--xm-border); border-radius: 9px; color: #c9d8ed; background: #0b1729; font-size: 14px; font-weight: 800; cursor: pointer; transition: .16s ease; }
.xm-button:hover { border-color: #3c5f8c; background: #10203a; transform: translateY(-1px); }
.xm-button.is-primary { border-color: #3d82e6; color: #fff; background: linear-gradient(180deg, #438ff8, #2e70cf); box-shadow: 0 8px 20px rgba(40, 105, 199, .15); }
.xm-button.is-danger { border-color: rgba(255, 100, 124, .34); color: #ff9aac; background: rgba(255, 100, 124, .08); }
.xm-button.is-success { border-color: rgba(57, 215, 165, .34); color: #a0f5d7; background: rgba(57, 215, 165, .08); }
.xm-button.is-compact { min-height: 30px; padding: 5px 9px; font-size: 12px; }
.xm-badge { min-height: 24px; display: inline-flex; align-items: center; justify-content: center; padding: 4px 8px; border: 1px solid var(--xm-border-soft); border-radius: 7px; color: #8da2bf; background: rgba(7, 17, 31, .5); font-size: 12px; font-weight: 900; letter-spacing: .035em; text-transform: uppercase; }
.xm-badge.is-live { border-color: rgba(75, 152, 255, .28); color: #80b7ff; background: rgba(75, 152, 255, .08); }
.xm-badge.is-success { border-color: rgba(57, 215, 165, .24); color: #72e7bf; background: rgba(57, 215, 165, .07); }
.xm-badge.is-warning { border-color: rgba(255, 176, 32, .27); color: #ffc45d; background: rgba(255, 176, 32, .07); }
.xm-badge.is-danger { border-color: rgba(255, 100, 124, .27); color: #ff8fa2; background: rgba(255, 100, 124, .07); }
.xm-badge.is-strong { border-color: #1b2e4d; color: #d5e5fb; background: #0a1527; }

.xm-feature-grid { display: grid; grid-template-columns: repeat(6, minmax(140px, 1fr)); gap: 10px; margin-bottom: 22px; }
.xm-feature-card { min-height: 86px; position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 15px; border: 1px solid #244773; border-radius: 12px; background: linear-gradient(160deg, rgba(16, 31, 54, .96), rgba(10, 22, 40, .94)); transition: .18s ease; overflow: hidden; }
.xm-feature-card:hover { transform: translateY(-2px); border-color: #3b6da9; box-shadow: 0 12px 28px rgba(0, 0, 0, .16); }
.xm-feature-card h2 { margin: 0; color: #d0e2fa; font-size: 17px; line-height: 1.1; text-align: center; }
.xm-feature-card p { margin: 7px 0 0; color: #7891b2; font-size: 11px; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.xm-feature-arrow { position: absolute; right: 9px; top: 9px; width: 23px; height: 23px; display: grid; place-items: center; border-radius: 50%; color: #a7d0ff; background: #1d4f89; }
.xm-health-card { min-height: 58px; display: flex; align-items: center; gap: 12px; margin-bottom: 20px; padding: 0 14px; border: 1px solid var(--xm-border-soft); border-radius: 10px; background: #101d31; }
.xm-health-status { display: flex; align-items: center; gap: 8px; }
.xm-health-status > span { width: 8px; height: 8px; border-radius: 50%; background: var(--xm-green); box-shadow: 0 0 0 5px rgba(57, 215, 165, .06); }
.xm-health-status strong { color: #83e8c6; font-size: 14px; }
.xm-health-status small { margin-left: 5px; color: var(--xm-muted-2); font-size: 12px; }
.xm-health-card .xm-button { margin-left: auto; }
.xm-section-block { margin-top: 18px; }
.xm-section-heading { min-height: 34px; display: flex; align-items: center; gap: 12px; margin-bottom: 11px; }
.xm-section-heading > a { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; color: #7086a4; font-size: 12px; font-weight: 800; }
.xm-section-chip { min-height: 30px; display: inline-flex; align-items: center; gap: 8px; padding: 6px 11px; border: 1px solid #214774; border-radius: 8px; color: #69a8ff; background: #10274a; font-size: 13px; font-weight: 900; }
.xm-section-chip > span { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.xm-section-chip.is-upcoming { color: #54dbb0; border-color: rgba(57, 215, 165, .22); background: rgba(57, 215, 165, .05); }
.xm-event-list { display: grid; gap: 10px; }
.xm-event-card { min-height: 116px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 360px); align-items: center; gap: 18px; padding: 17px 18px; border: 1px solid #24436b; border-radius: 12px; background: #111f34; transition: .16s ease; }
.xm-event-card:hover { border-color: #315a8e; background: #13243c; }
.xm-event-primary { min-width: 0; display: flex; align-items: center; gap: 13px; }
.xm-event-logo { width: 48px; height: 48px; flex: 0 0 48px; display: grid; place-items: center; border: 1px solid #3a526f; border-radius: 12px; color: #d8e8fa; background: #d8e1d3; font-size: 12px; font-weight: 900; }
.xm-event-title { color: #57a0ff; font-size: 16px; font-weight: 850; }
.xm-event-meta { display: flex; align-items: center; gap: 6px; margin: 6px 0 0; color: #66819f; font-size: 12px; }
.xm-event-secondary { min-width: 0; padding-left: 18px; border-left: 1px solid var(--xm-border-soft); }
.xm-badge-row { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.xm-event-actions { display: flex; justify-content: flex-end; gap: 7px; margin-top: 11px; }

.xm-dashboard-header, .xm-referee-hero { display: flex; align-items: flex-end; gap: 18px; margin-bottom: 20px; }
.xm-dashboard-header > div:first-child, .xm-referee-hero > div:first-child { min-width: 0; }
.xm-dashboard-header h2, .xm-referee-hero h2 { margin: 4px 0 4px; color: #e6f0fe; font-size: 24px; letter-spacing: -.035em; }
.xm-dashboard-header p, .xm-referee-hero p { max-width: 760px; margin: 0; color: var(--xm-muted); font-size: 14px; }
.xm-dashboard-header .xm-button { margin-left: auto; }
.xm-eyebrow { color: #5f83af; font-size: 12px; font-weight: 950; letter-spacing: .16em; }
.xm-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 14px; }
.xm-stat-card { min-height: 116px; position: relative; padding: 17px; border: 1px solid var(--xm-border-soft); border-radius: 12px; background: linear-gradient(160deg, #112039, #0d1a2e); overflow: hidden; }
.xm-stat-card::after { content: ''; position: absolute; right: -30px; top: -30px; width: 90px; height: 90px; border-radius: 50%; background: rgba(75, 152, 255, .05); }
.xm-stat-card.is-live::after { background: rgba(75, 152, 255, .1); }
.xm-stat-card.is-success::after { background: rgba(57, 215, 165, .09); }
.xm-stat-card.is-warning::after { background: rgba(255, 176, 32, .09); }
.xm-stat-label, .xm-stat-note { display: block; color: var(--xm-muted); font-size: 12px; }
.xm-stat-label { font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.xm-stat-value { display: block; margin-top: 7px; color: #e9f3ff; font-size: 29px; line-height: 1; letter-spacing: -.035em; }
.xm-stat-note { margin-top: 7px; color: var(--xm-muted-2); }
.xm-dashboard-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(270px, .8fr); gap: 14px; }
.xm-panel-card { min-width: 0; border: 1px solid var(--xm-border-soft); border-radius: 13px; background: #101d31; overflow: hidden; }
.xm-panel-heading { min-height: 68px; display: flex; align-items: center; gap: 12px; padding: 13px 15px; border-bottom: 1px solid var(--xm-border-soft); }
.xm-panel-heading h3 { margin: 0; color: #dce9fa; font-size: 16px; }
.xm-panel-heading p { margin: 3px 0 0; color: var(--xm-muted-2); font-size: 12px; }
.xm-panel-heading > :last-child { margin-left: auto; }
.xm-table-scroll { overflow-x: auto; }
.xm-data-table { width: 100%; border-collapse: collapse; }
.xm-data-table th, .xm-data-table td { padding: 10px 12px; border-bottom: 1px solid var(--xm-border-soft); text-align: left; white-space: nowrap; }
.xm-data-table th { color: #637b9b; background: rgba(5, 13, 24, .24); font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .04em; }
.xm-data-table td { color: #9eb0c7; font-size: 13px; }
.xm-data-table td strong { color: #d4e2f4; font-weight: 750; }
.xm-data-table tbody tr:hover { background: rgba(75, 152, 255, .035); }
.xm-data-table tr:last-child td { border-bottom: 0; }
.xm-cell-actions { text-align: right !important; }
.xm-muted { color: #5f7695 !important; }
.xm-quick-list { display: grid; padding: 7px; }
.xm-quick-list a { display: flex; align-items: center; gap: 10px; min-height: 56px; padding: 8px 9px; border-radius: 9px; transition: .15s ease; }
.xm-quick-list a:hover { background: rgba(74, 135, 215, .07); }
.xm-quick-icon { width: 32px; height: 32px; flex: 0 0 32px; display: grid; place-items: center; border: 1px solid #22456f; border-radius: 8px; color: #73adfa; background: #0c213c; font-size: 12px; font-weight: 900; }
.xm-quick-list strong, .xm-quick-list small { display: block; }
.xm-quick-list strong { color: #cedcf0; font-size: 13px; }
.xm-quick-list small { margin-top: 2px; color: var(--xm-muted-2); font-size: 12px; }
.xm-inline-alert { margin: 12px; padding: 10px 12px; border: 1px solid var(--xm-border-soft); border-radius: 9px; color: var(--xm-muted); background: rgba(11, 23, 41, .8); font-size: 13px; }
.xm-inline-alert.is-warning { border-color: rgba(255, 176, 32, .24); color: #d7b372; background: rgba(255, 176, 32, .05); }
.xm-empty-state { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 270px; padding: 28px; text-align: center; }
.xm-empty-state strong { color: #d8e7fa; font-size: 16px; }
.xm-empty-state span { max-width: 520px; margin-top: 5px; color: var(--xm-muted); font-size: 13px; }
.xm-skeleton-list { display: grid; gap: 1px; background: var(--xm-border-soft); }
.xm-skeleton-list span { height: 50px; background: linear-gradient(90deg, #101d31, #152742, #101d31); background-size: 200% 100%; animation: xm-shimmer 1.4s infinite; }
@keyframes xm-shimmer { to { background-position: -200% 0; } }

.xm-referee-hero { align-items: center; padding: 18px; border: 1px solid rgba(255, 100, 124, .12); border-radius: 13px; background: linear-gradient(160deg, rgba(39, 29, 44, .58), rgba(16, 29, 49, .96)); }
.xm-connection-pill { margin-left: auto; display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; border: 1px solid rgba(57, 215, 165, .2); border-radius: 999px; color: #72e7bf; background: rgba(57, 215, 165, .06); font-size: 12px; font-weight: 950; }
.xm-connection-pill > span { width: 7px; height: 7px; border-radius: 50%; background: var(--xm-green); }
.xm-referee-list { display: grid; gap: 9px; }
.xm-referee-event { min-height: 78px; display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid #273d5f; border-radius: 12px; background: #111f34; transition: .16s ease; }
.xm-referee-event:hover { transform: translateY(-1px); border-color: #3d5d8b; background: #14243b; }
.xm-referee-event-icon { width: 46px; height: 46px; flex: 0 0 46px; display: grid; place-items: center; border: 1px solid rgba(255, 100, 124, .18); border-radius: 11px; color: #ff8fa2; background: rgba(255, 100, 124, .055); }
.xm-referee-event-copy { min-width: 0; flex: 1; }
.xm-referee-event-copy strong, .xm-referee-event-copy span { display: block; }
.xm-referee-event-copy strong { color: #dce9f9; font-size: 15px; }
.xm-referee-event-copy span { margin-top: 4px; color: var(--xm-muted); font-size: 12px; }
.xm-referee-empty, .xm-placeholder-screen { min-height: 460px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 34px; border: 1px solid var(--xm-border-soft); border-radius: 14px; background: #101d31; text-align: center; }
.xm-referee-empty-icon, .xm-placeholder-mark { width: 70px; height: 70px; display: grid; place-items: center; margin-bottom: 14px; border: 1px solid #294b77; border-radius: 18px; color: #79adff; background: #102746; }
.xm-referee-empty h3, .xm-placeholder-screen h2 { margin: 7px 0 5px; color: #e0ecfb; font-size: 20px; letter-spacing: -.02em; }
.xm-referee-empty p, .xm-placeholder-screen p { max-width: 660px; margin: 0; color: var(--xm-muted); font-size: 13px; }
.xm-referee-demo-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 18px; }
.xm-placeholder-screen .xm-button { margin-top: 18px; }

.xm-bottom-nav { display: none; }

@media (max-width: 1200px) {
  .xm-feature-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .xm-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  :root { --xm-sidebar-width: 250px; }
  .xm-sidebar { transform: translateX(-102%); transition: transform .2s ease; box-shadow: 22px 0 50px rgba(0, 0, 0, .34); }
  .xm-sidebar.is-open { transform: translateX(0); }
  .xm-sidebar-backdrop { position: fixed; inset: 0; z-index: 60; display: block; opacity: 0; visibility: hidden; background: rgba(2, 7, 14, .64); transition: .2s ease; }
  .xm-sidebar-backdrop.is-open { opacity: 1; visibility: visible; }
  .xm-main-column { margin-left: 0; }
  .xm-mobile-menu { display: inline-grid; }
  .xm-content { padding: 20px 18px 86px; }
  .xm-dashboard-grid { grid-template-columns: 1fr; }
  .xm-event-card { grid-template-columns: 1fr; }
  .xm-event-secondary { padding: 12px 0 0; border-top: 1px solid var(--xm-border-soft); border-left: 0; }
  .xm-badge-row, .xm-event-actions { justify-content: flex-start; }
  .xm-bottom-nav { position: fixed; z-index: 55; right: 0; bottom: 0; left: 0; min-height: 64px; display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid var(--xm-border-soft); background: rgba(7, 17, 31, .94); backdrop-filter: blur(18px); }
  .xm-bottom-nav a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; color: #7186a3; font-size: 12px; font-weight: 800; }
  .xm-bottom-nav a.router-link-active { color: #74adf8; background: rgba(75, 152, 255, .05); }
}

@media (max-width: 650px) {
  .xm-topbar { min-height: 60px; padding: 8px 12px; }
  .xm-page-heading p, .xm-user-copy { display: none; }
  .xm-user-pill { width: 38px; padding: 4px; }
  .xm-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .xm-feature-card { min-height: 82px; }
  .xm-feature-card h2 { font-size: 16px; }
  .xm-health-status small { display: none; }
  .xm-stat-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .xm-stat-card { min-height: 105px; padding: 14px; }
  .xm-stat-value { font-size: 25px; }
  .xm-dashboard-header, .xm-referee-hero { align-items: flex-start; flex-direction: column; }
  .xm-dashboard-header .xm-button, .xm-connection-pill { margin-left: 0; }
  .xm-dashboard-header h2, .xm-referee-hero h2 { font-size: 21px; }
  .xm-event-card { padding: 14px; }
  .xm-event-logo { width: 43px; height: 43px; flex-basis: 43px; }
  .xm-event-title { font-size: 15px; }
  .xm-data-table th:nth-child(3), .xm-data-table td:nth-child(3) { display: none; }
  .xm-referee-event { min-height: 84px; }
}

/* --- xTraMarlin 2.0 / Organizer / Competitions --- */
.xm-button:disabled,
.xm-icon-button:disabled,
.xm-action-button:disabled,
.xm-page-button:disabled { opacity: .45; cursor: not-allowed; transform: none !important; }

.xm-competitions-hero { align-items: center; }
.xm-mini-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: -5px 0 14px; }
.xm-mini-stats > div { min-height: 58px; display: flex; flex-direction: column; justify-content: center; padding: 10px 13px; border: 1px solid var(--xm-border-soft); border-radius: 10px; background: rgba(16, 29, 49, .72); }
.xm-mini-stats span { color: var(--xm-muted-2); font-size: 12px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.xm-mini-stats strong { margin-top: 3px; color: #dceafa; font-size: 18px; }
.xm-mini-stats strong.is-api { color: #60dcbc; font-size: 14px; text-transform: uppercase; letter-spacing: .06em; }

.xm-competition-panel { overflow: visible; }
.xm-toolbar-heading { flex-wrap: wrap; }
.xm-search-form { margin-left: auto; display: flex; align-items: center; gap: 7px; }
.xm-search-box { width: min(340px, 38vw); min-height: 36px; display: flex; align-items: center; gap: 8px; padding: 0 10px; border: 1px solid var(--xm-border); border-radius: 9px; color: #6f88aa; background: #0a1628; transition: .16s ease; }
.xm-search-box:focus-within { border-color: #3d6fa8; box-shadow: 0 0 0 3px rgba(75, 152, 255, .06); }
.xm-search-box input { width: 100%; min-width: 0; border: 0; outline: 0; color: #d7e7fb; background: transparent; font-size: 13px; }
.xm-search-box input::placeholder { color: #526986; }

.xm-competition-list { display: grid; }
.xm-competition-item { border-bottom: 1px solid var(--xm-border-soft); background: rgba(13, 26, 45, .36); transition: background .16s ease; }
.xm-competition-item:last-child { border-bottom: 0; }
.xm-competition-item:hover,
.xm-competition-item.is-expanded { background: rgba(20, 39, 66, .52); }
.xm-competition-row { min-height: 86px; display: grid; grid-template-columns: 34px 50px minmax(260px, 1.6fr) minmax(130px, .65fr) minmax(150px, .7fr) auto; align-items: center; gap: 11px; padding: 11px 14px 11px 10px; }
.xm-expand-button { width: 32px; height: 32px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 8px; color: #647f9e; background: transparent; cursor: pointer; transition: .16s ease; }
.xm-expand-button:hover { color: #b9d8ff; background: rgba(75, 152, 255, .08); }
.xm-competition-item.is-expanded .xm-expand-button svg { transform: rotate(180deg); }
.xm-expand-button svg { transition: transform .18s ease; }
.xm-competition-avatar { width: 46px; height: 46px; display: grid; place-items: center; overflow: hidden; border: 1px solid #2b476c; border-radius: 11px; color: #7dacdf; background: #10223a; }
.xm-competition-avatar img { width: 100%; height: 100%; object-fit: contain; }
.xm-competition-main { min-width: 0; }
.xm-competition-title-line { display: flex; align-items: center; gap: 8px; min-width: 0; }
.xm-competition-title-line > strong { min-width: 0; overflow: hidden; color: #d9e8fa; font-size: 15px; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
.xm-competition-title-line .xm-badge { flex: 0 0 auto; }
.xm-competition-en { display: block; margin-top: 3px; overflow: hidden; color: #647b99; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.xm-competition-meta { display: flex; flex-wrap: wrap; gap: 6px 12px; margin-top: 7px; color: #6e86a4; font-size: 12px; }
.xm-competition-meta span { display: inline-flex; align-items: center; gap: 4px; min-width: 0; }
.xm-competition-method,
.xm-competition-location { min-width: 0; }
.xm-competition-method span,
.xm-competition-location span { display: block; color: #536b89; font-size: 11px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.xm-competition-method strong,
.xm-competition-location strong { display: block; margin-top: 4px; overflow: hidden; color: #9bb0cb; font-size: 12px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.xm-row-actions { display: flex; align-items: center; justify-content: flex-end; gap: 5px; }
.xm-action-button { width: 31px; height: 31px; display: inline-grid; place-items: center; padding: 0; border: 1px solid var(--xm-border-soft); border-radius: 8px; color: #7f9bbb; background: #0b182a; cursor: pointer; transition: .16s ease; }
.xm-action-button:hover { color: #d7eaff; border-color: #315b89; background: #11243c; transform: translateY(-1px); }
.xm-action-button.is-danger { color: #bd7180; }
.xm-action-button.is-danger:hover { color: #ff95a7; border-color: rgba(255, 100, 124, .3); background: rgba(255, 100, 124, .08); }

.xm-rounds-zone { padding: 0 14px 14px 94px; }
.xm-rounds-zone::before { content: ''; display: block; height: 1px; margin-bottom: 11px; background: linear-gradient(90deg, rgba(75, 152, 255, .22), transparent 84%); }
.xm-rounds-header { display: flex; align-items: center; gap: 12px; min-height: 42px; }
.xm-rounds-header > div { min-width: 0; }
.xm-rounds-header strong { display: block; margin-top: 2px; overflow: hidden; color: #b7cbe3; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.xm-rounds-header .xm-button { margin-left: auto; }
.xm-round-list { display: grid; gap: 6px; margin-top: 7px; }
.xm-round-card { min-height: 58px; display: grid; grid-template-columns: 30px minmax(200px, 1fr) minmax(155px, .65fr) minmax(155px, .65fr) auto; align-items: center; gap: 10px; padding: 8px 9px; border: 1px solid rgba(148, 180, 224, .1); border-radius: 9px; background: rgba(7, 17, 31, .48); }
.xm-round-index { width: 26px; height: 26px; display: grid; place-items: center; border: 1px solid #23476f; border-radius: 7px; color: #75aef8; background: #0f2542; font-size: 12px; font-weight: 900; }
.xm-round-name { min-width: 0; }
.xm-round-name strong,
.xm-round-name span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.xm-round-name strong { color: #c5d7ec; font-size: 12px; }
.xm-round-name span { margin-top: 2px; color: #607895; font-size: 12px; }
.xm-round-time span { display: block; color: #506985; font-size: 11px; font-weight: 850; text-transform: uppercase; }
.xm-round-time strong { display: block; margin-top: 3px; color: #8fa6c2; font-size: 12px; font-weight: 750; }
.xm-round-loading,
.xm-round-empty { margin-top: 7px; padding: 13px; border: 1px dashed rgba(148, 180, 224, .12); border-radius: 9px; color: #657e9c; background: rgba(7, 17, 31, .3); font-size: 12px; }

.xm-pagination-bar { min-height: 56px; display: flex; align-items: center; gap: 14px; padding: 9px 13px; border-top: 1px solid var(--xm-border-soft); background: rgba(7, 17, 31, .24); }
.xm-pagination-copy { color: #647e9e; font-size: 12px; }
.xm-page-size { margin-left: auto; display: flex; align-items: center; gap: 7px; color: #647e9e; font-size: 12px; }
.xm-page-size select { min-height: 30px; padding: 4px 27px 4px 8px; border: 1px solid var(--xm-border); border-radius: 7px; outline: 0; color: #b9cce3; background: #0a1628; font-size: 12px; }
.xm-pagination-buttons { display: flex; align-items: center; gap: 7px; }
.xm-pagination-buttons > span { min-width: 48px; color: #8096b2; font-size: 12px; text-align: center; }
.xm-page-button { width: 30px; height: 30px; display: grid; place-items: center; padding: 0; border: 1px solid var(--xm-border); border-radius: 7px; color: #a8bed8; background: #0b1729; cursor: pointer; }
.xm-page-button:not(:disabled):hover { color: white; border-color: #3a5d8a; background: #11233b; }
.xm-competition-skeleton span { height: 86px; }
.xm-empty-icon { width: 56px; height: 56px; display: grid; place-items: center; margin-bottom: 12px; border: 1px solid #294b77; border-radius: 14px; color: #78aff8; background: #102746; }
.xm-empty-state .xm-button { margin-top: 14px; }

html.xm-modal-open { overflow: hidden; }
.xm-modal-layer { position: fixed; inset: 0; z-index: 120; display: flex; align-items: center; justify-content: center; padding: 24px; background: rgba(2, 7, 14, .76); backdrop-filter: blur(8px); overflow-y: auto; }
.xm-modal { width: min(100%, 720px); max-height: min(900px, calc(100vh - 48px)); display: flex; flex-direction: column; overflow: hidden; border: 1px solid #2b466b; border-radius: 16px; background: #0d1a2d; box-shadow: 0 34px 100px rgba(0, 0, 0, .52); }
.xm-modal.is-sm { max-width: 460px; }
.xm-modal.is-md { max-width: 680px; }
.xm-modal.is-lg { max-width: 900px; }
.xm-modal.is-xl { max-width: 1080px; }
.xm-modal-header { min-height: 72px; display: flex; align-items: center; gap: 14px; padding: 14px 17px; border-bottom: 1px solid var(--xm-border-soft); background: rgba(18, 35, 59, .68); }
.xm-modal-header > div { min-width: 0; }
.xm-modal-header h2 { margin: 0; color: #e2edfb; font-size: 18px; letter-spacing: -.02em; }
.xm-modal-header p { margin: 3px 0 0; color: #687f9c; font-size: 12px; }
.xm-modal-header .xm-icon-button { margin-left: auto; flex: 0 0 36px; }
.xm-modal-body { min-height: 0; overflow-y: auto; padding: 17px; }
.xm-modal-footer { min-height: 62px; display: flex; align-items: center; justify-content: flex-end; gap: 8px; padding: 11px 17px; border-top: 1px solid var(--xm-border-soft); background: rgba(7, 17, 31, .48); }
.xm-modal-fade-enter-active,
.xm-modal-fade-leave-active { transition: opacity .16s ease; }
.xm-modal-fade-enter-active .xm-modal,
.xm-modal-fade-leave-active .xm-modal { transition: transform .18s ease, opacity .18s ease; }
.xm-modal-fade-enter-from,
.xm-modal-fade-leave-to { opacity: 0; }
.xm-modal-fade-enter-from .xm-modal { opacity: 0; transform: translateY(12px) scale(.985); }
.xm-modal-fade-leave-to .xm-modal { opacity: 0; transform: translateY(8px) scale(.99); }

.xm-confirm-copy { display: grid; grid-template-columns: 50px 1fr; align-items: center; gap: 13px; min-height: 86px; }
.xm-confirm-copy p { margin: 0; color: #9bb0ca; font-size: 13px; line-height: 1.6; }
.xm-confirm-icon { width: 50px; height: 50px; display: grid; place-items: center; border: 1px solid rgba(75, 152, 255, .22); border-radius: 13px; color: #79b2ff; background: rgba(75, 152, 255, .07); }
.xm-confirm-icon.is-danger { border-color: rgba(255, 100, 124, .24); color: #ff8fa1; background: rgba(255, 100, 124, .07); }

.xm-toast-stack { position: fixed; z-index: 180; right: 18px; bottom: 18px; width: min(370px, calc(100vw - 36px)); display: grid; gap: 8px; pointer-events: none; }
.xm-toast { width: 100%; min-height: 52px; display: grid; grid-template-columns: 30px 1fr; align-items: center; gap: 9px; padding: 9px 11px; border: 1px solid #2b486f; border-radius: 11px; color: #bcd0e8; background: rgba(13, 28, 48, .97); box-shadow: 0 18px 50px rgba(0, 0, 0, .34); text-align: left; cursor: pointer; pointer-events: auto; backdrop-filter: blur(14px); }
.xm-toast.is-success { border-color: rgba(57, 215, 165, .28); }
.xm-toast.is-danger { border-color: rgba(255, 100, 124, .3); }
.xm-toast.is-warning { border-color: rgba(255, 176, 32, .28); }
.xm-toast-icon { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 8px; color: #79b0f8; background: rgba(75, 152, 255, .08); }
.xm-toast.is-success .xm-toast-icon { color: #66deb7; background: rgba(57, 215, 165, .08); }
.xm-toast.is-danger .xm-toast-icon { color: #ff91a4; background: rgba(255, 100, 124, .08); }
.xm-toast > span:last-child { font-size: 12px; line-height: 1.45; }
.xm-toast-enter-active,
.xm-toast-leave-active { transition: .2s ease; }
.xm-toast-enter-from,
.xm-toast-leave-to { opacity: 0; transform: translateX(20px); }

.xm-form-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.xm-form-section { min-width: 0; padding: 13px; border: 1px solid var(--xm-border-soft); border-radius: 11px; background: rgba(16, 32, 54, .5); }
.xm-form-section.xm-span-2 { grid-column: 1 / -1; }
.xm-form-section-title { display: flex; align-items: center; gap: 9px; margin-bottom: 12px; }
.xm-form-section-title > span { width: 28px; height: 28px; display: grid; place-items: center; flex: 0 0 28px; border: 1px solid #294d78; border-radius: 8px; color: #77aff7; background: #102744; font-size: 11px; font-weight: 950; }
.xm-form-section-title strong,
.xm-form-section-title small { display: block; }
.xm-form-section-title strong { color: #cadbef; font-size: 13px; }
.xm-form-section-title small { margin-top: 2px; color: #5b728e; font-size: 12px; }
.xm-form-grid { display: grid; gap: 10px; }
.xm-form-grid.is-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.xm-form-stack { display: grid; gap: 10px; }
.xm-field { min-width: 0; display: grid; gap: 5px; }
.xm-field > span { color: #7088a7; font-size: 12px; font-weight: 800; }
.xm-field input,
.xm-field select,
.xm-field textarea { width: 100%; min-height: 40px; padding: 8px 10px; border: 1px solid #263f62; border-radius: 8px; outline: 0; color: #d1e0f2; background: #091626; font-size: 13px; transition: .15s ease; }
.xm-field input:focus,
.xm-field select:focus,
.xm-field textarea:focus { border-color: #3c6fa8; box-shadow: 0 0 0 3px rgba(75, 152, 255, .06); }
.xm-field input::placeholder,
.xm-field textarea::placeholder { color: #4c627e; }
.xm-poster-editor { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 13px; align-items: stretch; }
.xm-poster-preview { min-height: 130px; overflow: hidden; border: 1px dashed #315174; border-radius: 11px; background: #091626; }
.xm-poster-preview img { width: 100%; height: 100%; min-height: 130px; display: block; object-fit: contain; }
.xm-poster-preview > div { height: 100%; min-height: 130px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; color: #52708f; }
.xm-poster-preview > div span { font-size: 12px; }
.xm-poster-fields { display: flex; flex-direction: column; justify-content: center; gap: 9px; }
.xm-file-field input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.xm-file-field > span { min-height: 39px; display: flex; align-items: center; justify-content: center; gap: 7px; padding: 8px 10px; border: 1px dashed #315174; border-radius: 8px; color: #79a4d5; background: rgba(75, 152, 255, .04); font-size: 12px; font-weight: 800; cursor: pointer; }
.xm-file-field > span:hover { border-color: #4776ac; background: rgba(75, 152, 255, .07); }
.xm-text-button { align-self: flex-start; padding: 0; border: 0; color: #778da8; background: transparent; font-size: 12px; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.xm-text-button:hover { color: #a9bdd4; }
.xm-email-report { min-height: 160px; max-height: 440px; margin: 0; overflow: auto; padding: 13px; border: 1px solid var(--xm-border-soft); border-radius: 9px; color: #9fb4ce; background: #081423; font: 9px/1.7 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: pre-wrap; }

.xm-expand-enter-active,
.xm-expand-leave-active { transition: opacity .16s ease, transform .16s ease; transform-origin: top; }
.xm-expand-enter-from,
.xm-expand-leave-to { opacity: 0; transform: translateY(-5px); }

@media (max-width: 1240px) {
  .xm-competition-row { grid-template-columns: 34px 50px minmax(240px, 1.5fr) minmax(130px, .65fr) auto; }
  .xm-competition-location { display: none; }
  .xm-round-card { grid-template-columns: 30px minmax(190px, 1fr) minmax(145px, .65fr) minmax(145px, .65fr) auto; }
}

@media (max-width: 980px) {
  .xm-toolbar-heading { align-items: stretch; }
  .xm-toolbar-heading > div:first-child { width: 100%; }
  .xm-search-form { width: 100%; margin-left: 0; }
  .xm-search-box { width: auto; flex: 1; }
  .xm-competition-row { grid-template-columns: 34px 46px minmax(220px, 1fr) auto; }
  .xm-competition-method,
  .xm-competition-location { display: none; }
  .xm-rounds-zone { padding-left: 68px; }
  .xm-round-card { grid-template-columns: 30px minmax(180px, 1fr) minmax(145px, .75fr) auto; }
  .xm-round-card .xm-round-time:nth-of-type(4) { display: none; }
}

@media (max-width: 650px) {
  .xm-mini-stats { grid-template-columns: 1fr 1fr; }
  .xm-search-form { flex-wrap: wrap; }
  .xm-search-box { flex-basis: 100%; }
  .xm-competition-row { grid-template-columns: 30px 42px minmax(0, 1fr); gap: 8px; padding: 11px 10px 9px 8px; }
  .xm-competition-avatar { width: 40px; height: 40px; border-radius: 9px; }
  .xm-competition-title-line { align-items: flex-start; flex-direction: column; gap: 4px; }
  .xm-competition-title-line > strong { width: 100%; white-space: normal; }
  .xm-competition-meta { gap: 4px 9px; }
  .xm-competition-row > .xm-row-actions { grid-column: 2 / -1; justify-content: flex-start; padding: 2px 0 0; }
  .xm-action-button { width: 34px; height: 34px; }
  .xm-rounds-zone { padding: 0 10px 11px 42px; }
  .xm-rounds-header { align-items: flex-start; flex-direction: column; padding-bottom: 5px; }
  .xm-rounds-header .xm-button { margin-left: 0; }
  .xm-round-card { grid-template-columns: 28px minmax(0, 1fr) auto; gap: 7px; }
  .xm-round-card .xm-round-time { grid-column: 2 / -1; }
  .xm-round-card .xm-round-time:nth-of-type(4) { display: block; }
  .xm-round-card > .xm-row-actions { grid-column: 2 / -1; justify-content: flex-start; }
  .xm-pagination-bar { align-items: flex-start; flex-wrap: wrap; }
  .xm-page-size { margin-left: 0; }
  .xm-pagination-buttons { margin-left: auto; }
  .xm-modal-layer { align-items: flex-end; padding: 0; }
  .xm-modal { max-height: calc(100vh - 18px); border-right: 0; border-bottom: 0; border-left: 0; border-radius: 17px 17px 0 0; }
  .xm-modal-header { min-height: 66px; padding: 12px 13px; }
  .xm-modal-body { padding: 13px; }
  .xm-modal-footer { padding: 10px 13px calc(10px + env(safe-area-inset-bottom)); }
  .xm-form-layout { grid-template-columns: 1fr; }
  .xm-form-section.xm-span-2 { grid-column: auto; }
  .xm-form-grid.is-2 { grid-template-columns: 1fr; }
  .xm-poster-editor { grid-template-columns: 1fr; }
  .xm-poster-preview { min-height: 170px; }
  .xm-poster-preview img { min-height: 170px; max-height: 260px; }
  .xm-toast-stack { right: 10px; bottom: 76px; width: calc(100vw - 20px); }
}

/* --- xTraMarlin 2.0 / Organizer / Competition setup --- */
.xm-action-button.is-primary { color: #73aef9; border-color: rgba(75, 152, 255, .24); background: rgba(75, 152, 255, .06); }
.xm-action-button.is-primary:hover { color: #d8eaff; border-color: #3c6fa8; background: rgba(75, 152, 255, .12); }
.xm-action-button.is-save { color: #69dfb8; border-color: rgba(57, 215, 165, .22); background: rgba(57, 215, 165, .05); }
.xm-action-button.is-save:hover { color: #a9f2da; border-color: rgba(57, 215, 165, .42); background: rgba(57, 215, 165, .1); }

.xm-setup-hero { align-items: center; }
.xm-setup-selector-card { min-height: 76px; display: grid; grid-template-columns: minmax(260px, .9fr) minmax(360px, 1.1fr); align-items: center; gap: 24px; margin-bottom: 12px; padding: 13px 15px; border: 1px solid var(--xm-border-soft); border-radius: 13px; background: linear-gradient(135deg, rgba(18, 35, 59, .88), rgba(10, 24, 42, .82)); }
.xm-setup-selector-copy { display: flex; align-items: center; gap: 11px; min-width: 0; }
.xm-setup-number { width: 34px; height: 34px; display: grid; place-items: center; flex: 0 0 34px; border: 1px solid #2e5686; border-radius: 9px; color: #78b1fb; background: #102846; font-size: 12px; font-weight: 950; }
.xm-setup-selector-copy strong, .xm-setup-selector-copy small { display: block; }
.xm-setup-selector-copy strong { color: #d2e2f5; font-size: 14px; }
.xm-setup-selector-copy small { margin-top: 3px; color: #687f9d; font-size: 12px; line-height: 1.45; }
.xm-setup-select-wrap { position: relative; min-width: 0; }
.xm-setup-select-wrap select { width: 100%; min-height: 44px; padding: 8px 42px 8px 12px; appearance: none; border: 1px solid #2b486f; border-radius: 10px; outline: 0; color: #d4e4f7; background: #091727; font-size: 13px; font-weight: 750; cursor: pointer; transition: .16s ease; }
.xm-setup-select-wrap select:focus { border-color: #467bb8; box-shadow: 0 0 0 3px rgba(75, 152, 255, .07); }
.xm-setup-select-wrap svg { position: absolute; top: 50%; right: 13px; color: #7290b4; transform: translateY(-50%) rotate(90deg); pointer-events: none; }

.xm-setup-welcome { min-height: 370px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 34px; border: 1px dashed rgba(133, 169, 217, .16); border-radius: 14px; color: #6f87a4; background: rgba(9, 22, 38, .42); text-align: center; }
.xm-setup-welcome-icon { width: 68px; height: 68px; display: grid; place-items: center; margin-bottom: 14px; border: 1px solid #2c5482; border-radius: 18px; color: #78aff7; background: #102641; }
.xm-setup-welcome h3 { margin: 7px 0 0; color: #d4e3f5; font-size: 18px; }
.xm-setup-welcome p { max-width: 660px; margin: 8px 0 0; color: #69819f; font-size: 13px; line-height: 1.65; }

.xm-selected-competition { min-height: 82px; display: grid; grid-template-columns: 48px minmax(230px, 1fr) auto auto; align-items: center; gap: 12px; margin-bottom: 10px; padding: 11px 13px; border: 1px solid var(--xm-border-soft); border-radius: 13px; background: rgba(16, 30, 51, .72); }
.xm-selected-competition-mark { width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid #315983; border-radius: 12px; color: #76adf6; background: #102640; }
.xm-selected-competition-copy { min-width: 0; }
.xm-selected-competition-copy h3 { margin: 2px 0 0; overflow: hidden; color: #dbe9f9; font-size: 16px; text-overflow: ellipsis; white-space: nowrap; }
.xm-selected-meta { display: flex; flex-wrap: wrap; gap: 6px 10px; margin-top: 5px; color: #667f9d; font-size: 12px; }
.xm-setup-counts { display: flex; align-items: stretch; overflow: hidden; border: 1px solid var(--xm-border-soft); border-radius: 10px; background: rgba(7, 17, 31, .44); }
.xm-setup-counts > div { min-width: 68px; display: grid; place-items: center; gap: 1px; padding: 7px 10px; border-right: 1px solid var(--xm-border-soft); text-align: center; }
.xm-setup-counts > div:last-child { border-right: 0; }
.xm-setup-counts strong { color: #d8e7f8; font-size: 16px; }
.xm-setup-counts span { color: #607895; font-size: 11px; font-weight: 850; text-transform: uppercase; }

.xm-setup-tabs { display: flex; gap: 6px; margin-bottom: 10px; padding: 5px; border: 1px solid var(--xm-border-soft); border-radius: 12px; background: rgba(8, 20, 35, .72); }
.xm-setup-tabs button { min-height: 42px; flex: 1 1 0; display: flex; align-items: center; justify-content: center; gap: 7px; padding: 7px 10px; border: 1px solid transparent; border-radius: 9px; color: #6f89a9; background: transparent; font: inherit; font-size: 12px; font-weight: 850; cursor: pointer; transition: .16s ease; }
.xm-setup-tabs button:hover { color: #b7cce5; background: rgba(75, 152, 255, .05); }
.xm-setup-tabs button.is-active { color: #d9eaff; border-color: #2b5687; background: linear-gradient(180deg, rgba(44, 92, 149, .28), rgba(30, 67, 111, .18)); box-shadow: inset 0 1px rgba(255,255,255,.025); }
.xm-setup-tabs b { min-width: 21px; height: 20px; display: grid; place-items: center; padding: 0 5px; border-radius: 6px; color: #8dbbfa; background: rgba(75, 152, 255, .1); font-size: 11px; }

.xm-setup-panel { min-height: 360px; overflow: visible; }
.xm-setup-toolbar { flex-wrap: wrap; }
.xm-setup-toolbar-actions { margin-left: auto; display: flex; align-items: center; gap: 7px; }
.xm-setup-toolbar-actions .xm-search-box { width: min(330px, 32vw); }
.xm-assignment-list { display: grid; }
.xm-assignment-row, .xm-fish-rule-row { min-height: 76px; display: grid; align-items: center; gap: 11px; padding: 10px 13px; border-top: 1px solid var(--xm-border-soft); background: rgba(11, 24, 42, .22); transition: background .15s ease; }
.xm-assignment-row:first-child, .xm-fish-rule-row:first-child { border-top: 0; }
.xm-assignment-row:hover, .xm-fish-rule-row:hover { background: rgba(20, 39, 66, .45); }
.xm-assignment-row.is-team { grid-template-columns: 48px minmax(280px, 1fr) minmax(190px, .4fr) 34px; }
.xm-assignment-row.is-referee { grid-template-columns: 48px minmax(280px, 1fr) auto 34px; }
.xm-fish-rule-row { grid-template-columns: 48px minmax(210px, .8fr) minmax(150px, .36fr) minmax(200px, .55fr) auto; }
.xm-assignment-avatar { position: relative; width: 46px; height: 46px; display: grid; place-items: center; overflow: hidden; border: 1px solid #315073; border-radius: 11px; color: #88b9f5; background: #10253f; font-size: 13px; font-weight: 950; }
.xm-assignment-avatar.is-photo span { position: absolute; inset: 0; z-index: 0; display: grid; place-items: center; }
.xm-assignment-avatar.is-photo img, .xm-assignment-avatar.is-fish img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: contain; background: #10253f; }
.xm-assignment-avatar.is-fish svg { position: absolute; z-index: 0; }
.xm-assignment-avatar.is-initials { color: #71dfbd; border-color: rgba(57, 215, 165, .24); background: rgba(57, 215, 165, .08); }
.xm-assignment-main { min-width: 0; }
.xm-assignment-title { display: flex; align-items: center; gap: 7px; min-width: 0; }
.xm-assignment-title strong { overflow: hidden; color: #cfdef0; font-size: 13px; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
.xm-assignment-title > span { flex: 0 0 auto; color: #506a88; font-size: 11px; }
.xm-assignment-main > p { margin: 3px 0 0; overflow: hidden; color: #7188a4; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.xm-assignment-meta { display: flex; flex-wrap: wrap; gap: 4px 9px; margin-top: 5px; color: #526b89; font-size: 11px; }
.xm-start-number { display: grid; gap: 5px; }
.xm-start-number > span, .xm-compact-field > span { color: #637d9c; font-size: 11px; font-weight: 850; text-transform: uppercase; }
.xm-start-number > div { display: flex; gap: 5px; }
.xm-start-number input { width: 76px; min-height: 34px; padding: 6px 8px; border: 1px solid #29476a; border-radius: 8px; outline: 0; color: #d5e5f7; background: #091625; font-size: 13px; font-weight: 850; text-align: center; }
.xm-start-number input:focus { border-color: #467bb8; }
.xm-start-number button { min-height: 34px; display: inline-flex; align-items: center; gap: 4px; padding: 6px 8px; border: 1px solid rgba(57, 215, 165, .22); border-radius: 8px; color: #67dcb8; background: rgba(57, 215, 165, .06); font-size: 11px; font-weight: 900; cursor: pointer; }
.xm-start-number button:disabled { opacity: .5; cursor: default; }
.xm-compact-field { min-width: 0; display: grid; gap: 5px; }
.xm-compact-field input, .xm-compact-field select { width: 100%; min-height: 36px; padding: 6px 9px; border: 1px solid #29476a; border-radius: 8px; outline: 0; color: #cbdcf0; background: #091625; font-size: 12px; }
.xm-compact-field input:focus, .xm-compact-field select:focus { border-color: #467bb8; }
.xm-setup-empty { min-height: 300px; }
.xm-setup-loading, .xm-picker-loading { display: grid; gap: 1px; overflow: hidden; border-radius: inherit; }
.xm-setup-loading span { height: 76px; background: linear-gradient(90deg, rgba(20, 38, 63, .5), rgba(34, 58, 91, .58), rgba(20, 38, 63, .5)); background-size: 220% 100%; animation: xm-pulse 1.2s linear infinite; }

.xm-picker-search { min-height: 42px; display: flex; align-items: center; gap: 8px; margin-bottom: 11px; padding: 0 11px; border: 1px solid #2a4669; border-radius: 9px; color: #718eaf; background: #081523; }
.xm-picker-search:focus-within { border-color: #477db9; box-shadow: 0 0 0 3px rgba(75, 152, 255, .06); }
.xm-picker-search input { width: 100%; border: 0; outline: 0; color: #d1e0f2; background: transparent; font-size: 13px; }
.xm-picker-list { max-height: 58vh; display: grid; overflow-y: auto; border: 1px solid var(--xm-border-soft); border-radius: 10px; background: rgba(7, 17, 31, .35); }
.xm-picker-row { min-height: 64px; display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 8px 10px; border-top: 1px solid var(--xm-border-soft); }
.xm-picker-row:first-child { border-top: 0; }
.xm-picker-row:hover { background: rgba(24, 45, 73, .38); }
.xm-picker-row.is-assigned { opacity: .58; }
.xm-picker-avatar { position: relative; width: 38px; height: 38px; display: grid; place-items: center; overflow: hidden; border: 1px solid #2c4d75; border-radius: 9px; color: #80b2f0; background: #10243d; font-size: 12px; font-weight: 950; }
.xm-picker-avatar.is-photo span { position: absolute; inset: 0; display: grid; place-items: center; }
.xm-picker-avatar.is-photo img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: contain; }
.xm-picker-copy { min-width: 0; }
.xm-picker-copy strong, .xm-picker-copy span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.xm-picker-copy strong { color: #c8d9ed; font-size: 12px; }
.xm-picker-copy span { margin-top: 3px; color: #607894; font-size: 11px; }
.xm-picker-empty { min-height: 160px; display: grid; place-items: center; color: #647d9b; font-size: 12px; }
.xm-picker-loading span { height: 64px; background: linear-gradient(90deg, rgba(20, 38, 63, .5), rgba(34, 58, 91, .58), rgba(20, 38, 63, .5)); background-size: 220% 100%; animation: xm-pulse 1.2s linear infinite; }
.xm-modal-footnote { margin-right: auto; color: #5f7895; font-size: 12px; }

@media (max-width: 1120px) {
  .xm-setup-selector-card { grid-template-columns: 1fr; gap: 10px; }
  .xm-selected-competition { grid-template-columns: 48px minmax(180px, 1fr) auto; }
  .xm-selected-competition > .xm-badge { justify-self: end; }
  .xm-setup-counts { grid-column: 2 / -1; justify-self: stretch; }
  .xm-setup-counts > div { flex: 1; }
  .xm-assignment-row.is-team { grid-template-columns: 48px minmax(220px, 1fr) minmax(170px, .4fr) 34px; }
  .xm-fish-rule-row { grid-template-columns: 48px minmax(190px, 1fr) minmax(145px, .4fr) minmax(180px, .55fr) auto; }
}

@media (max-width: 860px) {
  .xm-setup-toolbar > div:first-child { width: 100%; }
  .xm-setup-toolbar-actions { width: 100%; margin-left: 0; }
  .xm-setup-toolbar-actions .xm-search-box { width: auto; flex: 1; }
  .xm-assignment-row.is-team { grid-template-columns: 46px minmax(0, 1fr) 34px; }
  .xm-assignment-row.is-team .xm-start-number { grid-column: 2 / 3; }
  .xm-assignment-row.is-team > .xm-action-button { grid-column: 3; grid-row: 1; }
  .xm-fish-rule-row { grid-template-columns: 46px minmax(0, 1fr) auto; }
  .xm-fish-rule-row .xm-compact-field { grid-column: 2 / -1; }
  .xm-fish-rule-row .xm-row-actions { grid-column: 3; grid-row: 1; }
}

@media (max-width: 620px) {
  .xm-setup-selector-card { padding: 11px; }
  .xm-setup-selector-copy small { max-width: 280px; }
  .xm-selected-competition { grid-template-columns: 42px minmax(0, 1fr); gap: 9px; }
  .xm-selected-competition-mark { width: 40px; height: 40px; border-radius: 10px; }
  .xm-selected-competition > .xm-badge { grid-column: 2; justify-self: start; }
  .xm-setup-counts { grid-column: 1 / -1; }
  .xm-setup-counts > div { min-width: 0; }
  .xm-setup-tabs { gap: 3px; padding: 4px; }
  .xm-setup-tabs button { min-width: 0; gap: 4px; padding: 6px 5px; font-size: 12px; }
  .xm-setup-tabs button svg { display: none; }
  .xm-setup-tabs b { min-width: 18px; height: 18px; }
  .xm-setup-toolbar-actions { align-items: stretch; flex-wrap: wrap; }
  .xm-setup-toolbar-actions .xm-search-box { flex-basis: 100%; width: 100%; }
  .xm-setup-toolbar-actions .xm-button { flex: 1; }
  .xm-assignment-row, .xm-fish-rule-row { padding: 10px; }
  .xm-assignment-row.is-team, .xm-assignment-row.is-referee { grid-template-columns: 42px minmax(0, 1fr) 32px; gap: 8px; }
  .xm-assignment-row.is-referee > .xm-badge { grid-column: 2; justify-self: start; }
  .xm-assignment-row.is-referee > .xm-action-button { grid-column: 3; grid-row: 1; }
  .xm-assignment-avatar { width: 40px; height: 40px; border-radius: 9px; }
  .xm-assignment-main > p { white-space: normal; line-height: 1.45; }
  .xm-assignment-meta { line-height: 1.45; }
  .xm-assignment-row.is-team .xm-start-number { grid-column: 1 / -1; }
  .xm-start-number > div { width: 100%; }
  .xm-start-number input { flex: 1; width: auto; text-align: left; }
  .xm-fish-rule-row { grid-template-columns: 42px minmax(0, 1fr) auto; gap: 8px; }
  .xm-fish-rule-row .xm-compact-field { grid-column: 1 / -1; }
  .xm-fish-rule-row .xm-row-actions { grid-column: 3; grid-row: 1; }
  .xm-picker-row { grid-template-columns: 36px minmax(0, 1fr) auto; gap: 8px; padding: 8px; }
  .xm-picker-avatar { width: 34px; height: 34px; }
  .xm-picker-row .xm-badge { font-size: 11px; }
}

/* === xTraMarlin 2.0 v0.4 / WOW public portal === */
.xm-login-button { min-height: 34px; display: inline-flex; align-items: center; justify-content: center; padding: 0 14px; border: 1px solid rgba(75,152,255,.7); border-radius: 9px; color: #fff; background: linear-gradient(180deg,#4b98ff,#2f78dd); box-shadow: 0 8px 22px rgba(47,120,221,.18); font-size: 12px; font-weight: 900; text-decoration: none; }
.xm-login-button:hover { filter: brightness(1.08); }
.xm-app-shell.is-public .xm-content { max-width: 1720px; margin: 0 auto; width: 100%; }
.xm-app-shell.is-public .xm-main-column { background:
  radial-gradient(circle at 72% -10%, rgba(38,105,194,.10), transparent 30%),
  radial-gradient(circle at 18% 0%, rgba(45,212,191,.045), transparent 25%),
  var(--xm-bg); }
.xm-portal-mode-note { margin-bottom: 12px; min-height: 42px; display: flex; align-items: center; gap: 9px; padding: 9px 12px; border: 1px solid rgba(255,176,32,.22); border-radius: 10px; color: #d7c391; background: rgba(255,176,32,.055); font-size: 12px; }
.xm-wow-loading { min-height: 560px; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 8px; color: #7e97b8; }
.xm-wow-loading > span { width: 7px; height: 7px; border-radius: 50%; background: #4b98ff; animation: xm-wow-bounce 1s infinite ease-in-out; }
.xm-wow-loading > span:nth-child(2) { animation-delay: .12s; }
.xm-wow-loading > span:nth-child(3) { animation-delay: .24s; }
.xm-wow-loading p { margin: 10px 0 0; font-size: 13px; }
@keyframes xm-wow-bounce { 0%,80%,100% { transform: translateY(0); opacity: .35; } 40% { transform: translateY(-9px); opacity: 1; } }

.xm-wow-hero { position: relative; min-height: 414px; display: grid; grid-template-columns: 205px minmax(0,1fr) minmax(300px,390px); gap: 26px; overflow: hidden; padding: 28px; border: 1px solid #224267; border-radius: 22px; background: linear-gradient(135deg,#0c1a2e 0%,#0b1b31 50%,#0b1626 100%); box-shadow: 0 25px 80px rgba(0,0,0,.24); isolation: isolate; }
.xm-wow-hero.is-live { border-color: rgba(45,212,191,.28); box-shadow: 0 25px 80px rgba(0,0,0,.24), inset 0 0 90px rgba(45,212,191,.025); }
.xm-wow-glow { position: absolute; width: 520px; height: 520px; left: 27%; top: -340px; z-index: -1; border-radius: 50%; background: radial-gradient(circle,rgba(75,152,255,.22),rgba(75,152,255,0) 68%); filter: blur(5px); }
.xm-wow-hero.is-live .xm-wow-glow { background: radial-gradient(circle,rgba(45,212,191,.19),rgba(45,212,191,0) 69%); }
.xm-wow-gridlines { position: absolute; inset: 0; z-index: -2; opacity: .14; background-image: linear-gradient(rgba(126,174,226,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(126,174,226,.15) 1px,transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(to right,transparent,black 30%,black 75%,transparent); }
.xm-wow-poster { position: relative; min-height: 300px; overflow: hidden; align-self: stretch; border: 1px solid rgba(124,170,224,.26); border-radius: 17px; background: linear-gradient(160deg,#102848,#0b1729); box-shadow: 0 18px 45px rgba(0,0,0,.34); }
.xm-wow-poster::after { content: ''; position: absolute; inset: auto 0 0; height: 38%; background: linear-gradient(transparent,rgba(4,10,18,.72)); pointer-events: none; }
.xm-wow-poster img { width: 100%; height: 100%; min-height: 300px; object-fit: contain; }
.xm-wow-poster-fallback { width: 100%; height: 100%; min-height: 300px; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 7px; background: radial-gradient(circle at 50% 20%,rgba(75,152,255,.2),transparent 38%),linear-gradient(145deg,#102743,#071421); }
.xm-wow-poster-fallback span { color: #bcd8ff; font-size: 48px; font-weight: 1000; letter-spacing: -.08em; }
.xm-wow-poster-fallback small { color: #5e7ca0; font-size: 12px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.xm-wow-main { min-width: 0; display: flex; flex-direction: column; justify-content: center; padding: 4px 0; }
.xm-wow-kicker { min-height: 26px; display: flex; align-items: center; gap: 9px; color: #7891b0; font-size: 12px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.xm-live-dot { width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: #35d9ad; box-shadow: 0 0 0 0 rgba(53,217,173,.45); animation: xm-live-pulse 1.8s infinite; }
@keyframes xm-live-pulse { 0% { box-shadow:0 0 0 0 rgba(53,217,173,.42); } 65% { box-shadow:0 0 0 9px rgba(53,217,173,0); } 100% { box-shadow:0 0 0 0 rgba(53,217,173,0); } }
.xm-wow-main h1 { max-width: 920px; margin: 13px 0 0; color: #f5f9ff; font-size: clamp(31px,3vw,52px); line-height: 1.02; letter-spacing: -.052em; text-shadow: 0 4px 24px rgba(0,0,0,.25); }
.xm-wow-subtitle { margin: 10px 0 0; color: #91a8c6; font-size: 14px; }
.xm-wow-date { margin-top: 17px; display: flex; align-items: center; gap: 8px; color: #abc1dc; font-size: 13px; font-weight: 700; }
.xm-wow-countdown { margin-top: 22px; display: flex; flex-direction: column; align-items: flex-start; }
.xm-wow-countdown span { color: #66819f; font-size: 11px; font-weight: 950; letter-spacing: .16em; }
.xm-wow-countdown strong { margin-top: 2px; color: #fff; font-size: 30px; font-weight: 950; letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.xm-wow-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.xm-wow-metrics { display: flex; align-items: stretch; flex-wrap: wrap; gap: 0; margin-top: 23px; }
.xm-wow-metrics > span { min-width: 92px; padding: 0 19px; border-left: 1px solid rgba(134,171,217,.14); }
.xm-wow-metrics > span:first-child { padding-left: 0; border-left: 0; }
.xm-wow-metrics strong,.xm-wow-metrics small { display: block; }
.xm-wow-metrics strong { color: #dbe9fa; font-size: 18px; }
.xm-wow-metrics small { margin-top: 2px; color: #5d7593; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.xm-wow-ranking { align-self: stretch; min-width: 0; padding: 18px; border: 1px solid rgba(120,165,219,.15); border-radius: 16px; background: rgba(4,13,24,.46); backdrop-filter: blur(9px); }
.xm-wow-ranking > header,.xm-portal-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.xm-wow-ranking h2,.xm-portal-panel-head h2 { margin: 3px 0 0; color: #e7f1ff; font-size: 18px; letter-spacing: -.025em; }
.xm-eyebrow { color: #6583a7; font-size: 11px; font-weight: 950; letter-spacing: .14em; text-transform: uppercase; }
.xm-eyebrow.is-live { color: #5fdbbc; }
.xm-eyebrow.is-success { color: #60dcbc; }
.xm-live-sync { display: inline-flex; align-items: center; gap: 6px; color: #6f8dab; font-size: 11px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.xm-live-sync i { width: 6px; height: 6px; border-radius: 50%; background: #39d7a5; box-shadow: 0 0 12px rgba(57,215,165,.5); }
.xm-widget-link { min-height: 35px; display: flex; align-items: center; justify-content: center; gap: 7px; margin-top: 10px; border-top: 1px solid rgba(127,167,215,.1); color: #72aaf8; font-size: 12px; font-weight: 850; text-decoration: none; }

.xm-ranking-list { display: grid; gap: 6px; margin-top: 14px; }
.xm-ranking-row { min-height: 53px; display: grid; grid-template-columns: 32px 36px minmax(0,1fr) auto; align-items: center; gap: 9px; padding: 7px 9px; border: 1px solid rgba(120,162,214,.09); border-radius: 10px; background: rgba(14,30,50,.62); }
.xm-ranking-row.place-1 { border-color: rgba(255,193,77,.18); background: linear-gradient(90deg,rgba(255,176,32,.08),rgba(14,30,50,.56)); }
.xm-ranking-row.place-2 { border-color: rgba(197,215,238,.15); }
.xm-ranking-row.place-3 { border-color: rgba(201,136,81,.15); }
.xm-ranking-place { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 8px; color: #87a3c4; background: #0a1728; font-size: 12px; font-weight: 950; }
.place-1 .xm-ranking-place { color: #ffca67; background: rgba(255,176,32,.1); }
.xm-ranking-avatar { width: 34px; height: 34px; display: grid; place-items: center; overflow: hidden; border: 1px solid #284563; border-radius: 10px; color: #83a7d3; background: #0d2036; }
.xm-ranking-avatar img { width: 100%; height: 100%; object-fit: contain; }
.xm-ranking-avatar i { font-style: normal; font-size: 12px; font-weight: 950; }
.xm-ranking-team { min-width: 0; }
.xm-ranking-team strong,.xm-ranking-team small,.xm-ranking-score strong,.xm-ranking-score small { display: block; }
.xm-ranking-team strong { overflow: hidden; color: #d9e7f8; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.xm-ranking-team small { margin-top: 3px; color: #5f7592; font-size: 11px; }
.xm-ranking-score { text-align: right; }
.xm-ranking-score strong { color: #dff7ef; font-size: 15px; font-variant-numeric: tabular-nums; }
.xm-ranking-score small { color: #56816f; font-size: 11px; font-weight: 850; text-transform: uppercase; }
.xm-portal-locked { min-height: 180px; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 10px; text-align: center; color: #7e95b3; }
.xm-portal-locked strong,.xm-portal-locked span { display: block; }
.xm-portal-locked strong { color: #c9d9ec; font-size: 13px; }
.xm-portal-locked span { margin-top: 4px; font-size: 12px; }
.xm-portal-empty-mini { min-height: 84px; display: flex; align-items: center; justify-content: center; color: #687f9d; font-size: 12px; text-align: center; }

.xm-live-ticker { min-height: 45px; display: flex; align-items: center; overflow: hidden; margin-top: 12px; border: 1px solid rgba(45,212,191,.17); border-radius: 11px; background: #081a26; }
.xm-live-ticker-label { height: 43px; flex: 0 0 auto; display: flex; align-items: center; gap: 7px; padding: 0 14px; color: #74e3c5; background: rgba(45,212,191,.07); font-size: 12px; font-weight: 950; letter-spacing: .1em; }
.xm-live-ticker-label span { width: 6px; height: 6px; border-radius: 50%; background: #39d7a5; box-shadow: 0 0 12px rgba(57,215,165,.55); }
.xm-live-ticker-track { min-width: 0; display: flex; align-items: center; gap: 0; overflow: hidden; white-space: nowrap; }
.xm-live-ticker-track > span { padding: 0 18px; border-right: 1px solid rgba(120,166,218,.1); color: #728ba9; font-size: 12px; }
.xm-live-ticker-track b { color: #b9cde5; }
.xm-live-ticker-track strong { color: #69d9ba; }

.xm-portal-section { margin-top: 27px; }
.xm-portal-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 12px; }
.xm-portal-section-head h2 { margin: 4px 0 0; color: #eaf3ff; font-size: 22px; letter-spacing: -.035em; }
.xm-portal-section-head p { margin: 4px 0 0; color: #697f9d; font-size: 12px; }
.xm-portal-section-head > a,.xm-portal-panel-head > a { display: inline-flex; align-items: center; gap: 6px; color: #79abed; font-size: 12px; font-weight: 850; text-decoration: none; }
.xm-portal-event-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.xm-portal-event-grid.is-catalog { grid-template-columns: repeat(3,minmax(0,1fr)); }
.xm-portal-event-card { position: relative; min-height: 124px; display: grid; grid-template-columns: 82px minmax(0,1fr) auto; align-items: center; gap: 14px; overflow: hidden; padding: 13px; border: 1px solid #1d3555; border-radius: 14px; background: linear-gradient(145deg,#0e1e33,#0d1a2c); text-decoration: none; transition: transform .17s ease,border-color .17s ease,background .17s ease; }
.xm-portal-event-card:hover { transform: translateY(-2px); border-color: #315b89; background: linear-gradient(145deg,#12253e,#0e1d31); }
.xm-portal-event-card.is-live { border-color: rgba(45,212,191,.2); }
.xm-portal-event-visual { position: relative; width: 82px; height: 92px; display: grid; place-items: center; overflow: hidden; border: 1px solid #2a4668; border-radius: 11px; color: #7ba9df; background: radial-gradient(circle at 50% 20%,rgba(75,152,255,.17),transparent 50%),#0a1727; }
.xm-portal-event-visual img { width: 100%; height: 100%; object-fit: contain; }
.xm-portal-event-monogram { font-size: 18px; font-weight: 1000; letter-spacing: -.06em; }
.xm-live-orbit { position: absolute; right: 6px; bottom: 6px; width: 18px; height: 18px; display: grid; place-items: center; border-radius: 50%; background: rgba(5,15,24,.82); }
.xm-live-orbit i { width: 6px; height: 6px; border-radius: 50%; background: #39d7a5; box-shadow: 0 0 10px rgba(57,215,165,.7); animation: xm-live-pulse 1.8s infinite; }
.xm-portal-event-body { min-width: 0; }
.xm-portal-event-topline { display: flex; align-items: center; gap: 8px; }
.xm-portal-event-topline > span:last-child { color: #526a89; font-size: 11px; font-weight: 850; }
.xm-portal-event-body h3 { margin: 9px 0 0; overflow: hidden; color: #e0ebf9; font-size: 15px; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.xm-portal-event-body p { margin: 4px 0 0; overflow: hidden; color: #667d9b; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.xm-portal-event-time { margin-top: 9px; display: flex; align-items: center; gap: 6px; color: #8098b5; font-size: 12px; }
.xm-portal-event-stats { min-width: 138px; display: flex; align-items: center; justify-content: flex-end; }
.xm-portal-event-stats > span:not(.xm-portal-event-arrow) { min-width: 54px; padding: 0 10px; border-left: 1px solid rgba(126,164,210,.11); text-align: center; }
.xm-portal-event-stats strong,.xm-portal-event-stats small { display: block; }
.xm-portal-event-stats strong { color: #cadcf1; font-size: 15px; }
.xm-portal-event-stats small { margin-top: 2px; color: #516b89; font-size: 11px; text-transform: uppercase; }
.xm-portal-event-arrow { width: 30px; height: 30px; display: grid; place-items: center; margin-left: 6px; border: 1px solid #274564; border-radius: 8px; color: #5f91ca; background: #0a1727; }

.xm-portal-duo,.xm-comp-secondary-grid { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(320px,.75fr); gap: 12px; margin-top: 27px; }
.xm-portal-panel { min-width: 0; padding: 17px; border: 1px solid #1d3554; border-radius: 15px; background: #0d1b2e; }
.xm-live-feed { display: grid; gap: 7px; margin-top: 13px; }
.xm-feed-row { min-height: 68px; display: grid; grid-template-columns: 48px minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 8px; border: 1px solid rgba(116,157,207,.10); border-radius: 11px; background: rgba(14,31,52,.72); }
.xm-feed-photo { width: 48px; height: 48px; display: grid; place-items: center; overflow: hidden; border: 1px solid #294563; border-radius: 9px; color: #5c86b8; background: #0a1726; }
.xm-feed-photo img { width: 100%; height: 100%; object-fit: contain; }
.xm-feed-copy { min-width: 0; }
.xm-feed-copy > div { display: flex; align-items: center; gap: 6px; min-width: 0; }
.xm-feed-copy strong { overflow: hidden; color: #d5e4f5; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.xm-feed-new { padding: 2px 4px; border-radius: 4px; color: #66dabb; background: rgba(57,215,165,.08); font-size: 11px; font-weight: 950; }
.xm-feed-copy p { margin: 3px 0 0; color: #7790ae; font-size: 12px; }
.xm-feed-copy p b { color: #a7c2e1; }
.xm-feed-copy small { display: block; margin-top: 3px; color: #4e6888; font-size: 11px; }
.xm-feed-points { padding-left: 12px; border-left: 1px solid rgba(122,162,209,.11); text-align: right; }
.xm-feed-points strong,.xm-feed-points span { display: block; }
.xm-feed-points strong { color: #72e0c0; font-size: 15px; }
.xm-feed-points span { color: #4e7f70; font-size: 11px; font-weight: 850; text-transform: uppercase; }
.xm-upcoming-stack { display: grid; margin-top: 12px; }
.xm-upcoming-row { min-height: 69px; display: grid; grid-template-columns: 48px minmax(0,1fr) 20px; align-items: center; gap: 10px; border-bottom: 1px solid rgba(119,158,207,.1); color: inherit; text-decoration: none; }
.xm-upcoming-row:last-child { border-bottom: 0; }
.xm-upcoming-date { width: 43px; height: 43px; display: flex; align-items: center; justify-content: center; flex-direction: column; border: 1px solid #284765; border-radius: 9px; background: #0b1c30; }
.xm-upcoming-date b { color: #b8d1ed; font-size: 14px; }
.xm-upcoming-date small { margin-top: 1px; color: #617e9f; font-size: 11px; text-transform: uppercase; }
.xm-upcoming-copy { min-width: 0; }
.xm-upcoming-copy strong,.xm-upcoming-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.xm-upcoming-copy strong { color: #cbdced; font-size: 12px; }
.xm-upcoming-copy small { margin-top: 4px; color: #5f7897; font-size: 11px; }
.xm-upcoming-row svg { color: #517aa9; }
.xm-archive-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; opacity: .88; }
.xm-portal-section.is-archive { margin-bottom: 16px; }

.xm-competitions-wow-head { min-height: 120px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 22px; border: 1px solid #1d385b; border-radius: 16px; background: radial-gradient(circle at 80% -30%,rgba(75,152,255,.14),transparent 40%),linear-gradient(135deg,#0e2037,#0b192a); }
.xm-competitions-wow-head h2 { margin: 5px 0 0; color: #eaf3ff; font-size: 28px; letter-spacing: -.04em; }
.xm-competitions-wow-head p { margin: 5px 0 0; color: #6d84a2; font-size: 12px; }
.xm-year-select { min-width: 135px; }
.xm-year-select span { display: block; margin-bottom: 5px; color: #5c7899; font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.xm-year-select select { width: 100%; min-height: 38px; padding: 0 10px; border: 1px solid #2b4c72; border-radius: 9px; outline: 0; color: #d8e8fa; background: #0a1829; font-weight: 800; }
.xm-portal-filterbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 13px 0; padding: 7px; border: 1px solid #1c3554; border-radius: 12px; background: #0c192b; }
.xm-status-tabs { display: flex; align-items: center; gap: 4px; }
.xm-status-tabs button { min-height: 32px; display: inline-flex; align-items: center; gap: 6px; padding: 0 11px; border: 1px solid transparent; border-radius: 8px; color: #6f87a5; background: transparent; font-size: 12px; font-weight: 850; cursor: pointer; }
.xm-status-tabs button:hover,.xm-status-tabs button.active { border-color: #2c4e75; color: #c6daf1; background: #12243b; }
.xm-status-tabs button.is-live.active { color: #71dfc0; border-color: rgba(57,215,165,.22); background: rgba(57,215,165,.055); }
.xm-status-tabs button i { width: 6px; height: 6px; border-radius: 50%; background: #39d7a5; }
.xm-portal-search { width: min(430px,42vw); min-height: 36px; display: flex; align-items: center; gap: 8px; padding-left: 10px; border: 1px solid #254365; border-radius: 9px; background: #081525; }
.xm-portal-search svg { color: #5e7899; }
.xm-portal-search input { flex: 1; min-width: 0; border: 0; outline: 0; color: #dce9f8; background: transparent; font-size: 12px; }
.xm-portal-search button { align-self: stretch; padding: 0 12px; border: 0; border-left: 1px solid #254365; color: #7fb4fb; background: rgba(75,152,255,.055); font-size: 12px; font-weight: 900; cursor: pointer; }
.xm-portal-card-skeleton { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.xm-portal-card-skeleton span { min-height: 124px; border: 1px solid #1c304d; border-radius: 14px; background: linear-gradient(100deg,#0d1a2b 30%,#12243b 50%,#0d1a2b 70%); background-size: 250% 100%; animation: xm-shimmer 1.4s infinite; }
@keyframes xm-shimmer { to { background-position-x: -250%; } }
.xm-portal-empty { min-height: 430px; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 7px; color: #5d789a; text-align: center; }
.xm-portal-empty h2 { margin: 6px 0 0; color: #cddced; font-size: 20px; }
.xm-portal-empty p { max-width: 520px; margin: 0; color: #6c83a0; font-size: 12px; }

.xm-comp-hero { min-height: 285px; display: grid; grid-template-columns: 175px minmax(0,1fr) 245px; gap: 23px; align-items: center; padding: 23px; overflow: hidden; border: 1px solid #214163; border-radius: 19px; background: radial-gradient(circle at 70% -50%,rgba(75,152,255,.17),transparent 42%),linear-gradient(135deg,#102239,#0b1829); }
.xm-comp-hero.is-live { border-color: rgba(45,212,191,.25); background: radial-gradient(circle at 70% -50%,rgba(45,212,191,.12),transparent 42%),linear-gradient(135deg,#102239,#0b1829); }
.xm-comp-hero-visual { width: 175px; height: 205px; display: grid; place-items: center; overflow: hidden; border: 1px solid #2d5077; border-radius: 14px; color: #75a3d8; background: #0b1b2e; font-size: 30px; font-weight: 1000; }
.xm-comp-hero-visual img { width: 100%; height: 100%; object-fit: contain; }
.xm-comp-hero-copy { min-width: 0; }
.xm-comp-hero-copy h1 { margin: 10px 0 0; color: #eff6ff; font-size: clamp(27px,3vw,42px); line-height: 1.05; letter-spacing: -.045em; }
.xm-comp-hero-copy > p { max-width: 820px; margin: 8px 0 0; color: #7890ad; font-size: 12px; line-height: 1.55; }
.xm-comp-meta { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 15px; }
.xm-comp-meta span { display: inline-flex; align-items: center; gap: 6px; color: #8ca4c0; font-size: 12px; }
.xm-plain-action { min-height: 35px; display: inline-flex; align-items: center; padding: 0 11px; border: 1px solid #294b70; border-radius: 9px; color: #82a8d4; background: #0b1b2e; font-size: 12px; font-weight: 850; text-decoration: none; }
.xm-comp-clock { padding: 18px; border: 1px solid rgba(123,164,214,.15); border-radius: 14px; background: rgba(6,15,26,.45); text-align: center; }
.xm-comp-clock span,.xm-comp-clock strong,.xm-comp-clock small { display: block; }
.xm-comp-clock span { color: #5f7b9b; font-size: 11px; font-weight: 950; text-transform: uppercase; letter-spacing: .12em; }
.xm-comp-clock strong { margin-top: 5px; color: #f1f7ff; font-size: 25px; font-variant-numeric: tabular-nums; }
.xm-comp-clock small { margin-top: 5px; color: #526b8a; font-size: 11px; }
.xm-comp-kpis { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; margin-top: 10px; }
.xm-comp-kpis article { min-height: 72px; display: flex; align-items: center; justify-content: center; flex-direction: column; border: 1px solid #1c3554; border-radius: 11px; background: #0d1b2e; }
.xm-comp-kpis span { color: #5f7898; font-size: 11px; font-weight: 850; text-transform: uppercase; }
.xm-comp-kpis strong { margin-top: 3px; color: #dceafa; font-size: 20px; }
.xm-comp-main-grid { display: grid; grid-template-columns: minmax(360px,.9fr) minmax(420px,1.1fr); gap: 12px; margin-top: 12px; }
.xm-comp-main-grid .xm-portal-panel { min-height: 420px; }
.xm-comp-main-grid .xm-ranking-list { max-height: 580px; overflow: auto; padding-right: 2px; }
.xm-comp-main-grid .xm-live-feed { max-height: 580px; overflow: auto; padding-right: 2px; }
.xm-round-timeline { display: grid; margin-top: 13px; }
.xm-round-timeline article { position: relative; min-height: 66px; display: grid; grid-template-columns: 24px minmax(0,1fr) auto; align-items: center; gap: 9px; border-bottom: 1px solid rgba(120,160,210,.1); }
.xm-round-timeline article:last-child { border-bottom: 0; }
.xm-round-marker { width: 22px; height: 22px; display: grid; place-items: center; border: 1px solid #2a4b70; border-radius: 50%; background: #0a192a; }
.xm-round-marker i { width: 6px; height: 6px; border-radius: 50%; background: #55799f; }
.xm-round-timeline article.is-live .xm-round-marker { border-color: rgba(57,215,165,.3); }
.xm-round-timeline article.is-live .xm-round-marker i { background: #39d7a5; box-shadow: 0 0 10px rgba(57,215,165,.55); }
.xm-round-timeline strong,.xm-round-timeline small { display: block; }
.xm-round-timeline strong { color: #cbdcf0; font-size: 12px; }
.xm-round-timeline small { margin-top: 4px; color: #5e7797; font-size: 11px; }
.xm-fish-stats { display: grid; gap: 7px; margin-top: 13px; }
.xm-fish-stats article { min-height: 59px; display: grid; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 9px; padding: 7px; border: 1px solid rgba(120,160,210,.10); border-radius: 10px; background: rgba(14,31,52,.65); }
.xm-fish-stat-icon { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 9px; color: #669bd4; background: #0a192a; }
.xm-fish-stats strong,.xm-fish-stats small { display: block; }
.xm-fish-stats strong { color: #cbdced; font-size: 12px; }
.xm-fish-stats small { margin-top: 3px; color: #5d7696; font-size: 11px; }
.xm-fish-stats b { color: #d9e8f8; font-size: 17px; }

.xm-live-center-screen { min-height: 100vh; color: #edf6ff; background: radial-gradient(circle at 70% -20%,rgba(45,212,191,.09),transparent 35%),radial-gradient(circle at 15% 10%,rgba(75,152,255,.11),transparent 27%),#050c16; }
.xm-live-center-screen::before { content:''; position: fixed; inset:0; pointer-events:none; opacity:.14; background-image:linear-gradient(rgba(113,158,211,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(113,158,211,.13) 1px,transparent 1px); background-size:56px 56px; mask-image:linear-gradient(to bottom,black,transparent 75%); }
.xm-live-center-screen.is-pulsing .xm-live-board { border-color: rgba(57,215,165,.24); }
.xm-live-center-top { position: relative; z-index: 2; min-height: 72px; display: grid; grid-template-columns: 245px minmax(0,1fr) auto; align-items: center; gap: 20px; padding: 10px 22px; border-bottom: 1px solid rgba(118,163,216,.13); background: rgba(5,13,23,.76); backdrop-filter: blur(18px); }
.xm-live-brand { display: inline-flex; align-items: center; gap: 9px; color: #e5f1ff; text-decoration: none; }
.xm-live-brand img { width: 38px; height: 38px; object-fit: contain; }
.xm-live-brand > span { font-size: 17px; font-weight: 950; letter-spacing: -.04em; }
.xm-live-brand > span > span { color: #5fa6ff; }
.xm-live-brand small { display: block; margin-top: 1px; color: #54d4b2; font-size: 11px; letter-spacing: .13em; }
.xm-live-event-name { min-width: 0; display: flex; align-items: center; justify-content: center; gap: 10px; }
.xm-live-event-name strong,.xm-live-event-name small { display: block; }
.xm-live-event-name strong { overflow: hidden; max-width: 760px; color: #dceafa; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.xm-live-event-name small { margin-top: 2px; color: #5e7898; font-size: 11px; text-align: center; }
.xm-live-center-actions { display: flex; align-items: center; justify-content: flex-end; gap: 7px; }
.xm-live-center-actions button,.xm-live-center-actions a { min-height: 31px; display: inline-flex; align-items: center; padding: 0 10px; border: 1px solid #28496c; border-radius: 8px; color: #8eb1d9; background: #0b192a; font-size: 11px; font-weight: 850; text-decoration: none; cursor: pointer; }
.xm-live-now { color: #6d87a5; font-size: 13px; font-weight: 800; font-variant-numeric: tabular-nums; }
.xm-live-center-main { position: relative; z-index: 1; max-width: 1900px; margin: 0 auto; padding: 22px; }
.xm-live-score-head { min-height: 130px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 22px; border: 1px solid rgba(45,212,191,.17); border-radius: 16px; background: linear-gradient(135deg,rgba(11,30,48,.92),rgba(7,19,31,.8)); }
.xm-live-score-head h1 { margin: 8px 0 0; color: #f2f7ff; font-size: clamp(27px,3.2vw,52px); letter-spacing: -.05em; }
.xm-live-score-head p { margin: 5px 0 0; color: #6983a2; font-size: 12px; }
.xm-live-count { min-width: 255px; text-align: right; }
.xm-live-count span,.xm-live-count strong,.xm-live-count small { display: block; }
.xm-live-count span { color: #58bba1; font-size: 11px; font-weight: 950; letter-spacing: .14em; }
.xm-live-count strong { margin-top: 3px; color: #eef9f6; font-size: 38px; font-variant-numeric: tabular-nums; letter-spacing: -.04em; }
.xm-live-count small { margin-top: 4px; color: #4f6d8c; font-size: 11px; }
.xm-live-center-grid { display: grid; grid-template-columns: minmax(430px,.92fr) minmax(520px,1.08fr); gap: 12px; margin-top: 12px; }
.xm-live-board { min-height: calc(100vh - 280px); padding: 16px; border: 1px solid #1b3656; border-radius: 15px; background: rgba(9,23,39,.91); transition: border-color .3s ease; }
.xm-live-board > header { min-height: 36px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(122,161,209,.1); color: #5f7c9e; font-size: 11px; font-weight: 900; letter-spacing: .12em; }
.xm-live-board > header strong { color: #65d8b9; }
.xm-live-board .xm-ranking-row { min-height: 60px; grid-template-columns: 35px 41px minmax(0,1fr) auto; }
.xm-live-board .xm-ranking-avatar { width: 39px; height: 39px; }
.xm-live-board .xm-ranking-team strong { font-size: 13px; }
.xm-live-board .xm-ranking-score strong { font-size: 17px; }
.xm-live-board .xm-feed-row { min-height: 76px; grid-template-columns: 58px minmax(0,1fr) auto; }
.xm-live-board .xm-feed-photo { width: 58px; height: 58px; }
.xm-live-board .xm-feed-copy strong { font-size: 13px; }
.xm-live-board .xm-feed-copy p { font-size: 12px; }
.xm-live-board .xm-feed-points strong { font-size: 16px; }
.xm-live-center-footer { min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #4f6c8c; font-size: 11px; }
.xm-live-center-footer span:first-child { display: inline-flex; align-items: center; gap: 6px; }
.xm-live-center-footer i { width: 6px; height: 6px; border-radius: 50%; background: #39d7a5; }
.xm-live-center-loading { min-height: calc(100vh - 72px); display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 11px; color: #6983a2; }
.xm-live-center-loading > span { width: 10px; height: 10px; border-radius: 50%; background: #39d7a5; animation: xm-live-pulse 1.5s infinite; }
.xm-live-center-loading strong { color: #bcd0e8; font-size: 14px; }

@media (max-width: 1450px) {
  .xm-wow-hero { grid-template-columns: 170px minmax(0,1fr) 340px; gap: 20px; padding: 22px; }
  .xm-wow-poster,.xm-wow-poster img,.xm-wow-poster-fallback { min-height: 280px; }
  .xm-portal-event-grid.is-catalog { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 1180px) {
  .xm-wow-hero { grid-template-columns: 160px minmax(0,1fr); }
  .xm-wow-ranking { grid-column: 1 / -1; }
  .xm-wow-ranking .xm-ranking-list { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .xm-wow-ranking .xm-ranking-row { grid-template-columns: 28px 34px minmax(0,1fr) auto; }
  .xm-portal-duo,.xm-comp-secondary-grid,.xm-comp-main-grid { grid-template-columns: 1fr; }
  .xm-comp-hero { grid-template-columns: 150px minmax(0,1fr); }
  .xm-comp-clock { grid-column: 1 / -1; }
  .xm-live-center-grid { grid-template-columns: 1fr; }
  .xm-live-board { min-height: auto; }
}
@media (max-width: 900px) {
  .xm-wow-hero { min-height: 0; grid-template-columns: 120px minmax(0,1fr); padding: 16px; border-radius: 16px; }
  .xm-wow-poster,.xm-wow-poster img,.xm-wow-poster-fallback { min-height: 190px; }
  .xm-wow-main h1 { font-size: 29px; }
  .xm-wow-ranking { grid-column: 1 / -1; }
  .xm-wow-ranking .xm-ranking-list { grid-template-columns: 1fr; }
  .xm-portal-event-grid,.xm-archive-grid,.xm-portal-event-grid.is-catalog { grid-template-columns: 1fr; }
  .xm-portal-filterbar { align-items: stretch; flex-direction: column; }
  .xm-status-tabs { overflow-x: auto; }
  .xm-portal-search { width: 100%; }
  .xm-portal-card-skeleton { grid-template-columns: 1fr; }
  .xm-live-center-top { grid-template-columns: 1fr auto; }
  .xm-live-event-name { display: none; }
  .xm-live-score-head { align-items: flex-start; flex-direction: column; }
  .xm-live-count { min-width: 0; text-align: left; }
}
@media (max-width: 650px) {
  .xm-app-shell.is-public .xm-content { padding-top: 12px; }
  .xm-wow-hero { display: flex; flex-direction: column; gap: 14px; padding: 14px; }
  .xm-wow-poster { width: 100%; height: 190px; min-height: 190px; }
  .xm-wow-poster img,.xm-wow-poster-fallback { min-height: 190px; }
  .xm-wow-main h1 { margin-top: 9px; font-size: 27px; }
  .xm-wow-countdown { margin-top: 16px; }
  .xm-wow-countdown strong { font-size: 25px; }
  .xm-wow-metrics { display: grid; grid-template-columns: repeat(2,1fr); width: 100%; gap: 8px; }
  .xm-wow-metrics > span,.xm-wow-metrics > span:first-child { min-width: 0; padding: 8px 10px; border: 1px solid rgba(126,164,210,.11); border-radius: 9px; background: rgba(5,16,29,.28); }
  .xm-wow-ranking { padding: 12px; }
  .xm-live-ticker { display: none; }
  .xm-portal-section { margin-top: 19px; }
  .xm-portal-section-head { align-items: flex-start; }
  .xm-portal-section-head h2 { font-size: 20px; }
  .xm-portal-event-card { grid-template-columns: 65px minmax(0,1fr); padding: 10px; }
  .xm-portal-event-visual { width: 65px; height: 75px; }
  .xm-portal-event-stats { grid-column: 1 / -1; min-width: 0; justify-content: flex-start; padding-left: 75px; }
  .xm-portal-event-stats > span:not(.xm-portal-event-arrow) { border-left: 0; border-right: 1px solid rgba(126,164,210,.11); }
  .xm-portal-duo { margin-top: 19px; }
  .xm-portal-panel { padding: 12px; }
  .xm-competitions-wow-head { align-items: flex-start; flex-direction: column; padding: 15px; }
  .xm-competitions-wow-head h2 { font-size: 23px; }
  .xm-year-select { width: 100%; }
  .xm-status-tabs { width: 100%; }
  .xm-status-tabs button { white-space: nowrap; }
  .xm-comp-hero { display: flex; align-items: stretch; flex-direction: column; padding: 14px; }
  .xm-comp-hero-visual { width: 100%; height: 180px; }
  .xm-comp-hero-copy h1 { font-size: 27px; }
  .xm-comp-kpis { grid-template-columns: repeat(2,1fr); }
  .xm-feed-row { grid-template-columns: 44px minmax(0,1fr); }
  .xm-feed-photo { width: 44px; height: 44px; }
  .xm-feed-points { grid-column: 2; padding-left: 0; border-left: 0; text-align: left; }
  .xm-live-center-top { min-height: 62px; padding: 8px 10px; }
  .xm-live-brand img { width: 32px; height: 32px; }
  .xm-live-center-actions button { display: none; }
  .xm-live-now { display: none; }
  .xm-live-center-main { padding: 10px; }
  .xm-live-score-head { min-height: 0; padding: 13px; }
  .xm-live-score-head h1 { font-size: 26px; }
  .xm-live-count strong { font-size: 30px; }
  .xm-live-board { padding: 10px; }
  .xm-live-board .xm-ranking-row { grid-template-columns: 29px 35px minmax(0,1fr) auto; padding: 6px; }
  .xm-live-board .xm-ranking-avatar { width: 34px; height: 34px; }
  .xm-live-center-footer { align-items: flex-start; flex-direction: column; padding: 8px 2px 70px; }
}

/* xTraMarlin 2.0 v0.5 — classifications, team fish galleries and fullscreen photos */
.xm-ranking-row { grid-template-columns:32px 36px minmax(0,1fr) auto 18px; color:inherit; text-decoration:none; cursor:pointer; transition:border-color .16s ease,background .16s ease,transform .16s ease; }
.xm-ranking-row:hover { transform:translateX(2px); border-color:rgba(96,165,250,.28); background:rgba(20,43,70,.84); }
.xm-ranking-more { display:grid; place-items:center; color:#496d96; transition:color .16s ease,transform .16s ease; }
.xm-ranking-row:hover .xm-ranking-more { color:#82b4f4; transform:translateX(2px); }
.xm-portal-panel-head p { margin:4px 0 0; color:#5f7795; font-size:11px; line-height:1.45; }

.xm-feed-photo { position:relative; padding:0; font:inherit; cursor:default; appearance:none; }
.xm-feed-photo.is-clickable { cursor:zoom-in; transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease; }
.xm-feed-photo.is-clickable:hover { transform:scale(1.035); border-color:#4b79aa; box-shadow:0 8px 26px rgba(0,0,0,.2); }
.xm-photo-zoom { position:absolute; right:3px; bottom:3px; width:19px; height:19px; display:grid; place-items:center; border:1px solid rgba(166,205,251,.18); border-radius:6px; color:#d8eafe; background:rgba(4,12,22,.82); opacity:0; transform:translateY(3px); transition:opacity .15s ease,transform .15s ease; }
.xm-feed-photo:hover .xm-photo-zoom { opacity:1; transform:none; }

.xm-lightbox-open { overflow:hidden; }
.xm-photo-lightbox { position:fixed; inset:0; z-index:100000; display:grid; grid-template-rows:minmax(0,1fr) auto; place-items:center; padding:28px; background:rgba(1,7,14,.92); backdrop-filter:blur(14px); }
.xm-photo-lightbox-stage { width:100%; height:100%; min-height:0; display:grid; place-items:center; cursor:zoom-out; }
.xm-photo-lightbox-stage img { display:block; max-width:min(96vw,1500px); max-height:82vh; object-fit:contain; border:1px solid rgba(150,190,235,.18); border-radius:14px; background:#050d17; box-shadow:0 30px 90px rgba(0,0,0,.5); }
.xm-photo-lightbox-close { position:fixed; top:20px; right:20px; z-index:2; width:46px; height:46px; display:grid; place-items:center; border:1px solid rgba(142,185,232,.24); border-radius:13px; color:#e9f4ff; background:rgba(11,27,45,.82); cursor:pointer; backdrop-filter:blur(10px); }
.xm-photo-lightbox-close:hover { border-color:#5c91c8; background:#122b47; }
.xm-photo-lightbox footer { width:min(920px,94vw); padding:13px 16px 0; color:#7892b1; text-align:center; }
.xm-photo-lightbox footer strong,.xm-photo-lightbox footer span,.xm-photo-lightbox footer small { display:block; }
.xm-photo-lightbox footer strong { color:#edf6ff; font-size:16px; }
.xm-photo-lightbox footer span { margin-top:4px; color:#a2bad5; font-size:12px; }
.xm-photo-lightbox footer small { margin-top:5px; color:#506985; font-size:11px; }
.xm-lightbox-fade-enter-active,.xm-lightbox-fade-leave-active { transition:opacity .18s ease; }
.xm-lightbox-fade-enter-from,.xm-lightbox-fade-leave-to { opacity:0; }

.xm-home-series-links { display:flex; align-items:center; gap:7px; }
.xm-home-series-links a { min-height:32px; display:inline-flex; align-items:center; gap:5px; padding:0 10px; border:1px solid #244463; border-radius:8px; color:#7faef0; background:#0b192a; font-size:12px; font-weight:900; text-decoration:none; }
.xm-home-series-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px; }
.xm-home-series-card { min-width:0; min-height:96px; display:grid; grid-template-columns:42px minmax(0,1fr) 18px; align-items:center; gap:10px; padding:12px; border:1px solid #1d395a; border-radius:13px; color:inherit; background:linear-gradient(145deg,#0e1f34,#0b192b); text-decoration:none; transition:transform .16s ease,border-color .16s ease,background .16s ease; }
.xm-home-series-card:hover { transform:translateY(-2px); border-color:#345f8e; background:linear-gradient(145deg,#122740,#0d1c30); }
.xm-home-series-card.is-season { border-color:rgba(45,212,191,.16); background:linear-gradient(145deg,rgba(13,45,48,.48),#0b192b); }
.xm-home-series-icon { width:42px; height:42px; display:grid; place-items:center; border:1px solid #2b4d70; border-radius:11px; color:#72a9ed; background:#0a192b; }
.xm-home-series-card.is-season .xm-home-series-icon { color:#5bd9b7; border-color:rgba(45,212,191,.23); background:rgba(45,212,191,.05); }
.xm-home-series-card > div { min-width:0; }
.xm-home-series-card small,.xm-home-series-card strong,.xm-home-series-card span:not(.xm-home-series-icon) { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.xm-home-series-card small { color:#5d7898; font-size:11px; font-weight:900; letter-spacing:.08em; }
.xm-home-series-card strong { margin-top:5px; color:#dceafa; font-size:12px; }
.xm-home-series-card > div > span { margin-top:4px; color:#67819f; font-size:11px; }
.xm-home-series-card > svg { color:#4f78a6; }

.xm-series-head { min-height:126px; display:flex; align-items:center; justify-content:space-between; gap:22px; margin-bottom:13px; padding:21px 23px; border:1px solid #1d3b5e; border-radius:17px; background:radial-gradient(circle at 76% -40%,rgba(75,152,255,.18),transparent 43%),linear-gradient(135deg,#10223a,#0a1829); }
.xm-series-head h2 { margin:5px 0 0; color:#eff6ff; font-size:30px; letter-spacing:-.045em; }
.xm-series-head p { max-width:720px; margin:6px 0 0; color:#728aa8; font-size:12px; line-height:1.5; }
.xm-series-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.xm-series-card { min-height:148px; display:grid; grid-template-columns:102px minmax(0,1fr) auto; align-items:center; gap:15px; overflow:hidden; padding:13px; border:1px solid #1d3959; border-radius:15px; color:inherit; background:linear-gradient(145deg,#0f2035,#0c1a2d); text-decoration:none; transition:transform .16s ease,border-color .16s ease,background .16s ease; }
.xm-series-card:hover { transform:translateY(-2px); border-color:#356393; background:linear-gradient(145deg,#122942,#0e1e32); }
.xm-series-card.is-live { border-color:rgba(45,212,191,.24); box-shadow:inset 0 0 0 1px rgba(45,212,191,.025); }
.xm-series-card-visual { width:102px; height:120px; display:grid; place-items:center; overflow:hidden; border:1px solid #294b6f; border-radius:12px; background:#091829; }
.xm-series-card-visual img { width:100%; height:100%; object-fit: contain; }
.xm-series-card-symbol { height:100%; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:8px; color:#78aaf0; }
.xm-series-card-symbol span { color:#587597; font-size:12px; font-weight:900; }
.xm-series-card-copy { min-width:0; }
.xm-series-card-copy > div { display:flex; align-items:center; gap:8px; }
.xm-series-card-copy > div > span { color:#526d8c; font-size:11px; }
.xm-series-card-copy h3 { margin:9px 0 0; overflow:hidden; color:#e4eefb; font-size:16px; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; }
.xm-series-card-copy p { margin:5px 0 0; color:#7189a7; font-size:12px; }
.xm-series-card-copy > small { display:block; margin-top:10px; color:#5d7898; font-size:11px; }
.xm-series-card-stats { min-width:170px; display:flex; align-items:center; justify-content:flex-end; }
.xm-series-card-stats > span { min-width:62px; padding:0 10px; border-left:1px solid rgba(126,164,210,.11); text-align:center; }
.xm-series-card-stats b,.xm-series-card-stats small { display:block; }
.xm-series-card-stats b { color:#d8e8f9; font-size:16px; }
.xm-series-card-stats small { margin-top:3px; color:#516d8d; font-size:11px; text-transform:uppercase; }
.xm-series-card-stats > svg { margin-left:8px; color:#5a85b7; }

.xm-series-hero { min-height:260px; display:grid; grid-template-columns:170px minmax(0,1fr) 235px; align-items:center; gap:22px; padding:22px; overflow:hidden; border:1px solid #214263; border-radius:19px; background:radial-gradient(circle at 72% -55%,rgba(75,152,255,.19),transparent 44%),linear-gradient(135deg,#10243b,#0b192a); }
.xm-series-hero.is-live { border-color:rgba(45,212,191,.27); background:radial-gradient(circle at 72% -55%,rgba(45,212,191,.15),transparent 44%),linear-gradient(135deg,#10243b,#0b192a); }
.xm-series-hero-visual { width:170px; height:200px; display:grid; place-items:center; overflow:hidden; border:1px solid #315578; border-radius:15px; color:#77acf0; background:radial-gradient(circle at 50% 18%,rgba(74,153,255,.15),transparent 54%),#091829; }
.xm-series-hero-visual img { width:100%; height:100%; object-fit: contain; }
.xm-series-hero-copy { min-width:0; }
.xm-series-hero-copy h1 { margin:10px 0 0; color:#f0f7ff; font-size:clamp(28px,3vw,43px); line-height:1.04; letter-spacing:-.048em; }
.xm-series-hero-copy > p { max-width:760px; margin:8px 0 0; color:#7d94af; font-size:12px; line-height:1.55; }
.xm-series-hero-stats { display:grid; gap:7px; padding:12px; border:1px solid rgba(124,163,210,.14); border-radius:14px; background:rgba(5,15,26,.38); }
.xm-series-hero-stats > span { min-height:58px; display:flex; align-items:center; justify-content:space-between; padding:0 12px; border-bottom:1px solid rgba(124,163,210,.1); }
.xm-series-hero-stats > span:last-child { border-bottom:0; }
.xm-series-hero-stats small { color:#607c9d; font-size:11px; font-weight:900; text-transform:uppercase; }
.xm-series-hero-stats strong { color:#e1edf9; font-size:20px; }
.xm-series-main-grid { display:grid; grid-template-columns:minmax(460px,1.08fr) minmax(360px,.92fr); gap:12px; margin-top:12px; }
.xm-series-main-grid .xm-portal-panel { min-height:470px; }
.xm-series-main-grid .xm-ranking-list,.xm-series-main-grid .xm-live-feed { max-height:700px; overflow:auto; padding-right:2px; }
.xm-series-mini-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.xm-series-mini-card { min-height:76px; display:grid; grid-template-columns:39px minmax(0,1fr) 18px; align-items:center; gap:10px; padding:10px; border:1px solid #1e3a5b; border-radius:12px; color:inherit; background:#0d1c30; text-decoration:none; transition:border-color .16s ease,transform .16s ease; }
.xm-series-mini-card:hover { transform:translateY(-1px); border-color:#356391; }
.xm-series-mini-card > span { width:39px; height:39px; display:grid; place-items:center; border:1px solid #2b4d70; border-radius:10px; color:#78aaf0; background:#091829; }
.xm-series-mini-card strong,.xm-series-mini-card small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.xm-series-mini-card strong { color:#dce9f8; font-size:12px; }
.xm-series-mini-card small { margin-top:4px; color:#607c9b; font-size:11px; }
.xm-series-mini-card > svg { color:#557da9; }
.xm-series-info-panel p { margin:12px 0 0; color:#7890ac; font-size:12px; line-height:1.65; }
.xm-series-info-panel code { padding:2px 5px; border:1px solid #244665; border-radius:5px; color:#79b0fb; background:#081627; font-size:11px; }

.xm-team-fish-hero { min-height:218px; display:grid; grid-template-columns:126px minmax(0,1fr) minmax(360px,520px); align-items:center; gap:20px; padding:20px; border:1px solid #214161; border-radius:18px; background:radial-gradient(circle at 78% -45%,rgba(45,212,191,.12),transparent 45%),linear-gradient(135deg,#102239,#0b192b); }
.xm-team-fish-avatar { width:126px; height:126px; display:grid; place-items:center; overflow:hidden; border:1px solid #315778; border-radius:24px; color:#79aaf0; background:#091829; font-size:24px; font-weight:1000; }
.xm-team-fish-avatar img { width:100%; height:100%; object-fit: contain; }
.xm-team-fish-copy { min-width:0; }
.xm-team-fish-copy h1 { margin:7px 0 0; color:#f0f7ff; font-size:clamp(27px,3vw,42px); line-height:1.04; letter-spacing:-.045em; }
.xm-team-fish-copy > p { margin:7px 0 0; color:#7e95b0; font-size:12px; }
.xm-team-fish-context { display:flex; align-items:center; gap:7px; margin-top:13px; color:#8ba8c7; font-size:12px; }
.xm-team-fish-context svg { color:#68a4ed; }
.xm-team-fish-kpis { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.xm-team-fish-kpis article { min-height:76px; display:flex; align-items:center; justify-content:center; flex-direction:column; border:1px solid rgba(125,166,213,.14); border-radius:12px; background:rgba(5,15,27,.42); text-align:center; }
.xm-team-fish-kpis small { color:#607d9e; font-size:11px; font-weight:900; text-transform:uppercase; }
.xm-team-fish-kpis strong { margin-top:4px; color:#e7f1fb; font-size:20px; }
.xm-team-fish-toolbar { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin:24px 0 12px; }
.xm-team-fish-toolbar h2 { margin:4px 0 0; color:#eaf3ff; font-size:22px; letter-spacing:-.035em; }
.xm-team-fish-toolbar p { margin:4px 0 0; color:#6a829f; font-size:12px; }
.xm-team-fish-toolbar label { min-width:250px; }
.xm-team-fish-toolbar label > span { display:block; margin-bottom:5px; color:#5f7a9a; font-size:11px; font-weight:900; text-transform:uppercase; }
.xm-team-fish-toolbar select { width:100%; min-height:38px; padding:0 10px; border:1px solid #294a6e; border-radius:9px; outline:0; color:#d9e9fb; background:#091829; font-weight:800; }
.xm-fish-gallery { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; padding-bottom:18px; }
.xm-fish-card { min-width:0; overflow:hidden; border:1px solid #1e3958; border-radius:14px; background:#0d1c2f; transition:transform .17s ease,border-color .17s ease; }
.xm-fish-card:hover { transform:translateY(-2px); border-color:#35618d; }
.xm-fish-card-photo { position:relative; width:100%; aspect-ratio:16/10; display:grid; place-items:center; overflow:hidden; padding:0; border:0; border-bottom:1px solid #203c5d; color:#6288b4; background:radial-gradient(circle at 50% 20%,rgba(74,153,255,.13),transparent 55%),#091725; cursor:zoom-in; }
.xm-fish-card-photo:disabled { cursor:default; }
.xm-fish-card-photo img { width:100%; height:100%; object-fit: contain; transition:transform .25s ease,filter .25s ease; }
.xm-fish-card-photo:not(:disabled):hover img { transform:scale(1.035); filter:brightness(.82); }
.xm-fish-card-photo > i { position:absolute; right:8px; bottom:8px; display:flex; align-items:center; gap:5px; padding:5px 7px; border:1px solid rgba(182,215,250,.2); border-radius:7px; color:#e7f3ff; background:rgba(5,13,23,.78); font-size:11px; font-style:normal; font-weight:900; opacity:0; transform:translateY(4px); transition:opacity .16s ease,transform .16s ease; }
.xm-fish-card-photo:hover > i { opacity:1; transform:none; }
.xm-fish-card-body { padding:11px 12px 12px; }
.xm-fish-card-body > div { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.xm-fish-card-body strong { overflow:hidden; color:#dceafb; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.xm-fish-card-body p { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:8px 0 0; }
.xm-fish-card-body p b { color:#68dabc; font-size:14px; }
.xm-fish-card-body p span { color:#607a98; font-size:11px; }
.xm-fish-card-body > small { display:block; min-height:24px; margin-top:7px; overflow:hidden; color:#607a98; font-size:11px; line-height:1.5; }

.xm-live-board .xm-ranking-row { grid-template-columns:35px 41px minmax(0,1fr) auto 18px; }

@media (max-width:1450px) {
  .xm-home-series-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .xm-fish-gallery { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:1180px) {
  .xm-wow-ranking .xm-ranking-row { grid-template-columns:28px 34px minmax(0,1fr) auto 18px; }
  .xm-series-hero { grid-template-columns:150px minmax(0,1fr); }
  .xm-series-hero-visual { width:150px; height:180px; }
  .xm-series-hero-stats { grid-column:1 / -1; grid-template-columns:repeat(3,1fr); }
  .xm-series-hero-stats > span { border-bottom:0; border-right:1px solid rgba(124,163,210,.1); }
  .xm-series-hero-stats > span:last-child { border-right:0; }
  .xm-series-main-grid { grid-template-columns:1fr; }
  .xm-team-fish-hero { grid-template-columns:110px minmax(0,1fr); }
  .xm-team-fish-avatar { width:110px; height:110px; }
  .xm-team-fish-kpis { grid-column:1 / -1; grid-template-columns:repeat(4,1fr); }
}
@media (max-width:900px) {
  .xm-home-series-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .xm-series-grid { grid-template-columns:1fr; }
  .xm-series-mini-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .xm-fish-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .xm-photo-lightbox { padding:18px; }
  .xm-photo-lightbox-stage img { max-height:78vh; }
}
@media (max-width:650px) {
  .xm-ranking-row,.xm-live-board .xm-ranking-row { grid-template-columns:27px 34px minmax(0,1fr) auto 15px; gap:6px; }
  .xm-ranking-score strong { font-size:13px; }
  .xm-home-series-links { width:100%; }
  .xm-home-series-links a { flex:1; justify-content:center; }
  .xm-home-series-grid { grid-template-columns:1fr; }
  .xm-series-head { align-items:stretch; flex-direction:column; padding:16px; }
  .xm-series-head h2 { font-size:25px; }
  .xm-series-card { grid-template-columns:76px minmax(0,1fr); padding:10px; }
  .xm-series-card-visual { width:76px; height:92px; }
  .xm-series-card-stats { grid-column:1 / -1; min-width:0; justify-content:flex-start; padding-left:86px; }
  .xm-series-card-stats > span:first-child { border-left:0; padding-left:0; }
  .xm-series-hero { display:flex; align-items:stretch; flex-direction:column; padding:14px; }
  .xm-series-hero-visual { width:100%; height:180px; }
  .xm-series-hero-copy h1 { font-size:28px; }
  .xm-series-hero-stats { grid-template-columns:repeat(3,1fr); padding:7px; }
  .xm-series-hero-stats > span { min-height:54px; flex-direction:column; justify-content:center; gap:3px; padding:0 4px; }
  .xm-series-hero-stats strong { font-size:18px; }
  .xm-series-mini-grid { grid-template-columns:1fr; }
  .xm-team-fish-hero { display:flex; align-items:stretch; flex-direction:column; padding:14px; }
  .xm-team-fish-avatar { width:96px; height:96px; border-radius:20px; }
  .xm-team-fish-copy h1 { font-size:28px; }
  .xm-team-fish-kpis { grid-template-columns:repeat(2,1fr); }
  .xm-team-fish-toolbar { align-items:stretch; flex-direction:column; }
  .xm-team-fish-toolbar label { min-width:0; width:100%; }
  .xm-fish-gallery { grid-template-columns:1fr; }
  .xm-fish-card-photo { aspect-ratio:16/9; }
  .xm-photo-lightbox { padding:10px; grid-template-rows:minmax(0,1fr) auto; }
  .xm-photo-lightbox-close { top:10px; right:10px; width:41px; height:41px; }
  .xm-photo-lightbox-stage img { max-width:100%; max-height:75vh; border-radius:10px; }
  .xm-photo-lightbox footer { padding-top:9px; }
  .xm-photo-lightbox footer small { display:none; }
}


/* v0.6 - ranking snapshots */
.xm-ranking-snapshot-note{margin-top:12px;padding-top:10px;border-top:1px solid rgba(118,162,211,.12);font-size:14px;letter-spacing:.04em;color:var(--xm-text-muted,#7389a8);text-align:right}


/* XM-V2-READABILITY-2026-08-26-BEGIN
   Slight typography increase for desktop/tablet without changing the layout scale. */
body { font-size: 17px; }

/* Shell / navigation */
.xm-brand-sub { font-size: 13px; }
.xm-sidebar-mode strong { font-size: 16px; }
.xm-sidebar-mode small { font-size: 14px; }
.xm-nav-label { font-size: 13px; }
.xm-nav-link { font-size: 16px; }
.xm-switch-zone { font-size: 16px; }
.xm-page-heading h1 { font-size: 18px; }
.xm-page-heading p { font-size: 15px; }
.xm-user-avatar { font-size: 14px; }
.xm-user-copy strong { font-size: 15px; }
.xm-user-copy small { font-size: 13px; }
.xm-login-button { font-size: 14px; }

/* Generic controls and labels */
.xm-button { font-size: 16px; }
.xm-button.is-compact { font-size: 14px; }
.xm-badge { font-size: 13px; }
.xm-eyebrow { font-size: 12px; }
.xm-section-heading > a { font-size: 14px; }
.xm-section-chip { font-size: 15px; }
.xm-health-status strong { font-size: 16px; }
.xm-health-status small { font-size: 14px; }
.xm-inline-alert { font-size: 15px; }
.xm-empty-state strong { font-size: 17px; }
.xm-empty-state span { font-size: 15px; }
.xm-connection-pill { font-size: 13px; }

/* Cards, headings, tables */
.xm-feature-card p { font-size: 12px; }
.xm-event-logo { font-size: 14px; }
.xm-event-title { font-size: 17px; }
.xm-event-meta { font-size: 14px; }
.xm-dashboard-header p,
.xm-referee-hero p { font-size: 16px; }
.xm-stat-label,
.xm-stat-note { font-size: 14px; }
.xm-panel-heading h3 { font-size: 17px; }
.xm-panel-heading p { font-size: 14px; }
.xm-data-table th { font-size: 13px; }
.xm-data-table td { font-size: 15px; }
.xm-quick-icon { font-size: 13px; }
.xm-quick-list strong { font-size: 15px; }
.xm-quick-list small { font-size: 13px; }
.xm-referee-event-copy strong { font-size: 16px; }
.xm-referee-event-copy span { font-size: 14px; }
.xm-referee-empty p,
.xm-placeholder-screen p { font-size: 15px; }

/* Competition catalogue */
.xm-mini-stats span { font-size: 13px; }
.xm-mini-stats strong.is-api { font-size: 16px; }
.xm-search-box input { font-size: 15px; }
.xm-competition-title-line > strong { font-size: 16px; }
.xm-competition-en { font-size: 13px; }
.xm-competition-meta { font-size: 13px; }
.xm-competition-location span { font-size: 12px; }
.xm-competition-location strong { font-size: 14px; }
.xm-rounds-header strong { font-size: 15px; }
.xm-round-index { font-size: 13px; }
.xm-round-name strong { font-size: 14px; }
.xm-round-name span { font-size: 13px; }
.xm-round-time span { font-size: 12px; }
.xm-round-time strong { font-size: 13px; }
.xm-round-empty { font-size: 14px; }
.xm-pagination-copy,
.xm-page-size,
.xm-pagination-buttons > span { font-size: 13px; }
.xm-page-size select { font-size: 14px; }

/* Modals / organizer forms */
.xm-modal-header p { font-size: 14px; }
.xm-confirm-copy p { font-size: 15px; }
.xm-toast > span:last-child { font-size: 14px; }
.xm-form-section-title > span { font-size: 12px; }
.xm-form-section-title strong { font-size: 15px; }
.xm-setup-selector-copy strong { font-size: 16px; }
.xm-setup-selector-copy small { font-size: 13px; }
.xm-setup-select-wrap select { font-size: 15px; }
.xm-setup-welcome p { font-size: 15px; }
.xm-selected-competition-copy h3 { font-size: 17px; }
.xm-selected-meta { font-size: 13px; }
.xm-setup-counts span { font-size: 12px; }
.xm-setup-tabs button { font-size: 14px; }
.xm-setup-tabs b { font-size: 12px; }
.xm-assignment-avatar { font-size: 15px; }
.xm-assignment-title strong { font-size: 15px; }
.xm-assignment-title > span { font-size: 12px; }
.xm-assignment-main > p { font-size: 13px; }
.xm-assignment-meta { font-size: 12px; }
.xm-start-number > span,
.xm-compact-field > span { font-size: 12px; }
.xm-start-number input { font-size: 15px; }
.xm-start-number button { font-size: 12px; }
.xm-compact-field input,
.xm-compact-field select { font-size: 14px; }
.xm-picker-search input { font-size: 15px; }
.xm-picker-avatar { font-size: 13px; }
.xm-picker-copy strong { font-size: 14px; }
.xm-picker-copy span { font-size: 12px; }
.xm-picker-empty { font-size: 14px; }
.xm-modal-footnote { font-size: 13px; }

/* Public portal */
.xm-portal-mode-note { font-size: 14px; }
.xm-wow-loading p { font-size: 15px; }
.xm-wow-poster-fallback small { font-size: 13px; }
.xm-wow-kicker { font-size: 13px; }
.xm-wow-subtitle { font-size: 16px; }
.xm-wow-date { font-size: 15px; }
.xm-wow-countdown span { font-size: 12px; }
.xm-wow-metrics small { font-size: 12px; }
.xm-live-sync { font-size: 12px; }
.xm-widget-link { font-size: 13px; }
.xm-ranking-place { font-size: 14px; }
.xm-ranking-avatar i { font-size: 13px; }
.xm-ranking-team strong { font-size: 14px; }
.xm-ranking-team small { font-size: 12px; }
.xm-ranking-score strong { font-size: 16px; }
.xm-ranking-score small { font-size: 12px; }
.xm-portal-locked strong { font-size: 15px; }
.xm-portal-locked span { font-size: 13px; }
.xm-portal-empty-mini { font-size: 13px; }
.xm-live-ticker-label { font-size: 13px; }
.xm-live-ticker-track > span { font-size: 13px; }
.xm-portal-section-head p { font-size: 13px; }
.xm-portal-section-head > a,
.xm-portal-panel-head > a { font-size: 13px; }
.xm-portal-event-topline > span:last-child { font-size: 12px; }
.xm-portal-event-body h3 { font-size: 16px; }
.xm-portal-event-body p { font-size: 13px; }
.xm-portal-event-time { font-size: 13px; }
.xm-portal-event-stats strong { font-size: 16px; }
.xm-portal-event-stats small { font-size: 12px; }
.xm-feed-copy strong { font-size: 14px; }
.xm-feed-new { font-size: 12px; }
.xm-feed-copy p { font-size: 13px; }
.xm-feed-copy small { font-size: 12px; }

/* Keep mobile readable too, but avoid blowing up the compact navigation. */
@media (max-width: 760px) {
  body { font-size: 17px; }
  .xm-nav-link { font-size: 16px; }
  .xm-bottom-nav a { font-size: 13px; }
  .xm-setup-tabs button { font-size: 13px; }
  .xm-picker-row .xm-badge { font-size: 12px; }
  .xm-event-title { font-size: 16px; }
}
/* XM-V2-READABILITY-2026-08-26-END */

/* xTraMarlin typography hotfix v2 2026-08-26; changed declarations: 348. */

/* XM-V2-CALENDAR-TILE-2026-08-26 */
.xm-upcoming-row {
  grid-template-columns: 92px minmax(0, 1fr) 20px;
  gap: 14px;
}
.xm-upcoming-date {
  width: 86px;
  min-height: 54px;
  height: auto;
  padding: 6px 4px;
  text-align: center;
}
.xm-upcoming-date b { font-size: 16px; line-height: 1; }
.xm-upcoming-date small {
  max-width: 100%;
  margin-top: 5px;
  font-size: 12px;
  line-height: 1;
  letter-spacing: -.035em;
  white-space: nowrap;
}
@media (max-width: 760px) {
  .xm-upcoming-row { grid-template-columns: 80px minmax(0, 1fr) 18px; gap: 10px; }
  .xm-upcoming-date { width: 76px; min-height: 51px; }
  .xm-upcoming-date small { font-size: 11px; }
}

/* XM-V2-BRAND-SPECIES-ICONS-2.2 */
.xm-brand { justify-content: flex-start; }
.xm-brand .xm-brand-wordmark { width: 194px; height: auto; max-height: 46px; border-radius: 0; object-fit: contain; object-position: left center; }
.xm-live-brand .xm-live-brand-wordmark { width: 158px; height: auto; max-height: 34px; object-fit: contain; }
.xm-live-brand > small { display: block; margin-left: 1px; color: #54d4b2; font-size: 10px; line-height: 1; font-weight: 900; letter-spacing: .13em; white-space: nowrap; }
.xm-feed-photo .xm-species-icon { width: 34px; height: 34px; object-fit: contain; opacity: .96; }
.xm-live-board .xm-feed-photo .xm-species-icon { width: 40px; height: 40px; }
.xm-fish-stat-icon img { width: 29px; height: 29px; object-fit: contain; }
.xm-fish-card-photo > .xm-fish-card-species { width: 100%; height: 100%; display: grid; place-items: center; background: radial-gradient(circle at 50% 38%, rgba(73,149,244,.14), transparent 38%); }
.xm-fish-card-photo > .xm-fish-card-species img { width: 76px; height: 76px; max-width: 42%; max-height: 42%; object-fit: contain; filter: drop-shadow(0 8px 18px rgba(0,0,0,.24)); }
@media (max-width: 760px) {
  .xm-brand .xm-brand-wordmark { width: 186px; }
  .xm-live-brand .xm-live-brand-wordmark { width: 128px; max-height: 29px; }
}


/* XM-V2-RESULTS-PDF-2.3 */
.xm-panel-head-actions { display:flex; align-items:center; gap:9px; flex:0 0 auto; }
.xm-pdf-download { width:31px; height:31px; display:inline-grid; place-items:center; border:1px solid rgba(239,100,100,.34); border-radius:8px; color:#ff8b8b; background:rgba(177,49,49,.08); text-decoration:none; transition:background .16s ease,border-color .16s ease,transform .16s ease,color .16s ease; }
.xm-pdf-download:hover { color:#ffd0d0; border-color:rgba(255,126,126,.72); background:rgba(190,54,54,.18); transform:translateY(-1px); }
.xm-pdf-download:focus-visible { outline:2px solid rgba(255,126,126,.85); outline-offset:2px; }
@media (max-width:760px) { .xm-pdf-download { width:30px; height:30px; border-radius:7px; } .xm-panel-head-actions { gap:7px; } }

/* XM-V2-SMART-IMAGE-FIT-2.3.1
   Global rule: V2 must never stretch or crop user-provided images/logos.
   Fixed-size media frames keep their visual rhythm, while the image itself
   is always shown whole with its native aspect ratio. */
.xm-app-shell img {
  object-fit: contain;
  object-position: center center;
  max-width: 100%;
  max-height: 100%;
}

/* Competition/cycle/season artwork: full logo/poster, never a crop. */
.xm-wow-poster,
.xm-comp-hero-visual,
.xm-series-hero-visual,
.xm-series-card-visual,
.xm-portal-event-visual,
.xm-competition-avatar,
.xm-poster-preview {
  background:
    radial-gradient(circle at 50% 42%, rgba(86, 154, 235, .12), transparent 48%),
    linear-gradient(145deg, #10233a 0%, #081522 100%);
}
.xm-wow-poster img,
.xm-comp-hero-visual img,
.xm-series-hero-visual img,
.xm-series-card-visual img,
.xm-portal-event-visual img,
.xm-poster-preview img {
  box-sizing: border-box;
  padding: 10px;
  background: transparent;
}
.xm-competition-avatar img {
  box-sizing: border-box;
  padding: 4px;
  background: transparent;
}

/* Photos and team imagery: keep every pixel visible; dark letterbox is intentional. */
.xm-feed-photo,
.xm-fish-card-photo,
.xm-ranking-avatar,
.xm-team-fish-avatar,
.xm-assignment-avatar,
.xm-picker-avatar {
  background: #07111d;
}
.xm-feed-photo img,
.xm-fish-card-photo > img,
.xm-ranking-avatar img,
.xm-team-fish-avatar img,
.xm-assignment-avatar img,
.xm-picker-avatar img {
  object-fit: contain !important;
  object-position: center center !important;
  background: #07111d;
}

/* A hover effect may not turn a correctly fitted photo into a crop. */
.xm-fish-card-photo:not(:disabled):hover img {
  transform: none;
}

/* On the big home hero give arbitrary logo shapes a little more breathing room. */
.xm-wow-poster img { padding: 14px; }

@media (max-width: 760px) {
  .xm-wow-poster img,
  .xm-comp-hero-visual img,
  .xm-series-hero-visual img,
  .xm-series-card-visual img,
  .xm-portal-event-visual img,
  .xm-poster-preview img { padding: 7px; }
  .xm-wow-poster img { padding: 9px; }
}
/* XM-V2-SMART-IMAGE-FIT-2.3.1-END */

/* === XM-V2-PUBLIC-COMPETITION-HUB-2.4 === */
html { scroll-behavior: smooth; }
.xm-nav-link.is-finished { color: #e8ad47; }
.xm-switch-zone.is-organizer { min-height: 78px; align-items: center; padding: 12px; border-color: rgba(45,212,191,.28); background: linear-gradient(145deg,rgba(45,212,191,.10),rgba(45,212,191,.035)); }
.xm-switch-zone.is-organizer > span:last-child { min-width: 0; }
.xm-switch-zone.is-organizer strong,.xm-switch-zone.is-organizer small { display: block; }
.xm-switch-zone.is-organizer strong { color: #a1f0df; font-size: 14px; }
.xm-switch-zone.is-organizer small { margin-top: 3px; color: #5f9e96; font-size: 10px; line-height: 1.25; font-weight: 750; }
.xm-switch-zone-icon { width: 36px; height: 36px; flex: 0 0 36px; display: grid; place-items: center; border: 1px solid rgba(45,212,191,.26); border-radius: 10px; background: rgba(45,212,191,.09); }

.xm-competition-toolbar { min-height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: -8px 0 14px; }
.xm-competition-breadcrumb { min-width: 0; display: flex; align-items: center; gap: 7px; color: #607b9e; font-size: 12px; }
.xm-competition-breadcrumb a { color: #79aef2; }
.xm-competition-breadcrumb strong { min-width: 0; overflow: hidden; color: #bdd0e8; text-overflow: ellipsis; white-space: nowrap; }
.xm-competition-pdf-tools { display: flex; align-items: center; gap: 6px; padding: 5px; border: 1px solid #1d3554; border-radius: 10px; background: #0b1728; }
.xm-competition-pdf-tools > span { display: inline-flex; align-items: center; gap: 6px; padding: 0 7px; color: #d7e4f5; font-size: 11px; font-weight: 950; letter-spacing: .04em; }
.xm-competition-pdf-tools > span svg { color: #ff7f8f; }
.xm-competition-pdf-tools > a { padding: 7px 10px; border: 1px solid #213a5a; border-radius: 7px; color: #9eb4cf; background: #101e32; font-size: 11px; font-weight: 800; transition: .16s ease; }
.xm-competition-pdf-tools > a:hover { color: #e9f3ff; border-color: #376290; background: #152943; }

.xm-competition-hub-hero { min-height: 220px; display: grid; grid-template-columns: 150px minmax(0,1fr) 245px; gap: 22px; align-items: stretch; padding: 22px; border: 1px solid #224267; border-radius: 18px; background: radial-gradient(circle at 92% 5%,rgba(75,152,255,.13),transparent 34%),linear-gradient(135deg,#0d1c31,#0a1728); box-shadow: 0 22px 60px rgba(0,0,0,.18); }
.xm-competition-hub-hero.is-live { border-color: rgba(45,212,191,.30); background: radial-gradient(circle at 90% 0,rgba(45,212,191,.10),transparent 35%),linear-gradient(135deg,#0d1c31,#0a1728); }
.xm-competition-hub-poster { width: 150px; min-height: 176px; display: grid; place-items: center; overflow: hidden; padding: 10px; border: 1px solid #2a4b73; border-radius: 14px; color: #78a6df; background: linear-gradient(145deg,#11243c,#091727); }
.xm-competition-hub-poster img { width: 100%; height: 100%; max-height: 190px; object-fit: contain; object-position: center; }
.xm-competition-hub-poster > span { font-size: 30px; font-weight: 1000; letter-spacing: -.06em; }
.xm-competition-hub-copy { min-width: 0; align-self: center; }
.xm-competition-hub-copy h1 { max-width: 900px; margin: 9px 0 0; color: #f0f6ff; font-size: clamp(26px,3vw,40px); line-height: 1.04; letter-spacing: -.045em; }
.xm-competition-hub-copy > p { max-width: 900px; margin: 9px 0 0; color: #7f96b3; font-size: 13px; line-height: 1.5; }
.xm-competition-facts { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 15px; }
.xm-competition-facts > span { display: inline-flex; align-items: center; gap: 6px; min-height: 31px; padding: 6px 9px; border: 1px solid rgba(109,151,204,.15); border-radius: 8px; color: #93aac6; background: rgba(7,17,31,.38); font-size: 11px; font-weight: 750; }
.xm-competition-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 15px; }
.xm-competition-organizer { min-width: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 14px; border-left: 1px solid rgba(108,149,200,.13); text-align: center; }
.xm-competition-organizer > span { color: #6e86a6; font-size: 10px; font-weight: 950; letter-spacing: .11em; }
.xm-competition-organizer > a,.xm-competition-organizer > div { width: 100%; min-height: 96px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; margin-top: 8px; padding: 8px; border: 1px solid rgba(111,151,202,.11); border-radius: 12px; background: rgba(8,18,32,.42); }
.xm-competition-organizer img { width: 100%; max-width: 126px; height: 70px; object-fit: contain; object-position: center; }
.xm-competition-organizer strong { max-width: 100%; color: #dceafb; font-size: 12px; line-height: 1.25; }
.xm-competition-organizer small { margin-top: 12px; color: #5f7797; font-size: 10px; font-weight: 900; letter-spacing: .07em; }
.xm-competition-organizer > b { margin-top: 3px; color: #f0f6ff; font-size: 17px; font-variant-numeric: tabular-nums; }

.xm-competition-partners { min-height: 112px; display: grid; grid-template-columns: 100px minmax(0,1fr); align-items: center; gap: 16px; margin-top: 12px; padding: 15px; border: 1px solid #1d3554; border-radius: 15px; background: rgba(13,27,46,.90); }
.xm-competition-partners > .xm-eyebrow { text-align: center; }
.xm-competition-partners > div { min-width: 0; display: flex; align-items: stretch; gap: 9px; overflow-x: auto; padding-bottom: 2px; scrollbar-width: thin; }
.xm-competition-partners > div > a,.xm-competition-partners > div > div { min-width: 128px; height: 76px; flex: 0 0 128px; display: grid; place-items: center; padding: 8px; border: 1px solid rgba(114,151,198,.12); border-radius: 10px; color: #7f96b3; background: #101e31; font-size: 11px; font-weight: 800; text-align: center; }
.xm-competition-partners img { width: 100%; height: 100%; object-fit: contain; object-position: center; }

.xm-competition-insights { display: grid; grid-template-columns: minmax(0,2.2fr) minmax(190px,.65fr) minmax(190px,.65fr); gap: 10px; margin-top: 18px; scroll-margin-top: 90px; }
.xm-big-fish-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
.xm-big-fish-card { min-height: 144px; display: grid; grid-template-columns: minmax(0,1fr) 104px; gap: 10px; align-items: center; padding: 16px; overflow: hidden; border: 1px solid #1e385a; border-radius: 13px; background: linear-gradient(145deg,#101f34,#0b192b); }
.xm-big-fish-card > div { min-width: 0; }
.xm-big-fish-card > div > span,.xm-big-fish-card > div > strong,.xm-big-fish-card > div > small { display: block; }
.xm-big-fish-card > div > span { overflow: hidden; color: #9bb1cb; font-size: 12px; font-weight: 950; line-height: 1.25; letter-spacing: .035em; text-overflow: ellipsis; white-space: nowrap; text-transform: uppercase; }
.xm-big-fish-card > div > strong { margin-top: 18px; color: #f3f8ff; font-size: 25px; line-height: 1.05; }
.xm-big-fish-card > div > small { margin-top: 6px; color: #718baa; font-size: 12px; line-height: 1.3; }
.xm-big-fish-art { width: 104px; height: 78px; display: grid; place-items: center; color: #7ea8d8; }
.xm-big-fish-art img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
.xm-competition-summary-card { min-height: 144px; padding: 16px; border: 1px solid #1e385a; border-radius: 13px; background: linear-gradient(145deg,#101f34,#0b192b); }
.xm-competition-summary-card > .xm-eyebrow { color: #7599c5; font-size: 13px; line-height: 1.2; letter-spacing: .11em; }
.xm-competition-summary-card > strong { display: block; margin-top: 8px; color: #f5f9ff; font-size: 40px; line-height: 1; }
.xm-competition-summary-card > small { display: block; margin-top: 6px; color: #7d96b5; font-size: 13px; line-height: 1.35; }
.xm-competition-summary-card > div { display: grid; gap: 8px; margin-top: 16px; }
.xm-competition-summary-card > div > span { min-height: 18px; display: flex; align-items: center; justify-content: space-between; gap: 8px; color: #8fa6c1; font-size: 12.5px; line-height: 1.25; }
.xm-competition-summary-card b { overflow: hidden; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
.xm-competition-summary-card em { flex: 0 0 auto; color: #e1ecf8; font-size: 13px; font-style: normal; font-weight: 950; }

.xm-competition-results { margin-top: 22px; padding: 18px; border: 1px solid #1f395b; border-radius: 15px; background: #0d1b2e; scroll-margin-top: 90px; }
.xm-competition-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; margin-bottom: 13px; }
.xm-competition-section-head h2 { margin: 3px 0 0; color: #eff6ff; font-size: 26px; letter-spacing: -.035em; }
.xm-competition-section-head p { margin: 4px 0 0; color: #637c9b; font-size: 11px; }
.xm-competition-section-head > div:last-child { display: flex; align-items: center; gap: 8px; }
.xm-competition-results .xm-ranking-list { max-height: none; overflow: visible; }
.xm-competition-lower-grid { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(320px,.75fr); gap: 12px; margin-top: 12px; }
#xm-about,#xm-organizer,#xm-partners,#xm-fish,#xm-results,#xm-feed { scroll-margin-top: 90px; }

.xm-public-info-page { min-height: 520px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 38px; border: 1px solid #1d3554; border-radius: 18px; background: radial-gradient(circle at 50% 0,rgba(75,152,255,.08),transparent 34%),#0d1b2e; text-align: center; }
.xm-public-info-icon { width: 70px; height: 70px; display: grid; place-items: center; margin-bottom: 14px; border: 1px solid #2d527e; border-radius: 18px; color: #7fb0f2; background: #102746; }
.xm-public-info-page h2 { margin: 7px 0 6px; color: #eef5ff; font-size: 30px; letter-spacing: -.035em; }
.xm-public-info-page p { max-width: 720px; margin: 0; color: #7c94b2; font-size: 13px; line-height: 1.6; }

@media (max-width: 1250px) {
  .xm-competition-hub-hero { grid-template-columns: 130px minmax(0,1fr) 210px; gap: 16px; }
  .xm-competition-hub-poster { width: 130px; }
  .xm-competition-insights { grid-template-columns: 1fr 1fr; }
  .xm-big-fish-grid { grid-column: 1 / -1; }
}
@media (max-width: 980px) {
  .xm-competition-toolbar { align-items: flex-start; flex-direction: column; }
  .xm-competition-pdf-tools { width: 100%; overflow-x: auto; }
  .xm-competition-pdf-tools > span,.xm-competition-pdf-tools > a { flex: 0 0 auto; }
  .xm-competition-hub-hero { grid-template-columns: 130px minmax(0,1fr); }
  .xm-competition-organizer { grid-column: 1 / -1; flex-direction: row; justify-content: flex-start; gap: 12px; border-top: 1px solid rgba(108,149,200,.13); border-left: 0; text-align: left; }
  .xm-competition-organizer > a,.xm-competition-organizer > div { width: auto; min-width: 220px; min-height: 78px; flex-direction: row; margin-top: 0; }
  .xm-competition-organizer img { width: 92px; height: 58px; }
  .xm-competition-organizer small { margin: 0 0 0 auto; }
  .xm-competition-lower-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .xm-competition-toolbar { margin-top: 0; }
  .xm-competition-hub-hero { display: flex; flex-direction: column; padding: 14px; }
  .xm-competition-hub-poster { width: 100%; height: 160px; min-height: 160px; }
  .xm-competition-hub-poster img { max-height: 138px; }
  .xm-competition-hub-copy h1 { font-size: 28px; }
  .xm-competition-organizer { align-items: stretch; flex-direction: column; }
  .xm-competition-organizer > a,.xm-competition-organizer > div { width: 100%; }
  .xm-competition-organizer small { margin: 0; }
  .xm-competition-partners { grid-template-columns: 1fr; }
  .xm-competition-partners > .xm-eyebrow { text-align: left; }
  .xm-competition-insights { grid-template-columns: 1fr; }
  .xm-big-fish-grid { grid-column: auto; grid-template-columns: 1fr; }
  .xm-big-fish-card { min-height: 118px; }
  .xm-competition-section-head { align-items: flex-start; flex-direction: column; }
  .xm-competition-results { padding: 12px; }
}
.xm-results-table-head { min-height: 36px; display: grid; grid-template-columns: 46px 44px minmax(0,1fr) 90px 34px; align-items: center; gap: 8px; margin: 0 0 6px; padding: 0 10px; border: 1px solid rgba(128,161,202,.14); border-radius: 9px; color: #6e86a5; background: #101e31; font-size: 10px; font-weight: 900; letter-spacing: .04em; }
.xm-results-table-head span:nth-child(1) { grid-column: 1; text-align: center; }
.xm-results-table-head span:nth-child(2) { grid-column: 2 / 4; }
.xm-results-table-head span:nth-child(3) { grid-column: 4; text-align: right; }
.xm-results-table-head span:nth-child(4) { display: none; }
.xm-results-table-head span:nth-child(5) { grid-column: 5; }
.xm-competition-results .xm-ranking-list { display: grid; gap: 5px; }
.xm-competition-results .xm-ranking-row { min-height: 58px; grid-template-columns: 46px 44px minmax(0,1fr) 90px 34px; border: 1px solid rgba(111,149,197,.11); border-radius: 9px; background: #101e31; }
.xm-competition-results .xm-ranking-row:hover { border-color: #315b89; background: #13253c; }
.xm-competition-results .xm-ranking-place { width: 30px; height: 30px; justify-self: center; }
.xm-competition-results .xm-ranking-score { min-width: 0; }
@media (max-width: 650px) {
  .xm-results-table-head { display: none; }
  .xm-competition-results .xm-ranking-row { grid-template-columns: 36px 38px minmax(0,1fr) auto 24px; }
}

/* XM-V2-PUBLIC-STATS-READABILITY-2.4.2 */

/* XM-V2-RICH-RESULTS-2.5 */
.xm-series-main-grid .xm-portal-panel.is-rich-results{grid-column:1 / -1;min-height:0}
.xm-series-main-grid .xm-portal-panel.is-rich-results .xm-ranking-list{max-height:none;overflow:visible}
.xm-series-results-scroll{width:100%;overflow-x:auto;overscroll-behavior-inline:contain;margin-top:14px;border:1px solid rgba(101,145,198,.17);border-radius:12px;background:#0b192b;scrollbar-color:#315b89 #0b1728}
.xm-series-results-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;color:#cdddf1;font-size:12px;font-variant-numeric:tabular-nums}
.xm-series-results-table th{position:sticky;top:0;z-index:3;min-width:84px;padding:10px 9px;border-right:1px solid rgba(107,149,198,.12);border-bottom:1px solid #294667;background:#101f33;color:#7893b5;font-size:10px;font-weight:900;letter-spacing:.045em;text-align:center;text-transform:uppercase;vertical-align:bottom}
.xm-series-results-table th.is-stage{min-width:168px;max-width:195px;text-align:left}
.xm-series-results-table th.is-stage span,.xm-series-results-table th.is-stage strong{display:block}
.xm-series-results-table th.is-stage span{margin-bottom:4px;color:#58d7bc;font-size:9px}
.xm-series-results-table th.is-stage strong{color:#dce9fa;font-size:11px;line-height:1.25;text-transform:none;letter-spacing:0}
.xm-series-results-table th.is-place,.xm-series-results-table td.is-place{position:sticky;left:0;z-index:4;width:62px;min-width:62px;text-align:center}
.xm-series-results-table th.is-team,.xm-series-results-table td.is-team{position:sticky;left:62px;z-index:4;width:250px;min-width:250px;max-width:250px;text-align:left}
.xm-series-results-table th.is-place,.xm-series-results-table th.is-team{z-index:6;background:#12253c}
.xm-series-results-table td{padding:9px;border-right:1px solid rgba(107,149,198,.09);border-bottom:1px solid rgba(107,149,198,.11);background:#0e1d30;vertical-align:middle;text-align:center}
.xm-series-results-table tbody tr:nth-child(even) td{background:#102238}
.xm-series-results-table tbody tr:hover td{background:#142941}
.xm-series-results-table tbody tr:nth-child(even) td.is-place,.xm-series-results-table tbody tr:nth-child(even) td.is-team{background:#102238}
.xm-series-results-table tbody tr:hover td.is-place,.xm-series-results-table tbody tr:hover td.is-team{background:#142941}
.xm-series-results-table td.is-place{color:#86a6cb;font-size:15px;font-weight:950}
.xm-series-results-table tr.place-1 td.is-place{color:#ffc762}
.xm-series-results-table td.is-team a{display:block;color:inherit;text-decoration:none}
.xm-series-results-table td.is-team strong,.xm-series-results-table td.is-team small{display:block}
.xm-series-results-table td.is-team strong{overflow:hidden;color:#e4effc;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.xm-series-results-table td.is-team small{margin-top:3px;color:#7088a7;font-size:10px;line-height:1.25;white-space:normal}
.xm-series-results-table td.is-total{min-width:84px;color:#bcd0e7}
.xm-series-results-table td.is-total strong{color:#e5f6f0;font-size:13px}
.xm-stage-result-cell{display:grid;gap:3px;min-width:146px;text-align:left;line-height:1.25}
.xm-stage-result-cell>strong{color:#eef6ff;font-size:13px}
.xm-stage-result-cell>strong small{color:#718cac;font-size:9px;font-weight:800;text-transform:uppercase}
.xm-stage-result-cell span{color:#849bb7;font-size:10px}
.xm-stage-result-cell span b{color:#bcdff2;font-weight:900}
.xm-stage-result-empty{color:#46607f}

.xm-sector-results{margin-top:22px;padding-top:20px;border-top:1px solid rgba(113,155,205,.16)}
.xm-sector-results-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:12px}
.xm-sector-results-head span{color:#58d7bc;font-size:10px;font-weight:950;letter-spacing:.12em}
.xm-sector-results-head h3{margin:4px 0 3px;color:#e3eefb;font-size:21px}
.xm-sector-results-head p{margin:0;color:#7087a4;font-size:12px}
.xm-sector-results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.xm-sector-result-card{overflow:hidden;border:1px solid rgba(98,148,207,.18);border-radius:13px;background:#0c1a2d}
.xm-sector-result-card>header{display:flex;align-items:baseline;gap:8px;padding:13px 14px;border-bottom:1px solid rgba(105,149,202,.15);background:linear-gradient(90deg,rgba(33,73,115,.26),rgba(12,26,45,0))}
.xm-sector-result-card>header span{color:#69d9c3;font-size:9px;font-weight:950;letter-spacing:.12em}
.xm-sector-result-card>header strong{color:#e3eefb;font-size:17px}
.xm-sector-result-card>header small{margin-left:auto;color:#667f9e;font-size:10px}
.xm-sector-result-list{display:grid}
.xm-sector-result-row{display:grid;grid-template-columns:34px minmax(0,1fr) 74px 74px;gap:8px;align-items:center;min-height:54px;padding:8px 12px;border-bottom:1px solid rgba(105,149,202,.1);color:inherit;text-decoration:none}
.xm-sector-result-row:last-child{border-bottom:0}
.xm-sector-result-row:hover{background:rgba(35,72,113,.22)}
.xm-sector-result-row>b{display:grid;width:29px;height:29px;place-items:center;border-radius:8px;background:#0a1727;color:#91aed0;font-size:12px}
.xm-sector-result-row>span{min-width:0}
.xm-sector-result-row>span strong,.xm-sector-result-row>span small,.xm-sector-result-row>em strong,.xm-sector-result-row>em small,.xm-sector-result-row>i strong,.xm-sector-result-row>i small{display:block}
.xm-sector-result-row>span strong{overflow:hidden;color:#dce9f8;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.xm-sector-result-row>span small{margin-top:3px;color:#647e9d;font-size:10px}
.xm-sector-result-row>em,.xm-sector-result-row>i{font-style:normal;text-align:right}
.xm-sector-result-row>em strong{color:#6ee0c9;font-size:13px}.xm-sector-result-row>i strong{color:#d6e8fa;font-size:13px}
.xm-sector-result-row>em small,.xm-sector-result-row>i small{color:#5e7592;font-size:9px;text-transform:uppercase}

@media(max-width:860px){
  .xm-series-results-scroll{margin-left:-2px;margin-right:-2px;border-radius:10px}
  .xm-series-results-table{font-size:11px}
  .xm-series-results-table th.is-team,.xm-series-results-table td.is-team{width:190px;min-width:190px;max-width:190px}
  .xm-series-results-table th.is-stage{min-width:156px;max-width:170px}
  .xm-sector-results-grid{grid-template-columns:1fr}
  .xm-sector-result-row{grid-template-columns:32px minmax(0,1fr) 68px 68px;padding:8px}
}
@media(max-width:520px){
  .xm-sector-results{margin-top:16px;padding-top:16px}
  .xm-sector-results-head h3{font-size:18px}
  .xm-sector-results-head p{font-size:11px}
  .xm-sector-result-card>header{padding:11px 10px}
  .xm-sector-result-card>header small{display:none}
  .xm-sector-result-row{grid-template-columns:30px minmax(0,1fr) 62px;gap:6px}
  .xm-sector-result-row>i{display:none}
  .xm-series-results-table th.is-place,.xm-series-results-table td.is-place{width:52px;min-width:52px}
  .xm-series-results-table th.is-team,.xm-series-results-table td.is-team{left:52px;width:168px;min-width:168px;max-width:168px}
}


/* XM-OWNER-REVIEW-2.4 */
.xm-feed-row.is-rejected { border-color:rgba(255,85,105,.28); background:linear-gradient(90deg,rgba(120,27,42,.13),rgba(14,31,52,.72)); }
.xm-feed-row.is-not-counted { border-color:rgba(255,181,72,.22); background:linear-gradient(90deg,rgba(135,85,15,.09),rgba(14,31,52,.72)); }
.xm-feed-new.is-rejected { color:#ff9aaa; background:rgba(255,73,103,.12); }
.xm-feed-new.is-muted { color:#ffc76e; background:rgba(255,174,50,.10); }
.xm-feed-reason { display:block; margin-top:5px; color:#e49aa7; font-size:11px; line-height:1.3; font-style:normal; font-weight:750; }
.xm-feed-reason.is-muted { color:#c9a66d; }
.xm-feed-points.is-rejected strong,.xm-feed-points.is-rejected span { color:#d88694; }
.xm-feed-points.is-muted strong,.xm-feed-points.is-muted span { color:#c9a66d; }
.xm-competition-organizer.is-countdown-only { min-height:150px; }
.xm-competition-organizer.is-countdown-only small { margin-top:0; }
.xm-competition-organizer.is-countdown-only b { font-size:24px; }
.xm-competition-results .xm-ranking-row { grid-template-columns:46px 54px minmax(210px,1.35fr) minmax(260px,.9fr) 110px 34px; min-height:72px; padding:10px 12px; }
.xm-competition-results .xm-ranking-avatar { width:48px; height:48px; }
.xm-ranking-stats { min-width:0; display:grid; grid-template-columns:repeat(3,minmax(74px,1fr)); gap:6px; }
.xm-ranking-stats > span { min-width:0; padding:7px 8px; border:1px solid rgba(112,154,204,.10); border-radius:8px; background:rgba(8,20,35,.34); }
.xm-ranking-stats small,.xm-ranking-stats b { display:block; }
.xm-ranking-stats small { color:#587697; font-size:8px; font-weight:900; letter-spacing:.07em; }
.xm-ranking-stats b { margin-top:2px; color:#b7cce3; font-size:12px; white-space:nowrap; }
@media (max-width: 1050px) { .xm-competition-results .xm-ranking-row { grid-template-columns:38px 42px minmax(0,1fr) 100px 24px; } .xm-competition-results .xm-ranking-stats { display:none; } }

/* XM-V2-TEAM-GALLERY-STATUS-2.4.1 */
.xm-team-fish-summary { display:flex; flex-wrap:wrap; align-items:center; gap:5px; margin:10px 0 0 !important; color:#7993b1 !important; line-height:1.5; }
.xm-team-fish-summary b { color:#d8e9fb; }
.xm-team-fish-summary span { color:#3f5d7c; }
.xm-team-fish-kpis article.is-counted { border-color:rgba(57,215,165,.24); background:rgba(57,215,165,.055); }
.xm-team-fish-kpis article.is-counted strong { color:#72e7bf; }
.xm-team-fish-kpis article.is-total { border-color:rgba(75,152,255,.26); background:rgba(75,152,255,.06); }
.xm-team-fish-kpis article.is-total strong { color:#91c2ff; }
.xm-team-gallery-controls { min-width:min(100%,760px); display:flex; align-items:flex-end; justify-content:flex-end; gap:12px; }
.xm-team-status-filters { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; }
.xm-team-status-filters button { min-height:36px; display:inline-flex; align-items:center; gap:6px; padding:0 10px; border:1px solid #294967; border-radius:9px; color:#8ba4bf; background:#091829; font:inherit; font-size:11px; font-weight:900; cursor:pointer; transition:border-color .15s ease,background .15s ease,color .15s ease; }
.xm-team-status-filters button b { min-width:20px; padding:2px 6px; border-radius:999px; color:#b9cee4; background:rgba(123,161,204,.1); font-size:10px; text-align:center; }
.xm-team-status-filters button:hover,.xm-team-status-filters button.active { border-color:#4d7caf; color:#e4f0fc; background:#10253c; }
.xm-team-status-filters button.is-counted.active { border-color:rgba(57,215,165,.48); color:#72e7bf; background:rgba(57,215,165,.09); }
.xm-team-status-filters button.is-outside.active { border-color:rgba(255,176,32,.52); color:#ffc45d; background:rgba(255,176,32,.09); }
.xm-team-status-filters button.is-rejected.active { border-color:rgba(255,100,124,.52); color:#ff8fa2; background:rgba(255,100,124,.09); }
.xm-team-status-filters button.is-accepted.active { border-color:rgba(137,170,207,.4); color:#c5d8ec; background:rgba(137,170,207,.08); }
.xm-fish-card { position:relative; }
.xm-fish-card.is-status-counted { border-color:rgba(57,215,165,.28); }
.xm-fish-card.is-status-outside { border-color:rgba(255,176,32,.34); }
.xm-fish-card.is-status-rejected { border-color:rgba(255,100,124,.36); background:linear-gradient(180deg,rgba(255,100,124,.035),#0d1c2f 45%); }
.xm-fish-card.is-status-accepted { border-color:rgba(128,163,200,.26); }
.xm-fish-card-status { position:absolute; z-index:3; left:8px; top:8px; display:inline-flex; align-items:center; min-height:25px; padding:0 8px; border:1px solid rgba(130,165,203,.28); border-radius:999px; color:#d7e7f8; background:rgba(5,13,23,.88); box-shadow:0 5px 18px rgba(0,0,0,.18); font-size:10px; font-weight:1000; letter-spacing:.055em; }
.xm-fish-card-status.is-counted { border-color:rgba(57,215,165,.42); color:#72e7bf; background:rgba(6,35,32,.9); }
.xm-fish-card-status.is-outside { border-color:rgba(255,176,32,.45); color:#ffc45d; background:rgba(42,30,5,.91); }
.xm-fish-card-status.is-rejected { border-color:rgba(255,100,124,.46); color:#ff9aac; background:rgba(45,11,20,.92); }
.xm-fish-card-status.is-accepted { color:#c4d6e9; }
.xm-fish-card-body p b.is-outside { color:#ffc45d; }
.xm-fish-card-body p b.is-rejected { color:#ff8fa2; }
.xm-fish-card-body p b.is-accepted { color:#9fb6cf; }
.xm-fish-status-note { min-height:0 !important; margin-top:7px !important; padding:7px 8px; border-radius:7px; line-height:1.4 !important; }
.xm-fish-status-note.is-outside { color:#dba94e !important; background:rgba(255,176,32,.055); }
.xm-fish-status-note.is-rejected { color:#df8c9a !important; background:rgba(255,100,124,.055); }
.xm-fish-status-note.is-accepted { color:#8fa6be !important; background:rgba(130,165,203,.05); }
.xm-fish-card.is-status-rejected .xm-fish-card-photo > img { filter:saturate(.72) brightness(.86); }
.xm-fish-card.is-status-rejected .xm-fish-card-photo:not(:disabled):hover img { filter:saturate(.72) brightness(.72); }
@media (max-width:1180px) {
  .xm-team-gallery-controls { min-width:0; width:100%; justify-content:space-between; }
  .xm-team-fish-toolbar { align-items:stretch; flex-direction:column; }
  .xm-team-status-filters { justify-content:flex-start; }
}
@media (max-width:650px) {
  .xm-team-gallery-controls { align-items:stretch; flex-direction:column; }
  .xm-team-status-filters button { flex:1 1 auto; justify-content:center; }
}

/* XM-V2-LIVE-MOBILE-RANKING-2.4.2
   Mobile live board: keep team identity readable and move ranking metrics
   to their own second row. Desktop/tablet layouts are intentionally untouched. */
@media (max-width: 650px) {
  .xm-live-center-screen .xm-live-board .xm-ranking-row {
    min-height: 94px;
    grid-template-columns: 30px 40px minmax(0,1fr) 76px 14px;
    grid-template-areas:
      "place avatar team score more"
      "place avatar stats stats more";
    align-items: start;
    gap: 5px 7px;
    overflow: hidden;
    padding: 10px 8px;
  }
  .xm-live-center-screen .xm-live-board .xm-ranking-place {
    grid-area: place;
    align-self: start;
    width: 30px;
    height: 30px;
    margin-top: 1px;
  }
  .xm-live-center-screen .xm-live-board .xm-ranking-avatar {
    grid-area: avatar;
    align-self: start;
    width: 40px;
    height: 40px;
    margin-top: 0;
  }
  .xm-live-center-screen .xm-live-board .xm-ranking-team {
    grid-area: team;
    align-self: start;
    min-width: 0;
    overflow: hidden;
  }
  .xm-live-center-screen .xm-live-board .xm-ranking-team strong {
    display: -webkit-box;
    overflow: hidden;
    font-size: 12px;
    line-height: 1.25;
    white-space: normal;
    overflow-wrap: anywhere;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .xm-live-center-screen .xm-live-board .xm-ranking-team small {
    display: -webkit-box;
    overflow: hidden;
    margin-top: 3px;
    color: #7188a5;
    font-size: 9px;
    line-height: 1.3;
    white-space: normal;
    overflow-wrap: anywhere;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .xm-live-center-screen .xm-live-board .xm-ranking-stats {
    grid-area: stats;
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr));
    align-self: end;
    min-width: 0;
    gap: 5px;
    margin-top: 2px;
  }
  .xm-live-center-screen .xm-live-board .xm-ranking-stats > span {
    min-width: 0;
    padding: 4px 6px;
    border-radius: 7px;
  }
  .xm-live-center-screen .xm-live-board .xm-ranking-stats > span:nth-child(n+3) {
    display: none;
  }
  .xm-live-center-screen .xm-live-board .xm-ranking-stats small {
    overflow: hidden;
    font-size: 7px;
    line-height: 1.1;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .xm-live-center-screen .xm-live-board .xm-ranking-stats b {
    overflow: hidden;
    margin-top: 2px;
    font-size: 11px;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .xm-live-center-screen .xm-live-board .xm-ranking-score {
    grid-area: score;
    align-self: start;
    min-width: 0;
    padding-top: 1px;
    text-align: right;
  }
  .xm-live-center-screen .xm-live-board .xm-ranking-score strong {
    overflow: hidden;
    font-size: 16px;
    line-height: 1.1;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .xm-live-center-screen .xm-live-board .xm-ranking-score small {
    margin-top: 3px;
    font-size: 9px;
  }
  .xm-live-center-screen .xm-live-board .xm-ranking-more {
    grid-area: more;
    align-self: center;
  }
}

@media (max-width: 380px) {
  .xm-live-center-screen .xm-live-board .xm-ranking-row {
    grid-template-columns: 28px 36px minmax(0,1fr) 68px 12px;
    gap: 5px;
    padding-left: 6px;
    padding-right: 6px;
  }
  .xm-live-center-screen .xm-live-board .xm-ranking-avatar { width: 36px; height: 36px; }
  .xm-live-center-screen .xm-live-board .xm-ranking-score strong { font-size: 14px; }
}


/* XM-V2-CLUB-CLASSIFICATION-1.0 */
.xm-classification-tabs{display:flex;gap:7px;margin:0 0 12px;padding:4px;border:1px solid var(--xm-border-soft);border-radius:11px;background:rgba(5,17,31,.5);width:max-content;max-width:100%}
.xm-classification-tabs button{border:0;border-radius:8px;padding:8px 14px;background:transparent;color:var(--xm-text-soft);font:inherit;font-size:12px;font-weight:900;cursor:pointer}
.xm-classification-tabs button.active{background:rgba(47,145,226,.18);color:#e8f5ff;box-shadow:inset 0 0 0 1px rgba(91,177,244,.26)}
.xm-classification-tabs button span{margin-left:5px;opacity:.7}
.xm-club-ranking{display:grid;gap:10px}
.xm-club-rule{display:flex;gap:10px;justify-content:space-between;align-items:center;padding:10px 12px;border:1px solid rgba(69,158,227,.22);border-radius:10px;background:rgba(27,92,145,.08)}
.xm-club-rule strong{font-size:12px;color:#dcefff}.xm-club-rule span{font-size:11px;color:#7897b6;text-align:right}
.xm-club-ranking-list{display:grid;gap:7px}
.xm-club-card{border:1px solid var(--xm-border-soft);border-radius:12px;background:rgba(7,20,35,.76);overflow:hidden}
.xm-club-card[open]{border-color:rgba(71,157,225,.34);box-shadow:0 8px 28px rgba(0,0,0,.13)}
.xm-club-card summary{list-style:none;display:grid;grid-template-columns:46px 54px minmax(220px,1fr) 120px 110px 22px;gap:10px;align-items:center;padding:10px 12px;cursor:pointer}
.xm-club-card summary::-webkit-details-marker{display:none}
.xm-club-place{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#0d2239;color:#dcecff;font-size:16px;font-weight:950}
.xm-club-card.place-1 .xm-club-place,.xm-club-card.place-2 .xm-club-place,.xm-club-card.place-3 .xm-club-place{background:rgba(58,143,213,.22);box-shadow:inset 0 0 0 1px rgba(103,187,250,.25)}
.xm-club-logo{width:48px;height:40px;display:grid;place-items:center;border:1px solid var(--xm-border-soft);border-radius:8px;background:#07131f;overflow:hidden}.xm-club-logo img{width:100%;height:100%;object-fit:contain}.xm-club-logo i{font-style:normal;font-size:11px;font-weight:900;color:#7895b3}
.xm-club-name strong{display:block;color:#e4f1ff;font-size:14px}.xm-club-name small{display:block;margin-top:2px;color:#718aa5;font-size:10px}
.xm-club-fish small,.xm-club-score small{display:block;color:#687f99;font-size:9px;font-weight:900}.xm-club-fish b,.xm-club-score strong{display:block;color:#d9ebfb;font-size:15px}.xm-club-score{text-align:right}.xm-club-score strong{font-size:19px}.xm-club-toggle{display:grid;place-items:center;color:#6f8aa6;transition:transform .15s}.xm-club-card[open] .xm-club-toggle{transform:rotate(90deg)}
.xm-club-breakdown{display:grid;border-top:1px solid var(--xm-border-soft);background:rgba(4,13,23,.38)}
.xm-club-team{display:grid;grid-template-columns:105px minmax(220px,1fr) 95px 95px;gap:9px;align-items:center;padding:8px 12px;border-bottom:1px solid rgba(71,101,131,.13);text-decoration:none;color:inherit}.xm-club-team:last-child{border-bottom:0}
.xm-club-team-state{width:max-content;border-radius:999px;padding:4px 7px;font-size:8px;font-weight:950;letter-spacing:.05em;background:rgba(50,173,116,.13);color:#76dbaa;border:1px solid rgba(80,205,143,.22)}
.xm-club-team.is-outside{opacity:.66}.xm-club-team.is-outside .xm-club-team-state{background:rgba(112,132,155,.08);border-color:rgba(112,132,155,.18);color:#91a4b7}.xm-club-team.is-missing{background:rgba(209,140,48,.05)}.xm-club-team.is-missing .xm-club-team-state{background:rgba(209,140,48,.11);border-color:rgba(224,158,64,.22);color:#e3af67}
.xm-club-team-name strong{display:block;color:#dbe9f7;font-size:11px}.xm-club-team-name small,.xm-club-team>span>small{display:block;color:#657d96;font-size:9px;margin-top:2px}.xm-club-team>span>b{display:block;color:#d6e6f6;font-size:12px}
@media(max-width:760px){.xm-club-rule{align-items:flex-start;flex-direction:column}.xm-club-rule span{text-align:left}.xm-club-card summary{grid-template-columns:36px 44px minmax(0,1fr) 78px 18px;padding:9px 8px;gap:7px}.xm-club-logo{width:40px;height:34px}.xm-club-fish{display:none}.xm-club-score strong{font-size:16px}.xm-club-name strong{font-size:12px}.xm-club-team{grid-template-columns:82px minmax(0,1fr) 70px;padding:8px}.xm-club-team>span:last-child{display:none}.xm-club-team-state{font-size:7px;padding:3px 5px}}


/* XM-V2-CLUB-CYCLE-CLASSIFICATION-1.0 */
.xm-club-warnings{display:grid;gap:6px}
.xm-club-warnings>div{display:flex;align-items:flex-start;gap:7px;padding:8px 10px;border:1px solid rgba(226,158,60,.22);border-radius:9px;background:rgba(196,124,33,.07);color:#d9ab6f;font-size:11px;line-height:1.45}
.xm-club-stage{display:grid;border-bottom:1px solid rgba(76,111,146,.22)}
.xm-club-stage:last-child{border-bottom:0}
.xm-club-stage-head{display:grid;grid-template-columns:minmax(220px,1fr) 95px 105px;gap:10px;align-items:center;padding:10px 12px;background:rgba(18,48,76,.32);border-bottom:1px solid rgba(71,101,131,.14)}
.xm-club-stage-head>div:first-child span{display:block;color:#5e83a6;font-size:8px;font-weight:950;letter-spacing:.08em}
.xm-club-stage-head>div:first-child strong{display:block;margin-top:2px;color:#dcecff;font-size:12px}
.xm-club-stage-head>div:first-child small{display:block;margin-top:3px;color:#7891aa;font-size:9px}
.xm-club-stage-head>div:not(:first-child){text-align:right}
.xm-club-stage-head>div:not(:first-child) b{display:block;color:#dcecff;font-size:13px}
.xm-club-stage-head>div:not(:first-child) small{display:block;color:#647e98;font-size:8px}
.xm-club-ranking.is-cycle .xm-club-breakdown{background:rgba(3,12,22,.46)}
.xm-club-ranking.is-cycle .xm-club-stage .xm-club-team{padding-left:20px}
@media(max-width:760px){
  .xm-club-stage-head{grid-template-columns:minmax(0,1fr) 70px;padding:9px 8px;gap:7px}
  .xm-club-stage-head>div:nth-child(3){display:none}
  .xm-club-stage-head>div:first-child strong{font-size:11px}
  .xm-club-stage-head>div:first-child small{font-size:8px;line-height:1.35}
  .xm-club-ranking.is-cycle .xm-club-stage .xm-club-team{padding-left:8px}
}

/* XM-TOP3-ZEBRA-1.0
   Ranking convention requested by owner: podium colors, then zebra rows.
   Applies only to classification/ranking components. */
.xm-ranking-list > .xm-ranking-row:nth-child(n+4):nth-child(even) {
  background: rgba(17, 38, 61, .86);
}
.xm-ranking-list > .xm-ranking-row:nth-child(n+4):nth-child(odd) {
  background: rgba(12, 28, 47, .72);
}
.xm-ranking-row.place-1 {
  border-color: rgba(218, 170, 58, .62) !important;
  background: linear-gradient(90deg, rgba(220, 168, 47, .20), rgba(14, 30, 50, .68)) !important;
  box-shadow: inset 3px 0 0 rgba(240, 190, 67, .92);
}
.xm-ranking-row.place-2 {
  border-color: rgba(175, 192, 211, .48) !important;
  background: linear-gradient(90deg, rgba(177, 194, 214, .14), rgba(14, 30, 50, .68)) !important;
  box-shadow: inset 3px 0 0 rgba(198, 211, 226, .82);
}
.xm-ranking-row.place-3 {
  border-color: rgba(185, 119, 73, .48) !important;
  background: linear-gradient(90deg, rgba(184, 112, 62, .15), rgba(14, 30, 50, .68)) !important;
  box-shadow: inset 3px 0 0 rgba(205, 132, 78, .86);
}
.xm-ranking-row.place-1 .xm-ranking-place { color:#ffd46f; border-color:rgba(240,190,67,.40); background:rgba(218,163,44,.17); }
.xm-ranking-row.place-2 .xm-ranking-place { color:#dbe5f0; border-color:rgba(190,207,224,.35); background:rgba(174,192,211,.13); }
.xm-ranking-row.place-3 .xm-ranking-place { color:#e1a173; border-color:rgba(205,132,78,.35); background:rgba(184,112,62,.13); }

/* Rich cycle/season classification table. */
.xm-series-results-table tbody tr:nth-child(n+4):nth-child(even) td { background:#102238; }
.xm-series-results-table tbody tr:nth-child(n+4):nth-child(odd) td { background:#0e1d30; }
.xm-series-results-table tbody tr.place-1 td { background:rgba(111,82,20,.24) !important; border-bottom-color:rgba(232,184,68,.26); }
.xm-series-results-table tbody tr.place-2 td { background:rgba(105,121,139,.18) !important; border-bottom-color:rgba(190,207,224,.22); }
.xm-series-results-table tbody tr.place-3 td { background:rgba(104,62,35,.22) !important; border-bottom-color:rgba(205,132,78,.22); }
.xm-series-results-table tbody tr.place-1 td.is-place { color:#ffd46f; }
.xm-series-results-table tbody tr.place-2 td.is-place { color:#dbe5f0; }
.xm-series-results-table tbody tr.place-3 td.is-place { color:#e1a173; }

/* Club classification. */
.xm-club-ranking-list > .xm-club-card:nth-child(n+4):nth-child(even) { background:rgba(17,38,61,.80); }
.xm-club-ranking-list > .xm-club-card:nth-child(n+4):nth-child(odd) { background:rgba(7,20,35,.76); }
.xm-club-card.place-1 { border-color:rgba(218,170,58,.58); background:linear-gradient(90deg,rgba(220,168,47,.16),rgba(7,20,35,.76)); box-shadow:inset 3px 0 0 rgba(240,190,67,.92); }
.xm-club-card.place-2 { border-color:rgba(175,192,211,.42); background:linear-gradient(90deg,rgba(177,194,214,.11),rgba(7,20,35,.76)); box-shadow:inset 3px 0 0 rgba(198,211,226,.82); }
.xm-club-card.place-3 { border-color:rgba(185,119,73,.42); background:linear-gradient(90deg,rgba(184,112,62,.12),rgba(7,20,35,.76)); box-shadow:inset 3px 0 0 rgba(205,132,78,.86); }
.xm-club-card.place-1 .xm-club-place { color:#ffd46f; background:rgba(218,163,44,.17); }
.xm-club-card.place-2 .xm-club-place { color:#dbe5f0; background:rgba(174,192,211,.13); }
.xm-club-card.place-3 .xm-club-place { color:#e1a173; background:rgba(184,112,62,.13); }

/* Sector classification. */
.xm-sector-result-list > .xm-sector-result-row:nth-child(n+4):nth-child(even) { background:rgba(17,38,61,.82); }
.xm-sector-result-list > .xm-sector-result-row:nth-child(n+4):nth-child(odd) { background:rgba(10,25,42,.70); }
.xm-sector-result-row.place-1 { border-color:rgba(218,170,58,.48); background:rgba(220,168,47,.13) !important; }
.xm-sector-result-row.place-2 { border-color:rgba(175,192,211,.38); background:rgba(177,194,214,.10) !important; }
.xm-sector-result-row.place-3 { border-color:rgba(185,119,73,.38); background:rgba(184,112,62,.11) !important; }
.xm-sector-result-row.place-1 > b { color:#ffd46f; }
.xm-sector-result-row.place-2 > b { color:#dbe5f0; }
.xm-sector-result-row.place-3 > b { color:#e1a173; }