.robot-workshop { padding: 24px 0; border-bottom: 1px solid #c5d0c8; margin-bottom: 24px; }
.robot-workshop h2 { margin: 0 0 12px; font-size: 1.35rem; }
.robot-workshop p { max-width: 68ch; line-height: 1.55; }
.robot-workshop label { display: grid; gap: 6px; font-size: .85rem; font-weight: 600; }
.robot-workshop select,.robot-workshop input { width: 100%; min-width: 0; padding: 9px; color: #1b3038; background: #fbfcf8; border: 1px solid #9aafa3; border-radius: 6px; font: inherit; }
.robot-workshop :focus-visible,.robot-camera-controls :focus-visible { outline: 3px solid #216d88; outline-offset: 3px; }
.robot-workshop summary { cursor: pointer; padding: 12px 0; font-weight: 700; }
.robot-workshop-editors { display: grid; gap: 12px; }
.robot-mount-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; padding: 8px 0 16px; }
.workshop-status { font-variant-numeric: tabular-nums; min-height: 2.5em; }
.workshop-status[data-kind=error] { color: #9c281c; }
.robot-bench-controls { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.robot-bench-controls h3,.robot-bench-controls output { flex-basis: 100%; }
.robot-bench-controls output { padding-top: 12px; line-height: 1.6; }
.robot-camera-controls { display: flex; flex-wrap: wrap; gap: 8px; padding: 10px 12px; background: #e8ede8; }
.robot-camera-controls button { min-height: 44px; }
.robot-camera-controls button[aria-pressed="true"] { color: #f2f4ed; background: #314f5a; border-color: #314f5a; }
.robot-scene { min-width: 0; }
.robot-viewport { display: block; width: 100%; max-width: 100%; touch-action: none; }
.robot-scene[hidden],.robot-viewport[hidden],.robot-camera-controls[hidden] { display: none; }
.progression-table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.progression-table th,.progression-table td { padding: 12px 8px; text-align: left; border-bottom: 1px solid #c5d0c8; }
.progression-table button { min-height: 40px; }
@media (max-width: 600px) { .robot-mount-fields { grid-template-columns: 1fr; } .progression-table { font-size: .8rem; } .progression-table th,.progression-table td { padding: 10px 4px; } }

.cosmetic-banner { display: flex; align-items: center; gap: 8px; padding: 8px 12px; background: #314e56; color: #fbfcf8; border-radius: 6px; }
.masthead-links { max-width: 100%; flex-wrap: wrap; }
.roster-panel > .robot-workshop { grid-column: 1 / -1; }
@media (max-width: 1180px) { .match-toolbar { flex-wrap: wrap; } .match-actions { max-width: 100%; flex-wrap: wrap; } }
@media (max-width: 760px) { .match-toolbar { flex-wrap: nowrap; } .mode-tabs { width: 100%; min-width: 0; max-width: 100%; } }
