/* Turn the Robot: shared interface for the local laboratories. */
:root{color-scheme:dark;--bg:#17212b;--paper:#1d2a34;--panel:#1d2a34;--surface:#1d2a34;--surface2:#233540;--ink:#f5f5ed;--text:#f5f5ed;--muted:#a8bbc5;--border:#3c515b;--line:#3c515b;--green:#28c2cc;--accent:#28c2cc;--mint:#203840;--orange:#ffb075;--purple:#c2a1f2;--blue:#83c5f5;--speed:#28c2cc;--slip:#ffb075;--shadow:none;--sans:"Segoe UI",Arial,sans-serif;--mono:Consolas,monospace}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);margin:0}
button,input,select,textarea{font-family:inherit}a{color:var(--accent)}
button,select,input[type=number],input[type=text],textarea{border-radius:6px}
button:hover{background:#263c47;border-color:#65808d}button:active{transform:translateY(1px)}
button.primary,.button.primary{background:var(--accent);color:#102c36;border-color:var(--accent)}button.primary:hover,.button.primary:hover{background:#67d6dc}
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid #ffb075;outline-offset:3px}
input[type=range],input[type=checkbox],progress{accent-color:var(--accent)}
input[type=text],input[type=number],select,textarea{color:var(--text);background:#15232e;border-color:var(--border)}
input:disabled,button:disabled{cursor:default}
.panel{border-radius:9px;box-shadow:none;background:var(--panel)}
.ttr-nav{font:12px/1.4 "Segoe UI",Arial,sans-serif;display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1510px;margin:auto;padding:23px 32px;border-bottom:1px solid var(--border);color:var(--text)}
.ttr-nav a{text-decoration:none}.ttr-brand{display:flex;align-items:center;gap:12px;flex-shrink:0;color:var(--text)!important;font-weight:800;letter-spacing:1px;font-size:15px}
.ttr-brand svg{width:44px;height:29px;color:var(--accent)}.ttr-brand small{display:block;margin-top:5px;font:8px Consolas,monospace;letter-spacing:1.7px;color:var(--muted)}
.ttr-links{display:flex;align-items:center;gap:7px;min-width:0}.ttr-links a{border:1px solid transparent;border-radius:5px;padding:9px 11px;color:var(--muted);white-space:nowrap}.ttr-links a:hover{color:var(--text);border-color:var(--border)}.ttr-links a[aria-current=page]{color:var(--accent);border-color:var(--border);background:#20333d}
.ttr-section-heading{color:var(--accent);font:11px Consolas,monospace;letter-spacing:1.7px;margin:0 0 10px}
.ttr-related{display:flex;gap:10px;flex-wrap:wrap;font-size:12px}.ttr-related a{border:1px solid var(--border);padding:9px 12px;border-radius:5px;text-decoration:none}.ttr-related a:hover{border-color:var(--accent)}
.ttr-angle-reset{width:100%;margin:0 0 12px;font-size:11px}
/* The diagrams retain physical object colours; their surrounding controls share one palette. */
body[data-app=regulators] .top{display:none}
body[data-app=regulators] .task-switch{padding-top:26px}
body[data-app=regulators] .mode[aria-pressed=true],body[data-app=regulators] .task-tabs button[aria-pressed=true]{background:#213e48;color:var(--ink);border-color:var(--accent)}
body[data-app=regulators] .mode[aria-pressed=true] small,body[data-app=regulators] .task-tabs button[aria-pressed=true] small{color:#b6dce0}
body[data-app=regulators] .task-tabs button[aria-pressed=true] b{color:var(--accent)}
body[data-app=regulators] .task-tabs b{color:#8ba4b0}
body[data-app=regulators] .formula-card,body[data-app=regulators] .race-panel{background:#20343e;border-color:var(--border)}
body[data-app=regulators] .formula-card p{color:var(--muted)}
body[data-app=regulators] .formula-card pre{background:#13212c;color:#c3e7e9;border-color:var(--border)}
body[data-app=regulators] .arena{background:#15232e}
body[data-app=regulators] .arena-legend{background:#15232ee8}
body[data-app=regulators] .value-box input{background:#15232e;color:var(--ink);border-color:var(--border)}
body[data-app=regulators] .race-clock{color:var(--accent)}
body[data-app=regulators] .task-tabs button:hover{background:#263c47}
body[data-app=regulators] .task-vector-info{background:#20333d}
body[data-app=regulators] .term{background:#203b42}body[data-app=regulators] .term.i{background:#332d46}body[data-app=regulators] .term.d{background:#233b4d}
body[data-app=regulators] .term.inactive{opacity:.48}
body[data-app=regulators] .ttr-pdf{border:1px solid var(--border);border-radius:7px;background:var(--panel);margin:18px 0 22px}
body[data-app=regulators] .ttr-pdf>summary{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px 17px;font-size:12px;cursor:pointer;list-style:none}
body[data-app=regulators] .ttr-pdf>summary::-webkit-details-marker{display:none}
body[data-app=regulators] .ttr-pdf>summary>span{color:var(--accent);font-size:11px;white-space:nowrap}
body[data-app=regulators] .ttr-pdf>summary b{display:inline-block;margin-left:8px;font-size:17px;font-weight:400;transition:transform .15s}
body[data-app=regulators] .ttr-pdf[open]>summary{border-bottom:1px solid var(--border)}
body[data-app=regulators] .ttr-pdf[open]>summary b{transform:rotate(45deg)}
body[data-app=regulators] .ttr-pdf .pdf-panel{margin:0;border:0;border-radius:0}
body[data-app=football] .topbar{display:none}
body[data-app=football] .intro-tag{font-size:16px}
body[data-app=football] .intro-tag span{display:block;max-width:240px;font:11px/1.6 var(--sans);color:var(--muted)}
body[data-app=football] .param-tabs button[aria-selected=true]{color:var(--accent);border-color:var(--accent)}
body[data-app=football] .button.primary{color:#102c36}
body[data-app=football] .panel-top strong+.muted{margin-left:12px}
body[data-app=mirror] .lens-logo{border-color:var(--accent);background:#203840}
body[data-app=mirror] .metric{background:#20343e}
body[data-app=mirror] .entity-buttons button[aria-pressed=true]{background:#203e48;border-color:var(--accent)}
body[data-app=mirror] .status:not(.warn):not(.error){background:#203e48;color:#b6e8eb}
@media(max-width:720px){.ttr-nav{padding:18px 15px 13px;display:block}.ttr-brand{font-size:13px;gap:9px}.ttr-brand svg{width:34px}.ttr-brand small{font-size:7px;letter-spacing:1.3px}.ttr-links{margin-top:15px;gap:4px;overflow-x:auto;padding:2px 0 5px}.ttr-links a{padding:8px 9px;font-size:11px}.ttr-related{gap:7px}.ttr-related a{font-size:11px}.ttr-angle-reset{min-height:40px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
