/* Atelier Bluffy : contrôles natifs, aucune boucle de rendu. */
:root {
  color-scheme:dark;
  --bg:#0b0c0e;
  --panel:#141619;
  --raised:#1c1e22;
  --text:#f2f1ec;
  --muted:#aaa99f;
  --line:#303237;
  --accent:#dccba0;
  --gold:#d3a44c;
  --ink:#17150f;
  --play:#c8cfad;
  --mix:#b79861;
  --focus:#f1ce7d;
  --ease:cubic-bezier(.22,1,.36,1);
  font:15px/1.65 'Almarai',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
* {
  box-sizing:border-box;
}
html {
  scroll-padding-top:90px;
}
body {
  margin:0;
  background:var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
}
button,input,select,textarea {
  font:inherit;
}
a {
  color:inherit;
  text-underline-offset:4px;
}
button,summary {
  cursor:pointer;
}
button {
  min-height:44px;
  border:1px solid var(--line);
  background:var(--raised);
  color:var(--text);
  border-radius:9px;
  padding:10px 15px;
  font-weight:700;
  transition:transform 140ms var(--ease);
}
button:disabled {
  cursor:not-allowed;
  opacity:.48;
}
button:active:not(:disabled) {
  transform:scale(.98);
}
button.primary,.button.primary {
  background:var(--accent);
  color:var(--ink);
  border-color:var(--accent);
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  padding:12px 22px;
  min-height:48px;
  border-radius:99px;
  text-decoration:none;
  font-size:14px;
  font-weight:800;
}
.text-link {
  text-decoration:none;
  font-size:14px;
  font-weight:700;
  display:inline-flex;
  align-items:center;
  gap:18px;
  min-height:44px;
}
.text-link:hover {
  text-decoration:underline;
}
:focus-visible {
  outline:2px solid var(--focus);
  outline-offset:4px;
}
button:focus-visible {
  z-index:3;
}
.skip {
  position:fixed;
  left:16px;
  top:-100px;
  z-index:100;
  background:var(--accent);
  color:var(--ink);
  padding:12px 20px;
}
.skip:focus {
  top:12px;
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
[hidden] {
  display:none!important;
}
.site-header {
  max-width:1360px;
  margin:auto;
  min-height:86px;
  padding:20px 40px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:1px solid #ffffff0d;
  gap:24px;
}
.brand {
  display:inline-flex;
  align-items:center;
  gap:8px;
  text-decoration:none;
  font-size:24px;
  font-weight:800;
  letter-spacing:-1px;
}
.brand img {
  width:30px;
  height:30px;
  object-fit:contain;
}
.brand small {
  font-size:10px;
  font-weight:400;
  letter-spacing:2px;
  border-left:1px solid var(--line);
  padding-left:15px;
  margin-left:10px;
  color:var(--muted);
}
.site-header nav {
  display:flex;
  align-items:center;
  gap:30px;
  font-size:13px;
}
.site-header nav a {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  text-decoration:none;
  color:var(--muted);
}
.site-header nav a:hover {
  color:var(--text);
}
.site-header .header-tool {
  color:var(--text);
  border:1px solid var(--line);
  border-radius:99px;
  padding:7px 17px;
  gap:18px;
}
main {
  max-width:1280px;
  margin:auto;
  padding:0 32px;
}
h1,h2,h3,p {
  margin-top:0;
}
h1 {
  font-size:clamp(38px,4.5vw,62px);
  line-height:1.05;
  letter-spacing:-2.4px;
  font-weight:800;
  margin:23px 0;
}
h1 em {
  font-family:'Instrument Serif',Georgia,serif;
  color:#d5d1bc;
  font-weight:400;
  letter-spacing:-1.8px;
  line-height:1.1;
}
h2 {
  font-size:clamp(25px,2.7vw,34px);
  letter-spacing:-1px;
  line-height:1.2;
  margin-bottom:12px;
}
h3 {
  font-size:17px;
  line-height:1.45;
  margin:0 0 15px;
}
p {
  margin-bottom:18px;
}
.eyebrow {
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--accent);
  font-size:10px;
  letter-spacing:2px;
  font-weight:700;
  margin-bottom:12px;
}
.status-dot {
  width:6px;
  height:6px;
  display:inline-block;
  background:var(--gold);
  border-radius:50%;
  box-shadow:0 0 12px #d3a44c66;
}
.muted {
  color:var(--muted);
  font-size:13px;
}
.lead {
  font-size:16px;
  line-height:1.8;
  color:var(--muted);
}
.study-hero {
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:36px;
  padding:46px 0 28px;
  min-height:408px;
}
.hero-copy {
  padding-bottom:10px;
}
.hero-actions {
  display:flex;
  gap:27px;
  align-items:center;
  flex-wrap:wrap;
}
.hero-footnote {
  color:var(--muted);
  font-size:11px;
  margin:15px 0 0;
}
/* Repère six-max illustratif : jamais l'état d'une partie en cours. */
.table-study {
  position:relative;
  min-width:0;
  background:radial-gradient(ellipse at 55% 50%,#d3a44c0d,transparent 69%);
}
.scene-topline,.scene-caption {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  font-size:10px;
  color:var(--muted);
}
.scene-topline {
  letter-spacing:1.7px;
  padding:0 20px;
}
.scene-topline button {
  font-size:10px;
  font-weight:400;
  padding:4px 12px;
  min-height:32px;
  background:transparent;
  border-radius:99px;
  letter-spacing:0;
}
.scene-topline button[aria-pressed=true] {
  color:var(--accent);
  border-color:var(--accent);
}
.poker-scene {
  height:280px;
  position:relative;
  perspective:900px;
  isolation:isolate;
}
.table-plane {
  position:absolute;
  inset:15% 7% 12%;
  border-radius:50%;
  padding:10px;
  background:linear-gradient(135deg,#797367,#272828 28%,#46423a 65%,#99907b);
  transform:rotateX(34deg) rotateZ(-7deg);
  box-shadow:0 9px #292724,0 13px #191919,0 25px 35px #000a;
  transform-style:preserve-3d;
  transition:transform 240ms var(--ease);
}
.felt {
  position:relative;
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  border-radius:50%;
  border:2px solid #a2926b5c;
  background:radial-gradient(ellipse at 40% 20%,#2e3532,#171e1c 80%);
  box-shadow:inset 0 3px 16px #000b;
}
.felt:before {
  content:'';
  position:absolute;
  inset:12px;
  border:1px solid #d3a44c26;
  border-radius:50%;
}
.felt>span {
  position:absolute;
  top:23px;
  color:#a89d7d66;
  font-size:11px;
  line-height:1.4;
  text-align:center;
  letter-spacing:4px;
}
.felt small {
  font-size:5px;
  letter-spacing:2px;
}
.dealer {
  position:absolute;
  bottom:27%;
  right:17%;
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  background:#d9d5c8;
  color:#23241e;
  border-radius:50%;
  font-size:11px;
  font-weight:800;
  font-style:normal;
  box-shadow:1px 3px #88857b;
}
.study-cards {
  position:absolute;
  top:35%;
  left:39%;
  display:flex;
  transform:rotate(-9deg);
  perspective:600px;
  pointer-events:none;
}
.playing-card {
  height:103px;
  width:71px;
  background:linear-gradient(125deg,#fffefa,#d4d1c7);
  color:#20241f;
  border-radius:7px;
  padding:7px 10px;
  font:700 24px/1.1 Georgia,serif;
  box-shadow:0 2px #b2b0a5,0 4px #e7e3d6,0 13px 22px #0008;
  transform:rotateY(-13deg) rotateZ(-8deg);
  border:1px solid #f1ede3;
}
.playing-card>span {
  display:block;
  font-size:28px;
  margin-top:15px;
  text-align:center;
}
.playing-card.second {
  margin-left:-13px;
  margin-top:7px;
  transform:rotateY(-13deg) rotateZ(13deg);
}
.playing-card.red {
  color:#a33437;
}
.seat {
  position:absolute;
  min-width:74px;
  min-height:48px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border:1px solid #4b4b42;
  background:linear-gradient(#272a29,#151918);
  border-radius:9px;
  box-shadow:0 5px 12px #0006;
  font-size:12px;
  line-height:1.5;
  z-index:2;
}
.seat small {
  font-size:8px;
  font-weight:400;
  color:#b5b5a9;
}
.seat[aria-pressed=true] {
  background:var(--accent);
  color:var(--ink);
  border-color:#eee0bb;
  box-shadow:0 0 0 4px #dccba015,0 6px 15px #0008;
}
.seat[aria-pressed=true] small {
  color:#453e2c;
}
.seat-ep {
  left:8%;
  top:13%;
}
.seat-mp {
  left:43%;
  top:5%;
}
.seat-co {
  right:4%;
  top:20%;
}
.seat-btn {
  right:7%;
  bottom:9%;
}
.seat-sb {
  left:43%;
  bottom:0;
}
.seat-bb {
  left:3%;
  bottom:17%;
}
.scene-caption {
  padding:13px 20px 0;
  color:var(--accent);
  font-size:11px;
}
.scene-caption span+span {
  color:var(--muted);
}
.scene-note {
  font-size:10px;
  margin:8px 20px 0;
  color:var(--muted);
}
.session-note {
  border:0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:none;
  border-radius:0;
  margin:14px 0 0;
  padding:0;
  color:var(--muted);
  font-size:12px;
}
.session-note summary {
  display:flex;
  align-items:center;
  gap:7px;
  min-height:48px;
  padding:7px 0;
  font-weight:400;
  list-style:none;
}
.session-note summary::-webkit-details-marker {
  display:none;
}
.session-note summary strong {
  font-weight:700;
  color:var(--text);
}
.session-note summary small {
  margin-left:auto;
  font-size:11px;
}
.session-note summary:after {
  content:'+';
  margin-left:12px;
  font-size:19px;
  color:var(--accent);
}
.session-note[open] summary:after {
  content:'−';
}
.note-icon {
  display:grid;
  place-items:center;
  border:1px solid var(--muted);
  border-radius:50%;
  width:15px;
  height:15px;
  font:11px Georgia,serif;
  margin-right:4px;
}
.session-note>div {
  max-width:950px;
  padding:6px 24px 0;
}
.session-note p {
  margin-bottom:14px;
}
.tabs {
  position:sticky;
  top:0;
  z-index:10;
  display:flex;
  gap:32px;
  align-items:center;
  min-height:70px;
  background:var(--bg);
  border-bottom:1px solid var(--line);
}
.tabs a {
  display:flex;
  align-items:center;
  gap:10px;
  min-height:70px;
  color:var(--muted);
  text-decoration:none;
  font-weight:700;
  font-size:13px;
  border-bottom:2px solid transparent;
  padding:0 2px;
  white-space:nowrap;
}
.tabs a span {
  font-size:10px;
  font-weight:400;
  color:#969588;
}
.tabs a[aria-current] {
  color:var(--accent);
  border-bottom-color:var(--accent);
}
section {
  padding:46px 0 50px;
  scroll-margin-top:10px;
  border-bottom:1px solid var(--line);
}
.section-head {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
}
.section-intro {
  font-size:13px;
  color:var(--muted);
  max-width:860px;
  line-height:1.75;
}
.badge {
  font-size:10px;
  letter-spacing:1px;
  border:1px solid var(--line);
  border-radius:99px;
  padding:7px 12px;
  white-space:nowrap;
  color:var(--muted);
}
.badge span {
  margin:0 7px;
  color:#888;
}
.fields {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin:12px 0;
}
label {
  display:block;
  font-size:11px;
  color:var(--muted);
  line-height:1.6;
}
select,input,textarea {
  display:block;
  width:100%;
  max-width:100%;
  border:1px solid #393b3e;
  border-radius:7px;
  background:#111315;
  color:var(--text);
  min-height:44px;
  padding:10px 12px;
  font-size:13px;
  margin-top:7px;
}
select {
  padding-right:22px;
  text-overflow:ellipsis;
}
textarea {
  resize:vertical;
}
input::placeholder,textarea::placeholder {
  color:#91918a;
}
input[readonly] {
  border-color:transparent;
  background:#25272b;
  font-weight:700;
}
input[type=file] {
  font-size:12px;
}
input[type=file]::file-selector-button {
  background:var(--accent);
  border:0;
  border-radius:4px;
  padding:7px;
  color:var(--ink);
  margin-right:10px;
}
.range-filters {
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:12px;
  padding:18px 22px;
  margin:22px 0 16px;
}
.range-source-guide {
  border:1px solid #6e5b37;
  border-radius:12px;
  background:linear-gradient(120deg,#242016,#151719 68%);
  margin:18px 0;
}
.range-source-guide > summary {
  padding:13px 18px;
  color:var(--accent);
  font-weight:700;
}
.range-source-content {
  border-top:1px solid #514630;
  padding:0 18px 16px;
  font-size:13px;
}
.range-source-content nav {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.range-source-content nav a {
  display:flex;
  align-items:center;
  min-height:48px;
  padding:9px 12px;
  border:1px solid #6e5b37;
  border-radius:8px;
  color:var(--accent);
  font-weight:700;
  text-decoration:none;
}
.range-source-content nav a:hover,.range-source-content nav a:focus-visible {
  background:#33291a;
}
.range-source-limit {
  color:var(--muted);
}
@media(max-width:820px) {
  .range-source-content nav {
    grid-template-columns:1fr;
  }
}
.filter-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:13px;
  font-weight:700;
}
.filter-heading button {
  font-size:11px;
  padding:4px 0;
  min-height:28px;
  background:transparent;
  border:0;
  color:var(--muted);
  text-decoration:underline;
  text-underline-offset:3px;
}
.range-filters .fields:last-child {
  margin-bottom:3px;
}
.panel {
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:10px;
  padding:20px;
  margin:16px 0;
}
.panel p:last-child {
  margin-bottom:0;
}
#range-info .panel {
  border:0;
  border-left:2px solid #a58c57;
  border-radius:0;
  background:none;
  padding:2px 0 2px 16px;
  margin:20px 0;
}
#range-info strong {
  font-size:15px;
}
#range-info p {
  font-size:12px;
  color:var(--muted);
  margin:5px 0;
}
#range-info .range-provenance {
  margin-top:7px;
  padding:0;
  background:none;
  border:0;
}
#range-info .range-provenance summary {
  font-size:11px;
  font-weight:400;
  padding:0;
  color:var(--muted);
  min-height:28px;
}
.metrics {
  display:flex;
  gap:24px;
  padding:0 0 16px;
  margin-bottom:8px;
  flex-wrap:wrap;
}
.metric {
  border-right:1px solid var(--line);
  padding-right:24px;
  min-width:100px;
}
.metric:last-child {
  border:0;
}
.metric small {
  display:block;
  font-size:10px;
  color:var(--muted);
}
.metric strong {
  display:block;
  font-size:27px;
  font-weight:400;
  line-height:1.5;
  font-variant-numeric:tabular-nums;
  letter-spacing:-1px;
}
.range-workspace {
  display:grid;
  grid-template-columns:minmax(0,1fr) 280px;
  gap:24px;
  align-items:start;
}
.matrix-panel {
  min-width:0;
  border:1px solid var(--line);
  background:var(--panel);
  padding:20px;
  border-radius:12px;
}
.matrix-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:15px;
}
.matrix-heading h3 {
  margin:0;
  font-size:14px;
}
.matrix-heading button {
  font-size:10px;
  min-height:32px;
  padding:3px 9px;
  font-weight:400;
  background:transparent;
}
.grid-scroll {
  overflow:auto;
  padding:4px;
  margin:-4px;
  border-radius:4px;
  scrollbar-color:#686650 #1b1e20;
  overscroll-behavior-x:contain;
}
.range-grid {
  display:grid;
  grid-template-columns:repeat(13,minmax(0,1fr));
  gap:3px;
  min-width:0;
}
.range-grid button {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:3px 0;
  min-width:0;
  min-height:43px;
  border:1px solid #383b3d;
  border-radius:4px;
  background:#25282b;
  color:#aaaeb0;
  line-height:1.2;
  font-size:12px;
  font-weight:700;
  transition:none;
  font-family:'Almarai',sans-serif;
  position:relative;
}
.range-grid button small {
  display:block;
  font-size:8px;
  font-weight:400;
  line-height:1.4;
  margin-top:2px;
}
.range-grid button.play {
  background:var(--play);
  color:#1c251b;
  border-color:#c8cfad;
}
.range-grid button.mix {
  background:var(--mix);
  color:#211b10;
  border-color:#cfb278;
}
.range-grid button[aria-pressed=true] {
  outline:2px solid #fff3c9;
  outline-offset:1px;
  z-index:1;
  box-shadow:inset 0 0 0 2px #1b2117;
}
.range-grid button:focus-visible {
  outline:3px solid #fff;
  outline-offset:1px;
  z-index:3;
}
.range-grid button:active {
  transform:none;
}
.grid-scroll.is-zoomed .range-grid {
  min-width:690px;
}
.grid-scroll.is-zoomed button {
  min-height:48px;
}
.grid-legend {
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  font-size:10px;
  color:var(--muted);
  margin:18px 0 8px;
}
.grid-legend span {
  display:flex;
  align-items:center;
  gap:6px;
}
.grid-legend i {
  display:inline-block;
  width:8px;
  height:8px;
  border-radius:2px;
}
.legend-play {
  background:var(--play);
}
.legend-mix {
  background:var(--mix);
}
.legend-fold {
  background:#45494c;
}
.matrix-help {
  font-size:11px;
  color:var(--muted);
  line-height:1.7;
  margin:0;
}
.hand-inspector {
  position:sticky;
  top:94px;
  padding:23px 20px;
  background:linear-gradient(140deg,#26261f,#161819 55%);
  border:1px solid #4c493a;
  border-radius:12px;
}
.hand-inspector .eyebrow {
  font-size:9px;
  letter-spacing:1.5px;
}
#hand-editor.panel {
  border:0;
  background:none;
  padding:0;
  margin:0;
}
#hand-editor h3 {
  font-size:18px;
}
#hand-editor .fields {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
#hand-editor .muted,.inspector-note {
  font-size:11px;
  color:var(--muted);
  line-height:1.7;
}
.inspector-note {
  padding-top:16px;
  margin-top:20px;
  border-top:1px solid var(--line);
}
#open-copy {
  font-size:12px;
  width:100%;
  margin-top:6px;
  padding:10px;
}
.library-tools {
  margin-top:24px;
}
details {
  margin:10px 0;
  border:1px solid var(--line);
  border-radius:9px;
  padding:0 18px;
  background:var(--panel);
  font-size:13px;
}
summary {
  padding:14px 0;
  min-height:48px;
  font-size:13px;
  font-weight:700;
  color:var(--text);
}
details[open] {
  padding-bottom:18px;
}
details p {
  color:var(--muted);
}
details details {
  background:none;
}
details form>button {
  margin-top:12px;
}
.owner-note {
  font-size:11px;
  margin:22px 0 0;
}
#range-status:empty {
  display:none;
}
#range-status {
  color:var(--accent);
  border-left:2px solid var(--accent);
  padding-left:12px;
  margin:18px 0 0;
  font-size:13px;
}
.review-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:30px;
  margin-top:26px;
}
.review-source,.review-coach {
  min-width:0;
  padding:24px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--panel);
}
.review-coach {
  background:linear-gradient(145deg,#21221e,#131618 60%);
}
.step-heading {
  font-size:17px;
  display:flex;
  align-items:center;
  gap:12px;
}
.step-heading>span {
  display:grid;
  place-items:center;
  border:1px solid #726348;
  color:var(--accent);
  height:27px;
  width:27px;
  border-radius:50%;
  font-size:11px;
}
.review-layout .fields {
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
}
.review-source .fields:first-of-type {
  grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);
}
#hand-context {
  font-size:13px;
  color:var(--muted);
  margin:18px 0;
}
#hand-context .panel {
  padding:0;
  border:0;
  background:none;
}
#hand-context h3 {
  color:var(--text);
}
#decision-facts:empty {
  display:none;
}
#decision-facts {
  font-size:12px;
  white-space:pre-line;
  border-color:#615339;
  background:#25251f;
  color:#e5d7b1;
}
.check {
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:12px;
  padding:12px 0;
  color:var(--text);
}
.check input {
  flex:0 0 auto;
  margin:3px 0 0;
  min-height:0;
  width:18px;
  height:18px;
  accent-color:var(--accent);
}
.session-confirm {
  border-top:1px solid var(--line);
  margin-top:24px;
  padding-top:18px;
}
.coach-intro {
  color:var(--muted);
  font-size:13px;
  margin-top:20px;
}
#coach-form textarea {
  min-height:120px;
}
#coach-form .toolbar {
  gap:8px;
}
#coach-form .toolbar button {
  font-size:11px;
  flex:1 1 auto;
}
#local-review {
  order:-1;
  flex-basis:100%!important;
}
.toolbar {
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin:16px 0;
}
.toolbar button {
  font-size:11px;
}
.review-coach>.toolbar button {
  background:transparent;
  border-color:#383c3d;
  font-weight:400;
}
.coach-setup p {
  font-size:12px;
}
#voice-status,#ai-status,#model-status,#import-status,#solution-status,#range-comparison {
  font-size:11px;
  color:var(--muted);
  white-space:pre-line;
}
#model-status {
  color:var(--accent);
}
.message {
  padding:17px 18px;
  margin:12px 0;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:13px;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.message.question {
  margin-left:20px;
  background:#2d302b;
  border-color:#535541;
}
.message.answer {
  background:#111416;
  color:#e5e4da;
}
pre {
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  font-size:11px;
  max-width:100%;
  color:var(--muted);
}
.table-scroll {
  overflow:auto;
  border:1px solid var(--line);
  border-radius:12px;
  margin:24px 0;
  scrollbar-color:#686650 #1b1e20;
}
table {
  width:100%;
  border-collapse:collapse;
  text-align:left;
  font-size:12px;
  line-height:1.7;
}
th,td {
  padding:16px 20px;
  border-bottom:1px solid var(--line);
  vertical-align:top;
}
thead th {
  color:var(--accent);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:1px;
  background:var(--panel);
}
tbody th {
  min-width:155px;
  font-weight:700;
}
td {
  color:var(--muted);
}
tr:last-child th,tr:last-child td {
  border-bottom:0;
}
#coverage>p,#coverage ul {
  font-size:13px;
  color:var(--muted);
}
#coverage h3 {
  margin-top:28px;
}
#coverage li {
  padding:6px 0;
}
#coverage a {
  color:var(--text);
}
.tool-cards {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin-top:25px;
}
.tool-cards>a {
  padding:24px;
  border:1px solid var(--line);
  border-radius:12px;
  text-decoration:none;
  background:var(--panel);
}
.tool-symbol {
  font-family:'Instrument Serif',Georgia,serif;
  font-size:32px;
  color:var(--accent);
}
.tool-cards h3 {
  display:flex;
  justify-content:space-between;
  gap:12px;
  font-size:16px;
  margin:14px 0 9px;
}
.tool-cards h3 span {
  color:var(--accent);
}
.tool-cards p {
  color:var(--muted);
  font-size:12px;
  margin:0;
}
.tool-cards a:hover {
  border-color:#716448;
}
footer {
  max-width:1280px;
  padding:28px 32px 40px;
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  font-size:11px;
  color:var(--muted);
}
footer .brand {
  color:var(--text);
  font-size:20px;
}
@media(hover:hover) and (pointer:fine) {
  .seat:hover {
    border-color:var(--accent);
  }
  .table-study:has(.seat:hover) .table-plane {
    transform:rotateX(29deg) rotateZ(-5deg);
  }
  .button:hover {
    filter:brightness(1.08);
  }
  .range-grid button:hover {
    border-color:#fff;
  }
}
@media(max-width:1050px) {
  .study-hero {
    gap:12px;
  }
  h1 {
    font-size:44px;
  }
  .range-workspace {
    grid-template-columns:minmax(0,1fr) 245px;
    gap:16px;
  }
  .matrix-panel {
    padding:15px;
  }
  .range-grid {
    gap:2px;
  }
  .range-grid button {
    font-size:10px;
    min-height:36px;
  }
  .hand-inspector {
    padding:20px 16px;
  }
  .review-layout {
    gap:18px;
  }
  .review-source,.review-coach {
    padding:20px;
  }
  .hero-actions {
    gap:15px;
  }
  .table-plane {
    inset:17% 7% 13%;
  }
  .seat small {
    display:none;
  }
  .seat {
    min-width:57px;
    min-height:44px;
  }
  .scene-caption,.scene-topline {
    padding-left:0;
    padding-right:0;
  }
  .scene-note {
    margin-left:0;
  }
  .playing-card {
    height:88px;
    width:59px;
    font-size:21px;
  }
  .playing-card>span {
    font-size:24px;
    margin-top:12px;
  }
}
@media(max-width:820px) {
  .site-header {
    padding:15px 24px;
    min-height:75px;
  }
  .site-header nav {
    gap:18px;
  }
  main {
    padding:0 24px;
  }
  .study-hero {
    padding-top:32px;
    min-height:0;
  }
  h1 {
    font-size:38px;
    letter-spacing:-1.5px;
  }
  .hero-actions {
    display:block;
  }
  .hero-actions .text-link {
    margin-left:5px;
    margin-top:8px;
  }
  .lead {
    font-size:14px;
  }
  .poker-scene {
    height:240px;
  }
  .scene-caption {
    font-size:10px;
  }
  .scene-note {
    font-size:9px;
  }
  .range-workspace {
    grid-template-columns:minmax(0,1fr);
  }
  .hand-inspector {
    position:static;
    display:grid;
    grid-template-columns:minmax(0,1fr) 220px;
    gap:0 25px;
  }
  .hand-inspector .eyebrow {
    grid-column:1/-1;
  }
  .hand-inspector .inspector-note {
    border-top:0;
    margin:0;
    padding:0;
  }
  .hand-inspector #open-copy {
    grid-column:2;
    align-self:end;
  }
  .hand-inspector #hand-editor {
    grid-row:2/4;
  }
  .review-layout {
    grid-template-columns:minmax(0,1fr);
  }
  .review-source,.review-coach {
    padding:24px;
  }
  .range-grid button {
    min-height:43px;
    font-size:12px;
  }
  .tabs {
    gap:26px;
  }
  .tool-cards {
    gap:12px;
  }
  .tool-cards>a {
    padding:18px;
  }
  .session-note summary small {
    font-size:10px;
  }
  .fields {
    gap:12px;
  }
}
@media(max-width:600px) {
  html {
    scroll-padding-top:68px;
  }
  .site-header {
    padding:12px 18px;
    gap:14px;
    min-height:68px;
  }
  .brand {
    font-size:22px;
  }
  .brand img {
    width:24px;
    height:24px;
  }
  .brand small {
    font-size:8px;
    padding-left:10px;
    margin-left:4px;
  }
  .site-header nav {
    gap:0;
  }
  .site-header nav>a:not(.header-tool) {
    display:none;
  }
  .site-header .header-tool {
    font-size:10px;
    padding:6px 10px;
    min-height:36px;
    gap:9px;
  }
  main {
    padding:0 18px;
  }
  .study-hero {
    grid-template-columns:minmax(0,1fr);
    padding:32px 0 12px;
    gap:17px;
  }
  .hero-copy {
    padding:0;
  }
  h1 {
    font-size:clamp(37px,9.8vw,54px);
    line-height:1.07;
    letter-spacing:-1.7px;
    margin:17px 0;
  }
  h1 em {
    letter-spacing:-1.3px;
  }
  .lead {
    font-size:14px;
    margin-bottom:20px;
  }
  .eyebrow {
    font-size:9px;
    letter-spacing:1.7px;
  }
  .hero-actions {
    display:flex;
    gap:18px;
  }
  .hero-actions .text-link {
    margin:0;
    font-size:12px;
    gap:10px;
  }
  .button {
    padding:11px 17px;
    font-size:12px;
    gap:14px;
  }
  .hero-footnote {
    font-size:10px;
  }
  .table-study {
    margin:3px 0 0;
  }
  .scene-topline {
    font-size:8px;
  }
  .poker-scene {
    height:235px;
    max-width:390px;
    margin:0 auto;
  }
  .seat-ep {
    top:12%;
  }
  .seat small {
    display:block;
    font-size:7px;
  }
  .seat {
    min-width:62px;
    min-height:44px;
    font-size:11px;
  }
  .playing-card {
    width:61px;
    height:88px;
  }
  .scene-caption {
    padding-top:10px;
  }
  .scene-note {
    margin-top:3px;
  }
  .session-note {
    margin-top:8px;
  }
  .session-note summary {
    font-size:10px;
    gap:5px;
    flex-wrap:wrap;
    padding:10px 0;
    min-height:44px;
  }
  .session-note summary small {
    display:none;
  }
  .session-note summary:after {
    margin-left:auto;
    font-size:17px;
  }
  .session-note>div {
    padding:4px 0 0;
    font-size:12px;
  }
  .tabs {
    gap:0;
    justify-content:space-between;
    min-height:58px;
  }
  .tabs a {
    min-height:58px;
    font-size:11px;
    gap:5px;
  }
  .tabs a span {
    font-size:8px;
  }
  .section-head {
    align-items:flex-start;
    gap:10px;
  }
  .section-head .badge {
    font-size:8px;
    padding:5px 7px;
    margin-top:20px;
    letter-spacing:0;
  }
  .section-head .badge span {
    margin:0 3px;
  }
  section {
    padding:30px 0 34px;
  }
  h2 {
    font-size:26px;
    letter-spacing:-.8px;
  }
  .section-intro {
    font-size:12px;
    line-height:1.75;
  }
  .range-filters {
    padding:13px;
    margin-top:18px;
  }
  .fields {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px 10px;
  }
  .range-filters .fields label:last-child {
    grid-column:1/-1;
  }
  .filter-heading {
    font-size:12px;
  }
  .filter-heading button {
    min-height:36px;
    font-size:10px;
  }
  label {
    font-size:10px;
  }
  input,textarea {
    font-size:16px;
    padding:9px 8px;
  }
  select {
    font-size:12px;
    padding:9px 8px;
  }
  #range-info strong {
    font-size:14px;
  }
  #range-info p {
    font-size:11px;
  }
  .metrics {
    gap:14px;
    padding-bottom:10px;
    margin-top:20px;
  }
  .metric {
    min-width:0;
    padding-right:14px;
  }
  .metric strong {
    font-size:23px;
  }
  .metric small {
    font-size:8px;
  }
  .matrix-panel {
    padding:10px;
    border-radius:9px;
  }
  .matrix-heading h3 {
    font-size:13px;
  }
  .matrix-heading button {
    font-size:9px;
    min-height:36px;
  }
  .range-grid {
    gap:2px;
  }
  .range-grid button {
    min-height:33px;
    font-size:9px;
    border-radius:2px;
  }
  .range-grid button small {
    font-size:6px;
    margin-top:3px;
  }
  .grid-legend {
    gap:12px;
    font-size:9px;
    margin-top:15px;
  }
  .matrix-help {
    font-size:10px;
  }
  .hand-inspector {
    display:block;
    padding:20px;
    position:static;
  }
  .hand-inspector .inspector-note {
    padding-top:14px;
    border-top:1px solid var(--line);
    margin-top:18px;
  }
  #hand-editor .fields {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  #hand-editor h3 {
    font-size:17px;
  }
  #open-copy {
    margin-top:15px;
  }
  details {
    padding:0 13px;
  }
  summary {
    font-size:12px;
  }
  .review-source,.review-coach {
    padding:17px;
  }
  .step-heading {
    font-size:16px;
  }
  .review-source .fields:first-of-type {
    grid-template-columns:minmax(0,1fr);
  }
  .review-source .fields:first-of-type label:last-child {
    max-width:230px;
  }
  .review-source .panel {
    padding:14px;
  }
  #coach-form .toolbar button {
    font-size:11px;
    min-height:46px;
  }
  .toolbar button {
    font-size:10px;
  }
  #conversation .message {
    font-size:12px;
    padding:13px;
  }
  .tool-cards {
    grid-template-columns:minmax(0,1fr);
    gap:10px;
  }
  .tool-cards>a {
    padding:18px;
    display:grid;
    grid-template-columns:35px minmax(0,1fr);
    column-gap:14px;
  }
  .tool-symbol {
    grid-row:1/3;
    font-size:27px;
  }
  .tool-cards h3 {
    margin:0 0 6px;
    font-size:15px;
  }
  .tool-cards p {
    font-size:12px;
  }
  .table-scroll th,.table-scroll td {
    padding:13px 12px;
  }
  .table-scroll table {
    min-width:620px;
    font-size:11px;
  }
  footer {
    padding:24px 18px;
    flex-wrap:wrap;
    gap:15px;
    font-size:10px;
  }
  footer>span {
    flex:1;
    text-align:right;
  }
  footer>a:last-child {
    margin-left:auto;
  }
}
@media(max-width:370px) {
  main {
    padding:0 12px;
  }
  .site-header {
    padding:12px;
  }
  .hero-actions {
    gap:12px;
  }
  .range-grid {
    gap:1px;
  }
  .range-grid button {
    font-size:8px;
  }
  .tabs a {
    font-size:10px;
  }
  .tabs a span {
    display:none;
  }
  .matrix-panel {
    padding:8px;
  }
}
/* Accessible static fallback, also usable without 3D support. */
html[data-calm=true] *,html[data-calm=true] *:before,html[data-calm=true] *:after {
  animation:none;
  transition:none;
  scroll-behavior:auto;
}
html[data-calm=true] .table-plane {
  transform:none;
  box-shadow:0 5px #22241f,0 12px 25px #0006;
}
html[data-calm=true] .study-cards,html[data-calm=true] .playing-card {
  transform:none;
}
@supports not (perspective:900px) {
  .table-plane,.study-cards,.playing-card {
    transform:none;
  }
}
@media(prefers-reduced-motion:reduce) {
  *,*:before,*:after {
    animation:none;
    transition:none;
    scroll-behavior:auto;
  }
  .table-plane,.table-study:has(.seat:hover) .table-plane,.study-cards,.playing-card {
    transform:none;
  }
  .table-plane {
    box-shadow:0 5px #22241f,0 12px 25px #0006;
  }
}
#hand-editor h3 .hand-rank {
  display:block;
  font-size:48px;
  line-height:1.3;
  letter-spacing:-2px;
  color:var(--accent);
}
#hand-editor h3 small {
  display:block;
  font-size:10px;
  font-weight:400;
  color:var(--muted);
  letter-spacing:0;
}
#hand-editor h3 {
  margin-bottom:20px;
}
@media(prefers-reduced-motion:reduce) {
  html[data-calm=false] .table-plane {
    transform:rotateX(34deg) rotateZ(-7deg);
  }
  html[data-calm=false] .study-cards {
    transform:rotate(-9deg);
  }
  html[data-calm=false] .playing-card {
    transform:rotateY(-13deg) rotateZ(-8deg);
  }
  html[data-calm=false] .playing-card.second {
    transform:rotateY(-13deg) rotateZ(13deg);
  }
}
.class-picker {
  display:flex;
  align-items:center;
  gap:8px;
  margin-left:auto;
  font-size:10px;
}
.class-picker select {
  margin:0;
  width:78px;
  min-height:44px;
  padding:5px 8px;
  font-size:12px;
}
.matrix-heading {
  flex-wrap:wrap;
}
.table-scroll {
  outline-offset:4px;
}
@supports not (perspective:900px) {
  html .table-plane,html .study-cards,html .playing-card {
    transform:none;
  }
}
/* Strong control boundaries and a large native selector on touch layouts. */
.course-topic{margin-block:12px;padding:16px;border:1px solid var(--line,#676a69);border-radius:12px}
.course-topic summary{cursor:pointer;font-weight:700;min-height:44px;align-content:center}
.course-topic summary small{display:inline-block;margin-inline-start:12px;font-weight:400}
.course-topic dt{font-weight:700;margin-top:14px}
.course-topic dd{margin:4px 0 12px;line-height:1.6}
.course-topic a{overflow-wrap:anywhere}
#formation .toolbar>label{flex:1;min-width:min(240px,100%)}
#formation .toolbar input,#formation .toolbar select{width:100%}
#formation button{margin-top:12px;white-space:normal}
select,input:not([readonly]),textarea {
  border-color:#676a69;
}
.seat {
  border-color:#69685f;
}
@media(max-width:600px) {
  select,.class-picker select {
    font-size:16px;
  }
}

/* Keep secondary coverage below the matrix; direct keyboard destination. */
#range-matrix { scroll-margin-top: 190px; }
.range-results { align-items: center; flex-wrap: wrap; margin: 12px 0; }
#range-count { margin: 0; flex: 1 1 260px; }
#range-coverage-details { margin: 18px 0; }

/* Each destination has a single purpose; hidden panels keep their state. */
[hidden] { display:none !important; }
[data-workspace-panel] { scroll-margin-top:100px; }
.b-study #ranges .section-head { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:clamp(20px,4vw,64px); }
.b-study #ranges .section-head:after { content:'';display:block;width:100%;height:auto;aspect-ratio:3/2;background:var(--b-table-image) center / contain no-repeat; }
.b-study #ranges .section-head .badge { display:none; }
.b-study .range-spot-fields { grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); }
.b-study .range-filters { padding:18px 20px; }
.b-study .range-filters .text-link { font-weight:400;font-size:13px; }
.b-study .range-results { margin:8px 0 18px; }
.b-study .range-results p { font-size:12px; }
.b-study #range-info>.panel { padding:12px 0;background:none;border:0; }
.b-study #range-info p { margin:6px 0;font-size:12px; }
.b-study .action-breakdown { margin:20px 0; }
.b-study .action-breakdown>div { display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line); }
.b-study .action-breakdown dd { margin:0;font-weight:800; }

