:root {
  color-scheme: dark;
  --ink: #f4f8ff;
  --muted: #a9bbd0;
  --navy: #061426;
  --panel: #0a203a;
  --panel-2: #0d2949;
  --line: #294a6c;
  --yellow: #ffd23f;
  --green: #34d399;
  --red: #ff6678;
  --blue: #5ab3ff;
  --shadow: 0 18px 50px rgba(0,0,0,.28);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { min-height: 100%; background: var(--navy); }
body { margin: 0; min-height: 100vh; color: var(--ink); background: radial-gradient(circle at 85% -10%, #174a75 0, transparent 34rem), var(--navy); }
button, input, select, textarea { font: inherit; }
a { color: var(--yellow); }
.skip-link { position: fixed; top: .5rem; left: .5rem; z-index: 1000; min-height: 48px; padding: .75rem 1rem; border-radius: .6rem; background: var(--yellow); color: #071321; font-weight: 900; transform: translateY(-160%); transition: transform .15s ease; }
.skip-link:focus { transform: translateY(0); outline: 3px solid #fff; outline-offset: 2px; }
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.local-banner { position: sticky; top: 0; z-index: 100; display: flex; justify-content: center; gap: .6rem; padding: .55rem 1rem; background: repeating-linear-gradient(135deg,#ffd23f 0,#ffd23f 12px,#f0b800 12px,#f0b800 24px); color: #071321; font-weight: 950; letter-spacing: .06em; text-align: center; box-shadow: 0 2px 18px #0008; }
.local-banner:not([data-banner-ready]) { display: none; }
.local-banner[hidden] { display: none !important; }
.app-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; width: min(1500px, 100% - 2rem); margin: 0 auto; padding: 1rem 0; }
.brand { display: flex; align-items: center; gap: .75rem; color: var(--ink); text-decoration: none; font-weight: 900; }
.brand-logo { width: 48px; height: 48px; object-fit: contain; filter: drop-shadow(0 4px 12px #0008); }
.top-nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .45rem; }
.top-nav a { display: inline-flex; align-items: center; min-height: 48px; padding: .65rem .8rem; border: 1px solid var(--line); border-radius: .65rem; color: var(--ink); text-decoration: none; font-weight: 750; background: #06182be8; }
.top-nav a:hover, .top-nav a[aria-current="page"] { border-color: var(--yellow); color: var(--yellow); }
.layout { width: min(1500px, 100% - 2rem); margin: 0 auto 4rem; }
.hero { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 1.5rem; padding: clamp(1.4rem,4vw,3rem); border: 1px solid var(--line); border-radius: 1.2rem; background: linear-gradient(135deg,#0b2b4fdd,#081a2fe8); box-shadow: var(--shadow); }
.live-hero { position: relative; min-height: 430px; grid-template-columns: minmax(0,1fr) minmax(320px,430px); align-items: stretch; gap: 0; padding: 0; overflow: hidden; border-bottom: 4px solid var(--red); border-radius: 1.2rem .2rem 1.2rem .2rem; background: linear-gradient(90deg,rgba(2,8,15,.97) 0%,rgba(2,8,15,.86) 43%,rgba(2,8,15,.32) 75%,rgba(2,8,15,.76) 100%),url("../../assets/hero-darts-club-optimized.jpg") center 46%/cover; }
.live-hero__content { align-self: end; padding: clamp(2rem,6vw,5.2rem) clamp(1.4rem,4.5vw,4.5rem) clamp(2rem,4vw,3.4rem); }
.live-hero h1 { max-width: 900px; font-family: "Arial Narrow",Impact,Haettenschweiler,sans-serif; font-size: clamp(3rem,7vw,6rem); text-transform: none; }
.live-hero .lead { color: #d1dce7; }
.live-meta { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.2rem 0 2rem; }
.live-meta span { padding: .45rem .65rem; border: 1px solid #ffffff42; border-radius: .35rem; background: #050d17a8; color: #e6edf5; font-size: .78rem; font-weight: 850; text-transform: uppercase; }
.live-progress { max-width: 680px; }
.live-progress > div { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: .55rem; }
.live-progress__track { display: block; height: 9px; overflow: hidden; border-radius: 999px; background: #ffffff2b; }
.live-progress__track > span { display: block; height: 100%; border-radius: inherit; background: var(--yellow); transition: width .3s ease; }
.live-hero__status { position: relative; display: grid; grid-template-rows: repeat(3,1fr); border-left: 1px solid #ffffff2b; background: #050b13bf; backdrop-filter: blur(11px); }
.live-hero__status > div { display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto; align-content: center; gap: .15rem 1rem; padding: 1.4rem 2.5rem; border-bottom: 1px solid #ffffff21; }
.live-hero__status > div > span { align-self: end; color: var(--muted); font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.live-hero__status > div > strong { grid-column: 2; grid-row: 1 / 3; align-self: center; font-family: "Arial Narrow",Impact,sans-serif; font-size: clamp(2.6rem,5vw,4.4rem); }
.live-hero__status > div > small { color: var(--yellow); font-weight: 850; }
.live-hero__status > .status-pill { position: absolute; top: 1rem; right: 1rem; transform: scale(.88); transform-origin: top right; }
.eyebrow { margin: 0 0 .45rem; color: var(--yellow); font-size: .78rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
h1,h2,h3,p { margin-top: 0; }
h1 { margin-bottom: .5rem; font-size: clamp(2rem,5vw,4.2rem); line-height: .95; letter-spacing: -.045em; }
h2 { font-size: clamp(1.25rem,2vw,1.7rem); }
.lead { max-width: 68ch; color: var(--muted); font-size: 1.05rem; line-height: 1.6; }
.status-pill { display: inline-flex; align-items: center; gap: .45rem; padding: .55rem .8rem; border-radius: 999px; background: #071728; border: 1px solid var(--line); font-weight: 850; }
.status-pill::before { content: ""; width: .7rem; height: .7rem; border-radius: 50%; background: var(--muted); }
.status-pill[data-status="online"]::before, .status-pill[data-status="running"]::before { background: var(--green); box-shadow: 0 0 18px var(--green); }
.status-pill[data-status="registration"]::before { background: var(--yellow); box-shadow: 0 0 18px var(--yellow); }
.status-pill[data-status="offline"]::before, .status-pill[data-status="stale"]::before { background: var(--red); }
.grid { display: grid; gap: 1rem; margin-top: 1rem; }
.grid.two { grid-template-columns: repeat(2,minmax(0,1fr)); }
.grid.three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.grid.four { grid-template-columns: repeat(4,minmax(0,1fr)); }
.card { min-width: 0; padding: 1.15rem; border: 1px solid var(--line); border-radius: 1rem; background: linear-gradient(150deg,var(--panel),#071a30); box-shadow: var(--shadow); }
.card h2, .card h3 { margin-bottom: .8rem; }
.card.accent { border-color: #8f7a22; }
.metric { font-size: clamp(2rem,5vw,3.6rem); font-weight: 950; line-height: 1; }
.muted { color: var(--muted); }
.section-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .75rem; }
.form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; }
.form-grid .wide { grid-column: 1 / -1; }
.donation-choice { display:grid; gap:10px; margin:4px 0 0; padding:14px; border:1px solid var(--line); border-radius:14px; }
.donation-choice legend { padding:0 6px; color:var(--yellow); font-weight:850; }
.radio-row { display:flex!important; align-items:center; gap:8px; margin:0!important; font-weight:700; }
.radio-row input { inline-size:18px; block-size:18px; margin:0; }
.checkbox-row { display:flex; align-items:flex-start; gap:.55rem; line-height:1.38; }
.checkbox-row input[type="checkbox"] { flex:0 0 auto; inline-size:1rem; block-size:1rem; min-height:0; width:1rem; height:1rem; margin:.18rem 0 0; padding:0; accent-color:var(--yellow); }
.donation-choice .muted { margin:0; color:var(--muted); }
.online-donor-fields { display:grid; gap:.75rem; margin:.9rem 0 0; padding:.9rem; border:1px solid #496886; border-radius:.75rem; background:#071a2d; }
.online-donor-fields[hidden] { display:none; }
.online-donor-fields legend { padding:0 .35rem; color:var(--ink); font-weight:850; }
.online-donor-fields .form-note { margin:0; }
.marker-device-label { margin:.15rem 0 0; }
.marker-device-label summary { color:var(--muted); font-size:.92rem; }
.marker-device-label summary span { color:var(--muted); font-weight:400; }
.marker-device-label[open] > label { display:grid; gap:.35rem; margin-top:.75rem; }
.marker-auto-tournament { display:none; }
details { margin: .8rem 0; border: 1px solid var(--line); border-radius: .75rem; padding: .7rem; background: rgba(4,18,34,.42); }
details > summary { cursor: pointer; font-weight: 800; color: var(--yellow); }
details[open] > summary { margin-bottom: .75rem; }
.candidate-toolbar { display: grid; grid-template-columns: minmax(0,1fr) minmax(150px,.35fr); gap: .7rem; }
.candidate-list { display: grid; gap: .45rem; max-height: 22rem; overflow: auto; margin: .7rem 0; padding-right: .25rem; }
.candidate-row { display: flex; align-items: flex-start; gap: .65rem; margin: 0; padding: .65rem; border: 1px solid var(--line); border-radius: .65rem; background: #071a30; cursor: pointer; }
.candidate-row.online { border-color: rgba(244,196,48,.75); background: rgba(244,196,48,.08); }
.candidate-row.invalid { border-color: rgba(255,102,120,.85); background: rgba(255,102,120,.08); cursor: not-allowed; }
.candidate-row.invalid input { cursor: not-allowed; }
.candidate-row input { width: 1.25rem; height: 1.25rem; margin-top: .15rem; }
.candidate-row span { display: block; min-width: 0; }
.candidate-row small { display: block; margin-top: .2rem; color: var(--muted); }
.source-badge { display: inline-block!important; margin-left: .35rem; padding: .15rem .4rem; border-radius: 999px; background: var(--yellow); color: #071426; font-size: .65rem; font-weight: 900; }
.source-badge.secondary { background: #294966; color: #dcecff; }
.source-badge.warning { background: var(--red); color: #25060b; }
.candidate-warning { color: #ffc4cc !important; font-weight: 800; }
label { display: grid; gap: .35rem; color: #d9e6f5; font-size: .88rem; font-weight: 750; }
input, select, textarea { width: 100%; min-height: 48px; border: 1px solid #3b5b7c; border-radius: .65rem; background: #041425; color: var(--ink); padding: .7rem .8rem; }
textarea { min-height: 88px; resize: vertical; }
input:focus, select:focus, textarea:focus, button:focus-visible, a:focus-visible { outline: 3px solid #ffd23f88; outline-offset: 2px; }
.button-row { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: .85rem; }
button, .button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; border: 1px solid var(--yellow); border-radius: .65rem; background: var(--yellow); color: #071321; padding: .65rem .9rem; font-weight: 900; text-decoration: none; cursor: pointer; }
button:hover, .button:hover { filter: brightness(1.08); }
button.secondary, .button.secondary { background: #0b2745; color: var(--ink); border-color: #4d7093; }
button.danger { background: #451727; color: #ffdce1; border-color: var(--red); }
.donation-presets,.inline-actions { display:flex; flex-wrap:wrap; gap:.55rem; align-items:center; }
.donation-presets .radio-row { margin:0; }
button:disabled { opacity: .45; cursor: not-allowed; }
.table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: .8rem; }
table { width: 100%; border-collapse: collapse; min-width: 620px; }
th,td { padding: .7rem .75rem; border-bottom: 1px solid #24415e; text-align: left; vertical-align: middle; }
th { position: sticky; top: 0; background: #0c2948; color: #d9e9fb; font-size: .76rem; text-transform: uppercase; letter-spacing: .06em; }
tr:last-child td { border-bottom: 0; }
.notice { margin: .8rem 0; padding: .8rem 1rem; border-left: 4px solid var(--blue); border-radius: .25rem .7rem .7rem .25rem; background: #112f4c; color: #d9ecff; }
.notice.error { border-color: var(--red); background: #3c1822; color: #ffd9df; }
.notice.success { border-color: var(--green); background: #12382d; color: #d8fff1; }
.notice.warning { border-color: var(--yellow); background: #3d310d; color: #fff3bd; }
.hidden { display: none !important; }
.tabs { display: flex; gap: .45rem; overflow-x: auto; padding: .5rem 0 1rem; }
.tabs button { white-space: nowrap; background: #0a203a; color: var(--ink); border-color: var(--line); }
.tabs button.active { color: #071321; background: var(--yellow); border-color: var(--yellow); }
.tab-panel:not(.active) { display: none; }
.board-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(260px,1fr)); gap: .8rem; }
.board { border: 1px solid var(--line); border-radius: .9rem; background: #071a2f; padding: 1rem; }
.board.busy { border-color: var(--green); }
.board.paused { border-color: var(--red); opacity: .75; }
.board-number { color: var(--yellow); font-size: 1.45rem; font-weight: 950; }
.matchup { display: grid; gap: .45rem; margin: .75rem 0; font-size: 1.05rem; font-weight: 850; }
.scoreline { display: flex; align-items: center; justify-content: space-between; gap: .8rem; padding: .65rem .8rem; border-radius: .65rem; background: #0c2a49; }
.scoreline.throwing { border-left: 5px solid var(--yellow); }
.remaining { font-size: clamp(2.1rem,8vw,4.8rem); font-variant-numeric: tabular-nums; font-weight: 950; }
.marker-shell { min-height: calc(100vh - 42px); display: grid; grid-template-rows: auto auto minmax(0,1fr); }
.marker-main { width: min(1050px,100%); margin: 0 auto; padding: .7rem; display: grid; grid-template-columns: minmax(0,1.1fr) minmax(290px,.9fr); gap: .7rem; }
.available-matches { display: grid; gap: .55rem; }
.available-match { display: flex; align-items: center; justify-content: space-between; gap: .7rem; padding: .7rem; border: 1px solid var(--line); border-radius: .7rem; background: #071a30; }
.available-match small { display: block; margin-top: .2rem; color: var(--muted); }
.available-match .lease-owner { color: #ffd86b; }
.marker-dialog { width: min(34rem,calc(100% - 1rem)); color: var(--ink); background: var(--panel); border-color: var(--line); }
.marker-dialog::backdrop { background: rgba(1,8,16,.78); }
.bull-dialog{max-width:min(34rem,calc(100% - 1rem));border-color:#d6a51c;box-shadow:0 24px 80px #000c,0 0 0 1px #ffd23f55}
.bull-dialog .notice{margin-block:.8rem 1rem;border-color:#725919;background:#221e0d;color:#fff4bc}
.bull-choices{grid-template-columns:repeat(2,minmax(0,1fr))}
.bull-choice{min-height:5.8rem;text-align:center}
.bull-choice strong{font-size:clamp(1.05rem,4vw,1.45rem)}
.bull-choice small{color:#d8ecff}
.keypad { display: grid; grid-template-columns: repeat(3,1fr); gap: .45rem; }
.keypad button { min-height: clamp(58px,9vh,92px); font-size: clamp(1.35rem,4vw,2rem); }
.keypad .marker-enter-key { border-color: #ffe784; background: var(--yellow); color: #061426; font-size: clamp(.78rem, 2.4vw, 1.15rem); font-weight: 950; line-height: 1.05; box-shadow: inset 0 0 0 3px #8d6c00, 0 0 0 2px #ffd23f55; }
.keypad .wide { grid-column: span 2; }
.score-input { min-height: 72px; text-align: center; font-size: 2.5rem; font-weight: 950; }
.quick-scores { display: grid; grid-template-columns: repeat(4,1fr); gap: .4rem; margin-bottom: .45rem; }
.quick-scores button { min-height: 48px; background: #123454; color: var(--ink); border-color: #416787; }
.quick-scores button:last-child { background: #7f1d1d; border-color: var(--red); color: white; }
.connection { display: inline-flex; align-items: center; gap: .35rem; color: var(--muted); font-size: .85rem; }
.connection::before { content:""; width:.55rem; height:.55rem; border-radius:50%; background:var(--red); }
.connection.online::before { background:var(--green); }
.connection.syncing::before { background:var(--yellow); box-shadow:0 0 0 .22rem #ffd23f22; animation:connection-pulse 1s ease-in-out infinite; }
.connection.conflict { color:#ffd6dc; font-weight:850; }
.connection.conflict::before { background:var(--red); box-shadow:0 0 0 .22rem #ff5d7328; }
@keyframes connection-pulse { 50% { opacity:.45; transform:scale(.8); } }
.bracket-tools { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin: -.25rem 0 .75rem; }
.bracket-tools label { width: min(24rem,100%); }
.bracket { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(265px,1fr); gap: 2.2rem; align-items: stretch; overflow-x: auto; padding: .6rem .8rem 1.4rem; scroll-snap-type: x proximity; }
.bracket-round { position: relative; display: grid; align-content: space-around; gap: .8rem; min-height: 25rem; scroll-snap-align: start; }
.bracket-round__head { align-self: start; display: flex; align-items: end; justify-content: space-between; gap: .8rem; min-height: 75px; }
.bracket-round__head p { margin: 0 0 .2rem; color: var(--green); font-size: .68rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.bracket-round__head h3 { margin: 0; text-transform: uppercase; letter-spacing: .06em; }
.bracket-round__head small { color: var(--muted); }
.bracket-round__head > span { color: var(--muted); font-variant-numeric: tabular-nums; }
.round-progress { height: 4px; overflow: hidden; border-radius: 999px; background: #ffffff12; }
.round-progress span { display: block; height: 100%; background: var(--green); }
.bracket-match { position: relative; z-index: 1; display: grid; gap: 0; min-height: 106px; padding: 0; overflow: visible; border: 1px solid var(--line); border-left: 3px solid var(--blue); border-radius: .7rem; background: #071a30; color: var(--ink); text-align: left; box-shadow: 0 9px 25px #0005; transition: opacity .2s,transform .2s,border-color .2s; }
.bracket-match::after { content:""; position: absolute; top: 50%; left: 100%; width: 2.25rem; border-top: 1px solid #55718d66; pointer-events: none; }
.bracket-round:last-child .bracket-match::after { display: none; }
.bracket-match:hover { transform: translateY(-2px); border-color: var(--yellow); }
.bracket-match.dimmed { opacity: .18; }
.bracket-match.status-running,.bracket-match.status-called { border-color: var(--red); box-shadow: 0 0 24px #ff667833; }
.bracket-match.status-completed { border-left-color: var(--green); }
.bracket-match.status-walkover,.bracket-match.status-bye { border-left-color: var(--yellow); }
.bracket-match__top { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: .4rem; padding: .42rem .55rem; border-bottom: 1px solid var(--line); color: var(--muted); font-size: .72rem; }
.bracket-match__top > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bracket-match__top strong { color: var(--yellow); }
.bracket-match__top em { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-style: normal; font-weight: 850; text-transform: uppercase; }
.bracket-player { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: .55rem; padding: .48rem .6rem; }
.bracket-player + .bracket-player { border-top: 1px solid #294a6c99; }
.bracket-player > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bracket-player b { font-size: 1.05rem; font-variant-numeric: tabular-nums; }
.bracket-player.winner { color: #d9fff1; font-weight: 900; background: #1d6c4a3d; }
.bracket-group { align-content: start; }
.live-remaining { margin-bottom: 0; color: var(--yellow); font-size: 1.8rem; font-weight: 950; text-align: center; }
.result-row { width: 100%; border-color: transparent; color: var(--ink); }
.match-result { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; padding: .8rem 1rem; border-left: 4px solid var(--green); border-radius: .4rem; background: #0c2a49; }
.match-result strong { color: var(--yellow); font-size: 2rem; }
.player-stat { box-shadow: none; }
.stage { overflow: hidden; }
.stage .layout { width: calc(100% - 2vw); margin-bottom: 0; }
.stage h1 { font-size: clamp(2rem,5vw,5rem); }
.stage .board-grid { grid-template-columns: repeat(auto-fit,minmax(310px,1fr)); }
.stage .board { min-height: 180px; }
.last-call { padding: 1.1rem 1.5rem; border: 2px solid var(--yellow); background: #312908; color: #fff6c9; font-size: clamp(1.2rem,3vw,2.6rem); font-weight: 950; text-align: center; }
.obs-body { background: transparent; overflow: hidden; }
.obs-card { display: inline-grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: .9rem; min-width: 760px; padding: .7rem 1rem; border-radius: .8rem; background: #061426ed; border: 2px solid var(--yellow); box-shadow: 0 10px 35px #000b; }
.obs-card .name { font-size: 1.6rem; font-weight: 950; }
.obs-card .score { color: var(--yellow); font-size: 2.3rem; font-weight: 950; }
.footer { width: min(1500px,100% - 2rem); margin: 2rem auto; color: var(--muted); text-align: center; }
@media (max-width: 900px) {
  .grid.three,.grid.four { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .marker-main { grid-template-columns: 1fr; }
  .available-match { align-items: stretch; flex-direction: column; }
  .app-header { align-items: flex-start; }
  .top-nav { display: none; }
  .live-hero { min-height: 390px; grid-template-columns: 1fr minmax(235px,35%); }
  .live-hero__status > div { padding: 1rem 1.25rem; }
}
@media (max-width: 640px) {
  .layout,.app-header { width: min(100% - 1rem,1500px); }
  .hero { grid-template-columns: 1fr; padding: 1.2rem; }
  .grid.two,.grid.three,.grid.four,.form-grid,.candidate-toolbar { grid-template-columns: 1fr; }
  .quick-scores { grid-template-columns: repeat(2,1fr); }
  .card { padding: .85rem; }
  .local-banner { font-size: .72rem; }
  .live-hero { grid-template-columns: 1fr; min-height: 0; }
  .live-hero__content { min-height: 390px; padding: 5rem 1.2rem 1.5rem; }
  .live-hero__status { grid-template-columns: repeat(3,1fr); grid-template-rows: 1fr; border-top: 1px solid #ffffff2b; border-left: 0; }
  .live-hero__status > div { display: flex; flex-direction: column; align-items: flex-start; padding: .8rem; border-right: 1px solid #ffffff21; border-bottom: 0; }
  .live-hero__status > div > strong { font-size: 2.3rem; }
  .live-hero__status > .status-pill { top: -3.5rem; }
  .bracket-viewport .bracket-list{grid-template-columns:minmax(0,1fr);width:100%!important;min-width:0!important;max-width:100%}.bracket-list .round-list{grid-template-columns:minmax(0,1fr);width:100%;min-width:0}.bracket-list .bracket-match{width:100%;min-width:0;max-width:100%}
  .bracket-tools { align-items: stretch; flex-direction: column; }
  .bracket { grid-auto-columns: minmax(245px,85vw); }
}
/* Revision 2: wspólny język wizualny operacyjnej części rozgrywek. */
.public-header { min-height: 72px; border-bottom: 1px solid #ffffff12; }
.public-header .brand > span { display: grid; line-height: 1.05; }
.public-header .brand small { margin-top: .24rem; color: var(--muted); font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; }
.nav-toggle { display: none; }
.public-layout { display: grid; gap: 1.15rem; }
.public-tournament .live-hero { display: grid; min-height: 360px; }
.public-tournament .live-hero__content { padding-top: 3.2rem; padding-bottom: 2.4rem; }
.public-tournament .live-hero h1 { max-width: 760px; font-size: clamp(2.9rem,6.3vw,5.5rem); }
.test-data-badge { border-color: #ffbd4a !important; background: #512d06 !important; color: #ffe8b0 !important; }
.metric-strip { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); overflow: hidden; border: 1px solid var(--line); border-radius: .85rem; background: #07192d; }
.metric-strip article { display: grid; grid-template-columns: auto 1fr; align-items: baseline; gap: .55rem; padding: .95rem 1.2rem; border-right: 1px solid var(--line); }
.metric-strip article:last-child { border: 0; }
.metric-strip strong { color: var(--yellow); font-size: clamp(1.55rem,3vw,2.4rem); font-variant-numeric: tabular-nums; }
.metric-strip span { color: var(--muted); font-size: .78rem; font-weight: 800; text-transform: uppercase; }
.live-overview { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(285px,.65fr); gap: 1rem; }
.live-panel,.bracket-section,.public-results>article,.public-results>.public-result-panel,.standings-section { min-width: 0; padding: 1.25rem; border: 1px solid var(--line); border-radius: .9rem; background: linear-gradient(145deg,#0a203a,#07182a); box-shadow: var(--shadow); }
.live-board-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(300px,1fr)); gap: .75rem; }
.live-board-card { display: grid; width: 100%; min-height: 188px; padding: 0; overflow: hidden; border-color: #345d83; border-radius: .72rem; background: #071728; color: var(--ink); text-align: left; }
.live-board-card:hover { border-color: var(--yellow); filter: none; transform: translateY(-1px); }
.live-board-card__top { display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: .65rem; min-height: 45px; padding: .45rem .7rem; border-bottom: 1px solid #315273; background: #0d2947; }
.live-board-card__top b { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 50%; background: var(--yellow); color: #071321; font-size: 1rem; }
.live-board-card__top span { overflow: hidden; color: #c8d9eb; font-size: .74rem; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
.live-board-card__top em { color: var(--green); font-size: .7rem; font-style: normal; font-weight: 900; text-transform: uppercase; }
.live-board-card__columns,.live-board-player { display: grid; grid-template-columns: minmax(0,1fr) 48px 68px; align-items: center; gap: .45rem; }
.live-board-card__columns { padding: .35rem .72rem; color: var(--muted); font-size: .64rem; font-weight: 850; text-transform: uppercase; }
.live-board-card__columns small:not(:first-child) { text-align: center; }
.live-board-player { position: relative; padding: .48rem .72rem; border-top: 1px solid #203c59; }
.live-board-player.throwing::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--yellow); }
.live-board-player strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.live-board-player strong small { margin-left: .35rem; color: #91a9bf; font-size: .68rem; font-variant-numeric: tabular-nums; }
.live-board-player b,.live-board-player em { text-align: center; font-variant-numeric: tabular-nums; }
.live-board-player em { color: var(--yellow); font-size: 1.45rem; font-style: normal; font-weight: 950; }
.live-board-card__footer { padding: .5rem .72rem; border-top: 1px solid #203c59; color: var(--muted); font-size: .69rem; }
.queue-panel { background: linear-gradient(160deg,#102743,#071728); }
.counter { display: grid; place-items: center; min-width: 2.2rem; height: 2.2rem; border-radius: 50%; background: var(--yellow); color: #071321; font-weight: 950; }
.queue-row { display: grid; grid-template-columns: 2rem minmax(0,1fr); align-items: center; gap: .6rem; padding: .7rem 0; border-bottom: 1px solid #294a6c; }
.queue-row:last-child { border: 0; }
.queue-row>b { display: grid; place-items: center; height: 2rem; border: 1px solid #43698d; border-radius: .4rem; color: var(--yellow); }
.queue-row span { min-width: 0; }
.queue-row strong,.queue-row small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.queue-row small { margin-top: .18rem; color: var(--muted); }
.empty-state { display: grid; place-items: center; gap: .35rem; min-height: 150px; padding: 1rem; border: 1px dashed #416482; border-radius: .65rem; color: var(--muted); text-align: center; }
.empty-state.compact { min-height: 82px; }
.bracket-section { padding: 0; overflow: hidden; }
.bracket-section__head { display: flex; align-items: end; justify-content: space-between; gap: 1rem; padding: 1.25rem 1.25rem .2rem; }
.bracket-section__head h2 { margin-bottom: .35rem; }
.bracket-section__head .tabs { max-width: 62%; }
.bracket-toolbar { display: grid; grid-template-columns: minmax(240px,1fr) auto auto; align-items: end; gap: .75rem; padding: .75rem 1.25rem; border-top: 1px solid #1f3b56; border-bottom: 1px solid #1f3b56; background: #071728; }
.bracket-search { max-width: 28rem; }
.segmented,.zoom-controls { display: flex; gap: .35rem; }
.segmented button,.zoom-controls button { min-width: 48px; min-height: 48px; padding: .45rem .7rem; background: #0a203a; color: var(--ink); border-color: #3e6181; }
.segmented button.active { background: var(--yellow); color: #071321; border-color: var(--yellow); }
.bracket-legend { display: flex; flex-wrap: wrap; gap: 1.2rem; padding: .55rem 1.25rem; color: #d3e0ed; font-size: .72rem; }
.bracket-legend span { display: inline-flex; align-items: center; gap: .4rem; }
.bracket-legend i { display: inline-block; width: 2rem; border-top: 3px solid var(--green); }
.bracket-legend i.loser-line { border-color: var(--red); border-top-style: dashed; }
.bracket-viewport { position: relative; height: clamp(470px,72vh,850px); max-width: 100%; overflow: auto; overscroll-behavior: contain; background: radial-gradient(circle at 20% 0,#0e2b49 0,transparent 28rem),#041220; scrollbar-color: #54789a #061426; }
.bracket-viewport:focus-visible { outline-offset: -4px; }
.bracket-viewport .bracket { display: block; width: max-content; min-width: 100%; padding: 0; overflow: visible; }
.bracket-surface { position: relative; transform-origin: top left; }
.bracket-canvas { position: absolute; inset: 0 auto auto 0; transform-origin: top left; }
.bracket-canvas>svg { position: absolute; inset: 0; z-index: 0; overflow: visible; }
.bracket-grid { position: relative; z-index: 1; display: grid; gap: 0 40px; padding: 10px 16px; }
.bracket-round-head { display: grid; grid-template-columns: 1fr auto; align-content: center; min-width: 0; padding: 0 .2rem .55rem; border-bottom: 2px solid #355a7d; }
.bracket-round-head p { grid-column: 1 / -1; margin: 0; color: var(--green); font-size: .63rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.bracket-round-head h3 { margin: .16rem 0 0; overflow: hidden; font-size: .92rem; letter-spacing: .04em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.bracket-round-head span { align-self: end; color: var(--muted); font-size: .72rem; }
.bracket-grid .bracket-match { align-self: center; width: 286px; min-height: 124px; max-height: none; overflow: visible; border-left-width: 3px; }
.bracket-grid .bracket-match::after { display: none; }
.bracket-match .bracket-player { min-height: 31px; padding: .32rem .55rem; font-size: .78rem; }
.bracket-match .bracket-flow { display: flex; justify-content: space-between; gap: .25rem; min-height: 22px; padding: .24rem .45rem; border-top: 1px solid #203c59; color: var(--muted); font-size: .55rem; }
.bracket-flow small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bracket-flow .flow-winner { color: #8ce9c3; }
.bracket-flow .flow-loser { color: #ff9daa; }
.bracket-match .match-code { position: absolute; top: .35rem; right: .45rem; color: var(--yellow); font-size: .66rem; font-weight: 950; }
.source-match-ref { display: inline-grid; place-items: center; min-width: 1.35rem; height: 1.35rem; padding: 0 .28rem; border: 1px solid #72b8ed; border-radius: 999px; color: #d8efff; background: #163a5b; font-size: .68rem; font-weight: 950; font-variant-numeric: tabular-nums; line-height: 1; }
.bracket-grid .bracket-match__top { padding-right: .55rem; }
.bracket-link { fill: none; stroke: var(--green); stroke-width: 2.2; stroke-linecap: square; stroke-linejoin: miter; opacity: .78; vector-effect: non-scaling-stroke; }
.bracket-link.loser { stroke: var(--red); stroke-dasharray: 6 4; }
.bracket-link.dimmed { opacity: .1; }
.bracket-match.is-path { opacity: 1; }
.bracket-list { display: grid !important; grid-auto-flow: row !important; grid-auto-columns: auto !important; grid-template-columns: minmax(0,1fr); width: 100% !important; gap: .8rem; padding: 1rem !important; }
.round-list { display: grid; grid-template-columns: repeat(auto-fill,minmax(255px,1fr)); gap: .65rem; }
.round-list__head { grid-column: 1/-1; display: flex; justify-content: space-between; padding: .55rem 0; border-bottom: 2px solid #355a7d; }
.round-list .bracket-match { width: 100%; }
.round-list .bracket-match::after { display: none; }
.public-results { display: grid; grid-template-columns: 1.1fr .8fr 1fr; gap: 1rem; }
.public-result-panel>summary,.standings-section>summary { display: grid; grid-template-columns: 1fr auto; gap: .15rem .75rem; margin-bottom: .75rem; cursor: pointer; list-style: none; }
.public-result-panel>summary::-webkit-details-marker,.standings-section>summary::-webkit-details-marker { display: none; }
.public-result-panel>summary span,.standings-section>summary span { grid-column: 1; color: var(--yellow); font-size: .68rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.public-result-panel>summary strong,.standings-section>summary strong { grid-column: 1; font-size: 1.25rem; }
.public-result-panel>summary::after,.standings-section>summary::after { content: "−"; grid-column: 2; grid-row: 1/3; align-self: center; color: var(--yellow); font-size: 1.35rem; }
.public-result-panel:not([open])>summary::after,.standings-section:not([open])>summary::after { content: "+"; }
.standings-section>.button { float: right; margin-top: -3.3rem; }
.mobile-live-menu { display: none; }
.result-row { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; gap: .65rem; min-height: 58px; padding: .45rem .55rem; border-bottom: 1px solid #294a6c; border-radius: 0; background: transparent; text-align: left; }
.result-row:hover { background: #123454; filter: none; }
.result-row>span:last-child { text-align: right; }
.result-row strong,.result-row small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.result-row small { color: var(--muted); font-size: .66rem; }
.result-row>b { color: var(--yellow); font-size: 1.3rem; }
.classification-row,.stats-row { display: grid; grid-template-columns: 2.2rem minmax(0,1fr); gap: .6rem; padding: .55rem 0; border-bottom: 1px solid #294a6c; }
.classification-row>b,.stats-row>b { color: var(--yellow); }
.stats-row small { display: block; margin-top: .12rem; color: var(--muted); }
.text-link { font-weight: 850; }
.match-dialog { width: min(980px,calc(100% - 1rem)); max-height: calc(100dvh - 1rem); padding: 0; overflow: hidden; border: 1px solid #466b8d; border-radius: .9rem; background: #061629; color: var(--ink); box-shadow: 0 30px 90px #000c; }
.match-dialog::backdrop { background: #01070edb; backdrop-filter: blur(5px); }
.match-dialog__top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.15rem; border-bottom: 1px solid var(--line); background: #0b2745; }
.match-dialog__top h2 { margin: 0; }
.icon-button { min-width: 44px; padding: 0; font-size: 1.7rem; }
.match-dialog>.button-row,.match-dialog>.tabs { margin: 0; padding: .65rem 1.15rem; }
#matchDetails { max-height: calc(100dvh - 205px); padding: 0 1.15rem 1.15rem; overflow: auto; }
.match-live-averages { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; overflow: hidden; margin-top: .55rem; border: 1px solid #355a7d; border-radius: .6rem; background: #355a7d; }
.match-live-averages span { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; min-width: 0; padding: .55rem .75rem; overflow: hidden; background: #0a223a; color: var(--muted); font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.match-live-averages strong { color: var(--yellow); font-size: 1rem; font-variant-numeric: tabular-nums; }
.match-current-visits { margin-top: .7rem; }
.match-current-visits h3 { margin: 0 0 .45rem; font-size: .95rem; }

.live-embed-bracket .skip-link,.live-embed-bracket .local-banner,.live-embed-bracket .public-header,.live-embed-bracket .live-hero,.live-embed-bracket #message,.live-embed-bracket .metric-strip,.live-embed-bracket .mobile-live-menu,.live-embed-bracket .live-overview,.live-embed-bracket .public-results,.live-embed-bracket .standings-section { display: none!important; }
.live-embed-bracket .public-layout { width: 100%; max-width: none; margin: 0; padding: 0; }
.live-embed-bracket .bracket-section { min-height: 100dvh; border: 0; border-radius: 0; }
.live-embed-bracket .bracket-viewport { height: calc(100dvh - 190px); }
.match-status-line { display: flex; flex-wrap: wrap; gap: .5rem; padding: .7rem 0; color: var(--muted); font-size: .75rem; }
.status-badge,.event-badge { display: inline-flex; padding: .2rem .42rem; border-radius: 999px; background: #1b4264; color: #ddecfb; font-size: .66rem; font-weight: 900; text-transform: uppercase; }
.status-badge.status-running,.status-badge.status-called,.event-badge.checkout { background: #155b43; color: #caffea; }
.event-badge.bust { background: #672432; color: #ffdce2; }
.match-score { display: grid; grid-template-columns: 1fr 2.5rem 1fr; align-items: stretch; min-height: 215px; overflow: hidden; border: 1px solid #355a7d; border-radius: .75rem; background: #07192d; }
.match-player { position: relative; display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto 1fr auto; gap: .4rem; align-items: center; padding: 1rem 1.3rem; }
.match-player.right { text-align: right; }
.match-player h3 { grid-column: 1/-1; overflow: hidden; margin: 0; font-size: clamp(1.2rem,3vw,2rem); text-overflow: ellipsis; white-space: nowrap; }
.match-player strong,.match-player b { align-self: center; color: var(--yellow); font-size: clamp(3rem,7vw,5rem); }
.match-player b { text-align: right; }
.match-player small { display: block; color: var(--muted); font-size: .63rem; font-weight: 800; text-transform: uppercase; }
.match-player em { grid-column: 1/-1; color: var(--yellow); font-size: .7rem; font-style: normal; font-weight: 950; letter-spacing: .1em; text-transform: uppercase; }
.match-player.throwing { box-shadow: inset 0 -4px var(--yellow); }
.match-player.winner { background: #14523b47; }
.match-score__divider { display: grid; place-items: center; background: #0c2948; color: var(--muted); font-size: 2.5rem; }
.winner-banner { margin-top: .65rem; padding: .7rem; border-left: 4px solid var(--green); background: #104131; }
.match-stat-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: .65rem; margin-top: .75rem; }
.match-stat-grid article { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .45rem; padding: .75rem; border: 1px solid var(--line); border-radius: .65rem; background: #07192d; text-align: center; }
.match-stat-grid article>span { grid-column: 1/-1; overflow: hidden; color: var(--yellow); font-weight: 900; text-overflow: ellipsis; white-space: nowrap; }
.match-stat-grid b,.match-stat-grid small { display: block; }
.match-stat-grid small { color: var(--muted); font-size: .6rem; }
.match-flow-panel { margin-top: .75rem; padding: .8rem; border: 1px dashed #446887; border-radius: .65rem; }
.match-flow-panel h3 { margin-bottom: .45rem; }
.match-flow-panel p { margin-bottom: .3rem; color: #ccdbea; }
.leg-list { display: grid; gap: .55rem; }
.leg-card { display: grid; grid-template-columns: minmax(0,1fr) 90px 90px auto; align-items: center; gap: .7rem; padding: .7rem; border: 1px solid var(--line); border-radius: .6rem; background: #07192d; }
.leg-card span,.leg-card strong,.leg-card small { display: block; }
.leg-card span,.leg-card small { color: var(--muted); font-size: .7rem; }
.leg-card b { font-size: 1.2rem; }
.visits-table tr:focus { outline: 3px solid var(--yellow); outline-offset: -3px; }

/* Marker: wynik i wpis pozostają na jednym ekranie roboczym. */
.marker-shell { min-height: 100dvh; }
.marker-shell .app-header { padding: .55rem 0; }
.marker-connection { display: flex; align-items: center; gap: .55rem; }
.sync-pill { width: auto; min-height: 48px; padding: .35rem .65rem; border-color: #416786; background: #07192d; color: #d9e9fb; font-size: .72rem; }
.sync-pill.has-pending { border-color: var(--yellow); color: var(--yellow); }
.sync-pill.has-conflict { border-color: var(--red); background:#35101b; color:#ffd6dc; }
.sync-pill.has-rejected { border-color: #d86a78; color: #ffb8c1; }
.sync-operation-list{display:grid;gap:.45rem;margin:.65rem 0}.sync-operation{display:grid;gap:.2rem;padding:.65rem .75rem;border:1px solid var(--line);border-radius:.65rem;background:#071a2e}.sync-operation small{color:var(--muted)}.sync-operation.conflict{border-color:var(--red);background:#2d101a}.sync-operation.conflict small{color:#ffd6dc}
.marker-main { width: min(1280px,100%); grid-template-columns: minmax(0,1.22fr) minmax(330px,.78fr); align-items: start; }
.marker-main>.card { padding: .8rem; box-shadow: 0 10px 35px #0005; }
.marker-match-head { display: flex; align-items: center; justify-content: space-between; gap: .7rem; margin-bottom: .5rem; }
.marker-match-head h1 { margin: 0; font-size: clamp(1.55rem,4vw,2.7rem); }
.marker-head-actions { display: flex; align-items: center; gap: .5rem; }
.marker-scoreboard { display: grid; grid-template-columns: minmax(0,1fr) 112px minmax(0,1fr); min-height: 250px; overflow: hidden; border: 1px solid #436889; border-radius: .8rem; background: #051322; }
.marker-player { position: relative; display: grid; grid-template-rows: auto auto minmax(0,1fr) auto; align-items: center; min-width: 0; padding: .8rem; text-align: center; }
.marker-player+.marker-player { border-left: 1px solid #294a6c; }
.marker-player .throw-label { visibility: hidden; color: var(--yellow); font-size: .68rem; font-weight: 950; letter-spacing: .12em; }
.marker-player.throwing { background: linear-gradient(180deg,#3d340d,#0a203a 35%); box-shadow: inset 0 5px var(--yellow); }
.marker-player.throwing .throw-label { visibility: visible; }
.marker-player .player-name { overflow: hidden; font-size: clamp(1.05rem,2.5vw,1.65rem); text-overflow: ellipsis; white-space: nowrap; }
.marker-player .remaining-stack { align-self: center; display: grid; justify-items: center; gap: .18rem; width: 100%; min-width: 0; }
.marker-player .remaining-label { color: var(--muted); font-size: .55rem; font-weight: 900; letter-spacing: .12em; }
.marker-player .remaining { color: var(--yellow); font-size: clamp(4.7rem,10vw,8rem); line-height: .82; }
.player-last-visit { display: grid; grid-template-columns: auto auto auto; align-items: center; justify-content: center; gap: .35rem; min-width: min(100%,190px); margin-top: .32rem; padding: .28rem .55rem; border: 1px solid #345a7b; border-radius: 999px; background: #102d4b; color: #dce9f5; }
.player-last-visit span { color: var(--muted); font-size: .54rem; font-weight: 900; letter-spacing: .08em; }
.player-last-visit strong { color: #fff; font-size: 1.08rem; font-variant-numeric: tabular-nums; }
.player-last-visit em { padding: .16rem .3rem; border-radius: 999px; font-size: .55rem; font-style: normal; font-weight: 950; }
.player-last-visit em:empty { display: none; }
.player-last-visit em.checkout { background: #0e6647; color: #d9fff0; }
.player-last-visit em.bust { background: #8d2030; color: #ffe0e5; }
.marker-player .player-score { color: #d6e4f1; font-size: .78rem; font-weight: 850; }
.marker-score-meta { display: grid; grid-template-rows: repeat(6,auto); align-content: center; gap: .18rem; padding: .55rem; border-inline: 1px solid #294a6c; background: #0b2745; text-align: center; }
.marker-score-meta span { color: var(--muted); font-size: .58rem; font-weight: 900; letter-spacing: .08em; }
.marker-score-meta strong { margin-bottom: .45rem; color: #fff; font-size: 1.25rem; }
.marker-score-meta #checkoutHint { color: var(--yellow); font-size: .88rem; }
#leasePanel { display: flex; align-items: center; justify-content: space-between; gap: .7rem; margin-bottom: 0; padding: .55rem .7rem; }
#leasePanel .button-row { flex-shrink: 0; margin: 0; }
.marker-entry-card { position: sticky; top: 3.6rem; }
.marker-entry-gate { display: grid; min-height: 108px; place-items: center; margin: 0; text-align: center; }
.marker-entry-gate.ready { border-color: var(--green); background: #073226; color: #d7fff2; }
.starter-compact { display: flex; align-items: center; justify-content: space-between; gap: .6rem; min-height: 48px; margin-bottom: .5rem; padding: .35rem .55rem; border: 1px solid var(--line); border-radius: .55rem; color: var(--muted); font-size: .72rem; font-weight: 800; }
.starter-compact select { width: auto; min-height: 48px; padding: .3rem .45rem; }
.starter-compact:has(select:disabled) { display: none; }
.score-entry-label { margin-bottom: .25rem; color: var(--yellow); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; }
.marker-entry-card .score-input { min-height: 82px; padding: .2rem; border-width: 2px; border-radius: .7rem; font-size: clamp(3rem,8vw,5.4rem); line-height: 1; }
.score-input[aria-invalid="true"] { border-color: var(--red); background: #341421; }
.field-error { min-height: 1.25rem; margin: .25rem 0; color: #ffacb7; font-size: .76rem; font-weight: 800; }
.marker-entry-card .keypad button { min-height: clamp(48px,7vh,70px); }
.marker-entry-card .quick-scores { margin-bottom: .35rem; }
.missed-checkout{margin:0 0 .45rem;padding:.5rem .6rem;border:1px solid #8f6b20;border-radius:.65rem;background:#2b210d}.missed-checkout legend{padding:0 .3rem;color:#ffe49a;font-size:.7rem;font-weight:850}.missed-checkout small{display:block;margin-top:.35rem;color:#cfbf93;font-size:.67rem}.missed-checkout__choices{display:grid;grid-template-columns:repeat(4,1fr);gap:.35rem}.missed-checkout__choices button{min-height:48px;padding:.25rem;background:#123454;color:var(--ink);border-color:#416787}.missed-checkout__choices button.selected{background:var(--yellow);color:#071321;border-color:var(--yellow);box-shadow:0 0 0 2px #ffca3a33}.visit-attempts{display:block;margin-top:.15rem;color:#ffd76a;font-size:.62rem}.visit-corrections{display:flex;justify-content:center;gap:.25rem}.visit-corrections button{min-width:48px}
.marker-submit-row { display: grid; grid-template-columns: 1.8fr 1fr; }
.marker-submit-row button { width: 100%; min-height: 52px; }
.marker-technical { margin-bottom: 0; }
.marker-technical .table-wrap { max-height: 260px; overflow: auto; }
.marker-history{margin-top:.75rem}.marker-history .section-head{align-items:end;margin-bottom:.35rem}.marker-history .section-head>small{color:var(--yellow);font-size:.62rem;font-weight:850}.marker-history h2{margin:0;font-size:1.05rem}.paired-visit-head,.visit-pair-row{display:grid;grid-template-columns:30px minmax(0,1fr) minmax(0,1fr);gap:.4rem}.paired-visit-head{align-items:center;padding:.45rem .35rem;border:1px solid #355a7c;border-radius:.6rem .6rem 0 0;background:#123454;text-align:center}.paired-visit-head span{color:var(--muted);font-size:.7rem}.paired-visit-head strong{overflow:hidden;color:var(--yellow);font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.paired-visit-list{display:grid;max-height:310px;overflow-y:auto;overflow-x:hidden;border:1px solid #355a7c;border-top:0;border-radius:0 0 .6rem .6rem;font-variant-numeric:tabular-nums}.visit-pair-row{align-items:stretch;padding:.38rem}.visit-pair-row+.visit-pair-row{border-top:1px solid #294a6c}.visit-pair-row>span{align-self:center;color:var(--muted);font-size:.72rem;text-align:center}.visit-history-cell{position:relative;display:grid;grid-template-columns:1fr auto;gap:.12rem .35rem;min-width:0;min-height:68px;padding:.45rem .55rem;border:1px solid #355a7c;border-radius:.5rem;background:#0d2945;color:var(--ink);text-align:left}.visit-history-cell:hover:not(:disabled),.visit-history-cell:focus-visible{border-color:var(--yellow);background:#173a5b}.visit-history-cell>span{display:flex;align-items:center;gap:.3rem}.visit-history-cell>span b{color:#fff;font-size:1.2rem}.visit-history-cell small{grid-column:1;color:var(--muted);font-size:.62rem}.visit-history-cell small strong{color:#fff;font-size:.8rem}.visit-history-cell i{grid-column:2;grid-row:1/3;align-self:center;padding:.2rem .32rem;border-radius:.35rem;background:#ffd23f1b;color:var(--yellow);font-size:.57rem;font-style:normal;font-weight:900;text-transform:uppercase}.visit-history-cell.empty{display:grid;place-items:center;color:var(--muted)}.visit-history-empty{display:grid;grid-column:1/-1;min-height:76px;place-items:center;color:var(--muted)}.correction-dialog form{display:grid;gap:.75rem}.correction-dialog .section-head,.correction-dialog .button-row,.correction-dialog .notice,.correction-dialog .field-error{margin:0}.correction-score-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) minmax(0,1fr);gap:.55rem}.checkout-fast-grid fieldset{min-width:0;margin:0;padding:.8rem;border:1px solid var(--line);border-radius:.7rem}.checkout-fast-grid legend{padding:0 .35rem;font-weight:850}.checkout-choice{display:grid;grid-template-columns:repeat(4,1fr);gap:.45rem}.checkout-choice:has([data-checkout-darts]){grid-template-columns:repeat(3,1fr)}.checkout-choice button{min-height:64px;font-size:1.65rem}.checkout-choice button.selected{background:var(--green);color:#031711;box-shadow:0 0 0 3px #39d8a344}.checkout-choice button:disabled{opacity:.28;box-shadow:none}.button.compact,button.compact{min-height:48px;padding:.35rem .55rem;font-size:.72rem}
.sync-dialog .button-row { display: grid; grid-template-columns: 1fr 1fr; }
.sync-rejected { max-height: 11rem; margin: .65rem 0; overflow: auto; }
.sync-rejected p { margin: 0; padding: .35rem 0; border-bottom: 1px solid var(--line); }
.checkbox-label{display:flex!important;grid-column:1/-1;flex-direction:row;align-items:center;gap:.65rem;padding:.7rem;border:1px solid #8f6b20;border-radius:.65rem;background:#3b2a08;color:#ffe8a6!important}.checkbox-label input{width:1.25rem;min-height:1.25rem}.creation-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:.45rem;margin:0 0 1rem;padding:0;list-style:none}.creation-steps li{display:flex;align-items:center;gap:.45rem;min-width:0;padding:.55rem;border:1px solid var(--line);border-radius:.55rem;color:var(--muted);font-size:.72rem;font-weight:850}.creation-steps li b{display:grid;place-items:center;flex:0 0 1.65rem;height:1.65rem;border-radius:50%;background:#173b5d;color:#d9e9fb}.creation-steps li.active{border-color:var(--yellow);color:var(--ink)}.creation-steps li.active b{background:var(--yellow);color:#071321}.form-step-heading{display:flex;align-items:center;gap:.5rem;margin-top:1.2rem}.form-step-heading span{display:grid;place-items:center;width:1.8rem;height:1.8rem;border-radius:50%;background:var(--yellow);color:#071321}.maintenance-action{display:grid;grid-template-columns:minmax(250px,1fr) auto;align-items:end;gap:.7rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.maintenance-report>.grid{margin-bottom:1rem}

/* Pulpit dyspozytora */
.operational-hero{min-height:0;padding:1.35rem 1.6rem}.operational-hero h1{font-size:clamp(2.2rem,5vw,4rem)}.operational-hero .lead{margin-bottom:0}.dispatcher-body .layout{display:grid;gap:1rem}.dispatcher-body .grid{margin-top:0}.dispatcher-controls .card{padding:.9rem}.dispatcher-controls h2{font-size:1.05rem}.dispatcher-boards .board-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.dispatcher-boards .board{position:relative;min-height:210px;padding:.85rem;border-radius:.7rem;background:#061729}.dispatcher-boards .board.busy{border-color:var(--green);box-shadow:inset 0 3px var(--green)}.dispatcher-boards .board.paused{border-color:var(--red);box-shadow:inset 0 3px var(--red)}.dispatcher-boards .board-number{font-size:1.15rem}.dispatcher-body #queueBody select{min-width:100px}.dispatcher-body #calls{max-height:32rem;overflow:auto}
/* Ekran sali */
.stage{background:radial-gradient(circle at 50% -20%,#174a75,transparent 45rem),#030d18}.stage-main{display:grid;gap:.8rem;max-width:none;width:calc(100% - 2vw);margin-bottom:1rem}.stage-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem .4rem}.stage-head h1{margin:0;font-size:clamp(2rem,4vw,4.6rem)}.stage-head__actions{display:flex;align-items:center;gap:.55rem}.stage .last-call{min-height:72px;display:grid;place-items:center;padding:.7rem 1rem;border:0;border-left:8px solid var(--yellow);border-radius:.4rem;background:linear-gradient(90deg,#4a3908,#17150c);font-size:clamp(1.25rem,3vw,2.7rem);text-align:left}.stage-metrics{display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;border:1px solid var(--line);border-radius:.6rem}.stage-metrics .card{display:flex;align-items:baseline;gap:.55rem;padding:.65rem 1rem;border:0;border-right:1px solid var(--line);border-radius:0;box-shadow:none}.stage-metrics .card:last-child{border:0}.stage-metrics .metric{color:var(--yellow);font-size:clamp(1.8rem,4vw,3.8rem)}.stage-metrics span{color:var(--muted);font-size:.72rem;font-weight:850;text-transform:uppercase}.stage-section-label{display:flex;align-items:baseline;gap:.65rem;margin-bottom:.45rem}.stage-section-label span{color:var(--yellow);font-size:.65rem;font-weight:950;letter-spacing:.13em}.stage-section-label b{font-size:1.2rem}.stage-board-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:.65rem}.stage-board-grid .board{min-height:155px;padding:.85rem;border:1px solid #416786;border-radius:.65rem;background:linear-gradient(145deg,#0b2949,#061526);box-shadow:0 10px 30px #0006}.stage-board-grid .board-number{font-size:1.05rem}.stage-board-grid .matchup{grid-template-columns:1fr;gap:.25rem;margin:.5rem 0}.stage-board-grid .matchup span{display:flex;justify-content:space-between;gap:.6rem;padding:.3rem .4rem;border-bottom:1px solid #2d4d6a}.stage-board-grid .matchup strong{color:var(--yellow);font-size:1.25rem}.stage-board-grid .metric{color:var(--yellow);font-size:clamp(1.8rem,4vw,3rem);text-align:center}.stage-bottom{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.stage-bottom>.card{padding:.85rem}.stage-queue,.stage-announcements{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 .8rem}.stage-queue p,.stage-announcements p{margin:0;padding:.4rem 0;border-bottom:1px solid #294a6c;font-size:.82rem}
/* Pełnoekranowy scoreboard */
.score-display{min-height:100dvh;overflow:hidden;background:#020a12}.score-display__shell{display:grid;grid-template-rows:auto 1fr;min-height:calc(100dvh - 42px);padding:.55rem}.score-display__head{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:.8rem;min-height:68px;padding:.4rem .7rem;border-bottom:1px solid var(--line)}.score-display__head>div{display:grid;text-align:center}.score-display__head #scoreCode{font-size:1.3rem}.score-arena{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,18vw) minmax(0,1fr);min-height:0;margin-top:.55rem;overflow:hidden;border:1px solid #436889;border-radius:.8rem;background:#061426}.score-player{position:relative;display:grid;grid-template-rows:auto auto 1fr auto auto;align-items:center;min-width:0;padding:clamp(.8rem,2vw,2rem);text-align:center}.score-player h2{overflow:hidden;margin:0;font-size:clamp(1.6rem,4vw,4rem);text-overflow:ellipsis;white-space:nowrap}.score-player .remaining{align-self:center;color:var(--yellow);font-size:clamp(8rem,20vw,22rem);line-height:.78}.score-player .metric{font-size:clamp(1.1rem,2.2vw,2.2rem)}.score-player .stats{color:var(--muted);font-size:clamp(.8rem,1.4vw,1.3rem)}.score-player .score-throw{visibility:hidden;color:var(--yellow);font-weight:950;letter-spacing:.18em}.score-player.accent{background:radial-gradient(circle at 50% 40%,#473b0d,#071a30 62%);box-shadow:inset 0 8px var(--yellow)}.score-player.accent .score-throw{visibility:visible}.score-center{display:grid;grid-template-rows:repeat(3,1fr);border-inline:1px solid var(--line);background:#0b2745}.score-center>div{display:grid;place-items:center;align-content:center;padding:.7rem;border-bottom:1px solid var(--line);text-align:center}.score-center>div:last-child{border:0}.score-center span{color:var(--muted);font-size:clamp(.55rem,.9vw,.85rem);font-weight:900;letter-spacing:.1em}.score-center strong{color:#fff;font-size:clamp(2rem,5vw,5rem)}.score-center #scoreCheckout{color:var(--yellow);font-size:clamp(1.25rem,2.8vw,2.8rem)}
.device-qr{width:min(100%,22rem);margin:1rem auto;background:#fff;border-radius:1rem;padding:.75rem}.device-qr svg{display:block;width:100%;height:auto}.device-qr svg path{fill:#061426}
@media (max-width:1024px){
  .live-overview{grid-template-columns:1fr}.queue-panel #queue{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem}.public-results{grid-template-columns:repeat(2,minmax(0,1fr))}.public-results>article:last-child{grid-column:1/-1}.bracket-section__head{align-items:stretch;flex-direction:column}.bracket-section__head .tabs{max-width:100%}.marker-main{grid-template-columns:1fr;max-width:900px}.marker-entry-card{position:static}
}
@media (max-width:760px){
  .public-header{position:relative;align-items:center}.nav-toggle{display:inline-flex}.public-header .top-nav{position:absolute;top:calc(100% - .2rem);right:0;z-index:30;display:none;width:min(290px,calc(100vw - 1rem));padding:.55rem;border:1px solid var(--line);border-radius:.7rem;background:#051322f7;box-shadow:var(--shadow)}.public-header .top-nav.open{display:grid}.public-header .top-nav a{width:100%}.public-tournament .live-hero{grid-template-columns:1fr;min-height:0}.public-tournament .live-hero__content{min-height:320px;padding:3rem 1rem 1.2rem}.public-tournament .live-hero h1{font-size:clamp(2.55rem,13vw,4.5rem)}.public-tournament .live-hero__status{grid-template-columns:repeat(3,1fr);grid-template-rows:1fr}.public-tournament .live-hero__status>div{display:flex;min-width:0;padding:.7rem}.public-tournament .live-hero__status>div>strong{font-size:2rem}.public-tournament .live-hero__status>div>span,.public-tournament .live-hero__status>div>small{overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap}.metric-strip{grid-template-columns:repeat(2,1fr)}.metric-strip article:nth-child(2){border-right:0}.metric-strip article:nth-child(-n+2){border-bottom:1px solid var(--line)}.live-board-grid{grid-template-columns:1fr}.bracket-toolbar{grid-template-columns:1fr auto}.bracket-search{grid-column:1/-1;max-width:none}.bracket-legend .muted{display:none}.bracket-viewport{height:min(68vh,680px)}.public-results{grid-template-columns:1fr}.public-results>article:last-child{grid-column:auto}.standings-section{padding:.85rem}.match-score{min-height:180px}.match-player{padding:.75rem}.match-player strong,.match-player b{font-size:clamp(2.3rem,12vw,4rem)}.match-stat-grid{grid-template-columns:1fr}.leg-card{grid-template-columns:minmax(0,1fr) 62px 62px}.leg-card button{grid-column:1/-1}.marker-shell .app-header{align-items:center}.marker-shell .app-header .brand span:last-child{display:none}.marker-main{padding:.35rem}.marker-main>.card{padding:.55rem}.marker-scoreboard{grid-template-columns:minmax(0,1fr) 68px minmax(0,1fr);min-height:200px}.marker-player{padding:.45rem}.marker-player .remaining{font-size:clamp(3.8rem,20vw,6.2rem)}.marker-player .player-name{font-size:clamp(.92rem,4vw,1.25rem)}.marker-score-meta{padding:.25rem}.marker-score-meta span{font-size:.49rem}.marker-score-meta strong{font-size:.92rem}#leasePanel{align-items:stretch;flex-direction:column}.marker-entry-card .score-input{min-height:72px}.marker-entry-card .keypad button{min-height:54px}.queue-panel #queue{grid-template-columns:1fr}
}
@media (max-width:420px){
  .local-banner{position:static;padding:.35rem}.public-header .brand-logo{width:48px;height:48px}.public-layout{gap:.65rem}.live-panel,.public-results>article,.standings-section{padding:.8rem}.bracket-section__head,.bracket-toolbar,.bracket-legend{padding-inline:.8rem}.bracket-toolbar{grid-template-columns:1fr}.segmented,.zoom-controls{width:100%}.segmented button,.zoom-controls button{flex:1}.bracket-viewport{height:70vh}.match-dialog{width:100%;max-height:100dvh;border-radius:0}#matchDetails{max-height:calc(100dvh - 190px);padding-inline:.65rem}.match-dialog__top,.match-dialog>.button-row,.match-dialog>.tabs{padding-inline:.65rem}.match-score{grid-template-columns:1fr 1.5rem 1fr;min-height:160px}.match-score__divider{font-size:1.4rem}.match-player{padding:.5rem}.match-player h3{font-size:.9rem}.match-stat-grid article{grid-template-columns:repeat(2,minmax(0,1fr))}.marker-match-head{align-items:flex-start}.marker-head-actions{align-items:flex-end;flex-direction:column}.marker-head-actions .status-pill{padding:.35rem .5rem;font-size:.65rem}.marker-scoreboard{min-height:170px}.marker-player .remaining{font-size:clamp(3.1rem,19vw,4.8rem)}.marker-player .player-score{font-size:.64rem}.marker-entry-card .quick-scores button{min-height:48px}.marker-entry-card .keypad button{min-height:48px}.marker-submit-row{grid-template-columns:1.45fr 1fr}
}
@media (max-width:560px){.history-section{padding:.7rem}.history-season>header{align-items:flex-start;flex-direction:column}.history-season>header .button{width:100%}.history-league{padding:.65rem}.history-round{grid-template-columns:46px minmax(0,1fr)}.history-round__number{height:42px}.history-round>.button{grid-column:1/-1;width:100%}.history-league__head{align-items:flex-start;flex-direction:column;gap:.25rem}}
@media (orientation:landscape) and (max-height:560px){
  .marker-shell .local-banner,.marker-shell .app-header{display:none}.marker-main{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);min-height:100dvh;padding:.25rem}.marker-main>.card{padding:.4rem}.marker-scoreboard{min-height:180px}.marker-player .remaining{font-size:clamp(3.6rem,15vh,5.5rem)}.marker-match-head h1{font-size:1.35rem}#leasePanel{padding:.35rem .5rem;font-size:.7rem}.marker-entry-card .score-input{min-height:56px;font-size:2.7rem}.marker-entry-card .keypad button{min-height:48px;font-size:1.3rem}.marker-entry-card .quick-scores button{min-height:48px}.field-error{min-height:.9rem;margin:.1rem 0;font-size:.68rem}.marker-technical{display:none}
}
.pairing-code{display:inline-block;font-size:2rem;letter-spacing:.22em;color:var(--yellow);font-variant-numeric:tabular-nums}
.history-layout{display:grid;gap:1rem}.history-section{padding:1rem;border:1px solid var(--line);border-radius:var(--radius);background:rgba(6,23,41,.72);box-shadow:var(--shadow)}.history-section>.section-head{margin-bottom:1rem}.history-season{margin-top:1rem;border:1px solid var(--line);border-radius:.9rem;overflow:hidden;background:#071a2c}.history-season>header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;background:#0d2b47}.history-season h3,.history-season p{margin:0}.history-league{padding:1rem}.history-league+.history-league{border-top:1px solid var(--line)}.history-league__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.65rem}.history-league__head h4{margin:0}.history-rounds{display:grid;gap:.45rem}.history-round{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.65rem;border:1px solid #274c69;border-radius:.65rem;background:#051522}.history-round__number{display:grid;place-items:center;height:48px;border-radius:.55rem;background:var(--yellow);color:#071321;font-weight:950}.history-round>div:nth-child(2){display:grid;gap:.15rem}.history-round small,.history-round span{color:var(--muted);font-size:.72rem}.history-tournament-card .section-head{margin-bottom:.45rem}.history-tournament-card .eyebrow{margin:0}
.lifecycle-steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.35rem;list-style:none;padding:0;margin:1rem 0}.lifecycle-steps li{padding:.55rem .4rem;border:1px solid var(--line);border-radius:.65rem;background:rgba(255,255,255,.035);color:var(--muted);font-size:.72rem;font-weight:800;text-align:center}.lifecycle-steps li.done{border-color:rgba(45,212,191,.4);color:#99f6e4;background:rgba(13,148,136,.12)}.lifecycle-steps li.active{border-color:var(--yellow);color:#fff;background:rgba(245,158,11,.18);box-shadow:0 0 0 1px rgba(245,158,11,.15) inset}

/* R4: czytelna drabinka, wynik meczu i historia setów/legów. */
.public-tournament .live-hero{min-height:285px}
.public-tournament .live-hero__content{padding-top:2.25rem;padding-bottom:1.8rem}
.public-tournament .live-hero h1{font-size:clamp(2.6rem,5.2vw,4.65rem)}
.live-overview.single{grid-template-columns:1fr}
.bracket-viewport{cursor:grab}
.bracket-viewport.dragging{cursor:grabbing;user-select:none}
.bracket-tree .bracket-canvas{position:absolute}
.bracket-tree .bracket-round-head{position:absolute;z-index:3}
.bracket-tree .bracket-match{position:absolute;z-index:2;width:278px;height:124px;min-height:124px;max-height:none;overflow:visible;border-left-width:3px}
.bracket-tree .bracket-match::after{display:none}
.bracket-match.bracket-bye{display:grid;grid-template-columns:minmax(0,1fr);align-content:center;gap:.2rem;min-height:58px;max-height:64px;padding:.55rem 3.8rem .55rem .7rem;border-color:#8c7420;border-left-color:var(--yellow);background:linear-gradient(90deg,#302a0e,#071a30);text-align:left}
.bracket-bye strong{overflow:hidden;color:#fff;text-overflow:ellipsis;white-space:nowrap}
.bracket-bye small{color:#f5d96c;font-size:.66rem;font-weight:850}
.bracket-player b{min-width:42px;color:#fff;font-size:1rem;font-weight:950;text-align:center}
.bracket-player.winner b{color:#8ce9c3}
.bracket-player.throwing{box-shadow:inset 4px 0 var(--yellow);background:#3d340d66}
.bracket-player i{display:inline-block;width:.43rem;height:.43rem;margin-right:.35rem;border-radius:50%;background:var(--yellow);box-shadow:0 0 8px var(--yellow)}
.bracket-flow .throwing-note{color:var(--yellow);font-weight:850}
.round-list__head{position:sticky;top:0;z-index:5;background:#061426}
.round-list .bracket-bye{min-height:58px}
.zoom-controls{flex-wrap:wrap}
.match-dialog__meta{margin:.25rem 0 0;color:var(--muted);font-size:.74rem}
.match-tabs{display:flex;overflow-x:auto}
.match-tabs button{white-space:nowrap}
.match-score-clear{grid-template-columns:minmax(0,1fr) 3rem minmax(0,1fr)}
.match-player-summary{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr auto;gap:.7rem;align-items:center;min-width:0;padding:1rem 1.2rem}
.match-player-summary h3{grid-column:1/-1;overflow:hidden;margin:0;font-size:clamp(1.05rem,2.4vw,1.65rem);text-overflow:ellipsis;white-space:nowrap}
.match-player-summary:nth-child(3){text-align:right}
.match-player-summary.throwing{box-shadow:inset 0 -5px var(--yellow);background:linear-gradient(180deg,#3a310c44,transparent)}
.match-player-summary.winner{background:#14523b47}
.match-player-summary.waiting{opacity:.75}
.match-player-summary em{grid-column:1/-1;color:var(--yellow);font-size:.7rem;font-style:normal;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.match-result-metrics{display:flex;gap:.65rem}
.match-result-metrics span{display:grid;min-width:58px;padding:.5rem;border:1px solid var(--line);border-radius:.55rem;background:#0b2745;text-align:center}
.match-result-metrics strong{color:#fff;font-size:1.5rem;line-height:1}
.match-result-metrics small,.match-remaining small{display:block;margin-top:.25rem;color:var(--muted);font-size:.58rem;font-weight:850;text-transform:uppercase}
.match-remaining{text-align:center}
.match-remaining strong{display:block;color:var(--yellow);font-size:clamp(3rem,7vw,5.5rem);line-height:.9;font-variant-numeric:tabular-nums}
.match-waiting{margin-top:.7rem;padding:.8rem;border-left:4px solid var(--yellow);border-radius:.2rem .6rem .6rem .2rem;background:#302a0e;color:#fff5c5}
.match-waiting p{margin:.3rem 0 0;color:#e8da9e}
.set-group,.visit-set{display:grid;gap:.55rem;margin-top:.8rem}
.set-group>h3,.visit-set>h3{position:sticky;top:0;z-index:4;margin:0;padding:.55rem .65rem;border-bottom:2px solid var(--yellow);background:#061629}
.leg-detail,.visit-leg{margin:0;padding:0;overflow:hidden;background:#07192d}
.leg-detail>summary{display:grid;grid-template-columns:minmax(150px,1.2fr) repeat(4,minmax(80px,.6fr));align-items:center;gap:.55rem;padding:.7rem;color:var(--ink)}
.leg-detail>summary span{min-width:0}
.leg-detail>summary small,.leg-detail>summary strong,.leg-detail>summary b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.leg-detail>summary small{color:var(--muted);font-size:.6rem;text-transform:uppercase}
.leg-detail>summary strong{color:var(--yellow)}
.visit-leg>summary{padding:.7rem;color:var(--ink)}
.leg-detail .table-wrap,.visit-leg .table-wrap{margin:0;border:0;border-top:1px solid var(--line);border-radius:0}
.visits-table{max-height:360px;overflow:auto}
.visits-table th{top:0}
.audit-list{display:grid;gap:.5rem;margin-top:.8rem}
.audit-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.25rem .75rem;padding:.7rem;border:1px solid var(--line);border-radius:.6rem;background:#07192d}
.audit-list article span{color:var(--muted);font-size:.76rem}
.audit-list article small{grid-column:1/-1;color:var(--muted)}
@media(max-width:760px){.stage-head{align-items:flex-start}.stage-head__actions{align-items:flex-end;flex-direction:column}.stage-metrics{grid-template-columns:repeat(2,1fr)}.stage-metrics .card:nth-child(2){border-right:0}.stage-metrics .card:nth-child(-n+2){border-bottom:1px solid var(--line)}.stage-board-grid{grid-template-columns:1fr}.stage-bottom{grid-template-columns:1fr}.stage-queue,.stage-announcements{grid-template-columns:1fr}.score-display{overflow:auto}.score-display__head{grid-template-columns:1fr auto}.score-display__head>div{order:3;text-align:left}.score-display__head #scoreConnection{justify-self:end}.score-display__head button{justify-self:end}.score-arena{grid-template-columns:1fr 64px 1fr;min-height:70vh}.score-player{padding:.5rem}.score-player h2{font-size:clamp(1rem,4vw,1.6rem)}.score-player .remaining{font-size:clamp(4rem,20vw,8rem)}.score-center span{font-size:.48rem}.score-center strong{font-size:1.2rem}}
@media(max-width:760px){.match-score-clear{grid-template-columns:minmax(0,1fr) 2rem minmax(0,1fr)}.match-player-summary{padding:.7rem}.match-result-metrics{gap:.3rem}.match-result-metrics span{min-width:42px;padding:.35rem}.match-result-metrics strong{font-size:1.15rem}.match-remaining strong{font-size:clamp(2.7rem,12vw,4.5rem)}.leg-detail>summary{grid-template-columns:minmax(0,1fr) repeat(2,minmax(65px,.45fr))}.leg-detail>summary span:nth-child(4),.leg-detail>summary span:nth-child(5){display:none}}
@media(max-width:420px){.match-player-summary{grid-template-columns:1fr;text-align:center!important}.match-player-summary h3,.match-player-summary em{grid-column:1}.match-result-metrics{justify-content:center}.match-score__divider{font-size:.8rem}.match-tabs button{padding-inline:.55rem}.leg-detail>summary{grid-template-columns:minmax(0,1fr) 62px}.leg-detail>summary span:nth-child(n+3){display:none}}
@media(max-width:760px){.lifecycle-steps{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.player-last-visit{grid-template-columns:1fr;gap:.05rem;min-width:0;width:100%;padding:.3rem .2rem;border-radius:.45rem}.player-last-visit span{font-size:.46rem}.player-last-visit strong{font-size:.95rem}.player-last-visit em{justify-self:center}.marker-player .remaining-label{font-size:.48rem}}
@media(max-width:600px){.correction-score-grid{grid-template-columns:1fr 1fr}.correction-score-grid label:first-child{grid-column:1/-1}.paired-visit-head,.visit-pair-row{grid-template-columns:24px minmax(0,1fr) minmax(0,1fr);gap:.25rem}.visit-pair-row{padding:.28rem}.visit-history-cell{grid-template-columns:1fr;min-height:76px;padding:.38rem}.visit-history-cell i{grid-column:1;grid-row:auto;justify-self:start}.marker-history .section-head>small{display:none}}
@media(max-width:560px){.creation-steps{grid-template-columns:repeat(2,1fr)}.maintenance-action{grid-template-columns:1fr}}
@media print{body>*{display:none!important}main,.layout,.grid,.card,#deviceLink,.device-qr{display:block!important}.local-banner,.app-header,#calls,h2,h3,#deviceLink p,#deviceLink input,#deviceLink .button-row{display:none!important}#deviceLink{border:0}.device-qr{width:18cm;max-width:90vw}}

/* R10: mobilny marker i publiczny podgląd meczu. */
.score-input[readonly]{caret-color:transparent;cursor:default;user-select:none;touch-action:manipulation}
.marker-player{overflow:hidden}
.match-dialog__top>div{min-width:0}
.match-dialog__top h2{overflow-wrap:anywhere}
.match-last-visit{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:.45rem;min-height:34px;padding:.3rem .5rem;border:1px solid #345a7b;border-radius:999px;background:#102d4b}
.match-last-visit small{color:var(--muted);font-size:.58rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.match-last-visit strong{color:#fff;font-size:1.1rem;font-variant-numeric:tabular-nums}
.visit-rounds{overflow:hidden;border:1px solid #355a7c;border-radius:.7rem;background:#061728;font-variant-numeric:tabular-nums}
.visit-rounds__head,.visit-round{display:grid;grid-template-columns:58px minmax(0,1fr) minmax(0,1fr);gap:0}
.visit-rounds__head{position:sticky;top:0;z-index:2;align-items:center;background:#123454}
.visit-rounds__head>*{min-width:0;padding:.65rem;border-right:1px solid #355a7c;text-align:center}
.visit-rounds__head>*:last-child{border-right:0}
.visit-rounds__head span{color:var(--muted);font-size:.62rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.visit-rounds__head strong{overflow:hidden;color:var(--yellow);font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}
.visit-round{border-top:1px solid #294a6c}
.visit-round__number{display:grid;place-items:center;align-content:center;gap:.1rem;border-right:1px solid #294a6c;background:#0a223a;color:var(--yellow)}
.visit-round__number span{font-size:1.1rem}
.visit-round__number small{color:var(--muted);font-size:.48rem;font-weight:800;text-transform:uppercase}
.visit-round__cell{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.1rem .6rem;min-width:0;min-height:82px;padding:.6rem .75rem;border-right:1px solid #294a6c;background:#081d33}
.visit-round__cell:last-child{border-right:0}
.visit-round__cell.empty{display:grid;place-items:center;color:#688097;font-size:1.3rem}
.visit-round__score{grid-row:1/3;color:#fff;font-size:clamp(1.8rem,4vw,2.5rem);line-height:1}
.visit-round__remaining{min-width:0;color:var(--muted);font-size:.7rem}
.visit-round__remaining b{color:var(--yellow);font-size:1rem}
.visit-round__cell>small{color:var(--muted);font-size:.62rem}
.visit-round__cell .event-badge{position:absolute;right:.35rem;bottom:.35rem}
.visit-rounds__empty{display:grid;min-height:90px;place-items:center;color:var(--muted)}

@media(max-width:900px){
  .bracket-list{gap:.6rem;padding:.65rem!important}
  .round-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:.55rem}
  .round-list__head{top:0;padding:.6rem .2rem;background:#061426}
  .round-list .bracket-match{min-width:0;min-height:116px}
  .round-list .bracket-player>span{min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.15}
  .bracket-tabs{scrollbar-width:none}
  .bracket-tabs::-webkit-scrollbar{display:none}
}

@media(max-width:760px){
  .public-tournament .live-hero__content{min-height:178px;padding:1.2rem .85rem .75rem;background:linear-gradient(90deg,#02080ff2,#02080fa8)}
  .public-tournament .live-hero h1{margin:.2rem 0 .35rem;font-size:clamp(1.8rem,8.6vw,2.7rem);line-height:1.02}
  .public-tournament .live-hero .lead{display:none}
  .public-tournament .live-meta{gap:.3rem;margin-top:.45rem}.public-tournament .live-meta span{padding:.25rem .4rem;font-size:.58rem}
  .public-tournament .live-progress{margin-top:.6rem}.public-tournament .live-progress__track{height:5px}
  .public-tournament .live-hero__status>div{min-height:68px;padding:.45rem .55rem}.public-tournament .live-hero__status>div>strong{font-size:1.55rem}.public-tournament .live-hero__status>div>span,.public-tournament .live-hero__status>div>small{font-size:.55rem}
  .metric-strip article{gap:.25rem;padding:.55rem .65rem}.metric-strip strong{font-size:1.35rem}.metric-strip span{font-size:.6rem}
  .mobile-live-menu{display:block;padding:.6rem .75rem;border:1px solid var(--line);border-radius:.7rem;background:#0a203a}.mobile-live-menu>summary{cursor:pointer;color:var(--yellow);font-size:.78rem;font-weight:900;text-transform:uppercase}.mobile-live-menu nav{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem;margin-top:.55rem}.mobile-live-menu a{display:grid;min-height:46px;place-items:center;padding:.4rem;border:1px solid #456986;border-radius:.45rem;background:#07182a;color:#fff;font-size:.72rem;font-weight:850;text-align:center}
  .bracket-section__head{padding:.8rem .7rem .3rem}.bracket-section__head>div>p,.bracket-section__head>div>.muted{display:none}.bracket-section__head h2{font-size:1.25rem}
  .bracket-toolbar{display:none}.bracket-legend{display:none}.bracket-tabs{display:flex;max-width:100%;overflow-x:auto;white-space:nowrap}.bracket-tabs button{min-height:42px;padding:.4rem .65rem;font-size:.72rem}
  .bracket-viewport{height:58dvh;min-height:410px}.bracket-list{gap:.45rem;padding:.45rem!important}.round-list{gap:.4rem}.round-list__head{padding:.4rem .15rem;font-size:.72rem}.round-list .bracket-match{min-height:94px}.bracket-match .bracket-player{min-height:28px;padding:.25rem .42rem;font-size:.72rem}.bracket-match .bracket-flow{min-height:19px;padding:.18rem .35rem}
  .public-results{gap:.55rem}.public-result-panel,.standings-section{padding:.7rem!important}.public-result-panel>summary,.standings-section>summary{margin:0}.public-result-panel[open]>summary,.standings-section[open]>summary{margin-bottom:.6rem}.public-result-panel>summary strong,.standings-section>summary strong{font-size:1rem}.standings-section>.button{float:none;width:100%;margin:0 0 .6rem}
  .marker-shell{overflow-x:hidden}
  .marker-shell .app-header{width:calc(100% - 1rem);padding:.45rem 0}
  .marker-shell .brand-logo{width:38px;height:38px}
  .marker-connection{gap:.35rem}
  .marker-connection .connection{font-size:.72rem}
  .sync-pill{min-height:48px;max-width:46vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .marker-main{width:100%;padding:.35rem max(.35rem,env(safe-area-inset-right)) max(.5rem,env(safe-area-inset-bottom)) max(.35rem,env(safe-area-inset-left));gap:.5rem}
  .marker-main>.card{padding:.5rem;border-radius:.72rem}
  .marker-match-head{align-items:center;margin-bottom:.4rem}
  .marker-match-head .eyebrow{font-size:.64rem}
  .marker-match-head h1{font-size:clamp(1.55rem,8vw,2.25rem)}
  .marker-head-actions{align-items:flex-end;gap:.3rem}
  .marker-head-actions button{min-height:42px;padding:.45rem .65rem}
  .marker-scoreboard{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"first second" "meta meta";min-height:0}
  #player1{grid-area:first}
  #player2{grid-area:second}
  .marker-player{grid-template-rows:auto minmax(2.5em,auto) minmax(0,1fr) auto;min-height:224px;padding:.55rem .35rem}
  .marker-player+.marker-player{border-left:1px solid #294a6c}
  .marker-player .player-name{display:-webkit-box;min-height:2.35em;overflow:hidden;font-size:clamp(.9rem,4.2vw,1.15rem);line-height:1.18;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}
  .marker-player .remaining{max-width:100%;font-size:clamp(3.65rem,19vw,5.3rem);line-height:.88}
  .marker-player .player-score{font-size:.67rem}
  .player-last-visit{grid-template-columns:auto auto;max-width:100%;min-width:0;width:auto;padding:.3rem .45rem;border-radius:.5rem}
  .player-last-visit span{font-size:.47rem}
  .player-last-visit strong{font-size:1rem}
  .player-last-visit em{grid-column:1/-1;justify-self:center}
  .marker-score-meta{grid-area:meta;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto auto;grid-auto-flow:column;gap:.12rem .35rem;padding:.42rem;border:0;border-top:1px solid #294a6c}
  .marker-score-meta span{font-size:.48rem}
  .marker-score-meta strong{margin:0;font-size:.88rem}
  .marker-score-meta #checkoutHint{font-size:.75rem}
  #leasePanel{gap:.45rem;margin-top:.45rem;padding:.5rem .6rem;font-size:.78rem}
  #leasePanel .button-row{width:100%}
  #leasePanel .button-row button{flex:1;min-height:44px}
  .marker-entry-card{position:static}
  .marker-entry-card .score-input{min-height:76px;font-size:clamp(3.2rem,17vw,4.8rem)}
  .marker-entry-card .quick-scores{grid-template-columns:repeat(4,minmax(0,1fr));gap:.3rem}
  .marker-entry-card .quick-scores button{min-width:0;min-height:50px;padding:.35rem}
  .marker-entry-card .keypad{gap:.35rem}
  .marker-entry-card .keypad button{min-width:0;min-height:56px;padding:.35rem;font-size:1.45rem}
  .marker-entry-card .keypad button[data-key="clear"]{font-size:clamp(.75rem,3.4vw,1.05rem)}
  .marker-submit-row{gap:.35rem}
  .marker-submit-row button{min-width:0;padding:.45rem;font-size:.82rem}
  .marker-history{margin-top:.55rem}

  .match-dialog[open]{display:grid;grid-template-rows:auto auto auto minmax(0,1fr);inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0}
  .match-dialog__top{align-items:flex-start;gap:.55rem;padding:max(.65rem,env(safe-area-inset-top)) .7rem .65rem}
  .match-dialog__top .eyebrow{font-size:.62rem;line-height:1.35}
  .match-dialog__top h2{font-size:clamp(1.15rem,5.2vw,1.45rem);line-height:1.12}
  .match-dialog__meta{font-size:.67rem;line-height:1.35}
  .match-dialog .icon-button{flex:0 0 44px}
  .match-dialog>.button-row{padding:.45rem .7rem}
  .match-dialog>.button-row .button{width:100%}
  .match-dialog>.tabs{gap:.3rem;overflow-x:auto;padding:.45rem .7rem;border-block:1px solid #1f3b56;background:#061426;scrollbar-width:none}
  .match-dialog>.tabs::-webkit-scrollbar{display:none}
  .match-dialog>.tabs button{min-height:44px;padding:.45rem .65rem;font-size:.78rem}
  #matchDetails{min-height:0;max-height:none;padding:0 .7rem max(.7rem,env(safe-area-inset-bottom));overflow:auto;overscroll-behavior:contain}
  .match-status-line{gap:.35rem;padding:.55rem 0;font-size:.66rem}
  .match-live-averages span{padding:.42rem;font-size:.62rem}.match-live-averages strong{font-size:.86rem}.match-current-visits{margin-top:.55rem}.match-current-visits h3{font-size:.82rem}
  .match-score-clear{grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr);min-height:0}
  .match-score__divider{font-size:.72rem;text-transform:uppercase}
  .match-player-summary{grid-template-columns:1fr;grid-template-rows:auto auto auto auto auto;align-content:start;gap:.45rem;min-height:246px;padding:.65rem .45rem;text-align:center!important}
  .match-player-summary h3{grid-column:1;display:-webkit-box;min-height:2.45em;overflow:hidden;font-size:clamp(.88rem,4vw,1.08rem);line-height:1.2;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}
  .match-result-metrics{justify-content:center}
  .match-result-metrics span{min-width:48px;padding:.35rem}
  .match-remaining strong{font-size:clamp(3.25rem,17vw,4.8rem)}
  .match-remaining small{font-size:.52rem}
  .match-last-visit{gap:.3rem;min-height:32px;padding:.25rem .35rem;border-radius:.5rem}
  .match-last-visit small{font-size:.48rem}
  .match-last-visit strong{font-size:1rem}
  .match-player-summary em{grid-column:1;margin-top:auto;font-size:.58rem}
  .match-flow-panel{margin-top:.55rem;padding:.6rem}
  .match-flow-panel h3{margin:0 0 .35rem;font-size:1rem}
  .match-flow-panel p{margin:.2rem 0;padding:.35rem .45rem;border-left:3px solid #355a7d;border-radius:.25rem;background:#091d32;font-size:.78rem;line-height:1.35}
  .visit-set{gap:.4rem;margin-top:.55rem}
  .visit-leg>summary{padding:.6rem;font-size:.8rem}
  .visit-rounds__head,.visit-round{grid-template-columns:36px minmax(0,1fr) minmax(0,1fr)}
  .visit-rounds__head>*{padding:.5rem .25rem}
  .visit-rounds__head strong{font-size:.66rem}
  .visit-round__number span{font-size:.9rem}
  .visit-round__number small{display:none}
  .visit-round__cell{grid-template-columns:1fr;justify-items:center;gap:.18rem;min-height:98px;padding:.55rem .3rem;text-align:center}
  .visit-round__score{grid-row:auto;font-size:clamp(2rem,10vw,2.8rem)}
  .visit-round__remaining{font-size:.58rem}
  .visit-round__remaining b{display:block;font-size:.9rem}
  .visit-round__cell>small{font-size:.54rem}
  .visit-round__cell .event-badge{position:static;margin-top:.1rem;font-size:.5rem}
}

@media(max-width:430px){
  .public-tournament .layout{width:calc(100% - .7rem)}
  .public-header{width:calc(100% - .7rem);padding:.55rem 0}
  .public-header .brand span{font-size:.82rem}
  .public-tournament .live-hero__content{min-height:158px;padding:1rem .8rem .7rem}
  .public-tournament .live-hero h1{font-size:clamp(1.75rem,9vw,2.45rem)}
  .bracket-section__head,.bracket-toolbar,.bracket-legend{padding-inline:.6rem}
  .bracket-viewport{height:58dvh;min-height:390px}
  .bracket-list{padding:.5rem!important}
  .round-list{grid-template-columns:1fr}
  .round-list__head{font-size:.76rem}
  .round-list .bracket-match{min-height:94px}
  .marker-player{min-height:214px;padding:.45rem .25rem}
  .marker-player .remaining{font-size:clamp(3.35rem,18vw,4.6rem)}
  .marker-entry-card .keypad button{min-height:54px}
  .match-player-summary{min-height:234px;padding:.55rem .28rem}
  .match-score-clear{grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr)}
  .match-score__divider{font-size:.58rem}
  .match-last-visit{display:grid;gap:.05rem}
}

/* R11: marker jako jeden stały pulpit na telefonie i tablecie. */
.marker-compact-only{display:none}

@media(max-width:1180px){
  .marker-shell.marker-active{
    width:100%;
    height:100dvh;
    min-height:100dvh;
    grid-template-rows:auto auto minmax(0,1fr);
    overflow:hidden;
    overscroll-behavior:none;
  }
  .marker-shell.marker-active .local-banner{
    position:relative;
    min-height:18px;
    padding:.16rem .5rem;
    font-size:.55rem;
    line-height:1.1;
    box-shadow:none;
  }
  .marker-shell.marker-active .app-header{
    width:100%;
    min-height:34px;
    padding:.2rem max(.45rem,env(safe-area-inset-right)) .2rem max(.45rem,env(safe-area-inset-left));
  }
  .marker-shell.marker-active .brand{gap:.35rem;font-size:.62rem;line-height:1.05}
  .marker-shell.marker-active .brand-logo{width:25px;height:25px}
  .marker-shell.marker-active .marker-connection{gap:.35rem}
  .marker-shell.marker-active .connection{font-size:.62rem}
  .marker-shell.marker-active .sync-pill{
    display:none;
    min-height:48px;
    max-width:42vw;
    padding:.2rem .45rem;
    font-size:.58rem;
  }
  .marker-shell.marker-active .sync-pill.has-pending,
  .marker-shell.marker-active .sync-pill.has-conflict{display:inline-flex}
  .marker-shell.marker-active>main{min-height:0;overflow:hidden}
  .marker-shell.marker-active .marker-main{
    width:100%;
    max-width:none;
    height:100%;
    min-height:0;
    margin:0;
    padding:.25rem max(.3rem,env(safe-area-inset-right)) max(.3rem,env(safe-area-inset-bottom)) max(.3rem,env(safe-area-inset-left));
    gap:.3rem;
    overflow:hidden;
    align-items:stretch;
  }
  .marker-shell.marker-active .marker-main>.card{
    height:100%;
    max-height:100%;
    min-height:0;
    padding:.3rem;
    border-radius:.65rem;
    box-shadow:none;
    overflow:hidden;
  }
  .marker-shell.marker-active #message,
  .marker-shell.marker-active #availablePanel{display:none!important}
  .marker-shell.marker-active #matchPanel{
    display:grid;
    height:100%;
    min-height:0;
    grid-template-rows:auto minmax(0,1fr) auto;
    gap:.25rem;
  }
  .marker-shell.marker-active .marker-match-head{
    min-height:30px;
    gap:.35rem;
    margin:0;
  }
  .marker-shell.marker-active .marker-match-head>div:first-child{
    display:flex;
    align-items:baseline;
    min-width:0;
    gap:.4rem;
  }
  .marker-shell.marker-active .marker-match-head .eyebrow{
    flex:0 1 auto;
    max-width:58vw;
    margin:0;
    overflow:hidden;
    font-size:.54rem;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .marker-shell.marker-active .marker-match-head h1{
    flex:0 0 auto;
    margin:0;
    font-size:1.05rem;
    line-height:1;
  }
  .marker-shell.marker-active .marker-head-actions{align-items:center;flex-direction:row;gap:.25rem}
  .marker-shell.marker-active #matchVersion{display:none}
  .marker-shell.marker-active #backToMatches,
  .marker-shell.marker-active #compactReleaseLease{
    min-width:36px;
    min-height:30px;
    padding:.2rem .4rem;
    border-radius:.45rem;
    font-size:.6rem;
  }
  .marker-shell.marker-active #backToMatches{width:32px;padding:0;font-size:0}
  .marker-shell.marker-active #backToMatches::before{content:"☰";font-size:.9rem;line-height:1}
  /* Po zakończeniu meczu najważniejszym kolejnym krokiem jest powrót do kolejki.
     Nie chowaj go za samą ikoną, nawet na małym tablecie. */
  .marker-shell.marker-active.marker-completed #backToMatches{
    width:auto;
    min-height:36px;
    padding:.35rem .6rem;
    font-size:clamp(.66rem,1.8vw,.82rem);
    font-weight:800;
    white-space:nowrap;
  }
  .marker-shell.marker-active.marker-completed #backToMatches::before{display:none;content:none}
  .marker-shell.marker-active .marker-compact-only:not(.hidden){display:inline-flex}
  .marker-shell.marker-active .marker-scoreboard{
    height:100%;
    min-height:0;
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-areas:"first second" "meta meta";
    grid-template-rows:minmax(0,1fr) 27px;
    border-radius:.55rem;
  }
  .marker-shell.marker-active #player1{grid-area:first}
  .marker-shell.marker-active #player2{grid-area:second;border-left:1px solid #294a6c}
  .marker-shell.marker-active .marker-player{
    min-height:0;
    grid-template-rows:12px minmax(24px,auto) minmax(0,1fr) 15px;
    align-content:stretch;
    gap:.05rem;
    padding:.18rem .25rem;
  }
  .marker-shell.marker-active .marker-player.throwing{
    background:linear-gradient(180deg,#3d340d88,#0a203a 45%);
    box-shadow:inset 0 3px var(--yellow);
  }
  .marker-shell.marker-active .marker-player .throw-label{font-size:.45rem;line-height:1}
  .marker-shell.marker-active .marker-player .player-name{
    display:block;
    min-height:0;
    overflow:hidden;
    font-size:clamp(.7rem,3.3vw,.95rem);
    line-height:1.05;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .marker-shell.marker-active .marker-player .remaining-stack{
    align-self:stretch;
    align-content:center;
    gap:.08rem;
    min-height:0;
  }
  .marker-shell.marker-active .marker-player .remaining-label{display:none}
  .marker-shell.marker-active .marker-player .remaining{
    font-size:clamp(2.8rem,14vw,5.4rem);
    line-height:.78;
  }
  .marker-shell.marker-active .player-last-visit{
    display:flex;
    width:auto;
    min-width:0;
    min-height:19px;
    margin:.05rem 0 0;
    padding:.05rem .35rem;
    border-radius:999px;
    gap:.22rem;
  }
  .marker-shell.marker-active .player-last-visit span{font-size:.4rem}
  .marker-shell.marker-active .player-last-visit strong{font-size:.72rem}
  .marker-shell.marker-active .player-last-visit em{font-size:.42rem}
  .marker-shell.marker-active .marker-player .player-score{font-size:.52rem;line-height:1}
  .marker-shell.marker-active .marker-score-meta{
    grid-area:meta;
    grid-template-columns:repeat(3,minmax(0,1fr));
    grid-template-rows:1fr;
    grid-auto-flow:column;
    align-items:center;
    gap:.12rem .25rem;
    padding:.13rem .35rem;
    border:0;
    border-top:1px solid #294a6c;
  }
  .marker-shell.marker-active .marker-score-meta span{font-size:.4rem}
  .marker-shell.marker-active .marker-score-meta strong{margin:0;font-size:.64rem;line-height:1}
  .marker-shell.marker-active .marker-score-meta #checkoutHint{font-size:.58rem}
  .marker-shell.marker-scoring #leasePanel{display:none}
  .marker-shell.marker-active:not(.marker-scoring) #leasePanel{
    display:flex;
    min-height:36px;
    margin:0;
    padding:.2rem .4rem;
    gap:.3rem;
    font-size:.62rem;
  }
  .marker-shell.marker-active:not(.marker-scoring) #leasePanel .button-row{width:auto}
  .marker-shell.marker-active:not(.marker-scoring) #leasePanel button{min-height:30px;padding:.2rem .4rem;font-size:.58rem}
  .marker-shell.marker-active #entryPanel{
    position:static;
    display:grid;
    height:100%;
    min-height:0;
    grid-template-rows:minmax(0,1fr) 92px auto;
    gap:.25rem;
  }
  .marker-shell.marker-active #entryGate{
    min-height:0;
    height:100%;
    margin:0;
    padding:.5rem;
    font-size:.78rem;
  }
  .marker-shell.marker-active #markerInputs{
    display:flex;
    flex-direction:column;
    min-height:0;
    gap:.2rem;
    overflow:hidden;
  }
  .marker-shell.marker-active #markerInputs.hidden{display:none!important}
  .marker-shell.marker-active .starter-compact{
    min-height:32px;
    margin:0;
    padding:.15rem .35rem;
    font-size:.58rem;
  }
  .marker-shell.marker-active .starter-compact select{min-height:30px;padding:.1rem .3rem;font-size:.62rem}
  .marker-shell.marker-active .score-entry-label{display:none}
  .marker-shell.marker-active .score-input{
    min-height:49px;
    height:49px;
    padding:0 .2rem;
    border-radius:.5rem;
    font-size:clamp(2.25rem,9vh,3.8rem);
  }
  .marker-shell.marker-active .field-error{
    min-height:0;
    margin:0;
    font-size:.58rem;
    line-height:1.1;
  }
  .marker-shell.marker-active .field-error:empty{display:none}
  .marker-shell.marker-active .missed-checkout{
    margin:0;
    padding:.18rem .28rem;
    border-radius:.45rem;
  }
  .marker-shell.marker-active .missed-checkout legend{font-size:.52rem}
  .marker-shell.marker-active .missed-checkout small{display:none}
  .marker-shell.marker-active .missed-checkout__choices{gap:.2rem}
  .marker-shell.marker-active .missed-checkout__choices button{min-height:28px;padding:.05rem;font-size:.65rem}
  .marker-shell.marker-active .quick-scores{
    height:34px;
    gap:.2rem;
    margin:0;
  }
  .marker-shell.marker-active .quick-scores button{
    min-height:34px;
    height:34px;
    padding:.05rem;
    border-radius:.42rem;
    font-size:.68rem;
  }
  .marker-shell.marker-active .keypad{
    flex:1 1 auto;
    min-height:0;
    grid-template-rows:repeat(4,minmax(0,1fr));
    gap:.22rem;
  }
  .marker-shell.marker-active .keypad button{
    width:100%;
    min-width:0;
    min-height:0;
    height:100%;
    padding:.05rem;
    border-radius:.48rem;
    font-size:clamp(1.05rem,5vw,1.55rem);
    line-height:1;
  }
  .marker-shell.marker-active .keypad button[data-key="clear"]{font-size:.68rem}
  .marker-shell.marker-active .keypad .marker-enter-key{font-size:clamp(.68rem,2.8vw,.9rem)}
  .marker-shell.marker-active .marker-submit-row{
    height:40px;
    gap:.25rem;
    margin:0;
  }
  .marker-shell.marker-active .marker-submit-row button{
    min-height:40px;
    height:40px;
    padding:.15rem .3rem;
    border-radius:.48rem;
    font-size:.68rem;
  }
  .marker-shell.marker-active .marker-history{
    display:grid;
    min-height:0;
    height:92px;
    grid-template-rows:20px minmax(0,1fr);
    margin:0;
    overflow:hidden;
  }
  .marker-shell.marker-active .marker-history .section-head{display:none}
  .marker-shell.marker-active .paired-visit-head{
    grid-template-columns:20px minmax(0,1fr) minmax(0,1fr);
    gap:.2rem;
    min-height:20px;
    padding:.08rem .2rem;
    border-radius:.42rem .42rem 0 0;
  }
  .marker-shell.marker-active .paired-visit-head span,
  .marker-shell.marker-active .paired-visit-head strong{font-size:.5rem}
  .marker-shell.marker-active .paired-visit-list{
    display:block;
    min-height:0;
    max-height:none;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:none;
  }
  .marker-shell.marker-active .paired-visit-list::-webkit-scrollbar{display:none}
  .marker-shell.marker-active .visit-pair-row{
    grid-template-columns:20px minmax(0,1fr) minmax(0,1fr);
    gap:.2rem;
    min-height:36px;
    padding:.12rem .2rem;
  }
  .marker-shell.marker-active .visit-pair-row>span{font-size:.5rem}
  .marker-shell.marker-active .visit-history-cell{
    min-height:32px;
    grid-template-columns:auto 1fr;
    gap:.02rem .2rem;
    padding:.12rem .28rem;
    border-radius:.35rem;
  }
  .marker-shell.marker-active .visit-history-cell>span b{font-size:.84rem}
  .marker-shell.marker-active .visit-history-cell small{font-size:.46rem;line-height:1}
  .marker-shell.marker-active .visit-history-cell small strong{font-size:.57rem}
  .marker-shell.marker-active .visit-history-cell i{display:none}
  .marker-shell.marker-active .visit-history-empty{min-height:100%;font-size:.58rem}
}

@media(max-width:1180px) and (orientation:portrait){
  .marker-shell.marker-active .marker-main{
    grid-template-columns:1fr;
    grid-template-rows:minmax(0,27dvh) minmax(0,1fr);
  }
  .marker-shell.marker-active:not(.marker-scoring) .marker-main{grid-template-rows:minmax(0,34dvh) minmax(0,1fr)}
}

@media(max-width:1180px) and (orientation:landscape){
  .marker-shell.marker-active .app-header{min-height:30px;padding-block:.12rem}
  .marker-shell.marker-active .brand span{display:none}
  .marker-shell.marker-active .brand-logo{width:22px;height:22px}
  .marker-shell.marker-active .marker-main{
    grid-template-columns:minmax(0,1fr) minmax(300px,.88fr);
    grid-template-rows:minmax(0,1fr);
  }
  .marker-shell.marker-active .marker-player .remaining{font-size:clamp(3.2rem,10vw,6rem)}
  .marker-shell.marker-active #entryPanel{grid-template-rows:minmax(0,1fr) 76px auto}
  .marker-shell.marker-active .marker-history{height:76px}
}

@media(max-width:430px) and (orientation:portrait){
  .marker-shell.marker-active .app-header{min-height:30px}
  .marker-shell.marker-active .brand span{display:none}
  .marker-shell.marker-active .brand-logo{width:23px;height:23px}
  .marker-shell.marker-active .marker-match-head .eyebrow{max-width:50vw}
  .marker-shell.marker-active .marker-main{grid-template-rows:minmax(0,25dvh) minmax(0,1fr)}
  .marker-shell.marker-active:not(.marker-scoring) .marker-main{grid-template-rows:minmax(0,34dvh) minmax(0,1fr)}
  .marker-shell.marker-active #entryPanel{grid-template-rows:minmax(0,1fr) 82px auto}
  .marker-shell.marker-active .marker-history{height:82px}
  .marker-shell.marker-active .score-input{height:45px;min-height:45px}
  .marker-shell.marker-active .quick-scores{height:31px}
  .marker-shell.marker-active .quick-scores button{height:31px;min-height:31px}
  .marker-shell.marker-active .marker-submit-row,
  .marker-shell.marker-active .marker-submit-row button{height:38px;min-height:38px}
}

@media(max-width:430px) and (max-height:700px) and (orientation:portrait){
  .marker-shell.marker-active .marker-main{grid-template-rows:minmax(0,29dvh) minmax(0,1fr)}
  .marker-shell.marker-active:not(.marker-scoring) .marker-main{grid-template-rows:minmax(0,36dvh) minmax(0,1fr)}
  .marker-shell.marker-active .marker-player .player-name{font-size:.7rem}
  .marker-shell.marker-active .marker-player .remaining{font-size:clamp(2.3rem,12vw,3.6rem)}
  .marker-shell.marker-active .player-last-visit{min-height:17px;padding:0 .25rem}
  .marker-shell.marker-active .marker-score-meta{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:1180px) and (max-height:620px){
  .marker-shell.marker-active .local-banner{display:none}
  .marker-shell.marker-active #entryPanel{grid-template-rows:minmax(0,1fr) 68px auto}
  .marker-shell.marker-active .marker-history{height:68px}
  .marker-shell.marker-active .score-input{height:40px;min-height:40px}
  .marker-shell.marker-active .quick-scores,
  .marker-shell.marker-active .quick-scores button{height:28px;min-height:28px}
  .marker-shell.marker-active .marker-submit-row,
  .marker-shell.marker-active .marker-submit-row button{height:34px;min-height:34px}
}

/* R12: czytelny pulpit markera inspirowany prostotą klasycznych liczników X01. */
.starter-action{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.starter-dialog{width:min(620px,calc(100% - 1rem))}
.starter-dialog .section-head,.starter-dialog .notice{margin:0 0 .75rem}
.starter-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-bottom:.75rem}
.starter-choice{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:.1rem .6rem;min-height:110px;padding:.8rem;border:2px solid #416787;border-radius:.8rem;background:#0b2947;color:var(--ink);text-align:left}
.starter-choice>span{grid-row:1/3;color:var(--muted);font-size:2rem}
.starter-choice strong{overflow:hidden;font-size:1.05rem;text-overflow:ellipsis;white-space:nowrap}
.starter-choice small{color:var(--muted);font-size:.7rem}
.starter-choice.selected{border-color:var(--yellow);background:linear-gradient(145deg,#46390a,#0c2948);box-shadow:0 0 0 3px #ffd23f22}
.starter-choice.selected>span,.starter-choice.selected small{color:var(--yellow)}
.score-entry-label{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.score-entry-label strong{max-width:70%;overflow:hidden;color:#fff;text-overflow:ellipsis;white-space:nowrap}

@media(max-width:1180px){
  .marker-shell.marker-active .starter-action{display:inline-flex;max-width:min(44vw,230px);min-height:30px;padding:.2rem .45rem;border-color:#a58222;color:var(--yellow);font-size:.58rem}
  .marker-shell.marker-active .starter-action.hidden{display:none!important}
  .marker-shell.marker-active #entryPanel{grid-template-rows:104px minmax(0,1fr) auto}
  .marker-shell.marker-active .marker-history{grid-row:1;height:auto;min-height:0;margin:0}
  .marker-shell.marker-active #markerInputs{grid-row:2;display:flex;flex-direction:column;gap:.2rem;overflow:hidden}
  .marker-shell.marker-active .score-entry-label{display:flex;min-height:16px;margin:0;font-size:.5rem;line-height:1}
  .marker-shell.marker-active .score-entry-label strong{font-size:.56rem}
  .marker-shell.marker-active .score-input{height:49px;min-height:49px;border-color:#577b9d;background:#020f1d;color:#fff;font-weight:950;font-variant-numeric:tabular-nums;box-shadow:inset 0 0 0 2px #0b2745}
  .marker-shell.marker-active .score-input:not(:placeholder-shown){border-color:var(--yellow);box-shadow:inset 0 0 0 2px #735d12}
  .marker-shell.marker-active .quick-scores{grid-template-columns:repeat(4,minmax(0,1fr))}
  .marker-shell.marker-active .quick-scores button{border-color:#416787;background:#123a5e;color:#fff}
  .marker-shell.marker-active .quick-scores button[data-score="180"]{border-color:#ff5b6f;background:#8e1d2b}
  .marker-shell.marker-active .keypad button{border-color:#e3b628;background:var(--yellow);color:#061426;box-shadow:none}
  .marker-shell.marker-active .keypad button:active{transform:translateY(1px);background:#ffe277}
  .marker-shell.marker-active .keypad button.secondary{border-color:#416787;background:#0d2d4c;color:#fff}
  .marker-shell.marker-active .marker-submit-row button:first-child{border-color:#f0c335;background:linear-gradient(135deg,#ffd23f,#ffbd27);color:#061426;font-weight:950}
  .marker-shell.marker-active .paired-visit-head{background:#123454}
  .marker-shell.marker-active .visit-pair-row{padding:0 .15rem}
  .marker-shell.marker-active .visit-history-cell{min-height:32px;border:0;border-radius:0;background:transparent;box-shadow:inset 0 -1px #294a6c}
  .marker-shell.marker-active .visit-history-cell:hover:not(:disabled),.marker-shell.marker-active .visit-history-cell:focus-visible{background:#153a5c;box-shadow:inset 0 -2px var(--yellow)}
}

@media(max-width:1180px) and (orientation:landscape){
  .marker-shell.marker-active #entryPanel{grid-template-rows:76px minmax(0,1fr) auto}
}

@media(max-width:430px) and (orientation:portrait){
  .marker-shell.marker-active #entryPanel{grid-template-rows:92px minmax(0,1fr) auto}
  .marker-shell.marker-active #markerInputs{grid-template-rows:15px 45px auto auto minmax(0,1fr) 38px}
  .marker-shell.marker-active .starter-action{max-width:42vw;padding-inline:.35rem}
  .marker-shell.marker-active #compactReleaseLease{display:none!important}
  .starter-choices{grid-template-columns:1fr}
  .starter-choice{min-height:86px}
}

@media(max-width:430px) and (max-height:700px) and (orientation:portrait){
  .marker-shell.marker-active #entryPanel{grid-template-rows:70px minmax(0,1fr) auto}
  .marker-shell.marker-active #markerInputs{grid-template-rows:14px 40px auto auto minmax(0,1fr) 34px}
}

@media(max-width:1180px) and (max-height:620px){
  .marker-shell.marker-active #entryPanel{grid-template-rows:68px minmax(0,1fr) auto}
  .marker-shell.marker-active #markerInputs{grid-template-rows:13px 40px auto auto minmax(0,1fr) 34px}
}

/* R13: maksymalnie zwarty licznik — wynik wpisywany bezpośrednio w rundzie. */
.score-input-home{display:none}

@media(max-width:1180px){
  .marker-shell.marker-scoring{grid-template-rows:auto minmax(0,1fr)}
  .marker-shell.marker-scoring .app-header{display:none}
  .marker-shell.marker-scoring .marker-main{
    grid-template-rows:minmax(0,24dvh) minmax(0,1fr);
    gap:.18rem;
    padding-top:.18rem;
  }
  .marker-shell.marker-scoring #matchWorkspace{padding:.15rem}
  .marker-shell.marker-scoring #matchPanel{
    position:relative;
    grid-template-rows:minmax(0,1fr);
    gap:0;
  }
  .marker-shell.marker-scoring .marker-match-head{
    position:absolute;
    top:.18rem;
    right:.18rem;
    z-index:6;
    width:auto;
    min-height:0;
    pointer-events:none;
  }
  .marker-shell.marker-scoring .marker-match-head>div:first-child{display:none}
  .marker-shell.marker-scoring .marker-head-actions{pointer-events:auto}
  .marker-shell.marker-scoring .starter-action{
    width:32px;
    min-width:32px;
    max-width:32px;
    padding:0;
    overflow:hidden;
    font-size:0;
  }
  .marker-shell.marker-scoring .starter-action::before{content:"★";font-size:.82rem;line-height:1}
  .marker-shell.marker-scoring .marker-scoreboard{
    grid-template-areas:"first second";
    grid-template-rows:minmax(0,1fr);
  }
  .marker-shell.marker-scoring .marker-score-meta{display:none}
  .marker-shell.marker-scoring #player2{padding-right:2.35rem}
  .marker-shell.marker-scoring #entryPanel{
    grid-template-rows:clamp(128px,20dvh,174px) minmax(0,1fr) auto;
    gap:.18rem;
  }
  .marker-shell.marker-scoring .marker-history{
    grid-row:1;
    height:auto;
    min-height:0;
  }
  .marker-shell.marker-scoring #markerInputs{
    grid-row:2;
    gap:.18rem;
  }
  .marker-shell.marker-scoring .score-entry-label,
  .marker-shell.marker-scoring .quick-scores{display:none!important}
  .marker-shell.marker-scoring .visit-pair-row{min-height:38px}
  .marker-shell.marker-scoring .current-visit-row{background:#ffd23f0b}
  .marker-shell.marker-scoring .visit-entry-cell{
    display:flex;
    align-items:stretch;
    min-height:36px;
    padding:0;
    overflow:hidden;
    border:1px solid #d6ad2c;
    border-radius:.32rem;
    background:#061727;
    box-shadow:inset 0 0 0 2px #ffd23f22;
  }
  .marker-shell.marker-scoring .visit-entry-cell .score-input{
    width:100%;
    height:100%;
    min-height:34px;
    margin:0;
    padding:.05rem .25rem;
    border:0;
    border-radius:0;
    background:transparent;
    color:var(--yellow);
    box-shadow:none;
    font-size:1.18rem;
    line-height:1;
    text-align:center;
  }
  .marker-shell.marker-scoring .visit-entry-cell .score-input::placeholder{color:#9fb0c0;opacity:1}
  .marker-shell.marker-scoring .visit-entry-cell .score-input:not(:placeholder-shown){background:#ffd23f14;box-shadow:none}
  .marker-shell.marker-scoring .keypad{flex:1 1 auto}
}

@media(max-width:1180px) and (orientation:landscape){
  .marker-shell.marker-scoring .marker-main{
    grid-template-columns:minmax(0,1fr) minmax(300px,.88fr);
    grid-template-rows:minmax(0,1fr);
  }
  .marker-shell.marker-scoring #entryPanel{grid-template-rows:clamp(128px,38dvh,150px) minmax(0,1fr) auto}
}

@media(max-width:430px) and (max-height:700px) and (orientation:portrait){
  .marker-shell.marker-scoring .marker-main{grid-template-rows:minmax(0,23dvh) minmax(0,1fr)}
  .marker-shell.marker-scoring #entryPanel{grid-template-rows:clamp(122px,20dvh,142px) minmax(0,1fr) auto}
}

@media(max-width:1180px) and (max-height:620px){
  .marker-shell.marker-scoring{grid-template-rows:minmax(0,1fr)}
}

/* R14: tablet markera — większe, niezależne od układu pola dotykowe.
   Nie ingerujemy w wysokość całego pulpitu: dzięki temu klawiatura nie może
   się zapaść, a sprawdzony widok wyniku i historii pozostaje bez zmian. */
@media(min-width:600px) and (max-width:1400px){
  .marker-shell.marker-scoring .marker-player{
    grid-template-rows:18px minmax(32px,auto) minmax(0,1fr) 34px;
    gap:.16rem;
    padding:.34rem .5rem;
  }
  .marker-shell.marker-scoring .marker-player .throw-label{font-size:.58rem}
  .marker-shell.marker-scoring .marker-player .player-name{
    font-size:clamp(1.05rem,3.3vw,1.45rem);
    line-height:1.1;
  }
  .marker-shell.marker-scoring .marker-player .remaining-stack{gap:.22rem}
  .marker-shell.marker-scoring .marker-player .remaining{
    font-size:clamp(3.35rem,14.8vw,6.25rem);
    line-height:.82;
  }
  .marker-shell.marker-scoring .player-last-visit{
    min-height:25px;
    padding:.14rem .5rem;
  }
  .marker-shell.marker-scoring .player-last-visit span{font-size:.5rem}
  .marker-shell.marker-scoring .player-last-visit strong{font-size:.9rem}
  .marker-shell.marker-scoring .player-score{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    border:1px solid #456987;
    border-radius:.45rem;
    background:#0b2946;
    color:#fff;
    font-size:clamp(.9rem,2vw,1.18rem);
    font-weight:950;
    letter-spacing:.015em;
  }
  .marker-shell.marker-scoring .marker-history{grid-template-rows:28px minmax(0,1fr)}
  .marker-shell.marker-scoring .paired-visit-head{
    min-height:28px;
    padding:.2rem .35rem;
  }
  .marker-shell.marker-scoring .paired-visit-head span,
  .marker-shell.marker-scoring .paired-visit-head strong{font-size:.65rem}
  .marker-shell.marker-scoring .paired-visit-list{
    display:grid;
    grid-auto-rows:minmax(46px,1fr);
  }
  .marker-shell.marker-scoring .visit-pair-row{
    min-height:0;
    height:100%;
    padding:.2rem .3rem;
  }
  .marker-shell.marker-scoring .visit-pair-row>span{font-size:.66rem}
  .marker-shell.marker-scoring .visit-history-cell{
    min-height:0;
    height:100%;
    padding:.18rem .38rem;
  }
  .marker-shell.marker-scoring .visit-history-cell>span b{font-size:clamp(1rem,2.7vw,1.35rem)}
  .marker-shell.marker-scoring .visit-history-cell small{font-size:.58rem}
  .marker-shell.marker-scoring .visit-history-cell small strong{font-size:.72rem}
  .marker-shell.marker-scoring #markerInputs{justify-content:flex-end}
  .marker-shell.marker-scoring .keypad{
    flex:0 0 auto;
    gap:.42rem;
    grid-template-rows:repeat(4,clamp(58px,8dvh,86px));
  }
  .marker-shell.marker-scoring .keypad button{
    min-height:clamp(58px,8dvh,86px);
    height:clamp(58px,8dvh,86px);
    padding:.18rem;
    border-radius:.7rem;
    font-size:clamp(1.55rem,5vw,2.7rem);
  }
  .marker-shell.marker-scoring .keypad .marker-enter-key{
    font-size:clamp(.9rem,2.2vw,1.35rem);
    line-height:1.08;
  }
  .marker-shell.marker-scoring .marker-submit-row,
  .marker-shell.marker-scoring .marker-submit-row button{
    min-height:56px;
    height:56px;
  }
  .marker-shell.marker-scoring .marker-submit-row button{
    padding:.35rem .55rem;
    border-radius:.7rem;
    font-size:clamp(.78rem,1.6vw,1rem);
  }
}

/* R17: pełne drzewko na telefonie pozostaje dostępne obok widoku pojedynczej rundy. */
@media(max-width:900px){
  .bracket-viewport{
    height:68dvh;
    min-height:440px;
    touch-action:pan-x pan-y;
    -webkit-overflow-scrolling:touch;
  }
  .bracket-tree .bracket-round-head{
    min-height:34px;
    padding:0 .1rem .22rem;
    border-bottom-width:1px;
  }
  .bracket-tree .bracket-round-head p{display:none}
  .bracket-tree .bracket-round-head h3{margin:0;font-size:.63rem;line-height:1.05;letter-spacing:.02em}
  .bracket-tree .bracket-round-head span{font-size:.52rem;line-height:1}
  .bracket-tree .bracket-match{
    width:208px;
    height:70px;
    min-height:70px;
    max-height:70px;
    border-left-width:3px;
    border-radius:.45rem;
    box-shadow:0 5px 12px #0005;
  }
  .bracket-tree .bracket-match__top{
    min-height:19px;
    gap:.18rem;
    padding:.2rem .3rem;
    font-size:.49rem;
    line-height:1;
  }
  .bracket-tree .bracket-match__top > span{max-width:92px}
  .bracket-tree .bracket-match__top em{max-width:55px;font-size:.46rem}
  .bracket-tree .bracket-match__top strong{font-size:.54rem}
  .bracket-tree .bracket-player{
    min-height:24px;
    gap:.22rem;
    padding:.18rem .34rem;
    font-size:.62rem;
    line-height:1;
  }
  .bracket-tree .bracket-player b{min-width:22px;font-size:.76rem}
  .bracket-tree .bracket-flow{display:none}
  .bracket-tree .bracket-bye{
    min-height:44px;
    max-height:44px;
    gap:.06rem;
    padding:.28rem 2.6rem .28rem .42rem;
    border-radius:.42rem;
  }
  .bracket-tree .bracket-bye strong{font-size:.68rem}
  .bracket-tree .bracket-bye small{font-size:.46rem}
  .bracket-tree .bracket-bye .match-code{top:.2rem;right:.28rem;font-size:.46rem}
}

@media(max-width:430px){
  .bracket-viewport{height:66dvh;min-height:410px}
}

/* R16: pełny odczyt wyniku oraz tabletowy marker. */
.score-player .stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.35rem;
  margin:.7rem 0 0;
  color:var(--muted);
  font-size:clamp(.7rem,1.1vw,1rem);
}
.score-player .stats span{
  display:grid;
  gap:.08rem;
  min-width:0;
  padding:.28rem .15rem;
  border:1px solid #355a7c;
  border-radius:.38rem;
  background:#071a2e;
}
.score-player .stats b{
  overflow:hidden;
  color:#fff;
  font-size:clamp(.9rem,1.65vw,1.45rem);
  line-height:1.08;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.score-player .stats small{overflow:hidden;font-size:clamp(.55rem,.8vw,.75rem);line-height:1.1;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:760px){.score-player .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem}.score-player .stats span{padding:.24rem .12rem}}

@media(min-width:600px) and (max-width:1400px){
  .marker-shell.marker-scoring .marker-main{grid-template-rows:minmax(0,28dvh) minmax(0,1fr)}
  .marker-shell.marker-scoring #entryPanel{grid-template-rows:clamp(158px,23dvh,216px) minmax(0,1fr) auto}
  .marker-shell.marker-scoring .player-score{min-height:44px;font-size:clamp(1.1rem,2.35vw,1.45rem)}
  .marker-shell.marker-scoring .keypad{grid-template-rows:repeat(4,clamp(68px,9.5dvh,100px))}
  .marker-shell.marker-scoring .keypad button{min-height:clamp(68px,9.5dvh,100px);height:clamp(68px,9.5dvh,100px)}
  .marker-shell.marker-scoring .keypad .marker-enter-key{border-color:#57e6a3;background:#16865a;color:#edfff6;box-shadow:inset 0 0 0 2px #a5ffd0,0 0 0 2px #16865a66}
}

/* R18: marker dla samodzielnego liczenia — cała wysokość ekranu jest robocza.
   Klawiatura rośnie wraz z urządzeniem i zawsze kończy się przy dolnej krawędzi. */
.marker-player .player-score{display:grid;place-items:center;align-content:center;gap:.05rem;font-variant-numeric:tabular-nums}
.marker-player .player-score-label{color:var(--muted);font-size:.58rem;font-weight:900;letter-spacing:.11em;line-height:1;text-transform:uppercase}
.marker-player .player-score-value{color:#fff;font-size:clamp(1.7rem,4vw,3.2rem);font-weight:950;line-height:.88}
.marker-player .player-set-score{min-height:.62rem;color:#bcd0e4;font-size:.52rem;font-weight:850;letter-spacing:.06em;line-height:1}

@media(max-width:1180px){
  .marker-shell.marker-scoring>main{height:100dvh;min-height:100dvh;overflow:hidden}
  .marker-shell.marker-scoring .marker-main{height:100%;min-height:0;grid-template-rows:minmax(0,32dvh) minmax(0,1fr);gap:.35rem;padding:.35rem}
  .marker-shell.marker-scoring #matchWorkspace{padding:.3rem}
  .marker-shell.marker-scoring #matchPanel{position:static;grid-template-rows:44px minmax(0,1fr);gap:.25rem}
  .marker-shell.marker-scoring .marker-match-head{position:static;grid-row:1;display:flex;min-height:44px;padding:.1rem .15rem;pointer-events:auto}
  .marker-shell.marker-scoring .marker-match-head>div:first-child{display:flex;align-items:center;gap:.35rem;min-width:0}
  .marker-shell.marker-scoring .marker-match-head .eyebrow{display:none}
  .marker-shell.marker-scoring .marker-match-head h1{font-size:clamp(.88rem,2.5vw,1.2rem);white-space:nowrap}
  .marker-shell.marker-scoring .marker-head-actions{display:flex;align-items:center;flex-direction:row;gap:.32rem}
  .marker-shell.marker-scoring .starter-action,
  .marker-shell.marker-scoring #backToMatches,
  .marker-shell.marker-scoring #compactReleaseLease{width:auto;min-width:0;max-width:none;min-height:38px;padding:.34rem .55rem;overflow:visible;font-size:clamp(.62rem,1.7vw,.82rem);line-height:1.05;white-space:nowrap}
  .marker-shell.marker-scoring .starter-action::before,
  .marker-shell.marker-scoring #backToMatches::before{display:none;content:none}
  .marker-shell.marker-scoring #player2{padding-right:.35rem}
  .marker-shell.marker-scoring .marker-scoreboard{grid-template-areas:"first second";grid-template-rows:minmax(0,1fr)}
  .marker-shell.marker-scoring .marker-player{grid-template-rows:18px minmax(30px,auto) minmax(0,1fr) minmax(52px,auto);gap:.18rem;padding:.35rem .5rem}
  .marker-shell.marker-scoring .marker-player .remaining{font-size:clamp(4.1rem,16vw,8rem);line-height:.8}
  .marker-shell.marker-scoring .marker-player .player-score{min-height:52px;padding:.24rem;border:1px solid #456987;border-radius:.55rem;background:#0b2946}
  .marker-shell.marker-scoring .marker-player .player-score-label{font-size:clamp(.5rem,1.35vw,.68rem)}
  .marker-shell.marker-scoring .marker-player .player-score-value{font-size:clamp(2rem,5.3vw,3.8rem)}
  .marker-shell.marker-scoring .marker-player .player-set-score{font-size:clamp(.46rem,1.15vw,.62rem)}
  .marker-shell.marker-scoring #entryPanel{grid-template-rows:clamp(158px,23dvh,230px) minmax(0,1fr) auto;gap:.35rem}
  .marker-shell.marker-scoring #markerInputs{min-height:0;justify-content:stretch}
  .marker-shell.marker-scoring .keypad{flex:1 1 0;height:auto;min-height:0;grid-template-rows:repeat(4,minmax(0,1fr));gap:.42rem}
  .marker-shell.marker-scoring .keypad button{height:auto;min-height:0;padding:.18rem;border-radius:.7rem;font-size:clamp(1.6rem,5.8vw,3rem)}
  .marker-shell.marker-scoring .keypad .marker-enter-key{font-size:clamp(.9rem,2.4vw,1.45rem)}
  .marker-shell.marker-scoring .marker-submit-row,
  .marker-shell.marker-scoring .marker-submit-row button{height:60px;min-height:60px;font-size:clamp(.74rem,1.8vw,1rem)}
}

@media(min-width:600px) and (max-width:1400px){
  .marker-shell.marker-scoring .marker-main{grid-template-rows:minmax(0,34dvh) minmax(0,1fr)}
  .marker-shell.marker-scoring #entryPanel{grid-template-rows:clamp(176px,25dvh,250px) minmax(0,1fr) auto}
  .marker-shell.marker-scoring .keypad button{font-size:clamp(1.85rem,5.6vw,3.35rem)}
}

@media(max-width:599px){
  .marker-shell.marker-scoring .marker-main{grid-template-rows:minmax(0,30dvh) minmax(0,1fr)}
  .marker-shell.marker-scoring .marker-match-head{min-height:40px}
  .marker-shell.marker-scoring .starter-action,
  .marker-shell.marker-scoring #backToMatches{min-height:34px;padding:.28rem .4rem;font-size:.6rem}
  .marker-shell.marker-scoring #compactReleaseLease{display:none!important}
  .marker-shell.marker-scoring .marker-player .remaining{font-size:clamp(3.3rem,15vw,5.5rem)}
  .marker-shell.marker-scoring .marker-player .player-score-value{font-size:clamp(1.8rem,7vw,2.6rem)}
  .marker-shell.marker-scoring #entryPanel{grid-template-rows:clamp(116px,20dvh,154px) minmax(0,1fr) auto}
  .marker-shell.marker-scoring .marker-submit-row,
  .marker-shell.marker-scoring .marker-submit-row button{height:48px;min-height:48px}
}

/* Kasowanie pozostaje prostą ikoną — opis dostępny jest dla czytników ekranu. */
.marker-shell.marker-scoring .keypad button[data-key="back"]{font-size:0}
.marker-shell.marker-scoring .keypad button[data-key="back"]::before{content:"\232B";font-size:clamp(1.7rem,5.4vw,3rem);font-weight:900;line-height:1}

/* R19: czytelność markera z dystansu — końcówka, postęp i ostatnie wizyty. */
.player-turn-count{display:grid;grid-row:1/-1;grid-column:2;place-items:center;align-content:center;min-width:4.9rem;min-height:100%;padding:.18rem .4rem;border-left:1px solid #55738e;background:#123957;color:#fff;font-variant-numeric:tabular-nums;text-align:center}
.player-turn-count b{display:block;font-size:clamp(1.7rem,4.7vw,3.4rem);font-weight:950;line-height:.82}
.player-turn-count small{display:block;margin-top:.2rem;color:#d8ecff;font-size:clamp(.48rem,1.25vw,.68rem);font-weight:950;letter-spacing:.08em;line-height:1;text-transform:uppercase}
.marker-player .player-score{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto;place-items:center}
.marker-player .player-score-label,.marker-player .player-score-value,.marker-player .player-set-score{grid-column:1}
.marker-shell.marker-active .player-last-visit{border:2px solid #537b99;background:#102d49}
.marker-shell.marker-active .player-last-visit strong{font-size:clamp(1rem,2.6vw,1.7rem);font-weight:950}
.marker-shell.marker-active .visit-pair-row.late-leg-row{position:relative;border-block:2px solid #f2b92c;background:linear-gradient(90deg,#754900 0,#2d230f 42%,#12334c 100%);box-shadow:inset 5px 0 #ffd23f}
.marker-shell.marker-active .visit-pair-row.late-leg-row>span{display:grid;place-items:center;align-content:center;color:#fff4bc;font-weight:950;text-shadow:0 1px 2px #000}
.marker-shell.marker-active .visit-pair-row.late-leg-row>span b{font-size:clamp(.9rem,2.2vw,1.45rem);line-height:1}
.marker-shell.marker-active .visit-pair-row.late-leg-row>span small{margin-top:.08rem;color:#ffe174;font-size:clamp(.38rem,.85vw,.55rem);font-weight:950;letter-spacing:.05em;line-height:1;text-transform:uppercase}
.marker-shell.marker-active .late-leg-row .visit-history-cell{border-color:#f2b92c;background:#142f48;box-shadow:inset 0 0 0 1px #ffd23f33}
.marker-shell.marker-active .late-leg-row .visit-history-cell>span b{font-size:clamp(1.25rem,3.4vw,2rem);font-weight:950}
.marker-shell.marker-active .late-entry-cell{border:3px solid #ffd23f!important;background:#2a250d!important;box-shadow:0 0 0 3px #ffd23f55,0 0 24px #ffd23f66!important}
.marker-shell.marker-active .late-entry-cell .score-input{height:100%;min-height:0!important;background:transparent!important;color:#fff!important;font-size:clamp(3.4rem,10vw,6.4rem)!important;font-weight:950!important;letter-spacing:.02em!important;text-shadow:0 2px 2px #000}
.marker-shell.marker-active .late-entry-cell::before{content:"KOŃCÓWKA LEGA — WPISZ WYNIK";position:absolute;top:.2rem;left:.3rem;z-index:1;color:#ffe174;font-size:clamp(.5rem,1.1vw,.75rem);font-weight:950;letter-spacing:.08em;pointer-events:none}
/* Ukrywa wyłącznie ewentualny zegar przedmeczowy, gdy wybrano zaczynającego
   albo wpisano pierwszą wizytę. Nie dotyka czasu systemowego ani licznika gry. */
.marker-shell.marker-game-started [data-marker-countdown],.marker-shell.marker-game-started .marker-countdown,.marker-shell.marker-game-started .match-countdown{display:none!important}
@media (min-width:601px) and (max-width:1400px){
  .marker-shell.marker-scoring #entryPanel{grid-template-rows:clamp(210px,29dvh,286px) minmax(0,1fr) auto}
  .marker-shell.marker-scoring .keypad{grid-template-rows:repeat(4,clamp(55px,7.2dvh,76px))}
  .marker-shell.marker-scoring .keypad button{min-height:clamp(55px,7.2dvh,76px);height:clamp(55px,7.2dvh,76px);font-size:clamp(1.55rem,4.7vw,2.7rem)}
  .marker-shell.marker-scoring .paired-visit-list{min-height:0}
  .marker-shell.marker-scoring .visit-pair-row{min-height:66px}
}
@media (max-width:600px){
  .player-turn-count{min-width:3.35rem;padding:.15rem .2rem}
  .player-turn-count b{font-size:1.45rem}
  .player-turn-count small{font-size:.4rem}
  .marker-shell.marker-active .late-entry-cell .score-input{font-size:3rem!important}
}

/* Samsung Galaxy Tab A7 / tablet 10–11" poziomo (ok. 1200–1400 CSS px).
   W tym zakresie nie stosujemy desktopowego układu dwóch kolumn: najpierw
   pełna tablica obu zawodników, później pełna szerokość historii i klawiatury. */
@media (min-width:1181px) and (max-width:1400px) and (max-height:900px){
  .marker-shell.marker-scoring>main{height:100dvh;min-height:100dvh;overflow:hidden}
  .marker-shell.marker-scoring .marker-main{width:100%;max-width:none;height:100%;min-height:0;grid-template-columns:1fr;grid-template-rows:minmax(0,37dvh) minmax(0,1fr);gap:.45rem;padding:.45rem}
  .marker-shell.marker-scoring .marker-main>.card{min-height:0;padding:.38rem}
  .marker-shell.marker-scoring #matchWorkspace{grid-column:1}
  .marker-shell.marker-scoring #matchPanel{display:grid;height:100%;grid-template-rows:42px minmax(0,1fr);gap:.25rem}
  .marker-shell.marker-scoring .marker-match-head{min-height:42px;margin:0;padding:.1rem .25rem}
  .marker-shell.marker-scoring .marker-scoreboard{height:100%;min-height:0;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"first second";grid-template-rows:minmax(0,1fr)}
  .marker-shell.marker-scoring .marker-score-meta{display:none}
  .marker-shell.marker-scoring .marker-player{grid-template-rows:18px 30px minmax(0,1fr) 64px;gap:.16rem;padding:.38rem .65rem}
  .marker-shell.marker-scoring .marker-player .remaining{font-size:clamp(4.5rem,11vw,7.4rem)}
  .marker-shell.marker-scoring .player-last-visit{min-height:32px;padding:.18rem .55rem}
  .marker-shell.marker-scoring .player-last-visit strong{font-size:1.3rem}
  .marker-shell.marker-scoring .marker-player .player-score{min-height:64px}
  .marker-shell.marker-scoring .player-turn-count{min-width:6.5rem}
  .marker-shell.marker-scoring .player-turn-count b{font-size:3rem}
  .marker-shell.marker-scoring #entryPanel{grid-template-columns:1fr;grid-template-rows:clamp(205px,30dvh,270px) minmax(0,1fr) auto;gap:.4rem}
  .marker-shell.marker-scoring .marker-history{grid-row:1;min-height:0}
  .marker-shell.marker-scoring #markerInputs{grid-row:2;min-height:0}
  .marker-shell.marker-scoring .paired-visit-list{min-height:0;max-height:none}
  .marker-shell.marker-scoring .visit-pair-row{min-height:78px;padding:.42rem}
  .marker-shell.marker-scoring .visit-history-cell>span b{font-size:1.75rem}
  .marker-shell.marker-scoring .keypad{grid-template-rows:repeat(4,minmax(54px,1fr));gap:.38rem}
  .marker-shell.marker-scoring .keypad button{min-height:54px;font-size:2.25rem}
  .marker-shell.marker-scoring .marker-submit-row,.marker-shell.marker-scoring .marker-submit-row button{height:48px;min-height:48px}
}

/* Marker jest narzędziem tabletowym także wtedy, gdy przeglądarka zgłasza
   nietypową skalę DPI. Ten układ celowo wygrywa z układem desktopowym. */
.marker-shell.marker-scoring>main{height:100dvh;min-height:100dvh;overflow:hidden}
.marker-shell.marker-scoring .marker-main{width:100%;max-width:none;height:100%;min-height:0;grid-template-columns:1fr;grid-template-rows:minmax(0,33dvh) minmax(0,1fr);gap:.45rem;padding:.45rem}
.marker-shell.marker-scoring .marker-main>.card{min-height:0;padding:.38rem}
.marker-shell.marker-scoring #matchWorkspace{grid-column:1}
.marker-shell.marker-scoring #matchPanel{display:grid;height:100%;grid-template-rows:42px minmax(0,1fr);gap:.25rem}
.marker-shell.marker-scoring .marker-match-head{min-height:42px;margin:0;padding:.1rem .25rem}
.marker-shell.marker-scoring .marker-scoreboard{height:100%;min-height:0;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"first second";grid-template-rows:minmax(0,1fr)}
.marker-shell.marker-scoring .marker-score-meta{display:none}
.marker-shell.marker-scoring .marker-player{grid-template-rows:18px 30px minmax(0,1fr) 64px;gap:.16rem;padding:.38rem .65rem}
.marker-shell.marker-scoring .marker-player .remaining{font-size:clamp(4.5rem,11vw,7.4rem)}
.marker-shell.marker-scoring .player-last-visit{min-height:32px;padding:.18rem .55rem}
.marker-shell.marker-scoring .player-last-visit strong{font-size:1.3rem}
.marker-shell.marker-scoring .marker-player .player-score{min-height:64px}
.marker-shell.marker-scoring .player-turn-count{min-width:6.5rem}
.marker-shell.marker-scoring .player-turn-count b{font-size:3rem}
.marker-shell.marker-scoring #entryPanel{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(420px,.84fr);grid-template-rows:minmax(0,1fr);gap:.5rem}
.marker-shell.marker-scoring .marker-history{grid-column:1;grid-row:1;min-height:0}
.marker-shell.marker-scoring #markerInputs{grid-column:2;grid-row:1;min-height:0}
.marker-shell.marker-scoring .paired-visit-list{min-height:0;max-height:none}
.marker-shell.marker-scoring .visit-pair-row{min-height:78px;padding:.42rem}
.marker-shell.marker-scoring .visit-history-cell>span b{font-size:1.75rem}
.marker-shell.marker-scoring .keypad{grid-template-rows:repeat(4,minmax(54px,1fr));gap:.38rem}
.marker-shell.marker-scoring .keypad button{min-height:54px;font-size:2.25rem}
.marker-shell.marker-scoring .marker-submit-row,.marker-shell.marker-scoring .marker-submit-row button{height:48px;min-height:48px}

/* Galaxy Tab A7 w pionie (1200 × 2000 px fizycznych).
   Historia ma pierwszeństwo przed klawiaturą: dwie ostatnie kolejki są stale
   widoczne, a klawiatura zajmuje wyłącznie pozostałą część ekranu. */
@media (orientation:portrait){
  .marker-shell.marker-scoring .marker-main{grid-template-rows:minmax(0,31dvh) minmax(0,1fr);padding:.35rem;gap:.35rem}
  .marker-shell.marker-scoring .marker-match-head{min-height:34px}
  .marker-shell.marker-scoring .marker-player{grid-template-rows:15px 26px minmax(0,1fr) 54px;padding:.28rem .35rem}
  .marker-shell.marker-scoring .marker-player .remaining{font-size:clamp(3.8rem,15vw,6.4rem)}
  .marker-shell.marker-scoring .player-last-visit{min-height:25px;padding:.1rem .25rem}
  .marker-shell.marker-scoring .player-last-visit strong{font-size:1.05rem}
  .marker-shell.marker-scoring .marker-player .player-score{min-height:54px}
  .marker-shell.marker-scoring .player-turn-count{min-width:4.75rem}
  .marker-shell.marker-scoring .player-turn-count b{font-size:2.2rem}
  .marker-shell.marker-scoring #entryPanel{grid-template-columns:1fr;grid-template-rows:clamp(220px,30dvh,330px) minmax(0,1fr);gap:.35rem}
  .marker-shell.marker-scoring .marker-history{grid-column:1;grid-row:1}
  .marker-shell.marker-scoring #markerInputs{grid-column:1;grid-row:2}
  .marker-shell.marker-scoring .visit-pair-row{min-height:72px}
  .marker-shell.marker-scoring .visit-history-cell>span b{font-size:1.45rem}
  .marker-shell.marker-scoring .keypad{grid-template-rows:repeat(4,minmax(50px,1fr));gap:.32rem}
  .marker-shell.marker-scoring .keypad button{min-height:50px;font-size:clamp(1.65rem,7vw,2.5rem)}
  .marker-shell.marker-scoring .marker-submit-row,.marker-shell.marker-scoring .marker-submit-row button{height:46px;min-height:46px}
}

/* Publiczny panel uczestników: szybkie sprawdzenie nicku bez przewijania tabeli. */
.registration-roster{overflow:hidden;border-color:#315b7f;background:linear-gradient(145deg,#0b2946 0%,#071a2e 72%)}
.registration-roster .section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}
.registration-roster .section-heading h2{margin:.05rem 0}
.compact-button{width:auto;min-height:2.45rem;padding:.45rem .8rem}
.registration-roster-summary{display:flex;align-items:baseline;gap:.65rem;margin:0 0 .8rem;padding:.8rem 1rem;border-left:4px solid var(--accent);border-radius:.2rem .6rem .6rem .2rem;background:linear-gradient(90deg,#173f62,#0d2742);color:#d7e7f6}
.registration-roster-summary strong{color:#fff;font-size:clamp(1.65rem,4vw,2.35rem);font-variant-numeric:tabular-nums;letter-spacing:-.04em;line-height:1}
.registration-roster-summary strong small{color:var(--accent);font-size:.6em;font-weight:850;letter-spacing:0}
.registration-roster-summary span{font-size:.88rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.registration-roster-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:.5rem;margin:0;padding:0;list-style:none}
.registration-roster-list li{display:flex;align-items:center;gap:.62rem;min-width:0;min-height:3rem;padding:.55rem .65rem;border:1px solid #315b7f;border-radius:.65rem;background:linear-gradient(135deg,#0a2037,#081a2d);box-shadow:0 5px 14px #0003;overflow-wrap:anywhere}
.registration-roster-list li strong{min-width:0;color:#fff;font-size:.94rem;letter-spacing:.025em;overflow-wrap:anywhere}
.registration-roster-list .roster-position{display:grid;flex:0 0 1.72rem;place-items:center;width:1.72rem;height:1.72rem;border:1px solid #79b9ec;border-radius:50%;background:#174e7d;color:#fff;font-size:.8rem;font-weight:950;font-variant-numeric:tabular-nums;text-shadow:0 1px 2px #000b}
.registration-roster-list li.muted{display:block;color:var(--muted);font-weight:650}
.registration-waitlist{margin-top:1rem;padding:1rem;border:1px dashed #6b87a3;border-radius:.65rem;background:#061729}
.registration-waitlist summary{cursor:pointer;color:#ffe174;font-weight:950;letter-spacing:.02em}
.registration-waitlist .registration-roster-list{margin-top:.8rem}
.registration-waitlist .roster-position{background:#516b85;color:#fff}
.projected-seeding{border-color:#7a6113;background:linear-gradient(145deg,#302406 0%,#151407 72%)}
.projected-seeding .section-heading h2{margin:.05rem 0}
.projected-seeding-note{margin:0 0 .8rem;padding:.72rem .9rem;border-left:4px solid #ffd51f;border-radius:.2rem .6rem .6rem .2rem;background:#352b09;color:#fff4bf;font-weight:700}
.projected-seeding-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.5rem;margin:0;padding:0;list-style:none}
.projected-seeding-list li{display:flex;align-items:center;gap:.65rem;min-height:3.35rem;padding:.55rem .7rem;border:1px solid #806c22;border-radius:.65rem;background:linear-gradient(135deg,#252006,#161406);box-shadow:0 5px 14px #0003}
.projected-seeding-position{display:grid;flex:0 0 1.8rem;place-items:center;width:1.8rem;height:1.8rem;border-radius:50%;background:#ffd51f;color:#171204;font-weight:950;font-variant-numeric:tabular-nums}
.projected-seeding-list strong,.projected-seeding-list small{display:block}.projected-seeding-list strong{color:#fff}.projected-seeding-list small{margin-top:.13rem;color:#e7d68a;font-size:.76rem;font-weight:650}
@media(max-width:560px){.registration-roster-list{grid-template-columns:1fr}.registration-roster .section-heading{align-items:flex-end}.registration-roster .section-heading h2{font-size:1.35rem}.registration-roster-summary{padding:.7rem .8rem}.registration-roster-summary span{font-size:.74rem}}

/* Trzyminutowy zegar wywołania: widoczny tylko przed rozpoczęciem meczu. */
.marker-call-countdown{--marker-countdown-elapsed:0;--marker-countdown-color:hsl(calc(48 - (48 * var(--marker-countdown-elapsed))) 100% 62%);display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:.6rem;max-width:680px;min-height:80px;margin:.5rem auto;padding:.45rem .75rem;border:1px solid color-mix(in srgb,var(--marker-countdown-color) 55%,#315b7f);border-radius:.8rem;background:linear-gradient(90deg,color-mix(in srgb,var(--marker-countdown-color) 16%,transparent),transparent);color:var(--marker-countdown-color)}
.marker-call-countdown svg{width:68px;height:68px;transform:rotate(-90deg)}.marker-call-countdown circle{fill:none;stroke-width:8}.marker-call-countdown__track{stroke:#ffffff1c}.marker-call-countdown__progress{stroke:var(--marker-countdown-color);stroke-linecap:round;stroke-dasharray:264;stroke-dashoffset:calc(264 * var(--marker-countdown-elapsed));transition:stroke .8s linear,stroke-dashoffset .8s linear}.marker-call-countdown>div{display:grid;gap:.08rem;min-width:0}.marker-call-countdown small{color:#9fb0c0;font-size:.62rem;font-weight:950;letter-spacing:.1em}.marker-call-countdown strong{color:var(--marker-countdown-color);font-size:clamp(2rem,6vw,3rem);line-height:1;font-variant-numeric:tabular-nums}.marker-call-countdown span{color:#eef7ff;font-size:.78rem;font-weight:850}.marker-call-countdown.is-expired{--marker-countdown-color:#ff3b3b;background:linear-gradient(90deg,#ff3b3b2b,transparent)}.marker-call-countdown.is-expired span{color:#ff9090;font-weight:950}
.marker-shell.marker-game-started #markerCallCountdown{display:none!important}

/* Centrum Turnieju: obydwa sposoby przeglądania drabinki są dostępne na telefonie. */
.bracket-match{grid-template-columns:minmax(0,1fr);justify-items:stretch}
.bracket-round-nav[hidden]{display:none!important}
.bracket-tree-hint[hidden]{display:none!important}
.bracket-tree-hint{margin:0;padding:.45rem .7rem;border-bottom:1px solid #294a6c;background:#0a203a;color:var(--muted);font-size:.72rem}
.bracket-round-nav{display:flex;align-items:center;justify-content:space-between;gap:.65rem;padding:.6rem 1.25rem;border-bottom:1px solid #294a6c;background:#0a203a;text-align:center}
.bracket-round-nav>div{display:grid;gap:.08rem;min-width:0}
.bracket-round-nav strong{overflow:hidden;color:#fff;text-overflow:ellipsis;white-space:nowrap}
.bracket-round-nav span{color:var(--muted);font-size:.72rem}
.bracket-round-nav button{flex:0 0 42px;min-height:42px;padding:.2rem;font-size:1.35rem}
.bracket-round-nav button:disabled{opacity:.35}
@media(max-width:900px){
  .bracket-tree .bracket-round-head{min-height:40px}
  .bracket-tree .bracket-round-head h3{font-size:.76rem;line-height:1.12}
  .bracket-tree .bracket-round-head span{font-size:.64rem;line-height:1.1}
  .bracket-tree .bracket-match{width:226px;height:92px;min-height:92px;max-height:92px}
  .bracket-tree .bracket-match__top{grid-template-columns:minmax(0,1fr) auto;min-height:24px;padding:.24rem .42rem;font-size:.68rem;line-height:1.1}
  .bracket-tree .bracket-match__top>span{display:none}
  .bracket-tree .bracket-match__top em{max-width:140px;font-size:.68rem}
  .bracket-tree .bracket-match__top strong{font-size:.7rem}
  .bracket-tree .bracket-player{min-height:30px;padding:.24rem .42rem;font-size:.76rem;line-height:1.15}
  .bracket-tree .bracket-player b{min-width:26px;font-size:.9rem}
  .bracket-tree .bracket-bye{min-height:48px;max-height:48px;padding:.32rem 2.8rem .32rem .5rem}
  .bracket-tree .bracket-bye strong{font-size:.76rem}
  .bracket-tree .bracket-bye small{font-size:.66rem}
  .bracket-tree .bracket-bye .match-code{font-size:.64rem}
}
@media(max-width:760px){
  .bracket-section__head{display:grid;gap:.5rem;align-items:start}
  .bracket-section__head .bracket-tabs{width:100%;max-width:100%}
  .bracket-toolbar{display:grid;grid-template-columns:1fr;gap:.5rem;padding:.55rem .7rem}
  .bracket-toolbar .segmented{grid-row:1;display:grid;grid-template-columns:1fr 1fr;width:100%}
  .bracket-toolbar .segmented button{min-height:42px;padding:.4rem .5rem}
  .bracket-toolbar .bracket-search{grid-row:2;max-width:none;font-size:.7rem}
  .bracket-toolbar .bracket-search input{min-height:42px;margin-top:.25rem}
  .bracket-toolbar .zoom-controls{display:none!important}
  .bracket-round-nav{padding:.5rem .7rem}
  .bracket-list{gap:.25rem;padding:.4rem!important}
  .bracket-list .round-list{gap:.38rem}
  .bracket-list .round-list__head{display:none}
  .bracket-list .bracket-match{min-height:82px;box-shadow:none}
  .bracket-list .bracket-match__top{grid-template-columns:minmax(0,1fr) auto;min-height:23px;padding:.18rem .42rem;font-size:.68rem}
  .bracket-list .bracket-match__top>span{display:none}
  .bracket-list .bracket-match__top em{font-size:.68rem}
  .bracket-list .bracket-player{min-height:29px;padding:.24rem .45rem;font-size:.78rem}
  .bracket-list .bracket-player b{min-width:30px;font-size:.9rem}
  .bracket-list .bracket-flow{display:none}
  .bracket-list .bracket-bye{min-height:48px;max-height:48px;padding:.35rem 3.8rem .35rem .65rem}
  .bracket-viewport:has(.bracket-list){height:min(62dvh,620px);min-height:240px}
}
