.lab-form-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr)); gap:.8rem; margin:1rem 0; }
.lab-form-grid fieldset { min-width:0; border:1px solid #d2e1d5; border-radius:14px; padding:.8rem; }
.lab-form-grid legend { font-weight:700; padding:0 .25rem; }
.lab-slots { display:flex; flex-wrap:wrap; gap:.5rem; }
.lab-slot-button.card-slot { width:64px; height:86px; min-width:54px; min-height:70px; cursor:pointer; }
.lab-slot-button .card-rank,.lab-slot-button .card-suit { font-size:25px; }
.lab-slot-button:focus-visible, #lab-card-dialog button:focus-visible, .lab-filters button:focus-visible, .lab-river-grid button:focus-visible, .lab-pick-grid button:focus-visible { outline:3px solid #dd982a; outline-offset:2px; }
#lab-card-dialog .card-grid { max-width:100%; }
#lab-card-dialog .deck-card { min-height:52px; cursor:pointer; }
#lab-card-dialog .deck-card .card-rank,#lab-card-dialog .deck-card .card-suit { font-size:19px; }
#lab-card-dialog .picker-footer { flex-wrap:wrap; }
.lab-result-panel { color:#fff; background:#123f31; border-radius:18px; padding:1rem 1.2rem; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr)); gap:.5rem 1rem; }
.lab-result-panel div span { display:block; opacity:.85; }
.lab-result-panel div strong { font-size:2rem; }
.lab-result-panel p, .lab-result-panel span { color:#fff; }
.lab-result-panel p { margin:.25rem 0; }
.lab-filters { display:flex; flex-wrap:wrap; gap:.4rem; margin:1rem 0 .6rem; }
.lab-filters button { border:1px solid #9ab8a4; border-radius:999px; padding:.5rem .75rem; min-height:2.5rem; background:#fff; color:#17402e; font:inherit; cursor:pointer; }
.lab-filters button[aria-pressed="true"] { background:#174f36; color:#fff; }
.lab-river-grid, .lab-pick-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(4.4rem,1fr)); gap:.45rem; max-width:100%; }
.lab-card { min-width:0; min-height:3.1rem; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.12rem; }
.lab-card small { font-size:.67rem; line-height:1.1; }
.lab-river-grid button, .lab-pick-grid button { width:100%; cursor:pointer; border-width:2px; }
.lab-outcome-1 { background:#e9f7ee; border-color:#3f9870; }
.lab-outcome-0 { background:#f3f3e9; border-color:#918f67; }
.lab-outcome-2 { background:#f8eeea; border-color:#b57963; }
.lab-pick-grid button[aria-pressed="true"] { background:#174f36; border-color:#174f36; color:#fff; }
.lab-detail { border:1px solid #d0dfd4; border-radius:14px; padding:1rem; margin:1.1rem 0; background:#f6faf6; }
.lab-card-group, .lab-best { margin:.8rem 0; }
.lab-card-row { display:flex; flex-wrap:wrap; gap:.45rem; margin:.3rem 0; }
.lab-best h4 { margin:.6rem 0 .2rem; }
.lab-origin { display:flex; flex-direction:column; align-items:center; }
.lab-origin small { font-size:.75rem; }
.lab-no-wins { display:inline-flex; gap:.45rem; align-items:center; margin:.8rem 0; }
.lab-equity-field { display:block; margin:.8rem 0; }
.lab-equity-field input { display:block; width:9rem; max-width:100%; padding:.65rem; border:1px solid #93b39f; border-radius:10px; font:inherit; }
#lab-share-panel input { box-sizing:border-box; width:100%; max-width:45rem; padding:.65rem; border:1px solid #9ab8a4; border-radius:10px; }
.lab-progress-line { border-top:1px solid #d7e5da; margin:.6rem 0; padding:.6rem 0 0; }
.lab-answer-groups { display:grid; gap:.55rem; margin:.8rem 0; }
.lab-answer-group h4 { margin:.35rem 0; }
.lab-answer-group p { margin:.2rem 0; }
.lab-answer-cards { display:flex; flex-wrap:wrap; gap:.4rem; }
.lab-answer-cards .lab-card { min-width:3.2rem; }
.lab-answer-details { margin:.8rem 0; }
.lab-answer-details summary { cursor:pointer; font-weight:600; }
@media(max-width:420px){.lab-river-grid,.lab-pick-grid{grid-template-columns:repeat(4,minmax(0,1fr));}.lab-card{min-height:3.2rem}.lab-detail{padding:.7rem}.lab-slot-button.card-slot{width:54px;height:74px}.lab-slot-button .card-rank,.lab-slot-button .card-suit{font-size:21px}#lab-card-dialog .deck-row{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}#lab-card-dialog .deck-card{min-height:48px;padding:5px 2px}}
