:root{--bg:#10151b;--card:#19212a;--line:#2b3742;--text:#e6edf3;--muted:#93a1af;--accent:#4cc38a;--accent-ink:#06251a;--warn:#f0b429;--danger:#ff6b6b;--radius:14px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1{margin:.4rem 0 1rem;font-size:1.6rem}h2{margin:0 0 .6rem;font-size:1.1rem}p{margin:0 0 .8rem}a{color:var(--accent)}.page{max-width:760px;padding:1rem max(1rem, env(safe-area-inset-right)) 3rem max(1rem, env(safe-area-inset-left));margin:0 auto}.page.narrow{max-width:420px;padding-top:12vh}.center{text-align:center}.logo{border-radius:18px}.muted{color:var(--muted)}.small{font-size:.875rem}.block{display:block}.mono{letter-spacing:.02em;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.good{color:var(--accent)}.bar{padding:.6rem max(1rem, env(safe-area-inset-right)) .6rem max(1rem, env(safe-area-inset-left));border-bottom:1px solid var(--line);background:var(--card);flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.brand{color:var(--text);margin-right:auto;font-weight:700;text-decoration:none}.who{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:45vw;font-size:.875rem;overflow:hidden}.banner{color:var(--warn);flex-basis:100%;margin:0;font-size:.875rem}button{font:inherit;color:var(--text);border:1px solid var(--line);cursor:pointer;background:#24303b;border-radius:10px;min-height:44px;padding:.55rem 1rem}button:hover:not(:disabled){border-color:var(--muted)}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:700}button.big{margin:.6rem 0 1.2rem;padding:.8rem 2.4rem;font-size:1.1rem}button.quiet{background:0 0}button.danger{background:var(--danger);border-color:var(--danger);color:#2b0707;font-weight:700}button.stop{background:var(--danger);border-color:var(--danger);color:#2b0707;letter-spacing:.04em;text-transform:uppercase;margin-left:auto;padding:.55rem 1.4rem;font-weight:800}label{margin:0 0 .9rem;font-weight:600;display:block}input{width:100%;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:10px;min-height:44px;margin-top:.3rem;padding:.6rem .75rem;display:block}input:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input.code{letter-spacing:.06em;text-transform:uppercase;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.hint{color:var(--muted);margin-top:.25rem;font-size:.8125rem;font-weight:400;display:block}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin:0 0 1rem;padding:1rem 1.1rem;display:block}.card.link{color:var(--text);text-decoration:none}.card.link:hover{border-color:var(--accent)}.card-title{align-items:center;gap:.6rem;margin-bottom:.35rem;font-size:1.15rem;font-weight:700;display:flex}.chip{border:1px solid var(--line);color:var(--muted);vertical-align:middle;border-radius:999px;margin-left:.5rem;padding:.05rem .5rem;font-size:.75rem;font-weight:500;display:inline-block}.facts{flex-wrap:wrap;gap:.3rem 1.1rem;font-size:.9375rem;display:flex}.list{margin:0;padding:0;list-style:none}.list.plain li{border-top:1px solid var(--line);padding:.3rem 0}.list.plain li:first-child{border-top:0}.row{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.6rem;padding:.7rem 0;display:flex}.grow{flex:14rem;min-width:0}.confirm{flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.9375rem;display:flex}.title-row{flex-wrap:wrap;align-items:center;gap:.9rem;margin-bottom:.8rem;display:flex}.title-row h1{margin:0}.back{margin-bottom:.4rem;text-decoration:none;display:inline-block}.facts-grid{grid-template-columns:minmax(7rem,auto) 1fr;gap:.35rem 1rem;margin:0 0 .8rem;display:grid}.facts-grid dt{color:var(--muted)}.facts-grid dd{margin:0;font-weight:600}.dot{align-items:center;gap:.4rem;font-weight:600;display:inline-flex}.dot:before{content:"";background:var(--muted);border-radius:50%;width:.65rem;height:.65rem}.dot.on{color:var(--accent)}.dot.on:before{background:var(--accent);box-shadow:0 0 0 4px #4cc38a2e}.dot.off{color:var(--muted)}.notice{border:1px solid var(--line);border-left:4px solid var(--muted);background:#ffffff05;border-radius:8px;padding:.6rem .8rem}.notice.good{border-left-color:var(--accent);color:var(--text)}.notice.warning{border-left-color:var(--warn)}.event.warning{color:var(--warn)}.event.error{color:var(--danger)}a.button{color:var(--text);border:1px solid var(--line);background:#24303b;border-radius:10px;min-height:44px;padding:.55rem 1.4rem;font-weight:600;line-height:1.6;text-decoration:none;display:inline-block}a.button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:700}.drive{background:var(--bg);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;overscroll-behavior:none;grid-template-rows:auto 1fr;display:grid;position:fixed;inset:0;overflow:hidden}.drive-bar{padding:.4rem max(.75rem, env(safe-area-inset-right)) .4rem max(.75rem, env(safe-area-inset-left));border-bottom:1px solid var(--line);background:var(--card);grid-template-columns:fit-content(40%) minmax(0,1fr) auto;align-items:center;gap:.75rem;min-width:0;display:grid}.drive-back{color:var(--text);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-weight:700;text-decoration:none;overflow:hidden}.drive-info{align-items:center;gap:.75rem;min-width:0;display:flex;overflow:hidden}.drive-info .chip{white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;margin-left:0;overflow:hidden}.chip.mode.driving{color:var(--accent);border-color:var(--accent)}.chip.mode.stopping,.chip.mode.cut,.chip.mode.fault{color:var(--warn);border-color:var(--warn)}.drive-facts{color:var(--muted);white-space:nowrap;flex:none;gap:.9rem;margin-left:auto;font-size:.875rem;display:flex}.drive-facts .warn{color:var(--warn)}.drive-facts .bad{color:var(--danger)}.drive-bar .stop{grid-column:3;min-width:6.5rem;margin-left:0}.drive-stage{--tile-w:clamp(7.5rem, 20vw, 15rem);min-height:0;position:relative;overflow:hidden}.view{background:#05080b;position:absolute;overflow:hidden}.view-main{inset:0}.view-tile{z-index:1;right:max(.75rem, env(safe-area-inset-right));width:var(--tile-w);aspect-ratio:16/9;border:1px solid var(--line);cursor:pointer;border-radius:10px;box-shadow:0 2px 10px #00000080}.view-tile>*{pointer-events:none}.view-tile:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.view-tile.slot-0{top:.75rem}.view-tile.slot-1{top:calc(1.25rem + var(--tile-w) * 9 / 16)}.drive-stage[data-main=map] .view-tile.slot-0{top:3.6rem}.drive-stage[data-main=map] .view-tile.slot-1{top:calc(4.1rem + var(--tile-w) * 9 / 16)}.video{place-items:center;display:grid;position:absolute;inset:0;container-type:size}.video-picture{aspect-ratio:16/9;width:min(100cqw,177.778cqh);position:relative;overflow:hidden}.video-picture video{object-fit:contain;width:100%;height:100%;display:block;position:absolute;bottom:0;left:0}.video[data-video=frozen] video{filter:grayscale()brightness(.55)}.video.coded .video-picture{aspect-ratio:80/44;width:min(100cqw,181.818cqh)}.video.coded .video-picture video{object-fit:fill;height:calc(102.273% + 1px)}.video-name{color:var(--muted);background:#10151bb8;border-radius:6px;padding:.1rem .5rem;font-size:.75rem;position:absolute;bottom:.5rem;left:50%;transform:translate(-50%)}.video-note{border:1px solid var(--line);text-align:center;background:#10151bdb;border-radius:10px;max-width:90%;margin:0;padding:.5rem .9rem;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.video-note.frozen{border-color:var(--danger);color:var(--danger);font-size:1.25rem}.view-tile .video-name{font-size:.6875rem;bottom:.25rem;left:.3rem;transform:none}.view-tile .video-note{padding:.15rem .4rem;font-size:.6875rem;font-weight:600}.hud{z-index:1;position:absolute}.hud-top{top:.75rem;left:max(.75rem, env(safe-area-inset-left));right:calc(max(.75rem, env(safe-area-inset-right)) + var(--tile-w) + .75rem);z-index:2;pointer-events:none;grid-template-columns:auto minmax(0,30rem);justify-content:space-between;align-items:start;gap:.5rem .75rem;display:grid}.hud-top>*{pointer-events:auto}.hud-speed{border-radius:var(--radius);border:1px solid var(--line);background:#10151bc7;grid-template-columns:auto auto;align-items:baseline;column-gap:.4rem;padding:.4rem .8rem;display:grid}.speed-value{font-variant-numeric:tabular-nums;font-size:2.4rem;font-weight:800;line-height:1}.speed-unit{color:var(--muted);font-weight:600}.speed-cap{color:var(--muted);grid-column:1/-1;font-size:.8125rem}.drive-info.old .chip,.drive-info.old .drive-facts,.hud-speed.old .speed-value,.hud-speed.old .speed-cap{opacity:.4}.hud-speed.old{border-color:var(--warn)}.hud-messages{gap:.35rem;min-width:0;display:grid}.hud-messages .notice{background:#10151bdb;margin:0;padding:.4rem .7rem;font-size:.9375rem}button.inline{min-height:32px;margin-left:.3rem;padding:.15rem .8rem}.hud-panel{left:max(.75rem, env(safe-area-inset-left));bottom:max(.75rem, env(safe-area-inset-bottom));justify-items:start;gap:.5rem;width:min(21rem,52%);display:grid}.hud-panel .hint{background:#10151bc7;border-radius:8px;margin:0;padding:.3rem .6rem}.switches{flex-wrap:wrap;align-items:end;gap:.5rem;display:flex}.segments{border:0;margin:0;padding:0;display:flex}.segments legend{color:var(--muted);padding:0;font-size:.75rem}.segments button{border-radius:0}.segments button:first-of-type{border-radius:10px 0 0 10px}.segments button:last-of-type{border-left:0;border-radius:0 10px 10px 0}.segments button[aria-pressed=true],button.toggle[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:700}.hud-stick{right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom))}.joystick{touch-action:none;cursor:grab;width:clamp(9rem,26vmin,13rem);height:clamp(9rem,26vmin,13rem);display:block}.joystick.disabled{opacity:.35;cursor:default}.joystick-base{fill:#10151bb8;stroke:var(--line);stroke-width:3px}.joystick-marks{stroke:var(--muted);stroke-width:3px;stroke-linecap:round;fill:none}.joystick-knob{fill:#3a4a59;stroke:var(--muted);stroke-width:3px}.joystick.active .joystick-knob{fill:var(--accent);stroke:var(--accent)}.map{background:#0b0f13;position:absolute;inset:0}.map svg{width:100%;height:100%;display:block}.map-ground{fill:#14241b}.map-line{stroke:#ffffff12;stroke-width:1px;vector-effect:non-scaling-stroke}.map-line.major{stroke:#ffffff2e}.map-trail{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke;opacity:.75}.map-wheel{fill:#0b0f13}.map-body{fill:var(--text)}.map-nose{fill:var(--accent-ink)}.map-rover.old{opacity:.4}.map-dock path{fill:none;stroke:#6cb6ff;stroke-width:3px;vector-effect:non-scaling-stroke}.map-dock text,.map-post text{fill:var(--muted);dominant-baseline:middle;font-size:.45px;font-weight:600}.map-post circle{fill:var(--warn)}.map-tools{top:.75rem;right:max(.75rem, env(safe-area-inset-right));align-items:center;gap:.4rem;display:flex;position:absolute}.map-tools[hidden]{display:none}.small-button{background:#10151bc7;min-width:36px;min-height:36px;padding:0;font-size:1.2rem;line-height:1}.map-scale{color:var(--muted);background:#10151bc7;border-radius:8px;padding:.2rem .5rem;font-size:.75rem}@media (pointer:coarse){.desk-only{display:none}}.turn-phone{display:none}@media (height<=520px){.roomy-only,.map-scale{display:none}.drive-stage{--tile-w:clamp(5.5rem, 13vw, 7.5rem)}.view-tile.slot-1{top:.75rem;right:calc(max(.75rem, env(safe-area-inset-right)) + var(--tile-w) + .5rem)}.drive-stage[data-main=map] .view-tile.slot-1{top:3.6rem}.hud-top{right:calc(max(.75rem, env(safe-area-inset-right)) + 2 * var(--tile-w) + 1.25rem)}.speed-value{font-size:1.8rem}.hud-messages .notice{padding:.3rem .6rem;font-size:.8125rem}}@media (orientation:portrait){.drive-bar{grid-template-columns:minmax(0,1fr) auto;row-gap:.3rem}.drive-bar .stop{grid-area:1/2}.drive-info{grid-area:2/1/auto/-1}.drive-facts{font-size:.8125rem}.hud-top{right:max(.75rem, env(safe-area-inset-right));grid-template-columns:minmax(0,1fr);justify-items:start}.hud-messages{justify-self:stretch}.hud-panel{width:calc(100% - 12.5rem);min-width:9rem}.roomy-only,.map-scale{display:none}.drive-stage{--tile-w:clamp(6rem, 28vw, 10rem)}.view-tile.slot-1{right:calc(max(.75rem, env(safe-area-inset-right)) + var(--tile-w) + .5rem)}.view-tile.slot-0,.view-tile.slot-1,.drive-stage[data-main=map] .view-tile.slot-0,.drive-stage[data-main=map] .view-tile.slot-1{top:auto;bottom:calc(clamp(9rem,26vmin,13rem) + 2.5rem)}}@media (orientation:portrait) and (pointer:coarse){.turn-phone{display:block}}
