:root{color-scheme:dark;--bg:#07131d;--panel:#0d202c;--line:#29424d;--text:#e8f1f2;--muted:#9db2bd;--cyan:#6ef1d1;--blue:#76b5ff;--amber:#f3c976;--violet:#c5a6ff}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 85% 0,#153743 0,transparent 38%),var(--bg);color:var(--text);font:14px/1.55 Inter,Segoe UI,Arial,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{border:1px solid var(--line);border-radius:7px;background:#142e3b;color:var(--text);padding:9px 14px;cursor:pointer;transition:.15s}button:hover{border-color:var(--cyan);background:#193d46}button:disabled{opacity:.4;cursor:default}a{color:var(--cyan);text-decoration:none}a:hover{text-decoration:underline}header{max-width:1500px;margin:auto;padding:21px 32px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px;align-items:center}.brand{display:flex;gap:12px;color:white;font-weight:700;letter-spacing:.12em;align-items:center}.brand small{display:block;font:9px/1.6 Arial;letter-spacing:.2em;color:var(--muted)}.brand-mark{font:36px/1 Georgia;color:var(--cyan)}.header-right{font-size:10px;letter-spacing:.06em;display:flex;align-items:center;gap:15px;color:var(--muted)}.led,.dot{display:inline-block;height:7px;width:7px;border-radius:50%;background:var(--cyan)}.led{box-shadow:0 0 12px #6ef1d188}main{max-width:1436px;margin:auto;padding:0 30px}.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;padding:45px 0 34px;align-items:center}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.22em;color:var(--cyan);margin:0 0 10px}h1{font-size:clamp(50px,6vw,83px);letter-spacing:-.055em;line-height:1.05;margin:0 0 12px;font-weight:600}h1 span{color:var(--cyan)}h1 i{font-size:27px;vertical-align:top;display:inline-block;margin:4px 0 0 15px;font-style:normal;color:var(--cyan)}.tagline{font-size:23px;margin:8px 0 12px;font-weight:400;letter-spacing:-.02em}.intro{color:var(--muted);max-width:560px;margin:0;font-size:14px}.hero-panel{position:relative;display:grid;grid-template-columns:110px 1fr;gap:16px;align-items:center;border:1px solid #31535d;background:linear-gradient(125deg,#102b34b0,#10232bb0);padding:26px;border-radius:13px}.hero-panel>p{grid-column:1/-1;font-size:10px;color:var(--muted);margin:0;letter-spacing:.04em}.hero-panel b{color:var(--cyan);margin:0 9px}.orbit{width:103px;height:103px;border:1px solid #387575;border-radius:50%;display:grid;place-items:center;position:relative;background:radial-gradient(circle,#20535433,transparent 70%)}.orbit:before,.orbit:after{content:'';position:absolute;inset:11px 29px;border:1px solid #3d7975;border-radius:50%}.orbit:after{inset:29px 11px}.orbit span{background:#122d36;padding:6px;z-index:1;color:var(--cyan);font-size:20px;letter-spacing:.06em}.hero-stat strong{display:block;font-size:42px;line-height:1.15;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.hero-stat span{color:var(--text);font-size:14px}.hero-stat small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.statusline{display:flex;justify-content:space-between;gap:18px;font-size:10px;color:var(--muted);border-top:1px solid var(--line);padding:11px 0}.tabs{display:flex;gap:7px;border-bottom:1px solid var(--line);padding:6px 0 12px;overflow-x:auto}.tabs button{white-space:nowrap;background:transparent;border-color:transparent;color:var(--muted);font-size:13px;padding:11px 17px}.tabs button.active{background:#173c40;color:var(--cyan);border-color:#2d6966}.panel{padding:28px 0 45px}.panel[hidden]{display:none}.section-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}.section-head .eyebrow{font-size:9px;margin-bottom:5px}h2{font-size:25px;line-height:1.3;letter-spacing:-.025em;font-weight:500;margin:0}h3{font-size:18px;font-weight:500}.pill{font-size:11px;color:var(--cyan);border:1px solid #365b5c;padding:6px 12px;border-radius:30px;white-space:nowrap}.filters{display:grid;grid-template-columns:2fr 1.1fr 1.3fr 1fr 1.1fr auto;gap:12px;margin-bottom:16px;align-items:end}label{font-size:10px;color:var(--muted);letter-spacing:.02em}input:not([type=checkbox]),select,textarea{display:block;background:#0b1c27;border:1px solid #304a58;color:var(--text);padding:10px 11px;border-radius:6px;width:100%;margin-top:5px;min-width:0}textarea{resize:vertical;line-height:1.7}input::placeholder,textarea::placeholder{color:#6e8a99}.map-shell{border:1px solid #314d59;border-radius:10px;overflow:hidden}#map{height:400px;background:#0e2938}.map-caption{display:flex;gap:10px;align-items:center;padding:10px 15px;font-size:10px;background:#102530;color:var(--muted);flex-wrap:wrap}.dot.blue{background:var(--blue)}.dot.amber{background:var(--amber)}.dot.violet{background:var(--violet)}.cluster{color:#041b20;font-weight:800;text-align:center;line-height:34px;border:2px solid #c9f4ec;border-radius:50%;box-shadow:0 0 0 5px #50bfa622;font-size:11px;background:var(--cyan)}.leaflet-container{font:12px Segoe UI,Arial}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#112734;color:var(--text)}.leaflet-popup-content button{margin-top:8px;width:100%}.leaflet-control-attribution{color:#283d47}.leaflet-control-attribution a{color:#145565}.list-toolbar{display:flex;align-items:center;gap:16px;margin:19px 0 16px}.list-toolbar label{font-size:11px}.list-toolbar span{margin-left:auto;color:var(--muted);font-size:11px}.list-toolbar button{padding:6px 12px}.camera-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.camera-card{min-width:0;border:1px solid var(--line);background:var(--panel);border-radius:9px;overflow:hidden}.camera-media{height:160px;background:#040b12;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.camera-media img{display:block;width:100%;height:100%;object-fit:contain}.camera-media .media-launch{width:100%;height:100%;background:radial-gradient(ellipse,#1c4449,#09141e);border:0;border-radius:0;font-size:26px;color:var(--cyan);display:flex;flex-direction:column;align-items:center;justify-content:center}.media-launch small{font-size:10px;margin-top:10px;letter-spacing:.12em}.media-badge{position:absolute;top:8px;left:8px;background:#07131ee8;border:1px solid #406167;border-radius:4px;font-size:8px;padding:3px 7px;letter-spacing:.06em;color:var(--cyan);pointer-events:none}.media-badge.clip{color:var(--amber)}.media-badge.image{color:#c4d4df}.camera-body{padding:13px}.camera-body h3{font-size:13px;font-weight:600;line-height:1.4;min-height:36px;margin:5px 0 7px;overflow-wrap:anywhere}.camera-body small{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.camera-body p{font-size:10px;color:var(--muted);margin:6px 0;min-height:16px}.card-actions{display:flex;gap:6px;margin-top:12px}.card-actions button{font-size:10px;padding:6px 9px}.card-actions button:first-child{flex:1}.card-actions button.saved{color:var(--amber);border-color:#806d44}.empty{grid-column:1/-1;padding:38px;border:1px dashed var(--line);text-align:center;color:var(--muted)}.muted{color:var(--muted);font-size:12px}.primary{color:#061c20;background:var(--cyan);border-color:var(--cyan);font-weight:600}.primary:hover{background:#a8ffe8}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.actions label{display:flex;align-items:center;gap:6px}.actions select{margin:0;width:auto}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.chips button{font-size:11px;border-radius:24px}#wall-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;padding:0;background:var(--bg)}#wall-grid:fullscreen{height:100vh;padding:20px;overflow:auto}#wall-grid .camera-media{height:auto;aspect-ratio:16/9}#wall-grid video{width:100%;height:100%;object-fit:contain}#wall-grid .camera-body h3{min-height:0}#wall-grid[data-layout="1"]{grid-template-columns:1fr}#wall-grid[data-layout="9"]{grid-template-columns:repeat(3,1fr)}#wall-grid[data-layout="16"]{grid-template-columns:repeat(4,1fr)}.wall-empty{aspect-ratio:16/9;border:1px dashed #294452;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--muted);border-radius:9px;gap:10px}.wall-empty span{font-size:28px;color:#496975}.brazil-hero{background:linear-gradient(110deg,#173c35,#102c34);border:1px solid #385f50;border-radius:12px;display:grid;grid-template-columns:1.5fr 1fr;padding:35px 40px;gap:45px;margin-bottom:26px}.brazil-hero h2{font-size:36px;line-height:1.18}.brazil-hero p:not(.eyebrow){font-size:13px;color:#b5d2ca;max-width:550px;margin:20px 0}.brazil-number{display:flex;align-items:center;justify-content:center;flex-direction:column;border-left:1px solid #386454;text-align:center}.brazil-number strong{font-size:76px;color:#bbec97;font-weight:500;line-height:1.3}.brazil-number small{margin-top:7px;color:var(--muted);font-size:10px}#brazil-cameras{margin-bottom:35px}.source-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.source-card{padding:21px;border:1px solid var(--line);border-radius:9px;background:var(--panel);display:flex;flex-direction:column}.source-card h3{margin:7px 0 10px;font-size:16px}.source-card p{font-size:12px;color:var(--muted);margin:6px 0 14px}.source-card .source-type{font-size:9px;letter-spacing:.12em;color:var(--cyan)}.source-card a{font-size:11px;margin-top:auto;padding-top:10px}.source-card .state{font-size:10px;color:var(--amber)}.source-card .state.ok{color:var(--cyan)}.source-card small{color:var(--muted);font-size:10px}.source-search{max-width:430px;display:block;margin-bottom:20px}.format-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:25px}.format-guide p{color:var(--muted);font-size:12px}.cyan-text{color:var(--cyan)}.amber-text{color:var(--amber)}.callout{border-left:3px solid var(--cyan);background:#102b34;padding:23px 27px;margin-top:28px;border-radius:0 9px 9px 0}.callout p{color:var(--muted);font-size:13px;max-width:900px}.callout a{font-size:12px}.journey-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:25px 0}.journey-card{padding:26px;border:1px solid #304b58;border-radius:11px;background:radial-gradient(ellipse at top right,#224548,#0c1e2a 75%);position:relative}.journey-card .journey-number{font-size:40px;color:#6ef1d144;font-weight:200;line-height:1}.journey-card h3{font-size:23px;margin:14px 0 8px}.journey-card p{color:var(--muted);font-size:12px;min-height:65px}.journey-card .prompt{min-height:65px;border-top:1px solid var(--line);padding-top:12px;font-size:11px;color:#c4d9dc}.journey-card button{margin-top:8px;color:var(--cyan)}.desk-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:25px}.note-box,.connections{padding:25px;background:var(--panel);border:1px solid var(--line);border-radius:10px}.note-box label{font-size:15px;color:var(--text)}.connections a{display:block;color:var(--text);padding:16px 0;border-bottom:1px solid var(--line)}.connections span{float:right;font-size:11px;color:var(--cyan)}#favorites-list{margin-top:20px}footer{border-top:1px solid var(--line);max-width:1376px;margin:0 auto;padding:24px 0 30px;display:flex;align-items:center;gap:18px;font-size:10px;color:var(--muted)}footer p{font-size:10px;margin:3px 0}footer b{color:var(--text);letter-spacing:.14em}footer>a{margin-left:auto}dialog{padding:24px;background:#0b1e2a;color:var(--text);border:1px solid #3f626c;border-radius:13px;width:min(980px,94vw);max-height:93vh;overflow:auto}dialog::backdrop{background:#02090de0;backdrop-filter:blur(5px)}.viewer-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.viewer-head h2{font-size:23px}#viewer-media .camera-media{height:auto;aspect-ratio:16/9;border:1px solid var(--line)}#viewer-media video{width:100%;height:100%;object-fit:contain}#viewer-info{font-size:12px;color:var(--muted)}#viewer-info .meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px 25px;margin:16px 0}#viewer-info p{margin:6px 0}.live-status{font-size:10px;color:var(--muted)}.stream-error{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;background:#091822ee;padding:25px;text-align:center;font-size:12px;color:var(--amber);flex-direction:column;gap:12px}.frame-error{display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:11px;height:100%;padding:20px;text-align:center}.skip{position:absolute;left:10px;top:-70px}.skip:focus{top:10px;background:white;padding:10px;z-index:2000;color:black}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:13px 22px;border-radius:7px;border:1px solid #4d837d;background:#173d42;color:var(--text);z-index:2000;font-size:13px;max-width:90vw}input[type=checkbox]{accent-color:var(--cyan)}@media(min-width:1500px){#map{height:440px}.camera-media{height:180px}}@media(max-width:1050px){.hero{gap:35px}.filters{grid-template-columns:2fr 1fr 1fr}.camera-grid{grid-template-columns:repeat(3,1fr)}.source-grid,.journey-grid{grid-template-columns:repeat(2,1fr)}.hero-panel{grid-template-columns:80px 1fr;padding:20px}.orbit{width:76px;height:76px}.hero-stat strong{font-size:35px}.header-right{font-size:9px}.header-right>a{display:none}.statusline>span:last-child{display:none}}@media(max-width:700px){header{padding:15px 18px}.header-right{font-size:0;gap:5px}.header-right time{font-size:10px}.header-right .led{display:none}main{padding:0 17px}.hero{grid-template-columns:1fr;padding-top:30px;gap:24px}.hero-panel{grid-template-columns:75px 1fr;padding:18px;gap:20px}.hero-panel>p{display:none}.hero-stat strong{font-size:38px}.tagline{font-size:21px}.intro{font-size:13px}.tabs{margin:0 -17px;padding-left:12px}.tabs button{padding:9px 10px;font-size:12px}h2{font-size:21px}.filters{grid-template-columns:1fr 1fr;gap:10px}.filters .search{grid-column:1/-1}.section-head{align-items:flex-start;flex-wrap:wrap}.camera-grid{grid-template-columns:repeat(2,1fr);gap:10px}.camera-media{height:125px}.camera-body{padding:10px}.camera-body h3{font-size:12px;min-height:34px}.card-actions{gap:4px}.card-actions button{padding:5px 7px}.source-grid,.journey-grid,.format-guide,.desk-layout{grid-template-columns:1fr}.brazil-hero{padding:25px;grid-template-columns:1fr;gap:20px}.brazil-hero h2{font-size:32px}.brazil-number{border-left:0;border-top:1px solid #386454;padding-top:18px}.brazil-number strong{font-size:60px}.list-toolbar{gap:9px;flex-wrap:wrap}.list-toolbar span{margin-left:0}#map{height:345px}.map-caption{font-size:9px;gap:7px}.map-caption>span:last-child{display:none}footer{margin:0 17px;align-items:flex-start}footer>a{display:none}.connections span{float:none;display:block}#wall-grid[data-layout="16"],#wall-grid[data-layout="9"]{grid-template-columns:repeat(2,1fr)}#wall-grid .camera-body h3{min-height:32px}.actions{gap:7px}.actions button{font-size:11px}dialog{padding:15px}#viewer-info .meta-grid{grid-template-columns:1fr}.viewer-head h2{font-size:18px}}

#wall-grid[data-layout="60"]{grid-template-columns:repeat(10,minmax(0,1fr));gap:5px}
#wall-grid[data-layout="96"]{grid-template-columns:repeat(12,minmax(0,1fr));gap:4px}
#wall-grid.dense .camera-card{border-radius:3px;position:relative}
#wall-grid.dense .camera-media{height:auto;aspect-ratio:16/10}
#wall-grid.dense .camera-body{padding:4px 5px}
#wall-grid.dense .camera-body>small,#wall-grid.dense .live-status{display:none}
#wall-grid.dense .camera-body h3{min-height:0;margin:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:8px;line-height:1.4}
#wall-grid.dense .card-actions{position:absolute;inset:auto 0 18px;background:#061521ed;padding:4px;display:none;flex-wrap:wrap;gap:2px}
#wall-grid.dense .camera-card:hover .card-actions,#wall-grid.dense .camera-card:focus-within .card-actions{display:flex}
#wall-grid.dense .card-actions button{font-size:8px;padding:4px;flex:1}
#wall-grid.dense .media-badge{top:3px;left:3px;font-size:6px;padding:1px 3px}
#wall-grid.dense .media-launch small{font-size:6px;letter-spacing:0;margin-top:3px}
#wall-grid.dense .media-launch{font-size:18px}
#wall-grid.dense .frame-error{font-size:7px;padding:5px}
#wall-grid.dense .wall-empty button{font-size:8px;padding:3px}
#wall-grid.dense .wall-empty span{font-size:16px}
#wall-grid.dense .stream-error{font-size:7px;padding:5px;gap:4px}
#wall-grid.dense:fullscreen{grid-template-rows:repeat(6,minmax(0,1fr));overflow:hidden;padding:8px}
#wall-grid[data-layout="96"]:fullscreen{grid-template-rows:repeat(8,minmax(0,1fr))}
#wall-grid.dense:fullscreen .camera-media{height:calc(100% - 23px);aspect-ratio:auto}
#wall-grid.dense:fullscreen .camera-body h3{font-size:10px}
@media(max-width:700px){#wall-grid.dense{min-width:1000px}#wall{overflow-x:auto}#wall-grid.dense:fullscreen{min-width:0}#wall-grid.dense:fullscreen .camera-body h3{font-size:6px}}

[hidden]{display:none!important}.camera-media img{opacity:0;font-size:9px;color:transparent}.camera-media img.loaded{opacity:1}.camera-card:focus{outline:2px solid var(--cyan);outline-offset:3px}
.frame-wait{position:absolute;color:#6d929e;font-size:11px;letter-spacing:.02em;text-align:center;padding:12px}.dense .frame-wait{font-size:7px;padding:5px}.dense .frame-error{font-size:7px}.camera-media img{z-index:1}.media-badge{z-index:2}
.vista-basemap{filter:invert(100%) hue-rotate(180deg) brightness(.9) contrast(.9)}
