/* Brydż: to, czego nie ma w Makao (makao/game.css): tabela wyniku po rozdaniu, pudełko licytacyjne. */
.mk-tabela { width: 100%; border-collapse: collapse; margin: 6px 0 10px; font-variant-numeric: tabular-nums; }
.mk-tabela th, .mk-tabela td { padding: 8px 10px; text-align: right; border-bottom: 1px solid rgba(201, 171, 112, .25); }
.mk-tabela th:first-child { text-align: left; }
.mk-tabela thead th { font-size: 12px; letter-spacing: .06em; text-transform: uppercase; opacity: .7; }
.mk-tabela tbody td b { font-size: 18px; }
.mk-tabela .mk-grajacy th { color: #e9cf8f; }
.mk-cel { text-align: center; opacity: .75; margin: 0 0 6px; }
.mk-pts{font-style:normal;font-variant-numeric:tabular-nums;font-size:12px;font-weight:800;color:#24170c;background:linear-gradient(180deg,#fbe6b2,#c4954a);border-radius:9px;padding:1px 7px;margin:0 2px}
/* Brydż: pudełko licytacyjne (siatka 7 × ♣ ♦ ♥ ♠ BA i Pas / Kontra / Rekontra) i przebieg licytacji. */
.br-przebieg { width: 100%; border-collapse: collapse; margin: 4px 0 12px; font-variant-numeric: tabular-nums; table-layout: fixed; }
.br-przebieg th, .br-przebieg td { padding: 5px 4px; text-align: center; border-bottom: 1px solid rgba(201, 171, 112, .22); font-size: 15px; }
.br-przebieg th { font-size: 12px; letter-spacing: .05em; opacity: .75; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.br-odz { font-weight: 800; }
.br-czerw { color: #e0566a; }
.br-ba { color: #e9cf8f; }
.br-kontra { color: #ff8a7a; }
.br-pudelko { display: grid; gap: 8px; }
.br-siatka { display: grid; grid-template-columns: repeat(5, 1fr); gap: 5px; }
.br-odzywka, .br-pas, .br-x {
  min-height: 40px; border-radius: 10px; border: 1px solid rgba(201, 171, 112, .35); cursor: pointer; font: 800 16px/1 system-ui, -apple-system, Segoe UI, sans-serif;
  background: linear-gradient(180deg, #f8f1df, #e7dcc0); color: #1c2240; box-shadow: 0 2px 0 rgba(0, 0, 0, .25); transition: transform .1s, opacity .15s;
}
.br-odzywka.br-czerw { color: #b3243a; }
.br-odzywka.br-ba { color: #24170c; background: linear-gradient(180deg, #fbe6b2, #d9b56c); }
.br-odzywka:disabled, .br-x:disabled { opacity: .22; cursor: default; box-shadow: none; }
.br-odzywka:not(:disabled):active, .br-pas:active, .br-x:not(:disabled):active { transform: scale(.95); }
.br-dolne { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 6px; }
.br-pas { background: linear-gradient(180deg, #7fc49a, #3f8a5e); color: #fff; }
.br-x { background: linear-gradient(180deg, #e7707f, #a8303f); color: #fff; }
.br-rada { outline: 3px solid #ffd57a; outline-offset: 2px; }
@media (max-width: 420px) { .br-odzywka, .br-pas, .br-x { min-height: 36px; font-size: 14px; } }

/* ── Stół 2D ze wzoru Ilyi (5.11.2026): nagłówek, wynik par, panel licytacji, arkusz na telefonie, trener ── */
.kit-hud .b2-ikona { background: transparent !important; border: 0 !important; box-shadow: none !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; color: var(--s2-krem); padding: 8px !important; }
.kit-hud .b2-ikona svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.kit-hud .b2-ikona + .b2-ikona { border-left: 1px solid rgba(239, 230, 210, .25) !important; border-radius: 0 !important; padding-left: 14px !important; }
.b2-logo { display: grid; gap: 4px; padding: 4px 8px; color: var(--s2-krem); text-shadow: 0 1px 4px rgba(0, 0, 0, .6); pointer-events: none; }
.b2-logo b { font: 500 26px/1 var(--s2-serif); letter-spacing: .08em; white-space: nowrap; }
.b2-logo b i { font-style: normal; opacity: .7; padding: 0 2px; }
.b2-logo b em { font-style: italic; letter-spacing: .06em; text-transform: uppercase; }
.b2-logo small { font: 500 12px/1 var(--s2-sans); letter-spacing: .16em; text-transform: uppercase; opacity: .78; }
.b2-wynik { position: fixed; z-index: 11; top: calc(22px + var(--kit-safe-gora, 0px)); left: 50%; transform: translateX(-50%); display: flex; gap: 22px; font: 500 17px/1 var(--s2-sans); letter-spacing: .14em; color: var(--s2-krem2); text-shadow: 0 1px 4px rgba(0, 0, 0, .7); pointer-events: none; }
.b2-wynik i { font-style: normal; opacity: .7; }
.b2-wynik--pion { top: calc(64px + var(--kit-safe-gora, 0px)); left: auto; right: calc(16px + var(--kit-safe-prawo, 0px)); transform: none; font-size: 14px; gap: 12px; }

.b2-panel, .b2-mini, .b2-arkusz { position: fixed; z-index: 9; color: var(--s2-krem); background: var(--s2-szklo); border: 1px solid var(--s2-linia); backdrop-filter: blur(14px) saturate(1.1); -webkit-backdrop-filter: blur(14px) saturate(1.1); box-shadow: 0 18px 50px rgba(0, 0, 0, .45); font-family: var(--s2-sans); }
.b2-panel { right: calc(14px + var(--kit-safe-prawo, 0px)); top: max(110px, 16vh); width: min(300px, 26vw); padding: 20px 20px 16px; border-radius: 18px; }
.b2-tytul { margin: 0 0 12px; font: 500 28px/1 var(--s2-serif); letter-spacing: .01em; }
.b2-panel hr { border: 0; border-top: 1px solid var(--s2-linia); margin: 14px 0; }
.b2-przebieg { width: 100%; border-collapse: collapse; table-layout: fixed; font-variant-numeric: tabular-nums; }
.b2-przebieg th { font: 500 13px/1 var(--s2-sans); color: var(--s2-krem2); padding: 0 0 10px; text-align: center; }
.b2-przebieg td { font: 500 16px/1.2 var(--s2-sans); text-align: center; padding: 3px 0; color: var(--s2-krem); }
.b2-przebieg tbody { border-bottom: 1px solid var(--s2-linia); }
.b2-czerw, .s2-chip .s2-czerw { color: #ef6b74; }
.b2-x { color: #ff9a8a; }
.b2-kropki { opacity: .6; }
.b2-kontrakt { margin: 14px 0 8px; font: 500 22px/1.2 var(--s2-sans); text-align: center; }
.b2-lewy { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.b2-lewy span { display: flex; justify-content: space-between; align-items: center; padding: 10px 12px; border-radius: 12px; background: rgba(239, 230, 210, .06); font-size: 14px; color: var(--s2-krem2); }
.b2-lewy b { font-size: 20px; color: var(--s2-krem); }
.b2-czeka { margin: 12px 0 0; color: var(--s2-krem2); font-size: 14px; text-align: center; }
.b2-wybor-tytul { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; font-size: 16px; color: var(--s2-krem2); }
.b2-rada-btn { display: inline-flex; align-items: center; gap: 6px; background: none; border: 0; color: var(--s2-krem); font: 500 15px/1 var(--s2-sans); cursor: pointer; padding: 6px 2px; }
.b2-rada-btn svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.b2-rzad { display: grid; gap: 4px; padding: 4px; border-radius: 12px; background: rgba(0, 0, 0, .22); margin-bottom: 8px; }
.b2-poziomy { grid-template-columns: repeat(7, 1fr); }
.b2-miana { grid-template-columns: repeat(5, 1fr); }
.b2-rzad button { min-height: 38px; border: 0; border-radius: 9px; background: transparent; color: var(--s2-krem); font: 600 18px/1 var(--s2-sans); cursor: pointer; transition: background .15s, color .15s, transform .1s; }
.b2-rzad button.b2-czerw { color: #ef4b55; }
.b2-rzad button.b2-ba { font-size: 16px; letter-spacing: .02em; }
.b2-rzad button[aria-pressed="true"] { background: var(--s2-mieta); color: #0d2a20; box-shadow: 0 0 0 1px rgba(255, 255, 255, .25) inset; }
.b2-rzad button[aria-pressed="true"].b2-czerw { color: #c41d34; }
.b2-rzad button:disabled { opacity: .25; cursor: default; }
.b2-rzad button:not(:disabled):active { transform: scale(.94); }
.b2-akcje { display: grid; gap: 6px; margin-top: 4px; }
.b2-licytuj { min-height: 50px; border: 0; border-radius: 12px; background: linear-gradient(180deg, #a3f0d1, #7fdcb8); color: #0d2a20; font: 700 19px/1 var(--s2-sans); cursor: pointer; box-shadow: 0 6px 18px rgba(95, 207, 165, .25); }
.b2-licytuj b { font-weight: 800; }
.b2-licytuj .b2-czerw { color: #c41d34; }
.b2-licytuj:disabled { opacity: .4; }
.b2-pas, .b2-kontra { min-height: 44px; border: 0; border-radius: 12px; background: transparent; color: var(--s2-krem); font: 500 18px/1 var(--s2-sans); cursor: pointer; }
.b2-pas:hover, .b2-kontra:hover { background: rgba(239, 230, 210, .06); }
.b2-kontra { color: #ff9a8a; }
.b2-hot { outline: 3px solid #ffd57a; outline-offset: 2px; }
.b2-hcp { margin: 12px 0 0; padding-top: 12px; border-top: 1px solid var(--s2-linia); font: 500 14px/1 var(--s2-sans); color: var(--s2-krem); letter-spacing: .04em; }
.b2-hcp--sam { text-align: center; border: 0; }
/* telefon: przebieg w karcie nad moim miejscem, wybór odzywki w arkuszu na dole */
.b2-mini { transform: translateX(-50%); width: min(300px, 74vw); padding: 10px 16px 8px; border-radius: 16px; background: rgba(10, 22, 18, .55); z-index: 8; pointer-events: none; }
.b2-mini h3 { margin: 0 0 6px; text-align: center; font: 500 21px/1 var(--s2-serif); }
.b2-mini .b2-przebieg th { padding-bottom: 6px; }
.b2-mini .b2-przebieg tbody { border: 0; }
.b2-arkusz { left: calc(10px + var(--kit-safe-lewo, 0px)); right: calc(10px + var(--kit-safe-prawo, 0px)); bottom: calc(8px + var(--kit-safe-dol, 0px)); padding: 12px 12px 12px; border-radius: 20px; }
.b2-arkusz .b2-wybor-tytul { font-size: 18px; color: var(--s2-krem); padding: 0 6px; }
.b2-arkusz .b2-rzad button { min-height: 42px; font-size: 19px; }
.b2-arkusz .b2-rzad { margin-bottom: 6px; }
.b2-arkusz .b2-wybor-tytul { margin-bottom: 6px; }
.b2-arkusz .b2-akcje { grid-template-columns: 1.6fr 1fr; gap: 10px; }
.b2-arkusz .b2-akcje .b2-kontra { grid-column: span 1; }
.b2-arkusz .b2-licytuj { min-height: 52px; font-size: 20px; }
.b2-arkusz .b2-pas { background: rgba(239, 230, 210, .07); border: 1px solid var(--s2-linia); font-size: 20px; }
.b2-arkusz .b2-hcp { display: none; }
/* trener nauki: szklana karta nad ręką */
.b2-trener { position: fixed; z-index: 12; left: 50%; bottom: calc(31vh + var(--kit-safe-dol, 0px)); transform: translateX(-50%); width: min(440px, calc(100vw - 32px)); padding: 16px 18px; border-radius: 16px; background: rgba(10, 22, 18, .9); border: 1px solid rgba(143, 230, 195, .35); color: var(--s2-krem); box-shadow: 0 18px 50px rgba(0, 0, 0, .5); font-family: var(--s2-sans); }
.b2-trener b { font: 600 12px/1 var(--s2-sans); letter-spacing: .18em; text-transform: uppercase; color: var(--s2-mieta); }
.b2-trener p { margin: 8px 0 12px; font-size: 16px; line-height: 1.45; }
.b2-trener button { border: 0; border-radius: 10px; padding: 10px 18px; background: var(--s2-mieta); color: #0d2a20; font: 700 15px/1 var(--s2-sans); cursor: pointer; }
.b2-trener--pion { bottom: auto; top: calc(96px + var(--kit-safe-gora, 0px)); }
/* okna kitu (nowa partia, wynik rozdania, koniec) w tej samej zieleni i mięcie */
.kit-warstwa .kit-karta { background: rgba(10, 22, 18, .92) !important; border: 1px solid var(--s2-linia) !important; color: var(--s2-krem) !important; border-radius: 20px !important; backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
.kit-warstwa .kit-tytul { font-family: var(--s2-serif) !important; font-weight: 500 !important; letter-spacing: .01em; }
.kit-warstwa .kit-btn--glowny { background: linear-gradient(180deg, #a3f0d1, #7fdcb8) !important; color: #0d2a20 !important; border: 0 !important; }
@media (max-width: 1000px) and (min-aspect-ratio: 21/20) { .b2-panel { width: 250px; padding: 14px; top: 76px; } .b2-tytul { font-size: 22px; } .b2-licytuj { min-height: 42px; } }
@media (max-width: 380px) { .b2-logo b { font-size: 21px; } .b2-arkusz .b2-rzad button { min-height: 40px; } }
/* telefon poziomo (niski ekran): zwarty panel, Licytuj i Pas obok siebie, przebieg tylko ostatnie wiersze */
@media (max-height: 520px) and (min-aspect-ratio: 21/20) {
  .b2-panel { top: calc(54px + var(--kit-safe-gora, 0px)); width: 236px; padding: 10px 12px; border-radius: 14px; max-height: calc(100vh - 62px); overflow: auto; }
  .b2-tytul { font-size: 19px; margin-bottom: 4px; }
  .b2-przebieg th { padding-bottom: 3px; font-size: 11px; } .b2-przebieg td { font-size: 13px; padding: 1px 0; }
  .b2-panel hr { margin: 6px 0; }
  .b2-wybor-tytul { margin-bottom: 4px; font-size: 13px; } .b2-rada-btn { font-size: 13px; padding: 2px; }
  .b2-rzad { margin-bottom: 4px; padding: 3px; } .b2-rzad button { min-height: 30px; font-size: 15px; }
  .b2-akcje { grid-template-columns: 1.5fr 1fr; gap: 6px; } .b2-licytuj { min-height: 38px; font-size: 15px; } .b2-pas, .b2-kontra { min-height: 38px; font-size: 15px; background: rgba(239, 230, 210, .07); }
  .b2-hcp { display: none; } .b2-kontrakt { margin: 6px 0 4px; font-size: 17px; } .b2-lewy span { padding: 6px 10px; } .b2-lewy b { font-size: 16px; }
  .b2-logo b { font-size: 20px; } .b2-logo small { font-size: 10px; } .b2-wynik { top: calc(14px + var(--kit-safe-gora, 0px)); font-size: 14px; }
  .b2-trener { bottom: auto; top: 50px; width: min(420px, 60vw); padding: 10px 14px; } .b2-trener p { font-size: 14px; margin: 4px 0 8px; }
}
/* niski telefon w pionie (SE): niższy arkusz odzywki */
@media (max-height: 759px) and (max-aspect-ratio: 20/21) {
  .b2-arkusz { padding: 10px; } .b2-arkusz .b2-wybor-tytul { font-size: 15px; margin-bottom: 4px; }
  .b2-arkusz .b2-rzad button { min-height: 36px; font-size: 17px; } .b2-arkusz .b2-rzad { margin-bottom: 5px; padding: 3px; }
  .b2-arkusz .b2-licytuj { min-height: 44px; font-size: 18px; } .b2-arkusz .b2-pas { min-height: 44px; font-size: 18px; }
  .b2-logo b { font-size: 22px; }
}
