/* Table-first training room. Geometry and colors remain live CSS components. */
.table-stage .felt.formation-table { margin-top: 65px; margin-bottom: 70px; }
.table-stage .felt.multi-seat-table { width: min(88%, 900px); min-height: 340px; }
.table-stage .formation-table .seat { min-width: 0; width: 126px; }
.table-stage .formation-table .seat strong, .table-stage .formation-table .seat small { padding: 7px 8px; font-size: 11px; }
.table-stage .formation-table .folded-seat { width: 82px; opacity: .48; pointer-events: none; }
.table-stage .formation-table .folded-seat small { font-size: 9px; }
.table-stage .formation-table .table-watermark { display: none; }
@media(max-width:600px) {
  .table-stage .felt.multi-seat-table { width: 85%; min-height: 390px; }
  .table-stage .formation-table .seat { width: 98px; }
  .table-stage .formation-table .seat strong, .table-stage .formation-table .seat small { padding: 5px; font-size: 10px; }
  .table-stage .formation-table .seat .card, .table-stage .formation-table .back-cards span { width: 29px; height: 42px; }
  .table-stage .formation-table .folded-seat { width: 64px; }
  .table-stage .formation-table .folded-seat small { display: none; }
  .table-stage .formation-table .folded-seat strong { text-align: center; grid-column: 1 / -1; border-radius: 6px; border-right: 1px solid #ffffff21; }
}
.home-mode .trainer-only { display: none; }
.app-shell.trainer-mode {
  grid-template-areas: "main data";
  grid-template-columns: minmax(0, 1fr) 330px;
  grid-template-rows: minmax(0, 1fr);
  height: 100dvh;
  overflow: hidden;
}
.app-shell.trainer-mode.analysis-closed { grid-template-columns: minmax(0, 1fr); grid-template-areas: "main"; }
.trainer-mode.analysis-closed .rightbar { display: none; }
.trainer-mode .sidebar { display: none; }
.trainer-mode .sidebar > .brand { display: none; }
.trainer-mode .settings-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; position: sticky; top: -16px; z-index: 5; padding: 8px 0; background: #101214; flex-shrink: 0; }
.settings-panel-head .button { min-height: 40px; }
.trainer-mode.options-open .sidebar {
  display: flex; position: fixed; z-index: 30; top: 76px; left: 16px; bottom: 16px;
  width: min(340px, calc(100vw - 32px)); border: 1px solid var(--accent-line);
  border-radius: 14px; box-shadow: 0 20px 80px #000c; background: #101214;
}
.trainer-mode #packsPanel { display: none; }
.trainer-mode .rightbar { padding: 16px; gap: 16px; background: #0f1113; }
.trainer-mode .sidebar, .trainer-mode .rightbar { overflow-y: auto; }
.trainer-mode .trainer { min-height: 0; }
.trainer-mode .rightbar .panel { background: #141719; box-shadow: none; border-color: #ffffff0a; }
.trainer-mode .rightbar .panel { container-type: inline-size; }
.trainer-mode .rightbar .strategy-grid-169 { grid-template-columns: repeat(13, minmax(0, 1fr)); gap: 1px; padding: 3px; }
.trainer-mode .rightbar .strategy-cell { min-height: 0; aspect-ratio: 1; border-radius: 2px; font-size: clamp(7px, 2.8cqw, 10px); }
.trainer-mode .rightbar .strategy-cell label { padding: 1px; }
.trainer-mode .rightbar .strategy-cell-count { display: none; }
.trainer-mode .trainer { background: radial-gradient(ellipse at 50% 35%, #151c19, #0b0c0e 70%); }
.trainer-mode .topbar, .trainer-mode .topbar.preflop-active {
  padding: 18px 26px; background: #0d0f10; border-bottom: 1px solid var(--line); box-shadow: none;
}
.trainer-mode .topbar h2#handTitle { font-size: 19px; color: var(--text); }
.trainer-mode #spotLine { color: var(--accent-text); font-size: 10px; letter-spacing: .05em; }
.trainer-mode .top-actions { flex-wrap: wrap; gap: 6px; }
.trainer-mode .top-actions .button { min-height: 36px; font-size: 11px; padding: 8px 12px; }
.trainer-mode #startBtn { display: none; }
.trainer-mode .table-stage {
  display: flex; flex-direction: column; align-items: center; justify-content: flex-start;
  gap: 12px; padding: 20px 34px 24px; overflow: auto; min-height: 0;
}
/* Review content must keep its natural height inside the scrolling column. */
.trainer-mode .table-stage > * { flex-shrink: 0; }
.table-stage .adv-progress { width: 100%; max-width: 760px; margin: 0; }
.table-stage .feedback { margin: 0; min-width: 0; }
.table-stage .feedback:empty { display: none; }
.table-stage .decision-feedback { min-width: 0; }
.table-stage .decision-main { overflow-wrap: anywhere; }
.table-stage .review-actions { flex-wrap: wrap; justify-content: center; }
.table-toolbar { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.table-phase { color: var(--accent-text); font-size: 11px; font-weight: 700; letter-spacing: .04em; }
.table-phase::before { content: ''; display: inline-block; width: 6px; height: 6px; margin-right: 8px; border-radius: 50%; background: var(--accent); }
.playback-controls { display: flex; gap: 7px; align-items: center; color: var(--muted); font-size: 11px; }
.playback-controls select { background: #16191b; color: var(--text); border: 1px solid var(--line); border-radius: 6px; padding: 7px; }
.playback-controls .button { padding: 6px 10px; min-height: 31px; font-size: 11px; }
.watch-switch { display: flex; background: #ffffff06; border: 1px solid var(--line); border-radius: 7px; padding: 3px; }
.watch-switch button { color: var(--muted); background: transparent; border: 0; border-radius: 4px; padding: 6px 9px; font-size: 11px; cursor: pointer; }
.watch-switch button[aria-pressed="true"] { color: var(--accent-text); background: #d9a4411c; }
.solution-context { display: grid; gap: 10px; padding: 12px; margin-bottom: 12px; background: #ffffff05; border: 1px solid var(--line); border-radius: 8px; }
.solution-context-heading { display: flex; justify-content: space-between; gap: 8px; font-size: 11px; }
.solution-context-heading > span { color: var(--muted); }
.solution-context-cards { display: flex; align-items: center; gap: 9px; }
.solution-context-cards > span { display: inline-flex; flex-shrink: 0; }
.solution-card-divider { width: 1px; height: 22px; background: var(--line); }
#previousSolution .strategy-cell { cursor: default; opacity: 1; }
.table-stage .action-trail { width: 100%; min-height: 27px; padding: 0; justify-content: center; background: none; border: 0; flex-shrink: 0; }
.table-stage .trail-pill { font-size: 10px; background: #ffffff05; border-color: #ffffff0a; }
.table-stage .felt {
  flex: 0 0 auto; width: min(92%, 1000px, max(530px, calc((100dvh - 720px) * 1.95))); aspect-ratio: 1.95; min-height: 270px;
  height: auto; margin: 46px auto 44px; border: 16px solid #171c19; border-radius: 44% / 48%;
  background: radial-gradient(ellipse at 48% 30%, #174632, #0b3022 58%, #061b14 100%);
  box-shadow: 0 0 0 1px #ffffff08, 0 0 0 9px #0b0d0c, 0 0 0 10px #ffffff05,
    0 24px 45px #0009, inset 0 0 0 2px #ffffff07, inset 0 0 60px #0009;
}
.table-stage .felt::before { inset: 6% 5%; border-radius: 44% / 48%; border-color: #d9a44112; }
@media(min-width:601px) {
  .trainer-mode .table-stage:has(#advProgress:not(.hidden)) { gap: 8px; }
  .table-stage .adv-progress { padding: 8px 10px; }
  .table-stage .adv-prog-head { font-size: 13px; margin-bottom: 5px; }
  .table-stage .adv-prog-board { font-size: 11px; margin-bottom: 5px; }
  .table-stage .adv-prog-row { gap: 5px; }
  .table-stage .adv-prog-chip { min-width: 80px; padding: 4px 8px; border-radius: 7px; }
  .table-stage .adv-prog-chip .apc-val { font-size: 12px; }
  .table-stage:has(#advProgress:not(.hidden)) .decision-bar { gap: 8px; }
  .table-stage:has(#advProgress:not(.hidden)) .action-button { min-height: 48px; padding: 8px 10px; }
  /* Legacy packs have no formation metadata, but need the same quiz space. */
  .table-stage:has(#advProgress:not(.hidden)) .felt {
    width: min(92%, 660px, calc(clamp(240px, 100dvh - 650px, 300px) * 1.95));
    min-height: 240px; margin-top: 42px; margin-bottom: 36px;
  }
  /* Reserve room for the question and choices, even on a wide, short window. */
  .table-stage .felt.formation-table {
    width: min(85%, 760px, calc(clamp(220px, 100dvh - 510px, 360px) * 1.95));
    min-height: 220px; margin-top: 42px; margin-bottom: 46px;
  }
  .table-stage:has(#advProgress:not(.hidden)) .felt.formation-table {
    width: min(85%, 660px, calc(clamp(210px, 100dvh - 650px, 300px) * 1.95));
    min-height: 210px;
  }
}
.table-watermark { position: absolute; top: 48%; left: 78%; transform: translate(-50%, -50%); color: #ffffff09; white-space: nowrap; font-size: clamp(10px, 1.5cqw, 15px); letter-spacing: .12em; font-weight: 800; pointer-events: none; }
.table-watermark span { font-weight: 400; }
.table-stage .seat { display: grid; grid-template-columns: auto auto; align-items: center; gap: 0; min-width: 144px; }
.table-stage .seat .cards { grid-column: 1 / -1; justify-content: center; margin: 0 0 -5px; z-index: 0; gap: 4px; }
.table-stage .seat strong, .table-stage .seat small {
  min-width: 0; margin: 0; padding: 11px 13px; background: #0d1012; border: 1px solid #ffffff21;
  position: relative; z-index: 1; font-size: 12px; line-height: 17px;
}
.table-stage .seat strong { text-align: left; border-radius: 8px 0 0 8px; border-right: 0; }
.table-stage .seat small { text-align: right; border-radius: 0 8px 8px 0; border-left: 0; color: #b8c1bb; font-size: 11px; }
.table-stage .seat.hero { bottom: -39px; }
.table-stage .seat.villain { top: -57px; }
.table-stage .seat.hero strong, .table-stage .seat.hero small { border-color: #d9a44175; }
.table-stage .seat.to-act strong, .table-stage .seat.to-act small { background: #252014; border-color: var(--accent); }
.table-stage .seat.to-act strong, .table-stage .seat.last-aggressor strong { box-shadow: none; }
.table-stage .seat.replay-actor strong, .table-stage .seat.replay-actor small { border-color: #78b395; background: #1b2b24; }
.table-stage .seat .card, .table-stage .back-cards span { width: clamp(34px, 5.8cqw, 56px); height: clamp(47px, 7.6cqw, 74px); border-radius: clamp(5px, 1cqw, 9px); }
.table-stage .back-cards span { border: 1px solid #a6b9e8; background: repeating-linear-gradient(45deg, #ffffff14 0 1px, transparent 1px 5px), linear-gradient(135deg, #536faa, #25365d); box-shadow: inset 0 0 0 2px #ffffff12, 0 2px 5px #0006; }
.analysis-class-scheme { display: grid; gap: 6px; margin: 12px 0; font-size: 11px; color: var(--muted); }
.analysis-class-scheme select { width: 100%; min-width: 0; font-size: 12px; }
.analysis-class-error { color: var(--bad); font-size: 12px; }
.table-stage .card { width: clamp(35px, 6.8cqw, 64px); height: clamp(50px, 9.4cqw, 89px); border-radius: clamp(5px, 1cqw, 9px); }
.table-stage .board { top: 48%; gap: 6px; }
.table-stage .pot { top: calc(48% - clamp(25px, 4.7cqw, 44.5px) - 28px); left: 50%; transform: translateX(-50%); padding: 0; background: none; border: 0; font-family: inherit; font-size: 12px; color: #d1ded5; white-space: nowrap; }
.table-stage .pot-chips { top: calc(48% + clamp(25px, 4.7cqw, 44.5px) + 10px); left: 50%; transform: translateX(-50%); display: flex; align-items: center; gap: 7px; white-space: nowrap; font-size: 12px; font-weight: 700; color: #d1ded5; }
.table-stage .chip { width: clamp(18px, 2.5cqw, 27px); }
.table-stage .chip-stack { padding: 1px 1px 5px; }
.table-stage .chip-stack .chip { margin-left: -3px; }
.table-stage .chip-stack .chip:first-child { margin-left: 0; }
.table-stage .pot-chips, .table-stage .wager-display .chip-display { font-family: var(--table-font); font-weight: 700; }
/* Frequency occupies the revealed action card, on every screen size. */
.actions .action-button.frequency-revealed {
  position: relative; overflow: hidden; isolation: isolate;
  background: #20262c; color: #fff; opacity: 1;
  border: 1px solid #ffffff24; text-shadow: 0 1px 3px #000c;
}
.actions .action-button.frequency-revealed::before {
  content: ''; position: absolute; inset: 0 auto 0 0;
  width: var(--action-frequency); background: var(--action-fill-color);
  pointer-events: none; z-index: -1;
}
.frequency-revealed .action-content { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; min-width: 0; text-align: left; }
.table-stage .wager-display { position: absolute; z-index: 3; width: max-content; min-height: 20px; transform: translateY(-50%); }
.table-stage .villain-wager { top: 14%; left: 68%; }
.table-stage .formation-table:not(.multi-seat-table) .villain-wager { left: 77%; }
.table-stage .hero-wager { top: 84%; left: 68%; }
.table-stage .wager-display .chip-display { position: static; width: max-content; white-space: nowrap; font-size: 11px; font-variant-numeric: tabular-nums; gap: 6px; }
.table-stage .wager-display .chip-display > * { flex-shrink: 0; }
.table-stage .table-action-badge { font-size: 10px; padding: 5px 9px; background: #0b1410cc; }
.table-stage .wager-display .table-action-badge { position: static; width: max-content; white-space: nowrap; transform: none; }
.table-stage .dealer-button { left: 34%; bottom: 3%; width: 23px; height: 23px; font-size: 11px; }
.table-stage .dealer-button.villain-side { top: 3%; bottom: auto; }
.table-stage .decision-bar { display: flex; flex-direction: column; max-width: 760px; gap: 15px; padding: 0; margin: 0; background: none; border: 0; flex-shrink: 0; }
.table-stage .rng { width: auto; height: 28px; padding: 0 0 0 38px; font-size: 21px; background: none; border: 0; color: var(--accent); }
.table-stage .rng::before { top: 9px; left: 0; font-size: 9px; }
.table-stage .actions { gap: 10px; grid-template-columns: repeat(auto-fit, minmax(124px, 1fr)); }
.table-stage .action-button {
  min-height: 62px; padding: 10px 14px; border-radius: 10px; border: 1px solid #ffffff1f;
  box-shadow: inset 0 1px #ffffff10, 0 8px 18px -10px #000d;
  font-family: var(--table-font); font-weight: 700; font-size: clamp(13px, 2cqw, 17px);
  letter-spacing: .01em; text-transform: uppercase; line-height: 1.1;
}
.table-stage .action-fold { background: linear-gradient(#1f252d, #15191f); border-color: #4c7fd070; }
.table-stage .action-check, .table-stage .action-call { background: linear-gradient(#1d3327, #131f19); border-color: #4fbd7570; }
.table-stage .action-bet, .table-stage .action-raise, .table-stage .action-allin { border-color: #ffffff2e; }
.table-stage .action-button:hover:not(:disabled) { filter: brightness(1.15); transform: translateY(-1px); }
.table-stage .feedback { width: 100%; max-width: 760px; min-height: 32px; padding: 8px 12px; font-size: 12px; text-align: center; box-shadow: none; }
.table-stage .review-actions { margin: 0; flex-shrink: 0; }
.table-stage .time-bank-bar { width: min(100%, 760px); margin: 0; }
.table-stage.is-replaying .decision-bar, .table-stage.is-replaying #advProgress { opacity: .3; pointer-events: none; }
.table-stage.is-replaying .rng { visibility: hidden; }
.table-stage.is-replaying .decision-bar, .table-stage.is-replaying #advProgress { visibility: hidden; }
.table-stage.is-replaying .review-actions { visibility: hidden; }
.table-stage.is-loading .decision-bar,
.table-stage.is-loading .time-bank-bar,
.table-stage.is-loading .review-actions { visibility: hidden; pointer-events: none; }
.table-stage.is-replaying .board .card { animation: deal-card 280ms ease-out both; }
.table-stage.is-replaying .board .card:nth-child(2) { animation-delay: 40ms; }
.table-stage.is-replaying .board .card:nth-child(3) { animation-delay: 80ms; }
.table-stage .chip-display.chip-arrive { animation: chip-arrive 300ms ease-out; }
.table-stage .felt.gathering .chip-display { opacity: 0; transform: translateY(25px); transition: opacity 200ms, transform 250ms; }
.table-stage .felt.gathering .hero-chips { transform: translateY(-25px); }
.session-details { margin-top: 10px; }
.session-details summary { cursor: pointer; color: var(--muted); font-size: 10px; padding: 6px 0; }
.trainer-mode .stats-panel .stat-grid span { font-size: 20px; }
.trainer-mode .stats-panel .stat-grid > div { padding: 7px; }
@keyframes deal-card { from { opacity: 0; transform: translateY(-15px) scale(.95); } to { opacity: 1; transform: none; } }
@keyframes chip-arrive { from { opacity: 0; } to { opacity: 1; } }
.routine-days { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(290px, 100%), 1fr)); align-items: start; }
.routine-day .rd-head, .routine-day .rd-title { flex-wrap: wrap; }
.routine-day .rd-head { display: flex; flex-direction: column; align-items: stretch; gap: 10px; }
.routine-day .rd-name { min-width: 0; width: 120px; }
.routine-day .rd-actions { flex-wrap: wrap; }
.routine-day .re-head { flex-wrap: wrap; }
.routine-day .re-head strong { overflow-wrap: anywhere; }
.routine-day .re-config, .routine-day .re-actions { flex-wrap: wrap; }
.routine-day .re-config .re-line { width: 130px; }
@media (min-width: 1700px) { .app-shell.trainer-mode:not(.analysis-closed) { grid-template-columns: minmax(0, 1fr) 380px; } }
@media (max-width: 1000px) {
  .app-shell.trainer-mode { grid-template-columns: minmax(0, 1fr); grid-template-areas: "main"; }
  .trainer-mode .rightbar { display: none; }
  .trainer-mode.analysis-open .rightbar { display: flex; position: fixed; z-index: 25; top: 105px; right: 12px; bottom: 12px; width: min(380px, calc(100vw - 24px)); border: 1px solid var(--line-2); border-radius: 12px; box-shadow: 0 20px 80px #000c; }
}
@media (max-width: 600px) {
  .trainer-mode .topbar, .trainer-mode .topbar.preflop-active { padding: 12px; display: flex; flex-direction: column; align-items: stretch; gap: 10px; }
  .trainer-mode .topbar h2#handTitle { font-size: 16px; }
  .trainer-mode .top-actions { justify-content: space-between; }
  .trainer-mode .top-actions .button { min-height: 44px; padding: 8px 10px; }
  .trainer-mode .table-stage { padding: 12px 14px 20px; gap: 10px; }
  .table-toolbar { gap: 8px; flex-wrap: wrap; }
  .table-phase { font-size: 10px; }
  .playback-controls select, .playback-controls .button { min-height: 44px; }
  .watch-switch button { min-height: 38px; }
  .table-stage .felt { width: 94%; min-height: 270px; height: clamp(270px, 38dvh, 340px); aspect-ratio: auto; border-width: 11px; margin: 48px 0 49px; border-radius: 43% / 30%; }
  .table-stage .felt::before { border-radius: 43% / 30%; }
  .table-stage .board { gap: 4px; }
  .table-stage .board .card { width: 36px; height: 54px; padding: 5px; }
  .table-stage .card .rank { font-size: 20px; }
  .table-stage .card .suit { font-size: 16px; }
  .table-stage .pot { top: calc(48% - 53px); }
  .table-stage .pot-chips { top: calc(48% + 37px); }
  .table-watermark { display: none; }
  .table-stage .villain-wager, .table-stage .hero-wager { left: 68%; }
  .table-stage .side-wager-lower { --side-wager-top: 60%; }
  .table-stage .side-wager-upper { --side-wager-top: 36%; }
  .table-stage .multi-seat-table .hero-wager { --hero-wager-top: 70%; }
  .table-stage .formation-table:not(.multi-seat-table) .villain-wager { top: 22%; }
  .table-stage .actions { grid-template-columns: repeat(auto-fit, minmax(90px, 1fr)); gap: 6px; }
  .table-stage .action-button { min-height: 56px; padding: 8px 10px; font-size: 13px; }
  .table-stage .decision-bar { padding-bottom: env(safe-area-inset-bottom, 0px); }
  .trainer-mode.options-open .sidebar, .trainer-mode.analysis-open .rightbar { top: 140px; }
  .home-view.library-mode .library-row.is-routine .lr-btn { min-height: 44px; }
}
/* A centered, compact evaluation replaces the duplicated disabled action cards. */
.trainer-mode .table-stage:has(.decision-feedback) { gap: 7px; padding-top: 12px; padding-bottom: 16px; }
.table-stage:has(.decision-feedback) .decision-bar,
.table-stage:has(.decision-feedback) .time-bank-bar { display: none; }
.table-stage:has(.decision-feedback) .feedback { order: 1; max-width: 860px; padding: 12px 16px; text-align: left; }
.table-stage:has(.decision-feedback) .feedback::before { display: none; }
.table-stage:has(.decision-feedback) .review-actions { order: 2; }
.table-stage:has(.decision-feedback) .decision-main { font-size: 14px; }
.table-stage:has(.feedback-solver-details) .adv-progress { max-width: 860px; padding: 8px 12px; text-align: center; }
.table-stage:has(.feedback-solver-details) .adv-prog-head { display: inline-block; font-size: 12px; margin: 0 10px 6px 0; }
.table-stage:has(.feedback-solver-details) .adv-prog-board { display: inline-block; font-size: 11px; margin-bottom: 6px; }
.table-stage:has(.feedback-solver-details) .adv-prog-row { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 5px; }
.table-stage:has(.feedback-solver-details) .adv-prog-chip { min-width: 0; padding: 5px 7px; border-radius: 6px; overflow-wrap: anywhere; }
.table-stage:has(.feedback-solver-details) .apc-val { font-size: 12px; }
@media (max-width: 1250px) {
  .table-stage:has(.feedback-solver-details) .adv-prog-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .table-stage:has(.decision-feedback) .feedback { padding: 10px; }
  .table-stage:has(.feedback-solver-details) .adv-prog-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
  .table-stage *, .table-stage *::before { animation: none !important; transition: none !important; }
}


/* Result cards share the action-button footprint and wrap in the same order. */
.table-stage:has(.feedback-solver-details) .feedback { max-width: 760px; padding: 0; border: 0; background: none; }
.table-stage .feedback-solver-details { grid-template-columns: repeat(auto-fit, minmax(124px, 1fr)); gap: 10px; margin: 0; padding: 0; border: 0; }
/* One line per result: action on the left, frequency and EV on the right, in
   the same face and weight as the action buttons they replace. */
/* Each card is its own container: a narrow card stacks the action over its
   centred frequency and EV; a card with room reads action left, numbers right. */
.table-stage .fsd-row {
  container-type: inline-size; display: block; min-width: 0; min-height: 62px; box-sizing: border-box; padding: 0;
  border: 1px solid #ffffff1f; border-radius: 10px; background: #1a1f24; box-shadow: inset 0 1px #ffffff0c; font-family: var(--table-font);
}
.table-stage .fsd-body { display: grid; grid-template-columns: auto auto; justify-content: center; align-items: center; align-content: center; gap: 4px 14px; height: 100%; min-height: 60px; padding: 9px 11px; }
.table-stage .fsd-action { grid-column: 1 / -1; grid-row: 1; min-width: 0; justify-content: center; white-space: normal; text-align: center; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .01em; line-height: 1.2; gap: 6px; }
.table-stage .fsd-label { min-width: 0; overflow-wrap: anywhere; }
.table-stage .fsd-marker:empty { display: none; }
.table-stage .fsd-freq { grid-column: 1; grid-row: 2; text-align: right; font-family: var(--table-font); font-size: 13px; font-weight: 700; }
.table-stage .fsd-ev { grid-column: 2; grid-row: 2; text-align: left; white-space: nowrap; font-family: var(--table-font); font-size: 12px; font-weight: 600; color: #d3dae0; }
@container (min-width: 300px) {
  .table-stage .fsd-body { grid-template-columns: minmax(0, 1fr) auto auto; justify-content: stretch; gap: 10px; }
  .table-stage .fsd-action { grid-column: 1; grid-row: 1; justify-content: flex-start; text-align: left; }
  .table-stage .fsd-freq { grid-column: 2; grid-row: 1; }
  .table-stage .fsd-ev { grid-column: 3; grid-row: 1; text-align: right; }
}
.table-stage .fsd-row.best, .table-stage .fsd-row.accepted { border-color: #10b98180; background: #10b98112; }
.table-stage .fsd-row.chosen:not(.accepted) { border-color: #e35d5d99; background: #e35d5d12; }
.table-stage .fsd-row .fsd-marker:not(:empty) { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 18px; width: 18px; height: 18px; border: 1px solid #ffffff80; border-radius: 50%; box-sizing: border-box; background: #17232c; color: #fff; text-shadow: none; }
.table-stage .fsd-marker svg { display: block; width: 14px; height: 14px; }
.table-stage .fsd-row.accepted .fsd-marker { background: #073e30; color: #fff; border-color: #98efd0; }
.table-stage .fsd-row.chosen:not(.accepted) .fsd-marker { background: #651f2b; color: #fff; border-color: #ffb5bc; }
@media(max-width:600px) {
  .table-stage .feedback-solver-details { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 6px; }
  .table-stage .fsd-row { min-height: 56px; }
  .table-stage .fsd-body { gap: 3px 10px; padding: 8px 10px; min-height: 54px; }
  .table-stage .fsd-action { font-size: 12px; line-height: 14px; }
  .table-stage .fsd-freq { font-size: 12px; }
  .table-stage .fsd-ev { font-size: 11px; }
  .frequency-revealed .action-content { flex-wrap: wrap; justify-content: center; }
  .table-stage:has(.decision-feedback) .felt { margin-top: 28px; margin-bottom: 38px; }
}

.table-stage .fsd-row { position: relative; isolation: isolate; overflow: hidden; }
.table-stage .fsd-row::before { content: ''; position: absolute; inset: 0 auto 0 0; width: var(--action-frequency, 0%); background: var(--action-fill-color); opacity: .68; z-index: -1; pointer-events: none; }
.table-stage .fsd-body > span { position: relative; color: #fff; text-shadow: none; }
