/* Component-only rules. Artwork, colours and type come from the existing site. */
.rover-scene[data-rover-game]{--rover-focus:var(--accent);--al-rover-ready:1;position:relative}
.rover-scene[data-rover-game] [hidden]{display:none!important}
.rover-scene[data-rover-game] figcaption{flex-wrap:wrap;align-items:center;gap:8px 18px}
.rover-scene[data-rover-game] .scene-name{max-width:none}
.rover-scene[data-rover-game] .scene-name>span{font-size:10px;letter-spacing:.03em}
.rover-scene[data-rover-game] .al-rover-actions{display:flex;gap:10px;margin-left:auto;align-items:center}
.rover-scene[data-rover-game] .al-rover-button{font:11px/1.5 var(--mono);color:var(--muted);border:1px solid var(--line);background:transparent;min-height:44px;padding:8px 13px;border-radius:3px;white-space:normal;word-break:normal;overflow-wrap:normal;cursor:pointer;transition:background .16s,color .16s,border-color .16s}
.rover-scene[data-rover-game] .al-rover-button:hover,.rover-scene[data-rover-game] .al-rover-button[data-pressed=true]{color:var(--text);border-color:var(--accent);background:var(--accent-surface)}
.rover-scene[data-rover-game] .al-rover-button:disabled{opacity:.5;cursor:default}
.rover-scene[data-rover-game] :focus-visible{outline:2px solid var(--rover-focus);outline-offset:4px}
.rover-scene[data-rover-game] .rover-stage{height:196px;overflow:hidden;contain:layout paint;isolation:isolate;margin-top:8px}
.rover-scene[data-rover-game] .al-rover-terrain{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.rover-scene[data-rover-game] .rover-object{top:0;left:0;bottom:auto;transform-origin:45.833333% 46.666667%;cursor:pointer;touch-action:pan-y;z-index:1}
.rover-scene[data-rover-game] .rover-vector{display:block}
.rover-scene[data-rover-game] .rover-wheel{transform-box:view-box;transform-origin:0 0}
.rover-scene[data-rover-game] .rover-wheel>circle:first-child{fill:var(--surface)}
.rover-scene[data-rover-game] .rover-coordinate{right:0;bottom:3px;opacity:.7;font-size:10px;pointer-events:none}
.rover-scene[data-rover-game] .al-rover-jets{stroke:var(--accent);opacity:0;pointer-events:none;stroke-width:1.4}
.rover-scene[data-rover-game] .al-rover-jets path:last-child{opacity:.4;stroke-width:.7}
.rover-scene[data-rover-game][data-rover-mode=manual] .rover-object{color:var(--text)}
.rover-scene[data-rover-game] .al-rover-hud{position:absolute;top:4px;left:0;right:0;display:flex;flex-wrap:wrap;gap:8px 24px;font:10px/1.6 var(--mono);color:var(--muted);pointer-events:none}
.rover-scene[data-rover-game] .al-rover-hud b{font-weight:400;color:var(--text);font-variant-numeric:tabular-nums}
.rover-scene[data-rover-game] .al-rover-energy{margin-left:auto;display:flex;align-items:center;gap:8px}
.rover-scene[data-rover-game] .al-rover-energy>i{display:block;width:30px;height:2px;background:var(--line);overflow:hidden}
.rover-scene[data-rover-game] .al-rover-energy>i>i{display:block;width:100%;height:100%;background:var(--accent);transform-origin:left}
.rover-scene[data-rover-game] .al-rover-panel{padding-top:10px;animation:al-rover-enter .18s ease-out}
.rover-scene[data-rover-game] .al-rover-controls{display:flex;gap:10px;max-width:440px;margin:auto;justify-content:center}
.rover-scene[data-rover-game] .al-rover-controls>.al-rover-button{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;flex:1;min-width:0;min-height:54px}
.rover-scene[data-rover-game] .al-rover-controls span,.rover-scene[data-rover-game] .al-rover-controls small{display:block}
.rover-scene[data-rover-game] .al-rover-controls small{font-size:9px;opacity:.65;margin-top:2px;white-space:normal}
.rover-scene[data-rover-game] .al-rover-controls [data-r-input=gas]{margin-left:auto}
.rover-scene[data-rover-game] .al-rover-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;margin-top:6px;font:10px/1.6 var(--mono);color:var(--muted)}
.rover-scene[data-rover-game] .al-rover-tools .al-rover-button{border-color:transparent;padding:4px 0}
.rover-scene[data-rover-game] .al-rover-tools>span{margin-left:auto}
.rover-scene[data-rover-game] .al-rover-tools b{font-weight:400}
.rover-scene[data-rover-game] .al-rover-help{font:11px/1.8 var(--mono);color:var(--muted);max-width:760px;margin:10px 0 0}
.rover-scene[data-rover-game] .al-rover-help>span{display:block;opacity:.65;margin-top:6px}
.rover-scene[data-rover-game] .al-rover-crash{position:absolute;inset:30px 0 12px;z-index:2;display:flex;justify-content:center;align-items:center;gap:18px;background:color-mix(in srgb,var(--surface) 88%,transparent);font:12px/1.7 var(--mono);color:var(--text)}
@keyframes al-rover-enter{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:650px){
 .rover-scene[data-rover-game] figcaption{gap:4px 8px}
 .rover-scene[data-rover-game] .scene-name{font-size:10px;width:100%}
 .rover-scene[data-rover-game] .scene-name>span{display:inline-block;margin-left:8px;font-size:9px}
 .rover-scene[data-rover-game] .al-rover-actions{margin-left:0;width:100%;justify-content:space-between;gap:8px}
 .rover-scene[data-rover-game] .al-rover-actions .al-rover-button{font-size:10px;padding:6px 10px}
 .rover-scene[data-rover-game] .rover-stage{height:192px;margin-top:6px}
 .rover-scene[data-rover-game] .al-rover-hud{font-size:9px;gap:4px 12px}
 .rover-scene[data-rover-game] .al-rover-energy{width:100%;margin-left:0;gap:6px}
 .rover-scene[data-rover-game] .al-rover-controls{gap:8px}
 .rover-scene[data-rover-game] .al-rover-controls>.al-rover-button{padding:7px 5px;font-size:10px}
 .rover-scene[data-rover-game] .al-rover-controls small{font-size:9px}
 .rover-scene[data-rover-game] .al-rover-crash{flex-direction:column;gap:10px;text-align:center}
}
@media(prefers-reduced-motion:reduce){.rover-scene[data-rover-game] .al-rover-panel{animation:none}.rover-scene[data-rover-game] .al-rover-button{transition:none}}