.b-study #review>.section-intro { font-size:16px; }
.b-study #import-histories { max-width:900px; }
.b-study #demo-main { max-width:900px;background:transparent; }
.b-study .review-source .fields { display:block; }
.b-study .review-source .fields label { max-width:none; }
.b-study #hand { width:100%; }
.b-study #library,.b-study #formation,.b-study #coverage { max-width:1000px;margin:auto; }
.b-study .session-note { margin:30px 0; }
.b-study #range-matrix { scroll-margin-top:110px; }
.b-study .review-layout { display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.35fr);max-width:none;gap:24px;align-items:start; }
.b-study .review-source,.b-study .review-reader { min-width:0;padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--panel); }
.b-study .review-source h2,.b-study .review-reader h2 { font-size:26px;margin:0 0 20px; }
.b-study .review-filters { display:grid;grid-template-columns:1fr 1fr;gap:12px; }
.b-study .review-filters select { width:100%; }
.b-study #hand-list { display:grid;gap:8px;max-height:650px;overflow:auto;padding:4px; }
.b-study .hand-row { display:grid;width:100%;text-align:left;gap:6px;padding:14px;background:var(--field);border:1px solid var(--line);white-space:normal; }
.b-study .hand-row[aria-pressed=true] { border-color:var(--gold);box-shadow:inset 3px 0 var(--gold); }
.b-study .hand-row span,.b-study .hand-row small { font-size:12px;font-weight:400;overflow-wrap:anywhere; }
.b-study .hand-row b { font-size:12px;color:var(--gold); }
.b-study .review-toolbar,.b-study .review-pagination,.b-study .replay-controls { display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:18px 0; }
.b-study .review-toolbar button,.b-study .review-pagination button { font-size:12px; }
.b-study .review-reader { position:sticky;top:100px; }
.b-study #review-source[hidden]+.review-reader { grid-column:1/-1;position:static;width:100%;max-width:960px;justify-self:center; }
.b-study #replay-table svg { display:block;width:100%;max-height:340px; }
.b-study #replay-progress { width:100%;min-height:44px;accent-color:var(--gold);padding:0; }
.b-study .replay-controls { display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px; }
.b-study .replay-controls button { min-width:0;padding:12px 8px; }
.b-study #replay-step { min-height:64px;line-height:1.6; }
.b-study #review-access { max-width:none; }
.b-study #review-library[hidden],.b-study #review-source[hidden],.b-study #review-access[hidden],.b-study #import-histories[hidden],.b-study #demo-main[hidden],.b-study #export-hands[hidden] { display:none!important; }
.b-study #import-histories { max-width:none; }
.b-study #import-report { border:0;padding:0;margin:16px 0; }
.b-study #import-files { max-height:460px;overflow:auto; }
.b-study #import-format-field { max-width:580px; }
.b-study #import-format-field small { display:block; }
.b-study .import-dropzone { padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--field); }
.b-study .import-dropzone.is-dragging { outline:3px solid var(--gold);outline-offset:3px; }
.b-study #history-file { width:100%;min-height:56px;font-size:16px;cursor:pointer; }
.b-study #history-file::file-selector-button { min-height:44px;padding:10px 18px;font:inherit;cursor:pointer; }
.b-study #history-file:disabled { cursor:wait; }
.b-study .import-status { font-size:16px;line-height:1.6; }
.b-study #import-confirm { min-height:48px;white-space:normal; }
.b-study #import-open-hands { display:inline-block;margin:12px; }
.b-study #import-selection,.b-study .import-file { overflow-wrap:anywhere; }
.b-study #reader-title { scroll-margin-top:110px; }
.b-study #import-status[hidden],.b-study #import-selection[hidden],.b-study #import-access-status[hidden],.b-study #import-confirm[hidden],.b-study #decision-review[hidden] { display:none!important; }
.b-study #import-histories { padding:16px; }
.b-study #import-histories:not([open]) { margin-bottom:8px; }
.b-study #import-format-field { font-size:12px; }
.b-study #import-format-field select { min-height:38px;padding:8px; }
.b-study #decision-review { border-top:1px solid var(--line);margin:20px 0;padding-top:20px; }
.b-study #decision-review h3 { font-size:20px; }
.b-study .decision-markers { display:flex;gap:8px;overflow:auto;padding:4px 2px 12px; }
.b-study .decision-markers button { flex:0 0 160px;min-height:88px;display:grid;gap:6px;text-align:left;white-space:normal;padding:12px;background:var(--field); }
.b-study .decision-markers small,.b-study .decision-markers span { font-size:11px;line-height:1.4; }
.b-study .decision-markers button[aria-current=true] { border-color:var(--gold);box-shadow:inset 0 -3px var(--gold); }
.b-study .decision-markers button:focus-visible { outline:3px solid var(--gold);outline-offset:2px; }
.b-study .decision-status { color:var(--gold);font-weight:700; }
.b-study .decision-facts { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px; }
.b-study .decision-facts div { background:var(--field);padding:10px;border-radius:8px; }
.b-study .decision-facts dt { font-size:11px; }
.b-study .decision-facts dd { margin:6px 0 0;font-weight:700;font-size:15px; }
.b-study #decision-detail { scroll-margin-top:100px; }
.b-study #decision-detail:focus-visible { outline:2px solid var(--gold);outline-offset:4px; }
.b-study #decision-detail details { padding:12px;margin:12px 0; }
@media(max-width:900px) {
 .b-study .review-layout { grid-template-columns:minmax(0,1fr); }
 .b-study .review-reader { position:static; }
 .b-study #hand-list { max-height:400px;overflow:auto; }
}
@media(max-width:480px) {
 .b-study .review-source,.b-study .review-reader { padding:16px; }
 .b-study .review-filters { grid-template-columns:1fr;gap:0; }
}
@media(max-width:760px) {
 .b-study #ranges .section-head { grid-template-columns:minmax(0,1fr);gap:12px; }
 .b-study #ranges .section-head:after { max-width:600px;justify-self:center; }
}
@media(max-width:600px) {
 .b-study .range-spot-fields { grid-template-columns:1fr; }
 .b-study .range-results { display:block; }
 .b-study .range-results a { min-height:44px; }
 .b-study .review-source .fields:first-of-type label:last-child { max-width:none; }
 .b-study .range-quick { display:grid;grid-template-columns:repeat(3,1fr);gap:8px; }
 .b-study .range-quick button { width:100%; }
}

