.bct-app {
  --bct-bg: #07110e;
  --bct-panel: #0d1d17;
  --bct-panel-2: #11271e;
  --bct-felt: #0c5135;
  --bct-felt-dark: #073925;
  --bct-text: #f3f8f5;
  --bct-muted: #93aa9f;
  --bct-muted-strong: #c0d2ca;
  --bct-green: #43e19a;
  --bct-green-dark: #15a866;
  --bct-gold: #f4bd5b;
  --bct-red: #ff7d8b;
  --bct-blue: #83bfff;
  --bct-border: rgba(213,239,227,.12);
  --bct-shadow: 0 24px 70px rgba(0,0,0,.34);
  --bct-admin-offset: 0px;
  color: var(--bct-text);
  container-name: bct;
  container-type: inline-size;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 15px;
  line-height: 1.45;
  margin: 18px auto;
  max-width: 1480px;
  text-align: left;
}
body.admin-bar .bct-app { --bct-admin-offset: 32px; }
.bct-app *, .bct-app *::before, .bct-app *::after { box-sizing: border-box; }
.bct-app button, .bct-app input, .bct-app select { font: inherit; }
.bct-app button:focus-visible, .bct-app input:focus-visible, .bct-app select:focus-visible, .bct-app summary:focus-visible { outline: 3px solid rgba(131,191,255,.75); outline-offset: 2px; }
.bct-app [hidden] { display: none !important; }
.bct-sr-only { clip: rect(0,0,0,0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }

.bct-shell { background: radial-gradient(circle at 15% -10%,rgba(36,163,101,.16),transparent 32%),var(--bct-bg); border: 1px solid var(--bct-border); border-radius: 24px; box-shadow: var(--bct-shadow); overflow: visible; padding: 20px; }
.bct-appbar { align-items: center; display: flex; gap: 24px; justify-content: space-between; }
.bct-brand { min-width: 0; }
.bct-eyebrow, .bct-kicker { color: var(--bct-green); font-size: 11px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.bct-live-dot { background: var(--bct-green); border-radius: 50%; box-shadow: 0 0 0 5px rgba(67,225,154,.11); display: inline-block; height: 7px; margin-right: 8px; width: 7px; }
.bct-brand h2 { color: var(--bct-text); font-size: clamp(26px,3vw,39px); letter-spacing: -.045em; line-height: 1; margin: 7px 0; }
.bct-brand p { color: var(--bct-muted); font-size: 14px; margin: 0; }
.bct-appbar-status { align-items: center; display: flex; flex: 0 0 auto; gap: 8px; }
.bct-engine-pill { background: rgba(67,225,154,.1); border: 1px solid rgba(67,225,154,.24); border-radius: 999px; color: var(--bct-green); font-size: 12px; font-weight: 750; padding: 8px 12px; }
.bct-engine-pill[data-engine="fallback"] { background: rgba(244,189,91,.1); border-color: rgba(244,189,91,.28); color: var(--bct-gold); }
.bct-engine-pill[data-engine="error"] { background: rgba(255,125,139,.1); border-color: rgba(255,125,139,.28); color: var(--bct-red); }
.bct-more-menu { position: relative; }
.bct-more-menu > summary { align-items: center; background: rgba(255,255,255,.05); border: 1px solid var(--bct-border); border-radius: 11px; cursor: pointer; display: flex; font-weight: 900; height: 44px; justify-content: center; list-style: none; width: 48px; }
.bct-more-menu > summary::-webkit-details-marker { display: none; }
.bct-more-menu > div { background: #f5faf7; border-radius: 12px; box-shadow: 0 18px 50px rgba(0,0,0,.45); display: grid; min-width: 210px; padding: 6px; position: absolute; right: 0; top: 50px; z-index: 300; }
.bct-more-menu button { background: transparent; border: 0; border-radius: 8px; color: #183128; cursor: pointer; min-height: 44px; padding: 9px 11px; text-align: left; }
.bct-more-menu button:hover { background: #e7f0eb; }
.bct-more-menu button.is-danger { color: #b82c42; }

.bct-tabs { border-bottom: 1px solid var(--bct-border); display: flex; gap: 5px; margin: 18px 0 12px; overflow-x: auto; scrollbar-width: thin; }
.bct-tab { background: transparent; border: 0; border-bottom: 3px solid transparent; color: var(--bct-muted); cursor: pointer; flex: 0 0 auto; font-size: 14px; font-weight: 760; min-height: 48px; padding: 10px 16px; }
.bct-tab.is-active { border-color: var(--bct-green); color: var(--bct-text); }
.bct-tab span { color: var(--bct-green); margin-right: 6px; }
.bct-panel { display: none; }
.bct-panel.is-active { display: block; }

.bct-insight-rail { background: rgba(13,29,23,.96); border: 1px solid rgba(67,225,154,.24); border-radius: 17px; box-shadow: 0 15px 42px rgba(0,0,0,.26); display: grid; gap: 0; grid-template-columns: 1.1fr .8fr .9fr; margin-bottom: 9px; position: sticky; top: calc(var(--bct-admin-offset) + 6px); z-index: 80; }
.bct-insight { min-width: 0; padding: 11px 15px; }
.bct-insight + .bct-insight { border-left: 1px solid var(--bct-border); }
.bct-insight-label { align-items: center; color: var(--bct-muted); display: flex; font-size: 11px; font-weight: 780; gap: 2px; letter-spacing: .06em; min-height: 27px; text-transform: uppercase; }
.bct-decision-live strong, .bct-ev-summary > strong, .bct-bet-summary > strong { display: block; font-variant-numeric: tabular-nums; letter-spacing: -.035em; line-height: 1.05; }
.bct-decision-live strong { color: var(--bct-green); font-size: clamp(28px,3vw,44px); }
.bct-insight-rail[data-action-state="surrender"] .bct-decision-live strong, .bct-insight-rail[data-action-state="bust"] .bct-decision-live strong { color: var(--bct-red); }
.bct-insight-rail[data-action-state="double"] .bct-decision-live strong, .bct-insight-rail[data-action-state="split"] .bct-decision-live strong { color: var(--bct-gold); }
.bct-decision-live small, .bct-insight > small { color: var(--bct-muted-strong); display: block; font-size: 12px; margin-top: 3px; }
.bct-source-badge { background: rgba(255,255,255,.055); border-radius: 999px; color: var(--bct-muted-strong); display: inline-flex; font-size: 10px; font-weight: 760; margin-top: 7px; max-width: 100%; padding: 4px 8px; }
.bct-ev-summary > strong { color: var(--bct-blue); font-size: clamp(23px,2.4vw,34px); margin-top: 3px; }
.bct-bet-summary > strong { color: var(--bct-gold); font-size: clamp(23px,2.4vw,34px); margin-top: 3px; }
.bct-bet-summary[data-bet-state="sit_out"] > strong, .bct-bet-summary[data-bet-state="stop"] > strong { color: var(--bct-red); }
.bct-insight-details { border-top: 1px solid var(--bct-border); grid-column: 1/-1; padding: 0 15px 8px; }
.bct-insight-details > summary { align-items: center; color: var(--bct-muted-strong); cursor: pointer; display: flex; font-size: 12px; font-weight: 750; list-style: none; min-height: 44px; padding: 7px 0 5px; }
.bct-insight-details > summary::after { color: var(--bct-green); content: " +"; }
.bct-insight-details[open] > summary::after { content: " −"; }
.bct-insight-details > p { color: var(--bct-muted-strong); font-size: 13px; margin: 5px 0; }
.bct-edge-line { align-items: baseline; display: flex; flex-wrap: wrap; gap: 7px; }
.bct-edge-line b { color: var(--bct-gold); }
.bct-edge-line small { color: var(--bct-muted); }
.bct-ev-comparison { display: grid; gap: 5px; grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 8px; }
.bct-ev-item { background: rgba(255,255,255,.04); border-radius: 8px; display: flex; font-size: 12px; justify-content: space-between; padding: 7px 9px; }
.bct-ev-item.is-best { background: rgba(67,225,154,.1); color: var(--bct-green); }
.bct-fallback, .bct-insurance { border-radius: 8px; font-size: 12px; margin-top: 7px; padding: 7px 9px; }
.bct-fallback { background: rgba(244,189,91,.09); color: #f6cf86; }
.bct-insurance { background: rgba(131,191,255,.09); color: #b7d8ff; }
.bct-insight-rail:has(.bct-insight-details[open]) { position: relative; top: auto; }

.bct-shoe-strip { background: rgba(255,255,255,.025); border: 1px solid var(--bct-border); border-radius: 14px; display: grid; gap: 0; grid-template-columns: repeat(4,minmax(0,1fr)); margin-bottom: 10px; position: relative; }
.bct-shoe-strip > div:not(.bct-progress) { min-width: 0; padding: 9px 12px 12px; }
.bct-shoe-strip > div + div:not(.bct-progress) { border-left: 1px solid var(--bct-border); }
.bct-shoe-strip > div > span { align-items: center; color: var(--bct-muted); display: flex; font-size: 11px; gap: 0; min-height: 25px; }
.bct-shoe-strip > div > b { display: block; font-size: 21px; font-variant-numeric: tabular-nums; }
.bct-shoe-strip > div > small { color: var(--bct-muted); display: block; font-size: 10px; }
.bct-progress { background: rgba(255,255,255,.06); bottom: 0; grid-column: 1/-1; height: 4px; left: 0; overflow: hidden; position: absolute; right: 0; }
.bct-progress > span { background: linear-gradient(90deg,var(--bct-green-dark),var(--bct-green),var(--bct-gold)); display: block; height: 100%; transition: width .18s; }

.bct-play-stage { align-items: start; display: grid; gap: 10px; grid-template-columns: minmax(0,1fr) 340px; }
.bct-blackjack-table { background: #071813; border: 1px solid var(--bct-border); border-radius: 18px; min-width: 0; overflow: hidden; }
.bct-round-bar { align-items: center; color: var(--bct-muted-strong); display: flex; font-size: 12px; gap: 10px; justify-content: space-between; min-height: 46px; padding: 8px 13px; }
.bct-round-bar strong { color: var(--bct-text); }
.bct-bet-lock { background: rgba(244,189,91,.09); border-radius: 999px; color: var(--bct-gold); padding: 5px 9px; }
.bct-table-felt { background: radial-gradient(ellipse at 50% 40%,#146846 0%,var(--bct-felt) 48%,var(--bct-felt-dark) 100%); border: 8px solid #123226; border-radius: 48% 48% 18px 18px / 26% 26% 18px 18px; box-shadow: inset 0 0 0 2px rgba(244,189,91,.22), inset 0 20px 70px rgba(255,255,255,.035); display: grid; gap: 12px; grid-template-rows: auto auto auto; min-height: 520px; overflow: hidden; padding: 22px 18px 13px; position: relative; }
.bct-table-felt::before { border: 1px solid rgba(255,255,255,.09); border-radius: 50%; content: ""; height: 58%; left: 12%; pointer-events: none; position: absolute; right: 12%; top: 16%; }
.bct-seat { align-items: center; background: rgba(4,32,22,.7); border: 1px solid rgba(230,248,239,.15); border-radius: 13px; display: flex; flex-direction: column; min-height: 110px; min-width: 0; padding: 7px; position: relative; transition: border-color .15s, box-shadow .15s, transform .15s; z-index: 1; }
.bct-seat[data-zone-active="true"] { border-color: var(--bct-green); box-shadow: 0 0 0 3px rgba(67,225,154,.15),0 12px 28px rgba(0,0,0,.22); }
.bct-seat[data-zone-active="true"]::after { background: var(--bct-green); border-radius: 999px; color: #032418; content: "KÖVETKEZŐ LAP"; font-size: 8px; font-weight: 900; left: 50%; padding: 3px 6px; position: absolute; top: -9px; transform: translateX(-50%); white-space: nowrap; }
.bct-seat > button, .bct-discard-zone > button { background: transparent; border: 0; color: var(--bct-text); cursor: pointer; min-height: 44px; padding: 2px 5px; text-align: center; width: 100%; }
.bct-seat > button:focus-visible, .bct-discard-zone > button:focus-visible { box-shadow: inset 0 0 0 3px rgba(131,191,255,.88); outline: 0; }
.bct-seat > button b, .bct-seat > button small { display: block; }
.bct-seat > button b { font-size: 12px; }
.bct-seat > button small, .bct-seat output { color: rgba(233,247,240,.68); font-size: 9px; line-height: 1.2; }
.bct-seat output { margin-top: auto; }
.bct-seat-dealer { justify-self: center; min-height: 130px; width: min(290px,42%); }
.bct-seat-own { justify-self: center; min-height: 145px; width: min(340px,48%); }
.bct-seat-own > button b, .bct-seat-dealer > button b { font-size: 14px; }
.bct-other-players { align-items: end; display: grid; gap: 7px; grid-template-columns: repeat(5,minmax(0,1fr)); list-style: none; margin: 0; padding: 0; }
.bct-other-players li { min-width: 0; }
.bct-other-players li:nth-child(1), .bct-other-players li:nth-child(5) { transform: translateY(-22px); }
.bct-other-players li:nth-child(2), .bct-other-players li:nth-child(4) { transform: translateY(-8px); }
.bct-card-fan { align-items: center; display: flex; justify-content: center; min-height: 54px; min-width: 0; padding: 2px; position: relative; width: 100%; }
.bct-playing-card-visual { background: #fbfdfc; border: 0; border-radius: 7px; box-shadow: 0 5px 12px rgba(0,0,0,.23); color: #13241d; flex: 0 0 42px; height: 58px; margin-left: -11px; padding: 7px 5px; position: relative; }
.bct-playing-card-visual:first-child { margin-left: 0; }
.bct-playing-card-visual.is-high { color: #c32f45; }
.bct-playing-card-visual b { display: block; font-size: 16px; line-height: 1; }
.bct-playing-card-visual small { color: #0b8250; display: block; font-size: 7px; margin-top: 8px; }
.bct-card-more { align-items: center; background: #244f3d; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; bottom: 0; color: var(--bct-text); display: inline-flex; font-size: 9px; font-weight: 850; height: 25px; justify-content: center; min-width: 25px; padding: 0 4px; position: absolute; right: 0; z-index: 3; }
.bct-other-players .bct-playing-card-visual { flex-basis: 32px; height: 46px; margin-left: -18px; padding: 5px 3px; }
.bct-other-players .bct-playing-card-visual b { font-size: 12px; }
.bct-other-players .bct-playing-card-visual small { display: none; }
.bct-empty { color: rgba(230,247,239,.72); font-size: 10px; font-style: italic; }
.bct-discard-zone { align-items: center; bottom: 8px; display: flex; position: absolute; right: 10px; z-index: 2; }
.bct-discard-zone > button { background: rgba(4,32,22,.78); border: 1px solid rgba(255,255,255,.12); border-radius: 10px; min-width: 130px; padding: 5px 8px; }
.bct-discard-zone > button b, .bct-discard-zone > button small { display: block; font-size: 9px; }
.bct-discard-zone[data-zone-active="true"] > button { border-color: var(--bct-green); color: var(--bct-green); }
.bct-discard-zone > div { color: rgba(233,247,240,.72); display: block; font-size: 9px; max-width: 150px; overflow: hidden; padding: 0 5px; text-overflow: ellipsis; white-space: nowrap; }

.bct-entry-dock { background: var(--bct-panel); border: 1px solid var(--bct-border); border-radius: 17px; padding: 12px; position: sticky; top: calc(var(--bct-admin-offset) + 220px); z-index: 55; }
.bct-entry-target { text-align: center; }
.bct-entry-target > span { color: var(--bct-muted); font-size: 11px; font-weight: 760; letter-spacing: .05em; text-transform: uppercase; }
.bct-entry-target > div { align-items: center; display: grid; gap: 7px; grid-template-columns: 44px 1fr 44px; margin: 6px 0 1px; }
.bct-entry-target button { background: rgba(255,255,255,.06); border: 1px solid var(--bct-border); border-radius: 10px; color: var(--bct-text); cursor: pointer; font-size: 25px; height: 44px; }
.bct-entry-target b { color: var(--bct-green); font-size: 16px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bct-entry-target small { color: var(--bct-muted); font-size: 10px; }
.bct-actual-bet { background: rgba(255,255,255,.035); border: 1px solid var(--bct-border); border-radius: 10px; margin-top: 8px; padding: 0 8px 8px; }
.bct-actual-bet > summary { align-items: center; color: var(--bct-muted-strong); cursor: pointer; display: flex; font-size: 11px; font-weight: 750; min-height: 44px; }
.bct-actual-bet > div { align-items: end; display: grid; gap: 6px; grid-template-columns: minmax(0,1fr) auto; }
.bct-actual-bet label, .bct-actual-bet > small { color: var(--bct-muted); font-size: 10px; }
.bct-actual-bet input { background: #10271e; border: 1px solid var(--bct-border); border-radius: 8px; color: var(--bct-text); display: block; min-height: 44px; padding: 7px 8px; width: 100%; }
.bct-actual-bet > small { display: block; line-height: 1.4; margin-top: 6px; }
.bct-rank-grid { display: grid; gap: 6px; grid-template-columns: repeat(5,minmax(44px,1fr)); margin-top: 10px; }
.bct-rank, .bct-pad-action { border-radius: 10px; cursor: pointer; min-height: 58px; min-width: 0; padding: 5px 2px; transition: transform .12s,opacity .12s; }
.bct-rank { background: #f8fcfa; border: 2px solid transparent; color: #11231b; }
.bct-rank:hover, .bct-pad-action:hover { transform: translateY(-2px); }
.bct-rank:disabled { cursor: not-allowed; filter: grayscale(1); opacity: .25; transform: none; }
.bct-rank b { display: block; font-size: 17px; line-height: 1; }
.bct-rank span { border-radius: 999px; display: inline-block; font-size: 9px; font-weight: 900; margin-top: 7px; min-width: 25px; padding: 2px 4px; }
.bct-rank-low span { background: #dcf7e8; color: #087541; }
.bct-rank-neutral span { background: #e5ece9; color: #50635b; }
.bct-rank-high { color: #b82b40; }
.bct-rank-high span { background: #ffe1e6; color: #b82b40; }
.bct-rank.is-pressed { animation: bct-press .18s ease; }
@keyframes bct-press { 50% { transform: scale(.91); } }
.bct-pad-action { background: rgba(255,255,255,.055); border: 1px solid var(--bct-border); color: var(--bct-muted-strong); }
.bct-pad-action span, .bct-pad-action b { display: block; }
.bct-pad-action span { font-size: 18px; }
.bct-pad-action b { font-size: 10px; }
.bct-pad-primary { background: var(--bct-green-dark); border-color: transparent; color: #fff; }
.bct-pad-action:disabled { cursor: not-allowed; opacity: .35; transform: none; }
.bct-entry-foot { align-items: center; color: var(--bct-muted); display: flex; font-size: 9px; gap: 8px; justify-content: space-between; margin-top: 9px; }
.bct-save-state::before { color: var(--bct-green); content: "●"; font-size: 7px; margin-right: 4px; }

.bct-settlement { background: var(--bct-panel-2); border: 1px solid rgba(244,189,91,.3); border-radius: 17px; margin-top: 10px; padding: 15px; }
.bct-section-head { align-items: flex-start; display: flex; gap: 12px; justify-content: space-between; }
.bct-section-head h3, .bct-card h3 { font-size: 19px; margin: 4px 0 0; }
.bct-close { background: rgba(255,255,255,.06); border: 1px solid var(--bct-border); border-radius: 10px; color: var(--bct-text); cursor: pointer; height: 44px; width: 44px; }
.bct-result-grid { border: 0; display: grid; gap: 7px; grid-template-columns: repeat(auto-fit,minmax(105px,1fr)); margin: 13px 0 0; min-width: 0; padding: 0; }
.bct-result-grid button { background: rgba(255,255,255,.045); border: 1px solid var(--bct-border); border-radius: 11px; color: var(--bct-text); cursor: pointer; min-height: 58px; padding: 7px; }
.bct-result-grid button:hover { border-color: var(--bct-green); }
.bct-result-grid button:disabled { cursor: not-allowed; opacity: .42; }
.bct-result-grid b, .bct-result-grid small { display: block; }
.bct-result-grid small { color: var(--bct-muted); font-size: 10px; }
.bct-custom-result { align-items: end; display: grid; gap: 8px; grid-template-columns: repeat(2,minmax(0,1fr)) auto; margin-top: 10px; }
.bct-custom-result label { color: var(--bct-muted-strong); flex: 1; font-size: 12px; }
.bct-custom-result input { background: #10271e; border: 1px solid var(--bct-border); border-radius: 9px; color: var(--bct-text); display: block; min-height: 44px; padding: 8px 10px; width: 100%; }
.bct-custom-result label > small { color: var(--bct-muted); display: block; font-size: 9px; line-height: 1.35; margin-top: 4px; }
.bct-visible-confirm { align-items: center; background: rgba(244,189,91,.08); border: 1px solid rgba(244,189,91,.2); border-radius: 10px; color: var(--bct-text); cursor: pointer; display: flex; gap: 10px; margin-top: 10px; min-height: 52px; padding: 7px 10px; }
.bct-visible-confirm[hidden] { display: none; }
.bct-visible-confirm input { flex: 0 0 auto; height: 22px; width: 22px; }
.bct-visible-confirm b, .bct-visible-confirm small { display: block; }
.bct-visible-confirm b { font-size: 12px; }
.bct-visible-confirm small { color: var(--bct-muted); font-size: 10px; line-height: 1.35; }
.bct-unknown-hole { background: rgba(131,191,255,.07); border-color: rgba(131,191,255,.2); }
.bct-settlement-note { color: var(--bct-muted-strong); font-size: 11px; line-height: 1.4; margin: 8px 2px 0; }
.bct-settlement-preview { display: grid; gap: 7px; grid-template-columns: repeat(3,1fr); margin-top: 11px; }
.bct-settlement-preview span { background: rgba(255,255,255,.035); border-radius: 9px; color: var(--bct-muted); font-size: 11px; padding: 8px; }
.bct-settlement-preview b { color: var(--bct-text); display: block; font-size: 14px; }

.bct-detail-grid { display: grid; gap: 9px; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 10px; }
.bct-card { background: var(--bct-panel); border: 1px solid var(--bct-border); border-radius: 15px; padding: 14px; }
.bct-disclosure > summary { align-items: center; cursor: pointer; display: flex; gap: 8px; justify-content: space-between; list-style: none; min-height: 48px; }
.bct-disclosure > summary::-webkit-details-marker { display: none; }
.bct-disclosure > summary > span:first-child { display: flex; flex-direction: column; }
.bct-disclosure > summary > span:first-child b { font-size: 14px; }
.bct-disclosure > summary > span:last-child { color: var(--bct-green); font-size: 11px; }
.bct-bankroll-stats { display: grid; gap: 6px; grid-template-columns: repeat(2,minmax(0,1fr)); padding-top: 9px; }
.bct-bankroll-stats > div { background: rgba(255,255,255,.035); border-radius: 9px; padding: 8px; }
.bct-bankroll-stats span, .bct-bankroll-stats b { display: block; }
.bct-bankroll-stats span { color: var(--bct-muted); font-size: 10px; }
.bct-bankroll-stats b { font-size: 13px; margin-top: 2px; }
.bct-note { background: rgba(131,191,255,.07); border: 1px solid rgba(131,191,255,.13); border-radius: 10px; color: var(--bct-muted-strong); font-size: 12px; line-height: 1.5; margin: 11px 0 0; padding: 10px; }
.bct-toggle-row { align-items: center; display: flex; gap: 12px; justify-content: space-between; min-height: 58px; padding: 7px 0; }
.bct-toggle-row + .bct-toggle-row { border-top: 1px solid var(--bct-border); }
.bct-toggle-row span b, .bct-toggle-row span small { display: block; }
.bct-toggle-row span b { font-size: 13px; }
.bct-toggle-row span small { color: var(--bct-muted); font-size: 11px; }
.bct-hand-context { border: 0; margin: 0; padding: 5px 0 0; }
.bct-switch { align-items: center; cursor: pointer; display: flex; flex: 0 0 auto; min-height: 44px; }
.bct-switch > input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.bct-switch > i { background: #294138; border-radius: 999px; height: 26px; position: relative; transition: .18s; width: 46px; }
.bct-switch > i::after { background: #d8e4df; border-radius: 50%; content: ""; height: 20px; left: 3px; position: absolute; top: 3px; transition: .18s; width: 20px; }
.bct-switch > input:checked + i { background: var(--bct-green-dark); }
.bct-switch > input:checked + i::after { background: #fff; transform: translateX(20px); }
.bct-switch > input:focus-visible + i { outline: 3px solid rgba(131,191,255,.72); outline-offset: 2px; }
.bct-session-row { display: flex; flex-wrap: wrap; gap: 7px; padding: 8px 0; }
.bct-session-row > span { background: rgba(255,255,255,.035); border-radius: 8px; color: var(--bct-muted); font-size: 10px; padding: 6px 8px; }
.bct-session-row b { color: var(--bct-text); }
.bct-history { display: flex; flex-wrap: wrap; gap: 5px; padding-top: 7px; }
.bct-history-chip { align-items: center; background: rgba(255,255,255,.045); border: 1px solid var(--bct-border); border-radius: 8px; color: var(--bct-text); cursor: pointer; display: flex; gap: 4px; min-height: 44px; padding: 5px 8px; }
.bct-history-chip i { color: var(--bct-muted); font-size: 9px; font-style: normal; }
.bct-history-chip span { font-size: 10px; font-weight: 850; }
.bct-history-chip.is-low span { color: var(--bct-green); }
.bct-history-chip.is-high span { color: var(--bct-red); }

.bct-btn { align-items: center; border: 0; border-radius: 10px; cursor: pointer; display: inline-flex; font-weight: 760; justify-content: center; min-height: 44px; padding: 9px 14px; }
.bct-btn-primary { background: var(--bct-green-dark); color: #fff; }
.bct-btn-ghost { background: rgba(255,255,255,.055); border: 1px solid var(--bct-border); color: var(--bct-text); }
.bct-drill-layout { align-items: start; display: grid; gap: 10px; grid-template-columns: minmax(0,1.6fr) minmax(270px,.5fr); }
.bct-drill-stage { min-height: 530px; }
.bct-drill-progress { color: var(--bct-muted); font-size: 12px; }
.bct-flash-wrap { align-items: center; display: flex; justify-content: center; min-height: 300px; }
.bct-flash-card { align-items: flex-start; background: #fbfdfc; border: 6px solid rgba(255,255,255,.4); border-radius: 21px; box-shadow: 0 24px 65px rgba(0,0,0,.34); color: #102019; display: flex; flex-direction: column; height: 240px; justify-content: space-between; padding: 22px; width: 172px; }
.bct-flash-card b { font-size: 50px; line-height: 1; }
.bct-flash-card > span { align-self: flex-end; font-size: 68px; }
.bct-flash-card.is-red { color: #c32f44; }
.bct-flash-card.is-idle { align-items: center; background: rgba(255,255,255,.03); border: 2px dashed rgba(210,237,225,.18); box-shadow: none; color: var(--bct-muted); justify-content: center; }
.bct-flash-card.is-idle > span { align-self: auto; font-size: 50px; }
.bct-drill-controls { display: flex; gap: 8px; justify-content: center; }
.bct-answer-form { margin: 17px auto 0; max-width: 420px; }
.bct-answer-form label { color: var(--bct-muted-strong); display: block; font-size: 13px; margin-bottom: 6px; text-align: center; }
.bct-answer-form > div { display: grid; gap: 7px; grid-template-columns: 1fr auto; }
.bct-answer-form input, .bct-form-grid input, .bct-form-grid select, .bct-drill-settings select { background: #11271e; border: 1px solid var(--bct-border); border-radius: 9px; color: var(--bct-text); min-height: 44px; padding: 8px 10px; width: 100%; }
.bct-drill-result { border-radius: 10px; margin: 12px auto 0; max-width: 420px; padding: 10px; text-align: center; }
.bct-drill-result.is-correct { background: rgba(67,225,154,.1); color: var(--bct-green); }
.bct-drill-result.is-wrong { background: rgba(255,125,139,.1); color: var(--bct-red); }
.bct-drill-result b, .bct-drill-result span { display: block; }
.bct-drill-settings label, .bct-form-grid label { color: var(--bct-muted-strong); display: block; font-size: 12px; font-weight: 680; }
.bct-drill-settings label { margin-top: 13px; }
.bct-drill-settings select, .bct-form-grid input, .bct-form-grid select { margin-top: 5px; }
.bct-drill-stats { display: grid; gap: 6px; grid-template-columns: repeat(3,1fr); margin-top: 14px; }
.bct-drill-stats > div { background: rgba(255,255,255,.035); border-radius: 8px; padding: 8px; }
.bct-drill-stats span, .bct-drill-stats b { display: block; }
.bct-drill-stats span { color: var(--bct-muted); font-size: 9px; }
.bct-drill-stats b { font-size: 14px; }
.bct-settings-grid { align-items: start; display: grid; gap: 10px; grid-template-columns: 1.2fr .8fr; }
.bct-settings-grid > .bct-method-card { grid-column: 1/-1; }
.bct-form-grid { display: grid; gap: 9px; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 12px; }
.bct-field { min-width: 0; }
.bct-label-row { align-items: center; display: flex; justify-content: space-between; min-height: 44px; }
.bct-label-row + input, .bct-label-row + select { margin-top: 0 !important; }
.bct-feature-list { list-style: none; margin: 13px 0 0; padding: 0; }
.bct-feature-list li { border-bottom: 1px solid var(--bct-border); color: var(--bct-muted-strong); font-size: 12px; padding: 9px 0 9px 21px; position: relative; }
.bct-feature-list li::before { color: var(--bct-green); content: "✓"; font-weight: 900; left: 0; position: absolute; }
.bct-feature-list li b { color: var(--bct-text); }

.bct-help-wrap { display: inline-flex; position: relative; vertical-align: middle; }
.bct-help { align-items: center; background: transparent; border: 0; color: var(--bct-muted-strong); cursor: help; display: inline-flex; font-size: 11px; font-weight: 850; height: 44px; justify-content: center; padding: 0; position: relative; width: 44px; z-index: 1; }
.bct-help::before { background: rgba(255,255,255,.07); border: 1px solid var(--bct-border); border-radius: 50%; content: ""; height: 23px; position: absolute; width: 23px; z-index: -1; }
.bct-help:hover { color: var(--bct-green); }
.bct-tooltip { background: #f5faf7; border: 1px solid rgba(0,0,0,.08); border-radius: 10px; bottom: calc(100% + 4px); box-shadow: 0 16px 42px rgba(0,0,0,.38); color: #173028; font-size: 12px; font-weight: 540; left: 50%; line-height: 1.45; max-width: calc(100vw - 24px); opacity: 0; padding: 10px 11px; pointer-events: none; position: absolute; text-align: left; text-transform: none; transform: translateX(calc(-50% + var(--bct-tooltip-shift,0px))) translateY(4px); transition: opacity .12s,transform .12s; visibility: hidden; white-space: normal; width: 280px; z-index: 400; }
.bct-help-wrap:hover .bct-tooltip, .bct-help-wrap:focus-within .bct-tooltip, .bct-help-wrap.is-open .bct-tooltip { opacity: 1; pointer-events: auto; transform: translateX(calc(-50% + var(--bct-tooltip-shift,0px))); visibility: visible; }

.bct-footer { color: #849a90; display: flex; flex-wrap: wrap; font-size: 10px; gap: 8px 16px; justify-content: center; padding: 16px 8px 0; }
.bct-toast { background: #f3faf6; border-radius: 10px; bottom: max(16px,env(safe-area-inset-bottom)); box-shadow: 0 16px 50px rgba(0,0,0,.4); color: #10241b; font-size: 13px; font-weight: 760; left: 50%; max-width: min(90%,430px); opacity: 0; padding: 10px 14px; pointer-events: none; position: fixed; transform: translate(-50%,14px); transition: .16s; z-index: 999999; }
.bct-toast.is-visible { opacity: 1; transform: translate(-50%,0); }
.bct-toast.is-warning { background: #fff0cf; color: #583d00; }
.bct-toast.is-success { background: #def8e9; color: #086037; }

@container bct (max-width: 1100px) {
  .bct-play-stage { grid-template-columns: minmax(0,1fr) 310px; }
  .bct-table-felt { min-height: 490px; }
  .bct-discard-zone { bottom: auto; grid-column: 1/-1; position: static; right: auto; width: 100%; }
  .bct-discard-zone > button { min-height: 44px; min-width: 0; width: 100%; }
  .bct-discard-zone > div { max-width: 100%; text-align: center; width: 100%; }
  .bct-settings-grid { grid-template-columns: 1fr; }
  .bct-settings-grid > .bct-method-card { grid-column: auto; }
  .bct-form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@container bct (max-width: 840px) {
  .bct-shell { border-radius: 18px; padding: 13px; }
  .bct-appbar { align-items: flex-start; }
  .bct-brand p { font-size: 12px; }
  .bct-engine-pill { display: none; }
  .bct-insight-rail { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .bct-insight { padding: 9px 10px; }
  .bct-play-stage, .bct-drill-layout { grid-template-columns: 1fr; }
  .bct-entry-dock { bottom: max(7px,env(safe-area-inset-bottom)); position: sticky; top: auto; }
  .bct-detail-grid { grid-template-columns: 1fr; }
  .bct-table-felt { min-height: 460px; }
}

@container bct (max-width: 560px) {
  .bct-app { margin: 7px auto; }
  .bct-shell { border-left: 0; border-radius: 0; border-right: 0; padding: 8px; }
  .bct-brand h2 { font-size: 24px; }
  .bct-brand p { display: none; }
  .bct-appbar-status { gap: 4px; }
  .bct-tabs { margin-top: 10px; }
  .bct-tab { font-size: 11px; min-height: 44px; padding: 7px 10px; }
  .bct-insight-rail { border-radius: 12px; grid-template-columns: repeat(2,minmax(0,1fr)); position: relative; top: auto; }
  .bct-play-decision { grid-column: 1/-1; }
  .bct-insight { min-height: 82px; padding: 7px 9px; }
  .bct-insight-label { font-size: 10px; min-height: 30px; }
  .bct-insight .bct-help { height: 44px; width: 44px; }
  .bct-insight .bct-help::before { height: 21px; width: 21px; }
  .bct-decision-live strong { font-size: clamp(21px,6vw,29px); }
  .bct-decision-live small, .bct-insight > small { font-size: 10px; line-height: 1.25; }
  .bct-source-badge { font-size: 10px; margin-top: 4px; overflow: hidden; padding: 3px 5px; text-overflow: ellipsis; white-space: nowrap; }
  .bct-ev-summary > strong, .bct-bet-summary > strong { font-size: clamp(18px,5vw,24px); margin-top: 3px; overflow-wrap: anywhere; }
  .bct-insight-details { padding: 0 9px 5px; }
  .bct-insight-details > summary { min-height: 44px; }
  .bct-ev-comparison { grid-template-columns: repeat(2,1fr); }
  .bct-shoe-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bct-shoe-strip > div:nth-child(3) { border-left: 0 !important; border-top: 1px solid var(--bct-border); }
  .bct-shoe-strip > div:nth-child(4) { border-top: 1px solid var(--bct-border); }
  .bct-shoe-strip > div:not(.bct-progress) { padding: 5px 8px 8px; }
  .bct-shoe-strip > div > span { font-size: 9px; min-height: 23px; }
  .bct-shoe-strip > div > b { font-size: 17px; }
  .bct-round-bar { flex-wrap: wrap; font-size: 10px; min-height: 44px; padding: 6px 8px; }
  .bct-bet-lock { flex: 1 0 100%; max-width: none; overflow: hidden; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
  .bct-table-felt { border-width: 5px; border-radius: 40% 40% 14px 14px / 13% 13% 14px 14px; gap: 7px; min-height: 430px; padding: 14px 5px 8px; }
  .bct-seat { border-radius: 9px; min-height: 82px; padding: 3px; }
  .bct-seat-dealer { min-height: 98px; width: 48%; }
  .bct-seat-own { min-height: 108px; width: 58%; }
  .bct-seat > button { min-height: 44px; padding: 1px; }
  .bct-seat > button b { font-size: 9px; }
  .bct-seat > button small, .bct-seat output { font-size: 10px; line-height: 1.15; }
  .bct-other-players { gap: 3px; }
  .bct-other-players li:nth-child(1), .bct-other-players li:nth-child(5) { transform: translateY(-11px); }
  .bct-other-players li:nth-child(2), .bct-other-players li:nth-child(4) { transform: translateY(-4px); }
  .bct-seat[data-zone-active="true"]::after { display: none; }
  .bct-card-fan { min-height: 39px; }
  .bct-playing-card-visual { flex-basis: 31px; height: 44px; margin-left: -12px; padding: 5px 3px; }
  .bct-playing-card-visual b { font-size: 12px; }
  .bct-playing-card-visual small { display: none; }
  .bct-other-players .bct-playing-card-visual { flex-basis: 24px; height: 34px; margin-left: -17px; }
  .bct-other-players .bct-playing-card-visual b { font-size: 9px; }
  .bct-discard-zone { bottom: auto; grid-column: 1/-1; position: static; right: auto; width: 100%; }
  .bct-discard-zone > button { min-height: 44px; min-width: 0; padding: 3px; width: 100%; }
  .bct-discard-zone > button b { font-size: 10px; }
  .bct-entry-dock { border-radius: 13px; padding: 8px; }
  .bct-entry-target > div { margin-top: 3px; }
  .bct-entry-target b { font-size: 14px; }
  .bct-entry-target > small, .bct-entry-foot > span:first-child { display: none; }
  .bct-actual-bet > div { grid-template-columns: 1fr; }
  .bct-rank-grid { gap: 5px; margin-top: 7px; }
  .bct-rank, .bct-pad-action { min-height: 52px; }
  .bct-rank b { font-size: 15px; }
  .bct-rank span { font-size: 8px; margin-top: 5px; }
  .bct-entry-foot { justify-content: center; margin-top: 5px; }
  .bct-result-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bct-result-grid button:last-child { grid-column: 1/-1; }
  .bct-custom-result { align-items: stretch; grid-template-columns: 1fr; }
  .bct-settlement-preview { grid-template-columns: 1fr; }
  .bct-form-grid { grid-template-columns: 1fr; }
  .bct-footer { align-items: flex-start; flex-direction: column; }
  .bct-tooltip { position: fixed; width: min(280px,calc(100vw - 20px)); }
}

@container bct (max-width: 330px) {
  .bct-shell { padding: 6px; }
  .bct-insight { padding: 5px; }
  .bct-decision-live strong { font-size: 19px; }
  .bct-ev-summary > strong, .bct-bet-summary > strong { font-size: 17px; }
  .bct-table-felt { min-height: 370px; }
  .bct-rank-grid { gap: 4px; grid-template-columns: repeat(5,minmax(44px,1fr)); }
}

@media (max-width: 600px) {
  .bct-rank-grid { grid-template-columns: repeat(5,minmax(44px,1fr)); }
  .bct-play-stage, .bct-drill-layout, .bct-settings-grid { grid-template-columns: 1fr; }
}

@media (max-width: 900px) and (max-height: 700px) {
  .bct-insight-rail { position: relative; top: auto; }
  .bct-entry-dock { bottom: auto; position: relative; }
}

@media (max-width: 782px) {
  body.admin-bar .bct-app { --bct-admin-offset: 46px; }
}

@media (prefers-reduced-motion: reduce) {
  .bct-app *, .bct-app *::before, .bct-app *::after { animation-duration: .01ms !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