.rover-scene[data-rover-game] .rover-object:focus-visible{outline:1px dashed var(--accent);outline-offset:2px;border-radius:2px}

/* Resource telemetry fits inside the existing scene; no added page-height panel. */
.rover-scene[data-rover-game] .al-rover-hud{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:8px 20px}
.rover-scene[data-rover-game] .al-rover-telemetry{display:flex;flex-wrap:wrap;gap:6px 20px}
.rover-scene[data-rover-game] .al-rover-resources{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px 24px}
.rover-scene[data-rover-game] .al-rover-resource{display:flex;align-items:center;gap:7px;white-space:normal;word-break:normal}
.rover-scene[data-rover-game] .al-rover-resource>b{width:6ch;min-width:6ch;flex:0 0 6ch;text-align:right}
.rover-scene[data-rover-game] .al-rover-resource>i{display:block;width:38px;height:3px;background:var(--line);overflow:hidden;flex:none}
.rover-scene[data-rover-game] .al-rover-resource>i>i{display:block;width:100%;height:100%;background:var(--accent);transform-origin:left;transition:none}
.rover-scene[data-rover-game] .al-rover-resource:last-child>i>i{background:var(--cyan)}
.rover-scene[data-rover-game] .al-rover-resource[data-state=low]{color:var(--accent)}
.rover-scene[data-rover-game] .al-rover-resource[data-state=critical],.rover-scene[data-rover-game] .al-rover-resource[data-state=depleted]{color:var(--error)}
.rover-scene[data-rover-game] .al-rover-readout{position:absolute;bottom:3px;left:0;right:100px;font:10px/1.5 var(--mono);color:var(--muted);pointer-events:none;white-space:normal;word-break:normal}
.rover-scene[data-rover-game] .al-rover-readout[data-feedback=true]{color:var(--cyan)}
.rover-scene[data-rover-game] .al-rover-readout[data-state=critical],.rover-scene[data-rover-game] .al-rover-readout[data-state=depleted]{color:var(--accent)}
.rover-scene[data-rover-game] .al-rover-solar{stroke:var(--cyan);fill:var(--accent-surface);opacity:1}
.rover-scene[data-rover-game] .al-rover-jets{transform-box:fill-box;transform-origin:50% 0%}
.rover-scene[data-rover-game] .rover-stage:focus-visible{outline:none;box-shadow:inset 0 -1px 0 var(--accent)}
@media(max-width:650px){
 .rover-scene[data-rover-game] .al-rover-hud{grid-template-columns:1fr;gap:5px}
 .rover-scene[data-rover-game] .al-rover-telemetry{gap:6px 15px}
 .rover-scene[data-rover-game] .al-rover-resources{justify-content:space-between;flex-wrap:nowrap;gap:8px}
 .rover-scene[data-rover-game] .al-rover-resource{gap:5px;font-size:9px}
 .rover-scene[data-rover-game] .al-rover-resource>i{width:25px}
 .rover-scene[data-rover-game] .al-rover-readout{font-size:9px;right:87px}
}
@media(prefers-reduced-motion:reduce){.rover-scene[data-rover-game] .al-rover-resource>i>i{transition:none}}

