#column-lab[hidden], #column-lab [hidden] { display: none !important; }
#column-lab { margin: 1rem 0; border: 2px solid #2563eb55; border-radius: 12px; background: #fff; overflow: hidden; }
#column-lab summary { min-height: 48px; padding: 0.75rem; color: #1d4ed8; font-weight: 700; cursor: pointer; }
#column-lab .c4-lab-body { padding: 0 0.75rem 0.75rem; }
#column-lab p { font-size: 0.82rem; line-height: 1.5; margin: 0 0 0.7rem; overflow-wrap: anywhere; }
#column-lab label { display: block; font-size: 0.85rem; font-weight: 700; margin-bottom: 0.35rem; }
#column-lab select { width: 100%; min-height: 44px; padding: 0.5rem; border: 2px solid #2563eb55; border-radius: 8px; background: #fff; color: #1e293b; font: inherit; }
#column-lab .c4-lab-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0.65rem 0; }
#column-lab button { flex: 1 1 110px; min-height: 44px; padding: 0.55rem 0.65rem; border: 2px solid #2563eb55; border-radius: 8px; color: #1d4ed8; background: #fff; font: 700 0.82rem 'Plus Jakarta Sans', system-ui, sans-serif; cursor: pointer; }
#column-lab button[data-play] { background: #2563eb; color: #fff; }
#column-lab button:disabled { opacity: 0.45; cursor: not-allowed; }
#column-lab :is(button, select, summary):focus-visible { outline: 3px solid #1d4ed8; outline-offset: -3px; }
#column-lab .c4-lab-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; padding: 6px; margin-bottom: 0.7rem; background: #2563eb; border-radius: 8px; }
#column-lab .c4-lab-cell { display: flex; align-items: center; justify-content: center; aspect-ratio: 1; border-radius: 50%; background: #f8fafc; font: 700 0.7rem system-ui, sans-serif; }
#column-lab .c4-lab-p1 { background: #dc2626; color: #fff; }
#column-lab .c4-lab-p2 { background: #fde047; color: #422006; }
#column-lab .c4-lab-new { outline: 2px solid #fff; outline-offset: -4px; font-size: 1rem; }
#column-lab .c4-lab-win { box-shadow: 0 0 0 2px #1e293b inset; }
#column-lab [data-lab-status] { min-height: 3em; margin-bottom: 0; }