/* Withhold unverified references from the commercial range entry point. Archives and data remain stored. */
[data-references-pending]>.range-quick,[data-references-pending]>.range-filters,[data-references-pending]>.range-results,[data-references-pending]>.range-workspace,[data-references-pending]>p:last-child{display:none}
/* Conditional study diagnostics remain in the reader; no extra navigation tabs. */
#coach-analysis { margin-top: 1.25rem; }
#coach-analysis form { display: grid; gap: .9rem; }
#coach-analysis textarea { min-height: 5.5rem; max-width: 100%; }
#coach-analysis input,#coach-analysis select { max-width: 100%; }
.coach-confirm { display: flex; align-items: flex-start; gap: .65rem; }
.coach-confirm input { width: 1.15rem; min-width: 1.15rem; margin-top: .3rem; }
.coach-verdict { padding: 1rem; border-left: 3px solid var(--gold, #c8b27b); margin-top: 1rem; background: var(--panel, #151719); }
.coach-major { border-color: #cd6572; }
.coach-error { border-color: #c08d41; }
.coach-good { border-color: #479b77; }
.coach-list-status { display: block; }
.coach-batch { margin: 1rem 0 1.5rem; }
.coach-batch-heading { display:flex;justify-content:space-between;align-items:flex-start;gap:1rem; }
.coach-batch h2 { font-size:1.25rem;margin:0 0 .5rem; }
.coach-batch-actions { display:flex;gap:.5rem;flex-wrap:wrap; }
.coach-batch progress { width:100%;accent-color:var(--gold); }
.coach-auto-report dl { margin-top:1rem; }
#coach-body .coach-auto-report { padding:0; }
#coach-body .coach-auto-report h4 { margin:0 0 .5rem; }
.coach-auto-report .coach-fact-explanation { grid-column:1 / -1; }
@media(max-width:600px){#coach-analysis .decision-facts{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){.coach-batch-heading{display:block}.coach-batch-actions{margin:.75rem 0}.coach-batch-actions button{min-height:44px}}
/* Explicit context choices stay in the replay reader; no additional tabs. */
#coach-analysis [hidden] { display:none!important; }
.decision-argument { padding-bottom:1.25rem;margin-bottom:1.25rem;border-bottom:1px solid var(--line); }
.decision-argument h4 { margin:0 0 .5rem;font-size:1.35rem; }
.decision-argument h5 { margin:.85rem 0 .4rem;font-size:1rem; }
.decision-argument .section-head { display:flex;align-items:start;justify-content:space-between;gap:1rem; }
.decision-argument .section-head label { min-width:9rem;max-width:14rem; }
.analysis-status { color:var(--gold);font-weight:700; }
.analysis-question { margin:1rem 0;padding:1rem;border:1px solid var(--line);border-radius:12px;background:var(--field); }
.analysis-question .toolbar { display:flex;gap:.5rem;flex-wrap:wrap; }
.analysis-question button { min-height:44px; }
.analysis-question form { margin-top:1rem; }
.analysis-mode,.analysis-assumption-warning { padding:.65rem;border-left:3px solid var(--gold); }
.decision-argument p,.decision-argument dd,.decision-argument li { overflow-wrap:anywhere; }
.decision-argument dd small { display:block;font-size:.72rem;color:var(--muted);margin-top:.3rem; }
.analysis-answer { margin:.75rem 0; }
.analysis-question input[type=checkbox] { width:1rem;min-width:1rem;display:inline-block; }
.analysis-bounty-fields { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem; }
.analysis-model-choice { padding:.9rem;margin-top:1rem;border-left:3px solid var(--gold); }
.coach-manual { margin-top:1rem; }
.solver-study { margin:1rem 0;padding:1rem;border:1px solid var(--line);border-radius:12px;background:var(--field); }
.solver-fields { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem; }
.solver-study .toolbar { display:flex;gap:.6rem;flex-wrap:wrap; }
.solver-study button { min-height:44px; }
.solver-study [role=status] { overflow-wrap:anywhere; }
.solver-table { overflow-x:auto;max-width:100%; }
.solver-table table { width:100%;border-collapse:collapse; }
.solver-table th,.solver-table td { padding:.65rem;text-align:left;border-bottom:1px solid var(--line);vertical-align:top; }
.solver-table caption { text-align:left;padding:.5rem 0;font-size:.85rem; }
.solver-cards { display:none; }
.solver-cards article { padding:.8rem 0;border-bottom:1px solid var(--line); }
.solver-cards h6 { margin:0 0 .7rem;font-size:1rem;color:var(--gold); }
.solver-cards dl { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin:0; }
.solver-cards dt { font-size:.75rem;color:var(--muted); }
.solver-cards dd { margin:.3rem 0;font-size:.9rem;font-weight:700; }
.solver-cards article p { font-size:.75rem;margin:.4rem 0; }
@media(max-width:600px){.solver-fields{grid-template-columns:minmax(0,1fr)}.solver-study{padding:.8rem}.solver-table{display:none}.solver-cards{display:block}}
@media(max-width:600px){.decision-argument .section-head{display:block}.decision-argument .section-head label{max-width:none}.analysis-question{padding:.8rem}.analysis-question .toolbar button{width:100%}.decision-argument .decision-facts{grid-template-columns:minmax(0,1fr)!important}}

/* Compact, actionable review summary. Detailed coverage stays available. */
.coach-batch .coach-next { margin:.35rem 0;max-width:76ch; }
.coach-batch-details { margin-top:.75rem;border-top:1px solid var(--line);padding-top:.6rem; }
.coach-batch-details summary { cursor:pointer;font-size:.9rem; }
.coach-batch-details p { font-size:.88rem; }
.coach-batch #coach-batch-summary { margin:.3rem 0;color:var(--cream); }
.coach-batch #coach-batch-status:empty { display:none; }

.study-profile { border:1px solid var(--line);border-radius:12px;padding:.85rem;margin:1rem 0;background:var(--panel); }
.study-profile summary { font-weight:700;cursor:pointer; }
.study-profile form { margin-top:.8rem; }
.study-profile [data-profile-preview] { font-size:.9rem; }
.study-profile li { margin:.4rem 0; }
.study-profile input,.study-profile select { max-width:100%; }