.rover-scene[data-rover-game][data-rover-pickup=true] .al-rover-resource>i>i{transition:transform .18s ease-out}
html[data-motion-quality=low] .rover-scene[data-rover-game] .al-rover-resource>i>i{transition:none}
@media(prefers-reduced-motion:reduce){.rover-scene[data-rover-game][data-rover-pickup=true] .al-rover-resource>i>i{transition:none}}

/* Braking feedback uses actual recovered electrical power. */
.rover-scene[data-rover-game] .al-rover-resource[data-regen=true]{color:var(--cyan)}
.rover-scene[data-rover-game] .al-rover-resource[data-regen=true]>i>i{background:var(--cyan)}
.rover-scene[data-rover-game] .al-rover-crash{inset:auto 0 20px;justify-content:flex-end;background:transparent;pointer-events:none;padding:4px;gap:12px}
.rover-scene[data-rover-game] .al-rover-crash>span{background:var(--surface);padding:3px 6px}
.rover-scene[data-rover-game] .al-rover-crash>button{pointer-events:auto;background:var(--surface)}
@media(max-width:650px){.rover-scene[data-rover-game] .al-rover-crash{flex-direction:row;flex-wrap:wrap;font-size:10px;gap:4px 8px}}

/* Flight altitude may grow freely; its changing digit count must not shift the HUD. */
.rover-scene[data-rover-game] .al-rover-telemetry b{display:inline-block;text-align:right;font-variant-numeric:tabular-nums}
.rover-scene[data-rover-game] [data-r-altitude]{width:6ch}
.rover-scene[data-rover-game] [data-r-speed]{width:5ch}
.rover-scene[data-rover-game] [data-r-distance]{min-width:5ch}

