/* Isolated study workspace; the live table and its seat geometry stay untouched. */
.coach-utilities #open-preflop-workbook { grid-column: 1 / -1; min-height: 42px; display: flex; justify-content: space-between; align-items: center; text-align: start; padding: 10px 14px; border-color: #654c30; color: #edcc96; background: #1c1812; }
#open-preflop-workbook span { font-size: 11px; opacity: .7; }
.preflop-workbook { position: fixed; inset: 0; width: min(1180px, calc(100vw - 40px)); max-width: none; height: min(920px, calc(100dvh - 40px)); max-height: none; margin: auto; padding: 0; border: 1px solid #454039; border-radius: 14px; color: #eeeae3; background: #111210; box-shadow: 0 24px 100px #000a; font-family: var(--font-sans, sans-serif); color-scheme: dark; overflow: hidden; }
.preflop-workbook::backdrop { background: #040505d9; backdrop-filter: blur(5px); }
.preflop-workbook[open] { display: flex; flex-direction: column; }
.preflop-workbook *, .preflop-workbook *::before, .preflop-workbook *::after { box-sizing: border-box; }
.preflop-workbook button, .preflop-workbook select { font: inherit; color: inherit; cursor: pointer; }
.preflop-workbook button:disabled { opacity: .4; cursor: not-allowed; }
.preflop-workbook button:focus-visible, .preflop-workbook select:focus-visible, .preflop-workbook summary:focus-visible { outline: 2px solid #f4d29b; outline-offset: 3px; }
.pf-header { display: flex; justify-content: space-between; align-items: center; flex-shrink: 0; padding: 21px 28px; border-bottom: 1px solid #4f2b2c; background: #181716; gap: 16px; }
.pf-header span { color: #caae84; font-size: 10px; letter-spacing: 2px; }
.pf-header h2 { margin: 6px 0 0; font-size: 23px; letter-spacing: -.5px; }
.pf-header button, .pf-mode-bar button { padding: 10px 16px; background: #24241f; border: 1px solid #57503f; border-radius: 6px; font-size: 13px; }
#preflop-content { overflow-y: auto; overscroll-behavior: contain; min-height: 0; padding: 22px 28px 28px; }
.pf-intro p { margin: 0 0 7px; font-size: 12px; line-height: 1.7; color: #999e96; }
.pf-intro p:first-child { font-size: 14px; color: #e7dfcf; }
.pf-filters { display: grid; grid-template-columns: 100px 180px minmax(200px,1fr) 130px; gap: 12px; margin: 22px 0 18px; }
.pf-filters label { min-width: 0; font-size: 11px; color: #a8aca3; }
.pf-filters select { display: block; width: 100%; margin-top: 8px; padding: 12px 10px; border: 1px solid #3d4136; background: #1b1e18; border-radius: 5px; font-size: 13px; }
.pf-filters select:disabled { opacity: .45; cursor: default; }
.pf-mode-bar { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 18px; padding-block: 14px; border-block: 1px solid #30322c; }
.pf-mode-bar p { margin: 0; color: #cfcbbf; font-size: 13px; }
.pf-mode-bar > div { display: flex; gap: 8px; flex-shrink: 0; }
.pf-workspace { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 26px; }
.pf-range-panel, .pf-answer-panel { min-width: 0; }
.pf-section-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 40px; }
.pf-section-title h3 { font-size: 16px; margin: 0; }
.pf-section-title > span { color: #d5bf92; font-size: 16px; }
.pf-section-title small { color: #989f91; font-size: 10px; }
.pf-legend { display: flex; gap: 12px; flex-wrap: wrap; font-size: 10px; color: #858a7f; padding: 10px 0; }
.pf-hand-picker { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #adb59f; font-size: 12px; margin-top: 10px; }.pf-hand-picker select { width: 120px; background: #242a1f; border: 1px solid #535c46; padding: 8px 10px; border-radius: 4px; font: 16px var(--font-mono,monospace); }
.pf-text-raise { color: #e4be80; }.pf-text-call { color: #8acba9; }.pf-text-fold { color: #a8afa0; }
.pf-matrix { display: grid; grid-template-columns: repeat(13,minmax(0,1fr)); gap: 3px; }
.pf-matrix .pf-cell { aspect-ratio: 1; padding: 0; border: 1px solid #2b2f25; border-radius: 3px; background: #1c211a; font-family: var(--font-mono, monospace); font-size: clamp(10.5px, 1vw, 13px); letter-spacing: -.6px; color: #88927f; }
.pf-matrix .pf-raise { background: #56412b; color: #ffe0aa; border-color: #705434; }
.pf-matrix .pf-call { background: #244235; color: #b2e3c9; border-color: #36614b; }
.pf-matrix .pf-outside, .pf-matrix .pf-unavailable, .pf-matrix .pf-walk { color: #73796d; background: #181b16; }
.pf-matrix .is-selected { outline: 2px solid #f8f4e8; outline-offset: 0; position: relative; z-index: 1; }
.pf-matrix button:hover { filter: brightness(1.3); }
.pf-answer-panel { padding-inline-start: 24px; border-inline-start: 1px solid #33372f; }
.pf-selected-hand { font: 30px var(--font-mono,monospace); color: #f9eed9; }
.pf-position-context { color: #a7b39e; font-size: 12px; line-height: 1.7; }
.pf-verdict { border-inline-start: 3px solid #8b9680; background: #1d2419; padding: 16px 18px; margin: 18px 0 12px; }
.pf-verdict.pf-raise { border-color: #d5ac6b; background: #2a2319; }
.pf-verdict.pf-call { border-color: #75b693; background: #19291f; }
.pf-verdict > span { display: block; color: #adb5a5; font-size: 11px; margin-bottom: 5px; }
.pf-verdict > strong { font-size: 24px; line-height: 1.4; }
.pf-verdict p { margin: 6px 0 0; font-size: 14px; color: #d8c8a9; }
.pf-reason { color: #dbdfd3; font-size: 13px; line-height: 1.9; }
.preflop-workbook h4 { margin: 18px 0 7px; font-size: 13px; }
.pf-caption, .pf-branches > p { font-size: 11px; line-height: 1.85; color: #9ca591; margin: 10px 0; }
.pf-money { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin: 16px 0; }
.pf-money div { padding: 10px 0; border-block: 1px solid #30372a; }
.pf-money dt { font-size: 10px; color: #939d88; }.pf-money dd { font: 16px var(--font-mono,monospace); margin: 6px 0 0; color: #e3e9db; }
.pf-branches h3 { font-size: 13px; margin: 20px 0 8px; }
.pf-table-scroll { max-width: 100%; overflow-x: auto; }
.preflop-workbook table { border-collapse: collapse; width: 100%; font-size: 11px; line-height: 1.7; text-align: start; }
.preflop-workbook th { color: #939b88; font-weight: 400; }
.preflop-workbook th, .preflop-workbook td { padding: 10px 8px; border-bottom: 1px solid #30372a; text-align: start; }
.preflop-workbook table button { background: none; border: 0; border-bottom: 1px dotted #807047; padding: 2px 0; font-family: var(--font-mono,monospace); color: #e0c794; }
.pf-overview td:first-child { white-space: nowrap; }.pf-overview td:nth-child(2) { max-width: 660px; min-width: 180px; line-height: 2; }
.pf-quiz-cover { min-height: 330px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; border: 1px dashed #585a48; background: #1a2116; padding: 24px; }
.pf-quiz-cover > span { font-size: 12px; color: #a5b396; }.pf-quiz-cover > strong { font: 72px var(--font-mono,monospace); margin: 28px 0; color: #f2e7d0; }.pf-quiz-cover p { font-size: 12px; color: #bfcbb2; line-height: 1.6; }
.pf-quiz-actions { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin: 20px 0; }.pf-quiz-actions button { border: 1px solid #645d47; border-radius: 5px; background: #28281d; padding: 15px 8px; font-size: 13px; }
.pf-quiz-feedback { border: 1px solid #7b3b43; padding: 10px; font-size: 13px; color: #eeb0b6; }.pf-quiz-feedback.is-correct { border-color: #3c7354; color: #a6deba; }
.pf-score { display: flex; align-items: center; gap: 12px; border-top: 1px solid #30372a; margin-top: 20px; padding-top: 16px; font-size: 11px; color: #8f9a81; }.pf-score strong { margin-inline-start: auto; font-size: 18px; color: #ece7d7; }
.pf-detail { border-top: 1px solid #35392e; margin-top: 18px; padding-top: 16px; }.pf-detail summary { cursor: pointer; font-size: 13px; padding: 2px 0 8px; color: #d9d8ca; }.pf-detail p, .pf-detail li { color: #aab49e; font-size: 12px; line-height: 1.9; }.pf-detail ul { padding-inline-start: 20px; }.pf-detail li { margin-block: 8px; }
.pf-range-list > div { display: flex; gap: 5px; flex-wrap: wrap; }.pf-range-list .pf-hand-pill { font: 12px var(--font-mono,monospace); padding: 7px 9px; border-radius: 3px; border: 1px solid #424937; background: #252c1e; color: #d5ddc8; }
.pf-constraint { padding: 18px; margin-top: 22px; background: #1b2017; border: 1px solid #3b4431; border-radius: 6px; }.pf-constraint label { display: flex; gap: 10px; align-items: center; cursor: pointer; font-size: 13px; }.pf-constraint input { width: 18px; height: 18px; accent-color: #c49f65; flex-shrink: 0; }.pf-constraint p { font-size: 11px; line-height: 1.8; color: #9da990; margin: 10px 0 0; }#pf-storage-notice:empty { display: none; }
.pf-sources { display: flex; gap: 10px 18px; flex-wrap: wrap; font-size: 10px; color: #868e7c; line-height: 1.7; margin-top: 22px; }.pf-sources a { color: #c0ad87; }
.pf-filters { margin-bottom: 8px; }
.pf-text-check { color: #a6cce7; }
.pf-matrix .pf-check { background: #233945; border-color: #385868; color: #b5dbef; }
.pf-action-line { margin: 18px 0; padding: 16px 18px; border: 1px solid #3e4036; border-radius: 6px; background: #181c17; }
.pf-action-line h3 { font-size: 12px; color: #b6bcaa; margin: 0 0 12px; font-weight: 500; }
.pf-action-line ol { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 0; list-style: none; }
.pf-action-line li { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; font-size: 11px; background: #22271f; border: 1px solid #343b2e; border-radius: 4px; padding: 8px; }
.pf-action-line li b { color: #ece5d3; }.pf-action-line li span { color: #b0b9a6; }.pf-action-line li strong { font-weight: 500; color: #dbc297; font-variant-numeric: tabular-nums; }
.pf-action-line li.is-hero { border-color: #847048; }.pf-action-line li.pf-your-turn { border-color: #af8850; background: #332b1c; }.pf-action-line li.pf-your-turn span { color: #f3d19e; }
.pf-action-line p { font-size: 11px; color: #9aa38e; line-height: 1.8; margin: 12px 0 0; }
.pf-catalog { margin-top: 12px; }.pf-catalog table { min-width: 560px; }.pf-catalog th:first-child { width: 28%; }.pf-catalog td:nth-child(2) { width: 49%; }.pf-catalog th small { display: block; color: #a08762; margin-bottom: 3px; }.pf-catalog th span { color: #d9decf; }.pf-catalog .is-current { background: #22281c; }.pf-catalog-score { white-space: nowrap; font-variant-numeric: tabular-nums; }
.pf-catalog table button { white-space: nowrap; font: inherit; border: 1px solid #645736; padding: 7px 10px; border-radius: 4px; }
.pf-glossary { margin: 12px 0; }.pf-glossary dt { font-size: 13px; color: #dcc79b; margin-top: 18px; }.pf-glossary dd { margin: 7px 0 0; color: #aab49e; font-size: 12px; line-height: 1.9; }
.pf-caution { border-inline-start: 2px solid #9b7d43; padding: 8px 12px; background: #262218; color: #dbc18d; font-size: 12px; line-height: 1.85; }
.pf-study-focus, .pf-profile { border-top: 1px solid #3b4134; margin-top: 18px; padding-top: 15px; }
.pf-study-focus label, .pf-profile label { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; color: #d0c8b4; font-size: 12px; }
.pf-study-focus select, .pf-profile select { min-width: 0; max-width: 100%; border: 1px solid #444c39; border-radius: 5px; background: #22271d; padding: 10px; font-size: 13px; }
.pf-study-focus p, .pf-profile p { font-size: 12px; color: #aab49e; line-height: 1.85; margin: 10px 0; }.pf-profile small { font-size: 10px; color: #a99672; line-height: 1.8; display: block; }
.pf-matrix .pf-cell.is-outside-focus { opacity: .25; }
.pf-quiz-feedback { border: 2px solid #aa4d5b; border-radius: 6px; background: #2d191d; color: #ffd4d9; padding: 16px; margin: 18px 0; scroll-margin-block: 18px; }
.pf-quiz-feedback.is-correct { border-color: #4f9e71; background: #192d21; color: #c3f0d0; }
.pf-quiz-feedback > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; }.pf-quiz-feedback > div > strong { font-size: 20px; }.pf-quiz-feedback p { font-size: 13px; line-height: 1.9; margin: 12px 0 0; }.pf-quiz-feedback small { display: block; font-size: 10px; line-height: 1.7; margin-top: 10px; opacity: .8; }
.pf-quiz-feedback button { border: 1px solid currentColor; background: transparent; border-radius: 4px; color: inherit; padding: 8px 10px; white-space: nowrap; font-size: 12px; }.pf-quiz-feedback:focus { outline: none; }.pf-quiz-feedback:focus-visible { outline: 2px solid #f4d29b; outline-offset: 4px; }
.pf-quiz-actions button:disabled { opacity: 1; color: #909486; border-color: #3b4134; background: #1d2318; }
.pf-quiz-actions button.is-correct { border-color: #62af81; background: #234130; color: #c3f0d0; }.pf-quiz-actions button.is-wrong { border-color: #af5968; background: #45242d; color: #ffd4d9; }
.pf-quiz-cover { min-height: 280px; }.pf-workspace.is-quiz { scroll-margin-block: 12px; }
.pf-quiz-cover .pf-action-line { width: 100%; text-align: start; margin: 16px 0 0; }.pf-quiz-cover .pf-action-line p { font-size: 10px; }
@media (max-width: 760px) {
  .preflop-workbook { width: 100vw; height: 100dvh; border-radius: 0; border: 0; }
  .pf-header { padding: 15px 16px; }.pf-header h2 { font-size: 19px; }#preflop-content { padding: 16px; }
  .pf-filters { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px 10px; }.pf-filters select { font-size: 12px; }
  .pf-workspace { grid-template-columns: minmax(0,1fr); gap: 20px; }.pf-answer-panel { padding: 18px 0 0; border-inline-start: 0; border-top: 1px solid #39412f; }
  .pf-matrix { gap: 2px; }.pf-matrix .pf-cell { font-size: clamp(8px,2.3vw,13px); letter-spacing: -.8px; min-width: 0; }
  .pf-mode-bar { align-items: flex-start; flex-direction: column; }.pf-mode-bar button { padding: 9px 13px; }
  .pf-mode-bar > div { flex-wrap: wrap; flex-shrink: 1; }.pf-mode-bar button { min-height: 42px; }
  .pf-quiz-cover { min-height: 150px; padding: 16px; }.pf-quiz-cover > strong { margin: 10px 0; font-size: 48px; }.pf-quiz-cover p { margin: 4px 0; }
  .pf-workspace.is-quiz { gap: 12px; }.pf-workspace.is-quiz .pf-answer-panel { padding-top: 12px; }
  .pf-quiz-feedback { padding: 13px; }.pf-quiz-feedback > div > strong { font-size: 18px; }.pf-quiz-actions button { font-size: 12px; min-height: 48px; }
  .pf-action-line { padding: 13px; }.pf-action-line ol { gap: 6px; }.pf-action-line li { font-size: 10px; padding: 7px; gap: 5px; }
}
@media (prefers-reduced-motion: reduce) { .preflop-workbook * { scroll-behavior: auto; } }
