.machine{border:2px outset #fff;background:#c0c0c0;color:#111;margin:16px 0;padding:8px;font-family:Tahoma,Arial,sans-serif;position:relative}
.machine-title{background:#000080;color:white;padding:6px 8px;display:flex;justify-content:space-between;gap:10px;font-size:12px}.machine-title span{font-size:10px}.machine-status{display:flex;justify-content:space-between;gap:8px;padding:8px;background:#111;color:#b6ff59;font:11px monospace;margin-top:7px}.machine-status.urgent{color:#fff;background:#990000}.machine-instructions{font-size:12px;padding:10px 3px;color:#111}.machine-controls{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.machine .button{min-height:40px;padding:7px 10px;font:12px Tahoma,Arial,sans-serif}.machine .ready{background:#d9ff96;color:#003500}.machine-meter{font:11px monospace;background:#ddd;border:2px inset white;padding:7px}.machine-feedback{min-height:58px;background:#fffcc2;border:1px solid #9a8b00;color:#443b00;padding:9px;font-size:12px;margin:10px 0}.machine-range{display:block;font-size:12px;margin-top:12px}.machine-range input{display:block;width:100%;min-height:34px;accent-color:navy}.machine [hidden]{display:none!important}.service-manual{font-size:11px;margin:12px 0;border:1px dashed #666;padding:7px}.service-manual summary{cursor:pointer}.service-manual p{margin-top:6px}.weight-shelf{border:3px inset white;background:#808080;color:white;padding:7px;min-height:67px;display:flex;justify-content:space-between;gap:8px;font:11px monospace}.weight-shelf small{font-size:10px}.weight-shelf b{align-self:center}.weight-window{width:min(310px,100%);margin:12px auto;border:2px outset #fff;box-shadow:3px 3px 0 #333;background:#d4d0c8;position:relative;z-index:2}.weight-window.is-parked{border-color:#0c6700;box-shadow:2px 2px 0 #185111}.weight-title{display:flex;justify-content:space-between;align-items:center;background:#000080;padding:2px;gap:3px}.weight-title>button:first-child{border:0;background:none;color:white;text-align:left;flex:1;min-width:0;font:bold 10px Tahoma,sans-serif;padding:8px 3px;cursor:grab;touch-action:none}.weight-title .button{min-height:26px;padding:0 8px;font-size:18px}.weight-window p{font-size:11px;line-height:1.5;padding:8px}.weight-window>div:last-child:not(.weight-title){text-align:right;padding:0 7px 7px}.time-readouts{display:flex;justify-content:space-around;gap:8px;align-items:center;margin:15px 0}.time-readouts>div{padding:8px;background:#101a10;color:#c2ff78;border:2px inset #eee;flex:1;text-align:center}.time-readouts small{display:block;font:9px monospace}.time-readouts output{font:bold 24px monospace;white-space:nowrap}.cable-link{font-size:25px}.time-track{height:65px;margin:25px 16px 10px;position:relative;border-top:7px ridge #777;display:flex;justify-content:space-between;padding-top:25px;font:10px monospace}.rail-knob{position:absolute;top:-19px;font:30px monospace;color:navy;transform:translateX(-50%);line-height:30px}.rail-target{position:absolute;top:-26px;transform:translateX(-50%);font:bold 9px monospace;color:#005700;border-left:2px dashed #005700;height:54px;padding:0 3px}.time-track.is-clamped .rail-knob{color:#b00000}.machine .micro{margin-top:10px}.machine-title,.machine-status,.time-readouts{overflow-wrap:anywhere}
@media(max-width:480px){.machine{padding:5px}.machine-title span{display:none}.machine .button{font-size:11px;padding:6px;min-height:44px}.weight-title .button{min-height:32px;padding:0 10px}.time-readouts output{font-size:21px}.machine-controls{gap:4px}.weight-shelf{font-size:10px}.weight-shelf small{font-size:9px}}
.code-readout{display:flex;justify-content:center;gap:7px;background:#111;padding:12px}.code-readout span{font:bold 28px monospace;color:#b6ff59;border-bottom:2px solid #596d4b;width:34px;text-align:center}.key-desktop{--key-width:185px;height:380px;position:relative;isolation:isolate;overflow:hidden;background:#008080;border:2px inset white}.desktop-watermark{display:block;color:#ffffff80;font:11px monospace;text-align:center;margin-top:7px}.keyboard-port{position:absolute;bottom:8px;left:8px;right:8px;height:74px;background:#003d3d;border:2px dashed #c8ffff;color:white;text-align:center;padding:10px;font:12px monospace}.keyboard-port small{font:10px monospace}.key-window{position:absolute;left:calc((100% - var(--key-width)) * var(--key-x));top:calc(100% * var(--key-y));width:var(--key-width);background:#c0c0c0;border:2px outset white;box-shadow:3px 3px #003535}.key-window.is-docked{top:auto;bottom:12px;left:calc((100% - var(--key-width)) / 2);border-color:#b6ff59}.key-window-body{padding:7px;display:grid;grid-template-columns:52px 1fr;gap:5px;align-items:center}.key-window-body>[data-machine="key-type"]{font:bold 28px monospace;grid-row:span 2;height:70px;min-width:44px}.key-window-body small{font:9px monospace;text-align:center}.key-window-body>[data-machine="key-dock"]{font-size:10px;min-height:33px;padding:3px}.key-taskbar{display:flex;gap:3px;flex-wrap:wrap;padding:4px;background:#c0c0c0;border:2px outset white;min-height:42px}.key-taskbar .button{font-size:10px;min-height:32px;padding:3px 8px}
.fan-field{border:3px inset white;background:#003030;margin-top:12px}.fan-field svg{display:block;width:100%;height:auto}.fan-telemetry{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;background:#111;color:#b6ff59;padding:8px;font:11px monospace}.fan-directions{justify-content:center}.fan-sliders{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fan-sliders .machine-range{font-size:11px}.fan-machine [data-fan-start]{background:#ffff8c;color:#111;font-weight:bold;margin:0 6px 5px 0}[data-testid="complete-escape"][hidden]{display:none}
@media(max-width:480px){.fan-sliders{grid-template-columns:1fr;gap:0}.fan-telemetry{font-size:10px}.fan-field{margin-left:-3px;margin-right:-3px}.fan-directions .button{min-width:44px}}
