/* Покерные шахматы, /poker-chess/ (Марк, 27.09.2026). Написано руками, как game.css;
   цвета берутся из токенов site.css, свои здесь только доска и фигуры. */
.pc{--sq-l:#E7E1D0;--sq-d:#8E9C90;--co-l:#6E7C70;--co-d:#F2EEE2;--wp:#FBFAF5;--wp-e:#1C1F1D;--bp:#1A1D1B;--bp-e:#F4F1E8;
  --last:rgba(214,178,74,.45);--sel:color-mix(in srgb,var(--seal) 38%,transparent);--chk:rgba(200,40,40,.55);--dim:rgba(20,30,25,.35)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .pc{--sq-l:#BDB5A1;--sq-d:#5D6D60;--co-l:#4F5E52;--co-d:#E2DCCB}}
:root[data-theme="dark"] .pc{--sq-l:#BDB5A1;--sq-d:#5D6D60;--co-l:#4F5E52;--co-d:#E2DCCB}

.pc-lead{font-family:Literata,Georgia,serif;font-size:17px;line-height:1.6;color:var(--ink-soft);margin:18px 0 22px;max-width:62ch}
.pc-game{display:grid;grid-template-columns:minmax(0,520px) minmax(0,1fr);gap:28px;align-items:start}
@media (max-width:860px){.pc-game{grid-template-columns:1fr}}
.pc-col{display:flex;flex-direction:column;gap:10px;min-width:0}
.pc-player{display:flex;align-items:center;justify-content:space-between;gap:8px;font:500 13px "IBM Plex Sans",sans-serif;color:var(--ink-soft)}
.pc-dot{display:inline-block;width:10px;height:10px;border-radius:50%;border:1px solid var(--ink-soft);margin-right:8px;vertical-align:-1px}
.pc-dot.w{background:var(--wp)}.pc-dot.b{background:var(--bp)}
.pc-turn{font:500 11px "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--seal)}
.pc-boardbox{width:100%;max-width:520px;aspect-ratio:1;border-radius:6px;overflow:hidden;border:1px solid var(--rule);box-shadow:0 8px 24px -14px rgba(20,30,25,.35)}
.pc-board{display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);width:100%;height:100%;user-select:none;-webkit-user-select:none}
.pc-sq{position:relative;display:flex;align-items:center;justify-content:center;cursor:pointer;container-type:size}
.pc-sq.l{background:var(--sq-l)}.pc-sq.d{background:var(--sq-d)}
.pc-sq.last::before,.pc-sq.sel::before,.pc-sq.check::before{content:"";position:absolute;inset:0}
.pc-sq.last::before{background:var(--last)}.pc-sq.sel::before{background:var(--sel)}
.pc-sq.check::before{background:radial-gradient(circle,var(--chk) 0%,transparent 70%)}
.pc-co{position:absolute;font:500 clamp(8px,1.6cqw + 6px,11px)/1 "IBM Plex Mono",monospace;pointer-events:none}
.pc-co.f{right:3px;bottom:2px}.pc-co.r{left:3px;top:3px}
.pc-sq.l .pc-co{color:var(--co-l)}.pc-sq.d .pc-co{color:var(--co-d)}
.pc-p{position:relative;font:400 72cqh/1 "Noto Sans Symbols 2","Segoe UI Symbol","DejaVu Sans",sans-serif;pointer-events:none;transform:translateY(-2%)}
.pc-p.w{color:var(--wp);text-shadow:0 0 1px var(--wp-e),0 0 1px var(--wp-e),0 0 1px var(--wp-e),0 1px 2px rgba(0,0,0,.25)}
.pc-p.b{color:var(--bp);text-shadow:0 0 1px var(--bp-e),0 1px 2px rgba(0,0,0,.25)}
.pc-mask{position:absolute;top:7%;right:7%;width:22%;height:22%;border-radius:50%;background:var(--seal);border:2px solid var(--sq-l);pointer-events:none}
.pc-mask.known{background:transparent;border:2px dashed var(--seal)}
.pc-deduced{position:absolute;inset:9%;border-radius:50%;border:2px dashed var(--seal);pointer-events:none}
/* рубашка – как у карты: киноварь знака с диагональной штриховкой */
.pc-back{position:relative;width:78%;height:78%;border-radius:50%;pointer-events:none;display:flex;align-items:center;justify-content:center;
  background:repeating-linear-gradient(45deg,#A5301F 0 6%,#C9503C 6% 8%);box-shadow:inset 0 0 0 3px rgba(255,255,255,.4),0 2px 4px rgba(0,0,0,.3)}
.pc-back.w{outline:3px solid var(--wp);outline-offset:-3px}.pc-back.b{outline:3px solid var(--bp);outline-offset:-3px}
.pc-back span{font:600 clamp(8px,17cqh,14px)/1.1 "IBM Plex Mono",monospace;color:#fff;background:rgba(0,0,0,.45);padding:2px 4px;border-radius:4px;text-align:center}
.tgt::after{content:"";position:absolute;width:28%;height:28%;border-radius:50%;background:var(--dim);pointer-events:none}
.tgt.cap::after{width:84%;height:84%;background:transparent;border:5px solid var(--dim)}
.tgt.keep::after{background:var(--seal);opacity:.9}
.tgt.keep.cap::after{background:transparent;border-color:var(--seal)}
.tgt.reveal::after{background:transparent;border:3px solid rgba(20,30,25,.6)}
.tgt.reveal.cap::after{border-style:dashed}
.pc-legend{display:flex;flex-wrap:wrap;gap:6px 16px;font:12px "IBM Plex Sans",sans-serif;color:var(--muted)}
.pc-legend i{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:6px;vertical-align:-1px}
.pc-legend .m{background:var(--seal);border:2px solid var(--sq-l)}.pc-legend .k{background:var(--seal)}.pc-legend .r{border:2px solid var(--ink-soft)}
.pc-banner{max-width:520px;background:var(--surface);border:1px solid var(--rule);border-radius:8px;padding:10px 12px;display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;font:13px/1.4 "IBM Plex Sans",sans-serif;color:var(--ink)}
.pc-btn{font:500 13px "IBM Plex Sans",sans-serif;border:1px solid var(--ink);background:var(--ink);color:var(--ground);padding:8px 14px;border-radius:8px;cursor:pointer}
.pc-btn:focus-visible,.pc-form select:focus-visible,.pc-form input:focus-visible{outline:2px solid var(--ev);outline-offset:2px}
.pc-side{display:flex;flex-direction:column;gap:16px;min-width:0}
.pc-card{background:var(--surface);border:1px solid var(--rule);border-radius:10px;padding:14px 16px}
.pc-card h2{font:600 13px/1.2 "IBM Plex Sans",sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.pc-status{font:600 21px/1.25 Literata,Georgia,serif;margin:0;color:var(--ink)}
.pc-status + p{margin:6px 0 0;color:var(--ink-soft);font:13px/1.5 "IBM Plex Sans",sans-serif}
.pc-lbl{font:500 11px/1.3 "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.pc-ranges{display:flex;flex-direction:column;gap:12px}
.pc-rhead{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;flex-wrap:wrap}
.pc-bits{font:500 12px "IBM Plex Mono",monospace;color:var(--ink-soft);font-variant-numeric:tabular-nums}
.pc-row{display:grid;grid-template-columns:3.6em 1fr;gap:8px;align-items:center;padding:4px 0;border-top:1px solid var(--rule-soft)}
.pc-where{font:500 13px "IBM Plex Mono",monospace;color:var(--ink)}.pc-where s{color:var(--muted)}
.pc-chips{display:flex;flex-wrap:wrap;gap:4px}
.pc-chip{font:500 12px "IBM Plex Mono",monospace;font-variant-numeric:tabular-nums;border:1px solid var(--rule);border-radius:5px;padding:1px 6px;color:var(--ink-soft);white-space:nowrap}
.pc-chip.z{opacity:.35;text-decoration:line-through}
.pc-chip.sure{border-color:var(--ink);color:var(--ink)}
.pc-chip.true{border-color:var(--seal);color:var(--seal);background:color-mix(in srgb,var(--seal) 10%,transparent)}
.pc-log{font:400 13px/1.7 "IBM Plex Mono",monospace;max-height:200px;overflow:auto;display:grid;grid-template-columns:2.2em 1fr 1fr;column-gap:8px;font-variant-numeric:tabular-nums;color:var(--ink)}
.pc-log .n{color:var(--muted)}.pc-log .h{color:var(--seal)}
.pc-empty{grid-column:1/-1;color:var(--muted);font:13px "IBM Plex Sans",sans-serif}
.pc-form{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}
.pc-form label{display:flex;flex-direction:column;gap:4px;font:12px "IBM Plex Sans",sans-serif;color:var(--ink-soft)}
.pc-form select{font:14px "IBM Plex Sans",sans-serif;padding:6px 8px;border:1px solid var(--rule);border-radius:6px;background:var(--ground);color:var(--ink);width:100%}
.pc-form .full{grid-column:1/-1}
.pc-form .chk{flex-direction:row;align-items:center;gap:8px}
.pc-rules{margin-top:40px}
.pc-rules ol{font-family:Literata,Georgia,serif;font-size:16px;line-height:1.64;color:var(--ink-soft);padding-left:22px;margin:0 0 16px;display:flex;flex-direction:column;gap:6px}
.pc-rules ol li::marker{font:500 13px "IBM Plex Mono",monospace;color:var(--seal)}
.pc-back-link{font:14px "IBM Plex Sans",sans-serif;margin-top:28px}
.pc-back-link a{color:var(--ink);text-underline-offset:3px;text-decoration-color:var(--rule)}

/* v0.3 (28.09.2026): bank and bets, pocket pieces as cards, hand strength, bets in the move log */
.pc-legend{max-width:520px}
.pc-btn.ghost{background:transparent;color:var(--ink);border-color:var(--rule)}
.pc-note{margin:8px 0 0;font:12px/1.5 "IBM Plex Sans",sans-serif;color:var(--muted)}
.pc-pot{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
.pc-potv{font:600 30px/1 Literata,Georgia,serif;font-variant-numeric:tabular-nums;color:var(--seal)}
.pc-stacks{display:flex;flex-wrap:wrap;gap:4px 16px;font:13px "IBM Plex Sans",sans-serif;color:var(--ink-soft)}
.pc-stacks b{color:var(--ink);font-variant-numeric:tabular-nums}
.pc-stacks i{font-style:normal;color:var(--muted)}
.pc-betrow{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:10px 0 0}
.pc-chipbtn{font:600 15px "IBM Plex Mono",monospace;font-variant-numeric:tabular-nums;border:1.5px solid var(--seal);color:var(--seal);background:color-mix(in srgb,var(--seal) 10%,transparent);border-radius:999px;padding:6px 12px;cursor:pointer;display:inline-flex;flex-direction:column;align-items:center;line-height:1.1;min-width:64px}
.pc-chipbtn small{font:500 10px "IBM Plex Sans",sans-serif;color:var(--ink-soft);margin-top:2px}
.pc-chipbtn:hover{background:var(--seal);color:#fff}.pc-chipbtn:hover small{color:#fff}
.pc-chipbtn:focus-visible{outline:2px solid var(--ev);outline-offset:2px}
.pc-stack{font:500 12px "IBM Plex Mono",monospace;color:var(--ink)}
.pc-pocket{display:flex;flex-direction:column;gap:10px;background:var(--surface);border:1px solid var(--rule);border-radius:10px;padding:10px 12px;max-width:520px}
.pc-prow{display:flex;flex-direction:column;gap:6px}
.pc-pcards{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:16px}
.pc-pk{position:relative;width:62px;height:84px;border-radius:7px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 1px 3px rgba(0,0,0,.18);border:1px solid var(--rule)}
.pc-pk.back{background:repeating-linear-gradient(45deg,#A5301F 0 5px,#C9503C 5px 7px);border-color:#A5301F}
.pc-pk.face{background:var(--sq-l)}
.pc-pk .pq{font:700 22px Literata,Georgia,serif;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.4)}
.pc-pk .pposs{position:absolute;bottom:5px;left:3px;right:3px;text-align:center;font:600 10px/1.1 "IBM Plex Mono",monospace;color:#fff;letter-spacing:.12em;white-space:nowrap}
.pc-pk .pg{font:400 34px/1 "Noto Sans Symbols 2","Segoe UI Symbol","DejaVu Sans",sans-serif}
.pc-pk.w .pg{color:var(--wp);text-shadow:0 0 1px var(--wp-e),0 0 1px var(--wp-e),0 0 1px var(--wp-e)}
.pc-pk.b .pg{color:var(--bp)}
.pc-pk .psq{position:absolute;top:3px;left:5px;font:500 10px "IBM Plex Mono",monospace;color:#5E6A62}
.pc-pk.back .psq{color:rgba(255,255,255,.85)}
.pc-pk .pnote{position:absolute;bottom:-17px;left:-6px;right:-6px;text-align:center;font:500 10px "IBM Plex Sans",sans-serif;color:var(--muted);white-space:nowrap}
.pc-pk.gone{opacity:.45}
.pc-pk.gone::after{content:"";position:absolute;left:6px;right:6px;top:50%;border-top:2px solid var(--seal);transform:rotate(-35deg)}
.pc-strength{border-top:1px solid var(--rule);padding-top:8px;display:flex;flex-direction:column;gap:6px}
.pc-sline{margin:0;font:13px/1.5 "IBM Plex Sans",sans-serif;color:var(--ink-soft)}
.pc-sline b{color:var(--ink);font-variant-numeric:tabular-nums}
.pc-eqbar{display:flex;height:10px;border-radius:5px;overflow:hidden;background:var(--rule);gap:2px}
.pc-eqbar i{display:block;height:100%}
.pc-eqbar .a{background:var(--pos)}.pc-eqbar .t{background:var(--muted)}.pc-eqbar .b{background:var(--neg)}
.pc-log .ev{grid-column:1/-1;font:500 12px "IBM Plex Sans",sans-serif;color:var(--seal);padding-left:2.9em}
.pc-bitsnote{margin:10px 0 0}
.pc-kicker{font:500 12px "IBM Plex Mono",monospace;letter-spacing:.05em;text-transform:uppercase;color:var(--seal);margin:14px 0 0}
.pc-kicker a{color:inherit}
table.pc-map{border-collapse:collapse;width:100%;font:14px/1.45 "IBM Plex Sans",sans-serif;margin:0 0 16px}
table.pc-map th,table.pc-map td{border-bottom:1px solid var(--rule);padding:7px 12px 7px 0;text-align:left;vertical-align:top;color:var(--ink-soft)}
table.pc-map th{font:500 11px "IBM Plex Mono",monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
table.pc-map td:first-child{color:var(--ink);font-weight:500;white-space:nowrap}
/* table with a person (28.09.2026) */
.pc-trow{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-bottom:8px}
.pc-code{font:600 20px "IBM Plex Mono",monospace;letter-spacing:.12em;color:var(--ink)}
.pc-link{flex:1;min-width:0;font:13px "IBM Plex Mono",monospace;padding:7px 9px;border:1px solid var(--rule);border-radius:6px;background:var(--ground);color:var(--ink)}
.pc-tmsg{color:var(--seal)}
#pc-leave{margin-top:10px}
/* heads-up score (28.09.2026) */
.pc-score{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:baseline;margin-top:8px;padding-top:8px;border-top:1px solid var(--rule-soft);font:13px "IBM Plex Sans",sans-serif;color:var(--ink-soft)}
.pc-score b{color:var(--ink);font-variant-numeric:tabular-nums}
/* rules for chess players (28.09.2026) */
.pc-quick{background:var(--surface);border:1px solid var(--rule);border-left:3px solid var(--seal);border-radius:10px;padding:14px 18px 10px;margin:18px 0 22px;max-width:760px}
.pc-quick h2{font:600 18px/1.3 Literata,Georgia,serif;margin:0 0 8px;color:var(--ink)}
.pc-quick ol{margin:0 0 6px;padding-left:22px;display:flex;flex-direction:column;gap:5px;font:15px/1.5 "IBM Plex Sans",sans-serif;color:var(--ink-soft)}
.pc-quick ol li::marker{font:600 13px "IBM Plex Mono",monospace;color:var(--seal)}
.pc-hint{position:relative;margin-top:10px;background:color-mix(in srgb,var(--seal) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--seal) 35%,var(--rule));border-radius:8px;padding:8px 32px 8px 12px}
.pc-hint p{margin:2px 0 0;font:13px/1.5 "IBM Plex Sans",sans-serif;color:var(--ink)}
.pc-hint-x{position:absolute;top:4px;right:6px;border:0;background:none;font:18px/1 "IBM Plex Sans",sans-serif;color:var(--muted);cursor:pointer;padding:4px}
details.pc-adv summary{cursor:pointer;font:500 12px "IBM Plex Mono",monospace;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
details.pc-adv[open] summary{margin-bottom:10px}
.pc-strength details.pc-adv,.pc-pocket details.pc-adv{border-top:1px solid var(--rule);padding-top:8px}
.pc-actions{display:flex;gap:8px;flex-wrap:wrap}

/* Два режима под заголовком: на фишки / без фишек (Марк, 28.09.2026). Хедс-ап – всегда, он в заголовке. */
.pc-seg{display:inline-flex;margin-top:14px;border:1px solid var(--ink);border-radius:999px;padding:3px;gap:3px}
.pc-seg button{font:500 14px "IBM Plex Sans",sans-serif;padding:7px 18px;border:0;border-radius:999px;background:transparent;color:var(--ink);cursor:pointer}
.pc-seg button[aria-pressed="true"]{background:var(--ink);color:var(--ground)}
.pc-seg button:disabled{cursor:default;opacity:.55}
.pc-seg button[aria-pressed="true"]:disabled{opacity:1}
.pc-seg button:focus-visible{outline:2px solid var(--ev);outline-offset:2px}

/* Ставка и рейз соперника видны сразу (Марк, 28.09.2026): плашка решения под доской и значки у игроков. */
.pc-banner.facing{border:2px solid var(--seal);background:color-mix(in srgb,var(--seal) 7%,var(--surface))}
.pc-face{flex:1 1 260px;font-size:14px}
.pc-face-k{display:inline-block;font:600 11px "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--seal);border-radius:4px;padding:2px 7px;margin-right:6px;vertical-align:1px}
.pc-banner.pulse{animation:pc-pulse 1s ease-out 2}
@keyframes pc-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--seal) 50%,transparent)}100%{box-shadow:0 0 0 14px transparent}}
@media (prefers-reduced-motion:reduce){.pc-banner.pulse{animation:none}}
.pc-betbadge{display:inline-block;font:500 11px "IBM Plex Mono",monospace;letter-spacing:.05em;text-transform:uppercase;border:1px solid var(--rule);border-radius:999px;padding:1px 8px;margin-left:6px;color:var(--ink-soft);vertical-align:1px}
.pc-betbadge.bet,.pc-betbadge.raise{border-color:var(--seal);color:var(--seal)}
.pc-betbadge.raise{background:var(--seal);color:#fff}

/* На компьютере доска и карманные фигуры помещаются на один экран (Марк, 28.09.2026):
   доска подстраивается под высоту окна, фигуры соперника и ваши – в одну линию. */
.pc-phead{display:flex;justify-content:space-between;align-items:baseline;gap:4px 12px;flex-wrap:wrap}
.pc-prows{display:flex;flex-direction:column;gap:10px}
.pc-pkey{display:none;font:500 10px "IBM Plex Mono",monospace;color:var(--muted);letter-spacing:.02em}
@media (min-width:861px){
  .pc{--bw:min(520px,max(360px,calc(100vh - 360px)))}
  .pc-game{grid-template-columns:minmax(0,var(--bw)) minmax(0,1fr)}
  .pc-boardbox,.pc-pocket,.pc-banner,.pc-legend{max-width:var(--bw)}
  .pc-legend>span:last-child{display:none}
  .pc-legend{gap:4px 12px;font-size:11.5px}
  .pc-pkey{display:inline}
  .pc-pocket{gap:6px}
  .pc-prows{flex-direction:row;flex-wrap:wrap;gap:8px 14px}
  .pc-prows .pc-prow{flex:1 1 150px;min-width:0}
  .pc-prows .pc-prow+.pc-prow{border-left:1px solid var(--rule);padding-left:14px}
  .pc-pocket .pc-pcards{gap:6px;flex-wrap:nowrap}
  .pc-pocket .pc-pk{flex:1 1 0;min-width:0;max-width:54px;width:auto;height:auto;aspect-ratio:3/4}
  .pc-pocket .pc-pk .pg{font-size:clamp(20px,2.2vw,29px)}
  .pc-pocket .pc-pk .pq{font-size:18px}
  .pc-pocket .pc-pk .pposs{font-size:9px;letter-spacing:.06em}
  .pc-pocket .pc-pk .psq{font-size:9px}
}

/* Панель ставок под доской (Марк, 28.09.2026): на телефоне ставки уехали вниз. Любая возможность поставить
   и любая ставка соперника – здесь, с кнопками; блок «Банк» справа остаётся для стеков и пояснений. */
.pc-banner.betting{border-color:color-mix(in srgb,var(--seal) 45%,var(--rule))}
.pc-face-k.soft{background:transparent;color:var(--seal);box-shadow:inset 0 0 0 1px var(--seal)}
.pc-banner .pc-betrow{flex:1 1 100%;margin:0}
.pc-banner .pc-chipbtn{min-width:56px;padding:5px 10px}
@media (max-width:560px){
  .pc-banner .pc-betrow .pc-lbl{flex:1 1 100%}
  .pc-banner .pc-betrow .pc-btn{flex:1 1 0}
  .pc-banner .pc-chipbtn{flex:1 1 0;min-width:0}
}
/* на телефоне панель ставок – сразу под доской и строкой игрока, легенда уходит ниже */
@media (max-width:860px){.pc-col>.pc-legend{order:1}.pc-col>.pc-pocket{order:2}}
/* ответ соперника на вашу ставку (колл) – та же плашка под доской */
.pc-banner.answered{border:2px solid color-mix(in srgb,var(--seal) 55%,var(--rule))}
