.welcome h2{font-size:26px}.welcome{width:340px}.digital-speed strong{font-size:41px;letter-spacing:-2px}.telemetry{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;border-top:1px solid #496662;border-bottom:1px solid #496662;padding:10px 0;font-size:10px;color:#b5cbc4}.telemetry b{font:17px Consolas,monospace;color:#e4eee6;margin:0 3px}.destination{margin:10px 0 13px}.guidance .driving-advice{min-height:40px}.handle-labels,.notch-scale{grid-template-columns:9fr 1fr 5fr}input[type=range]{background:linear-gradient(to right,#a17a69 0%,#a17a69 62.8%,#c3d4ba 62.8%,#c3d4ba 66%,#75a297 66%)}.operating-panel{display:flex;gap:22px;align-items:center;flex-wrap:wrap;padding:16px 32px;background:#203f43;border-top:1px solid #56736c;font-size:11px}.operating-panel button{font-size:11px;min-height:34px;padding:5px 11px}.reverser-group{display:flex;align-items:center;gap:4px}.reverser-group>span{margin-right:7px}.reverser-group button{min-width:38px}.reverser-group button[aria-pressed=true]{background:#d1dcc7;color:#284c47}.protection-display{display:flex;gap:12px;align-items:center}.protection-display>b{color:#add8b7}.protection-display>b.intervention{color:#fac585}.distance-option{display:flex;align-items:center;gap:5px;margin-left:auto;color:#b6cbc3;font-size:10px}.distance-option input{accent-color:#8cb9a3}.working-timetable{padding:12px 32px;background:#23464a;border-top:1px solid #4d6f68;font-size:11px}.working-timetable summary{cursor:pointer;color:#c5d6ce;min-height:28px;padding:5px 0}.timetable-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;padding:10px 0 15px}.timetable-grid th,.timetable-grid td{border-color:#56766e;color:#d5e1d6}.timetable-grid p{font-size:11px;line-height:1.9;color:#bccfc4}.timetable-grid small{font-size:10px;color:#8eafa1}.route-strip .train-id{font-family:inherit;font-size:10px}.pause-screen b{font-size:21px}.field{display:flex;flex-direction:column;gap:8px;font-size:12px;margin:20px 0}.field select{color-scheme:light;width:100%;padding:10px;border:1px solid #8ca79b;border-radius:4px;background:#fff;color:#284c47;font:12px sans-serif}.input-actions{display:flex;flex-wrap:wrap;gap:8px}.input-actions button,dialog .record-actions button{font-size:11px;padding:8px 12px;background:#416e63}#device-message{font-size:12px;line-height:1.8;min-height:44px;color:#315d50}#calibration{background:#d8e7da;padding:16px;border-radius:6px;margin:14px 0}#calibration h3{font-size:16px;margin:0 0 8px}#calibration strong{font:700 30px Consolas,monospace;padding:0 9px}#calibration p{font-size:11px}#calibration button{font-size:11px;padding:6px 12px}#calibration-count{display:block;text-align:right;font-size:11px;margin-top:6px}dialog details{margin:15px 0;font-size:11px}dialog summary{cursor:pointer;min-height:32px;padding:8px 0}.binding-row{display:grid;grid-template-columns:1fr 1.4fr auto;align-items:center;gap:6px;margin:6px 0}.binding-row button{font-size:10px;min-height:31px;padding:3px 8px}#raw-input{font:10px/1.8 Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;background:#d7e4d8;padding:12px}.record-actions{display:flex;gap:9px}.record-actions .primary{color:#fff}#energy{font-size:11px}#events-table{max-height:220px;overflow:auto}#records-dialog{width:min(620px,calc(100% - 32px))}#records-dialog td{font-variant-numeric:tabular-nums}.controller .drive-buttons button{font-size:12px}.console{grid-template-columns:.85fr 1.35fr 1.1fr}.speed-instrument .dial{margin-top:0}.distance strong{font-size:32px}.window-status span{font-variant-numeric:tabular-nums}
@media(max-width:1000px){.utilities{gap:5px}.utilities button{font-size:10px;padding:0 7px}.service small{display:none}.operating-panel{gap:12px;padding:13px 20px}.protection-display{gap:8px}.distance-option{margin-left:0}.welcome{width:310px}.console{grid-template-columns:.8fr 1.3fr 1fr}.guidance .panel-heading{font-size:9px}}
@media(max-width:740px){.topbar{height:76px;flex-wrap:wrap;align-content:center;gap:7px}.brand div>span{display:none}.brand{margin-right:auto}.rail-mark{width:25px;height:26px;font-size:18px;line-height:22px}h1{font-size:14px}.utilities{gap:4px}.utilities button{font-size:9px;min-height:29px;padding:0 6px}.utilities #help{min-width:24px}.welcome{width:280px;left:5%;padding:17px 20px}.welcome h2{font-size:22px}.welcome p{font-size:10px}.window{height:clamp(285px,40vh,440px)}.console{grid-template-columns:125px minmax(0,1fr)}.digital-speed strong{font-size:27px;letter-spacing:-1px}.telemetry{font-size:8px;gap:5px 6px;padding:7px 0}.telemetry b{font-size:12px;margin:0 2px}.distance strong{font-size:22px}.destination h2{font-size:22px}.destination{margin:8px 0}.guidance .panel-heading{font-size:8px}.controller .drive-buttons button{font-size:10px}.controller .drive-buttons{grid-row:1/4}.operating-panel{padding:13px 12px;gap:12px;font-size:10px}.protection-display{flex-wrap:wrap;gap:8px;font-size:10px}.distance-option{font-size:9px}.working-timetable{padding:10px 14px}.timetable-grid{grid-template-columns:1fr;gap:8px}.working-timetable table{font-size:10px}.route-strip{position:relative}.route-strip .train-id{display:none}.speed-instrument .dial{margin-top:20px}.lamps{margin-top:18px}.station-controls button{font-size:9px}.guidance .driving-advice{min-height:37px}.controller .secondary-controls{grid-row:4}.record-actions{flex-direction:column}.pause-screen b{font-size:17px}}
@media(max-width:370px){.console{grid-template-columns:110px minmax(0,1fr)}.destination h2{font-size:20px}.distance strong{font-size:18px}.brand h1{font-size:12px}.utilities button{padding:0 4px}.brand{gap:5px}.telemetry{font-size:7px}.window{height:290px}}
.plateau-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px 22px;padding:12px 32px;background:#203f43;border-top:1px solid #56736c;font-size:11px;color:#c8d9d0}.plateau-controls>label{display:flex;align-items:center;gap:8px;min-height:40px;cursor:pointer;font-weight:700}.plateau-controls input{accent-color:#b4d4ba;width:16px;height:16px}.plateau-controls>span{font-size:10px;color:#b1c8bc}.plateau-controls details{flex-basis:100%;line-height:1.9}.plateau-controls summary{cursor:pointer;min-height:30px;color:#b4cfc0}.plateau-controls p{max-width:85ch;font-size:11px}.plateau-controls a{color:#d7e9c3;text-underline-offset:3px}.plateau-controls a:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}@media(max-width:740px){.plateau-controls{padding:10px 14px;gap:3px 12px}.plateau-controls>label{font-size:11px}.plateau-controls>span{flex-basis:100%;font-size:10px}.plateau-controls p{font-size:10px;overflow-wrap:anywhere}}
.route-strip ol{min-width:0;flex:1;width:auto;max-width:1050px;overflow-x:auto;gap:12px;padding:7px 0;scrollbar-width:thin}.route-strip li{font-size:11px;padding-right:5px}.route-strip .train-id{flex-shrink:0}.signal.caution{color:#f2cd6f!important}@media(max-width:740px){.route-strip{gap:9px}.route-strip ol{gap:10px;justify-content:flex-start}.route-strip li{font-size:10px;flex-shrink:0}}
.pad-legend{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:3px 10px;margin:8px 0 0;font-size:10px;line-height:1.6;color:inherit;opacity:.9}
.pad-legend[hidden]{display:none}
.pad-legend kbd{display:inline-block;min-width:1.7em;padding:0 4px;border:1px solid currentColor;border-radius:9px;font:700 9px/1.5 Consolas,monospace;text-align:center}
.pad-section{border-bottom:1px solid #c9d8cd;padding-bottom:10px;margin-bottom:12px}
.pad-check{display:flex;gap:6px;align-items:flex-start;font-size:11px;margin:8px 0}
.pad-binding{grid-template-columns:1fr 1.4fr}
#pad-reset{font-size:10px;margin-top:6px}
#pad-message{font-size:12px;line-height:1.8;min-height:44px;color:#315d50}
