/* Same footprint as Two maps; the scene is a rendering of the shared story. */
.gnss-world-3d{display:flex;flex-direction:column;height:100%;min-width:0;min-height:0;gap:6px;color:#315d4a}.gnss-world-3d[hidden]{display:none}
.gnss-3d-scene{position:relative;min-height:0;flex:1;border:1px solid #b6cbb9;border-radius:20px;overflow:hidden;background:#c5d8d1;isolation:isolate}.gnss-3d-canvas{display:block;width:100%;height:100%;outline:0}
.gnss-3d-top{position:absolute;inset:12px 13px auto;display:flex;justify-content:space-between;align-items:center;gap:10px;pointer-events:none;z-index:3;font-size:8px;line-height:1.2;color:#254f41;letter-spacing:.12em;text-shadow:0 1px 5px #fff}.gnss-3d-top>span:first-child{font-weight:650}.gnss-3d-top small{display:block;font-size:8px;font-weight:450;letter-spacing:0;margin-top:4px;color:#507b66}.gnss-3d-top>span:last-child{border:1px solid #ffffffa1;background:#f4fff3c9;backdrop-filter:blur(12px);border-radius:20px;padding:7px 10px;letter-spacing:0;font-size:8px;white-space:nowrap}
.gnss-3d-leaders{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;overflow:hidden}.gnss-3d-leaders path{fill:none;stroke-width:1.5;stroke-linecap:round}.gnss-3d-leaders circle{stroke:#fff;stroke-width:1.5}.gnss-3d-leaders [data-3d-actual-leader]{stroke:#26765b}.gnss-3d-leaders [data-3d-actual-dot]{fill:#26765b}.gnss-3d-leaders [data-3d-gps-leader]{stroke:#b77c25;stroke-dasharray:4 3}.gnss-3d-leaders [data-3d-gps-dot]{fill:#b77c25}.gnss-3d-gps-hidden [data-3d-gps-leader],.gnss-3d-gps-hidden [data-3d-gps-dot]{display:none}
.gnss-3d-position{position:absolute;z-index:3;pointer-events:none;padding:8px 10px;border-radius:12px;background:#edf8eeed;border:1px solid #73b696;box-shadow:0 5px 18px #21443115;backdrop-filter:blur(10px);white-space:nowrap;max-width:calc(50% - 18px);box-sizing:border-box}.gnss-3d-position b{display:block;font-size:10px;line-height:1.2;font-weight:650}.gnss-3d-position small{display:block;margin-top:4px;font-size:7px;line-height:1.3;color:#5e816d}.gnss-3d-position-gps{border-color:#d9b064;background:#fff4dfed;color:#96601b}.gnss-3d-position-gps small{color:#9a753d}.gnss-3d-position[hidden]{display:none}
.gnss-3d-instructions{position:absolute;inset:auto 10px 10px;display:grid;grid-template-columns:1fr 1fr;gap:8px;z-index:4;pointer-events:none}.gnss-3d-instructions>div{border:1px solid #ffffffc9;background:#eff8eae3;border-radius:13px;padding:9px 10px;backdrop-filter:blur(14px);box-shadow:0 5px 18px #23463710;min-width:0}.gnss-3d-instructions small{display:block;font-size:7px;line-height:1.2;color:#64806c}.gnss-3d-instructions b{display:block;font-size:12px;line-height:1.25;letter-spacing:-.02em;font-weight:650;margin-top:4px;color:#2c654d}.gnss-3d-instructions [data-divert=true]{background:#fff0d6e6;border-color:#e6c28b}.gnss-3d-instructions [data-divert=true] small{color:#9a793e}.gnss-3d-instructions [data-divert=true] b{color:#9d6019}.gnss-3d-instructions [data-blocked=true]{border-color:#79a889;background:#e4f5e4ec}
.gnss-3d-key{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-shrink:0;font-size:8px;line-height:1.25;padding:0 3px}.gnss-3d-key span{display:flex;align-items:center;gap:5px;white-space:nowrap}.gnss-3d-key i{width:17px;border-top:3px solid #2aaa7d}.gnss-3d-key span:nth-child(2) i{border-color:#bc8124;border-top-style:dashed}.gnss-3d-key span:last-child{color:#6c826c;font-size:7px}.gnss-3d-footnote{flex-shrink:0;padding:0 3px;color:#7b8d78;font-size:7px;line-height:1.25}.gnss-3d-unavailable{height:100%;display:grid;align-content:center;padding:18px;border:1px solid #c3d4bc;border-radius:16px;background:#eef6e9;color:#5a7860;font-size:12px;line-height:1.5}
@media(min-width:900px) and (max-height:640px){.gnss-world-3d{gap:3px}.gnss-3d-scene{border-radius:14px}.gnss-3d-top{inset:7px 8px auto;font-size:6px}.gnss-3d-top small{font-size:6px;margin-top:2px}.gnss-3d-top>span:last-child{padding:4px 7px;font-size:6px}.gnss-3d-position{padding:5px 7px;border-radius:8px}.gnss-3d-position b{font-size:8px}.gnss-3d-position small{font-size:5.5px;margin-top:2px}.gnss-3d-instructions{inset:auto 7px 7px;gap:5px}.gnss-3d-instructions>div{padding:6px 7px;border-radius:9px}.gnss-3d-instructions small{font-size:5.5px}.gnss-3d-instructions b{font-size:9px;margin-top:3px}.gnss-3d-key{font-size:6px}.gnss-3d-key span:last-child,.gnss-3d-footnote{font-size:5.5px}}
@media(min-width:1600px) and (min-height:900px){.gnss-world-3d{gap:8px}.gnss-3d-top{inset:17px 18px auto;font-size:11px}.gnss-3d-top small{font-size:11px;margin-top:6px}.gnss-3d-top>span:last-child{padding:10px 14px;font-size:11px}.gnss-3d-position{padding:11px 14px;border-radius:15px}.gnss-3d-position b{font-size:14px}.gnss-3d-position small{font-size:10px}.gnss-3d-instructions{inset:auto 14px 14px;gap:10px}.gnss-3d-instructions>div{padding:12px 14px}.gnss-3d-instructions small{font-size:10px}.gnss-3d-instructions b{font-size:17px;margin-top:6px}.gnss-3d-key{font-size:11px}.gnss-3d-key span:last-child,.gnss-3d-footnote{font-size:9px}}
@media(max-width:899px){.gnss-3d-top{inset:10px 9px auto;font-size:7px}.gnss-3d-top>span:last-child,.gnss-3d-top small{font-size:7px}.gnss-3d-position{padding:6px 7px}.gnss-3d-position b{font-size:9px}.gnss-3d-position small{font-size:6px}.gnss-3d-instructions b{font-size:10px}.gnss-3d-instructions>div{padding:8px}.gnss-3d-key{font-size:7px}.gnss-3d-key span:last-child,.gnss-3d-footnote{font-size:6px}}
/* Camera controls remain inside the existing visual footprint. */
#ids.gnss-screen .gnss-3d-camera{pointer-events:auto;cursor:pointer;border:1px solid #ffffffc9;background:#eff8f1ed;color:#285e49;backdrop-filter:blur(12px);border-radius:20px;padding:7px 10px;font-size:9px;font-weight:600;white-space:nowrap;letter-spacing:0;min-height:30px}
#ids.gnss-screen .gnss-3d-camera[aria-pressed=true]{background:#2d5b4c;color:#fff;border-color:#315e4e}
#ids.gnss-screen .gnss-3d-exit-cue{position:absolute;bottom:76px;left:12px;z-index:3;font-size:8px;font-weight:600;color:#805619;background:#fff3dcf2;border:1px solid #cfa45d;border-radius:8px;padding:6px 8px;pointer-events:auto;cursor:pointer}
.gnss-3d-exit-cue[hidden]{display:none}
@media(min-width:900px) and (max-height:640px){#ids.gnss-screen .gnss-3d-camera{font-size:7px;padding:4px 7px;min-height:24px}#ids.gnss-screen .gnss-3d-exit-cue{bottom:54px;left:8px;font-size:6px;padding:4px 6px}}
@media(min-width:1600px) and (min-height:900px){#ids.gnss-screen .gnss-3d-camera{font-size:12px;padding:10px 14px;min-height:38px}#ids.gnss-screen .gnss-3d-exit-cue{bottom:98px;font-size:11px;padding:8px 10px}}
