/* v30 tool pages (bomb pot, outs and pot odds, settle-up) and the /tools/ hub. Uses the site's tokens from /styles.css. */
.tool-hub{list-style:none;padding:0;margin:var(--s6) 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.tool-hub .tool-card{display:flex;flex-direction:column;gap:10px}
.tool-hub .tool-card .tc-k{font:600 12px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.tool-hub .tool-card .tc-go{margin-top:auto;font-weight:600}
.tool-hub .tool-card h2 a::after{content:"";position:absolute;inset:0}
.tool-hub .tool-card{position:relative}
.tool-hub .tool-card:hover{border-color:var(--felt)}
.tool-hub .tool-card:focus-within{box-shadow:0 0 0 3px var(--ring)}
@media(max-width:720px){.tool-hub{grid-template-columns:1fr}}
.tool-body{padding-top:var(--s6);padding-bottom:var(--s7)}
.tool-body .lead-p{font-size:18px;color:var(--text2);max-width:var(--reading)}
.dbbp .calc-grid{margin-top:20px}
/* outs + pot odds */
.chart-wrap{overflow-x:auto;margin:14px 0 8px}
.chart{width:100%;border-collapse:collapse;font-size:16px;min-width:520px}
.chart caption{text-align:left;font-weight:600;color:var(--ink);margin-bottom:8px}
.chart th,.chart td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:right}
.chart th:first-child,.chart td:first-child{text-align:left}
.chart thead th{font:600 12px/1.25 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);vertical-align:bottom}
.chart td{font:500 15px/1.3 var(--mono);color:var(--ink)}
.chart td.lbl{font:400 15px/1.35 var(--ui)}
.chart tbody tr:nth-child(even){background:var(--surface)}
.chart .hl td{background:var(--tint)}
.po-card{background:var(--felt);color:#fff;border-radius:var(--r-card);padding:20px;display:grid;gap:12px;margin:var(--s5) 0}
.po-card h2{color:#fff;font-size:28px}
.po-card label{color:#fff;font-size:15px;font-weight:600}
.po-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.po-card .po-out{color:rgb(255 255 255 / .92);font-size:16px}
.po-card .po-out p+p{margin-top:6px}
.po-big{font:600 44px/1 var(--mono);color:var(--gold)!important}
@media(max-width:420px){.po-row{grid-template-columns:1fr}}
.print-btn{margin-top:6px}
.chart-sec{margin-top:28px}
.cards-ex{white-space:nowrap}
/* settle-up */
.settle{display:grid;gap:16px}
.st-rows{display:grid;gap:10px}
.st-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) 92px 44px;gap:8px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:var(--r-card);background:#fff}
.st-f label{display:block;font-size:13px;font-weight:600;color:var(--text2);margin-bottom:4px}
.st-bal{font:600 14px/1.2 var(--mono);color:var(--muted);padding-bottom:13px}
.st-bal.up{color:#17643A}.st-bal.down{color:var(--red)}
.st-rm{width:44px;height:44px;border:1px solid var(--line2);border-radius:8px;background:#fff;font-size:20px;cursor:pointer;color:var(--muted)}
.st-rm:hover{border-color:var(--ink);color:var(--ink)}
.st-row .err{grid-column:1/-1;margin:0}
.st-actions{display:flex;flex-wrap:wrap;gap:8px}
.st-totals{padding:12px 14px;border-radius:8px;background:var(--surface);font-size:15px;color:var(--text2)}
.st-totals.bad{background:#FDECEA;border:1px solid #F3B8B2;color:#7A1C12;font-weight:600}
.st-totals.good{background:var(--tint);color:var(--ink)}
.st-out{border:1px solid var(--line);border-radius:var(--r-card);padding:16px;background:#fff;display:grid;gap:10px}
.st-out h2{font-size:26px}
.st-pay{margin:0;padding-left:22px;font-size:18px;font-weight:600;color:var(--ink);display:grid;gap:6px}
.st-count{font-size:14px;color:var(--muted);margin:0}
.st-text{white-space:pre-wrap;font:500 14px/1.45 var(--mono);background:var(--surface);border-radius:8px;padding:10px 12px;margin:0;color:var(--text2)}
@media(max-width:720px){
  .st-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px;grid-template-areas:"n n x" "i e e" "b b b"}
  .st-f.name{grid-area:n}.st-f.in{grid-area:i}.st-f.end{grid-area:e}.st-bal{grid-area:b;padding:0}.st-rm{grid-area:x;align-self:end}
}
/* print: just the charts, black on white, no site chrome */
@media print{
  .site-header,.site-footer,footer,nav,.crumbs,.skip,.po-card,.print-btn,.tool-head .privacy-line,.disclaimer .no-print,.st-actions,.st-rm,#st-copy{display:none!important}
  body{font-size:11pt;color:#000;background:#fff}
  .tool-head{background:#fff!important;color:#000!important;padding:0 0 8pt!important;margin:0!important}
  .tool-head h1,.tool-head p{color:#000!important}
  .tool-head h1{font-size:24pt!important}
  .chart{min-width:0;font-size:10pt}
  .chart th,.chart td{padding:3pt 6pt;border-bottom:.5pt solid #999}
  .chart tbody tr:nth-child(even){background:#f2f2f2!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .chart-sec{break-inside:avoid;page-break-inside:avoid}
  .chart-wrap{overflow:visible}
  a{color:#000;text-decoration:none}
  .disclaimer{border:0;padding:0;background:none}
}
