.autonomy-3d-shell{position:relative;min-width:0;border-radius:18px;overflow:hidden;background:#071326;border:1px solid rgba(112,232,255,.18);box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)}
.autonomy-3d-shell canvas{display:block;width:100%;height:auto;aspect-ratio:16/9;min-height:280px;max-height:520px;background:#071326;touch-action:none}
.autonomy-sim-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;background:#091426;border-bottom:1px solid rgba(255,255,255,.07);font-size:10px;font-weight:900;letter-spacing:.08em;color:#8296bd}
.autonomy-sim-bar b{color:#dff7ff}.autonomy-sim-bar span{display:flex;align-items:center;gap:7px}.autonomy-live-dot{width:7px;height:7px;border-radius:50%;background:#5ce1a8;box-shadow:0 0 12px rgba(92,225,168,.8)}
.autonomy-sim-toolbar{display:flex;flex-wrap:wrap;gap:7px;padding:10px;background:#08111f;border-top:1px solid rgba(255,255,255,.07)}
.autonomy-sim-toolbar button{border:1px solid rgba(130,164,220,.23);background:#101d34;color:#c8d7f3;border-radius:9px;padding:8px 10px;font-weight:850;cursor:pointer}.autonomy-sim-toolbar button:hover{border-color:rgba(112,232,255,.55);color:#fff}.autonomy-sim-toolbar button.primary{background:#61dcff;color:#06111d;border-color:#61dcff}
.autonomy-code-note{margin:8px 0 0;color:#7f92b5;font-size:10px;line-height:1.45}.autonomy-code-note strong{color:#9fefff}
.autonomy-state-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0}.autonomy-state-grid>div{padding:9px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07)}.autonomy-state-grid span{display:block;color:#7183aa;font-size:8px;text-transform:uppercase;letter-spacing:.08em}.autonomy-state-grid strong{display:block;margin-top:3px;color:#eaf2ff;font-size:11px}
.autonomy-lesson-focus{padding:10px 12px;border-left:3px solid #61dcff;background:rgba(97,220,255,.06);border-radius:8px;color:#9fb2d1;font-size:11px;line-height:1.45}.autonomy-lesson-focus b{color:#eaf7ff}
@media(max-width:760px){.autonomy-3d-shell canvas{min-height:240px}.autonomy-state-grid{grid-template-columns:1fr}.autonomy-sim-bar{align-items:flex-start;flex-direction:column}}

/* TechNova Robotics Simulator · kid-facing autonomy workspace */
.technova-robotics-lab{--auto-panel:#091426;--auto-panel-2:#0d1b31;--auto-line:rgba(128,190,224,.18);--auto-text:#dff7ff;--auto-muted:#86a0bc}
.autonomy-mode-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 14px;padding:11px 13px;border:1px solid #cfe0eb;border-radius:15px;background:#f6fbff;color:#23445d}.autonomy-mode-banner>div{display:grid;grid-template-columns:auto auto;align-items:center;justify-content:start;gap:5px 9px}.autonomy-mode-banner small{grid-column:1/-1;color:#587188}.autonomy-mode-banner>span{font-size:11px;font-weight:850;color:#557087}.autonomy-mode-pill{display:inline-flex;align-items:center;width:max-content;padding:5px 8px;border-radius:999px;background:#dff7ef;color:#116243;font-size:9px;font-weight:950;letter-spacing:.08em}
.autonomy-learning-shell{border:1px solid #cadce8;border-radius:20px;background:#07111e;overflow:hidden}.autonomy-console-grid{display:grid;grid-template-columns:minmax(520px,1.55fr) minmax(260px,.68fr);gap:1px;background:rgba(146,203,229,.13)}.autonomy-main-column,.autonomy-side-stack{min-width:0;background:#07111e}.autonomy-side-stack{display:grid;grid-template-rows:auto auto 1fr;gap:1px;background:rgba(146,203,229,.13)}
.autonomy-main-column .autonomy-3d-shell{height:auto;min-height:0;border:0;border-radius:0;contain:layout paint}.autonomy-main-column .autonomy-3d-shell canvas{display:block;width:100%;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:16/9!important}
.autonomy-instrument,.autonomy-mission-panel{min-width:0;background:var(--auto-panel)}.autonomy-instrument header,.autonomy-mission-panel header,.autonomy-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-bottom:1px solid var(--auto-line);color:var(--auto-muted);font-size:9px;font-weight:900;letter-spacing:.07em}.autonomy-instrument header span,.autonomy-mission-panel header span,.autonomy-panel-head span{color:var(--auto-text)}.autonomy-instrument canvas{display:block;width:100%;height:auto;aspect-ratio:16/9;min-height:135px;background:#07111e}.autonomy-side-stack .autonomy-instrument:nth-child(2) canvas{aspect-ratio:2/1;min-height:105px}
.autonomy-mission-panel{padding-bottom:10px}.autonomy-mission-list{display:grid;gap:7px;padding:10px}.autonomy-mission-list>div:not(.autonomy-mission-progress){display:grid;grid-template-columns:22px 1fr;align-items:center;gap:7px;padding:8px 9px;border:1px solid rgba(143,181,210,.12);border-radius:10px;background:rgba(255,255,255,.025);color:#aebed0;font-size:10px}.autonomy-mission-list>div i{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#14243a;color:#7e95ad;font-style:normal;font-weight:950}.autonomy-mission-list>div.done{color:#dff8ed;border-color:rgba(92,225,168,.24);background:rgba(92,225,168,.06)}.autonomy-mission-list>div.done i{background:#1f7a5a;color:#e5fff5}.autonomy-mission-progress{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;color:#90a9bf;font-size:9px;font-weight:850}.autonomy-mission-progress i{height:7px;border-radius:999px;background:#15263a;overflow:hidden}.autonomy-mission-progress i b{display:block;height:100%;border-radius:999px;background:#5ce1a8;transition:width .35s ease}
.autonomy-lower-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:1px;border-top:1px solid rgba(146,203,229,.13);background:rgba(146,203,229,.13)}.autonomy-telemetry-panel,.autonomy-tuning-panel{padding:12px;background:var(--auto-panel)}.autonomy-telemetry-panel .autonomy-state-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 10px}.autonomy-tuning-panel{display:grid;align-content:start;gap:10px}.autonomy-tuning-panel label{display:grid;grid-template-columns:1fr auto;gap:5px;color:#a8bbcf;font-size:10px;font-weight:850}.autonomy-tuning-panel label input[type=range]{grid-column:1/-1;width:100%;accent-color:#61dcff}.autonomy-tuning-panel output{color:#dff7ff;font-variant-numeric:tabular-nums}.autonomy-fault-toggle{grid-template-columns:auto 1fr!important;align-items:center!important;padding:8px 9px;border:1px solid rgba(255,102,126,.18);border-radius:10px;background:rgba(255,102,126,.04)}.autonomy-fault-toggle input{grid-column:auto!important;margin:0}.autonomy-scenario-row{display:flex;flex-wrap:wrap;gap:7px}.autonomy-scenario-row button{border:1px solid rgba(130,164,220,.23);background:#101d34;color:#c8d7f3;border-radius:9px;padding:8px 10px;font-weight:850;cursor:pointer}.autonomy-scenario-row button:hover{border-color:rgba(112,232,255,.55);color:#fff}
.autonomy-advanced-bridge{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:14px 0 0;padding:13px 15px;border:1px solid #d1e3ed;border-radius:15px;background:#f8fcff}.autonomy-advanced-bridge>div{display:grid;gap:3px}.autonomy-advanced-bridge span{font-size:9px;font-weight:950;letter-spacing:.1em;color:#4d6b82}.autonomy-advanced-bridge b{color:#173d58}.autonomy-advanced-bridge p{margin:2px 0 0;max-width:780px;color:#5f778a;font-size:11px;line-height:1.45}.autonomy-advanced-bridge a{flex:0 0 auto;text-decoration:none;padding:9px 11px;border:1px solid #b9d5e7;border-radius:10px;background:#fff;color:#145d91;font-size:10px;font-weight:900}.autonomy-advanced-bridge a:hover{border-color:#61b7e8;background:#f2fbff}
.technova-focus-mode .autonomy-console-grid{grid-template-columns:minmax(720px,1.6fr) minmax(330px,.6fr)!important}.technova-focus-mode .autonomy-main-column .autonomy-3d-shell canvas{height:auto!important;min-height:0!important;aspect-ratio:16/9!important}.technova-focus-mode .autonomy-instrument canvas{min-height:170px}
@media(max-width:1120px){.autonomy-console-grid{grid-template-columns:1fr}.autonomy-side-stack{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.autonomy-mission-panel{grid-column:1/-1}.autonomy-main-column .autonomy-3d-shell canvas{height:auto!important;min-height:0!important;aspect-ratio:16/9!important}.autonomy-lower-grid{grid-template-columns:1fr}.technova-focus-mode .autonomy-console-grid{grid-template-columns:1fr!important}.autonomy-telemetry-panel .autonomy-state-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.autonomy-mode-banner{align-items:flex-start;flex-direction:column}.autonomy-mode-banner>div{grid-template-columns:1fr}.autonomy-mode-banner small{grid-column:auto}.autonomy-side-stack{grid-template-columns:1fr}.autonomy-mission-panel{grid-column:auto}.autonomy-main-column .autonomy-3d-shell canvas{height:auto!important;min-height:0!important;aspect-ratio:16/9!important}.autonomy-telemetry-panel .autonomy-state-grid{grid-template-columns:1fr 1fr}.autonomy-advanced-bridge{align-items:flex-start;flex-direction:column}.autonomy-advanced-bridge a{width:100%;text-align:center}}

/* Three.js/WebGL autonomy world */
.autonomy-3d-shell{isolation:isolate;background:linear-gradient(180deg,#07111d,#0b1827)}
.autonomy-3d-shell canvas[data-three-state="ready"],.autonomy-instrument canvas[data-three-state="ready"]{background:#081523}
.autonomy-three-error{position:absolute;inset:44px 12px auto 12px;z-index:8;padding:10px 12px;border:1px solid rgba(255,115,139,.45);border-radius:10px;background:rgba(54,13,25,.94);color:#ffdce3;font-size:11px;font-weight:800;box-shadow:0 10px 26px rgba(0,0,0,.3)}
.autonomy-main-column .autonomy-3d-shell canvas{image-rendering:auto}
.autonomy-instrument{position:relative;overflow:hidden}
.autonomy-instrument canvas{image-rendering:auto}
.autonomy-sim-bar span:last-child{color:#94dff0}
.autonomy-sim-bar span:last-child::before{content:'●';font-size:7px;color:#5ce1a8;filter:drop-shadow(0 0 5px rgba(92,225,168,.8))}
.autonomy-demo-grid .autonomy-3d-shell{min-height:0}
.autonomy-demo-grid .autonomy-3d-shell canvas{height:auto!important;min-height:0!important;aspect-ratio:16/9!important;object-fit:cover}
.technova-focus-mode .autonomy-main-column .autonomy-3d-shell canvas{height:auto!important;min-height:0!important;aspect-ratio:16/9!important}

/* Stable Three.js viewport: width controls height; renderer cannot grow layout. */
.autonomy-console-grid{align-items:start}
.autonomy-main-column{align-self:start}
.autonomy-main-column .autonomy-3d-shell{height:auto!important;min-height:0!important;contain:layout paint}
.autonomy-main-column .autonomy-3d-shell>canvas{display:block!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:16/9!important}

/* TechNova 2.30.0 · TN3 v4 map fidelity + speed-aware autonomy */
.autonomy-city-planner{margin:14px 0 16px;padding:14px;border:1px solid #c9ddea;border-radius:16px;background:linear-gradient(135deg,#f5fbff 0%,#edf8f4 100%);display:grid;gap:12px}
.autonomy-city-search,.autonomy-route-controls{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.autonomy-city-search label{flex:1 1 320px}.autonomy-route-controls label{flex:1 1 190px}.autonomy-city-planner label{display:grid;gap:5px;font-size:.78rem;font-weight:800;color:#17324d}.autonomy-city-planner input,.autonomy-city-planner select{width:100%;min-height:42px;border:1px solid #b8cddd;border-radius:10px;background:#fff;padding:8px 10px;color:#102b45;font:inherit}.autonomy-city-planner button{min-height:42px;border:1px solid #a8c7d9;border-radius:10px;background:#fff;color:#12314c;font-weight:800;padding:8px 13px;cursor:pointer}.autonomy-city-planner button:hover{background:#eaf7ff}.autonomy-city-planner button:disabled{opacity:.55;cursor:wait}#rLoadCity,#rPlanRoute{background:#0e7490;color:white;border-color:#0e7490}#rCityStatus{display:grid;gap:2px;min-width:230px;padding:7px 10px;border-left:3px solid #18a47b}#rCityStatus b{font-size:.83rem;color:#113552}#rCityStatus small{font-size:.72rem;color:#587189}
.autonomy-crash-replay{position:absolute;inset:42px 0 58px 0;z-index:8;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;background:radial-gradient(circle at center,rgba(7,17,31,.14),rgba(7,17,31,.62));color:white;text-align:center;text-shadow:0 2px 10px #000}.autonomy-crash-replay[hidden]{display:none}.autonomy-crash-replay b{font-size:1.4rem;letter-spacing:.14em}.autonomy-crash-replay span{font-size:2.6rem;font-weight:900;margin:.2rem 0}.autonomy-crash-replay small{max-width:480px;font-size:.84rem;background:rgba(3,12,24,.72);padding:8px 12px;border-radius:10px}
.autonomy-learning-brain{margin-top:14px;border:1px solid #284763;border-radius:14px;background:linear-gradient(160deg,#07182b,#0c2137);color:#e7f5ff;padding:14px}.autonomy-learning-brain .autonomy-panel-head{border-bottom-color:#24445f}.autonomy-learning-stats{display:grid;grid-template-columns:repeat(6,minmax(100px,1fr));gap:8px;margin:12px 0}.autonomy-learning-stats>div{background:#f4f9fc;color:#18324b;border-radius:10px;padding:9px;display:grid;gap:3px}.autonomy-learning-stats span{font-size:.64rem;text-transform:uppercase;letter-spacing:.08em;color:#60758a}.autonomy-learning-stats b{font-size:.92rem}.autonomy-learning-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.autonomy-learning-actions button{border:1px solid #4f718e;background:#153551;color:#e7f5ff;border-radius:9px;padding:7px 10px;font-weight:800}.autonomy-learning-actions span{font-size:.74rem;color:#a9c6dc}.autonomy-learning-brain details{margin-top:12px;border-top:1px solid #24445f;padding-top:10px}.autonomy-learning-brain summary{cursor:pointer;font-weight:900}.autonomy-learning-brain details p{font-size:.76rem;color:#a9c6dc;max-width:880px}.autonomy-python-source{max-height:420px;overflow:auto;white-space:pre;tab-size:4;background:#020b14;border:1px solid #21405a;border-radius:10px;padding:13px;color:#c5f5da;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace}
.technova-focus-mode .autonomy-city-planner{margin-top:4px}.technova-focus-mode .autonomy-learning-brain{margin-bottom:22px}
@media(max-width:900px){.autonomy-learning-stats{grid-template-columns:repeat(2,minmax(120px,1fr))}.autonomy-city-search,.autonomy-route-controls{align-items:stretch}.autonomy-city-planner button{flex:1 1 150px}}


/* TechNova 2.30.0 · direct neural driver + promptable instruction overlay */
.autonomy-ml-prompt{display:grid;gap:10px;margin:12px 0;padding:12px;border:1px solid #2b536f;border-radius:12px;background:#081522}.autonomy-ml-prompt label{display:grid;gap:6px}.autonomy-ml-prompt label>span{font-size:.72rem;font-weight:900;letter-spacing:.04em;color:#c8eaff}.autonomy-ml-prompt textarea{width:100%;resize:vertical;min-height:76px;border:1px solid #315c78;border-radius:10px;background:#020b14;color:#e6f7ff;padding:10px 11px;font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;outline:none}.autonomy-ml-prompt textarea:focus{border-color:#61dcff;box-shadow:0 0 0 3px rgba(97,220,255,.09)}.autonomy-ml-prompt-actions{display:flex;flex-wrap:wrap;gap:8px}.autonomy-ml-prompt-actions button{border:1px solid #416c89;border-radius:9px;background:#153551;color:#e7f5ff;padding:8px 10px;font-weight:850;cursor:pointer}.autonomy-ml-prompt-actions button:first-child{background:#0e7490;border-color:#2fb5d1}.autonomy-ml-prompt-actions button:hover{filter:brightness(1.08)}.autonomy-ml-instruction-summary{display:grid;gap:3px;padding:9px 10px;border-left:3px solid #5ce1a8;background:rgba(92,225,168,.055);border-radius:4px 9px 9px 4px}.autonomy-ml-instruction-summary b{font-size:.72rem;color:#dfffee}.autonomy-ml-instruction-summary span{font-size:.78rem;color:#d8ecf8}.autonomy-ml-instruction-summary small{font-size:.68rem;color:#8fb2c8;line-height:1.4}

.tn3-attribution{display:block;margin-top:10px;color:#70869a;font-size:10px}.autonomy-ml-instruction-summary small{line-height:1.45}
/* TechNova 2.45 · chase-camera transmission + accelerometer HUD */
.autonomy-drive-hud{position:absolute;left:14px;bottom:58px;z-index:8;display:grid;grid-template-columns:auto auto minmax(150px,1fr) auto;gap:8px;align-items:stretch;max-width:calc(100% - 28px);pointer-events:none;font-variant-numeric:tabular-nums}
.autonomy-drive-hud>div{background:rgba(3,10,20,.78);border:1px solid rgba(115,224,255,.22);box-shadow:0 8px 28px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.025);backdrop-filter:blur(10px);border-radius:10px;padding:7px 9px;color:#dff8ff}
.drive-hud-speed{display:grid;grid-template-columns:auto auto;align-items:end;column-gap:5px;min-width:74px}.drive-hud-speed strong{font-size:27px;line-height:.9;letter-spacing:-.05em}.drive-hud-speed small{font-size:8px;letter-spacing:.12em;color:#80a9bb;padding-bottom:2px}
.drive-hud-gear,.drive-hud-ml{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;gap:0 7px;align-items:center}.drive-hud-gear span,.drive-hud-ml span,.drive-hud-g span{font-size:7px;letter-spacing:.14em;color:#7f9fb2;font-weight:900}.drive-hud-gear b,.drive-hud-ml b{font-size:16px;color:#78e8ff}.drive-hud-gear small,.drive-hud-ml small{grid-column:1/-1;font-size:8px;color:#b3c6d1;white-space:nowrap}
.drive-hud-g{min-width:168px}.drive-hud-g>div{position:relative;height:30px;margin:4px 0;border-radius:8px;background:linear-gradient(90deg,transparent 49%,rgba(114,232,255,.18) 49%,rgba(114,232,255,.18) 51%,transparent 51%),linear-gradient(0deg,transparent 49%,rgba(114,232,255,.18) 49%,rgba(114,232,255,.18) 51%,transparent 51%);border:1px solid rgba(255,255,255,.06)}.drive-hud-g .g-dot{position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px;border-radius:50%;background:#72e8ff;box-shadow:0 0 10px rgba(114,232,255,.9);transition:left .12s linear,top .12s linear}.drive-hud-g small{display:block;font-size:7px;color:#9cb6c5;white-space:nowrap}
@media(max-width:760px){.autonomy-drive-hud{grid-template-columns:auto auto 1fr;bottom:54px}.drive-hud-ml{display:none}.drive-hud-g{min-width:130px}}
@media(max-width:520px){.autonomy-drive-hud{left:7px;bottom:52px;gap:4px;max-width:calc(100% - 14px)}.autonomy-drive-hud>div{padding:5px 6px}.drive-hud-g{display:none}.drive-hud-speed strong{font-size:22px}}

/* v2.87: do not reveal the synthetic drone fallback for a frame before Houston TN3 arrives. */
.drone-gps-lab.drone-world-pending .autonomy-3d-shell #rCanvas,
.drone-gps-lab.drone-world-pending #rCamera,
.drone-gps-lab.drone-world-pending #rMap{visibility:hidden!important}
.drone-gps-lab .autonomy-world-loading{display:none}
.drone-gps-lab.drone-world-pending .autonomy-world-loading{display:flex;position:absolute;inset:34px 0 56px;z-index:8;align-items:center;justify-content:center;flex-direction:column;gap:7px;text-align:center;background:linear-gradient(180deg,#0a2033,#102c42);color:#e7f7ff;padding:24px}
.drone-gps-lab.drone-world-pending .autonomy-world-loading b{font-size:16px;letter-spacing:.01em}
.drone-gps-lab.drone-world-pending .autonomy-world-loading small{max-width:520px;color:#9bdff3;font-weight:700}
.drone-gps-lab .autonomy-3d-shell{position:relative}

/* v2.87 AVE in-cabin head-look affordance */
.autonomy-look-hint{position:absolute;top:46px;right:12px;z-index:9;pointer-events:none;padding:6px 9px;border-radius:999px;background:rgba(3,10,20,.62);border:1px solid rgba(115,224,255,.20);color:#dff8ff;font-size:10px;font-weight:800;letter-spacing:.02em;backdrop-filter:blur(8px)}
.autonomy-main-column .autonomy-3d-shell>canvas[aria-label^="First-person"]{cursor:grab}
.autonomy-main-column .autonomy-3d-shell>canvas[aria-label^="First-person"]:active{cursor:grabbing}
@media(max-width:620px){.autonomy-look-hint{top:42px;right:7px;font-size:9px;padding:5px 7px}}

/* v2.91 — direct OSM + learner-supplied Model 3 GLB */
.autonomy-model3-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:2px 0}
.autonomy-model3-controls button{white-space:nowrap}
.autonomy-model3-controls span{font-size:11px;font-weight:750;color:#587187;max-width:260px}
.autonomy-model3-controls #rModel3Button{background:#eef8ff;border-color:#a8d9ee;color:#123d58}
@media(max-width:760px){.autonomy-model3-controls{width:100%}.autonomy-model3-controls span{max-width:none;flex:1 1 100%}}

/* v2.94 Google Maps Photorealistic 3D Tiles attribution.
   Kept inside the rendered map container and visually separated from TechNova overlays. */
.tn-google3d-attribution{
  position:absolute;
  top:8px;
  right:8px;
  bottom:auto;
  z-index:18;
  max-width:min(48%,520px);
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  align-items:center;
  gap:2px 6px;
  padding:3px 6px;
  border-radius:5px;
  background:rgba(255,255,255,.76);
  box-shadow:0 1px 4px rgba(0,0,0,.16);
  color:#3c4043;
  font:400 10px/1.15 Roboto,Arial,sans-serif;
  letter-spacing:normal;
  pointer-events:none;
  user-select:none;
}

.tn-google3d-brand{
  font-size:16px;
  line-height:19px;
  white-space:nowrap;
  color:#3c4043;
}
.tn-google3d-source{font-weight:700;white-space:nowrap}
.tn-google3d-data{max-width:100%;overflow-wrap:anywhere}
.tn-google3d-attribution[data-state="loading"] .tn-google3d-data,
.tn-google3d-attribution[data-state="disabled"] .tn-google3d-data,
.tn-google3d-attribution[data-state="error"] .tn-google3d-data{display:none}
@media (max-width:720px){
  .tn-google3d-attribution{max-width:64%;font-size:9px}
  .tn-google3d-brand{font-size:16px}
}

/* v2.95 OpenFreeMap + OSM 3D world */
.autonomy-world-stage{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#bdd7e6;isolation:isolate}
.autonomy-world-stage>.autonomy-openfreemap-world{position:absolute;inset:0;z-index:0;background:#bdd7e6;pointer-events:none;overflow:hidden}
.autonomy-world-stage>.autonomy-openfreemap-world .maplibregl-map,.autonomy-world-stage>.autonomy-openfreemap-world .maplibregl-canvas-container,.autonomy-world-stage>.autonomy-openfreemap-world canvas{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-height:none!important;min-height:0!important;aspect-ratio:auto!important}
.autonomy-world-stage>#rCanvas{position:absolute!important;inset:0;z-index:2;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;background:transparent!important}
.autonomy-world-stage>.autonomy-look-hint,.autonomy-world-stage>.autonomy-drive-hud,.autonomy-world-stage>.autonomy-crash-replay{z-index:4}
.autonomy-openfreemap-credit{position:absolute;z-index:5;top:9px;right:9px;padding:5px 7px;border-radius:8px;background:rgba(4,13,20,.68);border:1px solid rgba(255,255,255,.14);color:#eef7fb;font-size:8px;font-weight:800;letter-spacing:.03em;pointer-events:none;backdrop-filter:blur(6px)}
.autonomy-openfreemap-world[data-openfreemap="ready"]{background:#c7dbe7}
.autonomy-openfreemap-world .maplibregl-control-container{display:none!important}
.autonomy-main-column .autonomy-3d-shell>.autonomy-world-stage{height:auto!important;min-height:0!important;aspect-ratio:16/9!important}
@media(max-width:760px){.autonomy-openfreemap-credit{font-size:7px;top:6px;right:6px}.autonomy-world-stage{min-height:240px}}

/* v2.99 street-level authority: the MapLibre reference layer stays loaded but never becomes the road surface behind the Tesla. */

.drive-hud-indicators{display:flex;align-items:center;justify-content:center;gap:7px;min-width:82px}.drive-hud-indicators span{font-size:8px;letter-spacing:.12em;color:#9fb3c8;font-weight:850}.drive-hud-indicators b{font-size:18px;line-height:1;color:#536679;opacity:.35;transition:opacity .08s,color .08s,filter .08s}.drive-hud-indicators b.active{color:#ffad21;opacity:1;filter:drop-shadow(0 0 6px rgba(255,173,33,.85))}

/* TechNova v3.19 · local TN3/Three.js world gate. Prevent external map-style layers or the flat demo from becoming the driving view. */
.autonomy-car-world-loading{position:absolute;inset:38px 0 0;z-index:15;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;padding:26px;text-align:center;background:linear-gradient(180deg,rgba(7,22,36,.97),rgba(11,35,53,.96));color:#eefaff;pointer-events:auto}
.autonomy-car-world-loading[hidden]{display:none!important}.autonomy-car-world-loading b{font-size:17px;letter-spacing:.01em}.autonomy-car-world-loading small{max-width:600px;color:#9edff3;font-weight:750;line-height:1.45}.autonomy-sim-toolbar #rAuto:disabled{opacity:.48;cursor:not-allowed;filter:saturate(.4)}
