@import url('../../../assets/workshop-3d.css');
.lab-layout { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr); gap:1.2rem; }
.lab-layout > div { min-width:0; }
.artboard { position:relative; aspect-ratio:1; border:1px solid #cbd5e1; border-radius:14px; overflow:hidden; }
.artboard canvas { height:100%; width:100%; }
#labels { position:absolute; inset:0; cursor:grab; touch-action:none; }
.panel { background:#f0f9ff; padding:1rem; border:1px solid #bae6fd; border-radius:14px; }
.panel label { display:block; font-weight:700; margin:.6rem 0; }
.panel select { width:100%; padding:.6rem; border:1px solid #94a3b8; border-radius:7px; background:white; font:inherit; }
.base-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.4rem; margin-bottom:.8rem; }
.base-button[aria-pressed=true] { background:#f97316; color:#fff; border-color:#9a3412; }
.mission-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.status { min-height:1.7rem; }
.timeline { display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:.5rem; margin:1rem 0; }
.timeline button { font-size:.85rem; line-height:1.3; }
.timer-box { display:flex; flex-wrap:wrap; align-items:center; gap:.8rem; margin:.5rem 0 1rem; }
#timer { font-size:2rem; font-weight:800; font-variant-numeric:tabular-nums; min-width:5ch; }
.phase { background:#f8fafc; border:1px solid #cbd5e1; border-radius:12px; padding:.9rem; margin:1rem 0; }
.phase-meta { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:.6rem; font-size:.92rem; margin-bottom:.6rem; }
.phase-meta span { background:white; border-radius:8px; padding:.5rem; }
.phase-cols { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.phase h4 { margin:.2rem 0; }
.role-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:1rem 0; }
.role { background:#ecfeff; border:2px solid #0891b2; border-radius:14px; padding:1rem; }
.role.committee { background:#faf5ff; border-color:#7c3aed; }
.role h3 { margin-top:0; }
.dialogue p { margin:.4rem 0; padding:.4rem .7rem; background:#f1f5f9; border-radius:8px; }
.weights output { font-weight:800; }
@media(max-width:750px) { .lab-layout,.mission-grid,.phase-cols,.role-grid { grid-template-columns:1fr; } }