/* Compact additions to the existing controls. */
.rover-scene[data-rover-game] .al-rover-environment{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:8px 20px;min-width:0;font-size:10px;line-height:1.4;font-variant-numeric:tabular-nums}
.rover-scene[data-rover-game] [data-r-martian-clock]{white-space:nowrap;color:var(--text);pointer-events:auto}
.rover-scene[data-rover-game] [data-r-solar]{white-space:nowrap;color:var(--muted);pointer-events:auto}
.rover-scene[data-rover-game] [data-r-solar][data-active=true]{color:var(--cyan)}
@media(max-width:650px){.rover-scene[data-rover-game] .al-rover-environment{font-size:9px;gap:8px}}
.rover-scene[data-rover-game] [data-r-action=fullscreen]{border:0;background:transparent;padding:10px;width:44px;height:44px;flex:none}
.rover-scene[data-rover-game] [data-r-action=fullscreen] svg{width:21px;height:21px;display:block}
.rover-scene[data-rover-game] .al-rover-controls{max-width:560px}
.rover-scene[data-rover-game] .al-rover-speeds{display:flex;gap:2px;align-items:center}
.rover-scene[data-rover-game] .al-rover-speeds .al-rover-button{min-height:40px;padding:4px 8px;border-color:transparent;font-size:10px;text-transform:uppercase}
.rover-scene[data-rover-game] .al-rover-speeds [aria-pressed=true]{color:var(--text);background:var(--accent-surface);box-shadow:inset 0 -1px 0 var(--accent)}
.rover-scene[data-rover-game] .al-rover-turbo-jets{transform-box:view-box;transform-origin:0 0}
.rover-scene[data-rover-game] .al-rover-touch{display:none}

