.tm-manager[data-site="dark"] {
    --tm-bg:#171717; --tm-surface:#222; --tm-surface-2:#2b2b2b; --tm-border:#3a3a3a;
    --tm-text:#f2f2f2; --tm-muted:#a3a3a3; --tm-soft:#767676;
    --tm-accent:#ff8c00; --tm-blue:#2f7dd3; --tm-green:#259b55; --tm-red:#bf3d3d; --tm-yellow:#ffc247;
    --tm-input-bg:#151515; --tm-match-bg:#191919; --tm-row-bg:rgba(255,255,255,.035);
    --tm-line:#555;
    color-scheme: dark;
}
.tm-manager[data-site="dark"] input[type="date"],
.tm-manager[data-site="dark"] input[type="time"],
.tm-manager[data-site="dark"] input[type="datetime-local"] { color-scheme: dark; }
.tm-manager[data-site="dark"] input[type="date"]::-webkit-calendar-picker-indicator,
.tm-manager[data-site="dark"] input[type="time"]::-webkit-calendar-picker-indicator,
.tm-manager[data-site="dark"] input[type="datetime-local"]::-webkit-calendar-picker-indicator {
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23f2f2f2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");
    background-repeat:no-repeat; background-position:center; background-size:18px 18px;
    filter:none !important; opacity:1 !important; cursor:pointer;
}
.tm-manager[data-site="dark"] input:-webkit-autofill,
.tm-manager[data-site="dark"] textarea:-webkit-autofill,
.tm-manager[data-site="dark"] select:-webkit-autofill { -webkit-text-fill-color:#f2f2f2 !important; caret-color:#f2f2f2 !important; box-shadow:0 0 0 1000px #151515 inset !important; border-color:#3a3a3a !important; transition:background-color 9999s ease-out 0s !important; }
.tm-manager[data-site="light"] {
    --tm-bg:transparent; --tm-surface:rgba(255,255,255,.2); --tm-surface-2:rgba(255,255,255,.2); --tm-border:rgba(255,255,255,.35);
    --tm-text:#1d2330; --tm-muted:#5a6370; --tm-soft:#8a92a0;
    --tm-accent:#ff8c00; --tm-blue:#2f7dd3; --tm-green:#1f8b48; --tm-red:#c64141; --tm-yellow:#d99500;
    --tm-input-bg:rgba(255,255,255,.2); --tm-match-bg:rgba(255,255,255,.2); --tm-row-bg:rgba(255,255,255,.12);
    --tm-line:rgba(0,0,0,.22);
}
.tm-manager[data-site="light"][data-default-theme="dark"] {
    --tm-bg:#ffffff !important;
    background:#ffffff !important;
}
.tm-manager { color: var(--tm-text); text-align:left; background: var(--tm-bg); }
.tm-manager * { box-sizing:border-box; }
.tm-shell { max-width:none; width:99%; margin:0 auto; padding:30px 0px 28px; }
.tm-head { display:flex; justify-content:flex-end; align-items:center; gap:12px; margin:6px 0 16px; }
.tm-head.tm-head-viewer { justify-content:flex-end; }
.tm-head.tm-head-viewer .tm-head-main { display:none; }
/* detail views move Back + theme into the card, leaving the top bar empty */
.tm-head.tm-head-empty { display:none; }
/* Back + theme row pinned to the top-right of the public tournament hero card */
.tm-public-hero-actions { margin:0 0 10px; }
.tm-title { display:flex; align-items:center; gap:10px; font-size:24px; font-weight:800; }
.tm-title .material-symbols-outlined { color:var(--tm-accent); font-size:28px; }
.tm-title-actions { display:inline-flex; align-items:center; gap:6px; margin-left:6px; }
.tm-subtitle { color:var(--tm-muted); font-size:13px; margin-top:4px; }
.tm-actions { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.tm-loser-seeding { display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:600; color:var(--tm-text); cursor:pointer; user-select:none; padding:0 4px; }
.tm-loser-seeding input { width:16px; height:16px; accent-color:#e0a32e; cursor:pointer; }
.tm-publish-options { display:flex; flex-direction:column; align-items:stretch; gap:8px; padding:5px 8px; border:1px solid var(--tm-border); border-radius:7px; background:var(--tm-surface-2); }
.tm-publish-options > span,
.tm-publish-same > span,
.tm-publish-mode-select span,
.tm-publish-stage-group-title { color:var(--tm-muted); font-size:11px; font-weight:800; text-transform:uppercase; }
.tm-publish-options input, .tm-group-tools input { min-height:28px; border:1px solid var(--tm-border) !important; border-radius:6px; background:var(--tm-input-bg) !important; color:var(--tm-text) !important; -webkit-text-fill-color:var(--tm-text) !important; caret-color:var(--tm-text) !important; text-align:center; font-weight:900; }
.tm-publish-options input { width:70px; }
.tm-publish-options select { min-height:28px; border:1px solid var(--tm-border) !important; border-radius:6px; background:var(--tm-input-bg) !important; color:var(--tm-text) !important; -webkit-text-fill-color:var(--tm-text) !important; caret-color:var(--tm-text) !important; font-weight:900; }
.tm-publish-options .tm-publish-target-mode { width:auto !important; min-width:180px; }
.tm-publish-options .tm-publish-stage-value { width:78px; }
.tm-publish-options-head { display:flex; align-items:center; justify-content:space-between; gap:8px; flex-wrap:wrap; }
.tm-publish-mode-select { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.tm-publish-same { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.tm-publish-stage-list { display:none; gap:10px; }
.tm-publish-options[data-tm-publish-mode="stages"] .tm-publish-same { display:none; }
.tm-publish-options[data-tm-publish-mode="stages"] .tm-publish-stage-list { display:grid; }
.tm-publish-stage-group { display:grid; gap:6px; }
.tm-publish-stage-row { display:grid; grid-template-columns:minmax(0, 1fr) 78px; gap:8px; align-items:center; }
.tm-publish-stage-label { min-width:0; color:var(--tm-text); font-size:12px; font-weight:700; text-transform:none; line-height:1.2; }
.tm-btn { min-height:36px; border:0; border-radius:7px; padding:0 14px; color:#fff; background:var(--tm-blue); cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:6px; font-weight:700; text-decoration:none; line-height:1; }
.tm-btn .material-symbols-outlined { font-size:19px; }
.tm-btn:hover { opacity:.9; }
.tm-btn:disabled { opacity:.55; cursor:default; }
.tm-btn-primary { background:var(--tm-blue); }
.tm-btn-success { background:var(--tm-green); }
.tm-btn-danger { background:var(--tm-red); }
.tm-btn-warning { background:#d77900; }
.tm-btn-ghost { background:transparent; border:1px solid var(--tm-border); color:var(--tm-text); }
.tm-btn-sm { min-height:30px; padding:0 10px; font-size:12px; }
.tm-finish-banner { display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; margin:0 0 16px; padding:14px 16px; border:1px solid rgba(35,180,110,.55); border-radius:12px; background:linear-gradient(90deg,rgba(35,180,110,.18),rgba(35,180,110,.06)); }
.tm-finish-banner-text { display:flex; align-items:center; gap:10px; font-size:14px; font-weight:600; color:var(--tm-text); }
.tm-finish-banner-text .material-symbols-outlined { font-size:26px; color:var(--tm-green); }
.tm-finish-banner .tm-btn { white-space:nowrap; }
.tm-theme-toggle { min-width:92px; }
.tm-panel { background:var(--tm-surface); border:1px solid var(--tm-border); border-radius:8px; padding:16px; margin-bottom:14px; }
.tm-panel-head { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; margin-bottom:12px; }
/* keep the card's Back/Share/Theme/Edit/End/Delete buttons on a single row (title shrinks to fit) */
.tm-panel-head > .tm-actions { flex-wrap:nowrap; flex-shrink:0; }
.tm-panel-title { font-size:17px; font-weight:800; }
.tm-panel-note { color:var(--tm-muted); font-size:13px; margin-top:4px; }
.tm-tournament-logo { margin:12px 0; padding:0; border:0; background:transparent; display:block; cursor:zoom-in; text-align:left; }
.tm-tournament-logo img { width:100%; max-height:540px; object-fit:contain; border-radius:8px; border:1px solid var(--tm-border); background:var(--tm-surface-2); display:block; }
.tm-tournament-logo-compact { margin:0; width:104px; flex:0 0 104px; }
.tm-tournament-logo-compact img { width:104px; height:auto; max-height:none; object-fit:contain; }
.tm-tournament-head-copy { display:flex; align-items:flex-start; gap:12px; min-width:0; flex:1; }
.tm-tournament-head-text { min-width:0; flex:1; }
.tm-logo-preview { display:flex; align-items:center; gap:10px; margin-top:8px; color:var(--tm-muted); font-size:12px; }
.tm-logo-preview img { width:76px; height:52px; border-radius:6px; object-fit:cover; border:1px solid var(--tm-border); background:var(--tm-surface-2); }
.tm-grid { display:grid; grid-template-columns:repeat(12, minmax(0, 1fr)); gap:12px; }
.tm-field { display:block; grid-column:span 4; }
.tm-field-wide { grid-column:span 12; }
.tm-field-half { grid-column:span 6; }
.tm-field-third { grid-column:span 4; }
.tm-inline-fields { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.tm-inline-fields .tm-select, .tm-inline-fields .tm-input { flex:1 1 220px; }
.tm-field label, .tm-field > span { display:block; font-size:12px; color:var(--tm-muted); text-transform:uppercase; margin-bottom:5px; font-weight:700; }
.tm-input, .tm-select, .tm-textarea { width:100%; min-height:38px; padding:8px 10px; border-radius:7px; border:1px solid var(--tm-border); background:var(--tm-input-bg); color:var(--tm-text); font-size:14px; outline:none; }
.tm-input:focus, .tm-select:focus, .tm-textarea:focus { border-color:var(--tm-blue); }
.tm-input.invalid, .tm-select.invalid, .tm-textarea.invalid { border-color:var(--tm-red); }
.tm-textarea { min-height:74px; resize:vertical; }
.tm-manager[data-site="dark"] .tm-input,
.tm-manager[data-site="dark"] .tm-select,
.tm-manager[data-site="dark"] .tm-textarea {
    background:#151515 !important;
    border-color:#3a3a3a !important;
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
    caret-color:#ffffff !important;
}
.tm-manager[data-site="dark"] .tm-input::placeholder,
.tm-manager[data-site="dark"] .tm-textarea::placeholder { color:#a3a3a3 !important; -webkit-text-fill-color:#a3a3a3 !important; }
.tm-manager[data-site="dark"] .tm-select option { background:#151515 !important; color:#ffffff !important; }
.tm-manager[data-site="dark"] .tm-publish-options input,
.tm-manager[data-site="dark"] .tm-group-tools input { background:#151515 !important; border-color:#3a3a3a !important; color:#ffffff !important; -webkit-text-fill-color:#ffffff !important; caret-color:#ffffff !important; }
/* Billiardon (light theme) - force dark text against white inputs */
.tm-manager[data-site="light"] { color:#111827 !important; color-scheme:light; }
.tm-manager[data-site="light"] .tm-input,
.tm-manager[data-site="light"] .tm-select,
.tm-manager[data-site="light"] .tm-textarea { color:#111827 !important; -webkit-text-fill-color:#111827 !important; caret-color:#111827 !important; background:#ffffff !important; border-color:rgba(17,24,39,.28) !important; }
.tm-manager[data-site="light"] .tm-input::placeholder,
.tm-manager[data-site="light"] .tm-textarea::placeholder { color:#6b7280 !important; -webkit-text-fill-color:#6b7280 !important; }
.tm-manager[data-site="light"] .tm-select option { background:#ffffff !important; color:#111827 !important; }
.tm-manager[data-site="light"] .tm-publish-options input,
.tm-manager[data-site="light"] .tm-group-tools input { color:#111827 !important; -webkit-text-fill-color:#111827 !important; caret-color:#111827 !important; background:#ffffff !important; border-color:rgba(17,24,39,.28) !important; }
.tm-manager[data-site="light"] .tm-panel,
.tm-manager[data-site="light"] .tm-public-hero,
.tm-manager[data-site="light"] .tm-stat,
.tm-manager[data-site="light"] .tm-empty,
.tm-manager[data-site="light"] .tm-view-tabs,
.tm-manager[data-site="light"] .tm-tournament-card,
.tm-manager[data-site="light"] .tm-player-row,
.tm-manager[data-site="light"] .tm-group-card,
.tm-manager[data-site="light"] .tm-group-stage-card,
.tm-manager[data-site="light"] .tm-bracket-panel,
.tm-manager[data-site="light"] .tm-match-list-panel,
.tm-manager[data-site="light"] .tm-rr-match,
.tm-manager[data-site="light"] .tm-sched-row,
.tm-manager[data-site="light"] .tm-sort-slot { background:rgba(255,255,255,.96) !important; border-color:rgba(17,24,39,.16) !important; color:#111827 !important; }
.tm-manager[data-site="light"] .tm-bracket-match,
.tm-manager[data-site="light"] .tm-match-list-row,
.tm-manager[data-site="light"] .tm-bracket-side,
.tm-manager[data-site="light"] .tm-side-score,
.tm-manager[data-site="light"] .tm-sort-pos,
.tm-manager[data-site="light"] .tm-player-number,
.tm-manager[data-site="light"] .tm-icon-tile { background:#f8fafc !important; border-color:rgba(17,24,39,.14) !important; color:#111827 !important; }
.tm-manager[data-site="light"] .tm-table-chip { color:#111827 !important; background:#ffffff !important; border-color:rgba(17,24,39,.18) !important; }
.tm-manager[data-site="light"] .tm-player-link,
.tm-manager[data-site="light"] .tm-player-name-inline,
.tm-manager[data-site="light"] .tm-bracket-side,
.tm-manager[data-site="light"] .tm-match-list-side,
.tm-manager[data-site="light"] .tm-sched-players,
.tm-manager[data-site="light"] .tm-card-title,
.tm-manager[data-site="light"] .tm-panel-title { color:#111 !important; }
.tm-manager[data-site="light"] .tm-player-meta,
.tm-manager[data-site="light"] .tm-panel-note,
.tm-manager[data-site="light"] .tm-match-list-meta,
.tm-manager[data-site="light"] .tm-sched-time,
.tm-manager[data-site="light"] .tm-sched-table,
.tm-manager[data-site="light"] .tm-public-meta,
.tm-manager[data-site="light"] .tm-bracket-round-title,
.tm-manager[data-site="light"] .tm-match-list-round-title,
.tm-manager[data-site="light"] .tm-bracket-match-head,
.tm-manager[data-site="light"] .tm-rr-match-head,
.tm-manager[data-site="light"] .tm-standings-table th,
.tm-manager[data-site="light"] .tm-sort-handle,
.tm-manager[data-site="light"] .tm-sched-num,
.tm-manager[data-site="light"] .tm-match-status-line,
.tm-manager[data-site="light"] .tm-inline-status { color:#4b5563 !important; }
.tm-manager[data-site="light"] .tm-standings-table td { color:#111827 !important; }
.tm-manager[data-site="light"] .tm-bracket-side.tm-player-marked,
.tm-manager[data-site="light"] .tm-match-list-side.tm-player-marked,
.tm-manager[data-site="light"] .tm-match-list-panel .tm-minimal-side.tm-player-marked {
    background:rgba(255,230,120,.62) !important;
    border-color:rgba(194,134,0,.38) !important;
    box-shadow:inset 0 0 0 1px rgba(194,134,0,.16) !important;
}
.tm-manager[data-site="light"] .tm-bracket-side.tm-player-marked .tm-player-link,
.tm-manager[data-site="light"] .tm-match-list-side.tm-player-marked .tm-player-link,
.tm-manager[data-site="light"] .tm-match-list-panel .tm-minimal-side.tm-player-marked .tm-minimal-name-text {
    color:#9f6a00 !important;
}
/* LIVE highlight must survive the light-theme background overrides (those use
   [data-site=light] .tm-bracket-match etc. which out-specify the base .live
   rules and were flattening the green wash to plain white in light mode). */
.tm-manager[data-site="light"] .tm-bracket-match.live,
.tm-manager[data-site="light"] .tm-rr-match.live,
.tm-manager[data-site="light"] .tm-match-list-row.live,
.tm-manager[data-site="light"] .tm-sched-row.live { background:linear-gradient(90deg, rgba(37,155,85,.30), #ffffff 52%) !important; border-color:rgba(37,155,85,.6) !important; box-shadow:0 0 0 1px rgba(37,155,85,.26), 0 0 16px rgba(37,155,85,.20) !important; }
.tm-manager[data-site="light"] .tm-sched-row.finished { background:linear-gradient(90deg, rgba(128,128,128,.20), #ffffff 52%) !important; border-color:rgba(128,128,128,.34) !important; box-shadow:none !important; }
.tm-manager[data-site="light"] .tm-match-list-row:hover { background:#eef4fb !important; border-color:rgba(47,125,211,.48) !important; box-shadow:0 8px 18px rgba(17,24,39,.08) !important; }
.tm-manager[data-site="light"] .tm-match-list-row.tm-minimal-row:hover { background:rgba(47,125,211,.10) !important; border-color:rgba(47,125,211,.46) !important; }
.tm-manager[data-site="light"] .tm-match-list-row.tm-minimal-row.live { background:rgba(37,155,85,.14) !important; box-shadow:none !important; }
.tm-check-row { display:flex; flex-wrap:wrap; gap:10px; }
.tm-check { display:inline-flex; align-items:center; gap:7px; min-height:34px; color:var(--tm-text); font-size:13px; }
.tm-check-help { display:inline-flex; align-items:center; gap:5px; flex:0 0 auto; }
.tm-check-help label { display:inline-flex; align-items:center; gap:7px; min-height:34px; }
.tm-check-help .tm-match-icon-btn { width:20px; height:20px; flex:0 0 auto; }
.tm-check-help .tm-match-icon-btn .material-symbols-outlined { font-size:14px; }
.tm-check input { width:17px; height:17px; accent-color:var(--tm-accent); }
.tm-tables-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(110px, 1fr)); gap:8px; }
.tm-table-chip { display:flex; align-items:center; gap:8px; padding:8px 10px; border:1px solid var(--tm-border); border-radius:7px; background:var(--tm-input-bg); cursor:pointer; font-weight:700; font-size:13px; }
.tm-table-chip input { width:16px; height:16px; accent-color:var(--tm-accent); }
.tm-table-chip.checked { border-color:var(--tm-accent); background:rgba(255,140,0,.08); }
.tm-error { color:var(--tm-red); font-size:12px; margin-top:6px; display:none; }
.tm-error.show { display:block; }
.tm-list { display:grid; gap:16px; }
.tm-list-switch { display:inline-flex; gap:3px; padding:3px; border:1px solid var(--tm-border); border-radius:8px; background:var(--tm-surface); }
.tm-list-switch button { min-height:32px; border:0; border-radius:6px; padding:0 12px; background:transparent; color:var(--tm-muted); font-weight:800; cursor:pointer; display:inline-flex; align-items:center; gap:6px; }
.tm-list-switch button.active { background:var(--tm-input-bg); color:var(--tm-accent); }
.tm-manager[data-site="light"] .tm-list-switch button.active { color:var(--tm-blue) !important; }
.tm-inline-count { display:inline-flex; align-items:center; gap:0px; white-space:nowrap; font-variant-numeric:tabular-nums; }
.tm-inline-count .material-symbols-outlined { font-size:14px; line-height:1; }
.tm-inline-count-unlimited { color:var(--tm-accent); }
.tm-tournament-card { display:grid; grid-template-columns:72px minmax(0, 1fr) auto; gap:14px; align-items:stretch; background:var(--tm-surface); border:1px solid var(--tm-border); border-left:4px solid var(--tm-accent); border-radius:10px; padding:12px 14px; transition:background .15s ease, border-color .15s ease; }
.tm-tournament-card:hover { background:var(--tm-surface-2, var(--tm-input-bg)); }
.tm-tournament-card .tm-card-body { min-width:0; display:flex; flex-direction:column; gap:6px; }
.tm-tournament-card .tm-card-title-row { display:block; }
.tm-tournament-card .tm-card-title { display:block; font-weight:800; font-size:16px; color:var(--tm-text); overflow-wrap:anywhere; text-align:left; line-height:1.25; }
.tm-tournament-card .tm-card-meta { display:flex; flex-wrap:wrap; gap:8px; color:var(--tm-muted); font-size:12px; }
.tm-tournament-card .tm-actions { justify-content:flex-end; align-self:end; margin-top:auto; }
.tm-tournament-card.tm-league-card { cursor:pointer; }
.tm-tournament-card.tm-league-card-deleted { cursor:default; }
.tm-tournament-card.tm-league-card .tm-actions { pointer-events:auto; }
.tm-league-detail-head { display:grid; grid-template-columns:80px minmax(0, 1fr) auto; gap:14px; align-items:center; }
.tm-league-player-tools { position:relative; z-index:25; margin-bottom:12px; }
.tm-migration-sql { width:100%; min-height:210px; border-radius:8px; border:1px solid var(--tm-border) !important; background:var(--tm-input-bg) !important; color:var(--tm-text) !important; padding:10px; font-family:monospace; font-size:12px; line-height:1.45; }
.tm-icon-tile { width:64px; height:64px; border-radius:10px; background:var(--tm-input-bg); border:1px solid var(--tm-border); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.tm-icon-tile .material-symbols-outlined { color:var(--tm-accent); font-size:30px; }
.tm-icon-tile img { width:100%; height:100%; object-fit:cover; display:block; }
.tm-card-title { font-weight:800; font-size:16px; color:var(--tm-text); overflow-wrap:anywhere; }
.tm-card-meta { display:flex; flex-wrap:wrap; gap:8px; margin-top:6px; color:var(--tm-muted); font-size:12px; }
.tm-badge { display:inline-flex; align-items:center; justify-content:center; min-height:20px; border-radius:999px; padding:0 8px; font-size:10px; font-weight:800; text-transform:uppercase; }
.tm-badge-live { background:rgba(37,155,85,.18); color:var(--tm-green); }
.tm-badge-upcoming { background:rgba(255,194,71,.16); color:var(--tm-yellow); }
.tm-badge-ended { background:rgba(150,150,150,.18); color:var(--tm-muted); }
.tm-badge-paid { background:rgba(37,155,85,.18); color:var(--tm-green); cursor:pointer; }
.tm-badge-unpaid { background:rgba(191,61,61,.18); color:var(--tm-red); cursor:pointer; }
.tm-badge-ff { background:rgba(255,140,0,.16); color:var(--tm-yellow); }
.tm-badge-bye { background:rgba(150,150,150,.18); color:var(--tm-soft); }
.tm-badge-published { background:rgba(47,125,211,.18); color:var(--tm-blue); }
.tm-toolbar { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:12px; flex-wrap:wrap; }
.tm-sched-toolbar { align-items:flex-start; }
.tm-sched-toolbar-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-left:auto; }
.tm-toast { position:fixed; left:16px; bottom:16px; z-index:2200; display:flex; align-items:flex-start; gap:8px; min-width:180px; max-width:min(360px, calc(100vw - 32px)); padding:10px 12px; border-radius:10px; border:1px solid rgba(255,255,255,.08); background:rgba(17,24,39,.96); color:#fff; box-shadow:0 12px 28px rgba(0,0,0,.32); opacity:0; visibility:hidden; transform:translateY(10px); pointer-events:none; transition:opacity .18s ease, transform .18s ease, visibility 0s linear .18s; backdrop-filter:blur(4px); }
.tm-manager[data-site="light"] .tm-toast { background:rgba(255,255,255,.97); color:var(--tm-text); border-color:rgba(0,0,0,.08); box-shadow:0 12px 28px rgba(0,0,0,.16); }
.tm-toast.show { opacity:1; visibility:visible; transform:translateY(0); transition-delay:0s; }
.tm-toast.ok { border-color:var(--tm-green); box-shadow:0 12px 28px rgba(37,155,85,.18); }
.tm-toast.error { border-color:var(--tm-red); box-shadow:0 12px 28px rgba(191,61,61,.18); }
.tm-toast .tm-toast-icon { flex:0 0 auto; font-size:16px; line-height:1; margin-top:1px; }
.tm-toast .tm-toast-msg { min-width:0; font-size:12px; font-weight:800; line-height:1.25; white-space:pre-wrap; word-break:break-word; }
.tm-empty { border:1px dashed var(--tm-border); border-radius:8px; padding:22px; text-align:center; color:var(--tm-muted); background:var(--tm-surface); }
.tm-tabs { display:flex; gap:4px; border-bottom:1px solid var(--tm-border); margin-bottom:14px; overflow-x:auto; }
.tm-tab { min-height:40px; padding:0 12px; border:0; background:transparent; color:var(--tm-muted); border-bottom:2px solid transparent; display:inline-flex; align-items:center; gap:6px; cursor:pointer; white-space:nowrap; }
.tm-tab.active { color:var(--tm-accent); border-bottom-color:var(--tm-accent); }
.tm-manager[data-site="light"] .tm-tab.active { color:var(--tm-blue) !important; border-bottom-color:var(--tm-blue) !important; }
.tm-view-tabs { display:inline-flex; gap:2px; padding:3px; border:1px solid var(--tm-border); border-radius:8px; background:var(--tm-surface); }
.tm-view-tab { min-height:30px; border:0; border-radius:6px; background:transparent; color:var(--tm-muted); padding:0 10px; display:inline-flex; align-items:center; gap:6px; font-weight:800; font-size:12px; cursor:pointer; }
.tm-view-tab.active { background:var(--tm-input-bg); color:var(--tm-accent); }
.tm-bracket-zoom-controls { display:none; align-items:center; gap:8px; flex-wrap:wrap; }
.tm-bracket-zoom-value { min-width:64px; justify-content:center; font-weight:900; }
.tm-stat-row { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:10px; margin-bottom:14px; }
.tm-stat { background:var(--tm-surface); border:1px solid var(--tm-border); border-radius:8px; padding:12px; }
.tm-stat-value { font-size:20px; font-weight:800; }
.tm-stat-label { color:var(--tm-muted); font-size:12px; margin-top:3px; }
.tm-player-tools { position:relative; z-index:4; margin-bottom:12px; }
.tm-player-search-wrap { position:relative; }
.tm-search-results { display:none; position:absolute; left:0; right:0; top:calc(100% + 4px); z-index:1000; background:#222; border:1px solid var(--tm-border); border-radius:8px; max-height:260px; overflow-y:auto; box-shadow:0 16px 38px rgba(0,0,0,.38); }
.tm-manager[data-site="light"] .tm-search-results { background:rgba(255,255,255,.97); border-color:rgba(0,0,0,.18); box-shadow:0 16px 38px rgba(0,0,0,.22); }
.tm-manager[data-site="dark"] .tm-search-results { background:#222; }
.tm-player-filter-bar { display:flex; align-items:center; gap:10px; margin:0 0 12px; padding:12px; border:1px solid var(--tm-border); border-radius:8px; background:var(--tm-surface); flex-wrap:wrap; }
.tm-player-filter-input { flex:1 1 320px; min-width:220px; }
.tm-player-filter-input .tm-input { width:100%; }
.tm-player-filter-summary { flex:0 0 auto; white-space:nowrap; }
.tm-player-filter-empty { margin-top:10px; }
.tm-player-filter-hidden { display:none !important; }
.tm-search-option { display:flex; justify-content:space-between; gap:10px; padding:10px 12px; cursor:pointer; border-bottom:1px solid var(--tm-border); transition:background .16s ease, transform .16s ease, box-shadow .16s ease, border-color .16s ease; }
.tm-search-option:last-child { border-bottom:0; }
.tm-search-option:hover { background:var(--tm-surface-2); border-color:var(--tm-accent); transform:translateY(-1px); box-shadow:0 8px 18px rgba(0,0,0,.12); }
.tm-player-list { display:grid; gap:8px; }
.tm-player-row { display:grid; grid-template-columns:34px minmax(0, 1fr) auto; gap:10px; align-items:center; background:var(--tm-surface); border:1px solid var(--tm-border); border-radius:8px; padding:10px; transition:transform .16s ease, opacity .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease; }
.tm-player-row:hover { transform:translateY(-1px); border-color:var(--tm-accent); background:var(--tm-surface-2); box-shadow:0 10px 20px rgba(0,0,0,.12); }
.tm-player-row.removing { transform:translateX(8px); opacity:.35; }
.tm-player-picker-panel { margin-top:10px; padding:12px; border:1px solid var(--tm-border); border-radius:8px; background:var(--tm-input-bg); }
.tm-player-picker-list { display:grid; gap:8px; margin-top:10px; }
.tm-player-pick-row { grid-template-columns:26px minmax(0, 1fr) auto; cursor:pointer; }
.tm-player-pick-check { display:flex; align-items:center; justify-content:center; }
.tm-player-pick-check input { width:17px; height:17px; accent-color:var(--tm-accent); }
.tm-player-pick-note { color:var(--tm-muted); font-size:11px; font-weight:800; text-transform:uppercase; }
.tm-player-pick-row.is-disabled { opacity:.72; cursor:default; }
.tm-player-pick-row.is-disabled:hover { transform:none; box-shadow:none; border-color:var(--tm-border); background:var(--tm-surface); }
.tm-player-number { width:24px; height:24px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:var(--tm-input-bg); color:var(--tm-muted); font-weight:800; font-size:12px; }
.tm-player-name { color:var(--tm-text); font-weight:800; }
.tm-player-meta { color:var(--tm-muted); font-size:12px; margin-top:3px; }
.tm-checkin-meta { color:var(--tm-green); font-weight:700; }
.tm-player-actions { display:flex; gap:7px; align-items:center; flex-wrap:wrap; }
.tm-player-actions .tm-btn .material-symbols-outlined { font-size:16px; }
.tm-player-row.is-checked-in { border-color:rgba(37,155,85,.45); }
.tm-player-row.is-checked-in:hover { border-color:rgba(37,155,85,.7); }
/* Replace-player inline picker (sibling row injected under the player) */
.tm-player-replace-panel { margin:2px 0 6px; padding:12px; background:var(--tm-surface-2); border:1px solid var(--tm-accent); border-radius:10px; animation:tmReplacePanelIn .16s ease; }
@keyframes tmReplacePanelIn { from { opacity:0; transform:translateY(-4px); } to { opacity:1; transform:none; } }
.tm-replace-head { display:flex; align-items:center; gap:6px; font-size:13px; font-weight:700; margin-bottom:8px; color:var(--tm-text); }
.tm-replace-head .material-symbols-outlined { font-size:18px; color:var(--tm-accent); }
.tm-player-replace-panel .tm-replace-search { width:100%; }
.tm-replace-results { position:static; margin-top:6px; max-height:240px; box-shadow:none; }
.tm-replace-note { display:flex; align-items:center; gap:6px; margin-top:8px; color:var(--tm-muted); font-size:12px; }
.tm-replace-note .material-symbols-outlined { font-size:16px; }
.tm-search-empty { color:var(--tm-muted); cursor:default; justify-content:center; }
.tm-search-empty:hover { background:transparent; transform:none; box-shadow:none; border-color:var(--tm-border); }
.tm-paid-online-switch { position:relative; display:inline-flex; align-items:center; width:36px; height:20px; flex:0 0 auto; cursor:pointer; user-select:none; }
.tm-paid-online-switch-input { position:absolute; inset:0; opacity:0; margin:0; cursor:pointer; }
.tm-paid-online-switch-track { width:100%; height:100%; border-radius:999px; background:rgba(148,163,184,.28); border:1px solid var(--tm-border); position:relative; transition:background .16s ease, border-color .16s ease, box-shadow .16s ease; box-shadow:inset 0 1px 0 rgba(255,255,255,.05); }
.tm-paid-online-switch-track::after { content:''; position:absolute; top:50%; left:2px; width:14px; height:14px; border-radius:50%; background:#ffffff; transform:translateY(-50%); box-shadow:0 1px 2px rgba(0,0,0,.18); transition:transform .16s ease, background .16s ease; }
.tm-paid-online-switch-input:checked + .tm-paid-online-switch-track { background:rgba(37,155,85,.22); border-color:rgba(37,155,85,.5); box-shadow:0 0 0 1px rgba(37,155,85,.08), inset 0 1px 0 rgba(255,255,255,.08); }
.tm-paid-online-switch-input:checked + .tm-paid-online-switch-track::after { transform:translate(16px, -50%); background:#ffffff; }
.tm-paid-online-switch-input:focus-visible + .tm-paid-online-switch-track { outline:2px solid var(--tm-accent); outline-offset:2px; }
.tm-player-summary { margin-top:10px; padding:0 2px; display:flex; justify-content:flex-end; gap:12px 16px; flex-wrap:wrap; color:var(--tm-muted); font-size:12px; font-weight:700; }
.tm-player-summary strong { color:var(--tm-text); font-weight:900; }
.tm-groups-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(245px, 1fr)); gap:10px; margin-bottom:14px; }
.tm-group-card { background:var(--tm-surface); border:1px solid var(--tm-border); border-radius:8px; padding:12px; min-width:0; }
.tm-group-head { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:9px; }
.tm-group-title { font-weight:900; color:var(--tm-text); display:flex; align-items:center; gap:7px; }
.tm-group-count { color:var(--tm-muted); font-size:19px; font-weight:800; text-transform:uppercase; }
.tm-group-player { display:grid; grid-template-columns:minmax(0, 1fr) 82px; gap:8px; align-items:center; padding:7px 0; border-top:1px solid var(--tm-border); }
.tm-group-player:first-of-type { border-top:0; }
.tm-group-player .tm-select { min-height:30px; padding:4px 7px; font-size:12px; }
.tm-group-empty { color:var(--tm-muted); font-size:12px; padding:8px 0; border-top:1px solid var(--tm-border); }
.tm-group-tools { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.tm-group-tools input { width:78px; }
.tm-group-status { display:flex; align-items:center; gap:8px; color:var(--tm-muted); font-size:12px; font-weight:700; }
.tm-group-stage-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)); gap:18px; margin-bottom:18px; }
.tm-group-stage-card { background:var(--tm-surface); border:1px solid var(--tm-border); border-radius:8px; padding:14px; overflow:hidden; }
.tm-group-stage-card .tm-standings-table { min-width:620px; }
.tm-group-stage-card .tm-standings-table.tm-standings-breaks { min-width:720px; }
.tm-group-stage-card .tm-rr-grid { grid-template-columns:1fr; margin-bottom:12px; }
.tm-player-identity { display:flex; align-items:center; gap:8px; min-width:0; width:100%; }
.tm-player-visual { position:relative; width:26px; height:26px; flex:0 0 26px; border:0 !important; padding:0 !important; margin:0; border-radius:50%; background:transparent !important; cursor:pointer; overflow:visible; font:inherit; appearance:none; }
.tm-player-avatar { width:26px; height:26px; border-radius:50%; object-fit:cover; background:var(--tm-input-bg); border:1px solid var(--tm-border); display:inline-flex; align-items:center; justify-content:center; color:var(--tm-muted); overflow:hidden; }
.tm-player-avatar .material-symbols-outlined { font-size:18px; }
.tm-player-flag { position:absolute; left:-3px; top:-3px; width:14px; height:10px; object-fit:cover; border-radius:2px; border:1px solid var(--tm-surface); box-shadow:0 1px 3px rgba(0,0,0,.35); background:var(--tm-surface); z-index:1; }
.tm-player-flag-code { position:absolute; left:-5px; top:-5px; min-width:18px; height:12px; border-radius:3px; background:var(--tm-blue); color:#fff; font-size:7px; line-height:12px; font-weight:900; text-align:center; z-index:1; }
.tm-player-popover { display:none; }
.tm-player-floating-popover { position:fixed; z-index:2147483000; width:430px; max-width:calc(100vw - 18px); border:1px solid var(--tm-border); border-radius:8px; background:var(--tm-surface); color:var(--tm-text); box-shadow:0 18px 46px rgba(0,0,0,.42); text-align:left; pointer-events:auto; overflow:hidden; }
.tm-manager[data-site="light"] .tm-player-floating-popover { background:#fff; }
.tm-manager[data-site="dark"] .tm-player-floating-popover { background:#1f232c; }
.tm-player-popover-link { display:flex; gap:18px; align-items:center; padding:18px; color:inherit; text-decoration:none; }
.tm-player-popover-link:hover .tm-player-popover-name { color:var(--tm-accent); }
.tm-player-popover-photo { width:162px; height:162px; border-radius:50%; object-fit:cover; background:var(--tm-input-bg); border:1px solid var(--tm-border); display:flex; align-items:center; justify-content:center; flex:0 0 162px; color:var(--tm-muted); overflow:hidden; }
.tm-player-popover-photo .tm-player-avatar { width:162px; height:162px; border:0; flex:0 0 162px; }
.tm-player-popover-photo .material-symbols-outlined { font-size:82px; }
.tm-player-popover-name { font-size:22px; font-weight:900; color:var(--tm-text); line-height:1.18; }
.tm-player-popover-country { display:flex; align-items:center; gap:8px; margin-top:9px; color:var(--tm-muted); font-size:15px; line-height:1.3; }
.tm-player-popover-country img { width:32px; height:22px; object-fit:cover; border-radius:3px; border:1px solid var(--tm-border); }
.tm-player-popover-meta { color:var(--tm-muted); font-size:11px; margin-top:5px; line-height:1.25; }
.tm-player-link { color:var(--tm-text); font-weight:800; text-decoration:none; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
.tm-player-link:hover { color:var(--tm-accent); }
.tm-player-name-inline { color:var(--tm-text); font-weight:800; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
.tm-bracket-panel .tm-player-link, .tm-match-list-panel .tm-player-link, .tm-rr-match .tm-player-link, .tm-sched-players .tm-player-link, .tm-standings-panel .tm-player-link, .tm-bracket-panel .tm-player-name-inline, .tm-match-list-panel .tm-player-name-inline, .tm-rr-match .tm-player-name-inline, .tm-sched-players .tm-player-name-inline, .tm-standings-panel .tm-player-name-inline { cursor:pointer; }
.tm-match-list-panel .tm-minimal-player.tm-player-identity { cursor:pointer; }
.tm-manager .tm-bracket-side.tm-player-marked, .tm-manager .tm-match-list-side.tm-player-marked { background:rgba(255,194,71,.26) !important; border-radius:6px !important; }
.tm-manager .tm-bracket-side.tm-player-marked .tm-player-identity, .tm-manager .tm-match-list-side.tm-player-marked .tm-player-identity { background:transparent !important; }
.tm-match-list-panel .tm-minimal-side { display:flex; flex-direction:column; align-items:stretch; gap:1px; min-width:0; min-height:0; padding:0 2px; border-radius:6px; overflow:visible; white-space:normal; text-overflow:clip; }
/* Name + score box are centre-aligned with each other (the badge is on its own row above). */
.tm-match-list-panel .tm-minimal-side-main { display:flex; align-items:center; gap:3px; min-width:0; }
.tm-match-list-panel .tm-minimal-side.left .tm-minimal-side-main { justify-content:flex-end; }
.tm-match-list-panel .tm-minimal-side.right .tm-minimal-side-main { justify-content:flex-start; }
.tm-match-list-panel .tm-minimal-side .tm-minimal-name { flex:1 1 auto; min-width:0; line-height:1.15; }
.tm-match-list-panel .tm-minimal-side .tm-minimal-name-text { display:block; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
/* Badge label row (M-number left / match time right), sits above the name + score line. */
.tm-match-list-panel .tm-minimal-badge-row { display:flex; align-items:center; min-width:0; line-height:1; margin-bottom:1px; }
.tm-match-list-panel .tm-minimal-badge-row.tm-minimal-badge-left { justify-content:flex-start; }
.tm-match-list-panel .tm-minimal-badge-row.tm-minimal-badge-right { justify-content:flex-end; }
.tm-match-list-panel .tm-minimal-badge-row .tm-minimal-num { position:static; }
.tm-match-list-panel .tm-minimal-badge-row .tm-minimal-time-cell { position:static; display:flex; align-items:center; gap:4px; min-width:0; max-width:100%; white-space:nowrap; }
.tm-match-list-panel .tm-minimal-badge-row .tm-minimal-time-cell .tm-match-icon-btn { width:18px; height:18px; }
.tm-match-list-panel .tm-minimal-badge-row .tm-minimal-time-cell .tm-match-icon-btn .material-symbols-outlined { font-size:14px; }
.tm-match-list-panel .tm-minimal-side .tm-minimal-start-time { min-width:0; text-align:right; color:var(--tm-muted); font-size:10px; font-weight:700; font-variant-numeric:tabular-nums; white-space:nowrap; line-height:1; }
.tm-match-list-panel .tm-minimal-side-inline { width:100%; }
.tm-manager .tm-match-list-panel .tm-minimal-side.tm-player-marked { background:rgba(255,194,71,.26) !important; border-radius:6px !important; box-shadow:inset 0 0 0 1px rgba(255,194,71,.12); }
.tm-verified-badge { color:var(--tm-blue); font-size:17px; flex:0 0 auto; }
.tm-privacy-note { display:none; margin-top:8px; padding:9px 10px; border-radius:7px; border:1px solid rgba(255,140,0,.35); background:rgba(255,140,0,.09); color:var(--tm-text); font-size:12px; line-height:1.35; }
.tm-privacy-note.show { display:block; }
.tm-public-hero { background:var(--tm-surface); border:1px solid var(--tm-border); border-left:4px solid var(--tm-accent); border-radius:8px; padding:16px; margin-bottom:14px; }
.tm-public-hero-main { display:flex; align-items:flex-start; gap:12px; min-width:0; }
.tm-public-hero-copy { min-width:0; flex:1; }
.tm-public-meta { display:flex; flex-wrap:wrap; gap:8px; color:var(--tm-muted); font-size:12px; margin-top:8px; }
/* ---------- modern share popup ---------- */
.tm-share-modal { position:relative; text-align:left; max-width:440px; width:100%; margin:0 auto; }
.tm-share-close { position:absolute; top:-6px; right:-6px; width:34px; height:34px; display:inline-flex; align-items:center; justify-content:center; border:none; border-radius:50%; background:rgba(255,255,255,.10); color:#fff !important; cursor:pointer; transition:background .15s ease, transform .15s ease; }
.tm-share-close:hover { background:rgba(255,255,255,.20); transform:rotate(90deg); }
.tm-share-close .material-symbols-outlined { font-size:20px; line-height:1; }
.tm-share-head { display:flex; align-items:center; gap:12px; margin-bottom:18px; padding-right:30px; }
.tm-share-head-icon { width:42px; height:42px; flex-shrink:0; display:inline-flex; align-items:center; justify-content:center; border-radius:12px; background:linear-gradient(135deg,#2f7dd3,#1f5fa8); color:#fff !important; font-size:22px; box-shadow:0 8px 18px rgba(31,95,168,.35); }
.tm-share-title { font-size:18px; font-weight:800; color:#fff !important; line-height:1.2; }
.tm-share-sub { font-size:12.5px; color:#b8c0cc !important; margin-top:2px; }
.tm-share-section { margin-bottom:16px; }
.tm-share-label { font-size:11px; font-weight:800; letter-spacing:.6px; text-transform:uppercase; color:#9aa4b2 !important; margin-bottom:7px; }
.tm-share-link { width:100%; padding:10px 12px; border-radius:10px; border:1px solid rgba(255,255,255,.14) !important; background:rgba(255,255,255,.05) !important; color:#ffffff !important; -webkit-text-fill-color:#ffffff !important; caret-color:#ffffff !important; font-size:13px; }
.tm-share-row { display:flex; gap:8px; align-items:stretch; }
.tm-share-row .tm-share-link { flex:1; min-width:0; }
.tm-share-copy { display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:10px 16px; border-radius:10px; border:none; background:linear-gradient(135deg,#2f7dd3,#1f5fa8); color:#fff !important; font-weight:700; font-size:13px; cursor:pointer; white-space:nowrap; transition:filter .15s ease, transform .05s ease; }
.tm-share-copy .material-symbols-outlined { font-size:18px; line-height:1; }
.tm-share-copy:hover { filter:brightness(1.08); }
.tm-share-copy:active { transform:translateY(1px); }
.tm-share-email-form { margin-top:18px; padding-top:18px; border-top:1px solid rgba(255,255,255,.12); display:grid; gap:10px; }
.tm-share-send-row { align-items:center; }
.tm-share-email-title { color:#ffffff !important; font-size:12px; font-weight:900; text-transform:uppercase; }
.tm-share-email-input, .tm-share-email-textarea { width:100%; box-sizing:border-box; border-radius:10px; border:1px solid rgba(255,255,255,.14) !important; background:rgba(255,255,255,.05) !important; color:#ffffff !important; -webkit-text-fill-color:#ffffff !important; caret-color:#ffffff !important; padding:10px 12px; font-size:13px; font-weight:600; transition:border-color .15s ease, background .15s ease; }
.tm-share-email-input:focus, .tm-share-email-textarea:focus, .tm-share-link:focus { outline:none; border-color:rgba(47,125,211,.7) !important; background:rgba(255,255,255,.08) !important; }
.tm-share-email-textarea { min-height:74px; resize:vertical; line-height:1.4; }
.tm-share-email-input::placeholder, .tm-share-email-textarea::placeholder { color:#b8c0cc !important; -webkit-text-fill-color:#b8c0cc !important; opacity:1; }
.tm-share-link:-webkit-autofill, .tm-share-email-input:-webkit-autofill, .tm-share-email-textarea:-webkit-autofill,
.tm-share-link:-webkit-autofill:hover, .tm-share-email-input:-webkit-autofill:hover, .tm-share-email-textarea:-webkit-autofill:hover,
.tm-share-link:-webkit-autofill:focus, .tm-share-email-input:-webkit-autofill:focus, .tm-share-email-textarea:-webkit-autofill:focus { -webkit-text-fill-color:#ffffff !important; caret-color:#ffffff !important; box-shadow:0 0 0 1000px #151515 inset !important; border-color:rgba(255,255,255,.28) !important; transition:background-color 9999s ease-out 0s !important; }
.tm-share-email-status { min-height:18px; color:#ffd166 !important; font-size:12px; font-weight:700; }
.tm-share-email-status.ok { color:#3bd47a !important; }
.tm-share-email-status.error { color:#ff8a8a !important; }
.tm-bracket-match-time { font-size:11px; color:var(--tm-muted,#888); margin-left:6px; }
#blurerAlerter { z-index:2147483001 !important; }
#alerter { z-index:2147483002 !important; }

/* Visual bracket */
.tm-bracket-panel { background:var(--tm-surface); border:1px solid var(--tm-border); border-radius:8px; padding:14px; margin-bottom:14px; overflow-x:auto; -webkit-overflow-scrolling:touch; --tm-bracket-scale:1; }
.tm-bracket-panel-head { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom:10px; }
.tm-bracket-panel-head .tm-bracket-title { margin-bottom:0; min-width:0; flex:1 1 auto; }
.tm-bracket-title { font-size:15px; font-weight:800; color:var(--tm-text); display:flex; align-items:center; gap:8px; }
.tm-bracket {
    --tm-mh: calc(120px * var(--tm-bracket-scale));  /* match box height */
    --tm-gap: calc(10px * var(--tm-bracket-scale));  /* base vertical half-gap for round 1 */
    --tm-hgap: calc(48px * var(--tm-bracket-scale)); /* horizontal gap between rounds */
    display:flex; gap:var(--tm-hgap); align-items:flex-start; min-width:max-content; padding:calc(6px * var(--tm-bracket-scale)) 0; position:relative;
}
.tm-bracket-links { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; z-index:0; overflow:visible; }
.tm-bracket-link-path { fill:none; stroke:var(--tm-line); stroke-width:max(1px, calc(1.4px * var(--tm-bracket-scale))); stroke-linecap:round; stroke-linejoin:round; opacity:.95; }
.tm-bracket-round { display:flex; flex-direction:column; min-width:calc(220px * var(--tm-bracket-scale)); position:relative; z-index:1; }
.tm-bracket-round-title { color:var(--tm-muted); font-size:calc(11px * var(--tm-bracket-scale)); text-transform:uppercase; font-weight:800; text-align:center; margin-bottom:calc(8px * var(--tm-bracket-scale)); }
.tm-bracket-round-title.tm-round-has-controls, .tm-minimal-round-title.tm-round-has-controls { display:grid; grid-template-columns:minmax(0, 1fr) auto; align-items:center; gap:8px; text-align:left; }
.tm-round-title-text { min-width:0; }
.tm-round-mobile-controls { display:inline-flex; align-items:center; justify-content:flex-end; gap:6px; flex-wrap:wrap; }
.tm-round-race { display:inline-flex; align-items:center; justify-content:center; min-height:calc(18px * var(--tm-bracket-scale)); margin-left:calc(6px * var(--tm-bracket-scale)); padding:0 calc(7px * var(--tm-bracket-scale)); border-radius:999px; background:rgba(255,140,0,.16); color:var(--tm-accent); border:1px solid rgba(255,140,0,.28); font-size:calc(9px * var(--tm-bracket-scale)); font-weight:900; vertical-align:middle; white-space:nowrap; }
.tm-bracket-match {
    background:var(--tm-match-bg); border:1px solid var(--tm-border); border-left-style:solid; border-left-width:max(1px, calc(3px * var(--tm-bracket-scale))); border-left-color:var(--tm-blue);
    border-radius:calc(7px * var(--tm-bracket-scale)); padding:calc(8px * var(--tm-bracket-scale)) calc(10px * var(--tm-bracket-scale)); position:relative; min-width:calc(210px * var(--tm-bracket-scale));
    height:var(--tm-mh); box-sizing:border-box;
    margin-top:var(--tm-mt, var(--tm-gap)); margin-bottom:var(--tm-mt, var(--tm-gap));
    display:flex; flex-direction:column; justify-content:flex-start;
}
.tm-bracket-match.ff { border-left-color:var(--tm-accent); }
.tm-bracket-match.empty { border-left-color:var(--tm-soft); opacity:.6; }
.tm-bracket-match.live { border-color:rgba(37,155,85,.78); border-left-color:var(--tm-green); background:linear-gradient(90deg, rgba(37,155,85,.18), var(--tm-match-bg) 42%) !important; box-shadow:0 0 0 1px rgba(37,155,85,.22), 0 0 22px rgba(37,155,85,.22); animation:tmLiveMatchPulse 2.4s ease-in-out infinite; }
.tm-bracket-match-head { display:flex; justify-content:space-between; align-items:flex-start; gap:calc(12px * var(--tm-bracket-scale)); color:var(--tm-muted); font-size:calc(10px * var(--tm-bracket-scale)); margin-bottom:calc(5px * var(--tm-bracket-scale)); text-transform:uppercase; font-weight:800; }
.tm-bracket-match-head > span:first-child { display:flex; align-items:center; gap:calc(5px * var(--tm-bracket-scale)); min-width:0; flex-wrap:wrap; }
.tm-bracket-match-head > span:last-child { flex:0 1 auto; min-width:0; text-align:right; }
/* Bracket-box corner chips: table number and match tools (edit/video) sit half-out in the very corners, freeing the head row for text. */
.tm-bracket-table-chip { position:absolute; top:calc(-13px * var(--tm-bracket-scale)); left:calc(-11px * var(--tm-bracket-scale)); z-index:3; font-size:calc(10px * var(--tm-bracket-scale)); font-weight:900; line-height:calc(14px * var(--tm-bracket-scale)); padding:calc(1px * var(--tm-bracket-scale)) calc(6px * var(--tm-bracket-scale)); border-radius:calc(5px * var(--tm-bracket-scale)); background:var(--tm-green); color:#fff; border:1px solid rgba(0,0,0,.25); letter-spacing:.3px; box-shadow:0 1px 4px rgba(0,0,0,.35); }
.tm-bracket-video-chip { position:absolute; bottom:calc(2px * var(--tm-bracket-scale)); left:calc(2px * var(--tm-bracket-scale)); z-index:3; display:inline-flex; align-items:center; justify-content:center; width:auto; height:auto; padding:0; background:transparent; border:0; box-shadow:none; line-height:0; color:var(--tm-red) !important; text-decoration:none; }
.tm-bracket-youtube-icon { width:auto; height:calc(12px * var(--tm-bracket-scale)); display:block; }
.tm-bracket-video-chip:hover { background:transparent; color:var(--tm-red) !important; opacity:.84; }
.tm-bracket-options-chip { position:absolute; bottom:calc(0px * var(--tm-bracket-scale)); right:calc(2px * var(--tm-bracket-scale)); z-index:3; display:inline-flex; align-items:center; justify-content:center; width:auto; height:auto; padding:0; background:transparent; border:0; box-shadow:none; color:#989898; cursor:pointer; font-size:calc(18px * var(--tm-bracket-scale)); line-height:1; text-decoration:none; }
.tm-bracket-options-chip:hover { color:var(--tm-text); }
.tm-bracket-match > .tm-match-tools { position:absolute; top:calc(-13px * var(--tm-bracket-scale)); right:calc(-11px * var(--tm-bracket-scale)); z-index:3; margin:0; }
.tm-bracket-side { display:grid; grid-template-columns:minmax(0, 1fr) auto; align-items:center; gap:calc(10px * var(--tm-bracket-scale)); width:100%; box-sizing:border-box; min-height:calc(32px * var(--tm-bracket-scale)); padding:calc(5px * var(--tm-bracket-scale)) calc(6px * var(--tm-bracket-scale)); border-radius:calc(6px * var(--tm-bracket-scale)); background:var(--tm-row-bg); color:var(--tm-text); font-size:calc(12px * var(--tm-bracket-scale)); }
.tm-bracket-side .tm-player-identity, .tm-match-list-side .tm-player-identity { flex:1 1 auto; min-width:0; }
.tm-bracket-side + .tm-bracket-side { margin-top:calc(4px * var(--tm-bracket-scale)); }
.tm-bracket-side.bye { color:var(--tm-soft); }
.tm-bracket-final-only .tm-bracket-round { align-items:center; }
.tm-bracket-match-time { font-size:calc(11px * var(--tm-bracket-scale)); color:var(--tm-muted,#888); margin-left:calc(6px * var(--tm-bracket-scale)); }
.tm-bracket-panel .tm-match-tools { gap:calc(4px * var(--tm-bracket-scale)); margin-left:calc(2px * var(--tm-bracket-scale)); }
.tm-bracket-panel .tm-match-icon-btn { width:calc(22px * var(--tm-bracket-scale)); height:calc(22px * var(--tm-bracket-scale)); }
.tm-bracket-panel .tm-match-icon-btn .material-symbols-outlined { font-size:calc(15px * var(--tm-bracket-scale)); }
.tm-bracket-panel .tm-player-visual { width:calc(26px * var(--tm-bracket-scale)); height:calc(26px * var(--tm-bracket-scale)); flex:0 0 calc(26px * var(--tm-bracket-scale)); }
.tm-bracket-panel .tm-player-avatar { width:calc(26px * var(--tm-bracket-scale)); height:calc(26px * var(--tm-bracket-scale)); }
.tm-bracket-panel .tm-player-avatar .material-symbols-outlined { font-size:calc(18px * var(--tm-bracket-scale)); }
.tm-bracket-panel .tm-player-flag { left:calc(-3px * var(--tm-bracket-scale)); top:calc(-3px * var(--tm-bracket-scale)); width:calc(14px * var(--tm-bracket-scale)); height:calc(10px * var(--tm-bracket-scale)); border-radius:calc(2px * var(--tm-bracket-scale)); }
.tm-bracket-panel .tm-player-flag-code { left:calc(-5px * var(--tm-bracket-scale)); top:calc(-5px * var(--tm-bracket-scale)); min-width:calc(18px * var(--tm-bracket-scale)); height:calc(12px * var(--tm-bracket-scale)); border-radius:calc(3px * var(--tm-bracket-scale)); font-size:calc(7px * var(--tm-bracket-scale)); line-height:calc(12px * var(--tm-bracket-scale)); }
.tm-bracket-panel .tm-side-scores { gap:calc(5px * var(--tm-bracket-scale)); }
.tm-bracket-panel .tm-side-score { flex:0 0 calc(36px * var(--tm-bracket-scale)); width:calc(36px * var(--tm-bracket-scale)); min-height:calc(28px * var(--tm-bracket-scale)); border-radius:calc(7px * var(--tm-bracket-scale)); font-size:calc(13px * var(--tm-bracket-scale)); }
.tm-bracket-panel .tm-side-score.tm-side-ff { font-size:calc(11px * var(--tm-bracket-scale)); }
.tm-bracket-panel .tm-side-score.tm-side-advance .material-symbols-outlined { font-size:calc(18px * var(--tm-bracket-scale)); }
.tm-bracket-panel .tm-side-points { min-width:calc(20px * var(--tm-bracket-scale)); height:calc(22px * var(--tm-bracket-scale)); padding:0 calc(5px * var(--tm-bracket-scale)); border-radius:calc(6px * var(--tm-bracket-scale)); font-size:calc(10px * var(--tm-bracket-scale)); }

/* Round Robin grid */
.tm-rr-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:8px; }
.tm-rr-match { background:var(--tm-match-bg); border:1px solid var(--tm-border); border-radius:7px; padding:8px 10px; }
.tm-rr-match.live { border-color:rgba(37,155,85,.72); background:linear-gradient(90deg, rgba(37,155,85,.16), var(--tm-match-bg) 46%) !important; box-shadow:0 0 0 1px rgba(37,155,85,.18), 0 0 18px rgba(37,155,85,.18); animation:tmLiveMatchPulse 2.4s ease-in-out infinite; }
.tm-rr-match-head { font-size:11px; color:var(--tm-muted); margin-bottom:4px; }
/* Round-robin / group match cards live outside .tm-bracket-panel, so the shared
   bracket styles' --tm-bracket-scale is undefined here and their scaled gaps
   collapse to 0. Restore breathing room explicitly:
   - space the match number (M1) from the schedule date so it isn't "M1SAT"
   - keep the YouTube chip inline and small
   - separate the two player rows so the frame scores don't sit on top of each other */
.tm-rr-match .tm-bracket-match-head > span:first-child { gap:7px; row-gap:4px; }
.tm-rr-match .tm-bracket-match-time { margin-left:0; }
/* Group/round-robin match: taller head row with the table number pinned top-right. */
.tm-rr-match .tm-bracket-match-head { min-height:24px; align-items:center; margin-bottom:8px; padding-bottom:6px; border-bottom:1px solid var(--tm-border); }
.tm-rr-match .tm-bracket-match-head > span:last-child { display:flex; align-items:center; gap:6px; flex:0 0 auto; }
.tm-rr-table-chip { font-size:10px; font-weight:900; line-height:1; padding:3px 8px; border-radius:6px; background:var(--tm-green); color:#fff; border:1px solid rgba(0,0,0,.22); letter-spacing:.3px; box-shadow:0 1px 3px rgba(0,0,0,.3); white-space:nowrap; }
.tm-rr-head-status { color:var(--tm-muted); }
.tm-manager[data-site="light"] .tm-rr-table-chip { border-color:rgba(0,0,0,.12); }
.tm-rr-match .tm-bracket-video-chip { position:static; bottom:auto; left:auto; }
.tm-rr-match .tm-bracket-youtube-icon { height:14px; }
.tm-rr-match .tm-bracket-side + .tm-bracket-side { margin-top:6px; }
.tm-rr-match .tm-side-scores { gap:5px; }

.tm-match-list-panel { background:var(--tm-surface); border:1px solid var(--tm-border); border-radius:8px; padding:14px; margin-bottom:14px; }
.tm-match-list-title { font-size:15px; font-weight:800; display:flex; align-items:center; gap:8px; margin-bottom:10px; }
.tm-match-list-round { margin-top:16px; }
.tm-match-list-round:first-child { margin-top:0; }
.tm-match-list-round-title { color:var(--tm-muted); font-size:11px; text-transform:uppercase; font-weight:800; margin-bottom:7px; padding-top:4px; }
.tm-match-list-row { display:grid; grid-template-columns:48px minmax(0, 1fr); gap:8px 10px; align-items:start; background:var(--tm-match-bg); border:1px solid var(--tm-border); border-radius:7px; padding:8px 10px; margin-bottom:6px; transition:background .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.tm-match-list-row:hover { background:rgba(47,125,211,.14); border-color:rgba(47,125,211,.42); box-shadow:0 8px 18px rgba(0,0,0,.14); }
.tm-match-list-row.live { border-color:rgba(37,155,85,.72); background:linear-gradient(90deg, rgba(37,155,85,.16), var(--tm-match-bg) 46%) !important; box-shadow:0 0 0 1px rgba(37,155,85,.18), 0 0 18px rgba(37,155,85,.18); animation:tmLiveMatchPulse 2.4s ease-in-out infinite; }
.tm-match-list-row.live:hover { border-color:rgba(37,155,85,.82); background:linear-gradient(90deg, rgba(37,155,85,.3), var(--tm-match-bg) 52%) !important; box-shadow:0 0 0 1px rgba(37,155,85,.24), 0 10px 20px rgba(0,0,0,.14), 0 0 18px rgba(37,155,85,.18); }
.tm-match-list-num { color:var(--tm-muted); font-weight:800; text-align:center; }
.tm-match-list-players { min-width:0; display:grid; gap:4px; }
.tm-match-list-side { display:grid; grid-template-columns:minmax(0, 1fr) auto; align-items:center; gap:10px; width:100%; box-sizing:border-box; min-width:0; min-height:32px; padding:3px 6px; border-radius:6px; }
.tm-match-list-meta { grid-column:2; display:flex; align-items:center; justify-content:flex-end; gap:6px; flex-wrap:wrap; color:var(--tm-muted); font-size:11px; }
.tm-match-list-panel.tm-minimal-list-panel { padding:10px 12px; }
.tm-match-list-panel.tm-minimal-list-panel .tm-match-list-title { font-size:13px; margin-bottom:8px; }
.tm-match-list-panel.tm-minimal-list-panel .tm-match-list-round { margin-top:14px; }
.tm-match-list-panel.tm-minimal-list-panel .tm-match-list-round-title { margin-bottom:4px; padding-top:0; font-size:10px; }
.tm-match-list-round .tm-match-list-row.tm-minimal-row:first-of-type { border-top:1px solid var(--tm-border); }
.tm-minimal-round-title { color:var(--tm-muted); font-size:10px; text-transform:uppercase; letter-spacing:.4px; font-weight:800; margin:16px 0 6px; padding:3px 8px 4px; }
.tm-minimal-round-title:first-child { margin-top:2px; }
.tm-minimal-round-title-row { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.tm-minimal-round-title-text { min-width:0; }
.tm-minimal-bye-toggle { display:inline-flex; align-items:center; gap:4px; white-space:nowrap; cursor:pointer; border:1px solid var(--tm-border); border-radius:999px; padding:3px 8px; background:rgba(255,255,255,.02); color:var(--tm-muted); font-size:10px; font-weight:800; line-height:1; transition:background .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease; }
.tm-minimal-bye-toggle:hover { background:rgba(47,125,211,.2); border-color:rgba(47,125,211,.52); color:var(--tm-text); box-shadow:0 6px 14px rgba(0,0,0,.12); }
.tm-minimal-bye-toggle.active { background:rgba(47,125,211,.18); border-color:rgba(47,125,211,.5); color:var(--tm-text); }
.tm-minimal-bye-toggle.active:hover { background:rgba(47,125,211,.26); border-color:rgba(47,125,211,.64); }
.tm-match-list-row.tm-minimal-row { position:relative; grid-template-columns:minmax(0, 1fr) auto minmax(0, 1fr); gap:0 5px; align-items:end; padding:4px 6px 3px; margin-bottom:0; background:transparent; border-radius:0; border-left:0; border-right:0; border-top:0; transition:background .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.tm-match-list-row.tm-minimal-row:hover { background:rgba(47,125,211,.16); border-color:rgba(47,125,211,.4); }
.tm-match-list-row.tm-minimal-row.live { background:rgba(37,155,85,.08) !important; border-color:rgba(37,155,85,.5); border-bottom-width:1px; padding-bottom:4px; box-shadow:none; animation:none; }
.tm-match-list-row.tm-minimal-row.live:hover { background:rgba(37,155,85,.22) !important; border-color:rgba(37,155,85,.74); }
.tm-match-list-row.tm-minimal-row.finished { background:rgba(128,128,128,.16) !important; border-color:rgba(128,128,128,.32); box-shadow:none; animation:none; }
.tm-match-list-row.tm-minimal-row.finished:hover { background:rgba(128,128,128,.22) !important; border-color:rgba(128,128,128,.42); }
.tm-minimal-num { position:absolute; top:0; left:0; z-index:1; color:var(--tm-muted); font-size:10px; font-weight:900; font-variant-numeric:tabular-nums; line-height:1; pointer-events:none; }
.tm-minimal-player { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:10px; line-height:1.05; font-weight:700; }
.tm-minimal-player.left { justify-content:flex-end; text-align:right; }
.tm-minimal-player.right { text-align:left; }
.tm-minimal-player.muted { color:var(--tm-muted); font-weight:600; }
.tm-minimal-player.winner { font-weight:900; }
.tm-minimal-player.loser { opacity:.72; }
.tm-minimal-center { display:flex; align-items:center; justify-content:center; gap:4px; white-space:nowrap; }
.tm-minimal-time-cell { position:absolute; top:0; right:0; z-index:1; display:flex; align-items:center; gap:4px; min-width:0; white-space:nowrap; }
.tm-minimal-match-no { color:var(--tm-muted); font-size:10px; font-weight:800; }
.tm-minimal-start-time { justify-self:end; min-width:44px; text-align:right; color:var(--tm-muted); font-size:10px; font-weight:700; font-variant-numeric:tabular-nums; white-space:nowrap; line-height:1.1; }
.tm-minimal-start-time.empty { opacity:.4; }
.tm-minimal-score { min-width:38px; text-align:center; font-size:11px; font-weight:900; font-variant-numeric:tabular-nums; }
.tm-minimal-score.live { color:var(--tm-green); }
.tm-minimal-score.finished { color:var(--tm-muted); }
.tm-minimal-box { display:inline-flex; align-items:center; justify-content:center; min-width:24px; min-height:18px; box-sizing:border-box; padding:0 5px; border-radius:6px; background:linear-gradient(180deg, rgba(47,125,211,.2), rgba(47,125,211,.1)); border:1px solid rgba(47,125,211,.32); color:var(--tm-text); font-size:11px; font-weight:900; font-variant-numeric:tabular-nums; box-shadow:inset 0 1px 0 rgba(255,255,255,.07); }
.tm-minimal-box-single { min-width:42px; letter-spacing:.5px; }
.tm-minimal-box-sep { color:var(--tm-muted); font-size:11px; font-weight:900; opacity:.6; }
/* The minimal row is bottom-aligned (names line up with the score boxes); keep the centre
   separator / options chip on the same line as the score-box digits. */
.tm-match-list-row.tm-minimal-row > .tm-minimal-box-sep,
.tm-match-list-row.tm-minimal-row > .tm-minimal-options-chip { align-self:end; min-height:20px; display:inline-flex; align-items:center; justify-content:center; }
.tm-minimal-options-chip { display:inline-flex; align-items:center; justify-content:center; width:auto; height:auto; padding:0; border:0; background:transparent; color:var(--tm-muted); cursor:pointer; font-size:14px; line-height:1; opacity:.75; text-decoration:none; }
.tm-minimal-options-chip:hover { color:var(--tm-text); opacity:1; }
.tm-minimal-box-empty { min-width:26px; background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04)); border-color:rgba(255,255,255,.14); color:var(--tm-muted); }
.tm-minimal-box.live { background:linear-gradient(180deg, rgba(37,155,85,.26), rgba(37,155,85,.13)); border-color:rgba(37,155,85,.46); color:var(--tm-green); }
.tm-minimal-box.finished { background:linear-gradient(180deg, rgba(150,150,150,.2), rgba(150,150,150,.1)); border-color:rgba(150,150,150,.3); color:var(--tm-muted); }
.tm-minimal-box.tm-minimal-box-ff { color:var(--tm-red) !important; }
.tm-minimal-box.tm-minimal-box-advance { background:linear-gradient(180deg, rgba(37,155,85,.28), rgba(37,155,85,.14)); border-color:rgba(37,155,85,.5); color:var(--tm-green); }
.tm-minimal-box.tm-minimal-box-advance .material-symbols-outlined { font-size:18px; font-weight:900; }
.tm-manager .tm-minimal-box.tm-minimal-box-ff { color:var(--tm-red) !important; opacity:.85; }
.tm-manager .tm-minimal-box.tm-minimal-box-advance { color:var(--tm-text) !important; border-color:rgba(37,155,85,.52) !important; background:linear-gradient(180deg, rgba(37,155,85,.3), rgba(37,155,85,.15)) !important; }
.tm-manager .tm-minimal-box.winner { color:var(--tm-text) !important; border-color:rgba(37,155,85,.52) !important; background:linear-gradient(180deg, rgba(37,155,85,.3), rgba(37,155,85,.15)) !important; }
.tm-manager .tm-minimal-box.loser { color:var(--tm-muted) !important; opacity:.72; }
.tm-minimal-box.tm-shootout { background:linear-gradient(180deg, rgba(191,61,61,.24), rgba(191,61,61,.12)); border-color:rgba(191,61,61,.42); color:var(--tm-text); }
.tm-minimal-box.tm-shootout.live { background:linear-gradient(180deg, rgba(191,61,61,.3), rgba(191,61,61,.16)); border-color:rgba(191,61,61,.5); color:var(--tm-red); }
.tm-manager .tm-minimal-box.tm-shootout.winner { border-color:rgba(191,61,61,.55) !important; background:linear-gradient(180deg, rgba(191,61,61,.32), rgba(191,61,61,.16)) !important; color:var(--tm-text) !important; }
.tm-score-pill { display:inline-flex; align-items:center; justify-content:center; min-height:20px; border-radius:999px; padding:0 8px; background:rgba(47,125,211,.16); color:var(--tm-blue); font-size:10px; font-weight:900; white-space:nowrap; }
.tm-score-pill.live { background:rgba(37,155,85,.18); color:var(--tm-green); }
.tm-score-pill.finished { background:rgba(150,150,150,.18); color:var(--tm-muted); }
.tm-side-score { justify-self:end; align-self:center; margin-left:auto; flex:0 0 36px; width:36px; min-height:28px; box-sizing:border-box; border-radius:7px; display:inline-flex; align-items:center; justify-content:center; text-align:center; background:linear-gradient(180deg, rgba(47,125,211,.22), rgba(47,125,211,.12)); border:1px solid rgba(47,125,211,.34); color:var(--tm-text); font-size:13px; font-weight:900; font-variant-numeric:tabular-nums; box-shadow:inset 0 1px 0 rgba(255,255,255,.08); }
.tm-side-scores { justify-self:end; display:inline-flex; align-items:center; justify-content:flex-end; gap:5px; }
.tm-side-score.live { background:linear-gradient(180deg, rgba(37,155,85,.26), rgba(37,155,85,.13)); border-color:rgba(37,155,85,.45); color:var(--tm-green); }
.tm-side-score.finished { background:linear-gradient(180deg, rgba(150,150,150,.22), rgba(150,150,150,.12)); border-color:rgba(150,150,150,.32); color:var(--tm-muted); }
.tm-manager .tm-side-score.winner { color:var(--tm-text) !important; border-color:rgba(37,155,85,.52) !important; background:linear-gradient(180deg, rgba(37,155,85,.28), rgba(37,155,85,.14)) !important; }
.tm-manager .tm-side-score.loser { color:var(--tm-muted) !important; opacity:.78; }
.tm-side-points { align-self:center; flex:0 0 auto; min-width:20px; height:22px; box-sizing:border-box; padding:0 5px; border-radius:6px; display:inline-flex; align-items:center; justify-content:center; text-align:center; background:rgba(150,150,150,.12); border:1px solid rgba(150,150,150,.22); color:var(--tm-muted); font-size:10px; font-weight:800; font-variant-numeric:tabular-nums; }
.tm-side-points.live { background:rgba(255,140,0,.16); border-color:rgba(255,140,0,.34); color:var(--tm-accent); }
.tm-side-points.finished { background:rgba(150,150,150,.14); border-color:rgba(150,150,150,.24); color:var(--tm-muted); }
.tm-bracket-side.tm-side-winner .tm-player-link, .tm-bracket-side.tm-side-winner .tm-player-name-inline, .tm-match-list-side.tm-side-winner .tm-player-link, .tm-match-list-side.tm-side-winner .tm-player-name-inline { font-weight:950; }
.tm-bracket-side.tm-side-loser .tm-player-link, .tm-bracket-side.tm-side-loser .tm-player-name-inline, .tm-match-list-side.tm-side-loser .tm-player-link, .tm-match-list-side.tm-side-loser .tm-player-name-inline { font-weight:500; opacity:.72; }
.tm-countdown-pill { display:inline-flex; align-items:center; gap:4px; min-height:20px; border-radius:999px; padding:0 8px; background:rgba(255,140,0,.16); color:var(--tm-accent); font-size:10px; font-weight:900; white-space:nowrap; }
.tm-countdown-pill.soon { background:rgba(37,155,85,.18); color:var(--tm-green); }
.tm-countdown-pill.overdue { background:rgba(191,61,61,.16); color:var(--tm-red); }
.tm-live-chip { display:inline-flex; align-items:center; justify-content:center; gap:4px; min-height:20px; border-radius:999px; padding:0 8px; background:rgba(37,155,85,.2); color:var(--tm-green); border:1px solid rgba(37,155,85,.36); font-size:10px; font-weight:900; text-transform:uppercase; }
.tm-live-chip::before { content:''; width:6px; height:6px; border-radius:50%; background:var(--tm-green); box-shadow:0 0 0 3px rgba(37,155,85,.18); }
.tm-finished-chip { display:inline-flex; align-items:center; justify-content:center; min-height:20px; border-radius:999px; padding:0 8px; background:rgba(150,150,150,.18); color:var(--tm-muted); font-size:10px; font-weight:900; text-transform:uppercase; }
.tm-ff-chip { display:inline-flex; align-items:center; justify-content:center; min-height:20px; border-radius:999px; padding:0 8px; background:rgba(191,61,61,.18); color:var(--tm-red); border:1px solid rgba(191,61,61,.36); font-size:10px; font-weight:900; text-transform:uppercase; }
/* ---- TV "Now Playing / Up Next" board ---- */
.tm-tv-board { border:1px solid var(--tm-border); border-radius:18px; background:var(--tm-surface); padding:18px; }
.tm-tv-board:fullscreen { padding:34px 38px; overflow-y:auto; background:var(--tm-bg, #0b1018); }
.tm-tv-bar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:18px; }
.tm-tv-brand { display:flex; align-items:center; gap:12px; min-width:0; }
.tm-tv-brand-text { min-width:0; display:flex; flex-direction:column; gap:2px; }
.tm-tv-bar-title { display:block; min-width:0; font-size:22px; font-weight:900; line-height:1.08; color:var(--tm-text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.tm-tv-bar-subtitle { min-width:0; font-size:13px; font-weight:700; line-height:1.15; color:var(--tm-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.tm-tv-brand .tm-tournament-logo { margin:0; width:64px; flex:0 0 64px; }
.tm-tv-brand .tm-tournament-logo img { width:64px; height:64px; object-fit:contain; max-height:none; border-radius:10px; }
.tm-tv-board:fullscreen .tm-tv-bar-title { font-size:40px; }
.tm-tv-board:fullscreen .tm-tv-brand .tm-tournament-logo { width:88px; flex-basis:88px; }
.tm-tv-board:fullscreen .tm-tv-brand .tm-tournament-logo img { width:88px; height:88px; }
/* "Powered by [site logo]" — only shown in fullscreen, sits at the far right of the bar. */
.tm-tv-powered { display:none; }
.tm-tv-board:fullscreen .tm-tv-powered { display:flex; align-items:center; gap:12px; flex:0 0 auto; margin-left:auto; }
.tm-tv-powered-label { font-size:14px; font-weight:800; text-transform:uppercase; letter-spacing:.14em; color:var(--tm-muted); white-space:nowrap; }
.tm-tv-powered-logo { height:34px; width:auto; max-width:200px; object-fit:contain; display:block; }
.tm-tv-grid { display:grid; grid-template-columns:1.7fr 1fr; gap:20px; align-items:start; }
@media (max-width:760px) { .tm-tv-grid { grid-template-columns:1fr; } }
.tm-tv-section { border:1px solid var(--tm-border); border-radius:16px; background:var(--tm-match-bg); padding:15px; }
.tm-tv-section-head { display:flex; align-items:center; gap:10px; font-size:15px; font-weight:900; text-transform:uppercase; letter-spacing:.6px; color:var(--tm-muted); margin-bottom:14px; }
.tm-tv-board:fullscreen .tm-tv-section-head { font-size:22px; }
.tm-tv-count { margin-left:auto; min-width:28px; height:26px; padding:0 9px; border-radius:999px; background:var(--tm-input-bg); color:var(--tm-text); font-size:13px; display:inline-flex; align-items:center; justify-content:center; }
.tm-tv-live-dot { width:13px; height:13px; border-radius:50%; background:var(--tm-green); box-shadow:0 0 0 4px rgba(37,155,85,.2); animation:tmLiveMatchPulse 2s ease-in-out infinite; }
.tm-tv-empty { color:var(--tm-muted); font-size:15px; padding:22px 10px; text-align:center; }
.tm-tv-now-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:16px; }
.tm-tv-now-card { position:relative; border:1px solid rgba(37,155,85,.4); border-radius:16px; background:linear-gradient(180deg, rgba(37,155,85,.1), var(--tm-match-bg)); padding:14px 15px 12px; box-shadow:0 0 16px rgba(37,155,85,.12); }
.tm-tv-now-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; gap:10px; }
.tm-tv-now-match { min-width:0; font-size:18px; font-weight:900; color:var(--tm-text); letter-spacing:.2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.tm-tv-live-chip { font-size:11px; font-weight:900; color:#fff; background:var(--tm-green); border-radius:999px; padding:3px 9px; letter-spacing:.6px; flex:0 0 auto; }
.tm-tv-now-side { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:7px 0; border-top:1px solid var(--tm-border); }
.tm-tv-now-side:first-of-type { border-top:0; }
.tm-tv-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:18px; font-weight:800; color:var(--tm-text); }
.tm-tv-board:fullscreen .tm-tv-name { font-size:30px; }
.tm-tv-now-side.lead .tm-tv-name { color:var(--tm-green); }
.tm-tv-side-scores { margin-left:auto; display:inline-flex; align-items:center; justify-content:flex-end; gap:6px; }
.tm-tv-side-scores .tm-side-points { min-width:24px; height:26px; padding:0 7px; border-radius:7px; font-size:11px; }
.tm-tv-score { flex:0 0 auto; min-width:40px; text-align:center; border-radius:9px; padding:4px 10px; background:linear-gradient(180deg, rgba(37,155,85,.28), rgba(37,155,85,.14)); border:1px solid rgba(37,155,85,.45); color:var(--tm-text); font-size:20px; font-weight:900; font-variant-numeric:tabular-nums; }
.tm-tv-board:fullscreen .tm-tv-score { font-size:34px; min-width:56px; }
.tm-tv-score.tm-shootout { background:linear-gradient(180deg, rgba(191,61,61,.28), rgba(191,61,61,.14)); border-color:rgba(191,61,61,.45); }
.tm-tv-now-card.tm-shootout { border-color:rgba(191,61,61,.4); background:linear-gradient(180deg, rgba(191,61,61,.1), var(--tm-match-bg)); box-shadow:0 0 16px rgba(191,61,61,.12); }
.tm-tv-now-stage { margin-top:8px; text-align:right; font-size:9px; font-weight:800; color:var(--tm-muted); line-height:1.05; letter-spacing:.04em; }
.tm-tv-board:fullscreen .tm-tv-now-stage { font-size:11px; }
.tm-tv-next-list { display:flex; flex-direction:column; gap:8px; }
.tm-tv-next-row { display:flex; flex-direction:column; gap:8px; padding:12px 14px 11px; border:1px solid var(--tm-border); border-radius:12px; background:var(--tm-surface); }
.tm-tv-next-top { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; min-width:0; }
.tm-tv-next-num { font-size:15px; font-weight:900; color:var(--tm-muted); font-variant-numeric:tabular-nums; padding-top:1px; white-space:nowrap; }
.tm-tv-next-top-meta { display:flex; align-items:center; justify-content:flex-end; gap:6px; flex-wrap:wrap; min-width:0; }
.tm-tv-next-matchline { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:baseline; gap:12px; min-width:0; }
.tm-tv-next-p { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:center; font-size:17px; font-weight:800; color:var(--tm-text); }
.tm-tv-vs { flex:0 0 auto; color:var(--tm-accent); font-size:12px; font-weight:900; line-height:1; text-transform:none; letter-spacing:.08em; padding:0 2px; transform:translateY(-1px); white-space:nowrap; }
.tm-tv-next-stage { font-size:9px; font-weight:800; color:var(--tm-muted); line-height:1.05; letter-spacing:.04em; text-align:center; }
.tm-tv-board:fullscreen .tm-tv-next-stage { font-size:11px; text-align:center; }
.tm-tv-next-table { font-size:12px; font-weight:900; color:var(--tm-text); background:var(--tm-input-bg); border-radius:999px; padding:4px 9px; white-space:nowrap; }
.tm-tv-when { font-size:12px; font-weight:800; color:var(--tm-muted); white-space:nowrap; }

.tm-manager[data-site="light"] .tm-tv-board:fullscreen {
    --tm-bg:#eef3f9;
    --tm-surface:rgba(255,255,255,.88);
    --tm-match-bg:rgba(255,255,255,.96);
    --tm-border:rgba(15,23,42,.08);
    --tm-input-bg:#e6edf5;
    --tm-text:#0f172a;
    --tm-muted:#64748b;
    --tm-soft:#94a3b8;
    --tm-green:#15803d;
    --tm-red:#b42318;
    --tm-blue:#1d4ed8;
    --tm-accent:#b45309;
    padding:24px 28px 30px;
    overflow-y:auto;
    background:
        radial-gradient(circle at top left, rgba(29,78,216,.14), transparent 28%),
        radial-gradient(circle at top right, rgba(21,128,61,.10), transparent 26%),
        linear-gradient(180deg, #f8fbff 0%, #eef3f9 100%);
    color:var(--tm-text);
}
.tm-manager[data-site="light"] .tm-tv-board:fullscreen .tm-tv-bar {
    position:sticky;
    top:0;
    z-index:4;
    margin-bottom:18px;
    padding:18px 20px;
    border:1px solid rgba(15,23,42,.08);
    border-radius:18px;
    background:rgba(255,255,255,.84);
    box-shadow:0 18px 44px rgba(15,23,42,.08);
    backdrop-filter:blur(14px);
}
.tm-manager[data-site="light"] .tm-tv-board:fullscreen .tm-tv-bar-title { font-size:clamp(28px, 2.3vw, 40px); color:var(--tm-text); }
.tm-manager[data-site="light"] .tm-tv-board:fullscreen .tm-tv-section { border-color:rgba(15,23,42,.08); border-radius:24px; background:rgba(255,255,255,.82); padding:20px; box-shadow:0 16px 40px rgba(15,23,42,.06); backdrop-filter:blur(12px); }
.tm-manager[data-site="light"] .tm-tv-board:fullscreen .tm-tv-section-head { font-size:16px; letter-spacing:.14em; color:var(--tm-muted); margin-bottom:16px; }
.tm-manager[data-site="light"] .tm-tv-board:fullscreen .tm-tv-count { background:rgba(15,23,42,.06); color:var(--tm-text); min-width:32px; height:28px; font-size:14px; }
.tm-manager[data-site="light"] .tm-tv-board:fullscreen .tm-tv-live-dot { width:12px; height:12px; box-shadow:0 0 0 4px rgba(21,128,61,.12); }
.tm-manager[data-site="light"] .tm-tv-board:fullscreen .tm-tv-empty { color:var(--tm-muted); font-size:18px; padding:24px 12px; }
.tm-manager[data-site="light"] .tm-tv-board:fullscreen .tm-tv-now-grid { grid-template-columns:repeat(auto-fit, minmax(320px, 1fr)); gap:18px; }
.tm-manager[data-site="light"] .tm-tv-board:fullscreen .tm-tv-now-card {
    border-color:rgba(15,23,42,.08);
    border-radius:22px;
    background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96));
    box-shadow:0 12px 30px rgba(15,23,42,.08);
    padding:18px 20px 16px;
}
.tm-manager[data-site="light"] .tm-tv-board:fullscreen .tm-tv-now-card.tm-shootout {
    border-color:rgba(180,35,24,.18);
    background:linear-gradient(180deg, rgba(255,247,247,.98), rgba(255,241,241,.95));
    box-shadow:0 12px 30px rgba(180,35,24,.08);
}
.tm-manager[data-site="light"] .tm-tv-board:fullscreen .tm-tv-now-top { margin-bottom:10px; }
.tm-manager[data-site="light"] .tm-tv-board:fullscreen .tm-tv-table {
    font-size:11px;
    color:var(--tm-text);
    background:rgba(15,23,42,.06);
    border-radius:999px;
    padding:4px 10px;
    letter-spacing:.2px;
}
.tm-manager[data-site="light"] .tm-tv-board:fullscreen .tm-tv-now-top { margin-bottom:12px; }
.tm-manager[data-site="light"] .tm-tv-board:fullscreen .tm-tv-now-match {
    font-size:24px;
    letter-spacing:.1px;
}
.tm-manager[data-site="light"] .tm-tv-board:fullscreen .tm-tv-live-chip {
    background:linear-gradient(180deg, #16a34a, #15803d);
    box-shadow:0 8px 16px rgba(21,128,61,.16);
    font-size:12px;
    padding:4px 11px;
}
.tm-manager[data-site="light"] .tm-tv-board:fullscreen .tm-tv-now-side {
    display:grid;
    grid-template-columns:minmax(0, 1fr) auto;
    align-items:center;
    gap:14px;
    padding:10px 0;
    border-top-color:rgba(15,23,42,.06);
}
.tm-manager[data-site="light"] .tm-tv-board:fullscreen .tm-tv-side-scores { gap:8px; }
.tm-manager[data-site="light"] .tm-tv-board:fullscreen .tm-tv-side-scores .tm-side-points { min-width:30px; height:28px; font-size:12px; }
.tm-manager[data-site="light"] .tm-tv-board:fullscreen .tm-tv-now-side.lead .tm-tv-name { color:var(--tm-green); }
.tm-manager[data-site="light"] .tm-tv-board:fullscreen .tm-tv-name {
    font-size:clamp(18px, 1.25vw, 26px);
    font-weight:800;
    line-height:1.12;
    letter-spacing:.1px;
}
.tm-manager[data-site="light"] .tm-tv-board:fullscreen .tm-tv-score {
    min-width:52px;
    padding:6px 12px;
    font-size:clamp(18px, 1.15vw, 26px);
    color:var(--tm-text);
    background:linear-gradient(180deg, rgba(29,78,216,.16), rgba(29,78,216,.08));
    border-color:rgba(29,78,216,.22);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.tm-manager[data-site="light"] .tm-tv-board:fullscreen .tm-tv-score.tm-shootout {
    background:linear-gradient(180deg, rgba(180,35,24,.18), rgba(180,35,24,.10));
    border-color:rgba(180,35,24,.22);
    color:#7f1d1d;
}
.tm-manager[data-site="light"] .tm-tv-board:fullscreen .tm-tv-now-stage { margin-top:10px; font-size:11px; }
.tm-manager[data-site="light"] .tm-tv-board:fullscreen .tm-tv-next-list { gap:12px; }
.tm-manager[data-site="light"] .tm-tv-board:fullscreen .tm-tv-next-row {
    border-color:rgba(15,23,42,.08);
    border-radius:18px;
    background:rgba(255,255,255,.94);
    box-shadow:0 10px 24px rgba(15,23,42,.05);
    padding:14px 16px 13px;
}
.tm-manager[data-site="light"] .tm-tv-board:fullscreen .tm-tv-next-num { color:var(--tm-muted); font-size:14px; }
.tm-manager[data-site="light"] .tm-tv-board:fullscreen .tm-tv-next-players {
    display:flex;
    align-items:center;
    gap:12px;
    width:100%;
    font-size:clamp(17px, 1.1vw, 24px);
    font-weight:800;
    color:var(--tm-text);
}
.tm-manager[data-site="light"] .tm-tv-board:fullscreen .tm-tv-next-p-left, .tm-manager[data-site="light"] .tm-tv-board:fullscreen .tm-tv-next-p-right { text-align:left; }
.tm-manager[data-site="light"] .tm-tv-board:fullscreen .tm-tv-vs { color:var(--tm-accent); font-size:12px; line-height:1; letter-spacing:.06em; transform:translateY(1px); }
.tm-manager[data-site="light"] .tm-tv-board:fullscreen .tm-tv-next-top { align-items:flex-start; }
.tm-manager[data-site="light"] .tm-tv-board:fullscreen .tm-tv-next-top-meta { font-size:12px; }
.tm-manager[data-site="light"] .tm-tv-board:fullscreen .tm-tv-next-matchline { grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:18px; font-size:clamp(17px, 1.1vw, 24px); font-weight:800; color:var(--tm-text); }
.tm-manager[data-site="light"] .tm-tv-board:fullscreen .tm-tv-next-p { text-align:left; }
.tm-manager[data-site="light"] .tm-tv-board:fullscreen .tm-vs { color:var(--tm-accent); font-size:12px; line-height:1; letter-spacing:.08em; transform:translateY(-1px); }
.tm-manager[data-site="light"] .tm-tv-board:fullscreen .tm-tv-next-stage { font-size:11px; }
.tm-manager[data-site="light"] .tm-tv-board:fullscreen .tm-tv-next-meta { gap:10px; }
.tm-manager[data-site="light"] .tm-tv-board:fullscreen .tm-tv-next-table {
    background:rgba(15,23,42,.06);
    color:var(--tm-text);
    border-radius:999px;
    padding:5px 10px;
    font-size:13px;
}
.tm-manager[data-site="light"] .tm-tv-board:fullscreen .tm-tv-when { color:var(--tm-muted); font-size:13px; }
.tm-manager[data-site="dark"] .tm-tv-board:fullscreen {
    --tm-bg:#0b111b;
    --tm-surface:rgba(17,24,39,.88);
    --tm-match-bg:rgba(11,17,27,.96);
    --tm-border:rgba(148,163,184,.12);
    --tm-input-bg:#182030;
    --tm-text:#edf4ff;
    --tm-muted:#9aa8bb;
    --tm-soft:#64748b;
    --tm-green:#4ade80;
    --tm-red:#f87171;
    --tm-blue:#7aa2ff;
    --tm-accent:#fbbf24;
    padding:28px 32px 34px;
    overflow-y:auto;
    background:
        radial-gradient(circle at top left, rgba(59,130,246,.16), transparent 28%),
        radial-gradient(circle at top right, rgba(34,197,94,.10), transparent 26%),
        linear-gradient(180deg, #0b111b 0%, #111827 100%);
    color:var(--tm-text);
}
.tm-manager[data-site="dark"] .tm-tv-board:fullscreen .tm-tv-bar {
    position:sticky;
    top:0;
    z-index:4;
    margin-bottom:18px;
    padding:14px 16px 13px;
    border:1px solid rgba(148,163,184,.12);
    border-radius:18px;
    background:rgba(11,17,27,.84);
    box-shadow:0 18px 44px rgba(0,0,0,.36);
    backdrop-filter:blur(14px);
}
.tm-manager[data-site="dark"] .tm-tv-board:fullscreen .tm-tv-bar-title { font-size:clamp(28px, 2.3vw, 40px); color:var(--tm-text); }
.tm-manager[data-site="dark"] .tm-tv-board:fullscreen .tm-tv-section { border-color:rgba(148,163,184,.12); border-radius:24px; background:rgba(17,24,39,.82); padding:20px; box-shadow:0 16px 40px rgba(0,0,0,.24); backdrop-filter:blur(12px); }
.tm-manager[data-site="dark"] .tm-tv-board:fullscreen .tm-tv-section-head { font-size:16px; letter-spacing:.14em; color:var(--tm-muted); margin-bottom:16px; }
.tm-manager[data-site="dark"] .tm-tv-board:fullscreen .tm-tv-count { background:rgba(255,255,255,.06); color:var(--tm-text); min-width:32px; height:28px; font-size:14px; }
.tm-manager[data-site="dark"] .tm-tv-board:fullscreen .tm-tv-live-dot { width:12px; height:12px; box-shadow:0 0 0 4px rgba(34,197,94,.12); }
.tm-manager[data-site="dark"] .tm-tv-board:fullscreen .tm-tv-empty { color:var(--tm-muted); font-size:18px; padding:24px 10px; }
.tm-manager[data-site="dark"] .tm-tv-board:fullscreen .tm-tv-now-grid { grid-template-columns:repeat(auto-fit, minmax(320px, 1fr)); gap:18px; }
.tm-manager[data-site="dark"] .tm-tv-board:fullscreen .tm-tv-now-card {
.tm-manager[data-site="dark"] .tm-tv-board:fullscreen .tm-tv-next-top { align-items:flex-start; }
.tm-manager[data-site="dark"] .tm-tv-board:fullscreen .tm-tv-next-top-meta { font-size:12px; }
.tm-manager[data-site="dark"] .tm-tv-board:fullscreen .tm-tv-next-matchline { grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:18px; font-size:clamp(17px, 1.1vw, 24px); font-weight:800; color:var(--tm-text); }
.tm-manager[data-site="dark"] .tm-tv-board:fullscreen .tm-tv-next-p { text-align:left; }
.tm-manager[data-site="dark"] .tm-tv-board:fullscreen .tm-vs { color:var(--tm-accent); font-size:12px; line-height:1; letter-spacing:.08em; transform:translateY(-1px); }
    border-color:rgba(148,163,184,.12);
    border-radius:22px;
    background:linear-gradient(180deg, rgba(17,24,39,.98), rgba(11,17,27,.96));
    box-shadow:0 12px 30px rgba(0,0,0,.28);
    padding:18px 20px 16px;
}
.tm-manager[data-site="dark"] .tm-tv-board:fullscreen .tm-tv-now-card.tm-shootout {
    border-color:rgba(248,113,113,.18);
    background:linear-gradient(180deg, rgba(39,15,15,.96), rgba(24,12,12,.94));
    box-shadow:0 12px 30px rgba(0,0,0,.3);
}
.tm-manager[data-site="dark"] .tm-tv-board:fullscreen .tm-tv-now-top { margin-bottom:10px; }
.tm-manager[data-site="dark"] .tm-tv-board:fullscreen .tm-tv-now-top { margin-bottom:12px; }
.tm-manager[data-site="dark"] .tm-tv-board:fullscreen .tm-tv-now-match {
    font-size:24px;
    letter-spacing:.1px;
    color:var(--tm-text);
}
.tm-manager[data-site="dark"] .tm-tv-board:fullscreen .tm-tv-live-chip {
    background:linear-gradient(180deg, #22c55e, #15803d);
    box-shadow:0 8px 16px rgba(34,197,94,.18);
    font-size:12px;
    padding:4px 11px;
}
.tm-manager[data-site="dark"] .tm-tv-board:fullscreen .tm-tv-now-side {
    display:grid;
    grid-template-columns:minmax(0, 1fr) auto;
    align-items:center;
    gap:14px;
    padding:10px 0;
    border-top-color:rgba(148,163,184,.12);
}
.tm-manager[data-site="dark"] .tm-tv-board:fullscreen .tm-tv-side-scores { gap:8px; }
.tm-manager[data-site="dark"] .tm-tv-board:fullscreen .tm-tv-side-scores .tm-side-points { min-width:30px; height:28px; font-size:12px; }
.tm-manager[data-site="dark"] .tm-tv-board:fullscreen .tm-tv-now-side.lead .tm-tv-name { color:var(--tm-green); }
.tm-manager[data-site="dark"] .tm-tv-board:fullscreen .tm-tv-name {
    font-size:clamp(18px, 1.25vw, 26px);
    font-weight:800;
    line-height:1.12;
    letter-spacing:.1px;
}
.tm-manager[data-site="dark"] .tm-tv-board:fullscreen .tm-tv-score {
    min-width:52px;
    padding:6px 12px;
    font-size:clamp(18px, 1.15vw, 26px);
    color:var(--tm-text);
    background:linear-gradient(180deg, rgba(29,78,216,.16), rgba(29,78,216,.08));
    border-color:rgba(29,78,216,.22);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.tm-manager[data-site="dark"] .tm-tv-board:fullscreen .tm-tv-score.tm-shootout {
    background:linear-gradient(180deg, rgba(180,35,24,.18), rgba(180,35,24,.10));
    border-color:rgba(180,35,24,.22);
    color:#fca5a5;
}
.tm-manager[data-site="dark"] .tm-tv-board:fullscreen .tm-tv-now-stage { margin-top:10px; font-size:11px; }
.tm-manager[data-site="dark"] .tm-tv-board:fullscreen .tm-tv-next-list { gap:12px; }
.tm-manager[data-site="dark"] .tm-tv-board:fullscreen .tm-tv-next-row {
    border-color:rgba(148,163,184,.12);
    border-radius:18px;
    background:rgba(17,24,39,.94);
    box-shadow:0 10px 24px rgba(0,0,0,.18);
    padding:14px 16px;
}
.tm-manager[data-site="dark"] .tm-tv-board:fullscreen .tm-tv-next-num { color:var(--tm-muted); font-size:14px; }
.tm-manager[data-site="dark"] .tm-tv-board:fullscreen .tm-tv-next-center { gap:5px; }
.tm-manager[data-site="dark"] .tm-tv-board:fullscreen .tm-tv-next-players {
    display:flex;
    align-items:center;
    gap:12px;
    width:100%;
    font-size:clamp(17px, 1.1vw, 24px);
    font-weight:800;
    color:var(--tm-text);
}
.tm-manager[data-site="dark"] .tm-tv-board:fullscreen .tm-tv-next-p-left, .tm-manager[data-site="dark"] .tm-tv-board:fullscreen .tm-tv-next-p-right { text-align:left; }
.tm-manager[data-site="dark"] .tm-tv-board:fullscreen .tm-tv-vs { color:var(--tm-accent); font-size:12px; line-height:1; letter-spacing:.06em; transform:translateY(1px); }
.tm-manager[data-site="dark"] .tm-tv-board:fullscreen .tm-tv-next-stage { font-size:11px; }
.tm-manager[data-site="dark"] .tm-tv-board:fullscreen .tm-tv-next-meta { gap:10px; }
.tm-manager[data-site="dark"] .tm-tv-board:fullscreen .tm-tv-next-table {
    background:rgba(255,255,255,.06);
    color:var(--tm-text);
    border-radius:999px;
    padding:5px 10px;
    font-size:13px;
}
.tm-manager[data-site="dark"] .tm-tv-board:fullscreen .tm-tv-when { color:var(--tm-muted); font-size:13px; }
    background:rgba(17,24,39,.84);
    border-color:rgba(148,163,184,.12);
    color:var(--tm-text);
    box-shadow:0 8px 20px rgba(0,0,0,.22);
}
.tm-manager[data-site="dark"] .tm-tv-board:fullscreen .tm-btn.tm-btn-ghost:hover {
    background:rgba(17,24,39,.96);
    border-color:rgba(148,163,184,.18);
}

.tm-manager[data-site] .tm-tv-board:fullscreen {
    padding:12px 14px 14px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    box-sizing:border-box;
}
.tm-manager[data-site] .tm-tv-board:fullscreen .tm-tv-bar {
    margin-bottom:8px;
    padding:10px 12px;
    flex:0 0 auto;
}
.tm-manager[data-site] .tm-tv-board:fullscreen .tm-tv-bar .tm-btn[data-tm-act="tv-fullscreen"],
.tm-manager[data-site] .tm-tv-board:fullscreen .tm-tv-bar .tm-btn[data-tm-act="tv-fullscreen"]:hover,
.tm-manager[data-site] .tm-tv-board:-webkit-full-screen .tm-tv-bar .tm-btn[data-tm-act="tv-fullscreen"],
.tm-manager[data-site] .tm-tv-board:-webkit-full-screen .tm-tv-bar .tm-btn[data-tm-act="tv-fullscreen"]:hover {
    display:none;
}
.tm-manager[data-site] .tm-tv-board:fullscreen .tm-tv-bar-title { font-size:clamp(14px, 1vw, 18px); }
.tm-manager[data-site] .tm-tv-board:fullscreen .tm-tv-bar-subtitle { font-size:clamp(9px, .7vw, 11px); }
.tm-manager[data-site] .tm-tv-board:fullscreen .tm-tv-grid {
    flex:1 1 auto;
    min-height:0;
    grid-template-columns:minmax(0, 1.55fr) minmax(0, 1fr);
    gap:10px;
    align-items:stretch;
}
.tm-manager[data-site] .tm-tv-board:fullscreen .tm-tv-section {
    min-height:0;
    padding:10px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
}
.tm-manager[data-site] .tm-tv-board:fullscreen .tm-tv-section-head { font-size:9px; letter-spacing:.14em; margin-bottom:8px; }
.tm-manager[data-site] .tm-tv-board:fullscreen .tm-tv-count { min-width:18px; height:18px; padding:0 6px; font-size:9px; }
.tm-manager[data-site] .tm-tv-board:fullscreen .tm-tv-live-dot { width:8px; height:8px; box-shadow:0 0 0 3px rgba(37,155,85,.14); }
.tm-manager[data-site] .tm-tv-board:fullscreen .tm-tv-empty { font-size:11px; padding:12px 6px; }
.tm-manager[data-site] .tm-tv-board:fullscreen .tm-tv-now-grid {
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:8px;
}
.tm-manager[data-site] .tm-tv-board:fullscreen .tm-tv-now-card {
    border-radius:12px;
    padding:8px 9px 7px;
    box-shadow:0 8px 18px rgba(0,0,0,.10);
}
.tm-manager[data-site] .tm-tv-board:fullscreen .tm-tv-now-card.tm-shootout { box-shadow:0 8px 18px rgba(0,0,0,.12); }
.tm-manager[data-site] .tm-tv-board:fullscreen .tm-tv-now-top { margin-bottom:5px; }
.tm-manager[data-site] .tm-tv-board:fullscreen .tm-tv-table { font-size:9px; padding:3px 7px; }
.tm-manager[data-site] .tm-tv-board:fullscreen .tm-tv-live-chip { font-size:8px; padding:1px 6px; letter-spacing:.4px; }
.tm-manager[data-site] .tm-tv-board:fullscreen .tm-tv-now-side { gap:6px; padding:3px 0; }
.tm-manager[data-site] .tm-tv-board:fullscreen .tm-tv-name { font-size:clamp(11px, .82vw, 14px); font-weight:800; line-height:1.08; }
.tm-manager[data-site] .tm-tv-board:fullscreen .tm-tv-score {
    min-width:30px;
    padding:1px 6px;
    font-size:clamp(11px, .9vw, 15px);
    border-radius:6px;
}
.tm-manager[data-site] .tm-tv-board:fullscreen .tm-tv-now-foot { margin-top:4px; font-size:9px; }
.tm-manager[data-site] .tm-tv-board:fullscreen .tm-tv-next-list {
    display:grid;
    grid-template-columns:1fr;
    gap:6px;
}
.tm-manager[data-site] .tm-tv-board:fullscreen .tm-tv-next-row {
    width:100%;
    border-radius:18px;
    padding:14px 16px 13px;
    gap:8px;
}
.tm-manager[data-site] .tm-tv-board:fullscreen .tm-tv-next-num { font-size:14px; }
.tm-manager[data-site] .tm-tv-board:fullscreen .tm-tv-next-matchline { gap:18px; font-size:clamp(17px, 1.1vw, 24px); font-weight:800; }
.tm-manager[data-site] .tm-tv-board:fullscreen .tm-tv-next-p {
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    line-height:1.05;
    text-align:center;
}
.tm-manager[data-site] .tm-tv-board:fullscreen .tm-tv-vs { color:var(--tm-accent); font-size:12px; line-height:1; letter-spacing:.08em; transform:translateY(-1px); }
.tm-manager[data-site] .tm-tv-board:fullscreen .tm-tv-next-meta { gap:6px; }
.tm-manager[data-site] .tm-tv-board:fullscreen .tm-tv-next-table { font-size:12px; padding:4px 9px; }
.tm-manager[data-site] .tm-tv-board:fullscreen .tm-tv-when { font-size:12px; }
.tm-manager[data-site] .tm-tv-board:fullscreen .tm-tv-next-stage { text-align:center; }
.tm-manager[data-site] .tm-tv-board:fullscreen .tm-btn.tm-btn-ghost { font-size:11px; min-height:28px; padding:0 8px; }
.tm-manager[data-site] .tm-tv-board:fullscreen .tm-btn.tm-btn-ghost .material-symbols-outlined { font-size:16px; }

.tm-side-score.tm-side-ff { font-size:11px; font-weight:900; letter-spacing:.5px; }
.tm-side-score.tm-side-advance { background:linear-gradient(180deg, rgba(37,155,85,.28), rgba(37,155,85,.14)); border-color:rgba(37,155,85,.5); color:var(--tm-green); }
.tm-side-score.tm-side-advance .material-symbols-outlined { font-size:18px; font-weight:900; }
/* Shoot-Out: red-themed score boxes (override the blue/green base, live and winner states). */
.tm-side-score.tm-shootout { background:linear-gradient(180deg, rgba(191,61,61,.22), rgba(191,61,61,.12)); border-color:rgba(191,61,61,.4); color:var(--tm-text); }
.tm-side-score.tm-shootout.live { background:linear-gradient(180deg, rgba(191,61,61,.3), rgba(191,61,61,.16)); border-color:rgba(191,61,61,.5); color:var(--tm-red); }
.tm-manager .tm-side-score.tm-shootout.winner { border-color:rgba(191,61,61,.55) !important; background:linear-gradient(180deg, rgba(191,61,61,.32), rgba(191,61,61,.16)) !important; color:var(--tm-text) !important; }
.tm-side-score.tm-shootout.tm-side-advance { background:linear-gradient(180deg, rgba(191,61,61,.3), rgba(191,61,61,.16)); border-color:rgba(191,61,61,.5); color:var(--tm-red); }
.tm-minimal-score.tm-shootout { color:var(--tm-red); }
.tm-minimal-score.tm-shootout.live { color:var(--tm-red); }
.tm-match-status-line { display:flex; align-items:center; gap:6px; flex-wrap:wrap; margin-top:4px; color:var(--tm-muted); font-size:11px; font-weight:600; }
.tm-match-tools { display:inline-flex; align-items:center; gap:4px; margin-left:2px; }
.tm-match-icon-btn { width:22px; height:22px; border-radius:50%; border:1px solid var(--tm-border); background:rgba(255,255,255,.04); color:var(--tm-muted); display:inline-flex; align-items:center; justify-content:center; padding:0; cursor:pointer; text-decoration:none; vertical-align:middle; }
.tm-match-icon-btn .material-symbols-outlined { font-size:15px; line-height:1; }
.tm-match-icon-btn:hover { background:rgba(47,125,211,.14); color:var(--tm-blue); }
.tm-match-video-btn { border-color:rgba(191,61,61,.38); background:rgba(191,61,61,.14); color:var(--tm-red); }
.tm-match-video-btn:hover { background:rgba(191,61,61,.22); color:var(--tm-red); }
.tm-referee-active { border-color:rgba(255,140,0,.42); background:rgba(255,140,0,.14); color:var(--tm-accent); animation:tmRefereePulse 1.2s ease-in-out infinite; cursor:default; pointer-events:none; }
.tm-referee-clear-btn { border-color:rgba(191,61,61,.38); background:rgba(191,61,61,.14); color:var(--tm-red); }
.tm-referee-clear-btn:hover { background:rgba(191,61,61,.22); color:var(--tm-red); }
.tm-scheme3-seed-panel { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; width:100%; margin:14px 0 16px; padding:9px 10px; border:1px solid var(--tm-border); border-radius:8px; background:var(--tm-surface); }
.tm-scheme3-seed-panel.tm-scheme3-seed-disabled { opacity:.62; }
.tm-scheme3-seed-title { display:flex; align-items:center; gap:7px; font-size:12px; font-weight:900; color:var(--tm-text); }
.tm-scheme3-seed-note { color:var(--tm-muted); font-size:11px; margin-top:3px; }
.tm-scheme3-seed-actions { display:flex; gap:6px; flex-wrap:wrap; }
.tm-scheme3-inline-publish { display:flex; align-items:center; gap:6px; flex-wrap:wrap; width:100%; margin-top:6px; }
.tm-scheme3-inline-publish .tm-select { min-width: 170px; flex:1 1 170px; }
.tm-scheme3-inline-publish .tm-btn { white-space:nowrap; }
.tm-minimal-player.tm-scheme3-inline-slot { white-space:normal; overflow:visible; text-overflow:clip; flex-direction:column; align-items:stretch; gap:6px; }
@keyframes tmLiveMatchPulse { 0%,100%{ box-shadow:0 0 0 1px rgba(37,155,85,.12), 0 0 10px rgba(37,155,85,.10); } 50%{ box-shadow:0 0 0 1px rgba(37,155,85,.28), 0 0 22px rgba(37,155,85,.24); } }
@keyframes tmRefereePulse { 0%,100%{ box-shadow:0 0 0 1px rgba(255,140,0,.12), 0 0 0 rgba(255,140,0,0); } 50%{ box-shadow:0 0 0 1px rgba(255,140,0,.28), 0 0 16px rgba(255,140,0,.22); } }
.tm-standings-panel { overflow:hidden; }
.tm-standings-scroll { overflow-x:auto; margin:0 -4px; padding:0 4px; }
.tm-standings-table { width:100%; min-width:760px; border-collapse:separate; border-spacing:0; }
.tm-standings-table th { padding:8px 9px; color:var(--tm-muted); font-size:10px; text-transform:uppercase; text-align:right; border-bottom:1px solid var(--tm-border); white-space:nowrap; }
.tm-standings-table th:nth-child(2), .tm-standings-table td:nth-child(2) { text-align:left; }
.tm-standings-table td { padding:9px; border-bottom:1px solid var(--tm-border); text-align:right; font-size:12px; color:var(--tm-text); vertical-align:middle; }
.tm-standings-table tbody tr:last-child td { border-bottom:0; }
.tm-standings-rank { font-weight:900; color:var(--tm-muted); }
.tm-standings-table.tm-standings-breaks { min-width:860px; }
.tm-standings-break { font-weight:800; font-variant-numeric:tabular-nums; white-space:nowrap; }
.tm-standings-break-empty { color:var(--tm-muted); font-weight:600; }
.tm-standings-name { min-width:190px; }
.tm-standings-name .tm-player-identity.tm-player-marked { background:rgba(255,194,71,.26); border-radius:6px; box-shadow:inset 0 0 0 1px rgba(255,194,71,.12); padding:1px 5px; margin:-1px -5px; }
.tm-standings-name .tm-player-identity.tm-player-marked .tm-player-link,
.tm-standings-name .tm-player-identity.tm-player-marked .tm-player-name-inline { color:var(--tm-text); }
.tm-manager[data-site="light"] .tm-standings-name .tm-player-identity.tm-player-marked { background:rgba(255,230,120,.62); box-shadow:inset 0 0 0 1px rgba(194,134,0,.16); }
.tm-manager[data-site="light"] .tm-standings-name .tm-player-identity.tm-player-marked .tm-player-link,
.tm-manager[data-site="light"] .tm-standings-name .tm-player-identity.tm-player-marked .tm-player-name-inline { color:#9f6a00; }
.tm-standings-form { display:flex; justify-content:flex-end; gap:3px; }
.tm-form-chip { display:inline-flex; align-items:center; justify-content:center; width:18px; height:18px; border-radius:50%; font-size:9px; font-weight:900; }
.tm-form-chip.win { background:rgba(37,155,85,.18); color:var(--tm-green); }
.tm-form-chip.loss { background:rgba(191,61,61,.18); color:var(--tm-red); }
.tm-form-chip.empty { background:rgba(150,150,150,.14); color:var(--tm-muted); }

/* Scheduled matches */
.tm-sched-row { display:grid; grid-template-columns:40px 1fr minmax(250px,290px) 120px 48px; gap:10px; align-items:center; background:var(--tm-surface); border:1px solid var(--tm-border); border-radius:8px; padding:10px; margin-bottom:6px; }
.tm-sched-row.live { border-color:rgba(37,155,85,.72); background:linear-gradient(90deg, rgba(37,155,85,.15), var(--tm-surface) 48%) !important; box-shadow:0 0 0 1px rgba(37,155,85,.16), 0 0 16px rgba(37,155,85,.14); animation:tmLiveMatchPulse 2.4s ease-in-out infinite; }
.tm-sched-row.finished { background:linear-gradient(90deg, rgba(128,128,128,.14), var(--tm-surface) 52%) !important; border-color:rgba(128,128,128,.32); box-shadow:none; animation:none; }
.tm-sched-row .tm-input, .tm-sched-row .tm-select { min-height:32px; padding:4px 8px; font-size:13px; }
.tm-sched-num { font-weight:800; color:var(--tm-muted); text-align:center; }
.tm-sched-players { display:flex; align-items:center; gap:6px; flex-wrap:nowrap; min-width:0; overflow:hidden; font-weight:700; color:var(--tm-text); font-size:13px; }
.tm-sched-players .tm-player-identity { width:auto; min-width:0; flex:0 1 auto; }
.tm-sched-players .tm-side-score { margin-left:0; flex:0 0 30px; width:30px; min-height:22px; padding:0 4px; font-size:11px; }
.tm-sched-players .tm-player-link,
.tm-sched-players .tm-player-name-inline { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.tm-sched-players .tm-player-identity.tm-player-marked { background:rgba(255,194,71,.26); border-radius:6px; box-shadow:inset 0 0 0 1px rgba(255,194,71,.12); padding:1px 4px; margin:-1px -4px; }
.tm-sched-players .tm-player-identity.tm-player-marked .tm-player-link,
.tm-sched-players .tm-player-identity.tm-player-marked .tm-player-name-inline { color:var(--tm-text); }
.tm-manager[data-site="light"] .tm-sched-players .tm-player-identity.tm-player-marked { background:rgba(255,230,120,.62); border-color:rgba(194,134,0,.38); box-shadow:inset 0 0 0 1px rgba(194,134,0,.16); }
.tm-manager[data-site="light"] .tm-sched-players .tm-player-identity.tm-player-marked .tm-player-link,
.tm-manager[data-site="light"] .tm-sched-players .tm-player-identity.tm-player-marked .tm-player-name-inline { color:#9f6a00; }
.tm-sched-vs { color:var(--tm-muted); margin:0; }
.tm-sched-unscheduled { opacity:.55; }
.tm-sched-time-cell { display:flex; align-items:center; gap:6px; min-width:0; }
.tm-sched-time-cell .tm-match-icon-btn { width:34px; height:34px; border-radius:6px; flex:0 0 auto; border-color:transparent; background:transparent; color:var(--tm-muted); }
.tm-sched-time-cell .tm-match-icon-btn .material-symbols-outlined { font-size:18px; }
.tm-sched-time-cell .tm-match-icon-btn:hover { background:rgba(255,255,255,0.02); border-color:var(--tm-border); color:var(--tm-text); }
.tm-sched-time-cell .tm-sched-cancel-btn:hover { background:rgba(191,61,61,.14); border-color:rgba(191,61,61,.4); color:var(--tm-red); }
.tm-sched-time-cell .tm-input { flex:1; min-width:0; width:100%; }
.tm-sched-actions { grid-column:4 / -1; display:flex; align-items:center; gap:8px; min-width:0; }
.tm-sched-actions .tm-select { flex:1 1 auto; min-width:0; }
.tm-sched-row .tm-btn[data-tm-act="save-sched"] { padding:6px; width:40px; min-width:40px; display:inline-flex; align-items:center; justify-content:center; }
.tm-sched-clock { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:6px; cursor:pointer; color:var(--tm-muted); border:1px solid transparent; background:transparent; padding:4px; flex:0 0 auto; }
.tm-sched-clock[aria-disabled="1"] { opacity:.45; cursor:default; pointer-events:none; }
.tm-sched-clock:hover { background:rgba(255,255,255,0.02); border-color:var(--tm-border); color:var(--tm-text); }
.tm-sched-public-row { grid-template-columns:40px minmax(0, 1fr) 160px 110px; }

/* Inline add-player status (reserves height so layout doesn't jump) */
.tm-inline-status { min-height:22px; margin-top:8px; font-size:12px; color:var(--tm-muted); display:flex; align-items:center; gap:7px; }
.tm-inline-status.ok    { color:var(--tm-green); }
.tm-inline-status.error { color:var(--tm-red); }

/* Manual draw sortable */
.tm-sort-list { display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:8px; margin-top:10px; }
.tm-sort-slot { display:flex; align-items:center; gap:8px; background:var(--tm-match-bg); border:1px solid var(--tm-border); border-left:3px solid var(--tm-accent); border-radius:7px; padding:8px 10px; cursor:grab; }
.tm-sort-slot.tm-bye  { border-left-color:var(--tm-soft); opacity:.7; cursor:default; }
.tm-sort-slot.ui-sortable-helper { box-shadow:0 12px 24px rgba(0,0,0,.25); }
.tm-sort-slot.ui-sortable-placeholder { visibility:visible !important; background:rgba(255,140,0,.08); border:1px dashed var(--tm-accent); }
.tm-sort-list.tm-touch-sorting { touch-action:none; }
.tm-sort-slot.tm-touch-dragging { opacity:.72; transform:scale(.985); box-shadow:0 10px 24px rgba(0,0,0,.25); }
.tm-sort-handle { color:var(--tm-muted); font-size:18px; touch-action:none; user-select:none; }
.tm-sort-pos { display:inline-flex; align-items:center; justify-content:center; min-width:26px; height:22px; border-radius:5px; background:var(--tm-input-bg); color:var(--tm-muted); font-weight:800; font-size:11px; padding:0 6px; }
.tm-sort-section { grid-column:1 / -1; list-style:none; margin:6px 0 2px; padding:4px 2px; font-size:12px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:var(--tm-accent); border-bottom:1px solid var(--tm-border); }
.tm-sort-section:first-child { margin-top:0; }

/* Register dialog (inside popupWindow) */
.tm-register-form { padding:8px 4px; color:#f4f6fa; }
.tm-register-form h3 { margin:0 0 10px; font-size:18px; color:#ffffff; }
.tm-register-form p  { margin:6px 0; font-size:13px; color:#e6eaf2; }
.tm-register-form p strong { color:#ffffff; }
.tm-register-form .tm-register-fine { font-size:12px; color:#b8c0cc; }
.tm-register-form .tm-actions { justify-content:flex-end; margin-top:14px; }

.tm-loading { display:inline-flex; align-items:center; gap:7px; color:var(--tm-muted); }
.tm-loading::before { content:''; width:14px; height:14px; border-radius:50%; border:2px solid var(--tm-border); border-top-color:var(--tm-accent); animation:tmSpin .8s linear infinite; }
@keyframes tmSpin { to { transform:rotate(360deg); } }

/* Shuffle Draw animation overlay */
.tm-shuffle-overlay { position:fixed; inset:0; z-index:60; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:26px; background:rgba(7, 12, 20, .82); backdrop-filter:blur(4px); opacity:0; animation:tmShuffleFade .2s ease forwards; }
.tm-shuffle-overlay.tm-shuffle-out { animation:tmShuffleFadeOut .28s ease forwards; }
.tm-shuffle-stage { position:relative; width:240px; height:150px; }
.tm-shuffle-card { position:absolute; top:50%; left:50%; width:58px; height:84px; margin:-42px 0 0 -29px; border-radius:11px; background:linear-gradient(150deg, var(--tm-green, #259b55), #1f7d44); border:1px solid rgba(255,255,255,.28); box-shadow:0 10px 26px rgba(0,0,0,.45); display:flex; align-items:center; justify-content:center; color:#fff; font-size:26px; will-change:transform; }
.tm-shuffle-card .material-symbols-outlined { font-size:26px; }
.tm-shuffle-card.c0 { animation:tmShuffleA 1.05s cubic-bezier(.5,.05,.3,1) infinite; }
.tm-shuffle-card.c1 { animation:tmShuffleB 1.05s cubic-bezier(.5,.05,.3,1) infinite; background:linear-gradient(150deg, #3a6df0, #2a4fd0); }
.tm-shuffle-card.c2 { animation:tmShuffleC 1.05s cubic-bezier(.5,.05,.3,1) infinite; background:linear-gradient(150deg, #e0a32e, #c4801c); }
.tm-shuffle-card.c3 { animation:tmShuffleD 1.05s cubic-bezier(.5,.05,.3,1) infinite; background:linear-gradient(150deg, #bf3d3d, #9e2a2a); }
.tm-shuffle-label { color:#fff; font-weight:800; font-size:17px; letter-spacing:.4px; display:flex; align-items:center; gap:10px; }
.tm-shuffle-label .material-symbols-outlined { animation:tmSpin 1s linear infinite; }
@keyframes tmShuffleFade { to { opacity:1; } }
@keyframes tmShuffleFadeOut { to { opacity:0; } }
@keyframes tmShuffleA { 0%,100%{ transform:translate(-78px,0) rotate(-10deg); z-index:4; } 50%{ transform:translate(78px,-8px) rotate(10deg); z-index:1; } }
@keyframes tmShuffleB { 0%,100%{ transform:translate(-26px,6px) rotate(6deg); z-index:3; } 50%{ transform:translate(26px,2px) rotate(-8deg); z-index:2; } }
@keyframes tmShuffleC { 0%,100%{ transform:translate(26px,-6px) rotate(-6deg); z-index:2; } 50%{ transform:translate(-26px,4px) rotate(8deg); z-index:3; } }
@keyframes tmShuffleD { 0%,100%{ transform:translate(78px,0) rotate(10deg); z-index:1; } 50%{ transform:translate(-78px,-8px) rotate(-10deg); z-index:4; } }
@media(prefers-reduced-motion: reduce) {
    .tm-shuffle-card { animation:none !important; }
    .tm-shuffle-label .material-symbols-outlined { animation:none !important; }
}

@media(max-width: 760px) {
    .tm-shell { padding:10px 6px 22px; }
    .tm-head { display:flex; justify-content:flex-end; align-items:center; gap:8px; margin:4px 0 14px; }
    .tm-head > .tm-actions { justify-content:flex-end; align-items:center; gap:4px; flex-wrap:nowrap; margin-top:0; min-width:0; }
    .tm-head > .tm-actions .tm-btn { min-height:28px; padding:0 6px; font-size:11px; gap:4px; white-space:nowrap; }
    .tm-head > .tm-actions .tm-btn .material-symbols-outlined { font-size:15px; }
    .tm-head > .tm-actions .tm-theme-toggle { min-width:0; padding:0 8px; }
    .tm-head > .tm-actions .tm-theme-toggle [data-tm-theme-label] { display:none; }
    .tm-panel-head, .tm-toolbar { display:block; }
    /* Give the tournament title's action buttons breathing room from the details text. */
    .tm-panel-head > .tm-actions { margin-top:16px; flex-wrap:wrap; }
    .tm-list { gap:20px !important; row-gap:20px !important; }
    /* Guarantee visible separation between tournament/league cards on mobile. */
    .tm-list > .tm-tournament-card { margin-bottom:14px !important; }
    .tm-list > .tm-tournament-card:last-child { margin-bottom:0 !important; }
    .tm-tournament-head-copy, .tm-public-hero-main { gap:10px; }
    .tm-tournament-logo-compact { width:88px; flex-basis:88px; }
    .tm-tournament-logo-compact img { width:88px; height:auto; }
    .tm-title { font-size:20px; }
    .tm-field, .tm-field-half, .tm-field-third { grid-column:span 12; }
    .tm-stat-row { grid-template-columns:repeat(2, minmax(0, 1fr)); }
    .tm-tournament-card { grid-template-columns:56px minmax(0, 1fr); }
    .tm-tournament-card .tm-actions { grid-column:1 / -1; margin-top:6px; justify-content:flex-end; }
    .tm-icon-tile { width:50px; height:50px; }
    .tm-player-row { grid-template-columns:28px minmax(0, 1fr); }
    .tm-player-actions { grid-column:1 / -1; justify-content:flex-start; padding-left:38px; }
    .tm-draw-switch-toolbar { display:flex; flex-direction:column; align-items:stretch; gap:12px; padding:10px 12px 12px; }
    .tm-draw-switch-toolbar .tm-view-tabs { width:100%; flex-wrap:wrap; }
    .tm-bracket-panel-head { align-items:flex-start; }
    .tm-tabs { justify-content:center; }
    .tm-sched-toolbar { display:flex; flex-direction:column; align-items:stretch; gap:12px; padding:12px 14px 14px; margin-bottom:16px; border:1px solid var(--tm-border); border-radius:10px; background:var(--tm-surface); }
    .tm-sched-toolbar .tm-panel-note { margin-top:0; }
    .tm-sched-toolbar-actions { width:100%; display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px; margin-left:0; }
    .tm-sched-toolbar-actions .tm-minimal-bye-toggle { width:100%; min-height:42px; padding:0 14px; font-size:12px; border-radius:12px; letter-spacing:0; text-transform:none; justify-content:center; font-weight:800; }
    .tm-sched-row { grid-template-columns:32px minmax(0, 1fr); gap:6px 7px; padding:8px 8px 9px; margin-bottom:7px; border-radius:12px; }
    .tm-sched-num { text-align:left; font-size:9px; padding-top:2px; }
    /* Keep both player names on a single row: each side shares the space and ellipsis-clips. */
    .tm-sched-players { font-size:12px; line-height:1.15; gap:4px 6px; flex-wrap:nowrap; }
    .tm-sched-players .tm-player-identity { flex:1 1 0; min-width:0; }
    .tm-sched-players .tm-side-score { flex:0 0 26px; width:26px; min-height:20px; padding:0 3px; font-size:10px; }
    .tm-sched-time-cell { grid-column:1 / -1; gap:7px; margin-top:3px; }
    .tm-sched-actions { grid-column:1 / -1; gap:8px; margin-top:1px; }
    /* Larger, more tappable scheduling controls on mobile. */
    .tm-sched-row .tm-input, .tm-sched-row .tm-select { min-height:44px; padding:10px 12px; font-size:16px; font-weight:600; border-radius:11px; }
    .tm-sched-actions .tm-select { font-size:16px; font-weight:600; }
    .tm-sched-time-cell .tm-input { flex:1 1 auto; font-weight:700; }
    .tm-sched-time-cell .tm-match-icon-btn, .tm-sched-time-cell .tm-sched-clock { width:42px; height:42px; border-radius:11px; flex:0 0 auto; }
    .tm-sched-time-cell .tm-match-icon-btn .material-symbols-outlined, .tm-sched-time-cell .tm-sched-clock .material-symbols-outlined { font-size:21px; }
    .tm-sched-actions .tm-select { flex:1 1 auto; min-width:0; }
    .tm-sched-row .tm-btn[data-tm-act="save-sched"] { width:auto; min-width:70px; height:44px; padding:0 18px; border-radius:11px; }
    .tm-sched-row .tm-btn[data-tm-act="save-sched"] .material-symbols-outlined { font-size:22px; }
    .tm-sort-list { grid-template-columns:1fr; }
}
@media(max-width: 560px) {
    /* Minimalist view: each match is one full-width row, so scale the text up with the
       viewport so it fills the screen with the largest readable font without overflowing.
       Names ellipsis-clip, so they never push the row wider than the screen. */
    .tm-match-list-panel.tm-minimal-list-panel { padding:9px 6px; }
    .tm-minimal-round-title-row { gap:6px; }
    .tm-minimal-bye-toggle { padding:2px 6px; font-size:9px; }
    .tm-bracket-panel-head { gap:8px; }
    .tm-sched-toolbar-actions { grid-template-columns:1fr; gap:12px; }
    .tm-sched-toolbar-actions .tm-minimal-bye-toggle { min-height:44px; padding:0 16px; font-size:12px; }
    .tm-match-list-row.tm-minimal-row { gap:0 4px; padding:4px 4px 3px; }
    .tm-minimal-player { font-size:clamp(10px, 2.8vw, 15px); line-height:1.2; }
    .tm-minimal-center { gap:5px; }
    .tm-minimal-time-cell { gap:3px; }
    .tm-minimal-score { font-size:clamp(13px, 3.9vw, 21px); min-width:auto; }
    .tm-minimal-match-no { font-size:clamp(10px, 2.7vw, 15px); }
}
@media print {
    @page { size:landscape; margin:10mm; }
    body.tm-printing-tournament * { visibility:hidden !important; }
    body.tm-printing-tournament #tmManager, body.tm-printing-tournament #tmManager * { visibility:visible !important; }
    body.tm-printing-tournament #tmManager { position:absolute !important; left:0 !important; top:0 !important; width:100% !important; color:#111 !important; background:#fff !important; }
    body.tm-printing-tournament .tm-head, body.tm-printing-tournament .tm-actions, body.tm-printing-tournament .tm-tabs, body.tm-printing-tournament .tm-toolbar, body.tm-printing-tournament .tm-match-tools, body.tm-printing-tournament button, body.tm-printing-tournament input, body.tm-printing-tournament select, body.tm-printing-tournament textarea { display:none !important; }
    body.tm-printing-tournament .tm-tab-page { display:block !important; }
    body.tm-printing-tournament .tm-tab-page:not([data-tm-page="draw"]) { display:none !important; }
    body.tm-printing-tournament .tm-panel, body.tm-printing-tournament .tm-bracket-panel, body.tm-printing-tournament .tm-match-list-panel, body.tm-printing-tournament .tm-bracket-match, body.tm-printing-tournament .tm-match-list-row, body.tm-printing-tournament .tm-rr-match { background:#fff !important; color:#111 !important; border-color:#bbb !important; box-shadow:none !important; animation:none !important; break-inside:avoid; }
    body.tm-printing-tournament .tm-bracket-panel { overflow:visible !important; padding:0 !important; }
    body.tm-printing-tournament .tm-bracket-side, body.tm-printing-tournament .tm-match-list-side { background:#f5f5f5 !important; color:#111 !important; }
    body.tm-printing-tournament .tm-player-link, body.tm-printing-tournament .tm-player-name-inline, body.tm-printing-tournament .tm-bracket-title, body.tm-printing-tournament .tm-match-list-title { color:#111 !important; }
    body.tm-printing-tournament .tm-player-flag, body.tm-printing-tournament .tm-player-avatar { print-color-adjust:exact; -webkit-print-color-adjust:exact; }
}
/* Larger fonts for Minimalistic View on desktop screens */
@media (min-width: 1024px) {
    .tm-match-list-panel.tm-minimal-list-panel { padding:12px 16px; }
    .tm-match-list-panel.tm-minimal-list-panel .tm-match-list-title { font-size:16px; }
    .tm-match-list-panel.tm-minimal-list-panel .tm-match-list-round-title { font-size:12px; }
    .tm-minimal-player { font-size:14px; }
    .tm-minimal-score { font-size:14px; min-width:44px; }
    .tm-minimal-match-no { font-size:12px; }
    .tm-score-pill { font-size:12px; }
}

/* ---------------------------------------------------------------------------
   Adaptive TV Board fullscreen layout (JS-driven).
   tmTvFitFullscreen() picks the column count (--tm-tv-cols) and a font scale
   (--tm-tv-scale) so a few live matches become large readable boxes while many
   shrink to fit on a single screen. Rules below win on source order over the
   earlier fixed 3-column fullscreen styles (equal specificity).
   --------------------------------------------------------------------------- */
.tm-manager .tm-tv-board:fullscreen.tm-tv-fit .tm-tv-grid { grid-auto-rows:1fr; align-content:stretch; }
.tm-manager .tm-tv-board:fullscreen.tm-tv-fit .tm-tv-section.tm-tv-now { display:flex; flex-direction:column; min-height:0; }
.tm-manager .tm-tv-board:fullscreen.tm-tv-fit .tm-tv-next-list { overflow-y:auto; min-height:0; }
.tm-manager .tm-tv-board:fullscreen.tm-tv-fit .tm-tv-now-grid {
    flex:1 1 auto;
    min-height:0;
    grid-template-columns:repeat(var(--tm-tv-cols, 2), minmax(0, 1fr));
    grid-auto-rows:1fr;
    align-content:stretch;
    gap:calc(10px * var(--tm-tv-scale, 1));
}
.tm-manager .tm-tv-board:fullscreen.tm-tv-fit .tm-tv-now-card {
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:0;
    overflow:hidden;
    padding:calc(8px * var(--tm-tv-scale, 1)) calc(11px * var(--tm-tv-scale, 1));
    border-radius:calc(10px * var(--tm-tv-scale, 1));
}
.tm-manager .tm-tv-board:fullscreen.tm-tv-fit .tm-tv-now-top { margin-bottom:calc(5px * var(--tm-tv-scale, 1)); }
.tm-manager .tm-tv-board:fullscreen.tm-tv-fit .tm-tv-now-match { font-size:calc(13px * var(--tm-tv-scale, 1)); }
.tm-manager .tm-tv-board:fullscreen.tm-tv-fit .tm-tv-live-chip { font-size:calc(9px * var(--tm-tv-scale, 1)); padding:calc(2px * var(--tm-tv-scale, 1)) calc(7px * var(--tm-tv-scale, 1)); }
.tm-manager .tm-tv-board:fullscreen.tm-tv-fit .tm-tv-now-side { gap:calc(8px * var(--tm-tv-scale, 1)); padding:calc(4px * var(--tm-tv-scale, 1)) 0; }
.tm-manager .tm-tv-board:fullscreen.tm-tv-fit .tm-tv-name { font-size:calc(18px * var(--tm-tv-scale, 1)); line-height:1.08; }
.tm-manager .tm-tv-board:fullscreen.tm-tv-fit .tm-tv-score {
    font-size:calc(22px * var(--tm-tv-scale, 1));
    min-width:calc(34px * var(--tm-tv-scale, 1));
    padding:calc(2px * var(--tm-tv-scale, 1)) calc(8px * var(--tm-tv-scale, 1));
    border-radius:calc(7px * var(--tm-tv-scale, 1));
}
.tm-manager .tm-tv-board:fullscreen.tm-tv-fit .tm-tv-side-scores { gap:calc(5px * var(--tm-tv-scale, 1)); }
.tm-manager .tm-tv-board:fullscreen.tm-tv-fit .tm-tv-side-scores .tm-side-points { font-size:calc(9px * var(--tm-tv-scale, 1)); }
.tm-manager .tm-tv-board:fullscreen.tm-tv-fit .tm-tv-now-stage { margin-top:calc(5px * var(--tm-tv-scale, 1)); font-size:calc(9px * var(--tm-tv-scale, 1)); }

/* ---------------------------------------------------------------------------
   Larger, easier-to-read text for the Tournament Manager on phones.
   Name/title elements clip with ellipsis (white-space:nowrap) so a bigger font
   never widens a row into a second line; fixed-size pills are widened in step
   so the larger digits never overflow or overlap. Appended last so these win
   on source order over the earlier mobile rules of equal specificity.
   --------------------------------------------------------------------------- */
@media (max-width: 760px) {
    .tm-tab { font-size:14px; min-height:42px; padding:0 11px; gap:5px; }
    .tm-tab .material-symbols-outlined { font-size:19px; }
    .tm-title { font-size:21px; }
    .tm-panel-title { font-size:18px; }
    .tm-panel-note { font-size:13.5px; }
    .tm-stat-value { font-size:22px; }
    .tm-stat-label { font-size:12.5px; }
    .tm-player-number { font-size:13px; }
    .tm-player-name, .tm-player-link, .tm-player-name-inline { font-size:15px; }
    .tm-player-meta { font-size:12.5px; }
    .tm-badge { font-size:11px; }
    .tm-field label, .tm-field > span { font-size:12.5px; }
    .tm-input, .tm-select, .tm-textarea { font-size:16px; }
    .tm-group-title { font-size:15px; }
    .tm-group-count { font-size:19px; }
    .tm-public-meta { font-size:12.5px; }
    /* Schedule rows are dense; keep them compact but a notch more legible. */
    .tm-sched-num { font-size:11px; }
    .tm-sched-players { font-size:13px; }
    .tm-sched-players .tm-side-score { flex:0 0 30px; width:30px; min-height:22px; font-size:12px; }
    .tm-sched-row .tm-input, .tm-sched-row .tm-select { min-height:30px; font-size:13px; }
}
@media (max-width: 560px) {
    /* Minimalist match rows scale with the viewport (clamp); lift the floor and
       ceiling a little so small phones still get readable names and scores. */
    .tm-minimal-player { font-size:clamp(12px, 3.2vw, 16px); }
    .tm-minimal-score { font-size:clamp(15px, 4.3vw, 22px); }
    .tm-minimal-match-no { font-size:clamp(11px, 3vw, 15px); }
}
