.commands{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:15px 0}.commands button{min-height:80px;padding:12px 14px}.commands b{font-size:20px;margin-bottom:9px}.commands button[data-command="send"]{grid-column:1/-1;display:flex;align-items:center;gap:16px;min-height:65px}.commands button[data-command="send"] b{margin:0}.commands button[data-command="send"] small{margin-left:auto}.rules{margin:0 0 22px;font-size:12px;color:#586658}.rules summary{cursor:pointer;min-height:36px;padding:8px 0}.rules p{margin:6px 0 10px}.valve{position:absolute;left:62%;width:9%;height:2%;z-index:2}.valve-A{top:30%}.valve-B{top:62%}.handle{display:block;width:80%;height:40%;border:1px solid #ad6341;border-radius:3px;background:#853b24;box-shadow:0 1px 2px #38271f66;transform-origin:0 50%;transform:rotate(-90deg);transition:transform .4s}.valve[data-open="true"] .handle{transform:rotate(0deg)}.valve-name{position:absolute;top:160%;left:-20%;font-size:10px;white-space:nowrap;background:#fff9e9e8;padding:3px 6px;border-radius:2px;color:#365248}.plant-label{position:absolute;right:4%;font-size:11px;background:#fff9e9e8;border-radius:3px;padding:4px 7px;color:#365248}.plant-A{top:19%}.plant-B{top:52%}.devre{left:22%;top:77%;width:25%;height:27%}#water-flow{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}#water-flow path{stroke:#5697af;stroke-width:1.1;stroke-linecap:round;fill:none;opacity:0}#water-flow path.flow{opacity:.85;stroke-dasharray:100;animation:branch-flow 1.2s linear both}#board-note{position:absolute;bottom:2%;left:39%;right:3%;background:#fff9e9ed;border-radius:3px;padding:9px 10px;font-size:12px;color:#273e37}#board-note button{font-size:11px;padding:6px 9px;margin-top:8px;min-height:36px}.water-readings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}.water-readings>div{padding:11px 8px;border-bottom:1px solid var(--line)}.water-readings span{display:block;font:9px 'IBM Plex Mono',monospace;color:#646e60}.water-readings strong{display:block;font-size:23px;font-weight:500;color:var(--sage);margin-top:5px}#queue button{min-width:75px;padding:10px;font-size:18px}#queue button .command-name{display:block;font:10px/1.3 'IBM Plex Sans',sans-serif;max-width:75px;margin-top:7px}#test-record{margin:25px 0}#test-record h2{font-size:24px;font-weight:500;margin:0 0 8px}#test-record>p{font-size:14px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th,td{padding:11px 9px;border-bottom:1px solid var(--line);vertical-align:top}th{font-weight:500;color:var(--sage)}caption{text-align:left;font-size:11px;color:#68725f;padding-bottom:9px}.table-wrap td:first-child{min-width:180px}#record-status{font-style:italic;color:#616b60}#result h2{font-size:25px}#result-code{overflow-wrap:anywhere}.edit-actions button{font-size:11px}.mission{flex-wrap:wrap}
@keyframes branch-flow{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@media(max-width:650px){.valve-name{font-size:8px;padding:2px 3px}.plant-label{font-size:9px;padding:3px 5px}#board-note{left:36%;font-size:10px;padding:7px}.water-readings{gap:5px}.water-readings span{font-size:8px}.water-readings strong{font-size:20px}.commands strong{font-size:13px}.commands button[data-command="send"] small{font-size:9px}table{font-size:11px}th,td{padding:9px 6px}.table-wrap td:first-child{min-width:150px}}
@media(prefers-reduced-motion:reduce){.handle{transition:none}#water-flow path.flow{animation:none}}
@media print{#print-sheet table{font-size:8pt}#print-sheet th,#print-sheet td{padding:4pt 5pt;border-bottom:1px solid #888}#print-sheet h1{font-size:20pt}#print-sheet h2{margin:10pt 0 5pt}#print-sheet p{font-size:9pt;margin:7pt 0}#print-sheet table th{color:black}}
.valve-A{top:25.5%}.valve-B{top:52%}.valve-name{top:420%}.plant-A{top:10%}.plant-B{top:43%}.tank-window{position:absolute;left:13.9%;top:29.3%;width:1.6%;height:12.5%;overflow:hidden;border-radius:3px 3px 7px 7px}.tank-window span{position:absolute;bottom:0;left:0;right:0;height:var(--tank-level,100%);background:#6097aabf;border-top:1px solid #b6d9da;transition:height .35s}.table-wrap tr.selected{background:#ede5d6}
@media(prefers-reduced-motion:reduce){.tank-window span{transition:none}}