/* Fullscreen is an explicit presentation state, never a second game instance. */
.rover-scene[data-rover-game] .al-rover-volume{display:flex;align-items:center;gap:6px;font-size:9px}
.rover-scene[data-rover-game] [data-r-volume]{width:64px;min-height:44px;accent-color:var(--accent);touch-action:none}
.rover-scene[data-rover-game] .al-rover-records{margin-top:8px;padding:10px;border:1px solid var(--line);border-radius:3px;color:var(--muted);font:10px/1.6 var(--mono);max-height:min(300px,42vh);overflow:auto;overscroll-behavior:contain;touch-action:pan-y;user-select:text}
.rover-scene[data-rover-game] .al-rover-records-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;color:var(--text)}
.rover-scene[data-rover-game] .al-rover-records p{margin:4px 0 8px}
.rover-scene[data-rover-game] .al-rover-personal{display:flex;flex-wrap:wrap;gap:4px 20px;margin-top:8px}
.rover-scene[data-rover-game] .al-rover-personal>b{flex-basis:100%;font-weight:400;color:var(--text)}
.rover-scene[data-rover-game] .al-rover-records strong{font-weight:400;color:var(--text);font-variant-numeric:tabular-nums}
.rover-scene[data-rover-game] .al-rover-record-note{opacity:.7;font-size:9px}
.rover-scene[data-rover-game] .al-rover-standings table{width:100%;border-collapse:collapse;font-size:10px;table-layout:fixed}
.rover-scene[data-rover-game] .al-rover-standings th,.rover-scene[data-rover-game] .al-rover-standings td{text-align:left;padding:5px 4px;border-bottom:1px solid var(--line);font-weight:400;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.rover-scene[data-rover-game] .al-rover-standings th:first-child{width:12%}
.rover-scene[data-rover-game] .al-rover-standings th:last-child{width:19%}
.rover-scene[data-rover-game] .al-rover-standings .is-self{color:var(--text);background:var(--accent-surface)}
.rover-scene[data-rover-game][data-rover-fullscreen][data-rover-records-open=true]{touch-action:pan-y}
.rover-scene[data-rover-fullscreen] .al-rover-records{max-height:min(220px,32vh)}
@media(max-height:500px){.rover-scene[data-rover-fullscreen] .al-rover-records{max-height:24vh;margin-top:2px;padding:6px}}
body.al-rover-fullscreen-open > :not([data-rover-fullscreen]){display:none!important}
.rover-scene[data-rover-game][data-rover-fullscreen]{
 position:fixed!important;inset:auto;top:var(--r-viewport-top,0);left:var(--r-viewport-left,0);
 width:var(--r-viewport-width,100vw);height:var(--r-viewport-height,100vh);height:var(--r-viewport-height,100dvh);
 max-width:none;margin:0;border:0;border-radius:0;box-sizing:border-box;
 padding:max(8px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));
 display:flex;flex-direction:column;background:var(--bg);z-index:2147483000;
 overflow:hidden;overscroll-behavior:none;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;
}
.rover-scene[data-rover-game]:fullscreen{width:100%;height:100%}
.rover-scene[data-rover-game]::backdrop{background:var(--bg)}
.rover-scene[data-rover-fullscreen] figcaption{flex:none;padding:0;gap:4px 12px}
.rover-scene[data-rover-fullscreen] .scene-name{font-size:10px;width:auto;max-width:45%}
.rover-scene[data-rover-fullscreen] .al-rover-actions{margin-left:auto;width:auto;gap:8px}
.rover-scene[data-rover-fullscreen] .rover-stage{flex:1;min-height:0;height:auto;margin-top:8px}
.rover-scene[data-rover-fullscreen] .rover-object{width:clamp(150px,20vw,220px);cursor:default;touch-action:none}
.rover-scene[data-rover-fullscreen] .al-rover-panel{flex:none;padding-top:6px}
.rover-scene[data-rover-fullscreen] .al-rover-tools{margin-top:0;gap:6px 14px}
.rover-scene[data-rover-fullscreen] .al-rover-help{max-height:18vh;overflow:auto;font-size:10px}
.rover-scene[data-rover-fullscreen] .al-rover-button{touch-action:none}
.rover-scene[data-rover-fullscreen][data-rover-touch=true] .al-rover-controls{display:none}
.rover-scene[data-rover-fullscreen][data-rover-touch=true] .al-rover-touch{
 display:flex;justify-content:space-between;align-items:end;position:absolute;inset:auto 2px 12px;gap:16px;z-index:3;pointer-events:none;
}
.rover-scene[data-rover-fullscreen] .al-rover-touch-drive,
.rover-scene[data-rover-fullscreen] .al-rover-touch-propulsion{display:flex;gap:10px;pointer-events:auto}
.rover-scene[data-rover-fullscreen] .al-rover-touch .al-rover-button{
 width:clamp(52px,9vw,72px);height:64px;min-height:56px;padding:6px 4px;
 background:color-mix(in srgb,var(--bg) 88%,transparent);color:var(--text);border-color:var(--control);
}
.rover-scene[data-rover-fullscreen] .al-rover-touch .al-rover-button[data-pressed=true]{background:var(--accent-surface);border-color:var(--accent)}
.rover-scene[data-rover-fullscreen] .al-rover-touch span{display:block;font-size:24px;line-height:1.1}
.rover-scene[data-rover-fullscreen] .al-rover-touch small{display:block;font-size:9px;line-height:1.3;margin-top:3px}
.rover-scene[data-rover-fullscreen][data-rover-touch=true] .al-rover-readout{bottom:88px;right:0;font-size:9px}
.rover-scene[data-rover-fullscreen][data-rover-touch=true] .al-rover-crash{bottom:90px;justify-content:center}
@media(max-width:650px){
 .rover-scene[data-rover-game] .al-rover-tools{gap:4px 12px}
 .rover-scene[data-rover-fullscreen] .scene-name{max-width:40%;font-size:8px}
 .rover-scene[data-rover-fullscreen] .scene-name>span{display:block;margin-left:0;font-size:8px}
 .rover-scene[data-rover-fullscreen] .al-rover-actions{gap:6px}
 .rover-scene[data-rover-fullscreen] .al-rover-actions .al-rover-button{min-height:40px;padding:6px;font-size:9px}
 .rover-scene[data-rover-fullscreen] .al-rover-hud{gap:4px}
 .rover-scene[data-rover-fullscreen] .al-rover-touch-drive,
 .rover-scene[data-rover-fullscreen] .al-rover-touch-propulsion{gap:6px}
}
@media(max-height:500px){
 .rover-scene[data-rover-fullscreen] .al-rover-hud{grid-template-columns:1fr auto;font-size:9px;gap:4px 12px}
 .rover-scene[data-rover-fullscreen] .al-rover-telemetry{gap:5px 12px}
 .rover-scene[data-rover-fullscreen] .al-rover-resources{gap:8px}
 .rover-scene[data-rover-fullscreen] .al-rover-touch .al-rover-button{height:56px}
 .rover-scene[data-rover-fullscreen] .al-rover-panel{padding-top:2px}
}
