/* Public traffic camera controls and a viewport-sized, orientation-independent viewer. */
.drive-camera-marker{background:transparent;border:0}
.drive-camera-symbol{display:flex;position:relative;align-items:center;justify-content:center;width:30px;height:30px;background:#07596a;color:#fff;border:2px solid #fff;border-radius:9px;box-shadow:0 1px 5px #0008}
.drive-camera-symbol svg,.drive-camera-browse svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
.drive-camera-symbol b{position:absolute;top:-9px;right:-11px;min-width:21px;padding:1px 4px;background:#fff;color:#12312f;border:1px solid #07596a;border-radius:20px;font:700 11px/17px system-ui}
.driving-app .drive-map-corner-actions .drive-camera-browse{position:static;display:flex;align-items:center;justify-content:center;gap:5px;width:100%;height:44px;min-height:44px;margin:0;padding:7px 9px;border-color:#91bdd8;background:#dff2ff;color:#174f70;box-shadow:0 2px 7px #0003;font-size:12px}
.drive-camera-dialog{position:fixed;inset:0;width:calc(100vw - 20px);max-width:none;height:calc(100vh - 20px);height:calc(100dvh - 20px);max-height:none;margin:auto;padding:0;border:2px solid #749791;border-radius:16px;background:#0a171a;color:#fff;overflow:hidden;box-shadow:0 15px 70px #0009;font:15px/1.4 system-ui,sans-serif}
.drive-camera-dialog[open]{display:flex;flex-direction:column}
.drive-camera-dialog::backdrop{background:#000b}
.drive-camera-header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;gap:12px;padding:10px max(12px,env(safe-area-inset-right)) 10px max(12px,env(safe-area-inset-left));border-bottom:1px solid #496368;background:#122b30}
.drive-camera-header h2{margin:0;min-width:0;font-size:clamp(16px,2.6vw,24px);line-height:1.2;color:#fff;overflow-wrap:anywhere}
.driving-app .drive-camera-close{flex-shrink:0;min-height:48px;padding:9px 16px;background:#fff;color:#103c42;font-size:16px;font-weight:800;border:2px solid #fff;border-radius:10px}
.drive-camera-body{min-height:0;flex:1;display:flex;flex-direction:column;overflow:auto}
.drive-camera-stage{width:100%;height:100%;min-height:0;display:flex;justify-content:center;align-items:center;background:#000;overflow:hidden}
.drive-camera-stage img{width:100%;height:100%;object-fit:contain;min-height:0;display:block}
.drive-camera-stage iframe{display:block;border:0;width:100%;height:100%;min-height:0;background:#000}
.drive-camera-footer{flex-shrink:0;padding:8px max(12px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:#122b30;max-height:30%;overflow:auto}
.drive-camera-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.drive-camera-actions label{display:flex;align-items:center;gap:6px;max-width:100%}
.driving-app .drive-camera-dialog button,.driving-app .drive-camera-dialog select{min-height:44px;font-size:14px;border-radius:8px;padding:8px 12px}
.drive-camera-dialog a{color:#b5f0ff;text-decoration:underline;display:inline-flex;align-items:center;min-height:44px;padding:6px}
.drive-camera-dialog select{max-width:100%;min-width:0}
.drive-camera-credit{margin:7px 0 0;color:#c6dada;font-size:12px;line-height:1.35}
.drive-camera-status{margin:0;padding:6px 12px;color:#d6e9ea;background:#13262a;font-size:12px;flex-shrink:0}
.drive-camera-status:empty{display:none}
.drive-camera-search{display:flex;flex-shrink:0;flex-wrap:wrap;gap:8px;padding:12px;position:sticky;top:0;background:#0a171a;z-index:1}
.drive-camera-search input{flex:1;min-width:150px;min-height:44px;padding:10px;border:1px solid #9cb8b9;border-radius:8px;font:inherit;background:#fff;color:#12312f}
.drive-camera-list{padding:0 12px 12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));align-content:start;gap:8px}
.driving-app .drive-camera-list button{text-align:left;background:#17363c;color:#fff;border:1px solid #617f82;padding:12px;min-height:72px}
.drive-camera-list small{display:block;color:#bbd6d8;font-size:12px;margin-top:4px;font-weight:400}
.drive-camera-dialog :focus-visible{outline:3px solid #ffcf56!important;outline-offset:2px}
@media(max-width:600px){.drive-camera-dialog{width:calc(100vw - 10px);height:calc(100dvh - 10px);border-radius:12px}.drive-camera-header{gap:6px;padding:8px}.drive-camera-header h2{font-size:16px}.driving-app .drive-camera-close{padding:8px 10px;font-size:14px}.drive-camera-footer{padding:6px 8px max(6px,env(safe-area-inset-bottom))}.drive-camera-credit{font-size:11px}.drive-camera-search{padding:8px}.drive-camera-status{font-size:11px;padding:5px 8px}}
@media(orientation:landscape) and (max-height:550px){.drive-camera-dialog{width:calc(100vw - 12px);height:calc(100dvh - 8px)}.drive-camera-header{padding-top:4px;padding-bottom:4px}.drive-camera-header h2{font-size:16px}.driving-app .drive-camera-close{min-height:44px}.drive-camera-footer{padding-top:3px;padding-bottom:3px;max-height:28%}.drive-camera-credit{margin-top:2px;font-size:10px}.drive-camera-status{font-size:10px;padding:2px 10px}.drive-camera-actions{gap:5px}}

/* Golden camera body on the light-blue browse button. */
.drive-camera-browse svg{fill:#f2bc35;stroke:#946600}
.drive-camera-browse svg circle{fill:#dff2ff}
