/* Nočný štadión: tmavomodré tribúny, zelený trávnik, žlté svetlo reflektorov */
:root {
  /* denný štadión: svetlé tribúny, zelený trávnik, slnečná žltá */
  --bg: #eef3f8;
  --bg2: #e4ebf3;
  --panel: #ffffff;
  --panel2: #f4f7fb;
  --panel3: #e8eef6;
  --line: #dbe3ee;
  --line2: #c7d3e2;
  --line-soft: #e9eef4;
  --ink: #11203a;
  --mute: #56667f;
  --dim: #8794a9;
  --flood: #ffc83d;
  --flood-ink: #2a1d00;
  --flood-text: #9a6800;
  --hl: rgba(255, 200, 61, .18);
  --grass: #2f9c54;
  --grass2: #288a49;
  --good: #0f9d55;
  --bad: #e0364b;
  --warn: #cf7c00;
  --info: #1c74d9;
  --gk: #ffcf4a;
  --df: #7fc1ff;
  --mf: #62e2a1;
  --fw: #ff8f8f;
  --top-bg: rgba(255, 255, 255, .88);
  --stadium-bg: radial-gradient(ellipse at center, #ffffff 0%, #dde7f1 80%);
  --stand-bg: #d3dde9;
  --glow1: rgba(255, 200, 61, .22);
  --glow2: rgba(28, 116, 217, .10);
  --card-shadow: 0 1px 2px rgba(16, 32, 64, .05), 0 8px 22px -14px rgba(16, 32, 64, .22);
  --display: 'Barlow Condensed', 'Arial Narrow', 'Roboto Condensed', system-ui, sans-serif;
  --body: 'Barlow', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --r: 10px;
  --r-lg: 16px;
  --shadow: 0 12px 30px -14px rgba(16, 32, 64, .35);
  color-scheme: light;
}
:root[data-theme="dark"] {
  --bg: #0a1120; --bg2: #0d172a; --panel: #111d33; --panel2: #16253f; --panel3: #1c2e4e;
  --line: #22355a; --line2: #2c4470; --line-soft: var(--line-soft);
  --ink: #eaf0fb; --mute: #91a2c2; --dim: #5f7297;
  --flood: #ffd54a; --flood-ink: #1d1500; --flood-text: #ffd54a; --hl: rgba(255, 213, 74, .1);
  --good: #3fdc8a; --bad: #ff5d6e; --warn: #ffb547; --info: #62b5ff;
  --gk: #ffcf4a; --df: #62b5ff; --mf: #3fdc8a; --fw: #ff7070;
  --top-bg: rgba(10, 17, 32, .86);
  --stadium-bg: radial-gradient(ellipse at center, #13233f 0%, #0a1120 75%);
  --stand-bg: #1a2944;
  --glow1: rgba(255, 213, 74, .09); --glow2: rgba(98, 181, 255, .07);
  --card-shadow: none;
  --shadow: 0 10px 30px -12px rgba(0, 0, 0, .6);
  color-scheme: dark;
}
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
body {
  background: var(--bg);
  color: var(--ink);
  font: 15px/1.5 var(--body);
  -webkit-font-smoothing: antialiased;
  font-variant-numeric: tabular-nums;
}
body::before {
  content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(1200px 500px at 15% -10%, var(--glow1), transparent 60%),
    radial-gradient(900px 500px at 100% 0%, var(--glow2), transparent 60%),
    transparent;
}
a { color: var(--info); }
button, input, select { font: inherit; color: inherit; }
h1, h2, h3, h4 { font-family: var(--display); margin: 0; line-height: 1.05; text-wrap: balance; letter-spacing: .01em; }
h1 { font-size: clamp(30px, 4vw, 44px); font-weight: 800; font-style: italic; text-transform: uppercase; }
h2 { font-size: 26px; font-weight: 700; text-transform: uppercase; }
h3 { font-size: 19px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; }
.label { font: 600 12px/1.2 var(--body); text-transform: uppercase; letter-spacing: .09em; color: var(--mute); }
.mute { color: var(--mute); }
.dim { color: var(--dim); }
.good { color: var(--good); } .bad { color: var(--bad); } .warn { color: var(--warn); }
.num { font-family: var(--display); font-weight: 700; letter-spacing: .01em; }
:focus-visible { outline: 2px solid var(--flood); outline-offset: 2px; border-radius: 6px; }

/* ---------- Boot ---------- */
.boot { height: 100vh; display: grid; place-items: center; }
.boot-ball { width: 46px; height: 46px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #fff, #c9d3e6 60%, #8090ad); animation: bounce .7s cubic-bezier(.5,0,.5,1) infinite alternate; box-shadow: 0 30px 20px -18px rgba(0,0,0,.6); }
@keyframes bounce { to { transform: translateY(-40px) rotate(180deg); } }

/* ---------- Shell ---------- */
.shell { display: grid; grid-template-columns: 236px minmax(0, 1fr); min-height: 100vh; }
.side {
  position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; gap: 6px;
  padding-block: 18px; padding-left: max(14px, env(safe-area-inset-left, 0px)); padding-right: 14px;
  background: linear-gradient(180deg, var(--bg2), var(--bg)); border-right: 1px solid var(--line);
}
.brand { display: flex; align-items: center; gap: 10px; padding: 4px 8px 16px; }
.brand-mark { width: 30px; height: 30px; }
.brand-name { font: 800 italic 21px/1 var(--display); text-transform: uppercase; letter-spacing: .02em; }
.brand-name span { color: var(--flood-text); }
.nav { display: flex; flex-direction: column; gap: 2px; }
.nav a {
  display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: var(--r);
  color: var(--mute); text-decoration: none; font-weight: 600; transition: background .15s, color .15s;
}
.nav a svg { width: 20px; height: 20px; flex: none; }
.nav a:hover { background: var(--panel); color: var(--ink); }
.nav a.on { background: var(--panel2); color: var(--ink); box-shadow: inset 3px 0 0 var(--flood); }
.nav a .badge { margin-left: auto; }
.side-foot { margin-top: auto; display: flex; flex-direction: column; gap: 4px; padding: 8px 0; }
.side-foot .btn { justify-content: flex-start; }
.main { min-width: 0; display: flex; flex-direction: column; }
.top {
  position: sticky; top: env(safe-area-inset-top, 0px); z-index: 20; display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
  padding-block: 12px; padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px));
  background: var(--top-bg); backdrop-filter: blur(12px); border-bottom: 1px solid var(--line);
}
.top-club { display: flex; align-items: center; gap: 10px; min-width: 0; }
.top-club .crest { width: 34px; height: 38px; }
.top-club b { font: 700 19px/1 var(--display); text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.top-stats { display: flex; gap: 8px; margin-left: auto; flex-wrap: wrap; }
.stat-chip { display: flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 999px; background: var(--panel); border: 1px solid var(--line); white-space: nowrap; }
.stat-chip svg { width: 16px; height: 16px; color: var(--mute); }
.stat-chip b { font: 700 16px/1 var(--display); }
.stat-chip.live { text-decoration: none; color: var(--ink); border-color: rgba(255, 93, 110, .5); background: rgba(255, 93, 110, .12); cursor: pointer; }
.content {
  padding-block: 22px 40px; padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px));
  width: 100%; max-width: 1280px; margin: 0 auto; animation: enter .35s ease both;
}
@keyframes enter { from { opacity: .001; transform: translateY(8px); } }
.page-head { display: flex; align-items: end; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 18px; }
.page-head p { margin: 6px 0 0; color: var(--mute); max-width: 62ch; }
.bottom-nav { display: none; }

@media (max-width: 880px) {
  .shell { grid-template-columns: minmax(0, 1fr); }
  .side { display: none; }
  .content { padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)); }
  .bottom-nav {
    display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; justify-content: space-around;
    padding: 6px max(6px, env(safe-area-inset-right, 0px)) calc(6px + env(safe-area-inset-bottom, 0px)) max(6px, env(safe-area-inset-left, 0px));
    background: var(--top-bg); backdrop-filter: blur(12px); border-top: 1px solid var(--line);
  }
  .bottom-nav a { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 4px 2px; min-width: 0; flex: 1; color: var(--dim); text-decoration: none; font: 600 10.5px/1.1 var(--body); }
  .bottom-nav a svg { width: 22px; height: 22px; }
  .bottom-nav a.on { color: var(--flood-text); }
  .top-stats .hide-m { display: none; }
}

/* ---------- Karty, mriežky ---------- */
.grid { display: grid; gap: 16px; }
.g2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.g3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.g4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.g-main { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); }
@media (max-width: 1080px) { .g4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .g3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .g-main { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 620px) { .g2, .g3 { grid-template-columns: minmax(0, 1fr); } }
.card { background: var(--panel); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 18px; min-width: 0; box-shadow: var(--card-shadow); }
.card-h { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 14px; }
.card.flush { padding: 0; overflow: hidden; }
.card.flush .card-h { padding: 16px 18px 0; }
.stack { display: flex; flex-direction: column; gap: 16px; }
.row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.spacer { flex: 1; }

.kpi { display: flex; flex-direction: column; gap: 6px; padding: 16px 18px; background: var(--panel); border: 1px solid var(--line); border-radius: var(--r-lg); position: relative; overflow: hidden; box-shadow: var(--card-shadow); }
.kpi .big { font: 700 clamp(22px, 2vw, 30px)/1.05 var(--display); overflow-wrap: anywhere; }
.kpi .label { padding-right: 26px; }
.kpi .sub { font-size: 13px; color: var(--mute); }
.kpi svg.ico { position: absolute; right: 14px; top: 14px; width: 22px; height: 22px; color: var(--dim); }

/* ---------- Tlačidlá ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 16px; border-radius: var(--r);
  border: 1px solid var(--line2); background: var(--panel2); font-weight: 600; cursor: pointer; text-decoration: none; white-space: nowrap;
  transition: transform .08s, background .15s, border-color .15s, box-shadow .15s;
}
.btn:hover { background: var(--panel3); border-color: var(--dim); }
.btn:active { transform: translateY(1px) scale(.99); }
.btn:disabled { opacity: .45; cursor: not-allowed; transform: none; }
.btn svg { width: 18px; height: 18px; }
.btn-primary { background: var(--flood); color: var(--flood-ink); border-color: var(--flood); font-weight: 700; box-shadow: 0 6px 20px -8px rgba(255, 213, 74, .7); }
.btn-primary:hover { filter: brightness(1.06); }
.btn-good { background: rgba(63, 220, 138, .14); border-color: rgba(63, 220, 138, .45); color: var(--good); }
.btn-good:hover { background: rgba(63, 220, 138, .22); border-color: var(--good); }
.btn-bad { background: rgba(255, 93, 110, .1); border-color: rgba(255, 93, 110, .4); color: var(--bad); }
.btn-bad:hover { background: rgba(255, 93, 110, .18); border-color: var(--bad); }
.btn-ghost { background: transparent; border-color: transparent; color: var(--mute); }
.btn-ghost:hover { background: var(--panel2); color: var(--ink); border-color: transparent; }
.btn-sm { padding: 6px 10px; font-size: 13px; border-radius: 8px; }
.btn-lg { padding: 14px 22px; font-size: 17px; }
.btn.confirming { background: var(--warn); color: #241600; border-color: var(--warn); }

.seg { display: inline-flex; padding: 3px; gap: 2px; background: var(--bg2); border: 1px solid var(--line); border-radius: 11px; flex-wrap: wrap; }
.seg button { border: 0; background: transparent; padding: 7px 12px; border-radius: 8px; color: var(--mute); font-weight: 600; cursor: pointer; font-size: 14px; }
.seg button.on { background: var(--panel3); color: var(--ink); box-shadow: 0 1px 0 rgba(255,255,255,.06) inset; }
.seg button:hover:not(.on) { color: var(--ink); }

.tabs { display: flex; gap: 4px; border-bottom: 1px solid var(--line); margin-bottom: 16px; overflow-x: auto; }
.tabs button { border: 0; background: none; padding: 10px 14px; color: var(--mute); font-weight: 700; cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -1px; white-space: nowrap; }
.tabs button.on { color: var(--ink); border-color: var(--flood); }
.tabs button .badge { margin-left: 6px; }

.badge { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: var(--bad); color: #fff; font: 700 11px/1 var(--body); }
.chip { display: inline-flex; align-items: center; gap: 6px; padding: 3px 9px; border-radius: 999px; font: 600 12px/1.4 var(--body); background: var(--panel2); border: 1px solid var(--line); color: var(--mute); white-space: nowrap; }
.chip.live { color: #fff; background: var(--bad); border-color: var(--bad); }
.chip.live::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #fff; animation: pulse 1.2s infinite; }
@keyframes pulse { 50% { opacity: .25; } }

input[type=text], input[type=password], input[type=email], input[type=number], select {
  width: 100%; padding: 11px 13px; border-radius: var(--r); border: 1px solid var(--line2); background: var(--bg2); color: var(--ink); outline: none;
}
input:focus, select:focus { border-color: var(--flood); box-shadow: 0 0 0 3px rgba(255, 213, 74, .15); }
.field { display: flex; flex-direction: column; gap: 6px; }
input[type=range] { width: 100%; accent-color: var(--flood); }

/* ---------- Pozície, overall, energia ---------- */
.pos { display: inline-grid; place-items: center; width: 30px; height: 20px; border-radius: 5px; font: 700 11px/1 var(--body); letter-spacing: .04em; color: #0a1120; flex: none; }
.pos-GK { background: var(--gk); } .pos-DF { background: var(--df); } .pos-MF { background: var(--mf); } .pos-FW { background: var(--fw); }
.ovr { display: inline-grid; place-items: center; min-width: 38px; height: 30px; padding: 0 6px; border-radius: 8px; font: 700 18px/1 var(--display); background: var(--panel3); border: 1px solid var(--line2); }
.ovr.t1 { color: var(--mute); } .ovr.t2 { color: var(--good); } .ovr.t3 { color: var(--info); } .ovr.t4 { color: var(--flood-text); border-color: var(--flood); background: var(--hl); }
.ebar { width: 54px; height: 6px; border-radius: 3px; background: var(--bg2); overflow: hidden; flex: none; }
.ebar i { display: block; height: 100%; border-radius: 3px; transition: width .6s; }
.shirt { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; font: 700 13px/1 var(--display); flex: none; border: 2px solid; }
.flag { font: 600 11px/1 var(--body); color: var(--dim); letter-spacing: .05em; }

/* ---------- Tabuľky ---------- */
.tbl-wrap { overflow-x: auto; }
table.tbl { width: 100%; border-collapse: collapse; font-size: 14px; }
.tbl th { text-align: left; font: 600 11.5px/1 var(--body); text-transform: uppercase; letter-spacing: .08em; color: var(--dim); padding: 10px 10px; border-bottom: 1px solid var(--line); white-space: nowrap; }
.tbl td { padding: 9px 10px; border-bottom: 1px solid var(--line-soft); white-space: nowrap; }
.tbl tr:last-child td { border-bottom: 0; }
.tbl tbody tr { transition: background .12s; }
.tbl tbody tr.click { cursor: pointer; }
.tbl tbody tr.click:hover { background: var(--panel2); }
.tbl tr.me td { background: var(--hl); }
.tbl tr.me td:first-child { box-shadow: inset 3px 0 0 var(--flood); }
.tbl .r { text-align: right; } .tbl .c { text-align: center; }
.tbl .pts { font: 700 17px/1 var(--display); }
.team-cell { display: flex; align-items: center; gap: 9px; min-width: 0; }
.team-cell .crest { width: 22px; height: 25px; flex: none; }
.team-cell span { overflow: hidden; text-overflow: ellipsis; }
.form { display: inline-flex; gap: 3px; }
.form i { width: 16px; height: 16px; border-radius: 4px; display: grid; place-items: center; font: 700 9.5px/1 var(--body); font-style: normal; color: #0a1120; }
.form .W { background: var(--good); } .form .D { background: #9aa8c2; } .form .L { background: var(--bad); }
.zone-1 td:first-child { color: var(--flood-text); font-weight: 700; }

.plist { display: flex; flex-direction: column; }
.prow { display: flex; align-items: center; gap: 10px; padding: 9px 12px; border-bottom: 1px solid var(--line-soft); cursor: pointer; transition: background .12s; min-width: 0; }
.prow:last-child { border-bottom: 0; }
.prow:hover { background: var(--panel2); }
.prow .nm { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.prow .nm b { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.prow .nm small { color: var(--dim); font-size: 12px; }
.prow.sel { background: var(--hl); box-shadow: inset 3px 0 0 var(--flood); }
.prow.in-xi { opacity: .55; }
.prow.unav b { text-decoration: line-through; color: var(--mute); }
.prow[draggable=true] { cursor: grab; }

/* ---------- Erb ---------- */
.crest { display: block; filter: drop-shadow(0 4px 6px rgba(0,0,0,.35)); }

/* ---------- Najbližší zápas (hero) ---------- */
.fixture-hero {
  position: relative; overflow: hidden; border-radius: var(--r-lg); border: 1px solid var(--line2);
  background:
    radial-gradient(600px 220px at 50% -40px, rgba(255, 213, 74, .18), transparent 70%),
    repeating-linear-gradient(90deg, var(--grass) 0 44px, var(--grass2) 44px 88px);
  padding: 22px 20px 20px;
}
.fixture-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,40,22,.05), rgba(8,30,20,.62)); pointer-events: none; }
.fixture-hero { color: #fff; }
.fixture-hero > * { position: relative; z-index: 1; }
.fx-teams { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; gap: 12px; margin-top: 10px; }
.fx-team { display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; min-width: 0; }
.fx-team .crest { width: 64px; height: 72px; }
.fx-team b { font: 700 clamp(15px, 3.6vw, 20px)/1.05 var(--display); text-transform: uppercase; overflow-wrap: break-word; hyphens: auto; max-width: 100%; }
.fx-mid { text-align: center; }
.fx-vs { font: 800 italic 34px/1 var(--display); color: var(--flood); }
.fx-score { font: 800 52px/1 var(--display); letter-spacing: .02em; }
.countdown { font: 700 26px/1 var(--display); letter-spacing: .03em; }

/* ---------- Ihrisko (zostava) ---------- */
.pitch {
  position: relative; width: 100%; aspect-ratio: 68 / 92; max-width: 100%; border-radius: 14px; overflow: hidden;
  background: repeating-linear-gradient(180deg, var(--grass) 0 8.33%, var(--grass2) 8.33% 16.66%);
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.08), var(--shadow);
}
.pitch-lines { position: absolute; inset: 0; width: 100%; height: 100%; }
.slot { position: absolute; transform: translate(-50%, -50%); display: flex; flex-direction: column; align-items: center; gap: 3px; width: 86px; cursor: pointer; transition: left .45s cubic-bezier(.3,1.3,.5,1), top .45s cubic-bezier(.3,1.3,.5,1); }
.slot .disc {
  width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; font: 800 18px/1 var(--display); position: relative;
  border: 3px solid; box-shadow: 0 6px 12px -4px rgba(0,0,0,.6); transition: transform .15s;
}
.slot:hover .disc { transform: scale(1.08); }
.slot.sel .disc { box-shadow: 0 0 0 4px var(--flood), 0 6px 14px -4px rgba(0,0,0,.6); animation: wiggle .6s ease infinite alternate; }
@keyframes wiggle { to { transform: scale(1.1); } }
.slot.empty .disc { background: rgba(10,17,32,.4) !important; border-style: dashed; border-color: rgba(255,255,255,.6) !important; color: #fff !important; }
.slot .tag { max-width: 86px; padding: 2px 6px; border-radius: 6px; background: rgba(10,17,32,.82); color: #fff; font: 600 11.5px/1.25 var(--body); text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.slot .r { position: absolute; top: -6px; right: -12px; background: #0a1120; color: var(--flood); font: 700 12px/1 var(--display); padding: 3px 5px; border-radius: 6px; border: 1px solid rgba(255,213,74,.4); }
.slot .warnmark { position: absolute; bottom: -4px; right: -8px; width: 18px; height: 18px; border-radius: 50%; background: var(--bad); color: #fff; display: grid; place-items: center; font: 700 12px/1 var(--body); }
.slot.drop .disc { box-shadow: 0 0 0 4px var(--info); }
.pos-role { position: absolute; top: -8px; left: -10px; }

.str-bars { display: flex; flex-direction: column; gap: 12px; }
.str-bar { display: grid; grid-template-columns: 70px minmax(0,1fr) 40px; align-items: center; gap: 10px; }
.str-bar .track { height: 10px; background: var(--bg2); border-radius: 6px; overflow: hidden; }
.str-bar .track i { display: block; height: 100%; border-radius: 6px; transition: width .5s cubic-bezier(.3,1.2,.5,1); }
.str-bar b { font: 700 18px/1 var(--display); text-align: right; }

/* ---------- Tréning ---------- */
.charges { display: flex; gap: 8px; }
.charge { width: 34px; height: 12px; border-radius: 6px; background: var(--bg2); border: 1px solid var(--line2); overflow: hidden; position: relative; }
.charge.full { background: linear-gradient(90deg, var(--flood), #ffb547); border-color: var(--flood); box-shadow: 0 0 12px -2px rgba(255,213,74,.6); }
.charge .fill { position: absolute; inset: 0 auto 0 0; background: rgba(255,213,74,.35); }
.train-card {
  box-shadow: var(--card-shadow); color: var(--ink);
  text-align: left; display: flex; flex-direction: column; gap: 10px; padding: 18px; border-radius: var(--r-lg); background: var(--panel); border: 1px solid var(--line);
  cursor: pointer; transition: transform .15s, border-color .15s, background .15s; position: relative; overflow: hidden;
}
.train-card:hover:not(:disabled) { transform: translateY(-3px); border-color: var(--flood); background: var(--panel2); }
.train-card:disabled { opacity: .5; cursor: not-allowed; }
.train-card .ti { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: var(--hl); color: var(--flood-text); }
.train-card .ti svg { width: 26px; height: 26px; }
.train-card b { font: 700 19px/1.1 var(--display); text-transform: uppercase; }
.train-card small { color: var(--mute); }
.train-card .attrs { display: flex; gap: 6px; flex-wrap: wrap; }
.train-card.running::after { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, transparent 20%, rgba(255,213,74,.18) 50%, transparent 80%); animation: sweep 1s linear infinite; }
@keyframes sweep { from { transform: translateX(-100%); } to { transform: translateX(100%); } }
.delta { color: var(--good); font: 700 14px/1 var(--display); animation: floatup 1.4s ease both; display: inline-block; }
@keyframes floatup { 0% { opacity: 0; transform: translateY(8px) scale(.8); } 25% { opacity: 1; transform: translateY(-2px) scale(1.15); } 100% { opacity: 1; transform: none; } }
.train-res { display: flex; align-items: center; gap: 10px; padding: 8px 12px; border-bottom: 1px solid var(--line-soft); animation: enter .4s ease both; }

/* ---------- Štadión ---------- */
.stadium-wrap { position: relative; border-radius: var(--r-lg); overflow: hidden; background: var(--stadium-bg); border: 1px solid var(--line); box-shadow: var(--card-shadow); }
.stadium-svg { display: block; width: 100%; height: auto; }
.stand-g { cursor: pointer; transition: filter .15s; }
.stand-g:hover { filter: brightness(1.25); }
.stand-g.sel { filter: brightness(1.35) drop-shadow(0 0 10px rgba(255,213,74,.6)); }
.building-stripe { animation: stripes 1s linear infinite; }
@keyframes stripes { to { stroke-dashoffset: -24; } }
.crane-arm { transform-box: fill-box; transform-origin: 0% 50%; animation: crane 3.2s ease-in-out infinite alternate; }
@keyframes crane { from { transform: rotate(-12deg); } to { transform: rotate(14deg); } }
.flood-glow { animation: glow 3s ease-in-out infinite alternate; }
@keyframes glow { from { opacity: .55; } to { opacity: .9; } }
.stand-base { fill: var(--stand-bg); stroke: var(--line2); stroke-width: 1.5; }
.stand-g.sel .stand-base { stroke: var(--flood); stroke-width: 2.5; }
.std-empty { fill: var(--mute); font: 500 11px var(--body); }
.std-lbl { fill: var(--ink); font: 700 12.5px var(--display); letter-spacing: .04em; }
.lvl-pips { display: flex; gap: 3px; flex-wrap: wrap; }
.lvl-pips i { width: 10px; height: 10px; border-radius: 3px; background: var(--bg2); border: 1px solid var(--line2); }
.lvl-pips i.on { background: var(--flood); border-color: var(--flood); }
.progress { height: 10px; border-radius: 6px; background: var(--bg2); overflow: hidden; }
.progress i { display: block; height: 100%; border-radius: 6px; background: repeating-linear-gradient(45deg, var(--flood) 0 10px, #e6b92e 10px 20px); background-size: 28px 28px; animation: prog 1s linear infinite; transition: width 1s linear; }
@keyframes prog { to { background-position: 28px 0; } }
.fac-card { display: flex; flex-direction: column; gap: 10px; }
.fac-card .fi { width: 40px; height: 40px; border-radius: 11px; display: grid; place-items: center; background: var(--panel3); color: var(--info); flex: none; }
.fac-card .fi svg { width: 22px; height: 22px; }

/* ---------- Fanklub ---------- */
.gauge-num { font: 800 40px/1 var(--display); }
.fan-big { font: 800 56px/1 var(--display); letter-spacing: .01em; }
.event-card { display: flex; flex-direction: column; gap: 8px; }
.ledger-row { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--line-soft); font-size: 14px; }
.ledger-row:last-child { border-bottom: 0; }

/* ---------- Správy ---------- */
.inbox-item { display: flex; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--line-soft); }
.inbox-item:last-child { border-bottom: 0; }
.inbox-item .dot { width: 8px; height: 8px; border-radius: 50%; margin-top: 7px; flex: none; background: var(--info); }
.inbox-item.t-good .dot { background: var(--good); } .inbox-item.t-bad .dot { background: var(--bad); } .inbox-item.t-warn .dot { background: var(--warn); }
.inbox-item small { color: var(--dim); display: block; font-size: 12px; }

/* ---------- Zápas ---------- */
.scoreboard {
  display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; gap: 14px; padding: 18px;
  background: linear-gradient(180deg, var(--panel), var(--panel2)); border: 1px solid var(--line2); box-shadow: var(--card-shadow); border-radius: var(--r-lg); position: relative; overflow: hidden;
}
.sb-team { display: flex; align-items: center; gap: 12px; min-width: 0; }
.sb-team.away { flex-direction: row-reverse; text-align: right; }
.sb-team .crest { width: 50px; height: 56px; flex: none; }
.sb-team b { font: 700 clamp(14px, 3.4vw, 22px)/1.05 var(--display); text-transform: uppercase; overflow-wrap: break-word; hyphens: auto; min-width: 0; }
.sb-mid { text-align: center; }
.sb-score { font: 800 58px/1 var(--display); display: flex; gap: 10px; justify-content: center; align-items: center; }
.sb-score span.bump { animation: bump .7s cubic-bezier(.3,1.6,.5,1); color: var(--flood-text); }
@keyframes bump { 0% { transform: scale(1); } 30% { transform: scale(1.6); } 100% { transform: scale(1); } }
.sb-clock { display: inline-flex; align-items: center; gap: 8px; margin-top: 6px; padding: 4px 12px; border-radius: 999px; background: var(--panel2); font: 700 17px/1 var(--display); letter-spacing: .04em; }
.match-canvas-wrap { position: relative; border-radius: var(--r-lg); overflow: hidden; border: 1px solid var(--line2); background: #1d6b39; }
.match-canvas-wrap canvas { display: block; width: 100%; height: auto; }
.goal-overlay { position: absolute; inset: 0; display: grid; place-items: center; pointer-events: none; z-index: 3; }
.goal-overlay .gtext { font: 800 italic clamp(48px, 10vw, 110px)/1 var(--display); color: #fff; text-transform: uppercase; letter-spacing: .02em; text-shadow: 0 6px 0 rgba(0,0,0,.35), 0 0 40px rgba(255,213,74,.7); animation: goalin 2.6s cubic-bezier(.2,1.4,.4,1) both; text-align: center; }
.goal-overlay .gtext small { display: block; font: 700 clamp(16px, 3vw, 24px)/1.2 var(--display); font-style: normal; letter-spacing: .04em; margin-top: 8px; }
@keyframes goalin { 0% { transform: scale(.2) rotate(-8deg); opacity: 0; } 15% { transform: scale(1.12) rotate(2deg); opacity: 1; } 25% { transform: scale(1) rotate(0); } 80% { opacity: 1; } 100% { opacity: 0; transform: scale(1.05); } }
.shake { animation: shake .5s; }
@keyframes shake { 20% { transform: translate(-6px, 3px); } 40% { transform: translate(5px, -4px); } 60% { transform: translate(-4px, 2px); } 80% { transform: translate(3px, -1px); } }
.feed { max-height: 460px; overflow-y: auto; display: flex; flex-direction: column; }
.feed-item { display: grid; grid-template-columns: 42px 28px minmax(0,1fr); gap: 8px; align-items: start; padding: 9px 4px; border-bottom: 1px solid var(--line-soft); animation: feedin .45s ease both; }
@keyframes feedin { from { opacity: 0; transform: translateX(-10px); background: var(--hl); } }
.feed-item .min { font: 700 16px/1.3 var(--display); color: var(--mute); text-align: right; }
.feed-item .ic { width: 26px; height: 26px; border-radius: 8px; display: grid; place-items: center; background: var(--panel3); }
.feed-item .ic svg { width: 16px; height: 16px; }
.feed-item.goal { background: linear-gradient(90deg, var(--hl), transparent); }
.feed-item.goal .ic { background: var(--flood); color: #1d1500; }
.feed-item.yellow .ic { background: #ffd23f; } .feed-item.red .ic { background: var(--bad); }
.stat-line { display: grid; grid-template-columns: 40px minmax(0,1fr) 40px; gap: 10px; align-items: center; margin-bottom: 12px; }
.stat-line .lbl { grid-column: 1 / -1; text-align: center; font-size: 12px; color: var(--mute); text-transform: uppercase; letter-spacing: .08em; margin-bottom: -6px; }
.stat-line b { font: 700 18px/1 var(--display); }
.stat-line b:last-child { text-align: right; }
.dual { display: flex; height: 8px; border-radius: 5px; overflow: hidden; background: var(--bg2); gap: 2px; }
.dual i { display: block; height: 100%; transition: width .6s; }

/* ---------- Modal, toast ---------- */
.modal-bg { position: fixed; inset: 0; z-index: 50; background: rgba(10, 20, 40, .45); backdrop-filter: blur(4px); display: grid; place-items: center; padding: 16px; animation: fade .2s ease both; }
@keyframes fade { from { opacity: 0; } }
.modal { width: min(560px, 100%); max-height: calc(100vh - 32px); overflow-y: auto; background: var(--panel); border: 1px solid var(--line2); border-radius: 18px; box-shadow: 0 30px 80px -20px rgba(0,0,0,.45); animation: pop .25s cubic-bezier(.3,1.4,.5,1) both; }
@keyframes pop { from { transform: scale(.94) translateY(10px); opacity: 0; } }
.modal-h { padding: 20px 20px 0; display: flex; gap: 14px; align-items: center; }
.modal-b { padding: 18px 20px 20px; display: flex; flex-direction: column; gap: 16px; }
.attr-row { display: grid; grid-template-columns: 90px minmax(0,1fr) 42px; gap: 10px; align-items: center; font-size: 14px; }
.attr-row .track { height: 8px; border-radius: 4px; background: var(--bg2); overflow: hidden; }
.attr-row .track i { display: block; height: 100%; border-radius: 4px; animation: grow .7s cubic-bezier(.3,1.2,.5,1) both; transform-origin: left; }
@keyframes grow { from { transform: scaleX(0); } }
.attr-row b { text-align: right; font: 700 17px/1 var(--display); }
.player-hero { display: flex; gap: 16px; align-items: center; }
.big-shirt { width: 70px; height: 70px; border-radius: 18px; display: grid; place-items: center; font: 800 32px/1 var(--display); border: 3px solid; flex: none; }
#toasts { position: fixed; z-index: 60; right: max(16px, env(safe-area-inset-right, 0px)); bottom: calc(16px + env(safe-area-inset-bottom, 0px)); display: flex; flex-direction: column; gap: 8px; max-width: min(380px, calc(100vw - 32px)); }
@media (max-width: 880px) { #toasts { bottom: calc(84px + env(safe-area-inset-bottom, 0px)); } }
.toast { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border-radius: 12px; background: var(--panel); border: 1px solid var(--line2); box-shadow: var(--shadow); animation: toastin .35s cubic-bezier(.3,1.4,.5,1) both; font-weight: 500; }
.toast.out { animation: toastout .3s ease both; }
.toast.good { border-color: rgba(63,220,138,.5); } .toast.bad { border-color: rgba(255,93,110,.6); }
.toast .ti { width: 8px; height: 8px; border-radius: 50%; margin-top: 7px; flex: none; background: var(--info); }
.toast.good .ti { background: var(--good); } .toast.bad .ti { background: var(--bad); }
@keyframes toastin { from { transform: translateY(16px) scale(.95); opacity: 0; } }
@keyframes toastout { to { transform: translateX(30px); opacity: 0; } }

/* ---------- Prihlásenie ---------- */
.auth { min-height: 100vh; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); }
.auth-hero {
  position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; gap: 18px;
  padding-block: 48px; padding-left: max(40px, env(safe-area-inset-left, 0px)); padding-right: 40px;
  background:
    radial-gradient(700px 360px at 20% 0%, rgba(255, 213, 74, .35), transparent 65%),
    radial-gradient(600px 300px at 90% 10%, rgba(255, 255, 255, .12), transparent 60%),
    repeating-linear-gradient(90deg, #2f9c54 0 70px, #288a49 70px 140px);
}
.auth-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,17,32,.05) 0%, rgba(10,17,32,.9) 85%); }
.auth-hero > * { position: relative; z-index: 1; }
.auth-hero h1 { font-size: clamp(48px, 7vw, 96px); line-height: .9; }
.auth-hero h1 span { color: var(--flood); display: block; }
.auth-hero p { font-size: 18px; color: #d4deef; max-width: 46ch; margin: 0; }
.auth-feats { display: flex; gap: 10px; flex-wrap: wrap; }
.auth-feats span { padding: 6px 12px; border-radius: 999px; background: rgba(10,17,32,.55); border: 1px solid rgba(255,255,255,.15); font-weight: 600; font-size: 14px; }
.auth-ball { position: absolute; top: 14%; right: 12%; width: 120px; height: 120px; z-index: 1; animation: float 4s ease-in-out infinite alternate; }
@keyframes float { to { transform: translateY(-24px) rotate(40deg); } }
.auth-form { display: flex; flex-direction: column; justify-content: center; gap: 18px; padding-block: 40px; padding-left: 40px; padding-right: max(40px, env(safe-area-inset-right, 0px)); max-width: 520px; width: 100%; margin: 0 auto; }
.swatches { display: flex; gap: 8px; flex-wrap: wrap; }
.swatch { width: 38px; height: 38px; border-radius: 10px; border: 2px solid transparent; cursor: pointer; padding: 0; overflow: hidden; display: grid; grid-template-columns: 1fr 1fr; }
.swatch i { display: block; }
.swatch.on { border-color: var(--flood); transform: scale(1.08); }
.err { color: var(--bad); font-weight: 600; min-height: 1.4em; }
@media (max-width: 880px) {
  .auth { grid-template-columns: minmax(0, 1fr); }
  .auth-hero { min-height: 300px; padding-left: max(20px, env(safe-area-inset-left, 0px)); padding-right: max(20px, env(safe-area-inset-right, 0px)); padding-block: 28px; }
  .auth-ball { width: 80px; height: 80px; top: 10%; }
  .auth-form { padding-left: max(20px, env(safe-area-inset-left, 0px)); padding-right: max(20px, env(safe-area-inset-right, 0px)); }
}

.empty { padding: 28px; text-align: center; color: var(--mute); }
.round-nav { display: flex; align-items: center; gap: 8px; }
.fix-row { display: grid; grid-template-columns: minmax(0,1fr) 74px minmax(0,1fr); gap: 10px; align-items: center; padding: 10px 12px; border-bottom: 1px solid var(--line-soft); cursor: pointer; }
.fix-row:hover { background: var(--panel2); }
.fix-row .team-cell:last-child { justify-content: flex-end; text-align: right; }
.fix-row .sc { text-align: center; font: 700 20px/1 var(--display); padding: 6px 0; border-radius: 8px; background: var(--bg2); }
.fix-row.mine { background: var(--hl); }
.fix-row .sc.live { color: #fff; background: var(--bad); }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}

/* ---------- Nové prvky ---------- */
.zone-up td:first-child { box-shadow: inset 4px 0 0 var(--good); }
.zone-down td:first-child { box-shadow: inset 4px 0 0 var(--bad); }
.tbl tr.me.zone-up td:first-child, .tbl tr.me.zone-down td:first-child { font-weight: 700; }
.legend { display: flex; gap: 16px; flex-wrap: wrap; font-size: 13px; color: var(--mute); }
.legend i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 6px; vertical-align: -1px; }
.star { color: var(--flood-text); display: inline-flex; vertical-align: -2px; }
.star svg { width: 14px; height: 14px; fill: var(--flood); stroke: var(--flood-text); }
.daily { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; background: linear-gradient(110deg, var(--hl), transparent 70%), var(--panel); }
.daily .gift { width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; background: var(--flood); color: var(--flood-ink); flex: none; animation: giftpop 2.4s ease-in-out infinite; }
.daily .gift svg { width: 26px; height: 26px; }
@keyframes giftpop { 0%, 100% { transform: rotate(0); } 8% { transform: rotate(-10deg) scale(1.06); } 16% { transform: rotate(8deg) scale(1.06); } 24% { transform: rotate(0); } }
.streak { display: flex; gap: 4px; }
.streak i { width: 18px; height: 6px; border-radius: 3px; background: var(--bg2); }
.streak i.on { background: var(--flood); }
.cal-list { display: flex; flex-direction: column; }
.cal-item { display: grid; grid-template-columns: 74px minmax(0,1fr) auto; gap: 10px; align-items: center; padding: 9px 0; border-bottom: 1px solid var(--line-soft); }
.cal-item:last-child { border-bottom: 0; }
.cal-item .when { font: 700 15px/1.1 var(--display); color: var(--mute); }
.cal-item.cup .tagc { background: var(--hl); color: var(--flood-text); border-color: var(--flood); }
.bracket { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(240px, 1fr); gap: 16px; overflow-x: auto; padding-bottom: 8px; }
.b-round { display: flex; flex-direction: column; gap: 10px; }
.b-round h3 { font-size: 16px; }
.b-match { background: var(--panel); border: 1px solid var(--line); border-radius: 12px; overflow: hidden; box-shadow: var(--card-shadow); cursor: pointer; transition: transform .12s, border-color .12s; }
.b-match:hover { transform: translateY(-2px); border-color: var(--dim); }
.b-match.mine { border-color: var(--flood); box-shadow: 0 0 0 2px var(--hl), var(--card-shadow); }
.b-team { display: grid; grid-template-columns: 22px minmax(0,1fr) auto; gap: 8px; align-items: center; padding: 7px 10px; font-size: 14px; }
.b-team + .b-team { border-top: 1px solid var(--line-soft); }
.b-team .crest { width: 20px; height: 23px; }
.b-team span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.b-team.win { font-weight: 700; }
.b-team.lose { color: var(--dim); }
.b-team b { font: 700 16px/1 var(--display); }
.trophy-hero { display: flex; align-items: center; gap: 18px; padding: 20px; border-radius: var(--r-lg); background: linear-gradient(120deg, #ffe08a, #ffc83d 55%, #f0a500); color: #2a1d00; box-shadow: var(--card-shadow); }
.trophy-hero svg { width: 56px; height: 56px; }
.chat { display: flex; flex-direction: column; height: min(560px, 70vh); }
.chat-list { flex: 1; overflow-y: auto; display: flex; flex-direction: column; gap: 10px; padding: 14px 16px; }
.chat-msg { display: grid; grid-template-columns: 26px minmax(0,1fr); gap: 10px; align-items: start; animation: enter .3s ease both; }
.chat-msg .crest { width: 24px; height: 27px; }
.chat-msg .bubble { background: var(--panel2); border: 1px solid var(--line); border-radius: 4px 14px 14px 14px; padding: 8px 12px; min-width: 0; overflow-wrap: anywhere; }
.chat-msg.me .bubble { background: var(--hl); border-color: var(--flood); }
.chat-msg small { color: var(--dim); font-size: 12px; }
.chat-form { display: flex; gap: 8px; padding: 12px 16px; border-top: 1px solid var(--line); }
.pos-pick { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 8px; }
.pos-pick button { padding: 12px 6px; border-radius: 12px; border: 2px solid var(--line); background: var(--panel2); cursor: pointer; font-weight: 700; display: flex; flex-direction: column; align-items: center; gap: 6px; color: var(--ink); }
.pos-pick button.on { border-color: var(--flood); background: var(--hl); }
.custom-card { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; background: linear-gradient(120deg, var(--panel) 40%, var(--hl)); }
.custom-card .big-shirt { width: 58px; height: 58px; font-size: 26px; }
.theme-btn { justify-content: flex-start; }

/* ---------- Taktika, tréning, financie ---------- */
.lu-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; align-items: start; }
@media (max-width: 980px) { .lu-grid { grid-template-columns: minmax(0, 1fr); } }
.pitch-arrow { position: absolute; top: 8%; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: rgba(255, 200, 61, .9); color: #2a1d00; transform: translateX(-50%); z-index: 1; animation: nudge 1.4s ease-in-out infinite; pointer-events: none; }
.pitch-arrow svg { width: 26px; height: 26px; }
.pitch-arrow.left { left: 14%; } .pitch-arrow.center { left: 50%; } .pitch-arrow.right { left: 86%; }
@keyframes nudge { 50% { transform: translate(-50%, -6px); } }
.duel { display: grid; grid-template-columns: 116px minmax(0, 1fr) 82px; gap: 10px; align-items: center; margin-bottom: 7px; }
.duel .label { font-size: 11px; letter-spacing: .05em; }
.duel-bar { height: 10px; border-radius: 6px; background: var(--bg2); position: relative; overflow: hidden; }
.duel-bar::after { content: ""; position: absolute; left: 50%; top: -2px; bottom: -2px; width: 2px; background: var(--line2); }
.duel-bar i { display: block; height: 100%; border-radius: 6px; transition: width .4s cubic-bezier(.3,1.2,.5,1), background .3s; }
.duel-n { text-align: right; font-size: 14px; white-space: nowrap; }
.duel-n b { font: 700 16px/1 var(--display); }
.ana-opp { margin-top: 16px; padding: 12px; border-radius: 12px; background: var(--panel2); border: 1px solid var(--line); }
.ana-opp .crest { width: 34px; height: 38px; flex: none; }
.tips { display: flex; flex-direction: column; gap: 6px; margin-top: 14px; }
.tip { display: flex; gap: 10px; align-items: flex-start; padding: 8px 10px; border-radius: 10px; background: var(--hl); font-size: 14px; }
.tip svg { width: 18px; height: 18px; flex: none; color: var(--flood-text); margin-top: 1px; }
.odds { display: flex; height: 26px; border-radius: 8px; overflow: hidden; gap: 2px; }
.odds i { display: grid; place-items: center; color: #fff; font: 700 13px/1 var(--display); font-style: normal; transition: width .5s; min-width: 0; }
.attr-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 22px; }
@media (max-width: 560px) { .attr-grid { grid-template-columns: minmax(0, 1fr); } }
.attr-group { display: flex; flex-direction: column; gap: 7px; }
.attr-row { grid-template-columns: 118px minmax(0,1fr) 34px !important; }
.focus-sel { padding: 7px 9px; font-size: 14px; min-width: 170px; }
.tr-tbl td { vertical-align: middle; }
.tac-line { display: flex; flex-direction: column; padding: 6px 0; border-bottom: 1px solid var(--line-soft); }
.tac-line:last-child { border-bottom: 0; }
.notes { display: flex; flex-direction: column; gap: 8px; }
.note { display: flex; gap: 10px; align-items: flex-start; padding: 8px 10px; border-radius: 10px; font-size: 14px; border: 1px solid var(--line); }
.note.good { background: color-mix(in srgb, var(--good) 9%, transparent); }
.note.bad { background: color-mix(in srgb, var(--bad) 8%, transparent); }
.note .ndot { width: 10px; height: 10px; border-radius: 50%; flex: none; margin-top: 5px; box-shadow: 0 0 0 2px var(--panel), 0 0 0 3px var(--line2); }
.fr-list { display: flex; flex-direction: column; gap: 6px; max-height: 50vh; overflow-y: auto; }
.fr-item { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 10px; border: 1px solid var(--line); background: var(--panel2); cursor: pointer; text-align: left; color: var(--ink); }
.fr-item:hover { border-color: var(--flood); background: var(--hl); }
.fr-item .crest { width: 26px; height: 29px; flex: none; }
.fr-item span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 880px) {
  .bottom-nav { justify-content: flex-start; overflow-x: auto; scrollbar-width: none; }
  .bottom-nav::-webkit-scrollbar { display: none; }
  .bottom-nav a { flex: 0 0 auto; min-width: 64px; }
  .duel { grid-template-columns: 92px minmax(0, 1fr) 70px; }
}

/* ---------- Riadenie zápasu, pásy na ihrisku ---------- */
.ch-ov { position: absolute; inset: 0 0 50% 0; display: grid; grid-template-columns: 30% 40% 30%; pointer-events: none; }
.ch-band { display: flex; justify-content: center; align-items: flex-start; padding-top: 4px; transition: background .4s; }
.ch-band span { font: 700 13px/1 var(--display); padding: 3px 7px; border-radius: 6px; background: rgba(10,17,32,.72); color: #fff; letter-spacing: .03em; }
.ch-band.up { background: linear-gradient(180deg, rgba(63, 220, 138, .38), rgba(63, 220, 138, 0)); }
.ch-band.up span { background: #0f9d55; }
.ch-band.down { background: linear-gradient(180deg, rgba(255, 93, 110, .34), rgba(255, 93, 110, 0)); }
.ch-band.down span { background: #c62f43; }
.control-card { border-color: var(--flood); box-shadow: 0 0 0 3px var(--hl), var(--card-shadow); }
.seg-sm button { padding: 6px 9px; font-size: 13px; }
.sub-list { display: flex; flex-direction: column; gap: 6px; max-height: 46vh; overflow-y: auto; margin-top: 6px; }
.fr-item.on { border-color: var(--flood); background: var(--hl); box-shadow: inset 3px 0 0 var(--flood); }

/* ---------- Pokyny počas zápasu ---------- */
.plan-card { border-color: var(--line2); }
.plan-list { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; }
.plan-row { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 8px; border-radius: 10px; background: var(--panel2); border: 1px solid var(--line); }
.plan-row select, .plan-row input { width: auto; padding: 6px 8px; font-size: 13px; border-radius: 8px; max-width: 100%; }
.plan-row .plan-min { width: 64px; }
.plan-txt { font-size: 13px; color: var(--mute); font-weight: 600; }
.plan-empty { font-size: 13px; padding: 6px 2px; }
.sub-list .fr-item span { white-space: normal; line-height: 1.3; }
.sub-list .fr-item small { display: block; }

/* ---------- Časová os pokynov ---------- */
.tl { margin-top: 8px; }
.tl-axis { position: relative; height: 16px; margin: 0 6px; }
.tl-axis span { position: absolute; transform: translateX(-50%); font: 600 11px/1 var(--body); color: var(--dim); }
.tl-track { position: relative; margin: 0 6px; padding: 6px 0; border-radius: 10px; background: repeating-linear-gradient(90deg, var(--panel2) 0 16.66%, var(--bg) 16.66% 33.33%); border: 1px solid var(--line); display: flex; flex-direction: column; gap: 6px; }
.tl-half { position: absolute; top: 0; bottom: 0; width: 2px; background: var(--line2); }
.tl-lane { position: relative; height: 24px; }
.tl-base span { position: absolute; left: 6px; top: 3px; font: 600 12px/18px var(--body); color: var(--mute); }
.tl-bar { position: absolute; top: 2px; height: 20px; border-radius: 6px; background: color-mix(in srgb, var(--c) 18%, transparent); border: 1.5px dashed var(--c); overflow: hidden; }
.tl-bar span { display: block; padding: 0 6px; font: 600 11.5px/17px var(--body); color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tl-subs { height: 28px; }
.tl-sub { position: absolute; top: 0; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; color: var(--flood-text); }
.tl-sub svg { width: 16px; height: 16px; background: var(--flood); color: var(--flood-ink); border-radius: 50%; padding: 2px; box-sizing: content-box; }
.tl-sub b { font: 700 10.5px/1.1 var(--display); color: var(--ink); }
.tl-none { position: absolute; left: 6px; top: 5px; font-size: 12px; color: var(--dim); }

/* ---------- Graf energie ---------- */
.en-head, .en-row { display: grid; grid-template-columns: minmax(0, 150px) minmax(0, 1fr) 52px; gap: 10px; align-items: center; }
.en-head { font-size: 11.5px; text-transform: uppercase; letter-spacing: .06em; padding-bottom: 6px; border-bottom: 1px solid var(--line); }
.en-head .r { text-align: right; }
.en-list { display: flex; flex-direction: column; margin-bottom: 8px; }
.en-row { padding: 3px 0; border-bottom: 1px solid var(--line-soft); }
.en-name { font-size: 13.5px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.en-end { text-align: right; font: 700 15px/1 var(--display); }
.spark { width: 100%; height: 34px; display: block; }
.sp-half { stroke: var(--line2); stroke-width: 1; stroke-dasharray: 3 3; }
.sp-mid { stroke: var(--line); stroke-width: 1; }
@media (max-width: 560px) { .en-head, .en-row { grid-template-columns: minmax(0, 104px) minmax(0, 1fr) 44px; } }
.tl-lbl { position: absolute; top: 3px; padding-right: 6px; font: 600 11.5px/18px var(--body); color: var(--ink); white-space: nowrap; }
.tl-lbl::after { content: ""; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--c); margin-left: 5px; vertical-align: 1px; }
.sp-low { stroke: color-mix(in srgb, var(--bad) 35%, transparent); stroke-width: 1; stroke-dasharray: 2 3; }

/* =====================================================================
   Vzhľad 2: riadiace centrum klubu – svetlé športové prostredie,
   tmavý ovládací panel, akcent vo farbe klubu, lišty ako v TV prenose
   ===================================================================== */
:root {
  --bg: #e9eeec; --bg2: #e1e7e4; --panel: #ffffff; --panel2: #f4f7f5; --panel3: #e9efec;
  --line: #d8e0dc; --line2: #c3cec9; --line-soft: #e8eeeb;
  --ink: #0e1b2b; --mute: #546172; --dim: #8893a1;
  --navy: #0e1b2b; --navy2: #16263b; --navy3: #22354f;
  --c1: #1f8a4c; --c2: #ffffff; --acc: #1f8a4c; --acc-ink: #fff; --acc-soft: #1f8a4c1f;
  --card-shadow: 0 1px 0 rgba(14, 27, 43, .04), 0 10px 24px -18px rgba(14, 27, 43, .35);
  --r: 10px; --r-lg: 14px; --top-bg: rgba(233, 238, 236, .88);
}
body { background: var(--bg); }
body::before {
  background:
    radial-gradient(900px 420px at 85% -120px, var(--acc-soft), transparent 70%),
    repeating-linear-gradient(90deg, rgba(14, 27, 43, .018) 0 120px, transparent 120px 240px);
}
.label { text-transform: none; letter-spacing: 0; font-size: 12.5px; font-weight: 600; color: var(--mute); }
h1 { font-style: normal; font-weight: 800; letter-spacing: .005em; }
.page-head { padding-bottom: 14px; border-bottom: 2px solid var(--line); position: relative; }
.page-head::after { content: ""; position: absolute; left: 0; bottom: -2px; width: 96px; height: 2px; background: var(--acc); }
.page-head p { max-width: 70ch; }

/* --- ovládací panel vľavo --- */
.side { background: linear-gradient(180deg, var(--navy) 0%, #0b1625 100%); border-right: 0; color: #dfe6ef; }
.brand-name { color: #fff; }
.brand-name span { color: #ffc83d; }
.side-club { display: flex; align-items: center; gap: 10px; margin: 0 4px 14px; padding: 10px; border-radius: 12px; background: var(--navy2); color: #fff; text-decoration: none; border: 1px solid rgba(255,255,255,.06); }
.side-club .crest { width: 38px; height: 43px; flex: none; }
.side-club b { display: block; font: 700 16px/1.1 var(--display); text-transform: uppercase; letter-spacing: .02em; }
.side-club small { color: #93a3b8; font-size: 12px; }
.nav a { color: #a9b6c7; border-radius: 9px; }
.nav a:hover { background: var(--navy2); color: #fff; }
.nav a.on { background: var(--navy3); color: #fff; box-shadow: inset 4px 0 0 var(--acc), inset 0 0 0 1px rgba(255,255,255,.05); }
.nav a.on svg { color: var(--c1); filter: drop-shadow(0 0 0 transparent); }
.side-foot .btn-ghost { color: #93a3b8; }
.side-foot .btn-ghost:hover { background: var(--navy2); color: #fff; }

/* --- horná lišta v štýle TV skóre --- */
.top { background: var(--top-bg); border-bottom: 1px solid var(--line); }
.bug { display: flex; align-items: stretch; margin-left: auto; border-radius: 10px; overflow: hidden; box-shadow: 0 6px 16px -10px rgba(14,27,43,.5); }
.bug-club { display: flex; align-items: center; gap: 8px; padding: 6px 14px 6px 10px; background: var(--c1); color: var(--acc-ink); clip-path: polygon(0 0, 100% 0, calc(100% - 10px) 100%, 0 100%); padding-right: 22px; }
.bug-club .crest { width: 26px; height: 29px; }
.bug-club b { font: 800 18px/1 var(--display); letter-spacing: .04em; color: #fff; text-shadow: 0 1px 2px rgba(0,0,0,.35); }
.bug-seg { display: flex; flex-direction: column; justify-content: center; padding: 6px 16px; background: var(--navy); color: #fff; text-decoration: none; min-width: 0; border-left: 1px solid rgba(255,255,255,.08); }
.bug-seg small { font-size: 11px; color: #93a3b8; white-space: nowrap; }
.bug-seg b { font: 700 18px/1.1 var(--display); letter-spacing: .02em; white-space: nowrap; }
.bug-seg b.bad { color: #ff8a97; }
.bug-next { background: var(--navy2); }
.bug-live { background: #d4283c; }
.bug-live small { color: #ffd6db; }
.top-club { display: none; }
@media (max-width: 880px) { .bug { margin-left: 0; width: 100%; } .bug-seg { flex: 1; } }

/* --- karty a nadpisy --- */
.card, .kpi { border-radius: var(--r-lg); border-color: var(--line); }
.card-h h3 { display: flex; align-items: center; gap: 10px; font-size: 18px; }
.card-h h3::before { content: ""; width: 12px; height: 18px; background: var(--acc); transform: skewX(-18deg); border-radius: 2px; flex: none; }
.kpi { padding: 16px 18px 16px 70px; min-height: 92px; justify-content: center; }
.kpi svg.ico { left: 16px; top: 50%; right: auto; transform: translateY(-50%); width: 40px; height: 40px; padding: 9px; border-radius: 12px; background: var(--acc-soft); color: var(--acc); }
.kpi .big { font-size: 26px; }

/* --- tlačidlá --- */
.btn-primary { background: var(--acc); border-color: var(--acc); color: var(--acc-ink); box-shadow: 0 8px 18px -10px var(--acc); }
.btn-primary:hover { filter: brightness(1.08); }
.btn-glass { background: rgba(255,255,255,.16); border-color: rgba(255,255,255,.35); color: #fff; backdrop-filter: blur(6px); }
.btn-glass:hover { background: rgba(255,255,255,.26); border-color: #fff; }
.seg button.on { background: var(--panel); color: var(--ink); box-shadow: 0 1px 3px rgba(14,27,43,.15), inset 0 -2px 0 var(--acc); }
.tabs button.on { border-color: var(--acc); }

/* --- tabuľky ako riadky (nie Excel) --- */
.tbl { border-collapse: separate; border-spacing: 0 4px; }
.tbl th { text-transform: none; letter-spacing: 0; font-size: 12px; font-weight: 600; color: var(--dim); border-bottom: 0; padding: 6px 10px; }
.tbl td { border-bottom: 0; background: var(--panel2); padding: 9px 10px; }
.tbl td:first-child { border-radius: 9px 0 0 9px; }
.tbl td:last-child { border-radius: 0 9px 9px 0; }
.card.flush .tbl-wrap { padding: 0 10px 8px; }
.tbl tbody tr.click:hover td { background: var(--panel3); }
.tbl tr.me td { background: var(--acc-soft); }
.tbl tr.me td:first-child { box-shadow: inset 4px 0 0 var(--acc); }
.tbl td.c:first-child { font: 700 15px/1 var(--display); }
.zone-1 td:first-child { color: #b07800; }

/* --- karta zápasu (televízna grafika) --- */
.matchday { position: relative; border-radius: 18px; overflow: hidden; color: #fff; padding: 18px 22px 20px; min-height: 280px; display: flex; flex-direction: column; box-shadow: 0 18px 40px -22px rgba(14,27,43,.7); }
.md-bg { position: absolute; inset: 0; }
.md-bg i { position: absolute; inset: 0; }
.md-home { background: linear-gradient(135deg, var(--h) 0%, color-mix(in srgb, var(--h) 70%, #000) 100%); clip-path: polygon(0 0, 58% 0, 42% 100%, 0 100%); }
.md-away { background: linear-gradient(225deg, var(--a) 0%, color-mix(in srgb, var(--a) 70%, #000) 100%); clip-path: polygon(58% 0, 100% 0, 100% 100%, 42% 100%); }
.md-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,14,24,.15), rgba(8,14,24,.55)), repeating-linear-gradient(115deg, rgba(255,255,255,.05) 0 2px, transparent 2px 14px); }
.md-bg::before { content: ""; position: absolute; z-index: 1; top: -10%; bottom: -10%; left: calc(50% - 4px); width: 8px; background: #fff; transform: skewX(-9deg); opacity: .9; box-shadow: 0 0 24px rgba(255,255,255,.6); }
.matchday > :not(.md-bg) { position: relative; z-index: 2; }
.md-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-weight: 600; font-size: 14px; text-shadow: 0 1px 3px rgba(0,0,0,.4); }
.md-tag { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 6px; background: rgba(8,14,24,.55); font: 700 13px/1 var(--display); letter-spacing: .05em; text-transform: uppercase; }
.md-tag svg { width: 15px; height: 15px; }
.md-teams { flex: 1; display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; gap: 10px; margin: 10px 0; }
.md-team { display: flex; flex-direction: column; align-items: center; gap: 8px; color: #fff; text-decoration: none; text-align: center; min-width: 0; }
.md-crest { width: 92px !important; height: 104px !important; filter: drop-shadow(0 10px 14px rgba(0,0,0,.45)); transition: transform .2s; }
.md-team:hover .md-crest { transform: translateY(-3px) rotate(-2deg); }
.md-team b { font: 800 clamp(16px, 2.4vw, 24px)/1 var(--display); text-transform: uppercase; letter-spacing: .02em; text-shadow: 0 2px 6px rgba(0,0,0,.5); overflow-wrap: break-word; }
.md-team small { font-size: 12px; opacity: .8; }
.md-mid { text-align: center; padding: 10px 14px; border-radius: 12px; background: rgba(8,14,24,.62); backdrop-filter: blur(4px); min-width: 140px; }
.md-vs { font: 800 italic 20px/1 var(--display); color: #ffc83d; text-transform: uppercase; }
.md-cd { font: 700 34px/1.05 var(--display); letter-spacing: .04em; font-variant-numeric: tabular-nums; }
.md-score { font: 800 56px/1 var(--display); }
.md-score i { font-style: normal; opacity: .6; margin: 0 6px; }
.md-when { font-size: 12.5px; opacity: .85; }
.md-foot { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; justify-content: center; }
.md-plan { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; padding: 6px 10px; border-radius: 8px; background: rgba(8,14,24,.5); }
.md-plan svg { width: 15px; height: 15px; }
@media (max-width: 620px) { .md-crest { width: 64px !important; height: 72px !important; } .md-mid { min-width: 0; padding: 8px; } .md-cd { font-size: 24px; } .md-plan { display: none; } }

/* --- zberateľské karty hráčov --- */
.pcard { --w: 156px; width: var(--w); aspect-ratio: 156 / 222; position: relative; border-radius: 14px 14px 22px 22px; padding: 10px 10px 8px; display: flex; flex-direction: column; color: #2b1d0e; cursor: default; user-select: none;
  background: linear-gradient(160deg, var(--t1), var(--t2) 55%, var(--t3)); box-shadow: inset 0 0 0 2px rgba(255,255,255,.45), inset 0 0 0 4px var(--t3), 0 10px 22px -12px rgba(14,27,43,.55); overflow: hidden; }
.pcard::before { content: ""; position: absolute; inset: 0; background: linear-gradient(115deg, transparent 30%, rgba(255,255,255,.35) 45%, transparent 60%); transform: translateX(-60%); transition: transform .6s; pointer-events: none; }
.pcard[role=button] { cursor: pointer; }
.pcard[role=button]:hover::before { transform: translateX(60%); }
.pcard[role=button]:hover { transform: translateY(-3px); transition: transform .18s; }
.pcard.bronze { --t1: #f0c7a0; --t2: #c98d5b; --t3: #8a5a34; }
.pcard.silver { --t1: #f4f7fa; --t2: #c9d2dc; --t3: #8996a5; }
.pcard.gold { --t1: #fff1b8; --t2: #f3c94a; --t3: #a87b0e; }
.pcard.elite { --t1: #2b3b55; --t2: #142036; --t3: #e2b23c; color: #f6e7b6; }
.pcard.legend { --t1: var(--l2); --t2: var(--l1); --t3: #0e1b2b; color: #fff; }
.pcard.legend .pc-name, .pcard.legend .pc-stats, .pcard.legend .pc-foot { text-shadow: 0 1px 2px rgba(0,0,0,.4); }
.pcard.unav { filter: grayscale(.7); opacity: .75; }
.pc-top { display: flex; gap: 4px; height: 47%; }
.pc-ovr { display: flex; flex-direction: column; align-items: center; gap: 2px; width: 34px; flex: none; padding-top: 2px; }
.pc-ovr b { font: 800 30px/0.9 var(--display); }
.pc-ovr span { font: 700 13px/1 var(--display); letter-spacing: .04em; }
.pc-ovr .flag-svg { width: 24px; height: 16px; border-radius: 2px; margin-top: 3px; }
.pc-face { flex: 1; min-width: 0; display: flex; align-items: flex-end; justify-content: center; }
.pc-face .avatar { width: 100%; height: 100%; }
.pc-name { text-align: center; line-height: 1; margin-top: 2px; border-top: 1px solid currentColor; border-bottom: 1px solid currentColor; padding: 4px 0; border-color: color-mix(in srgb, currentColor 30%, transparent); }
.pc-name small { display: block; font-size: 10px; opacity: .8; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pc-name b { font: 800 16px/1.05 var(--display); text-transform: uppercase; letter-spacing: .03em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; }
.pc-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px 4px; margin-top: 5px; flex: 1; align-content: center; }
.pc-stats span { display: flex; align-items: baseline; gap: 3px; justify-content: center; font: 600 10px/1.2 var(--body); opacity: .9; }
.pc-stats b { font: 800 14px/1 var(--display); }
.pc-foot { text-align: center; font-size: 10px; opacity: .85; margin-top: auto; }
.pc-foot i { font-style: normal; color: #b4232f; font-weight: 700; }
.pcard.lg { --w: 196px; }
.pcard.lg .pc-ovr b { font-size: 38px; } .pcard.lg .pc-name b { font-size: 20px; } .pcard.lg .pc-stats b { font-size: 17px; } .pcard.lg .pc-stats span { font-size: 11px; }
.pcard.sm { --w: 112px; padding: 7px 7px 6px; }
.pcard.sm .pc-ovr { width: 26px; } .pcard.sm .pc-ovr b { font-size: 22px; } .pcard.sm .pc-name b { font-size: 12px; } .pcard.sm .pc-stats b { font-size: 11px; } .pcard.sm .pc-stats span { font-size: 8px; } .pcard.sm .pc-foot { font-size: 8.5px; }
.card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(168px, 1fr)); gap: 14px; padding: 14px; }
.cg-item { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.cg-meta { width: 156px; font-size: 13px; display: flex; flex-direction: column; gap: 6px; }
.cg-extra { font-size: 12px; } .cg-extra .crest { width: 16px; height: 18px; }
.cg-act { display: flex; gap: 6px; justify-content: center; flex-wrap: wrap; }
.cg-act .btn { flex: 1; }
.view-toggle { display: flex; justify-content: flex-end; padding: 12px 14px 0; }
@media (max-width: 560px) { .card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 10px; } .pcard { --w: 100%; } .cg-meta { width: 100%; } }

/* detail hráča s kartou */
.modal { width: min(720px, 100%); }
.pm-head { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 18px; align-items: center; }
.pm-card { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.pm-info { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; min-width: 0; }
@media (max-width: 600px) { .pm-head { grid-template-columns: minmax(0, 1fr); justify-items: center; } .pm-info { justify-content: center; text-align: center; } }
.custom-card .pcard { flex: none; }
.avatar { display: block; }

/* --- štadión zboku --- */
.stadium-wrap { background: #dfeaf5; padding: 0; }
.stadium-side { display: block; width: 100%; height: auto; }
.stadium-side .stand-g { cursor: pointer; transition: filter .15s; }
.stadium-side .stand-g:hover { filter: brightness(1.06) drop-shadow(0 0 6px rgba(255,200,61,.6)); }
.stadium-side .stand-g.sel { filter: drop-shadow(0 0 0 #ffc83d) drop-shadow(0 0 8px rgba(255,200,61,.9)); }
.std-lbl2 { font: 700 13px var(--display); fill: #0e1b2b; letter-spacing: .03em; paint-order: stroke; stroke: rgba(255,255,255,.85); stroke-width: 3px; }
.stand-g.near .std-lbl2 { fill: #fff; stroke: rgba(14,27,43,.7); }
.sb-txt { font: 800 18px var(--display); fill: #ffc83d; letter-spacing: .08em; }
.std-legend { display: flex; flex-wrap: wrap; gap: 6px 16px; padding: 10px 14px; background: var(--panel); border-top: 1px solid var(--line); font-size: 13px; color: var(--mute); }
.std-legend span:first-child { color: var(--ink); font-weight: 600; }
.auth-hero { color: #fff; }
.auth-hero h1 { font-style: italic; }
.auth .btn-primary { background: var(--flood); border-color: var(--flood); color: var(--flood-ink); }
.stadium-wrap { align-self: start; }
.kpi { padding: 14px 16px; display: flex; flex-direction: column; justify-content: flex-start; gap: 2px; min-height: 0; }
.kpi svg.ico { position: static; transform: none; order: -1; width: 34px; height: 34px; padding: 7px; border-radius: 10px; margin-bottom: 6px; }
.kpi .big { font-size: 24px; white-space: nowrap; }
.side { min-height: 100vh; }
@media (max-width: 620px) { .bug .hide-m { display: none; } .bug-seg { padding: 6px 12px; } }

/* ---------- Tréningová matica ---------- */
.tm-card { overflow: hidden; }
.tm-head { flex-wrap: wrap; gap: 10px; }
.tm-tools { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.tm-n { font-size: 11px; opacity: .6; margin-left: 2px; }
.tm-bulk { padding: 6px 10px; border-radius: 9px; border: 1px solid var(--line2); background: var(--panel); color: var(--ink); font: 600 13px var(--body); }
.tm-legend { display: flex; flex-wrap: wrap; gap: 6px 18px; align-items: center; padding: 0 18px 12px; font-size: 12.5px; color: var(--mute); }
.tm-legend span { display: inline-flex; align-items: center; gap: 6px; }
.tm-legend b { color: var(--ink); }
.tm-legend em { font-style: normal; font-weight: 700; color: var(--good); }
.lg-tr { width: 16px; height: 12px; border-radius: 3px; background: var(--acc-soft); box-shadow: inset 0 0 0 1.5px var(--acc); }
.lg-bar { width: 22px; height: 4px; border-radius: 2px; background: linear-gradient(90deg, var(--acc) 60%, var(--line) 60%); }
.tm-sum { margin-left: auto; padding: 4px 10px; border-radius: 999px; background: var(--panel2); color: var(--ink) !important; }
.tm-sum b { color: var(--good); }
.tm-scroll { overflow-x: auto; border-top: 1px solid var(--line); }
.tm { border-collapse: separate; border-spacing: 0; width: 100%; font-variant-numeric: tabular-nums; }
.tm th { font: 600 12px var(--body); color: var(--dim); padding: 8px 6px; text-align: center; white-space: nowrap; background: var(--panel); position: sticky; top: 0; z-index: 2; }
.tm tr.tm-g th { font: 700 12px var(--display); letter-spacing: .06em; color: var(--mute); padding: 8px 6px 0; text-transform: uppercase; }
.tm tr.tm-g th[colspan]:not(:first-child):not(:last-child) { border-bottom: 2px solid var(--line2); }
.tm th.sort { cursor: pointer; user-select: none; }
.tm th.sort:hover { color: var(--ink); }
.tm th.tm-ath { font: 700 13px var(--display); letter-spacing: .04em; color: var(--mute); min-width: 46px; }
.tm td { padding: 6px; border-bottom: 1px solid var(--line-soft); text-align: center; vertical-align: middle; background: var(--panel); }
.tm tbody tr:hover td { background: var(--panel2); }
.tm .tm-name { position: sticky; left: 0; z-index: 1; text-align: left; min-width: 210px; box-shadow: 1px 0 0 var(--line); cursor: pointer; }
.tm th.tm-name { z-index: 3; }
.tm-who { display: flex; align-items: center; gap: 10px; }
.tm-who b { display: block; font-size: 14.5px; }
.tm-who small { display: block; color: var(--mute); font-size: 12px; white-space: nowrap; }
.tm-name:hover b { color: var(--acc); }
.tm-ovr-in { display: grid; justify-items: center; gap: 3px; min-width: 66px; }
.tm-ovr-in b { font: 800 20px/1 var(--display); }
.tm-ovr-in small { font-size: 11px; color: var(--dim); }
.tm-pot { width: 54px; height: 5px; border-radius: 3px; background: var(--line); overflow: hidden; }
.tm-pot i { display: block; height: 100%; background: linear-gradient(90deg, var(--acc), var(--good)); border-radius: 3px; }
.tm-en { min-width: 70px; } .tm-en small { display: block; font-size: 11px; color: var(--mute); margin-top: 2px; }
/* bunka schopnosti */
.tm-at { position: relative; padding: 7px 4px 10px !important; min-width: 46px; }
.tm-at b { font: 600 17px/1 var(--display); }
.tm-at small { font-size: 10px; color: var(--dim); margin-left: 1px; vertical-align: top; }
.tm-at::after { content: ""; position: absolute; left: 8px; right: 8px; bottom: 4px; height: 3px; border-radius: 2px; background: linear-gradient(90deg, var(--bar, var(--line2)) calc(var(--p) * 100%), var(--line-soft) calc(var(--p) * 100%)); }
.tm-at.key b { font-weight: 800; }
.tm-at.t1 b { color: var(--dim); }
.tm-at.t2 b { color: var(--ink); }
.tm-at.t3 { --bar: #2f9c54; } .tm-at.t3 b { color: #1d7f41; }
.tm-at.t4 { --bar: #1c74d9; } .tm-at.t4 b { color: #1c64c0; }
.tm-at.t5 { --bar: #b07800; } .tm-at.t5 b { color: #a06a00; }
:root[data-theme="dark"] .tm-at.t3 b { color: #3fdc8a; } :root[data-theme="dark"] .tm-at.t4 b { color: #62b5ff; } :root[data-theme="dark"] .tm-at.t5 b { color: #ffd54a; }
.tm tbody td.tm-at.tr { background: var(--acc-soft); box-shadow: inset 0 2px 0 var(--acc); }
.tm tbody td.tm-at.tr::after { background: linear-gradient(90deg, var(--acc) calc(var(--p) * 100%), color-mix(in srgb, var(--acc) 18%, transparent) calc(var(--p) * 100%)); }
.tm-at em { position: absolute; top: -2px; right: 1px; font: 700 10.5px var(--body); font-style: normal; color: #fff; background: var(--good); padding: 1px 4px; border-radius: 6px; animation: tmpop .5s both; z-index: 1; }
@keyframes tmpop { from { transform: translateY(6px) scale(.6); opacity: 0; } to { transform: none; opacity: 1; } }
.tm-done td.tm-at.tr b { animation: tmglow 1.2s ease-out; }
@keyframes tmglow { 0% { text-shadow: 0 0 0 transparent; } 30% { text-shadow: 0 0 10px var(--good); } 100% { text-shadow: none; } }
.tm-focus { min-width: 190px; text-align: left !important; }
.tm-focus .focus-sel { width: 100%; }
.tm-gain { min-width: 90px; }
.tm-gain b { color: var(--good); font: 700 16px var(--display); }
.tm-gain small { display: block; font-size: 11px; }
.tm-grow > div { display: flex; flex-direction: column; align-items: center; gap: 1px; min-width: 80px; }
.tm-grow small { font-size: 11px; font-weight: 700; }
.tm-nospark { font-size: 11px; color: var(--dim); white-space: nowrap; }
.tm-inj td { opacity: .55; }
.tm-inj td.tm-name { opacity: 1; }
.tm-foot { display: flex; flex-wrap: wrap; gap: 6px 16px; padding: 12px 18px; font-size: 12.5px; color: var(--mute); border-top: 1px solid var(--line); }
.tm-foot b { color: var(--ink); margin-right: 4px; }
@media (max-width: 720px) { .tm .tm-name { min-width: 150px; } .tm-who small { display: none; } .tm-sum { margin-left: 0; } }
.tm-head h3 { flex: none; }
.tm-tools { margin-left: auto; }
.tm-bulk { width: auto !important; min-width: 0; }
.tm-at { min-width: 40px; }
.tm .tm-name { min-width: 190px; }
.tm-focus { min-width: 168px; }
.tm-focus .focus-sel { padding-block: 7px; font-size: 13.5px; }
@media (max-width: 720px) { .tm-tools { margin-left: 0; } .tm-head .seg { overflow-x: auto; max-width: 100%; } }
@media (max-width: 720px) {
  .tm .tm-name { min-width: 128px; max-width: 140px; }
  .tm-who { gap: 6px; } .tm-who b { font-size: 13px; }
  .tm th:nth-child(3), .tm td.tm-en { display: none; }
  .tm tr.tm-g th:first-child { }
  .tm-ovr-in { min-width: 50px; } .tm-ovr-in b { font-size: 17px; } .tm-pot { width: 40px; }
  .tm-legend span:not(.tm-sum) { display: none; }
}

/* ---------- Strop potenciálu ---------- */
.cap-badge { display: inline-flex; align-items: center; gap: 3px; margin-left: 6px; padding: 1px 7px 1px 4px; border-radius: 999px; background: #fde7d3; color: #a2470b; font: 700 11px/1.5 var(--body); text-transform: uppercase; letter-spacing: .03em; vertical-align: 2px; white-space: nowrap; }
.cap-badge svg { width: 13px; height: 13px; stroke-width: 2.6; }
:root[data-theme="dark"] .cap-badge { background: #4a2a12; color: #ffb27a; }
.tm-who b .cap-badge, .tm-who .cap-badge { display: inline-flex; }
.cap-txt { font-size: 12px; font-weight: 700; color: #a2470b; }
.cap-btn { background: #fde7d3; border-color: #f4c39b; color: #8a3b08; }
.cap-btn svg { width: 15px; height: 15px; }
.cap-banner { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 12px; background: #fff3e8; border: 1px solid #f4c39b; color: #6b2e05; }
.cap-banner > svg { width: 28px; height: 28px; flex: none; padding: 5px; border-radius: 9px; background: #f9d4b3; }
.cap-banner b { display: block; } .cap-banner span { font-size: 13px; }
.cap-banner .btn { flex: none; margin-left: auto; }
:root[data-theme="dark"] .cap-banner { background: #3a210d; border-color: #6b3b14; color: #ffd2ad; }

/* ---------- Rast schopností ---------- */
.growth { border: 1px solid var(--line); border-radius: 14px; padding: 12px 14px; background: var(--panel2); display: grid; gap: 10px; }
.growth-h { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.growth-h small { color: var(--mute); font-size: 12px; }
.growth-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
.gg-col { display: grid; gap: 3px; align-content: start; }
.gm { display: grid; grid-template-columns: minmax(0, 1fr) 46px 24px 30px; align-items: center; gap: 4px; padding: 4px 6px; border-radius: 8px; border: 1px solid transparent; background: none; color: var(--ink); font: 500 12.5px var(--body); cursor: pointer; text-align: left; }
.gm:hover { background: var(--panel); }
.gm.on { background: var(--panel); border-color: var(--acc); box-shadow: 0 2px 8px -4px var(--acc); }
.gm-l { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gm b { font: 700 14px var(--display); text-align: right; }
.gm em { font-style: normal; font-size: 11.5px; font-weight: 700; text-align: right; }
.gm-s { width: 46px; height: 18px; }
.gm-s .gl, .gb .gl { fill: none; stroke: var(--acc); stroke-width: 2; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.gm-s .ga, .gb .ga { fill: var(--acc-soft); stroke: none; }
.g-big { background: var(--panel); border-radius: 10px; padding: 10px 12px 4px; border: 1px solid var(--line-soft); }
.gb-h { display: flex; justify-content: space-between; gap: 10px; font-size: 13.5px; }
.gb-h em { font-style: normal; font-weight: 700; margin-left: 6px; }
.gb { width: 100%; height: auto; display: block; }
.gb .gg { stroke: var(--line); stroke-dasharray: 3 4; }
.gb .gt { font: 500 11px var(--body); fill: var(--dim); }
.gb .gd { fill: var(--panel); stroke: var(--acc); stroke-width: 2; }
.empty-g { display: flex; align-items: center; gap: 10px; color: var(--mute); font-size: 13px; grid-template-columns: none; }
.empty-g svg { flex: none; color: var(--acc); }

/* ---------- Realizačný tím ---------- */
.coach-intro { margin: 0; padding: 0 18px 12px; font-size: 13.5px; }
.coach-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 12px; padding: 0 18px 18px; }
.coach { border: 1px dashed var(--line2); border-radius: 14px; padding: 14px; display: grid; gap: 10px; align-content: start; background: var(--panel2); }
.coach.hired { border-style: solid; border-color: var(--line); background: linear-gradient(180deg, var(--acc-soft), var(--panel) 60%); }
.coach-top { display: flex; gap: 10px; align-items: center; }
.coach-top b { display: block; font: 700 16px/1.1 var(--display); text-transform: uppercase; letter-spacing: .02em; }
.coach-top small { color: var(--mute); font-size: 12px; }
.coach-ico { width: 38px; height: 38px; flex: none; border-radius: 11px; display: grid; place-items: center; background: var(--navy); color: #fff; }
.coach-ico.lg { width: 50px; height: 50px; } .coach-ico.lg svg { width: 26px; height: 26px; }
.coach-who { display: flex; gap: 10px; align-items: center; }
.coach-who .avatar, .coach-offer .avatar { width: 48px; height: 48px; flex: none; border-radius: 50%; background: var(--panel3); }
.coach-who b { display: block; font-size: 14px; }
.coach-who small, .co-main small { display: block; color: var(--mute); font-size: 12px; }
.coach-eff { font: 800 22px/1 var(--display); color: var(--good); }
.coach-empty { color: var(--dim); font-size: 13px; min-height: 48px; display: grid; place-items: center; border-radius: 10px; background: var(--panel); }
.stars { color: #e0a100; letter-spacing: 1px; font-size: 13px; display: block; }
.stars i { font-style: normal; color: var(--line2); }
.coach-offer { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; gap: 12px; align-items: center; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--line); background: var(--panel2); }
.co-main b { display: block; }
.co-price { text-align: right; } .co-price b { display: block; font: 700 17px var(--display); } .co-price small { display: block; font-size: 11px; color: var(--mute); }
@media (max-width: 560px) { .coach-offer { grid-template-columns: auto minmax(0, 1fr); } .co-price { text-align: left; } }
.tm th.coached { color: var(--acc); }
.tm th .cb { display: block; font: 700 9.5px var(--body); color: var(--good); letter-spacing: 0; }
.growth-grid { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.gm { grid-template-columns: minmax(0, 1fr) 54px 26px 34px; }
.gm-s { width: 54px; }

/* ---------- Karty trénerov ---------- */
.ccard .pc-ovr b { font-size: 24px; letter-spacing: -.02em; }
.ccard .pc-ovr span { font-size: 9.5px; letter-spacing: .02em; white-space: nowrap; }
.ccard .pc-name small { text-transform: uppercase; letter-spacing: .04em; font-weight: 700; font-size: 9px; }
.cc-stars { text-align: center; font-size: 15px; letter-spacing: 2px; color: #b07800; margin-top: 3px; line-height: 1; }
.cc-stars i { font-style: normal; opacity: .25; }
.ccard.elite .cc-stars { color: #ffd54a; }
.cc-attrs { grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); }
.cc-attrs span { flex-direction: column; align-items: center; gap: 0; font-size: 9.5px; font-weight: 700; }
.cc-attrs b { font-size: 13px; }
/* legendárny 5★ – holografická karta */
.pcard.mythic { --t1: #ffe9a8; --t2: #f08bd0; --t3: #5b3df5; color: #fff; background: linear-gradient(135deg, #2a145e, #5b3df5 35%, #d05fb8 65%, #ffcf5a); box-shadow: inset 0 0 0 2px rgba(255,255,255,.6), inset 0 0 0 4px #ffcf5a, 0 0 0 1px #ffcf5a, 0 14px 30px -10px rgba(91,61,245,.7); }
.pcard.mythic::before { background: linear-gradient(115deg, transparent 20%, rgba(255,255,255,.55) 40%, rgba(255,230,140,.35) 50%, transparent 65%); animation: holo 3.2s ease-in-out infinite; transform: translateX(-70%); }
.pcard.mythic::after { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(60deg, rgba(255,255,255,.07) 0 6px, transparent 6px 14px); pointer-events: none; mix-blend-mode: overlay; }
@keyframes holo { 0%, 15% { transform: translateX(-70%); } 60%, 100% { transform: translateX(70%); } }
@media (prefers-reduced-motion: reduce) { .pcard.mythic::before { animation: none; } }
.pcard.mythic .cc-stars { color: #ffe27a; text-shadow: 0 0 8px rgba(255,220,100,.9); }
.pcard.mythic .pc-name, .pcard.mythic .pc-stats, .pcard.mythic .pc-foot, .pcard.mythic .pc-ovr { text-shadow: 0 1px 2px rgba(0,0,0,.45); }
.cc-ribbon { position: absolute; z-index: 2; top: 13px; right: -30px; transform: rotate(38deg); background: #ffcf5a; color: #3a1c00; font: 800 9px/1 var(--body); letter-spacing: .08em; text-transform: uppercase; padding: 4px 30px; box-shadow: 0 2px 6px rgba(0,0,0,.3); }
/* realizačný tím s kartami */
.coach-grid { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }
.coach { justify-items: center; text-align: center; }
.coach .pcard { --w: 160px; }
.coach-meta { display: grid; gap: 1px; font-size: 13px; font-weight: 600; }
.coach-meta small { font-weight: 400; color: var(--mute); font-size: 11.5px; }
.coach-slot { display: grid; justify-items: center; gap: 6px; width: 160px; aspect-ratio: 156 / 222; align-content: center; border-radius: 14px 14px 22px 22px; border: 2px dashed var(--line2); padding: 12px; }
.coach-slot b { font: 700 15px/1.1 var(--display); text-transform: uppercase; }
.coach-slot small { color: var(--mute); font-size: 11.5px; }
.coach-slot .coach-empty { min-height: 0; padding: 4px 10px; font-size: 12px; }
.coach.poached { border-color: #e0364b; border-style: solid; background: linear-gradient(180deg, rgba(224,54,75,.08), var(--panel)); }
.coach-offer-box { display: grid; gap: 6px; font-size: 12.5px; text-align: left; padding: 10px; border-radius: 10px; background: #fdecee; color: #7a1020; width: 100%; }
.coach-offer-box b { display: flex; gap: 5px; align-items: center; } .coach-offer-box svg { width: 15px; height: 15px; }
:root[data-theme="dark"] .coach-offer-box { background: #3d1219; color: #ffc2cb; }
.coach-pick { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 14px; justify-items: center; }
.cp-item { display: grid; gap: 7px; justify-items: center; text-align: center; }
.cp-item .pcard { --w: 158px; }
.cp-rare { font-size: 11.5px; font-weight: 700; padding: 2px 8px; border-radius: 999px; background: var(--panel3); color: var(--mute); }
.cp-rare.r3 { background: #fff1c2; color: #8a5d00; } .cp-rare.r4 { background: #1d2b45; color: #ffd54a; } .cp-rare.r5 { background: linear-gradient(90deg, #5b3df5, #d05fb8); color: #fff; }
.co-price { display: grid; gap: 1px; font-size: 12px; color: var(--mute); text-align: center; } .co-price b { color: var(--ink); font-size: 15px; }
.modal .coach-pick + .row { margin-top: 4px; }
/* lavička pri ihrisku */
.dugouts { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: -4px; }
.dug { position: relative; border-radius: 0 0 14px 14px; background: linear-gradient(180deg, #dfe6ee, var(--panel)); border: 1px solid var(--line); border-top: 0; padding: 0 10px 8px; overflow: hidden; }
.dug-roof { height: 10px; margin: 0 -10px 6px; background: linear-gradient(90deg, var(--tc), color-mix(in srgb, var(--tc) 70%, #000)); box-shadow: 0 3px 0 rgba(0,0,0,.08); }
.dug-in { display: flex; gap: 6px; align-items: flex-end; min-height: 64px; padding-bottom: 6px; border-bottom: 5px solid color-mix(in srgb, var(--tc) 55%, #6b7685); }
.dug.away .dug-in { justify-content: flex-end; }
.dug-p { position: relative; display: grid; justify-items: center; width: 52px; }
.dug-p .avatar { width: 46px; height: 46px; border-radius: 50% 50% 8px 8px; background: rgba(255,255,255,.6); }
.dug-p.head .avatar { width: 54px; height: 54px; }
.dug-p span { font-size: 10.5px; font-weight: 600; white-space: nowrap; max-width: 56px; overflow: hidden; text-overflow: ellipsis; }
.dug-st { position: absolute; top: -2px; right: -2px; font: 800 9.5px/1 var(--body); font-style: normal; padding: 2px 4px; border-radius: 6px; background: #c98d5b; color: #fff; }
.dug-st.s2 { background: #8996a5; } .dug-st.s3 { background: #d6a516; } .dug-st.s4 { background: #142036; color: #ffd54a; } .dug-st.s5 { background: linear-gradient(90deg, #5b3df5, #d05fb8); }
.dug-l { font-size: 11.5px; color: var(--mute); margin-top: 5px; }
.dug.away .dug-l { text-align: right; }
:root[data-theme="dark"] .dug { background: linear-gradient(180deg, #1a2944, var(--panel)); }
@media (max-width: 560px) { .dugouts { grid-template-columns: 1fr; } .dug-p { width: 46px; } }
.ccard .pc-ovr { width: 44px; } .ccard .pc-ovr b { font-size: 22px; }

/* ---------- Rozlúčková karta a Sieň slávy ---------- */
.lcard { --w: 230px; width: var(--w); max-width: 100%; position: relative; border-radius: 16px; overflow: hidden; color: #fff; padding: 14px 14px 12px; display: grid; justify-items: center; gap: 6px; text-align: center;
  background: radial-gradient(120% 70% at 50% 0%, color-mix(in srgb, var(--c1) 85%, #fff) 0%, var(--c1) 45%, color-mix(in srgb, var(--c1) 45%, #0b1322) 100%);
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.35), inset 0 0 0 5px #d9b45a, 0 14px 30px -14px rgba(14,27,43,.7); }
.lcard::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(135deg, rgba(255,255,255,.05) 0 2px, transparent 2px 10px); pointer-events: none; }
.lcard > * { position: relative; }
.lcard.big { --w: 290px; }
.lc-shirt { position: absolute; top: 4px; right: 14px; font: 800 64px/1 var(--display); color: rgba(255,255,255,.16); }
.lc-face { width: 112px; height: 112px; border-radius: 50%; overflow: hidden; background: rgba(255,255,255,.18); box-shadow: 0 0 0 3px #d9b45a, 0 6px 16px rgba(0,0,0,.35); }
.lcard.big .lc-face { width: 140px; height: 140px; }
.lc-face .avatar { width: 100%; height: 100%; }
.lc-years { font: 700 11px var(--body); letter-spacing: .06em; text-transform: uppercase; background: #d9b45a; color: #3a2600; padding: 3px 10px; border-radius: 999px; margin-top: -14px; }
.lc-name small { display: block; font-size: 12px; opacity: .85; }
.lc-name b { display: block; font: 800 26px/1 var(--display); text-transform: uppercase; letter-spacing: .03em; text-shadow: 0 2px 6px rgba(0,0,0,.4); }
.lc-name span { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; opacity: .9; margin-top: 3px; }
.lc-name .flag-svg { width: 18px; height: 12px; }
.lc-stats { display: grid; grid-template-columns: repeat(4, 1fr); width: 100%; border-radius: 10px; background: rgba(8,14,24,.38); padding: 8px 4px; }
.lc-stats b { display: block; font: 800 22px/1 var(--display); }
.lc-stats small { font-size: 10.5px; opacity: .85; }
.lc-peak { font-size: 12.5px; opacity: .92; } .lc-peak b { font: 800 16px var(--display); color: #ffe08a; }
.lc-badges { display: flex; flex-wrap: wrap; gap: 4px; justify-content: center; }
.lc-badges span { font: 700 10.5px var(--body); padding: 2px 8px; border-radius: 999px; background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.35); }
.fw { display: grid; gap: 14px; padding: 22px; }
.fw-head { text-align: center; } .fw-head h2 { font-size: 34px; } .fw-head p { margin: 6px auto 0; max-width: 48ch; }
.fw-card { display: flex; justify-content: center; animation: fwin .7s cubic-bezier(.2, .9, .3, 1.2) both; }
@keyframes fwin { from { transform: translateY(20px) rotate(-4deg) scale(.9); opacity: 0; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .fw-card { animation: none; } }
.lo-box { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 12px 14px; border-radius: 12px; background: var(--acc-soft); border: 1px solid color-mix(in srgb, var(--acc) 35%, transparent); }
.lo-box.done { color: var(--good); font-weight: 600; font-size: 13px; background: var(--panel2); border-color: var(--line); }
.lo-txt { display: flex; gap: 10px; flex: 1; min-width: 220px; }
.lo-txt > svg { flex: none; width: 22px; height: 22px; color: var(--acc); margin-top: 2px; }
.lo-txt b { display: block; } .lo-txt small { display: block; font-size: 12px; color: var(--mute); margin-top: 2px; }
.lo-txt .stars { display: inline; }
.hall-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 18px; }
.hall-item { display: grid; gap: 10px; justify-items: center; align-content: start; }
.hall-item .lo-box { width: 100%; }
.hall-top { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-radius: 12px; background: var(--panel); border: 1px solid var(--line); margin-bottom: 16px; }
.hall-top svg { color: #d9a000; }
.hall-empty { display: flex; gap: 14px; align-items: flex-start; }
.hall-empty > svg { width: 34px; height: 34px; padding: 6px; border-radius: 10px; background: var(--acc-soft); color: var(--acc); flex: none; }
.hall-empty p { margin: 4px 0 0; max-width: 70ch; }
.cc-legend { position: absolute; z-index: 2; bottom: 24px; left: 50%; transform: translateX(-50%); white-space: nowrap; font: 700 9px/1 var(--body); padding: 3px 7px; border-radius: 999px; background: #d9b45a; color: #3a2600; display: none; }
.coach .ccard .cc-legend { display: block; position: static; transform: none; margin: 2px auto 0; width: max-content; }

/* ---------- Vyradené čísla ---------- */
.lcard.numret .lc-shirt { color: #ffe08a; opacity: .85; text-shadow: 0 0 12px rgba(255,210,90,.6); }
.ret-btn { gap: 8px; }
.ret-btn b { display: inline-grid; place-items: center; min-width: 26px; height: 26px; border-radius: 6px; background: var(--c1, var(--acc)); color: #fff; font: 800 14px var(--display); }
.ret-done { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 700; color: #a07400; }
.ret-done svg { width: 15px; height: 15px; }
.fw-acts { display: flex; justify-content: center; }
.fw-acts:empty { display: none; }
.rb-num { font: 800 20px var(--display); } .rb-name { font: 700 7px var(--body); letter-spacing: .04em; text-transform: uppercase; }
.ret-banner { animation: sway 4s ease-in-out infinite alternate; transform-box: fill-box; transform-origin: top center; }
@keyframes sway { from { rotate: -1.5deg; } to { rotate: 1.5deg; } }
@media (prefers-reduced-motion: reduce) { .ret-banner { animation: none; } }

/* ---------- Múzeum legiend ---------- */
.museum { border-radius: 18px; padding: 18px 18px 0; margin-bottom: 26px; overflow: hidden; color: #fff;
  background: radial-gradient(70% 90% at 50% 0%, #2b3d5c 0%, #142036 55%, #0b1424 100%); box-shadow: 0 16px 34px -20px rgba(14,27,43,.8); }
.mu-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.mu-head h2 { color: #fff; font-size: 26px; }
.museum .seg { background: rgba(255,255,255,.1); } .museum .seg button { color: #c7d2e2; } .museum .seg button.on { background: #fff; color: var(--navy); }
.mu-banners { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; margin-top: 12px; }
.mu-ban { width: 48px; padding: 6px 0 14px; text-align: center; background: var(--c1); color: var(--c2); border-top: 4px solid #d9b45a; clip-path: polygon(0 0, 100% 0, 100% 82%, 50% 100%, 0 82%); }
.mu-ban b { display: block; font: 800 22px/1 var(--display); } .mu-ban small { font-size: 8.5px; font-weight: 700; text-transform: uppercase; }
.podium { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: end; gap: 10px; margin-top: 14px; max-width: 720px; margin-inline: auto; }
.pd-slot { display: grid; justify-items: center; }
.pd-figure { display: grid; justify-items: center; gap: 4px; padding-bottom: 8px; position: relative; }
.pd-figure::before { content: ""; position: absolute; top: -10px; left: 50%; width: 160px; height: 180px; transform: translateX(-50%); background: radial-gradient(closest-side, rgba(255,230,160,.22), transparent); pointer-events: none; }
.pd-face { width: 92px; height: 92px; border-radius: 50%; overflow: hidden; background: rgba(255,255,255,.12); box-shadow: 0 0 0 3px var(--medal), 0 8px 18px rgba(0,0,0,.45); }
.p1 .pd-face { width: 116px; height: 116px; }
.pd-face .avatar { width: 100%; height: 100%; }
.pd-name { font: 700 15px/1.1 var(--display); text-transform: uppercase; text-align: center; letter-spacing: .02em; }
.pd-val { font-size: 12.5px; color: #c7d2e2; } .pd-val b { font: 800 20px var(--display); color: var(--medal); }
.pd-base { width: 100%; display: grid; justify-items: center; align-content: start; gap: 4px; padding-top: 10px; border-radius: 10px 10px 0 0;
  background: linear-gradient(180deg, color-mix(in srgb, var(--medal) 75%, #fff) 0%, var(--medal) 20%, color-mix(in srgb, var(--medal) 55%, #000) 100%); box-shadow: inset 0 2px 0 rgba(255,255,255,.5); }
.p1 { --medal: #e3b341; } .p2 { --medal: #b9c3cf; } .p3 { --medal: #c98d5b; }
.p1 .pd-base { height: 120px; } .p2 .pd-base { height: 86px; } .p3 .pd-base { height: 64px; }
.pd-place { font: 800 34px/1 var(--display); color: rgba(0,0,0,.45); text-shadow: 0 1px 0 rgba(255,255,255,.4); }
.pd-plaque { font-size: 10.5px; font-weight: 600; color: rgba(0,0,0,.6); background: rgba(255,255,255,.35); padding: 2px 8px; border-radius: 4px; text-align: center; max-width: 92%; }
.pd-slot.empty { min-height: 1px; }
.hall-h { font-size: 22px; margin-bottom: 12px; }
@media (max-width: 560px) { .pd-face { width: 64px; height: 64px; } .p1 .pd-face { width: 80px; height: 80px; } .pd-name { font-size: 12px; } .pd-plaque { display: none; } .p1 .pd-base { height: 90px; } .p2 .pd-base { height: 64px; } .p3 .pd-base { height: 48px; } }

/* ---------- Rozlúčkový zápas ---------- */
.fwm-box { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 12px 14px; border-radius: 12px; background: linear-gradient(90deg, #fff6dc, #fff); border: 1px solid #ecd28a; }
.fwm-box.done { background: var(--panel2); border-color: var(--line); color: var(--mute); font-size: 13px; }
.fwm-box.done svg { color: #d9a000; }
.fwm-box.done b { display: block; color: var(--ink); }
.fwm-ico { width: 40px; height: 40px; border-radius: 11px; display: grid; place-items: center; background: #d9b45a; color: #3a2600; flex: none; }
.fwm-txt { flex: 1; min-width: 200px; display: grid; gap: 3px; }
.fwm-txt span { font-size: 13px; color: var(--mute); }
.fwm-gain { display: flex; flex-wrap: wrap; gap: 6px; } .fwm-gain span { font-size: 12px; font-weight: 700; color: #6b4a00; background: #fbe7ae; padding: 2px 8px; border-radius: 999px; }
:root[data-theme="dark"] .fwm-box { background: linear-gradient(90deg, #3a2e10, var(--panel)); border-color: #6b5520; }
:root[data-theme="dark"] .fwm-gain span { background: #4a3a10; color: #ffe08a; }
.fwm-card { padding: 12px; display: grid; gap: 8px; }
.fwm-card .fwm-box { border: 0; padding: 4px; background: none; }
.mu-banners { margin: 10px 0 34px; }

/* ---------- Čestná ulička ---------- */
.match-canvas-wrap { position: relative; }
.guard { position: absolute; inset: 0; z-index: 6; overflow: hidden; border-radius: inherit; animation: gin .4s ease both; cursor: default; }
.guard.out { animation: gout .5s ease forwards; }
@keyframes gin { from { opacity: 0; } } @keyframes gout { to { opacity: 0; transform: scale(1.04); } }
.g-sky { position: absolute; inset: 0 0 58% 0; background: linear-gradient(180deg, #0e1b2b, #2a3e5e 70%, #4a6a8e); }
.g-sky::after { content: ""; position: absolute; inset: auto 0 0 0; height: 46%; background: repeating-linear-gradient(90deg, rgba(255,255,255,.18) 0 3px, transparent 3px 9px), linear-gradient(180deg, transparent, rgba(0,0,0,.3)); opacity: .55; }
.g-grass { position: absolute; inset: 42% 0 0 0; background: repeating-linear-gradient(180deg, #2f9c54 0 22px, #36ab5e 22px 44px); }
.g-grass::before { content: ""; position: absolute; left: 50%; top: 0; bottom: 0; width: 40%; transform: translateX(-50%); background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.14)); clip-path: polygon(46% 0, 54% 0, 100% 100%, 0 100%); }
.g-rows { position: absolute; inset: 0; }
.gp { position: absolute; top: calc(40% + var(--d) * 7.2%); width: calc(10px + var(--d) * 6px); height: calc(22px + var(--d) * 13px); border-radius: 40% 40% 18% 18%; background: linear-gradient(90deg, var(--c) 0 42%, var(--c2) 42% 58%, var(--c) 58%); box-shadow: 0 2px 4px rgba(0,0,0,.35); animation: clap .38s ease-in-out infinite alternate; animation-delay: calc(var(--d) * -70ms); }
.gp::before { content: ""; position: absolute; left: 50%; top: -42%; width: 62%; aspect-ratio: 1; border-radius: 50%; transform: translateX(-50%); background: #e8b996; box-shadow: inset 0 3px 0 #3a2a1d; }
.g-row.l .gp { left: calc(46% - var(--d) * 6.4%); }
.g-row.r .gp { right: calc(46% - var(--d) * 6.4%); }
@keyframes clap { from { transform: translateY(0) rotate(-2deg); } to { transform: translateY(-3px) rotate(2deg); } }
.g-legend { position: absolute; left: 50%; top: 40%; width: 34px; transform: translateX(-50%); animation: run 4.6s cubic-bezier(.4, .1, .6, 1) .3s both; }
.g-face { width: 100%; aspect-ratio: 1; border-radius: 50%; overflow: hidden; background: var(--c1); box-shadow: 0 0 0 3px #ffc83d, 0 0 26px 8px rgba(255,200,61,.55); }
.g-face .avatar { width: 100%; height: 100%; }
.g-num { position: absolute; right: -8%; bottom: -6%; background: #ffc83d; color: #3a2600; font: 800 12px/1 var(--display); padding: 3px 5px; border-radius: 6px; }
@keyframes run { 0% { top: 38%; width: 28px; } 70% { top: 30%; width: 110px; } 100% { top: 22%; width: 128px; } }
.g-title { position: absolute; z-index: 2; left: 0; right: 0; bottom: 5%; text-align: center; color: #fff; text-shadow: 0 2px 8px rgba(0,0,0,.6); animation: gtitle .6s ease 1.4s both; }
.g-title small { display: inline-block; font: 700 12px var(--body); letter-spacing: .1em; text-transform: uppercase; background: #ffc83d; color: #3a2600; padding: 3px 10px; border-radius: 999px; text-shadow: none; }
.g-title b { display: block; font: 800 clamp(26px, 5vw, 46px)/1.05 var(--display); text-transform: uppercase; margin-top: 6px; }
.g-title span { font-size: 13px; opacity: .9; }
@keyframes gtitle { from { opacity: 0; transform: translateY(14px); } }
.g-skip { position: absolute; top: 10px; right: 10px; border: 1px solid rgba(255,255,255,.4); background: rgba(8,14,24,.5); color: #fff; border-radius: 999px; padding: 4px 12px; font: 600 12px var(--body); cursor: pointer; }
/* ---------- Potlesk tribún ---------- */
.ovation { position: absolute; inset: 0; z-index: 6; overflow: hidden; background: radial-gradient(80% 70% at 50% 100%, color-mix(in srgb, var(--c1) 55%, #0e1b2b), #0b1424); display: grid; place-items: center; animation: gin .5s ease both; }
.ovation.out { animation: gout .4s ease forwards; }
.ov-crowd { position: absolute; inset: 0 0 auto 0; height: 46%; }
.ov-crowd i { position: absolute; left: calc(var(--x) * 1%); top: calc(8% + var(--y) * 17%); width: 11px; height: 14px; border-radius: 50% 50% 30% 30%; background: var(--c); animation: jump .5s ease-in-out infinite alternate; animation-delay: var(--dl); opacity: .9; }
@keyframes jump { to { transform: translateY(-7px); } }
.ov-conf b { position: absolute; top: -12px; left: calc(var(--x) * 1%); width: 7px; height: 12px; background: var(--c); transform: rotate(var(--r)); animation: fall 3.2s linear infinite; animation-delay: var(--dl); }
@keyframes fall { to { transform: translateY(520px) rotate(calc(var(--r) + 540deg)); } }
.ov-card { position: relative; z-index: 2; display: grid; justify-items: center; gap: 6px; text-align: center; color: #fff; padding: 18px 22px; border-radius: 16px; background: rgba(8,14,24,.55); backdrop-filter: blur(4px); max-width: 92%; animation: fwin .7s cubic-bezier(.2, .9, .3, 1.2) .2s both; }
.ov-face { width: 96px; height: 96px; border-radius: 50%; overflow: hidden; box-shadow: 0 0 0 4px #ffc83d, 0 0 30px rgba(255,200,61,.6); margin-top: -2px; }
.ov-face .avatar { width: 100%; height: 100%; }
.ov-card small { font: 700 11px var(--body); letter-spacing: .1em; text-transform: uppercase; color: #ffc83d; }
.ov-card > b { font: 800 clamp(24px, 4.5vw, 40px)/1 var(--display); text-transform: uppercase; }
.ov-stats { display: flex; gap: 14px; font-size: 13px; } .ov-stats b { font: 800 20px var(--display); color: #ffe08a; }
.ov-goal { font-weight: 700; color: #3a2600; background: #ffc83d; padding: 4px 12px; border-radius: 999px; animation: pulse 1s ease-in-out infinite alternate; }
@keyframes pulse { to { transform: scale(1.06); } }
.ov-nogoal { font-size: 13px; opacity: .85; }
.ov-card .btn { margin-top: 4px; }
@media (prefers-reduced-motion: reduce) { .gp, .ov-crowd i, .ov-conf b, .ov-goal, .ret-banner { animation: none; } .g-legend { animation: none; top: 22%; width: 128px; } }
.ret-banner { cursor: pointer; } .ret-banner:hover { filter: brightness(1.12) drop-shadow(0 0 6px rgba(255,200,61,.8)); }
.mu-ban { cursor: pointer; } .mu-ban:hover { filter: brightness(1.12); }
.ov-card .btn { background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.4); color: #fff; }
.attr-row.strong .mute { color: var(--ink); font-weight: 600; }
.str-mark { font-style: normal; color: #d9a000; margin-right: 4px; }
.attr-row b { display: inline-flex; align-items: baseline; gap: 4px; justify-content: flex-end; }
.dec { font-style: normal; font-size: 10.5px; font-weight: 700; color: var(--bad); }
.dec.slow { color: #b07800; }
.aging { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 12px 14px; border-radius: 12px; background: var(--panel2); border: 1px solid var(--line); }
.ag-txt { flex: 1; min-width: 220px; display: grid; gap: 3px; font-size: 13px; }
.ag-txt span { color: var(--mute); } .ag-txt span b { color: var(--ink); }
.pc-next { font-style: normal; font: 800 10px/1 var(--body); color: #fff; background: #d4283c; padding: 2px 4px; border-radius: 5px; margin-top: 3px; white-space: nowrap; }
.pcard.lg .pc-next { font-size: 12px; }
.ovr-next { margin-top: 4px; font: 700 12px var(--body); color: var(--bad); white-space: nowrap; }
.ag-next { font: 700 12px var(--body); color: var(--bad); background: rgba(224,54,75,.1); padding: 1px 7px; border-radius: 999px; margin-left: 6px; }
.tm-mentor { padding: 4px 10px; border-radius: 999px; background: var(--panel2); color: var(--mute) !important; }
.tm-mentor.on { background: rgba(15,157,85,.12); color: var(--ink) !important; }
.tm-mentor b { color: var(--ink); }
/* body za hráča zápasu */
.pc-pts { position: absolute; z-index: 3; top: 6px; right: 6px; font: 800 12px/1 var(--body); color: #3a2600; background: #ffc83d; padding: 3px 6px; border-radius: 999px; box-shadow: 0 0 0 2px #fff, 0 2px 8px rgba(255,170,0,.6); animation: pulse 1.2s ease-in-out infinite alternate; }
.pts-badge { display: inline-flex; margin-left: 6px; padding: 1px 7px; border-radius: 999px; background: #fff1c2; color: #7a5200; font: 700 11px/1.5 var(--body); vertical-align: 2px; }
.up-banner { display: flex; gap: 12px; align-items: center; padding: 12px 14px; border-radius: 12px; background: linear-gradient(90deg, #fff1c2, #fffaf0); border: 1px solid #f0d27a; font-size: 22px; }
.up-banner > div { display: grid; gap: 2px; font-size: 13px; } .up-banner b { font-size: 14px; } .up-banner span { color: #6b4a00; }
.up-banner.off { background: var(--panel2); border-color: var(--line); } .up-banner.off span { color: var(--mute); }
:root[data-theme="dark"] .up-banner { background: linear-gradient(90deg, #3a2e10, var(--panel)); border-color: #6b5520; } :root[data-theme="dark"] .up-banner span { color: #ffe08a; }
.attr-row { position: relative; }
.up-btn { position: absolute; right: -2px; top: 50%; transform: translate(100%, -50%); width: 22px; height: 22px; border-radius: 50%; border: 0; background: #ffc83d; color: #3a2600; font: 800 15px/1 var(--body); cursor: pointer; box-shadow: 0 2px 6px rgba(255,170,0,.5); }
.up-btn:hover { transform: translate(100%, -50%) scale(1.15); }
.up-btn:disabled { opacity: .5; cursor: default; }
.attr-group { padding-right: 26px; }
.attr-row.just-up b { animation: upflash 1.4s ease; }
@keyframes upflash { 0% { color: var(--ink); } 25% { color: #0f9d55; transform: scale(1.35); } 100% { color: var(--ink); transform: none; } }
.dec.hold { color: var(--good); }
/* hráč s nevyužitými bodmi */
.pcard.has-pts { box-shadow: inset 0 0 0 2px rgba(255,255,255,.45), inset 0 0 0 4px #ffc83d, 0 0 0 2px #ffc83d, 0 0 18px 4px rgba(255,200,61,.55); animation: ptsglow 2.2s ease-in-out infinite; }
@keyframes ptsglow { 50% { box-shadow: inset 0 0 0 2px rgba(255,255,255,.45), inset 0 0 0 4px #ffc83d, 0 0 0 2px #ffd970, 0 0 28px 8px rgba(255,200,61,.8); } }
@media (prefers-reduced-motion: reduce) { .pcard.has-pts { animation: none; } }
.pts-card { display: grid; gap: 10px; border-color: #f0d27a; background: linear-gradient(180deg, #fffaf0, var(--panel)); }
:root[data-theme="dark"] .pts-card { background: linear-gradient(180deg, #2e2510, var(--panel)); border-color: #6b5520; }
.pts-h { display: flex; gap: 12px; align-items: center; }
.pts-ico { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; font-size: 24px; background: #ffc83d; flex: none; }
.pts-h h3 { margin: 0; }
.pts-list { display: grid; gap: 6px; }
.pts-row { display: flex; align-items: center; gap: 10px; padding: 6px 10px 6px 6px; border-radius: 10px; border: 1px solid var(--line); background: var(--panel); color: var(--ink); cursor: pointer; text-align: left; font: inherit; }
.pts-row:hover { border-color: #ffc83d; box-shadow: 0 0 0 2px rgba(255,200,61,.35); }
.pts-row .avatar { width: 36px; height: 36px; border-radius: 50%; background: var(--panel3); flex: none; }
.pts-row span { flex: 1; min-width: 0; display: grid; } .pts-row small { color: var(--mute); font-size: 12px; }
.pts-row em { font-style: normal; font: 800 15px var(--body); color: #3a2600; background: #ffc83d; padding: 3px 9px; border-radius: 999px; }
.pts-warn { margin-bottom: 10px; padding: 8px 12px; border-radius: 9px; background: #fff1c2; color: #6b4a00; font-size: 13px; font-weight: 600; }
:root[data-theme="dark"] .pts-warn { background: #3a2e10; color: #ffe08a; }
/* body v hornej lište */
.bug-pts { border: 0; cursor: pointer; font: inherit; text-align: left; background: linear-gradient(180deg, #3a2e10, #2a2108) !important; }
.bug-pts small { color: #ffd970 !important; }
.bug-pts b { color: #ffc83d; animation: ptsbug 1.6s ease-in-out infinite; }
.bug-pts:hover { filter: brightness(1.15); }
@keyframes ptsbug { 50% { text-shadow: 0 0 10px rgba(255,200,61,.95); } }
@media (prefers-reduced-motion: reduce) { .bug-pts b { animation: none; } }
.pts-card.flash { animation: ptsflash 1.2s ease; }
@keyframes ptsflash { 30% { box-shadow: 0 0 0 4px #ffc83d, 0 0 24px rgba(255,200,61,.7); } }
/* animácia po použití bodu */
.attr-row b { position: relative; }
.up-float { position: absolute; right: 0; top: -2px; font: 800 14px var(--body); color: #0f9d55; pointer-events: none; animation: upfloat 1.1s ease-out forwards; }
@keyframes upfloat { 0% { opacity: 0; transform: translateY(6px) scale(.6); } 20% { opacity: 1; transform: translateY(-4px) scale(1.2); } 100% { opacity: 0; transform: translateY(-26px) scale(1); } }
.attr-row.just-up b { animation: upbounce .7s cubic-bezier(.3, 1.6, .5, 1); color: #0f9d55; transition: color 1.5s; }
@keyframes upbounce { 0% { transform: translateY(0) scale(1); } 40% { transform: translateY(-9px) scale(1.35); } 100% { transform: none; } }
.stat-pop b { display: inline-block; animation: statpop .9s cubic-bezier(.3, 1.6, .5, 1); }
@keyframes statpop { 0% { transform: none; } 35% { transform: translateY(-8px) scale(1.45); color: #0f9d55; text-shadow: 0 0 8px rgba(255,200,61,.9); } 100% { transform: none; } }
.medal-fly { position: fixed; left: 50%; top: 50%; z-index: 300; display: flex; align-items: center; gap: 12px; padding: 14px 22px 14px 14px; border-radius: 999px; background: linear-gradient(135deg, #2a1f05, #4a3608); color: #fff; box-shadow: 0 0 0 3px #ffc83d, 0 16px 40px rgba(0,0,0,.45), 0 0 40px rgba(255,200,61,.6); pointer-events: none; transform: translate(-50%, -50%); white-space: nowrap; }
.mf-medal { font-size: 44px; line-height: 1; filter: drop-shadow(0 0 10px rgba(255,200,61,.9)); }
.mf-txt b { display: block; font: 800 24px/1 var(--display); color: #ffc83d; } .mf-txt small { font-size: 12.5px; opacity: .85; }
/* financie: tabuľka podľa období */
.ft-wrap { overflow-x: auto; padding: 0 12px 12px; }
.ft { width: 100%; border-collapse: separate; border-spacing: 0; font-variant-numeric: tabular-nums; font-size: 13.5px; }
.ft th, .ft td { padding: 7px 10px; text-align: right; white-space: nowrap; }
.ft th:first-child, .ft td:first-child { text-align: left; }
.ft td { border-bottom: 1px solid var(--line-soft); }
.ft-h th { font: 700 14px var(--display); text-transform: uppercase; letter-spacing: .04em; padding-top: 16px; color: var(--ink); border-bottom: 2px solid var(--good); }
.ft-h.out th { border-bottom-color: var(--bad); }
.ft-h th:not(:first-child) { font: 600 12px var(--body); text-transform: none; color: var(--mute); }
.ft-empty td { color: var(--dim); }
.ft-sum td { font-weight: 800; background: var(--panel2); border-bottom: 0; }
.ft-sum.in td:not(:first-child) { color: var(--good); } .ft-sum.out td:not(:first-child) { color: var(--bad); }
.ft-bal td { font: 800 15px var(--body); border-top: 2px solid var(--line2); border-bottom: 0; padding-top: 12px; }
/* sponzori */
.sp-logo { width: 48px; height: 48px; flex: none; border-radius: 12px; display: grid; place-items: center; font: 800 18px var(--display); background: linear-gradient(135deg, var(--a), color-mix(in srgb, var(--a) 60%, #000)); color: var(--b); box-shadow: inset 0 0 0 2px rgba(255,255,255,.25); }
.sp-cur { display: flex; gap: 12px; align-items: center; margin-bottom: 10px; } .sp-cur b { display: block; font-size: 16px; } .sp-cur small { color: var(--mute); }
.sp-terms { display: flex; flex-wrap: wrap; gap: 6px 18px; } .sp-terms small { display: block; font-size: 11px; color: var(--mute); } .sp-terms b { font-size: 14px; }
.sp-offers { display: grid; gap: 10px; }
.sp-offer { display: flex; gap: 12px; align-items: center; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel2); flex-wrap: wrap; }
.sp-o-main { flex: 1; min-width: 200px; display: grid; gap: 4px; } .sp-o-main .stars { display: inline; }
/* kapitán, zmluvy, kvalita */
.pc-cap { position: absolute; z-index: 3; top: 6px; left: 50%; transform: translateX(-50%); width: 20px; height: 20px; border-radius: 50%; background: #ffc83d; color: #3a2600; font: 800 12px/20px var(--display); text-align: center; box-shadow: 0 0 0 2px #fff; }
.cap-c { display: inline-grid; place-items: center; width: 18px; height: 18px; margin-left: 6px; border-radius: 50%; background: #ffc83d; color: #3a2600; font: 800 11px var(--display); vertical-align: 2px; }
.cap-chip { background: #fff1c2 !important; color: #6b4a00 !important; }
.ct-warn { display: inline-flex; margin-left: 6px; padding: 1px 7px; border-radius: 999px; background: #fdecee; color: #a01828; font: 700 11px/1.5 var(--body); vertical-align: 2px; }
.ct-box { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; padding: 12px 14px; border-radius: 12px; background: var(--panel2); border: 1px solid var(--line); }
.ct-box > div:first-child { flex: 1; min-width: 200px; display: grid; } .ct-box small { color: var(--mute); font-size: 12.5px; }
.ct-box.warn { background: #fdecee; border-color: #f2b8c0; } :root[data-theme="dark"] .ct-box.warn { background: #3d1219; border-color: #6b2330; }
.ct-opts { display: flex; gap: 6px; flex-wrap: wrap; }
.qv { font: 700 10.5px var(--body); padding: 1px 5px; border-radius: 5px; margin-left: 4px; }
.qv.q1 { background: var(--panel3); color: var(--dim); } .qv.q2 { background: #dcf3e5; color: #0f7a3e; } .qv.q3 { background: #fff1c2; color: #8a5d00; }
:root[data-theme="dark"] .qv.q2 { background: #12351f; color: #3fdc8a; } :root[data-theme="dark"] .qv.q3 { background: #3a2e10; color: #ffd54a; }
.quest-card { display: flex; gap: 16px; align-items: stretch; background: linear-gradient(120deg, var(--acc-soft), var(--panel) 55%); border-color: color-mix(in srgb, var(--acc) 30%, var(--line)); }
.qc-coach { width: 92px; flex: none; border-radius: 14px; overflow: hidden; background: var(--navy); align-self: center; aspect-ratio: 1; }
.qc-coach .avatar { width: 100%; height: 100%; }
.qc-main { flex: 1; min-width: 0; display: grid; gap: 6px; }
.qc-main h3 { margin: 0; font-size: 22px; } .qc-main p { margin: 0; }
.qc-top { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; font-size: 13px; } .qc-earn b { color: var(--good); }
.qc-prog { height: 6px; border-radius: 3px; background: var(--line); overflow: hidden; } .qc-prog i { display: block; height: 100%; background: linear-gradient(90deg, var(--acc), var(--good)); }
.qc-acts { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-top: 4px; } .qc-rew { font-weight: 700; color: var(--good); font-size: 13px; }
@media (max-width: 560px) { .qc-coach { width: 60px; } }
.ql { display: grid; gap: 6px; max-height: 60vh; overflow-y: auto; }
.ql-row { display: flex; gap: 10px; align-items: center; padding: 8px 10px; border-radius: 10px; border: 1px solid var(--line); background: var(--panel2); }
.ql-row > div { flex: 1; min-width: 0; display: grid; } .ql-row small { color: var(--mute); font-size: 12px; }
.ql-n { width: 26px; height: 26px; flex: none; border-radius: 50%; display: grid; place-items: center; font: 800 13px var(--display); background: var(--panel3); }
.ql-row.claimed { opacity: .6; } .ql-row.claimed .ql-n { background: var(--good); color: #fff; }
.ql-row.ready { border-color: #ffc83d; background: #fffaf0; } :root[data-theme="dark"] .ql-row.ready { background: #2e2510; }
.ql-r { font-weight: 800; color: var(--good); white-space: nowrap; font-size: 13px; }
/* manažérska skúsenosť */
.mgr-box { display: flex; gap: 12px; align-items: center; margin-top: 12px; padding: 10px 12px; border-radius: 10px; background: var(--panel2); }
.mgr-box > div { display: grid; } .mgr-box small { color: var(--mute); font-size: 12px; }
.mgr-lvl { padding: 4px 10px; border-radius: 999px; background: var(--navy); color: #ffc83d; font: 700 12px var(--body); white-space: nowrap; }
/* vlajky */
.flag-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 14px; }
.flag-item { display: grid; justify-items: center; gap: 4px; text-align: center; padding: 10px 6px; border-radius: 12px; background: var(--panel); border: 1px solid var(--line); }
.flag-item .pennant { width: 64px; height: 88px; filter: drop-shadow(0 4px 6px rgba(0,0,0,.25)); transform-origin: top center; animation: sway 5s ease-in-out infinite alternate; }
.flag-item b { font-size: 12.5px; line-height: 1.2; } .flag-item small { color: var(--mute); font-size: 11px; }
.mini-flags { display: flex; gap: 6px; flex-wrap: wrap; } .mini-flags .pennant { width: 30px; height: 42px; }
/* profil klubu */
.prof-grid { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.sp-line { display: grid; grid-template-columns: 64px 1fr 30px; gap: 8px; align-items: center; margin: 6px 0; font-size: 13.5px; } .sp-line b { text-align: right; }
.sp-tot { margin-top: 10px; padding-top: 8px; border-top: 1px solid var(--line); font-size: 14px; } .sp-tot b { font: 800 22px var(--display); margin-left: 6px; }
.kits { display: flex; justify-content: space-around; } .kits > div { display: grid; justify-items: center; gap: 4px; } .kit { width: 90px; height: 110px; filter: drop-shadow(0 4px 8px rgba(0,0,0,.2)); }
.partners { display: grid; gap: 10px; } .partner { display: flex; gap: 10px; align-items: center; } .partner > div { display: grid; } .partner small { color: var(--mute); font-size: 11.5px; }
.attr-row .track { position: relative; overflow: visible; }
.attr-row .track > i { overflow: hidden; }
.attr-row .qv { position: absolute; right: 0; top: 50%; transform: translateY(-50%); margin: 0; line-height: 1.3; }
.attr-row .track:has(.qv) { margin-right: 30px; }
.attr-row .track:has(.qv) .qv { right: -30px; }
.sp-track { height: 8px; border-radius: 4px; background: var(--bg2); overflow: hidden; }
.sp-track i { display: block; height: 100%; border-radius: 4px; }
/* štadión zhora */
.std-tabs { display: flex; justify-content: flex-end; padding: 10px 12px 0; position: relative; z-index: 2; }
.std-3d { perspective: 1400px; padding: 6px 10px 0; overflow: hidden; background: radial-gradient(120% 90% at 50% 40%, #e9f1f8, #cfdbe6); }
.std-3d-in { transform: rotateX(32deg) scale(1.02); transform-origin: 50% 60%; transition: transform .5s ease; }
.std-3d:hover .std-3d-in { transform: rotateX(26deg) scale(1.04); }
.stadium-top { display: block; width: 100%; height: auto; }
.stadium-top .sector { cursor: pointer; }
.stadium-top .sec-edge { fill: none; stroke: rgba(255,255,255,.75); stroke-width: 2.5; }
.stadium-top .row-l { fill: none; stroke: rgba(0,0,0,.18); stroke-width: 1.2; }
.stadium-top .sector:hover .sec-fill { filter: brightness(1.12); }
.stadium-top .sector.sel .sec-edge { stroke: #ffc83d; stroke-width: 5; filter: drop-shadow(0 0 8px rgba(255,200,61,.9)); }
.stadium-top .sector.sel { transform: translateY(-6px); transition: transform .25s; }
.sec-lbl { font: 800 34px var(--display); fill: #0e1b2b; paint-order: stroke; stroke: #fff; stroke-width: 4px; }
.sec-lbl.sel { fill: #c88a00; }
.sec-cap { font: 800 15px var(--body); fill: #fff; paint-order: stroke; stroke: rgba(14,27,43,.75); stroke-width: 3.5px; pointer-events: none; }
.am-lv { font: 800 9px var(--body); fill: #3a2600; }
.lg-sw { display: inline-block; width: 14px; height: 12px; border-radius: 3px; vertical-align: -1px; margin-right: 4px; }
.lg-sw.bench { background: repeating-linear-gradient(180deg, #c9d1da 0 3px, #9aa6b3 3px 5px); }
.lg-sw.seat { background: var(--c, #1f8a4c); }
.lg-sw.vip { background: #d9b45a; box-shadow: inset 0 0 0 2px #2a2210; }
.std-side-in .stadium-side { display: block; }
:root[data-theme="dark"] .std-3d { background: radial-gradient(120% 90% at 50% 40%, #1d2c45, #0e1b2b); }
.sec-types { display: grid; gap: 8px; margin-top: 6px; }
.stadium-top .sector.is-equipped:not(.sel):not(.is-preview) .sec-edge { stroke:#25bd87; stroke-width:5; filter:drop-shadow(0 0 3px #0b704c); }
.sector-equipment-marker { filter:drop-shadow(0 3px 3px #102e3b60); }
.equipment-legend { display:inline-flex; align-items:center; gap:5px; }
.equipment-legend img { object-fit:contain; }
.equipped-summary { display:flex; align-items:center; gap:6px; flex-basis:100%; font-size:12px; }
.equipped-summary i { display:inline-block; width:12px; height:12px; border:2px solid #16a574; border-radius:3px; background:#dff8ec; }
.equipped-sectors { display:flex; flex-wrap:wrap; gap:7px; width:100%; }.equipped-sectors:empty { display:none; }
.equipped-sector-link { display:flex; align-items:center; gap:8px; min-height:44px; padding:6px 10px; border:1px solid #6ab69a; border-radius:10px; background:var(--panel); color:var(--ink); font:inherit; font-weight:750; cursor:pointer; }
.equipped-sector-link>b { display:grid; place-items:center; min-width:24px; height:26px; border-radius:6px; background:#dff4e9; color:#155c41; }
.equipped-sector-link span { display:flex; align-items:center; gap:2px; font-size:14px; }.equipped-sector-link img { object-fit:contain; }
.sec-panel { scroll-margin-top:100px; }
.sector-capacity-compare { padding:12px; margin:12px 0; background:var(--panel); border:1px solid var(--line); border-radius:12px; color:var(--ink); }
.sector-capacity-compare>b { font-size:13px; }
.capacity-before-after { display:grid; grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr); align-items:center; gap:5px; margin:12px 0; }
.capacity-before-after>div { display:grid; gap:3px; text-align:center; }
.capacity-before-after small,.capacity-before-after div>span { font-size:12px; color:var(--mute); }
.capacity-before-after strong { font-size:clamp(19px,6vw,26px); font-variant-numeric:tabular-nums; white-space:nowrap; }
.capacity-arrow { text-align:center; color:var(--mute); }
.capacity-delta { display:block; padding:7px 9px; border-radius:8px; background:var(--panel2); font-weight:750; font-size:12px; text-align:center; }
.capacity-delta.loss { background:#fff0d8; color:#805016; }.capacity-delta.gain { background:#ddf3e7; color:#155c41; }
.sector-capacity-compare .capacity-total { margin:10px 0 0; font-size:12px; color:var(--mute); }.capacity-total b { display:block; color:var(--ink); margin-top:3px; }
.stadium-equipment-art { display:block; width:100px; height:100px; object-fit:contain; filter:drop-shadow(0 5px 5px #193c3118); flex-shrink:0; }
.sec-ams .sec-am:has(.stadium-equipment-art) { grid-template-columns:88px minmax(0,1fr); }
.sec-am .stadium-equipment-art { width:88px; height:100px; }
.fac-card .stadium-equipment-art { width:84px; height:84px; }
.sector-seat-preview { margin:12px 0; padding:10px; border:1px solid #d7c59a; border-radius:12px; background:var(--panel); color:var(--ink); }
.seat-preview-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; font-size:12px; font-weight:750; }
.seat-preview-image { height:185px; overflow:hidden; margin:10px 0; border-radius:9px; background:linear-gradient(145deg,#edf2ec,#dce8df); }
.seat-preview-image .stadium-top { width:100%; height:100%; transform:none; pointer-events:none; }
.seat-preview-caption { display:block; text-align:center; font-size:12px; font-weight:700; }
.sector.is-preview .sec-edge { stroke:#ffb51e!important; stroke-width:5; stroke-dasharray:9 6; }
.stadium-preview-label { display:block; position:relative; z-index:1; width:max-content; max-width:100%; margin:0 auto 8px; padding:6px 10px; border-radius:8px; background:#fff0bc; color:#60440b; font-size:12px; font-weight:800; }
.stadium-change-done { position:relative; animation:stadium-complete 2.6s ease-out; }
.stadium-done-badge { display:block; width:max-content; margin:8px 0 0 auto; padding:6px 10px; border-radius:8px; background:#d7f2e5; color:#125c41; font-size:13px; font-weight:800; }
@keyframes stadium-complete { 0%,25% { box-shadow:0 0 0 4px #27a56b90; } 100% { box-shadow:0 0 0 0 #27a56b00; } }
@media(prefers-reduced-motion:reduce) { .stadium-change-done { animation:none; outline:2px solid #259d65; } }
@media(max-width:360px) { .sec-ams .sec-am:has(.stadium-equipment-art) { grid-template-columns:68px minmax(0,1fr); }.sec-am .stadium-equipment-art { width:68px; height:86px; } }
.fac-card.is-building { border:2px solid #bd9032; box-shadow:0 0 0 3px #edc66824; }
.construction-status { display:grid; gap:12px; padding:14px; border:1px solid #e2c884; border-radius:12px; background:#fff7df; color:#493510; }
.construction-state { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; }
.construction-state>b { font-size:13px; font-variant-numeric:tabular-nums; }
.construction-badge { display:inline-flex; align-items:center; gap:6px; font-size:14px; font-weight:800; }
.construction-badge svg { width:18px; height:18px; }
.construction-status .progress { height:9px; background:#dfd2ae; }
.construction-status .progress i { background:#b58418; min-width:3px; }
.construction-status>small { font-size:12px; line-height:1.45; }
.construction-scene { position:relative; display:grid; place-items:center; height:150px; border-radius:10px; background:radial-gradient(ellipse at bottom,#c2a76230,transparent 70%); overflow:hidden; }
.construction-scene img { width:200px; height:150px; object-fit:contain; }
.construction-beacon { position:absolute; left:calc(50% + 61px); top:34px; width:7px; height:7px; border-radius:50%; background:#edaa27; box-shadow:0 0 8px #ffb938; animation:construction-beacon 2s ease-in-out infinite; }
@keyframes construction-beacon { 50% { opacity:.4; } }
@media(prefers-reduced-motion:reduce) { .construction-beacon { animation:none; } }
.sec-am.is-unbuilt .stadium-equipment-art { opacity:.55; filter:grayscale(.5); }
.equipment-next-preview { grid-column:1/-1; min-width:0; border-top:1px solid var(--line); padding-top:8px; }
.equipment-next-preview summary { font-size:12px; font-weight:700; color:var(--mute); cursor:pointer; padding:8px 0; }
.equipment-next-preview>div { display:flex; align-items:center; gap:12px; padding:8px; border-radius:10px; background:var(--panel); }
.equipment-next-preview>div>span { display:grid; gap:5px; font-size:13px; }.equipment-next-preview small { font-size:12px; color:var(--mute); }
.sec-am .equipment-next-preview .stadium-equipment-art { width:112px; height:112px; }
.construction-level { font-weight:750; font-size:14px; margin:0; }
.construction-wait { padding:10px 12px; border-radius:10px; background:var(--panel2); color:var(--mute); font-size:12px; line-height:1.5; margin:0; }
.construction-overview h3 { margin:6px 0 14px; }
.modern-game .fac-card.is-building { border:2px solid #bd9032; }
:root[data-theme="dark"] .construction-status { background:#362e1b; color:#ffebba; border-color:#8b7137; }
.sector-confirm { grid-column:1/-1; min-width:0; padding:14px; border:1px solid #bb9343; border-radius:12px; background:#fff7e1; color:#403213; }
.sector-confirm>b { font-size:14px; }
.sector-confirm p { margin:7px 0 12px; font-size:13px; line-height:1.5; }
.sector-confirm-actions { display:flex; flex-wrap:wrap; gap:8px; }
.sector-confirm-actions .btn { min-height:46px; white-space:normal; font-size:13px; }
.sector-confirm-actions .btn-primary { flex:1; }
.sector-confirm-actions .btn-ghost { color:#403213; }
.sector-confirm .sector-confirm-error { margin-bottom:0; color:#a22624; }
.sec-type.sector-selected,.sec-am .stadium-action.sector-selected { outline:3px solid #b88d32; outline-offset:2px; }
:root[data-theme="dark"] .sector-confirm { background:#362e1b; color:#ffebba; }
:root[data-theme="dark"] .sector-confirm-actions .btn-ghost { color:#ffebba; }
:root[data-theme="dark"] .sector-confirm .sector-confirm-error { color:#ffb0a8; }
.sec-type { display: grid; grid-template-columns: auto 1fr auto; grid-template-rows: auto auto; column-gap: 10px; align-items: center; text-align: left; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--line); background: var(--panel2); color: var(--ink); font: inherit; cursor: pointer; }
.sec-type .lg-sw { grid-row: span 2; width: 26px; height: 22px; }
.sec-type small { grid-column: 2; color: var(--mute); font-size: 12px; }
.sec-type em { grid-row: 1 / span 2; grid-column: 3; font-style: normal; font-weight: 700; font-size: 13px; color: var(--good); }
.sec-type.on { border-color: var(--acc); box-shadow: 0 0 0 2px var(--acc-soft); cursor: default; } .sec-type.on em { color: var(--acc); }
.sec-type:not(.on):hover { border-color: var(--line2); background: var(--panel); }
.sec-ams { display: grid; gap: 8px; margin-top: 6px; }
.sec-am { display: flex; gap: 10px; align-items: center; padding: 10px 12px; border-radius: 12px; background: var(--panel2); }
.sec-am > div { flex: 1; display: grid; gap: 2px; } .am-ico { font-size: 24px; }
.sec-ams .sec-am { display:grid; grid-template-columns:32px minmax(0,1fr); gap:10px; padding:16px; border:1px solid var(--line); }
.sec-am .am-info { gap:5px; min-width:0; }
.sec-am .am-status { font-size:12px; font-weight:700; color:var(--mute); }
.sec-am.is-built .am-status { color:#147452; }
.sec-am .stadium-action { grid-column:1/-1; display:flex; width:100%; gap:10px; min-height:62px; padding:11px 12px; border-radius:13px; white-space:normal; text-align:left; }
.sec-am .stadium-create { background:var(--panel); border:2px dashed #7092ad; color:var(--ink); box-shadow:none; }
.sec-am .stadium-upgrade { background:linear-gradient(135deg,#147858,#0d5b49); border:2px solid #12684f; color:#fff; box-shadow:0 5px 12px -7px #0d664a99; }
.stadium-action-icon { display:grid; place-items:center; width:30px; height:30px; flex-shrink:0; border-radius:9px; background:#7899ad20; font-size:25px; font-weight:600; line-height:1; }
.stadium-upgrade .stadium-action-icon { background:#ffffff20; }
.stadium-action-copy { display:grid; gap:2px; flex:1; min-width:0; }
.stadium-action-copy b { font-size:15px; }
.stadium-action-copy small { font-size:11px; font-weight:500; }
.stadium-action-price { font-size:14px; font-weight:800; white-space:nowrap; }
.sec-am .stadium-action:disabled { opacity:.55; cursor:not-allowed; box-shadow:none; }
.sec-am .stadium-action.confirming { background:#ffdf85; color:#35280d; border:2px solid #ae7917; justify-content:center; font-weight:800; }
.am-budget,.am-max { grid-column:1/-1; font-size:12px; font-weight:700; }
.am-budget { color:var(--mute); }.am-max { color:#147452; }
:root[data-theme="dark"] .sec-am.is-built .am-status,:root[data-theme="dark"] .am-max { color:#77ddb0; }
/* kemp */
.camp-uses { display: flex; align-items: center; gap: 2px; } .camp-uses i { font-style: normal; font-size: 18px; } .camp-uses i.used { filter: grayscale(1); opacity: .35; } .camp-uses small { margin-left: 6px; color: var(--mute); }
.camp-pick { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 6px; max-height: 260px; overflow-y: auto; padding: 2px; }
.camp-c { display: flex; gap: 8px; align-items: center; padding: 6px 8px; border-radius: 10px; border: 1px solid var(--line); background: var(--panel2); color: var(--ink); font: inherit; text-align: left; cursor: pointer; }
.camp-c .avatar, .camp-p .avatar { width: 34px; height: 34px; border-radius: 50%; background: var(--panel3); flex: none; }
.camp-c span { display: grid; min-width: 0; } .camp-c b { font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .camp-c small { font-size: 11px; color: var(--mute); }
.camp-c.on { border-color: #2f9c54; background: rgba(47,156,84,.12); box-shadow: inset 3px 0 0 #2f9c54; }
.camp-foot { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin-top: 12px; font-size: 13.5px; }
.camp-card.active { background: linear-gradient(135deg, rgba(47,156,84,.14), var(--panel) 60%); border-color: rgba(47,156,84,.4); }
.camp-scene { display: flex; gap: 14px; align-items: center; } .camp-scene > div:last-child { display: grid; } .camp-scene small { color: var(--mute); }
.camp-tents { font-size: 34px; letter-spacing: -6px; animation: sway 3s ease-in-out infinite alternate; }
.camp-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.camp-p { display: flex; gap: 6px; align-items: center; padding: 4px 10px 4px 4px; border-radius: 999px; background: var(--panel); border: 1px solid var(--line); font-size: 13px; } .camp-p small { color: var(--mute); }
.camp-b { display: inline-flex; margin-left: 6px; padding: 1px 7px; border-radius: 999px; background: rgba(47,156,84,.15); color: #1d7f41; font: 700 11px/1.5 var(--body); vertical-align: 2px; }
/* mince */
.coin { position: fixed; z-index: 400; width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; font: 800 14px var(--display); color: #7a5200; background: radial-gradient(circle at 35% 30%, #fff3b0, #ffc83d 45%, #c99300); box-shadow: inset 0 0 0 2px #e0a800, 0 3px 8px rgba(0,0,0,.35); pointer-events: none; }
.bug-seg.cash-flash b { color: #3fdc8a; text-shadow: 0 0 12px rgba(63,220,138,.9); transition: color .3s; }
/* noc, VIP okná, maľba */
.std-3d { position: relative; }
.std-night { position: absolute; left: 12px; top: 10px; z-index: 3; border: 1px solid var(--line2); background: var(--panel); color: var(--ink); border-radius: 999px; padding: 5px 12px; font: 600 13px var(--body); cursor: pointer; }
.std-night.on { background: #0e1b2b; color: #ffd970; border-color: #0e1b2b; }
.stadium-top .vip-win { fill: #6b5520; }
.stadium-top.night .vip-win { fill: #ffe9a0; filter: drop-shadow(0 0 4px #ffd34d); animation: winflick 4s ease-in-out infinite; }
@keyframes winflick { 0%, 100% { opacity: 1; } 45% { opacity: .75; } 50% { opacity: 1; } }
.stadium-top.night .sec-lbl { fill: #ffd970; stroke: #06101f; }
.std-3d:has(.night) { background: radial-gradient(120% 90% at 50% 40%, #1b2a47, #050b16); }
.paint-txt { font: 800 54px var(--display); letter-spacing: .08em; opacity: .92; pointer-events: none; }
.paint-crest { font: 800 13px var(--display); }
.stadium-top .sector g, .stadium-top .sector text { pointer-events: none; }
/* atmosféra a nálada sektorov */
.atmo { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-top: 1px solid var(--line); background: var(--panel); }
.atmo-ico { font-size: 22px; } .atmo > div:nth-child(2) { display: grid; min-width: 110px; } .atmo small { color: var(--mute); font-size: 11.5px; }
.atmo-bar { flex: 1; height: 10px; border-radius: 5px; background: var(--line); overflow: hidden; }
.atmo-bar i { display: block; height: 100%; background: linear-gradient(90deg, #ffc83d, #ff7a1a, #e0364b); border-radius: 5px; }
.atmo em { font-style: normal; font-weight: 800; color: var(--good); white-space: nowrap; }
.sec-mood { display: flex; gap: 10px; align-items: center; margin-top: 12px; padding: 10px 12px; border-radius: 10px; background: var(--panel2); }
.sec-mood > div { display: grid; } .sec-mood small { color: var(--mute); font-size: 12px; }
.mood-dot { width: 14px; height: 14px; border-radius: 50%; flex: none; box-shadow: 0 0 0 3px var(--panel); }
.paint-seg { margin-top: 6px; flex-wrap: wrap; }
/* kemp – scéna */
.camp-drill { width: 300px; max-width: 100%; height: auto; flex: none; border-radius: 12px; box-shadow: 0 6px 16px -8px rgba(0,0,0,.4); }
.drill-p { offset-path: path('M60 70 C 90 40, 110 120, 130 80 S 170 40, 190 80 S 230 120, 250 70 S 230 30, 160 40 S 70 40, 60 70'); animation: drill 5.5s linear infinite; offset-rotate: 0deg; }
@keyframes drill { from { offset-distance: 0%; } to { offset-distance: 100%; } }
.drill-ball { offset-path: path('M60 70 C 90 40, 110 120, 130 80 S 170 40, 190 80 S 230 120, 250 70 S 230 30, 160 40 S 70 40, 60 70'); animation: drill 5.5s linear infinite; animation-delay: -.25s; offset-rotate: 0deg; }
.drill-n { font: 800 10px var(--display); }
.drill-w { font: 800 10px var(--body); fill: #0e1b2b; }
.whistle { animation: whistle 2.4s ease-in-out infinite; transform-origin: 10px -10px; }
@keyframes whistle { 0%, 60%, 100% { opacity: 0; transform: scale(.6); } 68%, 88% { opacity: 1; transform: scale(1); } }
@media (prefers-reduced-motion: reduce) { .drill-p, .drill-ball, .whistle, .stadium-top.night .vip-win { animation: none; } .whistle { opacity: 1; } }
@media (max-width: 600px) { .camp-scene { flex-direction: column; align-items: stretch; } .camp-drill { width: 100%; } }
.qc-ans { display: flex; gap: 6px; }
.qc-ans input { width: 140px; padding: 8px 10px; border-radius: 10px; border: 2px solid var(--acc); background: var(--panel); color: var(--ink); font: 700 15px var(--body); }
.qc-ans.shake { animation: qshake .4s; }
@keyframes qshake { 20%, 60% { transform: translateX(-6px); } 40%, 80% { transform: translateX(6px); } }
.qc-ans button { min-width: 54px; color: var(--acc-ink) !important; }
/* mesačný kalendár */
.mcal .mc-head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; } .mcal .mc-head h3 { min-width: 150px; text-align: center; }
.mc-sum { display: flex; gap: 6px 12px; flex-wrap: wrap; align-items: center; font-size: 12.5px; color: var(--mute); }
.mc-sum i { display: inline-block; width: 12px; height: 12px; border-radius: 3px; margin-right: 2px; vertical-align: -1px; }
.mc-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.mc-wd { text-align: center; font: 700 12px var(--body); color: var(--mute); padding: 4px 0; }
.mc-cell { position: relative; min-height: 104px; border-radius: 12px; border: 1px solid var(--line); background: var(--panel); padding: 6px; display: grid; justify-items: center; align-content: start; gap: 2px; overflow: hidden; }
.mc-cell.out { background: transparent; border-style: dashed; opacity: .4; }
.mc-cell.today { box-shadow: 0 0 0 2px var(--acc); }
.mc-d { position: absolute; left: 7px; top: 5px; font: 700 13px var(--display); color: var(--mute); }
.mc-ha { position: absolute; right: 7px; top: 5px; font: 800 11px var(--body); color: var(--mute); }
.mc-cup { position: absolute; right: 7px; top: 20px; font-size: 12px; }
.mc-match { display: grid; justify-items: center; gap: 2px; margin-top: 14px; color: inherit; text-decoration: none; width: 100%; }
.mc-match .crest { width: 34px; height: 38px; }
.mc-opp { font-size: 11px; font-weight: 600; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mc-score { font: 800 14px var(--display); } .mc-score.live { color: var(--bad); font-size: 11px; } .mc-time { font-size: 11px; color: var(--mute); }
.mc-free { display: grid; place-items: center; height: 100%; margin-top: 18px; color: var(--dim); font-size: 22px; } .mc-free small { font-size: 10px; }
.mc-cell.win, .mc-sum .win { background: #dcf3e5; border-color: #9fd9b6; } .mc-cell.loss, .mc-sum .loss { background: #fbe1e4; border-color: #f1aab4; }
.mc-cell.draw, .mc-sum .draw { background: #e6edf7; border-color: #b8c8e0; } .mc-cell.plan, .mc-sum .plan { background: #f4f7fb; border-color: var(--line2); }
.mc-cell.live { background: #fff4d6; border-color: #ffc83d; }
:root[data-theme="dark"] .mc-cell.win { background: #12351f; } :root[data-theme="dark"] .mc-cell.loss { background: #3d1219; } :root[data-theme="dark"] .mc-cell.draw { background: #1c2e4e; } :root[data-theme="dark"] .mc-cell.plan { background: var(--panel2); }
@media (max-width: 640px) { .mc-cell { min-height: 72px; padding: 3px; } .mc-opp, .mc-ha, .mc-time { display: none; } .mc-match .crest { width: 24px; height: 27px; } .mc-grid { gap: 3px; } }
/* ligový pohár, MS, história */
.lc-intro, .wc-wait { display: flex; gap: 14px; align-items: flex-start; } .lc-ico { font-size: 34px; } .lc-intro p, .wc-wait p { margin: 4px 0 8px; }
.lc-rounds { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 12px; }
.lc-round { display: grid; gap: 8px; align-content: start; }
.lc-game { border: 1px solid var(--line); border-radius: 10px; padding: 6px 8px; background: var(--panel2); } .lc-game.mine { border-color: var(--acc); box-shadow: 0 0 0 2px var(--acc-soft); }
.lc-game small { color: var(--mute); font-size: 11px; }
.lc-row { display: flex; justify-content: space-between; align-items: center; gap: 6px; font-size: 13px; } .lc-row.w { font-weight: 700; }
.lc-t { display: inline-flex; align-items: center; gap: 6px; min-width: 0; } .lc-t .crest { width: 18px; height: 20px; flex: none; } .lc-t.me { color: var(--acc); }
.wc-n { display: inline-flex; align-items: center; gap: 6px; } .wc-n .flag-svg { width: 24px; height: 16px; border-radius: 2px; }
.wc-games { display: grid; gap: 8px; } .wc-game { padding: 8px 10px; border-radius: 10px; background: var(--panel2); } .wc-game small { color: var(--mute); font-size: 11.5px; }
.wc-line { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px; } .wc-line .wc-n:last-child { justify-self: end; }
.wc-sc { font: 800 18px var(--display); text-align: center; } .wc-sc i { display: block; font: 600 11px var(--body); color: var(--mute); font-style: normal; }
.wc-scorers { display: flex; flex-wrap: wrap; gap: 4px 10px; font-size: 12px; color: var(--mute); margin-top: 4px; } .wc-scorers .mine { color: var(--good); font-weight: 700; }
.wc-champ { display: flex; align-items: center; gap: 14px; background: linear-gradient(120deg, #fff1c2, var(--panel)); margin-bottom: 16px; } .wc-champ .flag-svg { width: 60px; height: 40px; border-radius: 4px; } .wc-champ b { display: block; font: 800 26px var(--display); } .wc-champ span { margin-left: auto; font-size: 40px; }
.wc-tabs .flag-svg { width: 24px; height: 16px; display: block; }
.hist-t td { vertical-align: top; } .hist-i { padding: 3px 0; border-bottom: 1px dashed var(--line); font-size: 13.5px; } .hist-i:last-child { border-bottom: 0; }
.lang-pick { display: flex; align-items: center; gap: 6px; padding: 4px 8px; border-radius: 9px; font-size: 13px; }
.lang-pick select { flex: 1; background: transparent; border: 1px solid rgba(255,255,255,.18); color: inherit; border-radius: 8px; padding: 5px 8px; font: 600 13px var(--body); }
.side-foot .lang-pick { color: #a9b6c7; } .side-foot .lang-pick option { color: #111; }
.auth-lang { align-self: flex-end; } .auth-lang select { border-color: var(--line2); color: var(--ink); }
/* uzávierka zostavy */
.lock-bar { display: inline-flex; gap: 8px; align-items: center; margin-top: 10px; padding: 8px 12px; border-radius: 10px; background: var(--panel); border: 1px solid var(--line); font-size: 13.5px; }
.lock-bar.locked { background: #fff4d6; border-color: #ffc83d; } :root[data-theme="dark"] .lock-bar.locked { background: #3a2e10; }
/* dražby */
.auc-info { display: flex; gap: 8px; align-items: center; margin: 12px 14px 0; padding: 8px 12px; border-radius: 10px; background: var(--panel2); font-size: 13px; }
.auc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); gap: 12px; padding: 14px; }
.auc { display: flex; gap: 12px; padding: 10px; border-radius: 14px; border: 1px solid var(--line); background: var(--panel); }
.auc.lead { border-color: #2fbf6b; box-shadow: 0 0 0 2px rgba(47,191,107,.25); } .auc.outbid { border-color: var(--bad); }
.auc.hot { animation: auchot 1s ease-in-out infinite alternate; } @keyframes auchot { to { box-shadow: 0 0 0 3px rgba(224,54,75,.35); } }
.auc-card { flex: none; cursor: pointer; }
.auc-main { flex: 1; min-width: 0; display: grid; gap: 6px; align-content: start; }
.auc-seller { display: flex; gap: 6px; align-items: center; font-size: 12.5px; color: var(--mute); } .auc-seller .crest { width: 18px; height: 20px; }
.auc-price small { display: block; font-size: 11.5px; color: var(--mute); } .auc-price b { font: 800 22px var(--display); }
.auc.lead .auc-price b { color: var(--good); }
.auc-time { display: flex; gap: 6px; align-items: baseline; font-size: 13px; } .auc-time b { font: 800 16px var(--display); font-variant-numeric: tabular-nums; } .auc-time.hot b { color: var(--bad); }
.auc-warn { font-weight: 800; color: var(--bad); font-size: 13px; }
.auc-bid { display: flex; gap: 6px; } .auc-bid input { flex: 1; min-width: 0; padding: 6px 8px; border-radius: 8px; border: 1px solid var(--line2); background: var(--panel); color: var(--ink); font: 700 14px var(--body); }
.auc-quick { display: flex; gap: 4px; flex-wrap: wrap; } .auc-quick .chip { cursor: pointer; border: 0; font: 600 11.5px var(--body); }
@media (max-width: 420px) { .auc-grid { grid-template-columns: 1fr; padding: 8px; } }
.side-world { display: block; color: #ffd970 !important; font-weight: 700; }
/* pyramída */
.pyr-wrap { display: grid; gap: 8px; justify-items: center; padding: 6px 0; }
.pyr-row { width: var(--w); min-width: 220px; max-width: 100%; display: flex; gap: 8px; align-items: center; padding: 8px; border-radius: 12px; background: linear-gradient(180deg, var(--panel2), var(--panel3)); border: 1px solid var(--line); }
.pyr-row.me { border-color: var(--acc); box-shadow: 0 0 0 3px var(--acc-soft); }
.pyr-lvl { font: 800 20px var(--display); width: 40px; text-align: center; flex: none; color: var(--mute); }
.pyr-blocks { display: flex; flex-wrap: wrap; gap: 4px; justify-content: center; flex: 1; }
.pyr-b { display: inline-flex; gap: 4px; align-items: center; padding: 4px 8px; border-radius: 8px; background: var(--panel); border: 1px solid var(--line); font: 700 12.5px var(--body); }
.pyr-b i { font-style: normal; font-weight: 500; color: var(--mute); font-size: 11px; }
.pyr-b.mine { background: var(--acc); color: var(--acc-ink); border-color: var(--acc); } .pyr-b.mine i { color: inherit; opacity: .8; }
.pyr-b.empty { border-style: dashed; color: var(--dim); background: transparent; } .pyr-b.more { color: var(--mute); }
.pyr-row:first-child { background: linear-gradient(180deg, #fff1c2, #f8e2a0); } :root[data-theme="dark"] .pyr-row:first-child { background: linear-gradient(180deg, #3a2e10, #2a210a); }
.world-card { display: grid; gap: 8px; background: linear-gradient(135deg, #0e1b2b, #22354f); color: #fff; border: 0; }
.world-card .label, .world-card .mute { color: #a9b6c7 !important; } .world-card b { color: #fff; }
.world-rank { display: flex; align-items: baseline; gap: 10px; } .world-rank b { font: 800 54px/1 var(--display); color: #ffd970 !important; } .world-rank span { color: #c7d2e2; }
/* výzvy */
.chal-left { display: flex; gap: 3px; align-items: center; font-size: 20px; } .chal-left i { font-style: normal; } .chal-left i.used { opacity: .25; filter: grayscale(1); } .chal-left small { font-size: 13px; margin-left: 6px; color: var(--mute); }
.chal-sugg { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px; }
.chal-s { display: grid; gap: 4px; padding: 10px; border-radius: 12px; background: var(--panel2); border: 1px solid var(--line); }
.chal-gain { font-weight: 800; font-size: 13px; color: var(--mute); } .chal-gain.hi { color: var(--good); }
.db-me { padding: 8px 12px; border-radius: 10px; background: var(--acc-soft); margin-bottom: 8px; }
.db-list { display: grid; gap: 4px; } .db-row { display: grid; grid-template-columns: 34px 1fr auto; gap: 8px; align-items: center; padding: 6px 8px; border-radius: 9px; background: var(--panel2); font-size: 13.5px; }
.db-row.me { box-shadow: inset 3px 0 0 var(--acc); background: var(--acc-soft); } .db-row.p1 { background: #fff1c2; } :root[data-theme="dark"] .db-row.p1 { background: #3a2e10; }
.db-rank { font: 800 15px var(--display); text-align: center; }
/* draft */
.draft-head { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; margin-bottom: 14px; font-size: 15px; }
.draft-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 14px; perspective: 1200px; }
.dcard { border: 0; padding: 0; background: none; aspect-ratio: 3 / 4; cursor: pointer; animation: dcin .5s cubic-bezier(.2,.9,.3,1.2) both; font: inherit; color: inherit; }
@keyframes dcin { from { opacity: 0; transform: translateY(20px) rotateY(-30deg); } }
.dcard:disabled { cursor: default; }
.dc-in { position: relative; width: 100%; height: 100%; transform-style: preserve-3d; transition: transform .7s cubic-bezier(.4,.2,.2,1); }
.dcard.flipped .dc-in, .dcard.flipping .dc-in { transform: rotateY(180deg); }
.dcard:not(:disabled):hover .dc-in { transform: translateY(-4px) rotateY(8deg); }
.dc-front, .dc-back { position: absolute; inset: 0; backface-visibility: hidden; border-radius: 16px; display: grid; justify-items: center; align-content: center; gap: 6px; padding: 12px; text-align: center; color: #fff;
  background: radial-gradient(120% 80% at 50% 0%, #2b3d5c, #0e1b2b); box-shadow: inset 0 0 0 2px rgba(255,255,255,.15), 0 10px 22px -12px rgba(0,0,0,.6); }
.dc-back { transform: rotateY(180deg); background: radial-gradient(120% 80% at 50% 0%, #3a2c0e, #1a1405); box-shadow: inset 0 0 0 3px #d9b45a; }
.dc-grade { font: 800 52px/1 var(--display); background: linear-gradient(180deg, #fff, #c7d2e2); -webkit-background-clip: text; background-clip: text; color: transparent; }
.g-Ap .dc-front .dc-grade, .dc-back .dc-grade { background: linear-gradient(180deg, #ffe9a0, #d9a000); -webkit-background-clip: text; background-clip: text; }
.g-A .dc-front { box-shadow: inset 0 0 0 2px #62b5ff; } .g-Ap .dc-front { box-shadow: inset 0 0 0 3px #ffd970, 0 0 20px rgba(255,200,61,.35); }
.dc-pos { font: 700 11px var(--body); letter-spacing: .08em; text-transform: uppercase; color: #a9b6c7; }
.dc-front .flag-svg { width: 28px; height: 18px; border-radius: 2px; } .dc-front b, .dc-back b { font: 800 16px var(--display); text-transform: uppercase; }
.dc-front small, .dc-back small { color: #a9b6c7; font-size: 11.5px; }
.dc-cta { margin-top: 4px; padding: 4px 12px; border-radius: 999px; background: #ffc83d; color: #3a2600; font: 800 12px var(--body); }
.dcard:disabled .dc-cta { display: none; }
.dc-nums { display: flex; gap: 14px; } .dc-nums span { display: grid; font: 800 24px var(--display); } .dc-nums small { font: 600 10px var(--body); }
.dc-hidden { font: 800 12px var(--body); color: #ffd970; }
@media (prefers-reduced-motion: reduce) { .dcard { animation: none; } .dc-in { transition: none; } }

/* ---------- Aukčná sieň ---------- */
.modal.modal-ah { width: min(560px, 100%); padding: 0; background: #2a1414; border-color: #6b3a1e; color: #f6e7cf; }
.ah { --brass: #e0b45a; --brass2: #a8782a; --wood: #3a1d12; position: relative; padding: 18px 20px 16px; background:
  radial-gradient(120% 70% at 50% 0%, rgba(224,180,90,.18), transparent 60%),
  repeating-linear-gradient(90deg, rgba(0,0,0,.08) 0 3px, transparent 3px 11px), linear-gradient(#3b1a14, #241010); border-radius: 18px; }
.ah-top { display: flex; align-items: flex-start; gap: 8px; }
.ah-top > div { flex: 1; }
.ah-top h2 { margin: 0; font: 800 26px var(--display); letter-spacing: .01em; color: var(--brass); text-shadow: 0 2px 0 #1a0a06; }
.ah-lot { font-size: 12.5px; opacity: .75; }
.ah-x, .ah-snd { width: 36px; height: 36px; border-radius: 10px; border: 1px solid rgba(224,180,90,.4); background: rgba(0,0,0,.25); color: #f6e7cf; font-size: 16px; cursor: pointer; }
.ah-x:focus-visible, .ah-snd:focus-visible { outline: 2px solid var(--brass); outline-offset: 2px; }
.ah-stage { display: grid; grid-template-columns: auto 1fr; gap: 16px; align-items: center; margin-top: 12px; }
.ah-card .pcard { margin: 0 auto; }
.ah-clock { position: relative; width: min(220px, 100%); aspect-ratio: 1; justify-self: center; }
.ah-clock svg { width: 100%; height: 100%; display: block; }
.ah-ring-bg { fill: rgba(0,0,0,.35); stroke: rgba(224,180,90,.18); stroke-width: 12; }
.ah-ring { fill: none; stroke: var(--brass); stroke-width: 12; stroke-linecap: round; transition: stroke-dashoffset .25s linear, stroke .3s; }
.ah.hot .ah-ring { stroke: #ff5a3c; filter: drop-shadow(0 0 8px rgba(255,90,60,.7)); }
.ah-clock-in { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; }
.ah-clock-in b { font: 800 54px/1 var(--display); font-variant-numeric: tabular-nums; color: #fff4dc; }
.ah:not(.hot) .ah-clock-in b { font-size: 30px; }
.ah-clock-in small { font-size: 12px; opacity: .75; max-width: 130px; }
.ah.hot .ah-clock-in b { color: #ffd9cf; animation: ahPulse 1s ease-in-out infinite; }
@keyframes ahPulse { 50% { transform: scale(1.06); } }
.ah-gavel { position: absolute; right: -8px; top: -10px; width: 72px; height: 72px; }
.ah-gavel svg { width: 100%; height: 100%; overflow: visible; }
.ah-gavel .gv-head { transform-origin: 40px 52px; }
.ah-gavel.hit .gv-head { animation: gvHit .42s cubic-bezier(.5,0,.4,1); }
@keyframes gvHit { 0% { transform: rotate(0); } 35% { transform: rotate(-28deg); } 60% { transform: rotate(14deg); } 75% { transform: rotate(10deg); } 100% { transform: rotate(0); } }
.auc-hotbar .ah-gv svg, .auc-hotbar .ah-gv { width: 34px; height: 34px; display: block; }
.ah-call { margin: 10px 0 2px; text-align: center; font: 800 22px var(--display); min-height: 30px; color: var(--brass); letter-spacing: .02em; }
.ah-call.one { color: #ffc46b; } .ah-call.two { color: #ff8a5c; animation: ahPulse .6s ease-in-out infinite; }
.ah-call.sold { color: #fff; font-size: 34px; text-shadow: 0 0 18px rgba(224,180,90,.8); animation: ahSold .6s cubic-bezier(.3,1.6,.5,1); }
@keyframes ahSold { from { transform: scale(2.2); opacity: 0; } }
.ah-price { text-align: center; }
.ah-price small { display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 13px; opacity: .85; }
.ah-price small .crest { width: 18px; height: 20px; }
.ah-me { color: #9be59b; font-weight: 700; }
.ah-price b { display: block; font: 800 40px/1.1 var(--display); color: #fff4dc; font-variant-numeric: tabular-nums; }
.ah-price b.bump { animation: ahBump .5s cubic-bezier(.3,1.6,.5,1); }
@keyframes ahBump { 0% { transform: scale(1.25); color: var(--brass); } }
.ah-bid { display: flex; gap: 8px; margin-top: 12px; }
.ah-bid input { flex: 1; min-width: 0; height: 44px; border-radius: 10px; border: 1px solid rgba(224,180,90,.5); background: rgba(0,0,0,.35); color: #fff4dc; font: 700 17px var(--body); padding: 0 12px; }
.ah-bid .btn { height: 44px; background: linear-gradient(#f0c46a, #b9862f); color: #2a1206; border: 0; font-weight: 800; }
.ah-bid .btn:disabled { opacity: .6; }
.ah-quick { display: flex; gap: 6px; flex-wrap: wrap; justify-content: center; margin-top: 8px; }
.ah-quick .chip { background: rgba(224,180,90,.14); color: #f6e7cf; border: 1px solid rgba(224,180,90,.35); cursor: pointer; }
.ah-log { margin-top: 14px; }
.ah-log .label { color: var(--brass); opacity: .9; }
.ah-log ol { list-style: none; margin: 6px 0 0; padding: 0; display: grid; gap: 4px; max-height: 170px; overflow-y: auto; }
.ah-log li { display: grid; grid-template-columns: 20px 1fr auto auto; gap: 8px; align-items: center; padding: 6px 8px; border-radius: 8px; background: rgba(0,0,0,.22); font-size: 13px; }
.ah-log li .crest { width: 18px; height: 20px; }
.ah-log li span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ah-log li time { font-size: 11px; opacity: .6; font-variant-numeric: tabular-nums; }
.ah-log li.top { background: rgba(224,180,90,.2); animation: ahIn .4s ease-out; }
.ah-log li.me b { color: #9be59b; }
.ah-log li.ah-empty { display: block; opacity: .7; text-align: center; }
@keyframes ahIn { from { transform: translateY(-8px); opacity: 0; } }
.ah-rule { margin: 12px 0 0; font-size: 12px; opacity: .65; text-align: center; }
.ah-result { margin-top: 12px; padding: 12px; border-radius: 12px; text-align: center; background: rgba(0,0,0,.3); font-size: 15px; }
.ah-result.win { background: linear-gradient(135deg, rgba(224,180,90,.4), rgba(224,180,90,.1)); border: 1px solid var(--brass); }
.auc-hall-btn { margin-top: 6px; width: 100%; }
.auc-hall-btn.hot { background: #8a1c12; color: #fff; border-color: #8a1c12; animation: ahGlow 1.2s ease-in-out infinite; }
@keyframes ahGlow { 50% { box-shadow: 0 0 0 4px rgba(255,90,60,.35); } }
.auc-hotbar { display: flex; gap: 12px; align-items: center; width: calc(100% - 28px); margin: 12px 14px 0; padding: 10px 14px; border-radius: 12px; border: 1px solid #a8782a; background: linear-gradient(90deg, #3b1a14, #5a2618); color: #f6e7cf; text-align: left; font: inherit; cursor: pointer; }
@media (max-width: 520px) { .ah-stage { grid-template-columns: 1fr; } .ah-card { display: none; } .ah-price b { font-size: 32px; } }
@media (prefers-reduced-motion: reduce) { .ah *, .auc-hall-btn.hot { animation: none !important; } }

/* ---------- Postupy a zostupy na mape ---------- */
.pyr-wrap { position: relative; }
.pyr-wrap.mv-on .pyr-b { transition: opacity .3s; }
.mv-fly { position: absolute; z-index: 5; display: inline-flex; align-items: center; gap: 4px; padding: 3px 8px 3px 4px; border-radius: 999px; font: 800 11.5px var(--body); color: #fff; pointer-events: none; white-space: nowrap; box-shadow: 0 6px 14px -4px rgba(0,0,0,.45); }
.mv-fly .crest { width: 18px; height: 20px; }
.mv-fly.up { background: var(--good); } .mv-fly.down { background: var(--bad); }
.mv-fly.me { padding: 5px 12px 5px 6px; font-size: 13.5px; outline: 3px solid var(--acc); z-index: 6; }
.mv-fly.me .crest { width: 24px; height: 27px; }
.pyr-b.mv-hit-up { animation: mvHitUp 1s ease-out; } .pyr-b.mv-hit-down { animation: mvHitDown 1s ease-out; }
@keyframes mvHitUp { 0% { box-shadow: 0 0 0 0 var(--good); } 100% { box-shadow: 0 0 0 12px transparent; } }
@keyframes mvHitDown { 0% { box-shadow: 0 0 0 0 var(--bad); } 100% { box-shadow: 0 0 0 12px transparent; } }
.mv-box { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); }
.mv-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.mv-head h4 { margin: 0; font: 800 16px var(--display); }
.mv-mine { padding: 8px 12px; border-radius: 10px; margin-bottom: 10px; font-weight: 600; }
.mv-mine.up { background: color-mix(in srgb, var(--good) 16%, transparent); } .mv-mine.down { background: color-mix(in srgb, var(--bad) 14%, transparent); }
.mv-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.mv-cols > div { min-width: 0; }
.mv-cols .label.up { color: var(--good); } .mv-cols .label.down { color: var(--bad); }
.mv-list { list-style: none; margin: 6px 0 0; padding: 0; display: grid; gap: 4px; }
.mv-list li { display: grid; grid-template-columns: 20px 1fr; column-gap: 8px; align-items: center; padding: 5px 8px; border-radius: 8px; background: var(--panel2); font-size: 13px; }
.mv-list li .crest { width: 18px; height: 20px; grid-row: span 2; }
.mv-list li.me { outline: 2px solid var(--acc); }
.mv-n { font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .mv-n i { font-style: normal; }
.mv-path { font-size: 11.5px; color: var(--mute); } .mv-list li.up .mv-path b { color: var(--good); } .mv-list li.down .mv-path b { color: var(--bad); }
@media (max-width: 560px) { .mv-cols { grid-template-columns: 1fr; } }

/* ---------- Odmeny svetovej desiatky ---------- */
.wp-ladder { list-style: none; margin: 0; padding: 0; display: grid; gap: 3px; }
.wp-ladder li { display: grid; grid-template-columns: 28px 24px 1fr auto; gap: 8px; align-items: center; padding: 4px 8px; border-radius: 8px; font-size: 13px; }
.wp-ladder li:nth-child(odd) { background: var(--panel2); }
.wp-ladder li.me { outline: 2px solid var(--acc); background: color-mix(in srgb, var(--acc) 12%, transparent); }
.wp-ladder li.r1 b { color: #b8860b; } .wp-r { font-weight: 800; color: var(--mute); }
.wp-ladder small { color: var(--mute); font-size: 11.5px; text-align: right; }
.wp-cup svg { display: block; }
.wp-perk { margin-top: 10px; padding: 8px 12px; border-radius: 10px; background: linear-gradient(90deg, rgba(224,180,90,.25), transparent); font-size: 13px; }
.wp-mine { display: flex; gap: 10px; margin-top: 10px; flex-wrap: wrap; }
.wp-mine span { display: grid; justify-items: center; font-size: 11px; color: var(--mute); }
.wshelf { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; padding: 16px; border-radius: 16px; background: linear-gradient(#5a3a22, #3b2414); box-shadow: inset 0 -10px 0 #2a180c; }
.wshelf-it { display: grid; justify-items: center; text-align: center; gap: 4px; padding: 10px 6px; color: #f6e7cf; }
.wshelf-it b { font-size: 13.5px; } .wshelf-it small { font-size: 11.5px; opacity: .75; }
.wshelf-it svg { filter: drop-shadow(0 6px 8px rgba(0,0,0,.5)); }
.wshelf-it.r1 svg { filter: drop-shadow(0 0 14px rgba(255,214,90,.7)); }
.sp-offer.premium, .sp-cur.premium { border: 1px solid #d4a017; background: linear-gradient(135deg, rgba(255,214,90,.16), transparent 60%); border-radius: 12px; }
.sp-prem { display: block; margin: 2px 0 4px; font-size: 12px; font-weight: 700; color: #b8860b; }
:root[data-theme="dark"] .sp-prem, :root[data-theme="dark"] .wp-ladder li.r1 b { color: #ffd65a; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .sp-prem, :root:not([data-theme="light"]) .wp-ladder li.r1 b { color: #ffd65a; } }
@media (prefers-reduced-motion: reduce) { .mv-fly, .pyr-b.mv-hit-up, .pyr-b.mv-hit-down { animation: none !important; } }

/* ---------- Odovzdávanie svetovej trofeje ---------- */
.modal.modal-tc { width: min(680px, 100%); padding: 0; overflow: hidden; background: #0b1220; border-color: #2b3b55; color: #eef3fb; }
.tc-stage { position: relative; height: 300px; overflow: hidden; background: radial-gradient(60% 70% at 50% 15%, rgba(255,214,90,.28), transparent 70%), linear-gradient(#111c33, #070c17 75%); }
.tc-stage::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 44px; background: linear-gradient(transparent, rgba(0,0,0,.6)); }
.tc-crowd { position: absolute; left: 0; right: 0; bottom: 0; height: 60px; }
.tc-crowd span { position: absolute; bottom: 0; width: 4%; border-radius: 50% 50% 0 0 / 40% 40% 0 0; background: #1b2640; }
.tc-crowd span::before { content: ""; position: absolute; left: 22%; top: -16px; width: 56%; aspect-ratio: 1; border-radius: 50%; background: #1b2640; }
.tc-flash { position: absolute; width: 10px; height: 10px; border-radius: 50%; background: #fff; opacity: 0; box-shadow: 0 0 22px 10px rgba(255,255,255,.75); animation: tcFlash 3.2s linear infinite; }
@keyframes tcFlash { 0%, 92%, 100% { opacity: 0; transform: scale(.4); } 94% { opacity: 1; transform: scale(1.2); } 97% { opacity: .2; } }
.tc-safe { position: absolute; left: 6%; bottom: 46px; width: 120px; height: 128px; border-radius: 10px; background: linear-gradient(#5e6b7e, #39424f); box-shadow: inset 0 0 0 4px #2a313b, 0 10px 20px rgba(0,0,0,.5); perspective: 500px; z-index: 1; }
.tc-safe-in { position: absolute; inset: 10px; border-radius: 6px; background: radial-gradient(circle at 50% 60%, #ffd65a55, #0b0f18 70%); }
.tc-door { position: absolute; inset: 6px; border-radius: 7px; background: linear-gradient(135deg, #8a97aa, #56616f); box-shadow: inset 0 0 0 3px #3c4551; transform-origin: left center; animation: tcDoor .9s .5s cubic-bezier(.5,0,.3,1) forwards; display: grid; place-items: center; }
.tc-wheel { width: 46px; height: 46px; border-radius: 50%; border: 5px solid #2d343e; background: conic-gradient(#c9d2df 0 12%, transparent 0 25%, #c9d2df 0 37%, transparent 0 50%, #c9d2df 0 62%, transparent 0 75%, #c9d2df 0 87%, transparent 0); animation: tcSpin .5s linear; }
.tc-bolt { position: absolute; right: 10px; top: 50%; width: 8px; height: 26px; margin-top: -13px; border-radius: 3px; background: #2d343e; }
@keyframes tcSpin { to { transform: rotate(360deg); } }
@keyframes tcDoor { to { transform: rotateY(-112deg); } }
.tc-shelf { position: absolute; right: 5%; top: 150px; width: 38%; z-index: 1; }
.tc-board { height: 12px; border-radius: 3px; background: linear-gradient(#7a5230, #4a2f18); box-shadow: 0 8px 14px rgba(0,0,0,.5); }
.tc-old { display: flex; gap: 2px; justify-content: flex-end; padding-right: 4px; min-height: 46px; align-items: flex-end; opacity: .9; }
.tc-cup { position: absolute; left: 0; top: 0; width: 120px; height: 120px; z-index: 2; transform: translate(-50%,-50%); animation: tcCup 4.2s cubic-bezier(.45,0,.3,1) forwards; }
.tc-cup svg { position: relative; z-index: 1; filter: drop-shadow(0 10px 14px rgba(0,0,0,.6)); }
.tc-glow { position: absolute; inset: -40px; border-radius: 50%; background: radial-gradient(rgba(255,214,90,.55), transparent 65%); animation: tcGlow 4.2s forwards; }
@keyframes tcCup {
  0%, 26% { left: calc(6% + 60px); top: 190px; transform: translate(-50%,-50%) scale(.2); opacity: 0; }
  32% { left: calc(6% + 60px); top: 180px; transform: translate(-50%,-50%) scale(.45); opacity: 1; }
  56%, 70% { left: 50%; top: 92px; transform: translate(-50%,-50%) scale(1.15) rotate(-4deg); opacity: 1; }
  92% { left: 70%; top: 156px; transform: translate(-50%,-50%) scale(.72); }
  96% { left: 70%; top: 148px; transform: translate(-50%,-50%) scale(.74); }
  100% { left: 70%; top: 157px; transform: translate(-50%,-50%) scale(.72); opacity: 1; }
}
@keyframes tcGlow { 0%, 40% { opacity: 0; } 60%, 72% { opacity: 1; transform: scale(1.2); } 100% { opacity: .35; transform: scale(.8); } }
.tc-text { padding: 18px 22px 20px; background: linear-gradient(#0b1220, #121c30); }
.tc-kick { font-size: 12.5px; color: #ffd65a; font-weight: 700; }
.tc-text h2 { margin: 4px 0 6px; font: 800 30px/1.1 var(--display); color: #fff; text-wrap: balance; animation: tcIn .6s 3.4s both; }
.tc-text p { margin: 0 0 14px; color: #c3cfe0; font-size: 14.5px; max-width: 60ch; }
.tc-perks { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 16px; }
.tc-perks div { padding: 10px 12px; border-radius: 12px; background: rgba(255,214,90,.1); border: 1px solid rgba(255,214,90,.35); }
.tc-perks b { display: block; font: 800 22px var(--display); color: #ffd65a; } .tc-perks small { color: #c3cfe0; font-size: 12px; }
.tc .btn-ghost { color: #eef3fb; border-color: #3a4a66; }
@keyframes tcIn { from { opacity: 0; transform: translateY(8px); } }
.tc.still .tc-cup, .tc.still .tc-door, .tc.still .tc-flash, .tc.still .tc-glow, .tc.still h2, .tc.still .tc-wheel { animation-duration: .01s !important; animation-delay: 0s !important; animation-iteration-count: 1 !important; }
.tc.still .tc-flash { opacity: 0; }
@media (max-width: 520px) { .tc-stage { height: 260px; } .tc-safe { width: 92px; height: 100px; left: 4%; } .tc-shelf { top: 130px; width: 44%; } .tc-text h2 { font-size: 24px; } .tc-perks b { font-size: 18px; }
  @keyframes tcCup { 0%, 26% { left: calc(4% + 46px); top: 170px; transform: translate(-50%,-50%) scale(.2); opacity: 0; } 32% { left: calc(4% + 46px); top: 160px; transform: translate(-50%,-50%) scale(.4); opacity: 1; } 56%, 70% { left: 50%; top: 80px; transform: translate(-50%,-50%) scale(1); } 92% { left: 68%; top: 140px; transform: translate(-50%,-50%) scale(.62); } 96% { left: 68%; top: 133px; transform: translate(-50%,-50%) scale(.64); } 100% { left: 68%; top: 141px; transform: translate(-50%,-50%) scale(.62); opacity: 1; } } }
.wb-t1 { font: 800 12.5px var(--display, sans-serif); letter-spacing: .06em; } .wb-t2 { font: 700 9.5px var(--body, sans-serif); }

/* ---------- Vitrína svetových trofejí ---------- */
.vitrine { position: relative; border-radius: 18px; padding: 0 14px 14px; background: linear-gradient(#4a2e18, #2e1b0d); box-shadow: 0 18px 40px -18px rgba(0,0,0,.6), inset 0 0 0 3px #6b4524; }
.vt-top { display: flex; justify-content: space-around; height: 22px; border-bottom: 3px solid #6b4524; }
.vt-lamp { position: relative; width: 26px; height: 8px; margin-top: 10px; border-radius: 0 0 8px 8px; background: #d9b45a; }
.vt-lamp::after { content: ""; position: absolute; left: 50%; top: 6px; width: 180px; height: 120px; transform: translateX(-50%); background: radial-gradient(ellipse at top, rgba(255,236,170,.32), transparent 70%); pointer-events: none; }
.vt-glass { position: relative; overflow: hidden; margin-top: 10px; border-radius: 10px; padding: 8px 10px 4px; background: linear-gradient(180deg, #1c2638, #10182a); box-shadow: inset 0 0 0 2px rgba(255,255,255,.12); }
.vt-shine { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(115deg, transparent 30%, rgba(255,255,255,.08) 38%, transparent 46%, transparent 62%, rgba(255,255,255,.05) 68%, transparent 74%); }
.vt-shelf { margin-bottom: 10px; }
.vt-items { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; align-items: end; min-height: 120px; }
.vt-items.vt-empty { display: flex; align-items: center; justify-content: center; color: #b9c4d6; font-size: 14px; text-align: center; padding: 0 12px; }
.vt-board { height: 12px; border-radius: 3px; background: linear-gradient(#8a5a33, #553519); box-shadow: 0 8px 12px rgba(0,0,0,.55); }
.vt-cup { display: grid; justify-items: center; gap: 4px; padding: 6px 2px 0; border: 0; background: none; color: #f2e6cf; cursor: pointer; font: inherit; border-radius: 10px 10px 0 0; transition: transform .2s, background .2s; }
.vt-cup svg { filter: drop-shadow(0 8px 10px rgba(0,0,0,.6)); }
.vt-cup.r1 svg { filter: drop-shadow(0 0 14px rgba(255,214,90,.7)); }
.vt-cup:hover, .vt-cup:focus-visible { transform: translateY(-4px); background: rgba(255,236,170,.08); }
.vt-cup:focus-visible { outline: 2px solid #ffd65a; outline-offset: 2px; }
.vt-plq { display: grid; justify-items: center; padding: 3px 8px; border-radius: 4px; background: linear-gradient(#d9b45a, #a8782a); color: #2a1206; line-height: 1.15; }
.vt-plq b { font-size: 11.5px; } .vt-plq small { font-size: 10px; }
.century { display: flex; gap: 14px; align-items: flex-start; margin-top: 14px; padding: 14px 16px; border-radius: 14px; background: var(--panel); border: 1px dashed var(--line2); }
.century.on { border: 1px solid #d4a017; background: linear-gradient(120deg, rgba(255,214,90,.2), transparent 60%), var(--panel); }
.century p { margin: 2px 0 6px; color: var(--mute); font-size: 13.5px; }
.cy-star { font-size: 30px; line-height: 1; color: #d4a017; }
.cy-prog { display: flex; gap: 6px; align-items: center; } .cy-prog i { width: 28px; height: 8px; border-radius: 4px; background: var(--line); } .cy-prog i.on { background: #d4a017; } .cy-prog small { color: var(--mute); margin-left: 4px; }
.wp-perk.cy { background: linear-gradient(90deg, rgba(212,160,23,.18), transparent); }
.tc-cent { margin: -4px 0 14px; padding: 10px 12px; border-radius: 12px; background: linear-gradient(90deg, rgba(255,214,90,.3), rgba(255,214,90,.06)); border: 1px solid #ffd65a; color: #fff; font-size: 14px; }
/* hviezda Klubu storočia nad erbom */
svg.crest { overflow: visible; }
.cent-star path { filter: drop-shadow(0 1px 2px rgba(0,0,0,.5)); }
/* detail trofeje */
.modal.modal-wtm { width: min(820px, 100%); }
.wtm { padding: 20px 22px; }
.wtm-head { display: flex; gap: 14px; align-items: center; }
.wtm-head h2 { margin: 2px 0; font: 800 26px var(--display); }
.wtm-head p { margin: 0; font-size: 13.5px; }
.wtm-h { margin: 18px 0 8px; font: 800 15px var(--display); }
.wtm-pitch { display: grid; gap: 10px; padding: 14px 8px; border-radius: 14px; background: repeating-linear-gradient(0deg, #2f8f4e 0 34px, #2a8347 34px 68px); box-shadow: inset 0 0 0 2px rgba(255,255,255,.5); }
.wtm-line { display: flex; justify-content: space-evenly; gap: 6px; }
.wtm-p { display: grid; justify-items: center; min-width: 0; width: 84px; text-align: center; color: #fff; text-shadow: 0 1px 2px rgba(0,0,0,.6); }
.wtm-av { position: relative; width: 44px; height: 44px; border-radius: 50%; overflow: hidden; background: var(--c1); box-shadow: 0 0 0 2px var(--c2); }
.wtm-av svg { width: 100%; height: 100%; display: block; }
.wtm-av span { position: absolute; right: -2px; bottom: -2px; min-width: 18px; padding: 0 3px; border-radius: 9px; background: var(--c2); color: var(--c1); font: 800 10.5px/18px var(--body); text-shadow: none; }
.wtm-p b { font-size: 12.5px; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .wtm-p small { font-size: 11px; opacity: .9; white-space: nowrap; }
@media (max-width: 620px) { .wtm-p small { font-size: 9.5px; } }
.wtm-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.wtm-cols > div { min-width: 0; }
.wtm-tbl { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; max-height: 340px; overflow-y: auto; }
.wtm-tbl li { display: grid; grid-template-columns: 28px 20px 1fr auto; gap: 8px; align-items: center; padding: 4px 8px; border-radius: 8px; font-size: 13px; }
.wtm-tbl li:nth-child(odd) { background: var(--panel2); }
.wtm-tbl li.me { outline: 2px solid var(--acc); background: color-mix(in srgb, var(--acc) 12%, transparent); }
.wtm-tbl li .crest { width: 18px; height: 20px; }
.wtm-tbl li b { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wtm-tbl li span { color: var(--mute); font-weight: 700; } .wtm-tbl li small { color: var(--mute); font-size: 12px; }
@media (max-width: 620px) { .vt-items { grid-template-columns: repeat(2, minmax(0, 1fr)); } .wtm-cols { grid-template-columns: 1fr; } .wtm-p { width: 64px; } .wtm-av { width: 36px; height: 36px; } }

/* ---------- Kabína, sezóna, tlačovka, chémia, počasie ---------- */
.risk { display: inline-flex; padding: 2px 9px; border-radius: 999px; font-size: 12px; font-weight: 700; }
.risk.lo { background: color-mix(in srgb, var(--good) 15%, transparent); color: var(--good); }
.risk.mid { background: color-mix(in srgb, var(--warn) 18%, transparent); color: var(--warn); }
.risk.hi { background: color-mix(in srgb, var(--bad) 16%, transparent); color: var(--bad); }
.inj-box, .loan-box { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; padding: 10px 12px; border-radius: 12px; background: var(--panel2); border: 1px solid var(--line); }
.inj-box { border-color: color-mix(in srgb, var(--bad) 40%, var(--line)); }
.inj-box b, .loan-box b { display: block; } .inj-box span, .loan-box span { font-size: 12.5px; color: var(--mute); }
.inj-ico, .clinic-bed { font-size: 22px; }
.loan-box .crest { width: 30px; height: 34px; flex: none; }
.inj-bar { height: 6px; margin-top: 6px; border-radius: 3px; background: var(--line); overflow: hidden; } .inj-bar i { display: block; height: 100%; background: var(--good); border-radius: 3px; }
.clinic { display: grid; gap: 8px; }
.clinic-row, .loan-row, .risk-row { display: flex; gap: 10px; align-items: center; padding: 8px 10px; border-radius: 10px; background: var(--panel2); cursor: pointer; }
.clinic-row > div, .loan-row > div { flex: 1; min-width: 0; }
.loan-row { margin-bottom: 6px; } .loan-row .crest { width: 26px; height: 29px; flex: none; }
.risk-row { justify-content: space-between; flex-wrap: wrap; margin-bottom: 6px; }
.chem-meter { display: flex; align-items: center; gap: 12px; }
.chem-bar { flex: 1; height: 12px; border-radius: 6px; background: var(--line); overflow: hidden; }
.chem-bar i { display: block; height: 100%; border-radius: 6px; background: linear-gradient(90deg, #22c55e, #84cc16, #facc15); }
.chem-meter b { font: 800 22px var(--display); }
.chem-pairs { display: grid; gap: 6px; margin-top: 6px; }
.chem-pair { display: grid; grid-template-columns: minmax(0, 1fr) 70px minmax(0, 1fr) 40px; gap: 8px; align-items: center; font-size: 13px; }
.chem-pair b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .chem-pair b:nth-of-type(2) { text-align: right; }
.chem-pair i { height: 4px; border-radius: 2px; background: linear-gradient(90deg, var(--good) var(--v), var(--line) var(--v)); }
.chem-pair small { color: var(--mute); text-align: right; }
.chem-lines { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 0; }
.chem-lines line { stroke: #b6ff7a; stroke-linecap: round; vector-effect: non-scaling-stroke; stroke-width: 3; filter: drop-shadow(0 0 3px rgba(182,255,122,.8)); }
.press-card .press-q { display: flex; gap: 12px; align-items: flex-start; padding: 12px; border-radius: 12px; background: var(--panel2); margin-bottom: 10px; }
.press-mic { font-size: 26px; } .press-q p { margin: 0; font: 600 15.5px/1.4 var(--body); } .press-q small { display: block; color: var(--mute); font-size: 12.5px; margin-top: 4px; font-weight: 400; }
.press-opts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.press-o { display: grid; gap: 4px; text-align: left; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--line2); background: var(--panel); color: var(--ink); font: inherit; cursor: pointer; }
.press-o:hover:not(:disabled) { border-color: var(--acc); }
.press-o b { font-size: 14px; } .press-o span { font-size: 13px; font-style: italic; } .press-o small { font-size: 12px; color: var(--mute); }
.press-o.on { border: 2px solid var(--acc); background: color-mix(in srgb, var(--acc) 10%, var(--panel)); } .press-o.off { opacity: .45; }
@media (max-width: 720px) { .press-opts { grid-template-columns: 1fr; } }
.md-derby { padding: 2px 10px; border-radius: 999px; background: #c81d25; color: #fff; font-weight: 800; font-size: 12px; letter-spacing: .03em; }
.md-wx { margin-left: auto; font-size: 13px; font-weight: 600; }
.cal-wx { font-size: 16px; margin-left: auto; }
.derby-txt { color: #c81d25; }
/* Cesta šampióna */
.pass { border-radius: 18px; padding: 18px; color: #f3f6ff; background: radial-gradient(90% 120% at 0% 0%, rgba(255,214,90,.25), transparent 60%), linear-gradient(135deg, #14213d, #0b1426); }
.pass .label { color: #ffd65a; }
.pass-head { display: flex; gap: 16px; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; }
.pass-head h2 { margin: 2px 0 0; font: 800 30px var(--display); } .pass-head h2 small { font-size: 16px; opacity: .7; }
.pass-xp { flex: 1; min-width: 220px; max-width: 460px; } .pass-xp small { opacity: .8; font-size: 12.5px; }
.pass-bar { height: 12px; border-radius: 6px; background: rgba(255,255,255,.12); overflow: hidden; margin-bottom: 4px; } .pass-bar i { display: block; height: 100%; background: linear-gradient(90deg, #ffd65a, #ff9f43); border-radius: 6px; }
.pass-track { display: flex; gap: 8px; overflow-x: auto; padding: 14px 2px 8px; margin-top: 8px; scroll-snap-type: x proximity; }
.pass-it { position: relative; flex: none; width: 104px; display: grid; justify-items: center; gap: 4px; padding: 10px 6px; border-radius: 12px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); text-align: center; scroll-snap-align: start; opacity: .6; }
.pass-it.open, .pass-it.got { opacity: 1; } .pass-it.open { border-color: #ffd65a; box-shadow: 0 0 0 1px #ffd65a inset; }
.pass-it.cos { background: rgba(255,214,90,.1); }
.pass-it.got { background: rgba(34,197,94,.12); border-color: rgba(34,197,94,.5); }
.pass-l { position: absolute; top: -9px; left: 50%; transform: translateX(-50%); min-width: 22px; padding: 1px 6px; border-radius: 999px; background: #ffd65a; color: #2a1206; font: 800 11px var(--body); }
.pass-i { font-size: 24px; height: 32px; display: grid; place-items: center; }
.pass-it small { font-size: 11.5px; line-height: 1.2; min-height: 28px; }
.pass-it em { font-style: normal; color: #4ade80; font-weight: 800; }
.pass-it .btn { padding: 3px 8px; font-size: 11.5px; }
.pass-foot { display: flex; gap: 16px; justify-content: space-between; flex-wrap: wrap; margin-top: 8px; }
.pass-how { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; max-width: 720px; } .pass-how .label { width: 100%; }
.pass-how .chip { background: rgba(255,255,255,.1); color: #e8eefc; border-color: transparent; }
.pass-look select { background: rgba(255,255,255,.1); color: #fff; border: 1px solid rgba(255,255,255,.25); border-radius: 8px; padding: 6px 8px; font: inherit; }
.pass-look select option { color: #111; }
.goal { display: flex; gap: 10px; align-items: center; padding: 10px 12px; border-radius: 12px; background: var(--panel2); margin-bottom: 6px; border: 1px solid transparent; }
.goal.ok { border-color: color-mix(in srgb, var(--good) 50%, transparent); }
.goal b { display: block; font-size: 14px; } .goal small { color: var(--mute); font-size: 12.5px; }
.goal-ico { font-size: 20px; } .goal-rw { font-weight: 800; white-space: nowrap; }
.rival { display: flex; gap: 10px; align-items: center; padding: 8px 10px; border-radius: 10px; background: var(--panel2); margin-bottom: 6px; color: inherit; text-decoration: none; }
.rival .crest { width: 30px; height: 34px; flex: none; } .rival b { display: block; } .rival small { color: var(--mute); font-size: 12.5px; }
.rival-rec { font-variant-numeric: tabular-nums; font-size: 15px; white-space: nowrap; } .rival .rival-rec b { display: inline; } .rival-rec .w { color: var(--good); } .rival-rec .l { color: var(--bad); }
.pick-list { display: grid; gap: 6px; max-height: 50vh; overflow-y: auto; }
.pick-p { display: flex; gap: 10px; align-items: center; padding: 8px 10px; border-radius: 10px; border: 1px solid var(--line); background: var(--panel); color: var(--ink); font: inherit; cursor: pointer; text-align: left; }
.pick-p b { flex: 1; }
.kit-pat svg { display: block; margin: 0 auto; }
/* rámiky kariet z Cesty šampióna (platí pre kartičky tvojho klubu) */
body.frame-gold #content .pcard:not(.auc-card .pcard), body.frame-gold .pm-card .pcard { box-shadow: 0 0 0 3px #ffd65a, 0 0 18px rgba(255,214,90,.6); }
body.frame-neon #content .pcard:not(.auc-card .pcard), body.frame-neon .pm-card .pcard { box-shadow: 0 0 0 3px #22d3ee, 0 0 18px #22d3ee, 0 0 34px rgba(217,70,239,.6); }
body.frame-holo #content .pcard:not(.auc-card .pcard), body.frame-holo .pm-card .pcard { box-shadow: 0 0 0 3px transparent, 0 0 20px rgba(255,255,255,.6); outline: 3px solid; outline-color: #a78bfa; animation: holoF 4s linear infinite; }
@keyframes holoF { 0% { outline-color: #f472b6; } 33% { outline-color: #60a5fa; } 66% { outline-color: #34d399; } 100% { outline-color: #f472b6; } }
@media (prefers-reduced-motion: reduce) { body.frame-holo #content .pcard:not(.auc-card .pcard), body.frame-holo .pm-card .pcard { animation: none; } }

/* ---------- Animované počasie ---------- */
.wx-fx { position: absolute; inset: 0; pointer-events: none; overflow: hidden; z-index: 3; }
.matchday .wx-fx { z-index: 1; }
.matchday > *:not(.md-bg):not(.wx-fx) { position: relative; z-index: 2; }
.wx-rain { background: linear-gradient(rgba(20,30,50,.35), rgba(20,30,50,.15)); }
.wx-rain i { position: absolute; top: -20%; width: 2px; height: 18%; border-radius: 1px; background: linear-gradient(transparent, rgba(235,245,255,.95)); box-shadow: 0 0 2px rgba(255,255,255,.5); transform: rotate(12deg); animation: wxRain linear infinite; }
@keyframes wxRain { to { transform: translate(-28px, 720%) rotate(12deg); } }
.wx-snow { background: linear-gradient(rgba(255,255,255,.12), rgba(220,230,245,.18)); }
.wx-snow i { position: absolute; top: -5%; width: calc(var(--sz, 4px) + 1px); height: calc(var(--sz, 4px) + 1px); border-radius: 50%; background: #fff; opacity: .95; box-shadow: 0 0 4px rgba(255,255,255,.8); animation: wxSnow linear infinite; }
@keyframes wxSnow { 50% { transform: translate(var(--dx, 10px), 55vh); } 100% { transform: translate(0, 110vh); } }
.match-canvas-wrap .wx-snow i { animation-name: wxSnowC; } @keyframes wxSnowC { 50% { transform: translate(var(--dx, 10px), 300px); } 100% { transform: translate(0, 620px); } }
.matchday .wx-snow i { animation-name: wxSnowM; } @keyframes wxSnowM { 50% { transform: translate(var(--dx, 10px), 160px); } 100% { transform: translate(0, 340px); } }
.wx-wind i { position: absolute; left: -30%; height: 2px; border-radius: 2px; background: linear-gradient(90deg, transparent, rgba(255,255,255,.75), transparent); animation: wxWind linear infinite; }
.wx-wind b { position: absolute; left: -10%; font-size: 16px; animation: wxLeaf 3.4s linear infinite; }
@keyframes wxWind { from { left: -30%; } to { left: 120%; } }
@keyframes wxLeaf { 0% { left: -10%; transform: translateY(0) rotate(0); } 50% { transform: translateY(30px) rotate(200deg); } 100% { left: 110%; transform: translateY(-10px) rotate(420deg); } }
.wx-haze { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(255,150,40,.25), rgba(255,200,80,.08) 50%, transparent); backdrop-filter: blur(.6px); animation: wxHaze 2.6s ease-in-out infinite alternate; }
@keyframes wxHaze { from { transform: skewX(-1deg) scaleY(1); opacity: .8; } to { transform: skewX(1.2deg) scaleY(1.03); opacity: 1; } }
.wx-sun { position: absolute; right: -60px; top: -60px; width: 220px; height: 220px; border-radius: 50%; background: radial-gradient(rgba(255,240,170,.75), rgba(255,210,90,.25) 40%, transparent 70%); animation: wxSun 6s ease-in-out infinite alternate; }
.wx-heat .wx-sun { background: radial-gradient(rgba(255,220,120,.9), rgba(255,140,40,.35) 45%, transparent 72%); }
@keyframes wxSun { to { transform: scale(1.12); opacity: .85; } }
.wx-cloud { position: absolute; top: 6%; width: 180px; height: 50px; border-radius: 40px; background: rgba(255,255,255,.22); filter: blur(6px); animation: wxCloud 28s linear infinite; }
.wx-cloud.c2 { top: 22%; width: 240px; animation-duration: 40s; animation-delay: -18s; opacity: .7; }
@keyframes wxCloud { from { left: -260px; } to { left: 110%; } }
.md-kotol { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; align-self: center; margin-top: 10px; padding: 6px 12px; border-radius: 999px; background: rgba(0,0,0,.4); font-size: 13px; }
.md-kotol .kv { width: 70px; height: 6px; border-radius: 3px; background: rgba(255,255,255,.25); overflow: hidden; } .md-kotol .kv i { display: block; height: 100%; background: linear-gradient(90deg, #facc15, #ef4444); }
.md-kotol small { opacity: .85; }
/* ---------- Chorály a choreo ---------- */
.chant { display: flex; align-items: center; gap: 10px; padding: 8px 12px; border-radius: 12px; color: #fff; background: linear-gradient(90deg, var(--c1), color-mix(in srgb, var(--c1) 60%, #000)); overflow: hidden; }
.ch-ic { font-size: 20px; animation: chBeat .5s ease-in-out infinite alternate; }
.ch-txt { flex: 1; min-width: 0; overflow: hidden; mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.ch-txt div { display: inline-flex; gap: 40px; white-space: nowrap; font: 800 14px var(--display); letter-spacing: .03em; animation: chScroll 16s linear infinite; }
@keyframes chScroll { to { transform: translateX(-50%); } }
.ch-vol { display: flex; gap: 2px; align-items: flex-end; height: 18px; }
.ch-vol i { width: 4px; height: 30%; border-radius: 1px; background: rgba(255,255,255,.25); }
.ch-vol i.on { background: var(--c2); animation: chBar .45s ease-in-out infinite alternate; }
@keyframes chBar { from { height: 30%; } to { height: 100%; } }
@keyframes chBeat { to { transform: scale(1.18) rotate(-8deg); } }
.chant > b { font-variant-numeric: tabular-nums; }
.choreo { position: absolute; inset: 0; z-index: 6; display: grid; place-items: center; pointer-events: none; background: rgba(0,0,0,.35); animation: chIn .4s ease-out; }
.choreo.out { animation: chOut 1s forwards; }
.ch-stand { position: absolute; inset: 0 0 35% 0; display: flex; }
.ch-stand i { flex: 1; transform-origin: top; transform: scaleY(0); animation: chUnroll .7s cubic-bezier(.3,1.3,.5,1) forwards; box-shadow: inset -2px 0 0 rgba(0,0,0,.15); }
.ch-banner { position: relative; display: grid; justify-items: center; gap: 4px; padding: 14px 26px; border-radius: 12px; background: var(--a); color: var(--b); border: 4px solid var(--b); box-shadow: 0 20px 40px rgba(0,0,0,.5); transform: scale(0); animation: chPop .6s 1s cubic-bezier(.3,1.5,.5,1) forwards; text-align: center; }
.ch-banner b { font: 800 26px var(--display); text-transform: uppercase; } .ch-banner span { font-weight: 700; font-size: 14px; }
.ch-crest { width: 60px; height: 68px; }
@keyframes chUnroll { to { transform: scaleY(1); } }
@keyframes chPop { to { transform: scale(1); } }
@keyframes chIn { from { opacity: 0; } } @keyframes chOut { to { opacity: 0; } }
/* ---------- Scéna tlačovky ---------- */
.press-stage { position: relative; height: 210px; margin-bottom: 12px; border-radius: 14px; overflow: hidden; background: linear-gradient(#1a2133, #0f1522); }
.ps-wall { position: absolute; inset: 0 0 50px 0; display: grid; grid-template-columns: repeat(6, 1fr); grid-auto-rows: 36px; transform: perspective(500px) rotateX(4deg); opacity: .95; }
.ps-wall span { display: grid; place-items: center; padding: 0 4px; font: 800 10.5px var(--display); text-transform: uppercase; letter-spacing: .04em; color: rgba(255,255,255,.75); background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.05); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ps-wall span.cl { color: var(--c2); background: color-mix(in srgb, var(--c1) 70%, transparent); }
.ps-mgr { position: absolute; left: 50%; bottom: 34px; width: 112px; height: 112px; transform: translateX(-50%); border-radius: 50% 50% 0 0; overflow: hidden; }
.ps-mgr svg { width: 100%; height: 100%; display: block; }
.ps-desk { position: absolute; left: 0; right: 0; bottom: 0; width: 100%; height: 86px; }
.ps-bubble { position: absolute; left: 50%; top: 10px; max-width: min(330px, 80%); transform: translateX(-50%); padding: 8px 12px; border-radius: 12px; background: #fff; color: #111; font: 600 13px/1.35 var(--body); font-style: italic; box-shadow: 0 8px 18px rgba(0,0,0,.4); z-index: 2; }
.ps-bubble::after { content: ""; position: absolute; left: 50%; bottom: -7px; border: 7px solid transparent; border-top-color: #fff; border-bottom: 0; transform: translateX(-50%); }
.ps-crowd { position: absolute; left: 0; right: 0; bottom: 0; height: 26px; background: linear-gradient(transparent, rgba(0,0,0,.7)); }
.ps-cam { position: absolute; bottom: 4px; width: 22px; height: 14px; border-radius: 3px; background: #2b2f36; }
.ps-cam i { position: absolute; right: -2px; top: -6px; width: 8px; height: 8px; border-radius: 50%; background: #fff; opacity: 0; box-shadow: 0 0 18px 8px rgba(255,255,255,.85); animation: psFlash 2.6s linear infinite; }
@keyframes psFlash { 0%, 90%, 100% { opacity: 0; } 92% { opacity: 1; } 95% { opacity: .2; } }
.ps-flash { position: absolute; inset: 0; background: #fff; opacity: 0; pointer-events: none; }
.press-stage.shoot .ps-flash { animation: psBig 1.3s linear; }
.press-stage.shoot .ps-cam i { animation-duration: .35s; }
@keyframes psBig { 0%, 100% { opacity: 0; } 8% { opacity: .85; } 16% { opacity: 0; } 34% { opacity: .7; } 42% { opacity: 0; } 62% { opacity: .55; } 70% { opacity: 0; } }
@media (max-width: 520px) { .press-stage { height: 180px; } .ps-wall { grid-template-columns: repeat(4, 1fr); } .ps-mgr { width: 92px; height: 92px; } .ch-banner b { font-size: 18px; } }
@media (prefers-reduced-motion: reduce) { .wx-fx *, .chant *, .ps-cam i, .ch-stand i, .ch-banner { animation: none !important; } .ch-stand i, .ch-banner { transform: none; } .wx-fx i, .wx-fx b { display: none; } }
.matchday > .wx-fx, .match-canvas-wrap > .wx-fx { position: absolute; inset: 0; }
@media (max-width: 520px) { .ps-bubble { top: 6px; left: 8px; transform: none; max-width: 52%; font-size: 11px; padding: 6px 9px; } .ps-bubble::after { left: auto; right: -6px; bottom: 14px; border: 6px solid transparent; border-left-color: #fff; border-right: 0; transform: none; } .ps-mgr { left: 70%; } }

/* ---------- Capo kotla ---------- */
.capo-card { margin-top: 16px; background: linear-gradient(120deg, color-mix(in srgb, var(--c1) 10%, var(--panel)), var(--panel) 55%); }
.cp-stars { color: #f5b301; letter-spacing: 1px; } .cp-stars i { font-style: normal; color: var(--line2); }
.cp-cur { display: flex; gap: 16px; align-items: flex-start; flex-wrap: wrap; }
.cp-main { flex: 1; min-width: 200px; display: grid; gap: 4px; }
.cp-main b em { font-style: normal; color: var(--mute); font-weight: 600; }
.cp-main small { color: var(--mute); font-size: 12.5px; }
.cp-face { position: relative; flex: none; width: 56px; height: 56px; border-radius: 50%; background: var(--c1); box-shadow: 0 0 0 3px var(--c2); overflow: visible; }
.cp-face svg { width: 100%; height: 100%; border-radius: 50%; display: block; }
.cp-face.big { width: 84px; height: 84px; }
.cp-mega { position: absolute; right: -8px; bottom: -4px; font-size: 22px; transform: rotate(-15deg); filter: drop-shadow(0 2px 3px rgba(0,0,0,.35)); }
.cp-face.big .cp-mega { font-size: 30px; animation: cpShout 1.4s ease-in-out infinite; }
@keyframes cpShout { 0%, 70%, 100% { transform: rotate(-15deg) scale(1); } 80% { transform: rotate(-22deg) scale(1.18); } 90% { transform: rotate(-10deg) scale(1.1); } }
.cp-bar { display: grid; grid-template-columns: 56px 1fr 28px; gap: 8px; align-items: center; font-size: 12.5px; }
.cp-bar div { height: 7px; border-radius: 4px; background: var(--line); overflow: hidden; } .cp-bar i { display: block; height: 100%; background: linear-gradient(90deg, var(--c1), #f59e0b); }
.cp-bar b { text-align: right; font-variant-numeric: tabular-nums; }
.cp-eff { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 4px; }
.cp-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 10px; }
.cp-cand { display: flex; gap: 12px; align-items: flex-start; padding: 12px; border-radius: 12px; background: var(--panel2); border: 1px solid var(--line); }
.cp-cand .cp-main { min-width: 0; }
.ch-capo { font: 800 12px var(--display); padding: 2px 8px; border-radius: 999px; background: rgba(0,0,0,.3); white-space: nowrap; }
@media (prefers-reduced-motion: reduce) { .cp-face.big .cp-mega { animation: none; } }
.sp-logo.xkx { background: #0f172a; display: grid; place-items: center; padding: 2px; }
.sp-offer.xkx { border: 2px solid #f59e0b; border-radius: 12px; background: linear-gradient(120deg, rgba(245,158,11,.16), transparent 60%); }
.sp-best { display: block; margin: 2px 0 4px; font-size: 12px; font-weight: 700; color: #b45309; }
:root[data-theme="dark"] .sp-best { color: #fbbf24; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .sp-best { color: #fbbf24; } }

/* ---------- Vernostné odmeny ---------- */
.loyal-card { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.loyal-card.ready { border: 2px solid #f59e0b; background: linear-gradient(120deg, rgba(245,158,11,.16), var(--panel) 60%); }
.ly-ico { font-size: 34px; } .loyal-card.ready .ly-ico { animation: lyHop 1.6s ease-in-out infinite; }
@keyframes lyHop { 0%, 80%, 100% { transform: none; } 88% { transform: translateY(-6px) rotate(-6deg); } }
.ly-main { flex: 1; min-width: 200px; display: grid; gap: 4px; }
.ly-top { display: flex; gap: 8px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.ly-bar { height: 8px; border-radius: 4px; background: var(--line); overflow: hidden; margin-top: 4px; } .ly-bar i { display: block; height: 100%; background: linear-gradient(90deg, #f59e0b, #facc15); }
.ly-steps { display: flex; gap: 6px; margin-top: 4px; } .ly-steps span { font-size: 12px; padding: 2px 9px; border-radius: 999px; background: var(--panel2); color: var(--mute); }
.ly-steps span.on { background: #f59e0b; color: #1a1205; font-weight: 700; } .ly-steps span.done { background: color-mix(in srgb, var(--good) 18%, transparent); color: var(--good); }
.legend-badge { font-size: .8em; filter: drop-shadow(0 0 4px rgba(96,165,250,.8)); }
body.frame-diamond #content .pcard:not(.auc-card .pcard), body.frame-diamond .pm-card .pcard { box-shadow: 0 0 0 3px #bfdbfe, 0 0 0 5px #60a5fa, 0 0 22px rgba(147,197,253,.9); }
@media (prefers-reduced-motion: reduce) { .loyal-card.ready .ly-ico { animation: none; } }

/* ---------- Oznam, aplikácia, upozornenia ---------- */
.announce { display: flex; gap: 10px; align-items: center; margin: 10px 0 0; padding: 10px 14px; border-radius: 12px; background: linear-gradient(90deg, #ffd54a, #ffb020); color: #1a1205; font-weight: 600; }
.announce span { flex: 1; min-width: 0; } .announce .btn { color: #1a1205; }
#ann-host:empty { display: none; }
#ann-host { padding: 0 max(16px, env(safe-area-inset-right, 0px)) 0 max(16px, env(safe-area-inset-left, 0px)); }
.inst-steps { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 12px 0; } .inst-steps ol { margin: 6px 0 0; padding-left: 18px; font-size: 14px; } .inst-steps > div { padding: 12px; border-radius: 12px; background: var(--panel2); }
@media (max-width: 560px) { .inst-steps { grid-template-columns: 1fr; } }
.push-state { padding: 10px 12px; border-radius: 10px; background: var(--panel2); margin-bottom: 10px; font-weight: 600; } .push-state.on { background: color-mix(in srgb, var(--good) 15%, transparent); }
.push-prefs { display: grid; gap: 6px; }
.chk { display: flex; gap: 8px; align-items: center; font-size: 14px; cursor: pointer; } .chk input { width: 18px; height: 18px; accent-color: var(--acc); }
/* ---------- Admin ---------- */
.adm-flag { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; padding: 10px 12px; border-radius: 10px; background: var(--panel2); margin-bottom: 6px; border-left: 4px solid var(--warn); }
.adm-flag.done { opacity: .55; border-left-color: var(--line2); } .adm-flag small { display: block; }
.adm-q { height: 34px; border-radius: 8px; border: 1px solid var(--line2); background: var(--panel); color: var(--ink); padding: 0 10px; font: inherit; min-width: 0; width: 220px; max-width: 50%; }
.adm-tbl tr.banned { opacity: .5; }
.card textarea { width: 100%; border-radius: 10px; border: 1px solid var(--line2); background: var(--panel); color: var(--ink); padding: 10px; font: inherit; margin: 10px 0 8px; resize: vertical; box-sizing: border-box; }
.card select { height: 36px; padding: 0 8px; border-radius: 8px; border: 1px solid var(--line2); background: var(--panel); color: var(--ink); font: 500 14px var(--body); line-height: 1.2; }
.bk-list { display: grid; gap: 4px; max-height: 300px; overflow-y: auto; }
.bk { display: grid; grid-template-columns: 1fr auto; gap: 2px 8px; align-items: center; padding: 6px 8px; border-radius: 8px; background: var(--panel2); font-size: 13px; }
.bk span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .bk small { grid-column: 1; } .bk .btn { grid-row: 1 / span 2; grid-column: 2; }
/* ---------- Skauting ---------- */
.scout { margin: 14px; padding: 14px; border-radius: 14px; background: linear-gradient(135deg, color-mix(in srgb, var(--acc) 8%, var(--panel2)), var(--panel2)); border: 1px solid var(--line); display: grid; gap: 10px; }
.sc-head { display: flex; gap: 12px; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; } .sc-head h3 { margin: 0 0 2px; font: 800 18px var(--display); } .sc-head > div { flex: 1; min-width: 220px; }
.sc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; }
.sc-reg { display: grid; gap: 2px; justify-items: start; text-align: left; padding: 10px; border-radius: 12px; border: 1px solid var(--line2); background: var(--panel); color: var(--ink); font: inherit; cursor: pointer; }
.sc-reg:hover, .sc-reg:focus-visible { border-color: var(--acc); }
.sc-reg small { color: var(--mute); font-size: 12px; line-height: 1.25; } .sc-reg em { font-style: normal; font-weight: 800; font-size: 13px; margin-top: 4px; }
.sc-flag .flag-svg { width: 30px; height: 20px; display: block; border-radius: 3px; }
.sc-trip { display: flex; gap: 12px; align-items: center; padding: 10px 12px; border-radius: 12px; background: var(--panel); }
.sc-trip b, .sc-trip small { display: block; } .sc-plane { font-size: 26px; animation: scFly 2.4s ease-in-out infinite alternate; }
@keyframes scFly { to { transform: translate(10px, -6px) rotate(8deg); } }
/* ---------- Želania ---------- */
.wish { display: flex; gap: 12px; padding: 10px 0; border-top: 1px solid var(--line); } .wish:first-of-type { border-top: 0; }
.wish-face { width: 52px; height: 52px; flex: none; border-radius: 50%; overflow: hidden; background: var(--panel2); } .wish-face svg { width: 100%; height: 100%; display: block; }
.wish-main { flex: 1; min-width: 0; } .wish-main p { margin: 4px 0; font-style: italic; }
/* ---------- Zostrih ---------- */
.modal.modal-hl { width: min(980px, 100%); padding: 0; background: #0a1120; color: #eef3fb; border-color: #22324d; }
.hl { padding: 16px; } .hl-head { display: flex; justify-content: space-between; gap: 10px; } .hl-head h2 { margin: 2px 0 10px; font: 800 24px var(--display); color: #fff; } .hl .label { color: #ffd54a; }
.hl-stage { position: relative; border-radius: 12px; overflow: hidden; background: #000; }
.hl-stage canvas { display: block; width: 100%; height: auto; aspect-ratio: 960 / 600; }
.hl-host { position: absolute; left: -12000px; top: 0; width: 960px; }
.hl-list { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 10px; } .hl-list span { padding: 3px 10px; border-radius: 999px; background: rgba(255,255,255,.08); font-size: 13px; } .hl-list span.on { background: #ffd54a; color: #1a1205; font-weight: 800; }
.hl .btn { color: #eef3fb; border-color: #33476a; } .hl .btn-primary { color: #fff; } .hl small.mute { color: #a9b6cc; }
/* ---------- Kronika ---------- */
:root { --paper: #fbf8f1; --paper-ink: #1f1a14; --paper-mute: #6b6152; --paper-line: #e3dccb; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --paper: #1b1a17; --paper-ink: #f2ece0; --paper-mute: #b3a892; --paper-line: #3a352c; } }
:root[data-theme="dark"] { --paper: #1b1a17; --paper-ink: #f2ece0; --paper-mute: #b3a892; --paper-line: #3a352c; }
.chron { background: var(--paper); color: var(--paper-ink); border-radius: 18px; overflow: hidden; box-shadow: 0 20px 50px -30px rgba(0,0,0,.5); font-family: Georgia, 'Times New Roman', serif; }
.ch-cover { padding: 22px 26px 0; border-top: 10px solid var(--c1); }
.ch-mast { display: flex; justify-content: space-between; align-items: baseline; border-bottom: 3px double var(--paper-ink); padding-bottom: 6px; }
.ch-mast span { font: 900 clamp(34px, 7vw, 64px)/1 Georgia, serif; letter-spacing: .14em; }
.ch-mast small { font: italic 14px Georgia, serif; color: var(--paper-mute); }
.ch-hero { display: flex; gap: 20px; align-items: center; padding: 18px 0; }
.ch-big { width: 96px; height: 108px; flex: none; }
.ch-hero h1 { margin: 0; font: 700 clamp(28px, 5vw, 46px)/1.05 Georgia, serif; text-wrap: balance; }
.ch-lead { margin: 8px 0 0; font-size: 17px; line-height: 1.55; max-width: 62ch; font-style: italic; }
.ch-by { margin: 6px 0 0; font-style: italic; color: var(--paper-mute); }
.ch-strip { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); border-top: 1px solid var(--paper-line); border-bottom: 1px solid var(--paper-line); margin: 0 -26px; }
.ch-strip div { padding: 10px 6px; text-align: center; border-right: 1px solid var(--paper-line); } .ch-strip div:last-child { border-right: 0; }
.ch-strip b { display: block; font: 700 22px Georgia, serif; } .ch-strip small { font: 600 11px var(--body); color: var(--paper-mute); text-transform: uppercase; letter-spacing: .06em; }
.ch-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; padding: 6px 26px 26px; }
.ch-sec { padding-top: 16px; min-width: 0; } .ch-wide { grid-column: 1 / -1; }
.ch-sec h2 { margin: 0 0 10px; font: 700 22px Georgia, serif; border-bottom: 2px solid var(--c1); padding-bottom: 4px; }
.ch-p { margin: 0; line-height: 1.6; }
.ch-time { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.ch-time li { display: grid; grid-template-columns: 52px 1fr auto; gap: 12px; align-items: start; padding: 10px 0; border-bottom: 1px dotted var(--paper-line); }
.ch-time li small { display: block; color: var(--paper-mute); font: 13px var(--body); }
.ch-s { font: 700 24px Georgia, serif; color: var(--c1); } .ch-time li em { font-style: normal; font-weight: 700; color: #b8860b; }
.ch-time li.up .ch-s::after { content: ' ↑'; color: #15803d; font-size: 16px; } .ch-time li.down .ch-s::after { content: ' ↓'; color: #b91c1c; font-size: 16px; }
.ch-rec { margin: 0; display: grid; grid-template-columns: auto 1fr; gap: 8px 14px; } .ch-rec dt { font: 600 12px var(--body); text-transform: uppercase; letter-spacing: .05em; color: var(--paper-mute); padding-top: 3px; } .ch-rec dd { margin: 0; } .ch-rec small { color: var(--paper-mute); }
.ch-tro { list-style: none; margin: 0 0 8px; padding: 0; display: grid; gap: 6px; } .ch-tro small { color: var(--paper-mute); } .ch-empty { color: var(--paper-mute); font-style: italic; }
.ch-hall { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 12px; } .ch-hall div { text-align: center; } .ch-hall svg { width: 72px; height: 72px; border-radius: 50%; background: color-mix(in srgb, var(--c1) 20%, transparent); }
.ch-hall b { display: block; font-size: 14px; } .ch-hall small { color: var(--paper-mute); font: 12px var(--body); }
.ch-diary { display: grid; grid-template-columns: 110px 1fr; gap: 12px; padding: 8px 0; border-bottom: 1px dotted var(--paper-line); } .ch-diary span { font-style: italic; color: var(--paper-mute); } .ch-diary ul { margin: 0; padding-left: 18px; line-height: 1.5; }
@media (max-width: 720px) { .ch-cols { grid-template-columns: 1fr; padding: 4px 16px 20px; } .ch-cover { padding: 16px 16px 0; } .ch-strip { grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 -16px; } .ch-strip div:nth-child(4) { border-right: 0; } .ch-hero { flex-direction: column; align-items: flex-start; } .ch-diary { grid-template-columns: 1fr; gap: 2px; } .ch-time li { grid-template-columns: 40px 1fr; } .ch-time li em { grid-column: 2; } }
@media (prefers-reduced-motion: reduce) { .sc-plane { animation: none; } }
/* bočné menu sa dá posúvať, keď je položiek veľa */
.side { overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.2) transparent; }
.side .nav, .side .side-club, .side .brand { flex: none; }
.bn-more { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 4px 2px; flex: 1; border: 0; background: none; color: var(--dim); font: 600 10.5px/1.1 var(--body); cursor: pointer; }
.bn-more { font-size: 20px; } .bn-more span { font-size: 10.5px; }
@media (max-width: 880px) { .modal-bg:has(.modal-more) { align-items: flex-end; padding: 0; } }
.modal.modal-more { width: 100%; max-width: 560px; border-radius: 18px 18px 0 0; padding: 16px max(16px, env(safe-area-inset-right, 0px)) calc(16px + env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px)); }
.ms-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.ms-grid a { display: grid; justify-items: center; gap: 4px; padding: 10px 4px; border-radius: 12px; background: var(--panel2); color: var(--ink); text-decoration: none; font: 600 12px/1.15 var(--body); text-align: center; }
.ms-grid a svg { width: 22px; height: 22px; } .ms-grid a.on { outline: 2px solid var(--acc); }
.ms-acts { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 12px; }
/* úzke telefóny: celé sumy v hornej lište sa zmestia */
@media (max-width: 440px) {
  .bug-club { padding: 6px 16px 6px 8px; gap: 6px; } .bug-club .crest { width: 22px; height: 25px; } .bug-club b { font-size: 15px; }
  .bug-seg { padding: 5px 7px; } .bug-seg b { font-size: 15px; } .bug-seg small { font-size: 10px; }
  #bug-budget { flex: 1.8; } .bug-pts { flex: .8; }
}
@media (max-width: 360px) { .bug-club b { display: none; } }
.content { overflow-x: clip; }

/* ---------- Mobilná aplikácia (Capacitor) a nainštalovaná webová aplikácia ---------- */
html.native-app .main { padding-top: env(safe-area-inset-top, 0px); }
html.native-app body::after { content: ""; position: fixed; top: 0; left: 0; right: 0; height: env(safe-area-inset-top, 0px); background: #0a1120; z-index: 60; pointer-events: none; }
@media (display-mode: standalone) {
  .main { padding-top: env(safe-area-inset-top, 0px); }
  body::after { content: ""; position: fixed; top: 0; left: 0; right: 0; height: env(safe-area-inset-top, 0px); background: #0a1120; z-index: 60; pointer-events: none; }
}
html.native-app { -webkit-tap-highlight-color: transparent; overscroll-behavior-y: none; }
html.native-app body { -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }
html.native-app input, html.native-app textarea, html.native-app select, html.native-app [contenteditable] { -webkit-user-select: text; user-select: text; }
html.native-app #pwa-inst { display: none !important; }
.linkish { background: none; border: 0; padding: 0; color: inherit; font: inherit; text-decoration: underline; cursor: pointer; }
.side-legal { padding: 6px 12px; font-size: 12px; color: #8b9bb2; } .side-legal a { color: inherit; }
.ms-legal { margin-top: 12px; font-size: 13px; color: var(--mute); } .ms-legal a { color: inherit; }

/* Guided first day: one decision at a time, with persistent server progress. */
.welcome-banner { background:linear-gradient(120deg,#111e33,#1f3d62); color:#fff; padding:32px; border-radius:18px; margin-bottom:22px; }
.welcome-banner .label { color:#a7d8d3; }
.welcome-banner h1 { color:#fff; font-size:clamp(30px,4vw,46px); margin:10px 0; }
.welcome-banner p { max-width:660px; color:#e2ebf5; line-height:1.7; }
.welcome-banner small { color:#e2ebf5; font-size:13px; }
.welcome-progress { height:6px; background:#ffffff25; border-radius:8px; margin:22px 0 10px; max-width:440px; overflow:hidden; }
.welcome-progress span { display:block; height:100%; background:#7be0bd; }
.welcome-grid { display:grid; grid-template-columns:1.35fr 1fr; gap:22px; }
.welcome-task { padding:28px; }
.welcome-task h2 { font-size:30px; margin:12px 0; }
.welcome-task p,.welcome-review p { line-height:1.7; font-size:16px; }
.welcome-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:25px; }
.welcome-steps { list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.welcome-steps li { display:flex; align-items:center; gap:15px; padding:14px 18px; border:1px solid var(--line); border-radius:12px; background:var(--bg2); }
.welcome-steps li>span { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:var(--bg); font-weight:700; }
.welcome-steps small { display:block; font-size:13px; margin-top:3px; color:var(--dim); }
.welcome-steps .current { border:2px solid #304bcc; }
.welcome-steps .done>span { background:#d6f4e8; color:#155c43; }
.welcome-footer { display:flex; align-items:center; flex-wrap:wrap; gap:15px; margin:24px 0; }
.welcome-footer p { flex:1; min-width:230px; line-height:1.6; color:var(--dim); }
.welcome-next summary,.training-extra summary { cursor:pointer; padding:18px 0; font-weight:600; }
.welcome-review { padding:18px; background:var(--bg2); border-radius:12px; margin-top:20px; }
.nav-extra summary { cursor:pointer; padding:14px; color:#c6d4e5; }
.nav-extra a { display:flex; gap:12px; padding:12px 14px; }
button:focus-visible,a:focus-visible,summary:focus-visible { outline:3px solid #bd880c; outline-offset:3px; }
@media(max-width:700px) { .welcome-grid { grid-template-columns:1fr; } .welcome-banner { padding:24px 20px; } .welcome-task { padding:22px; } .welcome-actions .btn { width:100%; } .welcome-footer .btn { white-space:normal; } }

/* Match commentary must not inherit block typography from board objectives. */
.feed-item.goal { display:grid; grid-template-columns:42px 28px minmax(0,1fr); align-items:start; }
.feed-item.goal b { display:inline; font-size:inherit; }

/* Match essentials stay together; health is communicated with words and colour. */
.match-layout { margin-top:16px; align-items:start; }
.match-stage { background:var(--panel); border:1px solid var(--line2); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--card-shadow); }
.match-stage .scoreboard { border:0; border-radius:0; box-shadow:none; padding:14px; }
.match-stage .match-canvas-wrap { border-radius:0; border-width:1px 0; }
.match-facts { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; padding:9px 16px; background:var(--panel2); color:var(--mute); font-size:14px; }
.pitch-stats { padding:12px 16px; }
.pitch-stats-teams, .pitch-stat { display:grid; grid-template-columns:1fr 2fr 1fr; align-items:center; gap:12px; text-align:center; }
.pitch-stats-teams { font-size:12px; font-weight:700; color:var(--mute); margin-bottom:6px; }
.pitch-stat { padding:6px 0; border-top:1px solid var(--line); }
.pitch-stat b { font-size:19px; font-variant-numeric:tabular-nums; }
.pitch-stat span { font-size:14px; color:var(--mute); }
.pitch-stats > small { display:block; text-align:center; color:var(--mute); margin-top:7px; }
.health-badge { display:inline-flex; align-items:center; border:1px solid currentColor; border-radius:6px; padding:3px 6px; margin:3px 0; font-size:12px; font-weight:750; line-height:1.25; white-space:normal; text-decoration:none; }
.health-badge.injured { color:#9b1831; background:#ffe8ed; }
.health-badge.exhausted { color:#8a2900; background:#ffeadb; }
.health-badge.tired { color:#754600; background:#fff2ce; }
.prow.condition-injured, .tm tr.condition-injured .tm-name { border-left:5px solid #bd2444; background:#fff0f3; }
.prow.condition-exhausted, .tm tr.condition-exhausted .tm-name { border-left:5px solid #b84c00; background:#fff1e7; }
.prow.condition-tired, .tm tr.condition-tired .tm-name { border-left:5px solid #bd8800; background:#fff8e4; }
.prow.unav.condition-injured b { text-decoration:none; color:var(--ink); }
.slot .health-badge { font-size:10px; padding:2px 4px; max-width:92px; }
.slot.condition-injured .disc { outline:3px solid #e33858; outline-offset:2px; }
.slot.condition-exhausted .disc, .slot.condition-tired .disc { outline:3px solid #ffbf3c; outline-offset:2px; }
:root[data-theme="dark"] .prow.condition-injured, :root[data-theme="dark"] .tm tr.condition-injured .tm-name { background:#3b1f2c; }
:root[data-theme="dark"] .prow.condition-exhausted, :root[data-theme="dark"] .tm tr.condition-exhausted .tm-name { background:#3b291e; }
:root[data-theme="dark"] .prow.condition-tired, :root[data-theme="dark"] .tm tr.condition-tired .tm-name { background:#34301d; }
.training-preflight { display:grid; gap:12px; margin-top:16px; }
.training-readiness { padding:14px; border:1px solid var(--line2); border-radius:10px; background:var(--panel2); }
.training-readiness.attention { border-left:5px solid #bd8800; }
.training-readiness p { margin:8px 0; }
.training-readiness small { display:block; color:var(--mute); margin-top:8px; }
.training-readiness summary, .all-opponents summary { cursor:pointer; font-weight:650; padding:10px 0; }
.training-readiness ul { padding-left:20px; line-height:1.7; }
.opponent-picks { margin:18px 0; }
.recommended-opponent { width:100%; margin:8px 0; padding:14px; border:1px solid var(--line2); border-radius:10px; background:var(--panel2); text-align:left; }
.recommended-opponent small { display:block; color:var(--mute); margin-top:5px; }
.all-opponents { border-top:1px solid var(--line2); margin-bottom:12px; }
@media (max-width:700px) {
  :root { --mute:#43536b; --dim:#526179; }
  :root[data-theme="dark"] { --mute:#b5c4df; --dim:#aabbd7; }
  .page-head p, .field > small, .train-card small, .training-readiness small,
  .tac-line small, .prow .nm small, .tm-who small, .tm-en small,
  .welcome-banner small, .welcome-steps small, .recommended-opponent small,
  .card p.mute, .modal-b p.mute, .pitch-stats > small, .tm-legend, .tm-foot { font-size:14px; line-height:1.5; }
  .page-head .label, .field > .label, .match-facts, .pitch-stats-teams { font-size:13px; line-height:1.4; }
  .health-badge { font-size:12px; }
  .match-layout { gap:16px; }
  .match-stage .scoreboard { gap:8px; padding:12px 10px; }
  .match-stage .sb-team { flex-direction:column; text-align:center; gap:6px; }
  .match-stage .sb-team .crest { width:32px; height:38px; }
  .match-stage .sb-team b { font-size:17px; line-height:1.15; }
  .match-stage .sb-score { font-size:44px; gap:6px; }
  .match-stage .sb-clock { font-size:16px; }
  .match-facts, .pitch-stats { padding:10px 12px; }
  .pitch-stat { padding:5px 0; }
  .recommended-opponent { min-height:76px; }
  .prow .nm { min-width:0; }
  .prow .nm small { white-space:normal; }
  .training-readiness { padding:12px; }
}
.tm-health { display:flex; flex-direction:column; align-items:flex-start; gap:2px; margin:4px 0; }
.tm-health > span:not(.health-badge) { font-size:12px; color:var(--mute); }
@media (max-width:720px) {
  .tm-who > div { min-width:0; }
  .tm-who small { white-space:normal; }
  .tm-health > span:not(.health-badge) { font-size:14px; }
}
.practice-entry { margin:12px 0 4px; }
.practice-setups { margin-top:16px; }
.practice-field { margin-top:12px; }
.practice-actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin:20px 0; }
.practice-result { scroll-margin-top:88px; }
.practice-variant { padding:16px; background:var(--panel2); border:1px solid var(--line2); border-radius:12px; }
.practice-variant small { display:block; color:var(--mute); margin-top:10px; }
.practice-table { margin:16px 0; }
.practice-table th:first-child { text-align:left; }
.practice-table td { text-align:center; font-weight:700; font-variant-numeric:tabular-nums; }
.practice-banner { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:16px; margin-bottom:16px; background:var(--panel); border:1px solid var(--line2); border-left:5px solid var(--info); border-radius:12px; }
.practice-banner span { color:var(--mute); }
.feed-item .goal-analysis { display:block; padding:10px 12px; margin-top:9px; border-left:3px solid #bb8716; border-radius:0 8px 8px 0; background:var(--panel); color:var(--ink); font-size:14px; line-height:1.5; }
.feed-item .goal-analysis b { display:block; color:var(--mute); font-size:12px; margin-bottom:4px; text-transform:uppercase; letter-spacing:.04em; }
@media(max-width:700px){.practice-variant .btn{white-space:normal;text-align:center}.practice-field select{font-size:16px}.practice-table{font-size:14px}.practice-variant small,.practice-banner span{font-size:14px}}

/* Goal analysis leaves the pitch clear and uses words as well as colour. */
.goal-overlay:has(.goal-compact) { place-items:start center; padding:12px 8px; }
.goal-overlay .gtext.goal-compact { font-size:clamp(22px,4vw,40px); padding:8px 16px; border-radius:12px; background:rgba(9,25,35,.88); text-shadow:none; }
.goal-overlay .gtext.goal-compact small { font-size:clamp(12px,2vw,16px); margin-top:4px; }
.goal-review-caption { display:flex; flex-wrap:wrap; gap:8px 18px; padding:14px 16px; background:#112d35; border-bottom:2px solid #ffe17a; color:#f4f8fa; font-size:14px; }
.goal-review-caption[hidden] { display:none; }
.goal-review-caption>b,.goal-review-caption small { flex-basis:100%; }
.goal-review-caption small { color:#d7e6e9; font-size:13px; }
.goal-scorer { color:#ffe17a; font-weight:700; }
.goal-assister { color:#65eced; font-weight:700; }
.practice-charts { margin:24px 0 8px; }
.practice-chart-head { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.practice-chart-head>span { display:flex; align-items:center; gap:8px; font-weight:800; }
.chart-key { display:inline-block; width:14px; height:14px; border-radius:3px; margin-left:10px; }
.chart-a { background:#59c5f1; }
.chart-b { background:repeating-linear-gradient(135deg,#efb85c 0px,#efb85c 6px,#d39335 6px,#d39335 9px); }
.practice-chart-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:16px; }
.practice-chart { padding:18px; border:1px solid var(--line2); border-radius:12px; background:var(--panel2); min-width:0; }
.practice-chart h4 { margin:0 0 5px; font-size:16px; }
.practice-chart>small { display:block; min-height:32px; color:var(--mute); font-size:13px; line-height:1.35; }
.chart-row { display:grid; grid-template-columns:16px minmax(0,1fr) 60px; align-items:center; gap:10px; margin-top:12px; font-variant-numeric:tabular-nums; }
.chart-row strong { text-align:right; font-size:15px; white-space:nowrap; }
.chart-track { height:16px; border-radius:4px; background:rgba(130,155,176,.15); overflow:hidden; }
.chart-fill { display:block; height:100%; border-radius:4px; }
@media(max-width:700px) { .practice-chart-grid { grid-template-columns:1fr; } .practice-chart>small { min-height:0; font-size:14px; } .goal-review-caption small { font-size:14px; } }

.goal-review-toggle { margin:12px 16px; }
.goal-review-toggle[hidden] { display:none; }

/* A wider broadcast view lets the player artwork breathe on desktop. */
.match-layout.is-wide { grid-template-columns:minmax(0,1fr); }
.match-layout.is-wide>.stack:last-child { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
.match-layout.is-wide #mc-control:empty { display:none; }
.match-layout.is-wide #mc-control:not(:empty) { grid-column:1 / -1; }
@media(max-width:1000px){#mc-size{display:none}.match-layout.is-wide>.stack:last-child{display:flex}}

.movement-card canvas {display:block;width:100%;height:auto;border-radius:10px;margin-top:14px;background:#153b31;}
.movement-card .mute,.movement-card>small{font-size:14px;line-height:1.5;}
.movement-legend {display:flex;align-items:center;gap:10px;font-size:13px;margin:12px 0;}
.movement-legend i {height:9px;flex:1;border-radius:9px;background:linear-gradient(90deg,#286c58,#efc852,#ff7040,#fff5ad);}

.offside-overlay{position:absolute;left:5%;right:5%;top:12px;z-index:4;padding:12px 16px;background:#302917;color:#ffe49a;border:1px solid #eec568;border-radius:10px;text-align:center;font-weight:800;font-size:clamp(13px,2vw,18px);box-shadow:0 4px 14px #0004;pointer-events:none}.offside-overlay[hidden]{display:none}.feed-item.offside{background:rgba(228,171,54,.10)}

.feed .feint{background:rgba(41,162,119,.10)}
.feed .tackle{background:rgba(51,118,215,.10)}
.feed .foul,.feed .throwin{background:rgba(214,165,57,.08)}

.cohesion-groups{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cohesion-row{display:grid;grid-template-columns:1fr auto;gap:8px;font-size:14px}.cohesion-row .chem-bar{grid-column:1/-1;width:100%;height:8px}.cohesion-row.defense .chem-bar i{background:#379bd4}.cohesion-row.attack .chem-bar i{background:#24ad83}.chem-card p{font-size:14px;line-height:1.55}@media(max-width:520px){.cohesion-groups{grid-template-columns:1fr}.chem-card .card-h{flex-wrap:wrap}}

/* Mobile controls and inputs stay usable without Safari input zoom. */
@media (max-width: 600px) {
  input, select, textarea { font-size: 16px; }
  .auth-form > a { margin-bottom: 16px; }
  .ms-acts .btn, #pwa-inst { min-height: 44px; }
}

/* Club studio and one-handed match controls — v1.17 */
.crest-studio{display:grid;grid-template-columns:300px minmax(0,1fr);gap:24px;align-items:start}.crest-preview{position:sticky;top:90px;text-align:center;display:flex;align-items:center;flex-direction:column;gap:14px}.crest-preview h2{margin:0}.crest-large{width:180px;height:204px;filter:drop-shadow(0 12px 16px #0003)}.crest-context{display:flex;align-items:center;gap:12px;text-align:left;width:100%;padding:14px;border-radius:12px;background:var(--bg2)}.crest-context small{display:block;color:var(--mute)}.crest-preview .btn{width:100%;min-height:48px}.crest-tools{min-width:0}.crest-options{border:0;border-top:1px solid var(--line);padding:20px 0;margin:18px 0 0}.crest-options legend{font-size:18px;font-weight:700;padding:0 8px 0 0}.crest-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:8px}.crest-choice{border:1px solid var(--line);border-radius:12px;background:var(--bg2);color:var(--text);padding:12px 6px;display:grid;justify-items:center;gap:6px;cursor:pointer;font:600 12px var(--body)}.crest-choice.on{border-color:var(--acc);box-shadow:inset 0 0 0 2px var(--acc);background:var(--hl)}.crest-option-icon{width:42px;height:48px}.crest-palette-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:8px;margin:16px 0}.crest-palette{display:flex;border:2px solid var(--line);border-radius:8px;overflow:hidden;padding:0;min-height:42px;cursor:pointer}.crest-palette i{flex:1;min-width:0}.crest-color-row{display:flex;gap:12px;margin:20px 0}.crest-color-row label{flex:1;font-size:12px;font-weight:600}.crest-color-row input{display:block;width:100%;height:44px;padding:4px;cursor:pointer}.crest-preview small{color:var(--mute)}.club-intro{position:fixed;inset:0;z-index:10000;background:radial-gradient(ellipse at 50% 35%,#233c50,#0a1423 75%);color:#fff;display:grid;place-items:center;padding:30px;text-align:center}.club-intro-inner{display:grid;justify-items:center;gap:22px;animation:club-arrive .38s ease-out}.intro-crest{width:166px;height:188px;filter:drop-shadow(0 16px 30px #0005)}.club-intro h1{font-size:clamp(30px,7vw,58px);margin:0;color:#fff}.club-intro span{color:#b9cbdb;letter-spacing:3px;font-size:12px}.club-intro .btn{min-height:48px;min-width:220px}.leave-actions{display:flex;gap:10px;flex-wrap:wrap}.leave-actions .btn{min-height:48px}.modal-sub{width:min(780px,100%)}.sub-help{color:var(--mute);line-height:1.6}.sub-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.sub-columns h3{font-size:16px}.sub-columns .sub-list{max-height:40vh;overflow-y:auto;overscroll-behavior:contain;padding:3px}.sub-list .fr-item{min-height:64px;width:100%;white-space:normal;text-align:left;gap:8px}.sub-list .fr-item span{min-width:0}.sub-list .fr-item b{overflow-wrap:anywhere}.sub-list .fr-item small{display:block;color:var(--mute);font-size:12px}.sub-bench-row{display:flex;align-items:stretch;gap:2px;margin-bottom:4px}.sub-bench-row>.fr-item{flex:1;min-width:0;margin:0}.sub-drag-handle{width:44px;flex-shrink:0;touch-action:none;user-select:none;background:var(--bg2);color:var(--text);border:1px solid var(--line);border-radius:8px;font-size:25px;cursor:grab}.sub-drag-handle:active{cursor:grabbing}.sub-drop-target{outline:3px solid var(--acc);outline-offset:-3px;background:var(--hl)!important}.sub-drag-ghost{position:fixed;z-index:12000;pointer-events:none;transform:translate(-50%,-115%);background:#173d2a;color:#fff;border:2px solid #a3e635;box-shadow:0 8px 26px #0005;padding:10px 14px;border-radius:12px;font:700 14px system-ui;max-width:220px}.sub-confirm{position:sticky;bottom:0;background:var(--panel);padding-top:12px;border-top:1px solid var(--line);margin-top:12px}.sub-confirm .row{justify-content:flex-end}.sub-confirm .btn{min-height:48px}.sub-confirm #sub-sum{font-weight:700}.view-match #mc-ctrl .btn,.view-match #mc-speed button,.control-card button{min-height:48px;min-width:48px}.view-match #mc-snd{padding:12px}.view-match .goal-review-caption button{min-height:48px}.view-match #mc-ctrl{gap:10px}.content{animation:club-page-in .2s ease-out}@keyframes club-page-in{from{opacity:.2;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes club-arrive{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:700px){.crest-studio{grid-template-columns:1fr;gap:16px}.crest-preview{position:static;display:grid;grid-template-columns:112px 1fr;text-align:left;gap:8px 16px}.crest-preview>.label{grid-column:1/-1}.crest-preview #crest-preview-art{grid-row:2/5}.crest-large{width:108px;height:124px}.crest-preview .crest-context{display:none}.crest-preview h2{font-size:23px}.crest-preview p{font-size:13px;margin:0}.crest-preview>small{grid-column:1/-1}.crest-preview #crest-intro{grid-column:1/-1}.crest-palette-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.crest-choice-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.crest-choice{font-size:11px}.crest-tools{padding:16px}.view-match #mc-ctrl{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.view-match #mc-speed{grid-column:1/-1}.view-match #mc-speed button{flex:1;font-size:18px}.view-match #mc-ctrl>.btn{font-size:14px;padding:10px 6px}.view-match .control-card .seg{flex-wrap:wrap}.view-match .control-card .seg button{flex:1 0 auto;min-height:48px;font-size:14px}.modal-sub .modal-b{padding:14px}.sub-columns{gap:8px}.sub-columns .pos{display:none}.sub-list .fr-item{padding:9px 7px;font-size:12px}.sub-drag-handle{width:44px}.sub-confirm .row{display:grid;grid-template-columns:1fr 2fr}.sub-confirm .row .btn{width:100%;margin:0}.leave-actions{flex-direction:column}.leave-actions .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.content,.club-intro-inner{animation:none!important}.crest-choice,.btn{transition:none!important}}

#crest-mini{display:block;flex:0 0 36px}#crest-mini .crest{width:36px;height:41px}

.match-thumb-bar{display:none}.match-thumb-bar[hidden]{display:none!important}@media(max-width:700px){.match-thumb-bar{position:fixed;bottom:calc(68px + env(safe-area-inset-bottom,0px));left:12px;right:12px;z-index:45;display:grid;grid-template-columns:1fr 1fr;gap:8px;background:var(--panel);padding:8px;border:1px solid var(--line);border-radius:16px;box-shadow:0 6px 24px #0003}.match-thumb-bar .btn{min-height:48px;font-size:15px}.view-match .content{padding-bottom:calc(170px + env(safe-area-inset-bottom,0px))}#mc-control{scroll-margin-top:86px}}

.dismissal-offer{display:grid;gap:9px;padding:16px;border:1px solid #e26464;border-radius:12px;background:var(--panel,#fff);margin:12px 0}.dismissal-offer[hidden]{display:none}.dismissal-offer .row{flex-wrap:wrap}.dismissal-roles{font-size:14px;line-height:1.6;margin:16px 0}.dismissal-roles p{margin:8px 0}

.match-added{padding:12px 16px;background:#153b2c;color:#c8ffb0;border-left:4px solid #b4f56a;font-size:16px;font-weight:700;line-height:1.4}.match-added[hidden]{display:none}

.aggression-risk{font-size:14px;line-height:1.5;margin:12px 0;color:var(--ink)}.aggression-warning{display:grid;gap:6px;padding:12px;background:#fff1ca;border-left:4px solid #c47a00;color:#573900;font-size:14px;line-height:1.5}.sub-list [data-booked=true]{border-left:4px solid #d69513;background:#fff7dc;color:#392c14}

/* Club colours: named touch targets and selection independent of the palette. */
.club-colors { border:0; padding:0; margin:4px 0 0; min-width:0; }
.club-colors legend { padding:0; color:var(--ink); font-weight:750; font-size:17px; }
.club-colors-hint { color:var(--mute); font-size:14px; line-height:1.5; margin:6px 0 14px; }
.club-colors-preview { display:flex; align-items:center; gap:16px; padding:18px 16px; margin-bottom:16px; border-radius:16px; border:1px solid var(--line2); background:var(--panel); box-shadow:var(--card-shadow); }
.club-colors-crest { flex:0 0 62px; display:grid; place-items:center; }
.club-colors-crest .crest { width:62px; height:70px; filter:drop-shadow(0 5px 5px #0002); }
.club-colors-summary { display:flex; flex-direction:column; gap:5px; min-width:0; }
.club-colors-caption { color:#12613c; font-size:11px; font-weight:800; letter-spacing:.055em; text-transform:uppercase; }
.club-colors-summary strong { color:var(--ink); font-size:18px; line-height:1.3; overflow-wrap:anywhere; }
.club-colors-note { color:var(--mute); font-size:12px; line-height:1.4; }
.club-colors-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.club-color-option { position:relative; display:flex; align-items:center; gap:9px; width:100%; min-height:72px; padding:11px 9px; text-align:left; color:var(--ink); background:var(--panel); border:2px solid var(--line2); border-radius:13px; cursor:pointer; touch-action:manipulation; -webkit-tap-highlight-color:transparent; transition:background .15s,border-color .15s,box-shadow .15s,transform .12s; }
.club-color-sample { display:flex; flex:0 0 32px; height:40px; border-radius:8px; overflow:hidden; border:1px solid #0002; box-shadow:0 2px 4px #0001; }
.club-color-sample i { flex:1; }
.club-color-label { display:block; font-size:13px; font-weight:750; line-height:1.35; overflow-wrap:anywhere; }
.club-color-label small { display:block; font-size:12px; font-weight:500; color:var(--mute); }
.club-color-check { position:absolute; top:-7px; right:-5px; display:grid; place-items:center; width:23px; height:23px; border-radius:50%; background:#12613c; color:white; font-size:14px; font-weight:900; border:2px solid var(--panel); opacity:0; transform:scale(.6); transition:opacity .15s,transform .15s; }
.club-color-option[aria-pressed="true"] { background:#e9f6ef; color:#123b29; border-color:#12613c; box-shadow:0 0 0 2px #12613c25; }
.club-color-option[aria-pressed="true"] small { color:#365d49; }
.club-color-option[aria-pressed="true"] .club-color-check { opacity:1; transform:scale(1); }
.club-color-option:active { transform:scale(.97); }
.club-color-option:focus-visible { outline:3px solid var(--info); outline-offset:4px; }
:root[data-theme="dark"] .club-colors-caption { color:#70edaa; }
:root[data-theme="dark"] .club-color-option[aria-pressed="true"] { background:#153d2e; color:#ecfff3; border-color:#70edaa; box-shadow:0 0 0 2px #70edaa33; }
:root[data-theme="dark"] .club-color-option[aria-pressed="true"] small { color:#b4d9c5; }
@media(prefers-reduced-motion:reduce) { .club-color-option,.club-color-check { transition:none; } }
@media(max-width:350px) { .club-color-option { gap:6px; padding-inline:7px; } .club-color-sample { flex-basis:24px; } .club-color-label { font-size:12px; } .club-color-label small { font-size:11px; } }

/* Shared long-press interaction, preserving ordinary touch scrolling. */
#pitch .slot,#lu-list .prow,.bench-player,[data-pl],.modal-sub .fr-item { -webkit-touch-callout:none; -webkit-user-select:none; user-select:none; }
.gesture-pending { outline:2px solid #fbbf24; outline-offset:4px; }
.gesture-held { opacity:.5; outline:3px solid #fbbf24; outline-offset:4px; }
.gesture-target { outline:4px solid #6dffb3!important; outline-offset:5px; filter:drop-shadow(0 0 10px #153f2c); }
.gesture-dragging,.gesture-dragging * { cursor:grabbing!important; -webkit-user-select:none; user-select:none; }
.gesture-ghost { position:fixed;z-index:1000;pointer-events:none;transform:translate(-50%,-50%);max-width:220px;padding:14px 18px;border-radius:18px;border:2px solid #a3f5c7;background:#102c24;color:white;font-weight:800;text-align:center;box-shadow:0 14px 36px #0007; }
.gesture-status { position:fixed;z-index:1000;bottom:calc(100px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 32px);padding:12px 18px;border-radius:18px;background:#102c24;color:white;box-shadow:0 8px 30px #0005;text-align:center;pointer-events:none;font-size:14px;font-weight:700; }
.gesture-help {font-size:14px;line-height:1.5;color:var(--ink);margin:0;}
.lineup-feedback {display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:14px;line-height:1.5;padding:12px 14px;border-radius:14px;background:var(--acc-soft);}
.lineup-bench {padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--panel);min-width:0;}
.lineup-bench-scroll {display:flex;gap:12px;overflow-x:auto;padding:12px 5px;}
.bench-player {flex:0 0 100px;display:flex;flex-direction:column;align-items:center;gap:5px;border:2px solid transparent;border-radius:14px;padding:10px 6px;background:var(--panel2);color:var(--ink);cursor:grab;}
.bench-player small {font-size:12px;}.bench-player.sel {border-color:var(--acc);background:var(--acc-soft);}.bench-player.unav{opacity:.55;}
#pitch .slot:focus-visible,#lu-list .prow:focus-visible,.bench-player:focus-visible{outline:3px solid #fbbf24;outline-offset:5px;}
button:active:not(:disabled),.bottom-nav a:active,.cg-item:active {filter:brightness(.92);}
.gesture-guide p {margin:0;line-height:1.6;}.gesture-guide b{color:var(--ink);}
@media(prefers-reduced-motion:no-preference){.gesture-pending{animation:gesture-charge .45s ease-out;}@keyframes gesture-charge{from{outline-color:transparent;}to{outline-color:#fbbf24;}}}

/* Two-tap starter/bench picker, reachable without scrolling away from the pitch. */
.modal-replacement{width:min(520px,100%);max-height:90dvh;}
.modal-replacement .modal-h{position:sticky;top:0;background:var(--panel);z-index:2;gap:12px;}
.modal-replacement .modal-h h2{font-size:26px;margin:4px 0 0;}
.modal-replacement .modal-b{gap:14px;padding:16px;}
.replacement-current{padding:14px;background:var(--acc-soft);border:1px solid var(--line);border-radius:16px;}
.replacement-current>small{display:block;color:var(--mute);margin-bottom:10px;}
.replacement-current>div{display:flex;align-items:center;gap:12px;}
.replacement-name{min-width:0;flex:1;display:grid;gap:4px;}.replacement-name b{font-size:15px;}.replacement-name small{font-size:12px;line-height:1.45;color:var(--mute);}.replacement-name small.bad{color:var(--bad);}
.replacement-rating{display:grid;text-align:center;gap:3px;min-width:42px;}.replacement-rating strong{font-size:23px;line-height:1;}.replacement-rating small{font-size:10px;color:var(--mute);}
.replacement-hint{margin:0;font-size:14px;line-height:1.5;color:var(--mute);}
.replacement-tabs{display:flex;}.replacement-tabs button{flex:1;min-height:44px;}
#replacement-list{display:grid;gap:8px;}
.replacement-option{display:flex;width:100%;gap:10px;align-items:center;text-align:left;border:1px solid var(--line);border-radius:14px;padding:13px 10px;background:var(--panel);color:var(--ink);cursor:pointer;min-height:84px;}
.replacement-option:hover:not(:disabled),.replacement-option:focus-visible{border-color:var(--acc);background:var(--acc-soft);outline:2px solid var(--acc);outline-offset:1px;}
.replacement-option:disabled{opacity:.5;cursor:not-allowed;}.replacement-diff{font-weight:800;min-width:26px;text-align:right;font-size:13px;}
.replacement-shirt{flex:none;}.replacement-shirt .shirt{width:34px;height:38px;}
.lineup-save-bar{display:none;}
@media(max-width:700px){
 .modal-bg:has(.modal-replacement){align-items:flex-end;padding:10px 10px max(10px,env(safe-area-inset-bottom));}
 .modal-replacement{border-radius:24px;max-height:89dvh;}
 .lineup-save-bar{position:fixed;z-index:29;left:12px;right:12px;bottom:calc(90px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 26px #0003;font-size:12px;font-weight:700;}
 .lineup-save-bar .btn{min-height:44px;}.content:has(.lineup-save-bar){padding-bottom:190px;}
}
.modal-replacement .modal-h>button{margin-left:auto;flex:none;}
.replacement-current>.replacement-current-label{display:flex;justify-content:space-between;align-items:center;gap:8px;}
.replacement-current-label .linkish{font-size:12px;padding:5px 0;}

/* Training: one clear action and compact cards instead of a horizontal matrix. */
.training-page-head{align-items:center;margin-bottom:16px;}.training-page-head h1{margin-bottom:0;}
.training-session{max-width:780px;display:grid;gap:14px;margin-bottom:16px;}
.training-session-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;}.training-session-heading h2{font-size:24px;margin:0;}.training-session-heading p{margin:5px 0 0;color:var(--mute);font-size:13px;line-height:1.5;}.training-session-heading .art3d{width:70px;height:70px;flex:none;}
.training-session select,.training-focus-label select,.training-roster-tools select{width:100%;min-height:46px;max-width:100%;font-size:16px;}
.training-kind-help{font-size:13px;line-height:1.5;color:var(--mute);margin:-6px 0 0;}.training-session #tr-int{display:flex;width:100%;}.training-session #tr-int button{flex:1;min-height:44px;padding:9px 6px;}
.training-readiness-compact{font-size:13px;line-height:1.5;border-radius:12px;background:var(--acc-soft);padding:10px 12px;}.training-readiness-compact.attention{background:#fff0d2;color:#714709;}.training-readiness-compact summary{font-weight:700;cursor:pointer;}.training-readiness-compact .training-readiness{margin-top:12px;}
.training-start{width:100%;min-height:52px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:16px;}.training-start small{font-size:12px;opacity:.8;}
.training-team-summary{display:flex;flex-wrap:wrap;gap:10px 18px;margin:16px 0 22px;font-size:13px;color:var(--mute);}.training-team-summary b{color:var(--ink);}
.training-result{display:grid;gap:4px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--acc-soft);font-size:14px;line-height:1.5;}
.training-view-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:24px 0 12px;}.training-view-heading h2{margin:0;font-size:23px;}.training-view-heading button{font-size:12px;}
.training-roster-tools{display:flex;align-items:start;gap:16px;flex-wrap:wrap;margin-bottom:16px;}.training-roster-tools>label{display:grid;gap:6px;flex:1;min-width:150px;font-size:12px;color:var(--mute);}.training-bulk{flex:1;min-width:150px;font-size:13px;padding-top:25px;}.training-bulk summary{cursor:pointer;}.training-bulk>div{display:grid;gap:10px;padding:12px 0;}.training-bulk label{display:grid;gap:6px;}
.training-players{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;}
.training-player{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:16px;min-width:0;display:flex;flex-direction:column;gap:14px;}
.training-player.condition-tired{border-left:4px solid #dda522;}.training-player.condition-exhausted,.training-player.condition-injured{border-left:4px solid #d94a58;}
.training-player-head{display:flex;align-items:center;gap:10px;}.training-player-open{flex:1;min-width:0;display:flex;align-items:center;gap:10px;text-align:left;background:none;border:0;padding:0;color:var(--ink);cursor:pointer;}.training-player-open>span{display:grid;gap:4px;min-width:0;}.training-player-open b{font-size:16px;line-height:1.35;overflow-wrap:anywhere;}.training-player-open small{font-size:12px;color:var(--mute);}.training-player-rating{display:grid;text-align:right;gap:3px;flex:none;}.training-player-rating strong{font-size:24px;line-height:1;}.training-player-rating small{font-size:10px;color:var(--mute);}
.training-energy{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:6px 12px;font-size:12px;}.training-energy>small{color:var(--mute);font-size:12px;grid-column:1/-1;}.training-energy-track{height:7px;border-radius:10px;background:var(--line);overflow:hidden;}.training-energy-track i{display:block;height:100%;border-radius:10px;background:#21885d;}.training-energy.tired .training-energy-track i{background:#c18b17;}.training-energy.low .training-energy-track i{background:#ce4e56;}
.training-focus-label{display:grid;gap:6px;font-size:12px;color:var(--mute);margin-top:auto;}.training-player-footer{display:flex;justify-content:space-between;gap:12px;align-items:start;padding-top:10px;border-top:1px solid var(--line);font-size:13px;}.training-player-footer>span{display:grid;gap:4px;}.training-player-footer small{font-size:10px;color:var(--mute);}.training-last{text-align:right;}
.training-extra{margin:18px 0;border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:14px;font-size:14px;}.training-extra>summary{font-weight:700;cursor:pointer;}
#solo-save-error{position:fixed;top:calc(env(safe-area-inset-top,0px) + 70px);left:12px;right:12px;margin:auto;max-width:560px;z-index:99999;border:1px solid #c86c16;border-radius:16px;background:#fff4df;color:#623c09;padding:14px;box-shadow:0 8px 30px #0003;font:14px/1.45 system-ui;}
#solo-save-error strong{display:block;font-size:15px;}#solo-save-error p{margin:6px 0 10px;}#solo-save-error .btn{background:#7d4b0c;color:#fff;min-height:44px;border:0;}#solo-save-error .btn:disabled{opacity:.65;}
@media(max-width:700px){.training-players{grid-template-columns:minmax(0,1fr);}.training-session{padding:16px;}.training-roster-tools{gap:10px;}.training-bulk{min-width:130px;}.training-player{padding:14px;}.training-view-heading .btn{padding:8px 6px;}}

/* 1.27 — essential information first, details on demand. */
.compact-page-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.compact-page-head p{max-width:38ch;margin:6px 0 0}
.screen-heading-art{width:76px;height:76px;object-fit:contain;flex-shrink:0}
.screen-detail{min-width:0;border:1px solid var(--line);border-radius:18px;background:var(--panel);overflow:clip;margin-bottom:12px}
.screen-detail>summary{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 18px;cursor:pointer;list-style:none;color:var(--ink)}
.screen-detail>summary::-webkit-details-marker,.market-player-actions>summary::-webkit-details-marker{display:none}
.screen-detail summary b{font-size:16px;display:block;line-height:1.3}
.screen-detail summary small{display:block;color:var(--mute);font-size:13px;margin-top:5px;line-height:1.4}
.screen-detail>summary>i{font-style:normal;font-size:23px;transition:transform .18s;flex-shrink:0}
.screen-detail[open]>summary{border-bottom:1px solid var(--line)}
.screen-detail[open]>summary>i{transform:rotate(180deg)}
.screen-detail>.card{border:0;border-radius:0;box-shadow:none;margin:0!important}
.screen-detail-body{padding:18px}
.screen-detail-body>h2:first-child{display:none}
.screen-detail>p{padding:16px;margin:0}
.screen-detail>.pass-foot,.screen-detail>.scout{margin:0;padding:16px}
.screen-detail>#mc-lineups{padding:12px;margin:0!important}
.screen-detail:focus-within{border-color:var(--grass)}
.screen-section-title{margin:24px 0 14px}
.screen-section-title h2{font-size:19px;margin:0 0 4px}
.screen-section-title small{color:var(--mute);font-size:14px}
.market-wallet{padding:18px 20px;border-radius:20px;background:linear-gradient(120deg,#102c2c,#1f5249);color:#fff;display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:wrap;margin-bottom:18px}
.market-wallet>div>b{display:block;font-size:27px;letter-spacing:-.7px;margin-top:4px}
.market-wallet small{font-size:13px;color:#d1e6de}
.market-wallet>span{font-size:13px;color:#d1e6de;text-align:right}
.market-wallet>span>b{display:block;font-size:17px;color:#fff;margin-top:5px}
.market-reserved{flex-basis:100%}
.market-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 16px}
.market-tabs button{min-height:50px;display:flex;justify-content:space-between;align-items:center;gap:6px;padding:10px 14px;border:1px solid var(--line);border-radius:13px;background:var(--panel);color:var(--mute);font-weight:750;font-size:14px;cursor:pointer}
.market-tabs button span{font-size:12px;opacity:.8}
.market-tabs button.on{background:var(--acc-soft);color:var(--ink);border:2px solid var(--grass);padding:9px 13px;box-shadow:inset 0 -3px 0 var(--grass)}
.market-filter{display:flex;align-items:center;gap:16px;justify-content:space-between;margin-bottom:16px}
.market-filter label{font-size:14px;font-weight:700;color:var(--mute)}
.market-filter select{width:auto;min-width:190px;min-height:46px;max-width:100%}
.market-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0}
.market-player{min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 5px 20px #0b242708}
.market-leading{border-color:var(--grass)}
.market-player-head{width:100%;display:flex;align-items:center;gap:12px;padding:16px;background:transparent;color:var(--ink);border:0;text-align:left;cursor:pointer}
.market-face{width:48px;height:54px;flex-shrink:0;background:var(--acc-soft);border-radius:14px;overflow:hidden;display:flex;align-items:flex-end;justify-content:center}
.market-face svg{width:48px;height:54px;max-width:100%;max-height:100%}
.market-name{flex:1;min-width:0}
.market-name b{display:block;line-height:1.3;font-size:16px;overflow-wrap:anywhere}
.market-name small,.market-strength small{display:block;font-size:12px;color:var(--mute);margin-top:5px}
.market-strength{text-align:center;flex-shrink:0;min-width:38px}
.market-strength b{font-size:24px;letter-spacing:-1px}
.market-player-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 16px 15px}
.market-player-bottom small{font-size:12px;color:var(--mute);display:block;margin-bottom:5px}
.market-player-bottom b{font-size:17px}
.market-potential{font-size:12px;color:var(--mute)}
.market-deadline{text-align:right;flex-shrink:0}
.market-bid-btn{display:flex;width:calc(100% - 32px);margin:0 16px 16px;min-height:44px}
.market-player-actions{border-top:1px solid var(--line)}
.market-player-actions>summary{min-height:48px;padding:13px 16px;cursor:pointer;display:flex;justify-content:space-between;font-size:14px;font-weight:750;color:var(--grass);list-style:none}
.market-player-actions>div{padding:0 16px 16px}
.market-player-actions p{font-size:13px;line-height:1.5}
.market-player-actions .row{flex-wrap:wrap;gap:8px}
.market-help{margin-top:20px}
.room-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:18px}
.room-summary>div{padding:15px 8px;text-align:center;border:1px solid var(--line);border-radius:17px;background:var(--panel)}
.room-summary b{display:block;font-size:28px;line-height:1.2;letter-spacing:-1px}
.room-summary span{display:block;font-size:12px;color:var(--mute);margin-top:5px}
.room-priority .card-h{gap:10px;margin-bottom:12px}
.room-priority h2{font-size:19px;text-transform:none;margin:0}
.room-players{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.room-player{display:flex;align-items:center;gap:10px;text-align:left;padding:12px;border:1px solid var(--line);border-left:4px solid #c89428;border-radius:12px;background:var(--panel);color:var(--ink);cursor:pointer;min-height:76px;width:100%}
.room-player.injured{border-left-color:#cb3e50}
.room-player>span:nth-child(2){flex:1;min-width:0}
.room-player b{display:block;font-size:15px;line-height:1.4}
.room-player small{display:block;margin-top:5px;font-size:12px;color:var(--mute);line-height:1.4}
.room-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.room-actions .btn{flex:1;min-height:46px}
.screen-detail>summary:focus-visible,.market-player-head:focus-visible,.room-player:focus-visible,.market-tabs button:focus-visible,.market-player-actions>summary:focus-visible{outline:3px solid #16a58c;outline-offset:-3px}
[data-screen=kabina]>.grid{gap:12px}
[data-screen=kabina]>.grid>.stack{gap:0}
@media(max-width:700px){
 .screen-heading-art{width:62px;height:62px}
 .compact-page-head{margin-bottom:18px}
 .compact-page-head h1{font-size:30px}
 .compact-page-head p{font-size:14px;line-height:1.5}
 .market-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
 .market-list,.room-players{grid-template-columns:minmax(0,1fr)}
 .market-wallet{padding:16px}
 .market-wallet>div>b{font-size:25px}
 .room-priority{padding:16px!important}
 .room-actions .btn{padding:11px 9px;font-size:13px}
 .screen-detail>summary{padding:15px 16px;min-height:70px}
 .screen-detail-body{padding:14px}
 [data-screen=financie]>.grid.g4,[data-screen=fanklub]>.grid.g3{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 [data-screen=fanklub]>.grid.g3>.card:last-child{grid-column:1/-1}
 [data-screen=financie] .kpi{padding:14px;min-width:0}
 [data-screen=financie] .kpi .num{font-size:23px}
 [data-screen=financie] .page-head p{font-size:14px;line-height:1.5}
 [data-screen=financie] .grid.g3{grid-template-columns:1fr;gap:14px!important}
 [data-screen=financie] .ledger-row{gap:12px;align-items:flex-start;font-size:14px}
 [data-screen=financie] .ledger-row>b{white-space:normal!important;text-align:right}
 [data-screen=stadion] .screen-detail .grid.g3{grid-template-columns:1fr}
 [data-screen=kabina] .clinic-row,[data-screen=kabina] .risk-row,[data-screen=kabina] .loan-row{flex-wrap:wrap;gap:10px}
}
@media(prefers-reduced-motion:reduce){.screen-detail>summary>i{transition:none}}
.page-head.compact-page-head{flex-wrap:nowrap;padding-bottom:0;border-bottom:0}
.page-head.compact-page-head::after{display:none}
.page-head.compact-page-head>div{min-width:0;flex:1}
.room-priority .room-actions{margin:0 0 16px}
.room-more{margin-top:10px}
.room-more>summary{display:flex;justify-content:space-between;padding:14px 4px;min-height:48px;cursor:pointer;list-style:none;font-size:14px;font-weight:700;color:var(--mute)}
.room-more>summary::-webkit-details-marker{display:none}
.league-detail-toggle{display:none}
@media(max-width:700px){
 .league-detail-toggle{display:flex;margin-bottom:12px}
 .league-standings:not(.show-all){min-width:0;width:100%}
 .league-standings:not(.show-all) :is(th,td):is(:nth-child(4),:nth-child(5),:nth-child(6),:nth-child(8),:nth-child(10)){display:none}
 .league-standings:not(.show-all) :is(th,td){padding:10px 5px;font-size:12px}
 .league-standings:not(.show-all) .lc-t{white-space:normal;gap:5px}
 .league-standings:not(.show-all) .crest{width:23px;height:28px;flex-shrink:0}
 .room-players{gap:8px}
 .room-player{min-height:68px;padding:10px}
 .bug-points{flex-shrink:0}
}
.room-player small,.market-name small,.market-player-bottom small{font-size:13px}
.player-sheet .pm-head{position:relative}
.player-sheet .player-close{position:absolute;right:8px;top:8px;min-width:44px;min-height:44px}
.player-sheet .pm-info{padding-right:28px}
.player-sheet .screen-detail>.pm-card{padding:20px;display:grid;justify-content:center}
.player-sheet .screen-detail>.growth,.player-sheet .screen-detail>.attr-grid{padding:16px;margin:0}
@media(max-width:700px){
 .player-sheet .pm-head{padding:20px 16px 12px}
 .player-sheet .pm-info{gap:10px}
 .player-sheet .pm-info h2{font-size:22px}
 .player-sheet .modal-b>.grid.g3{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px!important}
 .player-sheet .modal-b>.grid.g3 .kpi{padding:10px 7px!important;min-width:0}
 .player-sheet .modal-b>.grid.g3 .kpi .num{font-size:15px!important;white-space:normal;overflow-wrap:anywhere}
 .player-sheet .modal-b>.grid.g3 .label{font-size:11px}
 .player-sheet #pm-focus{max-width:100%;width:100%;min-height:46px}
}
@media(max-width:700px){
 .league-standings:not(.show-all){table-layout:fixed}
 .league-standings:not(.show-all) :is(th,td):first-child{width:26px!important}
 .league-standings:not(.show-all) :is(th,td):nth-child(3){width:24px}
 .league-standings:not(.show-all) :is(th,td):nth-child(7){width:40px}
 .league-standings:not(.show-all) :is(th,td):nth-child(9){width:39px}
 .league-standings:not(.show-all) .team-cell{gap:5px;white-space:normal;min-width:0}
 .league-standings:not(.show-all) .team-cell>span{white-space:normal;overflow-wrap:anywhere;min-width:0}
 .league-standings:not(.show-all) .team-cell .crest{width:22px;height:26px;flex-shrink:0}
 .league-standings:not(.show-all) td:nth-child(2){white-space:normal}
 .bug-seg.bug-next,.bug-seg.bug-live{flex:1.3}
 .bug-seg.bug-next b,.bug-seg.bug-live b{font-size:13px;white-space:normal}
 [data-screen=fanklub]>.grid.g3 .card{padding:14px}
 [data-screen=fanklub] .fan-big{font-size:28px}
 [data-screen=fanklub]>.grid.g3 .row{gap:6px!important;flex-wrap:wrap!important}
}

/* 1.28 — useful transfer comparisons, including the next auction bid. */
.transfer-comparison{margin:0 16px 14px;border-radius:12px;background:var(--acc-soft);overflow:hidden;border:1px solid var(--line)}
.transfer-comparison.has-deal{border:2px solid #238960;box-shadow:0 2px 9px #16836616}
.deal-badge{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;padding:10px 12px;background:#17694f;color:#fff;font-size:14px;font-weight:800}
.deal-badge small{font-size:12px;font-weight:550;color:#e0f7ed}
.compare-open{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;border:0;background:transparent;color:var(--ink);text-align:left;padding:11px 12px;min-height:56px;cursor:pointer}
.compare-open>span:first-child{min-width:0;flex:1}
.compare-open b{font-size:15px;display:block}
.compare-open small{font-size:12px;display:block;margin-top:4px;color:var(--mute);overflow-wrap:anywhere}
.compare-open>span:last-child{font-size:12px;font-weight:750;flex-shrink:0}
.compare-open:focus-visible{outline:3px solid #16a58c;outline-offset:-3px}
.compare-budget{display:block;padding:0 12px 10px;color:var(--mute);font-size:12px}
.compare-sheet{max-width:660px}
.compare-sheet .modal-h{justify-content:space-between;align-items:center;gap:8px}
.compare-sheet h2{font-size:25px;margin:4px 0 0}
.compare-sheet .modal-b{gap:16px}
.compare-sheet select{width:100%;min-height:46px;max-width:100%}
.compare-verdict{padding:14px;border-radius:14px;background:var(--bg2);margin-bottom:16px}
.compare-verdict.positive{background:var(--acc-soft);border-left:4px solid #238960}
.compare-verdict b{display:block;font-size:16px;line-height:1.4}
.compare-verdict small{display:block;font-size:13px;line-height:1.5;color:var(--mute);margin-top:6px}
.compare-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}
.compare-person{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0;padding:12px 8px;border:1px solid var(--line);border-radius:15px;background:var(--panel)}
.compare-person>div{width:64px;height:68px;overflow:hidden;display:flex;align-items:flex-end;margin:8px 0}
.compare-person svg{width:64px;height:68px}
.compare-person>small{font-size:12px;color:var(--mute)}
.compare-person>b{font-size:15px;line-height:1.35;overflow-wrap:anywhere}
.compare-person>span{font-size:12px;line-height:1.4;color:var(--mute);margin-top:5px}
.compare-empty{justify-content:center;color:var(--mute);font-size:14px}
.compare-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:14px}
.compare-table thead th{font-size:11px;color:var(--mute);font-weight:650;padding:8px 5px;text-align:center}
.compare-table th:first-child{width:42%;text-align:left}
.compare-table tbody th{font-size:13px;line-height:1.4;font-weight:550;color:var(--mute);padding:11px 5px}
.compare-table td{font-weight:750;font-size:15px;text-align:center;padding:11px 5px;overflow-wrap:anywhere}
.compare-table tbody tr{border-top:1px solid var(--line)}
.compare-table td small{display:block;font-weight:600;font-size:11px;color:var(--mute);margin-top:3px}
.compare-table .compare-better{background:var(--acc-soft);color:var(--good)}
.compare-cost{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:8px;background:var(--bg2);border-radius:12px;padding:14px;margin-top:16px}
.compare-cost>span{font-size:13px;color:var(--mute)}
.compare-cost>b{font-size:18px}
.compare-cost>small{flex-basis:100%;color:var(--mute);font-size:13px;line-height:1.5}
.compare-note{font-size:12px;color:var(--mute);line-height:1.6;margin:14px 0}
@media(max-width:420px){.compare-sheet .modal-b{padding:16px}.compare-sheet .modal-h{padding:18px 16px}.compare-people{gap:8px}.compare-table td{font-size:14px}.compare-table tbody th{font-size:12px}}
@media(prefers-reduced-motion:no-preference){
 details[open]>:not(summary){animation:detail-appear .19s ease-out}
 @keyframes detail-appear{from{opacity:.65;transform:translateY(-3px)}to{opacity:1;transform:none}}
}
/* 1.28.1 — say who enters and leaves; commit the requested swap explicitly. */
.replacement-simple .modal-h h2{font-size:24px;line-height:1.2}
.replacement-simple .replacement-current{padding:14px}
.replacement-simple .replacement-current-label{font-size:13px;color:var(--mute);margin-bottom:10px;display:block}
.replacement-simple .replacement-rating,.replacement-simple .replacement-diff{display:none}
.replacement-simple .replacement-name small{font-size:13px;line-height:1.5}
.replacement-simple .replacement-name>b{font-size:17px;line-height:1.3}
.replacement-simple .replacement-option{min-height:88px;padding:13px;gap:10px;text-align:left;border:1px solid var(--line)}
.replacement-simple .replacement-option.chosen{border:2px solid #168465;background:var(--acc-soft);padding:12px}
.replacement-choice{font-size:12px;font-weight:750;flex-shrink:0;color:var(--mute)}
.replacement-option.chosen .replacement-choice{color:var(--good)}
.replacement-confirm{position:sticky;bottom:-20px;background:var(--panel);border-top:1px solid var(--line);box-shadow:0 -8px 18px #09202008;margin-top:18px;padding:14px 0 10px;z-index:2}
#replacement-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;font-size:14px}
#replacement-summary small{display:block;color:var(--mute);font-size:12px;margin-bottom:5px}
#replacement-summary b{display:block;line-height:1.4;overflow-wrap:anywhere}
#replacement-confirm{width:100%;min-height:48px;font-size:15px}
.replacement-confirm>small{display:block;color:var(--mute);font-size:12px;line-height:1.5;margin-top:9px}
.replacement-position-warning{grid-column:1/-1;font-size:13px;color:var(--warn);margin:4px 0}
#replacement-error{font-size:14px;line-height:1.5}
#replacement-reload{width:100%;margin-top:8px}
.replacement-simple .replacement-tabs{margin-bottom:14px}
.replacement-simple #replacement-other{font-size:13px;min-height:44px}
@media(max-width:480px){.replacement-simple .modal-b{padding:16px}.replacement-simple .modal-h{padding:18px 16px}.replacement-confirm{bottom:-16px}.replacement-simple .replacement-shirt{display:none}.replacement-simple .replacement-hint{font-size:14px}.replacement-simple .replacement-option{min-height:82px}}
.replacement-simple [hidden]{display:none!important}
.replacement-simple .replacement-option:focus-visible{outline:2px solid #168465;outline-offset:2px}

/* Main player abilities: full names and details on demand. */
.primary-abilities{margin:16px 0;padding:16px;border:1px solid var(--line);border-radius:20px;background:var(--card)}
.abilities-heading{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px;color:var(--text)}
.abilities-heading span,.primary-abilities>small{color:var(--dim);font-size:12px}
.ability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}
.ability-tile{min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--bg2);overflow:hidden}
.ability-tile summary{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;list-style:none;padding:12px;min-height:78px;cursor:pointer}
.ability-tile summary::-webkit-details-marker{display:none}
.ability-tile summary>span{font-size:13px;font-weight:700;line-height:1.3;overflow-wrap:normal}
.ability-tile summary>b{font-size:24px;font-variant-numeric:tabular-nums;color:var(--text)}
.ability-track{display:block;grid-column:1/-1;background:#d4e1de;height:5px;border-radius:9px;overflow:hidden}
.ability-track>i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,#166954,#2ba782)}
.ability-tile[open]{border-color:#27856e;background:#eff9f5;color:#173d32}
.ability-tile p{margin:0;padding:0 12px 12px;font-size:13px;line-height:1.45}
.ability-tile summary:focus-visible{outline:3px solid #27856e;outline-offset:-3px}
.pcard{aspect-ratio:156/244}.pc-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 6px}.pc-top{height:40%;flex-shrink:0}
@media(max-width:360px){.primary-abilities{padding:12px}.ability-tile summary{padding:9px;gap:5px}.ability-tile summary>b{font-size:21px}.ability-tile summary>span{font-size:12px}}
@media(max-width:360px){.ability-tile summary{grid-template-columns:minmax(0,1fr);min-height:112px;gap:5px}.ability-tile summary>span{font-size:13px;min-height:34px}.ability-tile summary>b{font-size:24px}.ability-track{grid-column:1}}

/* Persistent 3D portraits; the atlas is stored with the offline app. */
.avatar.portrait-3d{display:block;width:60px;height:60px;aspect-ratio:1;flex-shrink:0;border-radius:14px;background-image:var(--portrait-image);background-size:600% 400%;background-position:var(--portrait-x) var(--portrait-y);background-repeat:no-repeat;background-color:#26333c;box-shadow:0 2px 8px #0e253329;border-bottom:3px solid var(--portrait-club);overflow:hidden}
.pc-face .portrait-3d{width:100%;height:auto;max-height:100%;aspect-ratio:1;border-radius:10px}
.player-sheet .pm-info .portrait-3d{width:72px;height:72px}.player-sheet .pm-info .big-shirt{display:none}
.training-player-open .portrait-3d{width:48px;height:48px}.market-player-head .portrait-3d{width:58px;height:58px}
.compare-person .portrait-3d{width:100%;height:100%;border-radius:14px}.ch-hall .portrait-3d{width:68px;height:68px}
.preparation-calendar{margin:0 0 22px;border:1px solid #d7e5df;border-radius:24px;background:#fff;overflow:hidden;color:#162e2b}
.preparation-calendar>header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 18px 14px;background:linear-gradient(130deg,#edf8f2,#fff)}
.preparation-calendar h2{font-size:23px;margin:5px 0 0;line-height:1.1}.prep-current{flex-shrink:0;text-align:right}.prep-current small{display:block;font-size:11px;color:#58716a}.prep-current b{font-size:26px}.prep-current.ready{color:#147458}.prep-current.tired{color:#94600b}.prep-current.low{color:#ad3441}
.prep-days{display:flex;gap:7px;padding:4px 16px 14px;overflow-x:auto;scroll-snap-type:x proximity}.prep-day{min-width:52px;flex:1;min-height:83px;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:5px;border:1px solid #dbe5df;border-radius:15px;background:#f7faf8;color:#40594f;cursor:pointer;scroll-snap-align:center}.prep-day b{font-size:22px}.prep-day small{font-size:12px}.prep-day.selected{background:#174c3b;color:#fff;border-color:#174c3b;box-shadow:0 4px 10px #174c3b26}.prep-day>span{display:flex;height:6px;gap:4px}.prep-day i{height:5px;width:5px;border-radius:50%;background:#cbd6d0}.prep-day i.match{background:#5aabed}.prep-day i.training{background:#f7ba3d}.prep-day i.rest{background:#54c99e}.prep-day i.empty{background:transparent}
.prep-selected{padding:4px 18px 18px}.prep-date{display:flex;justify-content:space-between;gap:8px;margin-bottom:14px;font-size:14px}.prep-date>span{font-size:11px;color:#61736c}.prep-events{display:grid;gap:9px}.prep-event{display:flex;align-items:center;gap:10px;padding:13px 12px;border-radius:16px;border:1px solid #dfe6e1;text-decoration:none;color:#18372f;background:#f4f7f5}.prep-event.match{background:#eef5ff;border-color:#d9e6fa}.prep-event.training{background:#fff8e9;border-color:#f2e4c4}.prep-event.rest{background:#eaf8f0;border-color:#cfeadc}.prep-event>span:nth-child(2){flex:1;min-width:0}.prep-event small{display:block;font-size:11px;line-height:1.4;color:#526961}.prep-event b{display:block;font-size:15px;line-height:1.25;margin:3px 0}.prep-event em{font-size:10px;letter-spacing:.04em;text-transform:uppercase;font-weight:800;font-style:normal}.prep-event-icon{width:32px;height:32px;display:grid;place-items:center;flex-shrink:0}.prep-event-icon svg{width:26px;height:26px}.prep-edit{background:#fff;border:1px solid #d9d9c8;border-radius:11px;min-height:44px;padding:8px 10px;font-weight:750;font-size:12px;cursor:pointer}
.prep-energy{--energy:#208363;margin-top:15px;padding:13px;background:#f3f8f5;border-radius:13px}.prep-energy.tired{--energy:#b27616;background:#fff7e8}.prep-energy.low{--energy:#bf4653;background:#fff1f2}.prep-energy>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px}.prep-energy b{font-size:21px;color:var(--energy)}.prep-energy-track{height:7px;overflow:hidden;background:#dce6df;border-radius:10px;margin:8px 0}.prep-energy-track i{display:block;height:100%;background:var(--energy);border-radius:10px}.prep-energy small{font-size:11px;color:#50615a}.prep-run{width:100%;margin-top:14px;display:flex;flex-direction:column;gap:4px}.prep-run small{font-size:11px;opacity:.8}.prep-footnote,.prep-explanation{font-size:12px;line-height:1.5;color:#53675e;margin:14px 0 0}.prep-explanation summary{cursor:pointer;padding:8px 0;min-height:40px}.prep-explanation p{margin:8px 0}.prep-history{border-top:1px solid #e0e8e3;padding:14px 18px;font-size:13px}.prep-history summary{cursor:pointer;min-height:30px}.prep-history>div{display:flex;justify-content:space-between;gap:8px;padding:12px 0;border-top:1px solid #edf1ee}.prep-history small{display:block;font-size:11px;margin-top:3px;color:#61736c}.prep-history strong{white-space:nowrap;font-size:13px}
.prep-options{display:grid;gap:10px}.prep-options button{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--card);color:var(--text);cursor:pointer}.prep-options button>span:nth-child(2){flex:1}.prep-options b{display:block}.prep-options small{display:block;line-height:1.5;margin-top:4px;color:var(--dim);font-size:12px}.prep-options svg{width:26px;height:26px}.prep-options .selected{outline:2px solid #1d8a66;background:#edf9f2}
.prep-overview-link{display:flex;align-items:center;gap:14px;padding:16px 18px;margin:18px 0;border:1px solid #d5e6dd;border-radius:18px;background:#eff8f2;color:#214b3e;text-decoration:none}.prep-overview-link>span:nth-child(2){flex:1}.prep-overview-link b,.prep-overview-link small{display:block}.prep-overview-link small{font-size:12px;margin-top:4px}.prep-overview-link>svg{width:28px;height:28px}
@media(min-width:900px){.prep-days{gap:12px}.preparation-calendar>header{padding:22px}.prep-selected{padding:4px 22px 22px}.prep-events{grid-template-columns:repeat(2,minmax(0,1fr))}.prep-event:last-child{grid-column:1/-1}}
@media(max-width:360px){.preparation-calendar>header{padding:16px 12px}.preparation-calendar h2{font-size:20px}.prep-current b{font-size:22px}.prep-selected{padding:4px 12px 16px}.prep-event{padding:11px 9px;gap:7px}.prep-event b{font-size:14px}.prep-event-icon{width:24px}.player-sheet .pm-info .portrait-3d{width:60px;height:60px}}
.market-face{width:58px;height:58px}.market-player-head .portrait-3d{max-width:100%;max-height:100%}

/* Selected player's schematic role: runs + defensive coverage. */
.pitch-mode,.preview-phase{display:flex;gap:6px;padding:5px;border:1px solid var(--line);border-radius:15px;background:var(--card)}
.pitch-mode button,.preview-phase button{flex:1;min-height:46px;border:0;border-radius:11px;padding:9px;color:var(--ink);background:transparent;font-weight:750;font-size:13px;cursor:pointer}
.pitch-mode .on,.preview-phase .on{background:#194d3d;color:#fff;box-shadow:0 3px 8px #173f3520}
.tactical-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.tactical-zone{fill:#2997d94d;stroke:#b9eaff;stroke-width:.6;stroke-dasharray:2 1.3}
.tactical-run-halo{fill:none;stroke:#152c24aa;stroke-width:2.2;stroke-linecap:round}
.tactical-run{fill:none;stroke:#ffe169;stroke-width:1.2;stroke-linecap:round}.tactical-run.alternative{stroke-dasharray:2.4 1.6;opacity:.95}
.tactical-origin{fill:none;stroke:#ffe169;stroke-width:.7;stroke-dasharray:1.6 1}
#pitch .slot{z-index:2}#pitch .slot.preview-selected{z-index:3}#pitch .slot.preview-selected .disc{box-shadow:0 0 0 4px #ffe169,0 0 0 7px #153e31b3;transform:scale(1.08)}
#pitch.has-role-preview .slot:not(.preview-selected){opacity:.65}#pitch.has-role-preview .ch-ov,#pitch.has-role-preview .pitch-arrow,#pitch.has-role-preview .chem-lines{opacity:0;pointer-events:none}
.pitch-preview-caption{position:absolute;top:9px;left:9px;right:9px;z-index:4;display:flex;justify-content:space-between;gap:8px;align-items:center;color:#fff;background:#103426e8;border:1px solid #ffffff40;border-radius:9px;padding:8px 10px;pointer-events:none}
.pitch-preview-caption b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pitch-preview-caption span{font-size:10px;white-space:nowrap;color:#c8e2d8}
.tactical-preview-panel{border:1px solid #cbded3;border-radius:20px;padding:15px;background:#fff;color:#18372c}
.preview-player{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.preview-player>div{display:flex;gap:10px;align-items:center;min-width:0}.preview-player .portrait-3d{width:44px;height:44px}.preview-player b,.preview-player small{display:block}.preview-player b{font-size:15px}.preview-player small{font-size:12px;color:#587267;margin-top:3px}.preview-player>.btn{min-height:44px;flex-shrink:0}
.preview-phase{background:#f2f6f3;border:0;padding:4px;gap:4px}.preview-phase button{font-size:12px;min-height:42px;padding:8px}
.preview-description{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.preview-description p{margin:0;display:flex;gap:9px;font-size:12px;line-height:1.45}.preview-description b{display:block;font-size:13px;margin-bottom:3px}.preview-description i{flex-shrink:0;display:block;width:16px;height:16px;margin-top:3px}.run-key{background:#ffe169;clip-path:polygon(0 35%,60% 35%,60% 0,100% 50%,60% 100%,60% 65%,0 65%);filter:drop-shadow(0 1px 0 #574811)}.zone-key{background:repeating-linear-gradient(135deg,#b9eaff,#b9eaff 3px,#78bddc 3px,#78bddc 5px);border:1px dashed #2179a1;border-radius:3px}
.preview-context{margin:14px 0 0;color:#526b5f;font-size:12px;line-height:1.5}.preview-context summary{padding:8px 0;min-height:40px;cursor:pointer}.preview-context p{margin:5px 0}.preview-actions{display:flex;justify-content:space-between;gap:8px;margin-top:8px}.preview-actions .btn{min-height:44px;font-size:12px}
.preview-empty{padding:14px;border:1px dashed #bdcfc4;border-radius:14px;background:#f4f9f5;font-size:13px;line-height:1.5;margin:0}
@media(max-width:360px){.pitch-mode button{font-size:12px}.pitch-preview-caption{padding:7px}.pitch-preview-caption span{font-size:9px}.preview-description{grid-template-columns:1fr}.preview-player .portrait-3d{width:36px;height:36px}.preview-player b{font-size:13px}}

/* Explicit opponent-specific marking, kept secondary to the pitch preview. */
.marking-card{border:1px solid #d4dee4;border-radius:16px;background:#f5f8fa;padding:14px;margin:12px 0}
.marking-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.marking-heading b{display:flex;align-items:center;gap:6px}.marking-heading svg{width:18px;height:18px}
.marking-card small{display:block;color:#4b5f6d;font-size:12px;line-height:1.5}
.marking-current{font-size:13px;line-height:1.5;margin:10px 0}.marking-card .field{margin:12px 0}
.marking-card select{width:100%;max-width:100%;min-width:0;min-height:48px;font-size:14px;background:#fff}
.marking-card details{font-size:13px;line-height:1.55}.marking-card summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:700}.marking-card summary:before{content:'▸';margin-right:6px}.marking-card details[open] summary:before{content:'▾'}
.marking-target-info{display:flex;align-items:center;gap:10px;border-left:4px solid #c52571;background:#fbeaf2;padding:10px;border-radius:8px;margin-bottom:8px}.marking-target-info .portrait-3d{width:40px;height:40px;flex-shrink:0}.marking-target-info span{min-width:0}.marking-target-info b{font-size:13px}
.marking-overlay path{stroke:#ffb6d4;stroke-width:.8;stroke-dasharray:2 1;fill:none}.marking-overlay circle{fill:#ad1859;stroke:#ffe9f2;stroke-width:.7}.marking-overlay text{fill:#fff;font:bold 3px system-ui,sans-serif}

.marking-overlay .marking-location{stroke-width:.35;stroke-dasharray:none}.marking-overlay .marking-location-dot{fill:#ffe9f2;stroke:#ad1859;stroke-width:.4}

/* A clear match loop; advanced club tools remain behind explicit disclosure. */
.play-hub{max-width:960px;margin:auto;display:grid;gap:16px}.play-hub-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.play-hub-head h1{font-size:26px;line-height:1.15;margin:5px 0}.play-hub-head>.crest{width:52px;height:60px;flex-shrink:0}
.play-next{position:relative;overflow:hidden;padding:26px;border-radius:26px;background:linear-gradient(135deg,#112f35,#164e43);color:white;box-shadow:0 12px 30px #123e3820}.play-next>*{position:relative;z-index:1}.play-next .eyebrow{color:#b8e2ce;font-size:11px}.play-next h2{font-size:29px;line-height:1.12;max-width:78%;margin:10px 0}.play-next p{color:#d4e5df;font-size:13px;margin:10px 0}.play-next>small{display:block;margin-top:12px;font-size:12px;line-height:1.5;color:#d4e5df}.play-next>.btn{width:100%;margin-top:16px;background:#ffe08a;color:#152f30;border-color:transparent;box-shadow:none;min-height:54px}.play-next-art{position:absolute;right:-25px;top:-20px;width:175px;opacity:.4;transform:rotate(-10deg);z-index:0}.play-next-art img{width:100%;height:auto}.play-readiness{background:#ffffff12;border:1px solid #ffffff20;border-radius:14px;padding:12px;margin-top:22px}.play-readiness b,.play-readiness span{display:block}.play-readiness b{font-size:14px}.play-readiness span{font-size:12px;color:#d4e5df;margin-top:4px}.play-energy{height:6px;background:#ffffff20;border-radius:8px;margin-top:10px;overflow:hidden}.play-energy i{display:block;height:100%;background:#93e5bd}.play-readiness.attention .play-energy i{background:#ffd37f}.play-live-score{font-weight:900;font-size:38px}
.play-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.play-steps>a,.play-steps>span{display:flex;gap:7px;align-items:center;justify-content:center;font-size:12px;color:#546973;border-radius:14px;background:#fff;padding:12px 4px;text-decoration:none}.play-steps b{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#edf1f2}.play-steps .done{color:#186348}.play-steps .done b{background:#d8f2e5}.play-steps .current{background:#fff0be}
.coach-advice{display:flex;gap:16px;border:1px solid #dce6e1;border-radius:22px;padding:22px;background:#fff;margin-bottom:16px}.coach-advice.compact{margin:0;padding:18px}.advice-art{width:54px;flex-shrink:0}.advice-art img{width:100%;height:auto}.advice-copy{min-width:0;flex:1}.coach-advice h2{font-size:20px;line-height:1.25;margin:6px 0}.coach-advice p{font-size:14px;line-height:1.55;color:#536874;margin:8px 0 12px}.coach-advice small{display:block;font-size:12px;color:#536874;margin-top:8px;line-height:1.45}.coach-advice .btn{min-height:48px;width:100%}.play-shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.play-shortcuts a{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 8px;border-radius:18px;background:#fff;color:#193d38;text-decoration:none;font-size:13px}.play-shortcuts img{width:48px;height:48px;object-fit:contain}
.play-extra{border:1px solid #dbe3e2;border-radius:18px;background:#fff;margin:14px 0;overflow:hidden}.play-hub .play-extra{margin:0}.play-extra>summary,.player-instructions>summary{display:flex;align-items:center;gap:10px;min-height:56px;cursor:pointer;padding:16px;font-size:14px;font-weight:800;list-style:none}.play-extra>summary:after,.player-instructions>summary:after{content:'⌄';margin-left:auto}.play-extra[open]>summary:after,.player-instructions[open]>summary:after{content:'⌃'}.play-extra>summary span{font-size:12px;color:#5b716c;font-weight:500}.play-extra>p,.play-extra>.btn{margin:12px 16px;font-size:14px;line-height:1.6}.play-extra>.card{border:0;box-shadow:none;margin:0}.play-extra>summary::-webkit-details-marker{display:none}.play-discover{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px 16px}.play-discover a{padding:12px;background:#edf5f0;border-radius:10px;color:#24594c;font-weight:700;font-size:13px}
.play-last{border-radius:20px;padding:18px;background:#fff;border:1px solid #dce6e1}.play-last>.btn{margin-top:12px;width:100%}.tactic-presets{padding:16px;border-radius:20px;background:#fff;border:1px solid #dbe3e2;margin-bottom:18px}.tactic-presets>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:12px}.tactic-presets small{font-size:12px;color:#526963}.tactic-presets p{font-size:13px;color:#526963;margin:12px 0 0;line-height:1.5}.preset-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.preset-options button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border-radius:14px;border:2px solid transparent;background:#f0f4f3;color:#405952;min-height:72px;font-size:13px}.preset-options button svg{width:22px;height:22px}.preset-options button.selected{background:#dcefe5;border-color:#267255;color:#124c39;box-shadow:0 0 0 2px #fff inset}.preset-options button.selected b:before{content:'✓ ';font-weight:900}.advanced-tactics{margin:0}.player-instructions{border:1px solid #dbe3e2;border-radius:14px;margin-top:12px}.player-instructions .marking-card{margin:0;border:0}.player-instructions>summary{font-size:13px;padding:12px}.bug-next b{font-size:13px}.training-page-head+.coach-advice{margin-top:0}
@media(min-width:900px){.play-hub{grid-template-columns:1.2fr 1fr;align-items:start}.play-hub-head,.play-hub>.play-shortcuts,.play-hub>.play-extra{grid-column:1/-1}.play-hub>.play-next{grid-row:2/4}.play-hub>.play-steps{grid-column:2}.play-hub>.coach-advice{grid-column:2}.play-hub>.play-last{grid-column:1/-1}}
@media(max-width:380px){.play-next{padding:20px}.play-next h2{font-size:25px}.coach-advice{padding:16px;gap:10px}.advice-art{width:36px}.coach-advice h2{font-size:18px}.play-hub-head h1{font-size:23px}.tactic-presets small{font-size:11px}.preset-options button{font-size:12px}.play-steps>a,.play-steps>span{font-size:11px}.bug-next b{font-size:11px}}

.modern-game .play-next>.btn.btn-primary{background:#ffe08a;color:#153c34;border-color:#ffe08a;box-shadow:0 5px 14px #061f3020}.modern-game .play-next>.btn.btn-primary:hover{background:#ffe8aa}

.lineup-feedback:empty{display:none}.match-next-step{width:100%;margin-bottom:16px}

.match-stats-extra>summary{min-height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px;font-weight:700}.match-stats-extra>summary:after{content:"⌄";margin-left:8px}.match-stats-extra[open]>summary:after{content:"⌃"}

/* Construction phases follow saved build time, including after reopening. */
.construction-visual { margin:0 0 12px; }
.construction-visual figcaption { display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px; }
.construction-visual figcaption span { color:var(--mute);font-size:12px;white-space:nowrap; }
.construction-steps { display:flex;gap:5px;margin-top:8px; }
.construction-steps i { flex:1;height:4px;background:#d5ccb1;border-radius:4px;transition:background .6s; }
.construction-steps i.on { background:#a58b3b; }
@media(prefers-reduced-motion:reduce){.construction-steps i{transition:none}}
/* Clear upgrade outcomes and compact optional detail. */
.work-state{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:750;line-height:1.4;padding:5px 9px;border-radius:20px;margin:6px 0;background:var(--panel);color:var(--mute)}
.work-done{background:#e0f3e8;color:#166644}.work-ready{background:#e3edf9;color:#205e95}.work-busy{background:#fff0cc;color:#785511}
.upgrade-compare{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel);margin:10px 0}
.upgrade-compare>span{display:grid;gap:4px;text-align:center;min-width:0}.upgrade-compare small{font-size:12px;color:var(--mute)}.upgrade-compare b{font-size:20px;line-height:1.2}.upgrade-compare>span:last-child b{color:var(--good)}.upgrade-compare>i{font-style:normal;font-size:24px;color:var(--mute)}
.sec-am>.upgrade-compare{grid-column:1/-1;margin:0}.simple-details{margin:8px 0;font-size:14px}.simple-details>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--mute)}.simple-details>summary:before{content:'›';font-size:20px;transition:transform .2s}.simple-details[open]>summary:before{transform:rotate(90deg)}.simple-details p{margin:4px 0 12px}.sec-mood .simple-details{margin:0}.fac-card .row{flex-wrap:wrap}
.fresh-bench{padding:16px;background:var(--card);border:1px solid var(--line);border-radius:18px}.fresh-bench h3{margin:0}.fresh-bench>p{font-size:13px;color:var(--mute);line-height:1.5;margin:6px 0 14px}.fresh-suggestion{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:13px 0;border-top:1px solid var(--line)}.fresh-suggestion>div{display:grid;gap:4px;min-width:0}.fresh-suggestion b{font-size:14px}.fresh-suggestion span,.fresh-suggestion small{font-size:12px}.fresh-suggestion button{grid-column:1/-1;min-height:44px}.fresh-suggestion>small{grid-column:1/-1;color:var(--mute)}.fresh-arrow{color:var(--good)}.fresh-tag{font-size:12px;font-weight:750;color:#166644;background:#e0f3e8;padding:5px 8px;border-radius:8px;grid-column:1/-1}.replacement-option:has(.fresh-tag){display:grid;grid-template-columns:auto 1fr auto;border-color:#168465}.replacement-option:has(.fresh-tag) .replacement-choice{grid-column:3;grid-row:1}.replacement-option:has(.fresh-tag) .replacement-name{grid-column:2;grid-row:1}
@media(max-width:480px){.replacement-option:has(.fresh-tag){grid-template-columns:1fr auto}.replacement-option:has(.fresh-tag) .replacement-name{grid-column:1}.replacement-option:has(.fresh-tag) .replacement-choice{grid-column:2}.lineup-save-bar{flex-wrap:wrap}.lineup-save-bar>span{flex:1;min-width:70px}.lineup-save-bar .btn{font-size:12px;padding:10px}.fac-card .row>.btn{white-space:normal}}
@media(prefers-reduced-motion:reduce){.simple-details>summary:before{transition:none}}
@media(max-width:700px){body:has(.lineup-save-bar) #toasts{bottom:calc(168px + env(safe-area-inset-bottom,0px))}}
/* Compact building cards keep the price and the remaining funds together. */
.modern-game .card.fac-card,.card.fac-card{padding:16px;gap:6px;align-self:start}
.fac-card .work-state{margin:2px 0;align-self:flex-start}.fac-card .upgrade-compare{margin:4px 0;padding:8px 10px}.fac-card .upgrade-compare>span{grid-template-columns:auto auto;align-items:baseline;column-gap:6px;row-gap:0;justify-content:center}.fac-card .upgrade-compare>span>small:last-child{display:none}.fac-card .upgrade-compare b{font-size:22px}.fac-card .simple-details{margin:0}.fac-card .simple-details summary{min-height:44px}.fac-card .construction-wait{margin:4px 0 0;padding:8px;font-size:12px}.fac-card .stadium-equipment-art{width:64px;height:64px}.fac-card .row .num{font-size:16px!important;line-height:1.3}.fac-card .lvl-pips{margin-top:5px}.budget-after{display:block;font-size:12px;line-height:1.4;color:var(--mute);font-weight:500;margin-top:4px}.budget-after b{font-size:inherit!important;white-space:nowrap}.budget-after.bad{color:var(--bad)}.sec-am>.budget-after{grid-column:1/-1;margin:0}.sector-confirm>.budget-after{margin-bottom:12px}.market-player .budget-after{max-width:100%}
.favorite-lineup,.targeted-rest{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;background:var(--card);border:1px solid var(--line);border-radius:16px;margin-bottom:16px}.favorite-lineup>div:first-child,.targeted-rest>div{display:grid;gap:4px}.favorite-lineup b,.targeted-rest b{font-size:15px}.favorite-lineup small,.targeted-rest small{font-size:12px;line-height:1.5;color:var(--mute)}.favorite-actions{display:flex;gap:8px}.favorite-actions .btn{min-height:44px}.favorite-lineup>small,.targeted-rest>small,.targeted-rest details{flex-basis:100%}.targeted-rest details{margin:0}.targeted-rest li{padding:3px 0;font-size:13px}.smart-market-filter{margin:0 0 8px;width:100%;min-height:48px;white-space:normal;text-align:left}.smart-market-filter.on{background:var(--acc);color:var(--acc-ink);border-color:var(--acc)}.smart-market-note{font-size:13px;color:var(--mute);line-height:1.5;margin:0 0 12px}
@media(max-width:480px){.favorite-actions{width:100%}.favorite-actions .btn{flex:1}.fac-card>.row:last-of-type{gap:8px}.fac-card>.row:last-of-type>.mute{flex:1;min-width:150px}.targeted-rest>.btn{width:100%}}
@media(max-width:480px){.fac-card>.row:has(>.mute){display:grid;grid-template-columns:1fr;gap:6px}.fac-card>.row:has(>.mute)>.spacer{display:none}.fac-card>.row:has(>.mute)>.btn{justify-self:start}}

.favorite-replacements{display:grid;gap:12px}.favorite-replacements>section{padding:14px;background:var(--bg);border:1px solid var(--line);border-radius:16px;min-width:0}.favorite-replacements>section>small{display:block;margin:4px 0 12px;color:var(--muted)}.favorite-replacements select{width:100%;max-width:100%;min-height:48px}.favorite-replacements .field{margin:0}#favorite-replace-confirm{width:100%;min-height:48px}
/* Clear single-player navigation and persistent match status. */
.menu-group h3{font-size:14px;letter-spacing:.04em;color:var(--mute);margin:20px 0 8px}.menu-group .ms-grid{margin:0}.nav-group{display:grid}.nav .menu-group h3{padding-left:14px}.purchase-confirm{flex-basis:100%;white-space:normal;min-width:0}.purchase-confirm .row{flex-wrap:wrap}.purchase-confirm .btn{min-height:48px}.match-hud{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;padding:10px 16px;border-radius:18px;background:#102c37;color:white;box-shadow:0 6px 18px #0b253226}.match-hud>span{font-weight:800;max-width:24%;overflow:hidden;text-overflow:ellipsis}.match-hud>div{text-align:center}.match-hud small{display:block;font-size:12px;color:#bbd7d3}.match-hud b{font-size:26px;line-height:1.2;white-space:nowrap}.hud-clock{font-variant-numeric:tabular-nums;border-left:1px solid #ffffff40;padding-left:12px;color:#ffe27b;white-space:nowrap}.shirt-number{font-style:normal;display:inline-block;background:var(--ink);color:var(--panel);border-radius:6px;padding:2px 5px}.sub-position{display:block;font-size:13px;margin-top:4px}.sub-list .fr-item small{font-size:13px}.sub-fit{color:var(--good)!important;font-weight:700}.same-position .fr-item{border-color:var(--good)}
@media(max-width:700px){.sub-columns{grid-template-columns:1fr}.sub-columns .sub-list{max-height:24vh}.sub-list .fr-item{font-size:15px;padding:10px}.sub-columns h3{margin:8px 0}.sub-help{font-size:14px;margin-top:0}.sub-confirm{padding-top:6px}.sub-confirm #sub-sum{margin:6px 0}.match-hud{gap:10px;padding:8px 10px}.match-hud small{font-size:11px}}

.sub-fit{color:var(--mute)!important}.same-position .sub-fit{color:var(--good)!important}.sub-list .fr-item small:not(.sub-fit){font-weight:650}.purchase-confirm{grid-column:1/-1}.ah-bid{flex-wrap:wrap}

/* Free positioning: the pitch remains a direct, reversible control. */
.position-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--card,#fff)}
.position-summary>span{display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:center}.position-summary b{font-size:21px}.position-summary em{grid-column:1/-1;font-size:12px;font-style:normal}.position-note{grid-column:1/-1;font-size:12px;color:var(--muted,#536471);line-height:1.4}
.position-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px}.position-actions>span{margin-right:auto}.position-pitch .slot{cursor:grab}.position-pitch .slot.gesture-held{cursor:grabbing;opacity:.45}
.position-drop{position:absolute;z-index:9;width:55px;height:55px;border:3px dashed #fff;background:#ffda6266;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;box-shadow:0 0 0 3px #123c31;outline:none!important}.position-drop.invalid{background:#b92646a0;border-color:#ffb3bf}.position-drop[hidden]{display:none}
@media(min-width:900px){.lu-grid #pitch{width:min(100%,460px);align-self:center}.lu-grid>.stack:first-child{gap:12px}.lu-grid .gesture-help{font-size:13px;margin:0;line-height:1.5}.lu-grid .position-summary{position:static}}

.position-desktop{display:none}
@media(min-width:900px){
 .position-mobile{display:none}.position-desktop{display:grid}.lu-grid{grid-template-columns:minmax(330px,1.1fr) minmax(320px,1fr);align-items:start}
 .lu-grid #pitch{width:min(100%,calc((100vh - 300px)*.739));min-width:300px;max-width:460px}
 .position-sidebar .play-presets{padding:14px}.position-sidebar .favorite-lineup{padding:12px}
 .position-sidebar .position-summary{gap:10px}.position-sidebar .position-note{padding-top:5px}
}

@media(min-width:900px){.lineup-heading{align-items:center;flex-wrap:nowrap;gap:12px;margin-bottom:12px;padding-bottom:10px}.lineup-heading>div:first-child{min-width:0}.lineup-heading h1{font-size:28px;margin:3px 0}.lineup-heading>.row{flex-shrink:0}.lineup-heading .lock-bar{font-size:11px;padding:5px 7px;max-width:100%;margin-top:5px}.lineup-heading .label{font-size:10px}.lu-grid>.stack:first-child{gap:8px}.position-actions{min-height:33px}.position-actions>span{flex-basis:100%}.position-actions .btn{min-height:30px;padding:5px 8px;font-size:11px}.position-summary b{font-size:20px}}
@media(min-width:900px){.lineup-heading .label{display:none}.lu-grid #pitch{width:min(100%,calc((100vh - 330px)*.739));min-width:280px}.lu-grid .slot .disc{width:40px;height:40px;font-size:16px}.lu-grid .slot{width:76px}.lu-grid .slot .tag{max-width:76px;font-size:10px}.position-actions>span{flex-basis:auto;white-space:nowrap}}
@media(max-width:899px){.lu-grid>.stack:first-child{gap:10px}.lu-grid .gesture-help{margin:0;font-size:13px}.position-actions{gap:6px;font-size:11px}.position-summary{padding:10px}.position-note{font-size:11px}.lineup-heading .lock-bar{font-size:12px}}
@media(min-width:900px){.lu-grid .pitch-mode button{min-height:40px;padding:6px}.position-actions .btn{min-height:32px!important;height:32px;padding:5px 8px}.lineup-heading .lock-bar{margin-top:0;padding-top:3px;padding-bottom:3px}}

/* 1.42: readable, compact manager overviews with details on demand. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.targeted-rest[hidden]{display:none}
.overview-wrap{background:#fff;border:1px solid #d8e2df;border-radius:12px;overflow:auto;margin-bottom:10px}
.overview-table{width:100%;border-collapse:collapse;font-size:13px;line-height:1.35;color:#19312e;text-align:left}
.overview-table thead{background:#e6efeb;color:#36584b}
.overview-table th,.overview-table td{padding:9px 12px;border-bottom:1px solid #e2e9e6;vertical-align:middle}
.overview-table thead th{font-size:11px;font-weight:800;white-space:nowrap;letter-spacing:.03em}
.overview-table tbody tr:nth-child(even){background:#f6f9f7}
.overview-table tbody tr:hover{background:#edf5f0}
.overview-table tbody tr:last-child>*{border-bottom:0}
.overview-table .overview-who{font-weight:600;min-width:170px}
.overview-name{display:flex;align-items:center;gap:9px;border:0;background:none;color:inherit;text-align:left;cursor:pointer;padding:0;min-height:34px;font:inherit;width:100%}
.overview-name:hover b{text-decoration:underline;color:#146448}.overview-name:focus-visible,.overview-compare:focus-visible{outline:2px solid #187557;outline-offset:4px;border-radius:4px}
.overview-name b{font-size:13px}.overview-name small{display:block;color:#63756d;font-size:11px;font-weight:500}
.overview-avatar{display:grid;place-items:center;width:30px;height:34px;flex:none;overflow:hidden;border-radius:7px}.overview-avatar>*{width:30px!important;height:34px!important;object-fit:cover}
.overview-energy{display:grid;gap:4px;min-width:55px;max-width:85px;font-variant-numeric:tabular-nums}.overview-energy b{font-size:12px;white-space:nowrap}.overview-energy>i{height:4px;background:#dce6e0;border-radius:3px;overflow:hidden}.overview-energy em{height:100%;display:block;background:#238457}.overview-energy.tired em{background:#b67c20}.overview-energy.low em{background:#b5443e}
.overview-table select{width:100%;min-width:155px;min-height:34px;padding:6px 28px 6px 8px;border-radius:7px;font-size:12px;background-color:#fff}.overview-table .btn{min-height:34px;font-size:12px;padding:7px 11px;white-space:nowrap;box-shadow:none}.overview-table .tag{font-size:11px}
.overview-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:10px 0}
.overview-toolbar>label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700}.overview-toolbar select{width:auto;min-height:36px;padding:7px 25px 7px 10px;font-size:13px;border-radius:8px}
.overview-hint,.overview-footnote{font-size:12px;line-height:1.5;color:#5b7068}.overview-footnote{margin:8px 0 18px}.overview-toolbar .training-bulk{margin-left:auto}.overview-toolbar .training-bulk>summary{font-size:12px;min-height:36px;padding:8px}
.overview-toolbar .room-actions{margin:0 0 0 auto;padding:0;gap:8px}.overview-toolbar .btn{min-height:36px;padding:8px 12px;font-size:12px}
.overview-table .overview-status{max-width:230px}.status-label{display:inline-block;padding:4px 7px;border-radius:5px;font-size:11px;font-weight:650;line-height:1.4}.status-label.ready{background:#e1f1e6;color:#246441}.status-label.attention{background:#fff0ce;color:#865713}.status-label.blocked{background:#fbe6e2;color:#96352b}
.overview-comparison{min-width:145px}.overview-comparison small,.overview-price small{display:block;font-size:10px;color:#63756d;margin-top:2px;font-weight:500}.overview-price{font-variant-numeric:tabular-nums}.overview-price>b{white-space:nowrap}.overview-price .budget-after{font-size:10px;max-width:160px}.overview-compare{display:block;font-size:12px;background:none;border:0;padding:3px 0;cursor:pointer;text-align:left;font-weight:700}.overview-compare:hover{text-decoration:underline}.overview-deal-tag{display:inline-block;border-radius:5px;padding:3px 5px;background:#d8f2df;color:#175b35;font-size:10px;font-weight:800}.overview-deal .overview-who{box-shadow:inset 3px 0 #2b9760}.overview-leading .overview-who{box-shadow:inset 3px 0 #ba8920}
.overview-action{min-width:95px}.overview-action .btn+.btn{margin-top:5px}
@media(min-width:900px){
 [data-screen]>.page-head{margin-bottom:14px;padding-bottom:8px}[data-screen]>.page-head h1{font-size:28px;margin:2px 0}[data-screen]>.page-head p{font-size:13px;margin:4px 0 0}[data-screen]>.page-head .label{font-size:10px}[data-screen]>.page-head .screen-heading-art{width:50px;height:50px}
 [data-screen] .screen-detail>summary{padding:12px 16px;min-height:50px}[data-screen] .screen-detail>summary b{font-size:14px}
 [data-screen="trening"] .training-session{max-width:none;grid-template-columns:minmax(180px,1fr) minmax(220px,1.2fr) auto;padding:14px 18px;gap:10px 20px;border-radius:12px;margin-bottom:10px}
 .training-session-heading{grid-column:1/-1}.training-session-heading h2{font-size:16px}.training-session-heading p{font-size:12px;margin:0}.training-session-heading .art3d{display:none}
 .training-session>.field{margin:0;grid-row:2;grid-column:1}.training-session>div.field{grid-column:2;grid-row:2/4}.training-session .label{font-size:10px}.training-session select{min-height:36px;font-size:13px}.training-session #tr-int button{min-height:36px;font-size:12px;padding:7px 10px}.training-session>.training-kind-help{grid-column:1;grid-row:3;font-size:11px;margin:0}.training-session .training-start{grid-column:3;grid-row:2;min-height:40px;align-self:end;font-size:13px;padding:9px 14px}.training-session>.training-readiness-compact{grid-column:1/-1;grid-row:4;padding:0;margin:0}.training-session>.training-readiness-compact>summary{padding:6px 8px;min-height:28px;font-size:12px}.training-session>div.field>small{font-size:11px}
 .training-team-summary{margin:8px 0;padding:8px 12px;gap:20px;border-radius:8px}.training-view-heading{margin:12px 0 8px}.training-view-heading h2{font-size:18px}.training-view-heading .btn{min-height:32px;padding:6px 10px}.training-roster-tools{padding:8px}
 .market-wallet{padding:10px 16px;border-radius:12px;margin-bottom:10px}.market-wallet>div{display:flex;align-items:center;gap:14px}.market-wallet>div>b{font-size:21px;margin:0}.market-wallet>span>b{display:inline;font-size:13px}.market-tabs{margin-bottom:10px}.market-tabs button{min-height:40px;padding:8px 14px;font-size:13px}.smart-market-filter{width:auto;min-height:36px;font-size:12px;display:inline-flex;margin:0 12px 8px 0;padding:8px 12px}.market-filter{display:inline-flex;margin:0 0 10px;gap:8px}.market-filter select{min-height:36px;font-size:13px}.market-filter label{font-size:12px}
 .room-summary{gap:8px;margin-bottom:10px}.room-summary>div{display:flex;gap:10px;align-items:center;justify-content:center;padding:9px 12px;border-radius:10px}.room-summary b{font-size:22px}.room-summary span{margin:0}.room-roster{margin-bottom:16px}
 .training-extra>summary,.play-extra>summary{min-height:44px;padding:12px 16px}.screen-section-title{margin:14px 0 8px}
}
@media(max-width:899px){
 .overview-wrap{overflow:visible;border:0;background:transparent}.overview-table,.overview-table tbody{display:block}.overview-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
 .overview-table tbody tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;border:1px solid #d8e2df;border-radius:12px;margin-bottom:12px;padding:14px;background:#fff!important}
 .overview-table th,.overview-table td{border:0;padding:0;min-width:0}.overview-table .overview-who{grid-column:1/-1;min-width:0;padding-bottom:8px;border-bottom:1px solid #e2e9e6}.overview-name{min-height:42px}.overview-name b{font-size:15px}.overview-avatar{width:34px;height:38px}.overview-table td[data-label]:before{content:attr(data-label);display:block;font-size:11px;color:#62776d;margin-bottom:4px;font-weight:500}
 .overview-table .overview-focus,.overview-table .overview-comparison,.overview-table .overview-status,.overview-table .overview-action{grid-column:1/-1;max-width:none}.overview-table select{font-size:16px;min-height:44px}.overview-table .btn{font-size:14px;min-height:44px}.overview-comparison small{font-size:12px}.overview-compare{font-size:14px;min-height:40px}.overview-deal-tag{font-size:12px}.overview-price{grid-column:span 2}.overview-price .budget-after{font-size:11px;max-width:none}.overview-table .overview-action:before{display:none}.overview-action{display:flex;gap:8px;flex-wrap:wrap}.overview-action .btn+.btn{margin:0}.overview-toolbar{align-items:stretch}.overview-toolbar .overview-hint{order:3;width:100%}.overview-toolbar .room-actions{width:100%;margin:0}.overview-toolbar .room-actions .btn{flex:1}.overview-toolbar .training-bulk{margin-left:0}.overview-energy{max-width:90px}.training-view-heading h2{font-size:19px}
}
@media(min-width:900px){
 [data-screen="trening"] .training-session{gap:7px 16px;padding:12px 16px}
 [data-screen="trening"] .training-session-heading p{display:none}
 [data-screen="trening"] .training-session .training-start{min-height:38px!important;height:38px}
 [data-screen="trening"] .training-view-heading>.btn{min-height:32px!important;height:32px}
 [data-screen="trening"] .training-bulk{padding-top:0;min-width:0}
 [data-screen="trening"] .training-session .field .label{margin-bottom:4px}
 .overview-table th,.overview-table td{padding-top:7px;padding-bottom:7px}
}
.overview-table .overview-confirm-row>td{padding:10px 14px}.overview-confirm-row .purchase-confirm{margin:0;max-width:none;display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.overview-confirm-row .purchase-confirm p{display:none}.overview-confirm-row .purchase-confirm .row{margin-left:auto}.confirmation-player{display:block}.overview-confirm-row .purchase-confirm>b{font-weight:500}
@media(max-width:899px){.overview-table tbody .overview-confirm-row{display:block;margin-top:-10px}.overview-confirm-row>td{display:block}.overview-confirm-row .purchase-confirm{display:block}.overview-confirm-row .purchase-confirm .row{margin-top:12px}}
:root[data-theme="dark"] .overview-wrap,:root[data-theme="dark"] .overview-table tbody tr{background:#152a2e!important;color:#e3eeea;border-color:#395149}:root[data-theme="dark"] .overview-table tbody tr:nth-child(even){background:#1d3435!important}:root[data-theme="dark"] .overview-table thead{background:#24483d;color:#d3eee1}:root[data-theme="dark"] .overview-table td,:root[data-theme="dark"] .overview-table th{border-color:#395149}:root[data-theme="dark"] .overview-table select{background:#1e3838;color:#e3eeea}:root[data-theme="dark"] .overview-comparison small,:root[data-theme="dark"] .overview-price small,:root[data-theme="dark"] .overview-hint,:root[data-theme="dark"] .overview-footnote{color:#b2c9be}
.topup-card{margin-bottom:16px;border:1px solid #a1cbb5;background:linear-gradient(120deg,#f6fff9,#fff)}.topup-main{display:flex;align-items:center;justify-content:space-between;gap:16px}.topup-main h2{font-size:22px;margin:5px 0}.topup-main p,.topup-note{font-size:13px;line-height:1.5;margin:6px 0;color:var(--mute)}.topup-main .btn{white-space:nowrap}.topup-card .simple-details{margin:8px 0 0}.topup-history>div{display:grid;grid-template-columns:1fr auto;gap:5px 14px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.topup-history small{grid-column:1/-1;color:var(--mute)}.topup-card .purchase-confirm{flex-basis:100%}.topup-main:has(.purchase-confirm){flex-wrap:wrap}.topup-main .purchase-confirm{width:100%}:root[data-theme="dark"] .topup-card{background:var(--panel)}@media(max-width:700px){.topup-main{flex-wrap:wrap}.topup-main .btn{width:100%}.topup-main h2{font-size:20px}}

/* Seller identity stays visible in the compact transfer table. */
.market-seller{display:block;margin-top:5px;font-size:12px;font-weight:500;color:var(--muted,#526477);line-height:1.4}

/* Bank transfer purchase: price and payment status stay unmistakable. */
.bank-total{padding:18px 22px;border-radius:16px;background:#e6f3ed;color:#123d30;display:flex;flex-direction:column;gap:5px;min-width:225px}.bank-total strong{font-size:38px;line-height:1.15}.bank-total small{font-size:13px}.bank-payment{padding:20px;border:1px solid #d4dfdb;border-radius:14px;margin:16px 0}.bank-payment.pending{background:#fff9e9;border-color:#e7c778}.bank-payment.paid{background:#edf8f1;border-color:#9ed0b5}.bank-status{display:inline-flex;border-radius:8px;padding:7px 11px;background:#fae2a7;color:#573600;font-weight:800;margin-bottom:10px}.paid .bank-status{background:#d1ecdd;color:#125c37}.bank-payment dl{display:grid;gap:12px}.bank-payment dl>div{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:12px}.bank-payment dt{color:#526261}.bank-payment dd{margin:0;display:flex;align-items:center;flex-wrap:wrap;gap:12px}.bank-payment code{font-size:15px;word-break:break-word}.bank-payment .row{flex-wrap:wrap;gap:10px;margin-bottom:12px}.bank-order-form .field{margin-top:14px}.bank-order-form label{display:block;margin-bottom:5px}.bank-order-form input:not([type=checkbox]){width:100%}.bank-order-form .bank-consent{display:block;line-height:1.5;margin:18px 0;font-size:14px}.bank-consent input{width:18px;height:18px;vertical-align:middle;margin-right:7px}.bank-poll-status{font-size:13px}.bank-order-form #bank-form-error{color:#a62828}.bank-admin-table td{vertical-align:top}.bank-admin-table small{display:block}
@media(max-width:600px){.bank-payment dl>div{grid-template-columns:1fr;gap:4px}.bank-total{width:100%;box-sizing:border-box}.bank-payment{padding:15px}.bank-order-form .grid.g2{grid-template-columns:1fr}}
.topup-history .bank-payment.paid{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:18px}.topup-history .bank-payment.paid .bank-status{margin-bottom:0}.topup-history .bank-payment.paid b{white-space:normal;overflow-wrap:anywhere}.bank-admin-table .chip.good{background:#d1ecdd;color:#125c37}.bank-admin-table .chip.warn{background:#fae2a7;color:#573600}
.email-verify{max-width:480px;margin:0 auto}.email-verify strong{overflow-wrap:anywhere}.email-verify #verify-code{font-size:30px;letter-spacing:.3em;text-align:center;padding:14px;width:100%;box-sizing:border-box}.email-verify-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.email-verify .mute{font-size:14px;line-height:1.5}.email-verify .err:empty{display:none}#email-attach-host input{width:100%}.auth-form .field small{display:block;margin-top:6px;color:#52626d;font-size:13px}

/* Account forms: visible steps, accessible password controls and field feedback. */
.auth-steps{list-style:none;display:flex;gap:10px;padding:0;margin:22px 0;counter-reset:none}.auth-steps li{flex:1;display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--mute);border-bottom:3px solid var(--line);padding-bottom:10px}.auth-steps li span{display:grid;place-items:center;border-radius:50%;background:var(--bg2);width:26px;height:26px;flex-shrink:0}.auth-steps .current{color:var(--text);border-color:var(--acc)}.auth-steps .current span,.auth-steps .done span{background:var(--acc);color:#fff}.password-control{position:relative;display:flex;align-items:center}.password-control input{width:100%;padding-right:56px!important}.password-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:grid;place-items:center;min-width:44px;min-height:44px;background:transparent;border:0;border-radius:8px;color:var(--text);cursor:pointer}.password-toggle:hover,.password-toggle[aria-pressed=true]{background:var(--bg2)}.password-toggle:focus-visible{outline:2px solid var(--acc);outline-offset:1px}.field input[aria-invalid=true]{border:2px solid #bd302f!important;background:color-mix(in srgb,var(--panel) 94%,#bd302f 6%)}.auth-form .field .field-error,.field .field-error{display:block;color:#b52c2c;font-weight:600;margin-top:6px;font-size:13px}.field .field-error:empty{display:none}@media(max-width:520px){.auth-steps{gap:6px}.auth-steps li{font-size:12px;gap:5px;align-items:flex-start}.auth-steps li span{width:22px;height:22px}}

[data-theme=dark] .field .field-error{color:#ff9ba5}
