/* AFET KOMUTA — koyu cam paneller, camgöbeği/turuncu vurgular */
:root{
  --bg:#0a0f12; --bg2:#10171b; --glass:rgba(24,32,37,.78); --glass2:rgba(40,51,57,.72); --glass3:rgba(60,74,80,.55);
  --line:rgba(255,255,255,.07); --line2:rgba(255,255,255,.12);
  --text:#e7eef0; --mute:#8a989e; --dim:#7f8c92;
  --cyan:#5fd0e6; --teal:#3fb6ae; --orange:#f08a4b; --red:#ff5a5f; --amber:#f5b84b; --green:#4ade80; --violet:#a78bfa;
  --r:16px; --shadow:0 18px 50px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.05);
  --sans:"Lexend",-apple-system,"Segoe UI",system-ui,sans-serif; --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
}
*{box-sizing:border-box}
html,body{height:100%;margin:0;background:var(--bg);color:var(--text);font:300 13px/1.45 var(--sans);-webkit-font-smoothing:antialiased}
body{display:grid;grid-template-rows:auto auto minmax(0,1fr) 30px;overflow:hidden;height:100vh;
  background:radial-gradient(1200px 600px at 70% -10%,#16242b 0%,transparent 60%),var(--bg)}
#top{grid-row:1}#banner{grid-row:2}.view{grid-row:3}#ticker{grid-row:4}
button,select,input,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
a{color:var(--cyan);text-decoration:none} a:hover{text-decoration:underline}
.lbl{font:500 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.mute{color:var(--mute);font-size:12px}
.pad{padding:12px 14px 6px}
svg.i{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* ---------- üst çubuk ---------- */
#top{display:flex;align-items:center;gap:18px;padding:10px 18px;border-bottom:1px solid var(--line);background:linear-gradient(#0e1519,#0b1114);flex-wrap:wrap;position:relative;z-index:1000}
.brand{display:flex;align-items:center;gap:2px;font-size:15px;letter-spacing:.18em}
.brand b{font-weight:600}.brand span:last-child{font-weight:300;color:#b9c6cb}
.pulse{width:8px;height:8px;border-radius:2px;background:var(--red);margin-right:10px}
@keyframes pulse{70%{box-shadow:0 0 0 9px rgba(255,90,95,0)}100%{box-shadow:0 0 0 0 rgba(255,90,95,0)}}
.il{display:flex;align-items:center;gap:8px}
select,input:not([type=checkbox]),textarea{background:var(--glass2);border:1px solid var(--line2);border-radius:10px;padding:7px 10px;color:var(--text)}
select{appearance:none;padding-right:28px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%238a989e' stroke-width='1.5'/%3E%3C/svg%3E");background-position:calc(100% - 11px) 50%;background-repeat:no-repeat}
.pills{display:flex;gap:4px;background:var(--glass);border:1px solid var(--line);border-radius:999px;padding:4px}
.pills button{border:0;background:none;padding:7px 15px;border-radius:999px;color:var(--mute);display:flex;align-items:center;gap:7px}
.pills button.on{background:var(--glass3);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.pills .dot{width:6px;height:6px;border-radius:50%;background:var(--green)}
.stats{margin-left:auto;display:flex;gap:8px;align-items:stretch}
.stat{background:var(--glass);border:1px solid var(--line);border-radius:12px;padding:6px 12px;min-width:96px;display:flex;flex-direction:column;gap:4px}
.stat b{font:600 14px var(--mono);white-space:nowrap}
.stat.lv0 b{color:var(--green)}.stat.lv1 b{color:var(--amber)}.stat.lv2 b{color:var(--orange)}.stat.lv3 b{color:var(--red)}
.meter{display:flex;gap:2px;height:6px}
.meter i{width:3px;border-radius:1px;background:var(--glass3)}
.iconbtn{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;border:1px solid var(--line2);background:var(--glass);color:var(--text)}
.iconbtn:hover{background:var(--glass2)}
.iconbtn.sm{width:26px;height:26px;border-radius:8px;border-color:transparent;background:none;color:var(--mute)}
.iconbtn.sm:hover{color:var(--text);background:var(--glass2)}
.iconbtn[aria-pressed=false]{opacity:.45}
#banner{background:linear-gradient(90deg,#3a0f12,#22100f);border-bottom:1px solid var(--red);padding:9px 18px;font-weight:500;cursor:pointer;color:#ffd5d6}
#banner[hidden]{display:none}

/* ---------- görünümler ---------- */
.view{display:none;min-height:0;overflow:hidden;position:relative}
.view.on{display:block}
#map,#rmap{position:absolute;inset:0;background:#0b1216}
.leaflet-container{font:inherit;background:#0b1216}
.dark-tiles{filter:invert(1) hue-rotate(195deg) saturate(.28) brightness(.82) contrast(1.05)}
.leaflet-control-attribution{background:rgba(10,15,18,.7)!important;color:#8a989e!important;font-size:11px}
.leaflet-control-attribution a{color:#8ab4c4!important}
.leaflet-control-zoom{display:none}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--glass);color:var(--text);backdrop-filter:blur(14px);border:1px solid var(--line2);box-shadow:var(--shadow)}
.leaflet-popup-content-wrapper{border-radius:14px}
.leaflet-popup-content{margin:12px 14px;font-size:12.5px;line-height:1.45}
.leaflet-container a.leaflet-popup-close-button{color:var(--mute)}
.leaflet-tooltip{background:var(--glass);color:var(--text);border:1px solid var(--line2);border-radius:8px;box-shadow:none}

/* ---------- cam kartlar ---------- */
.card{background:var(--glass);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2)}
.cardh{display:flex;align-items:center;gap:10px;padding:12px 12px 10px 16px}
.cardh .lbl{flex:1}
.float{position:absolute;z-index:500;display:flex;flex-direction:column;min-height:0}
.float[hidden]{display:none}
#tools{left:16px;top:16px;width:272px;max-height:calc(100% - 300px)}
#camPanel{left:300px;top:16px;width:312px;max-height:calc(100% - 210px)}
#feed{right:16px;top:16px;width:370px;bottom:16px}
#legend{left:16px;bottom:16px;width:272px;max-height:270px}
#timeline{left:300px;right:402px;bottom:16px;height:170px}
.mapctl{position:absolute;z-index:520;right:402px;top:16px;display:flex;flex-direction:column;gap:6px}
body.nofeed .mapctl{right:16px} body.nofeed #timeline{right:16px}
body.notools #camPanel,body.notools #timeline{left:16px}
body.nolegend #tools{max-height:calc(100% - 32px)}
body.notimeline #camPanel{max-height:calc(100% - 32px)}

/* katman listesi */
#layerList{overflow:auto;padding:0 8px 10px}
.lgroup{font:500 11px var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--dim);padding:10px 8px 4px}
.lrow{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:10px;cursor:pointer;user-select:none}
.lrow:hover{background:rgba(255,255,255,.04)}
.lrow .ic{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--glass2);color:var(--c)}
.lrow .nm{flex:1;font-weight:400}
.lrow .nm small{display:block;color:var(--dim);font-size:11px}
.badge{font:600 11px var(--mono);padding:2px 8px;border-radius:999px;background:rgba(0,0,0,.35);border:1px solid var(--line2);display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.badge::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--bc,var(--red))}
.badge.plain::before{display:none}
.sw{width:30px;height:17px;border-radius:9px;background:var(--glass3);position:relative;flex:none;transition:.15s}
.sw::after{content:"";position:absolute;left:2px;top:2px;width:13px;height:13px;border-radius:50%;background:#9aa7ac;transition:.15s}
.lrow.on .sw{background:linear-gradient(90deg,var(--teal),var(--cyan))}
.lrow.on .sw::after{left:15px;background:#fff}
.anim{display:flex;gap:6px;align-items:center;padding:0 8px 6px 46px;color:var(--mute);font:11px var(--mono)}
.anim button{border:1px solid var(--line2);background:var(--glass2);border-radius:7px;padding:2px 8px}

/* kamera paneli */
.camstack{display:grid;gap:8px;padding:0 12px}
.camtile{position:relative;border-radius:12px;overflow:hidden;background:#000;aspect-ratio:16/9;border:1px solid var(--line);cursor:zoom-in}
.camtile video,.camtile img,.camtile iframe{width:100%;height:100%;object-fit:cover;display:block;border:0}
.camtile .cap{position:absolute;left:0;right:0;bottom:0;padding:16px 10px 7px;background:linear-gradient(transparent,rgba(0,0,0,.75));display:flex;align-items:center;gap:8px;font-size:12px}
.camtile .cap span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.live{font:600 11px var(--mono);color:#fff;background:var(--red);padding:1px 6px;border-radius:5px;letter-spacing:.06em}
.off{font:600 11px var(--mono);color:var(--amber);border:1px solid var(--amber);padding:0 5px;border-radius:5px}
.camlist{overflow:auto;padding:8px 8px 0;min-height:60px}
.citem{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:10px;cursor:pointer}
.citem:hover{background:rgba(255,255,255,.04)}
.citem .ic{color:var(--cyan)}
.citem span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.citem small{color:var(--dim);font:11px var(--mono)}
.ghost{border:1px solid var(--line2);background:var(--glass2);border-radius:10px;padding:7px 12px;color:var(--text)}
.ghost:hover{background:var(--glass3)}
.ghost.wide{margin:10px 12px 12px;width:calc(100% - 24px)}

/* akış */
.seg{display:flex;background:rgba(0,0,0,.25);border:1px solid var(--line);border-radius:10px;padding:3px;gap:2px}
.seg button{border:0;background:none;padding:5px 11px;border-radius:7px;color:var(--mute);white-space:nowrap}
.seg button.on{background:var(--glass3);color:#fff}
#feed .cardh .seg{flex:1}
.chips{display:flex;gap:6px;flex-wrap:wrap;padding:0 14px 10px}
.chip{border:1px solid var(--line2);background:var(--glass2);border-radius:999px;padding:3px 10px;font-size:11.5px;display:flex;align-items:center;gap:6px;color:var(--mute)}
.chip.on{color:#fff;border-color:var(--c,var(--cyan));background:color-mix(in srgb,var(--c,var(--cyan)) 18%,transparent)}
.chip i{width:7px;height:7px;border-radius:50%;background:var(--c,var(--cyan))}
.feedbody{overflow:auto;flex:1;padding:0 8px 10px;min-height:0}
.feedbody[hidden]{display:none}
.feedbody .row{display:flex;gap:14px;align-items:center;padding:4px 8px 10px;color:var(--mute);font-size:12px;flex-wrap:wrap}
.chk{display:flex;gap:6px;align-items:center}
.inc{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:10px 8px;border-radius:12px;cursor:pointer;border-bottom:1px solid var(--line)}
.inc:hover{background:rgba(255,255,255,.035)}
.inc .ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent);border:1px solid color-mix(in srgb,var(--c) 35%,transparent)}
.inc .tx{font-size:12.5px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line}
.inc .mt{display:flex;gap:8px;align-items:center;color:var(--dim);font-size:11px;margin-top:4px;flex-wrap:wrap}
.inc .mt b{color:var(--c);font-weight:500}
.unv{font-size:11px;color:var(--amber);border:1px dashed rgba(245,184,75,.5);border-radius:5px;padding:0 5px}
.q{display:grid;grid-template-columns:48px 1fr;gap:10px;padding:9px 8px;border-radius:12px;cursor:pointer;border-bottom:1px solid var(--line)}
.q:hover{background:rgba(255,255,255,.035)}
.mag{font:600 15px var(--mono);text-align:center;border-radius:10px;padding:6px 0;background:var(--glass2)}
.mag.m3{color:var(--amber)}.mag.m4{color:var(--orange);background:rgba(240,138,75,.14)}.mag.m5{color:#fff;background:rgba(255,90,95,.35)}
.srow{display:flex;align-items:center;gap:10px;padding:9px 8px;border-bottom:1px solid var(--line)}
.srow span{flex:1}
.srow .ok{color:var(--green);font:600 11px var(--mono)}.srow .err{color:var(--red);font:600 11px var(--mono)}.srow .key{color:var(--amber);font:11px var(--mono)}

/* lejant */
#legendBody{overflow:auto;padding:0 14px 12px;font-size:12px}
.lg{display:grid;grid-template-columns:1fr 1fr;gap:5px 10px;margin-bottom:10px}
.lg div{display:flex;align-items:center;gap:7px;color:#c4cfd3}
.lg i{width:9px;height:9px;border-radius:50%;flex:none;background:var(--c)}
.ramp{display:flex;gap:2px;align-items:center;margin:2px 0 10px;color:var(--mute);font-size:11px}
.ramp i{flex:1;height:5px;border-radius:2px}
.radiorow{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;background:var(--glass2);margin-top:6px;cursor:pointer;border:1px solid var(--line);width:100%;text-align:left;color:var(--text)}
.radiorow:hover{border-color:rgba(95,208,230,.45)}
.radiorow .ic{color:var(--cyan)}
.radiorow span{flex:1}
.radiorow small{display:block;color:var(--dim);font-size:11px}
.radiorow.offline{opacity:.5;cursor:default}
.eq{display:flex;gap:2px;align-items:flex-end;height:14px}
.eq i{width:3px;background:var(--cyan);border-radius:1px;animation:eq 1s infinite ease-in-out}
.eq i:nth-child(2){animation-delay:.2s}.eq i:nth-child(3){animation-delay:.4s}.eq i:nth-child(4){animation-delay:.1s}
@keyframes eq{0%,100%{height:3px}50%{height:14px}}

/* zaman çizelgesi */
#timeline .key{display:flex;gap:8px;align-items:center;color:var(--mute);font-size:11px}
#timeline .key i{width:14px;height:3px;border-radius:2px}
#chart{flex:1;min-height:0;padding:0 14px 10px}
#chart svg{width:100%;height:100%;display:block}

/* harita pinleri */
.pin{position:relative;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 30%,#0b1216);border:1.5px solid var(--c);color:#fff;box-shadow:0 0 14px color-mix(in srgb,var(--c) 60%,transparent)}
.pin svg{width:14px;height:14px}
.pin.unv{border-style:dashed}
.pin.fresh::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--c);animation:ring 1.8s ease-out infinite}
@keyframes ring{from{transform:scale(.6);opacity:.9}to{transform:scale(1.6);opacity:0}}
.campin{width:10px;height:10px;border-radius:50%;background:var(--cyan);border:2px solid #06262d;box-shadow:0 1px 3px rgba(0,0,0,.6)}
.campin.tur{width:14px;height:14px;background:var(--red);border-color:#3a0d10;box-shadow:0 1px 3px rgba(0,0,0,.6)}
.rxpin{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:#0d2a30;border:1.5px solid var(--cyan);color:var(--cyan);box-shadow:0 2px 6px rgba(0,0,0,.6)}
.rxpin.offline{border-color:var(--dim);color:var(--dim);box-shadow:none}
.wxpin{font:600 11px var(--mono);padding:2px 6px;border-radius:7px;background:rgba(10,15,18,.85);border:1px solid var(--line2);white-space:nowrap;transform:translate(-50%,-50%);display:inline-block}
.wxpin.r1{border-color:var(--amber);color:var(--amber)}.wxpin.r2{border-color:var(--red);color:#ffb3b5}
.qpulse{animation:qp 1.6s ease-out infinite}
@keyframes qp{0%{stroke-opacity:.9;stroke-width:2}100%{stroke-opacity:0;stroke-width:16}}
.maptoast{position:absolute;z-index:600;left:50%;transform:translateX(-50%);top:16px;max-width:460px;background:var(--glass);border:1px solid var(--line2);border-radius:12px;padding:8px 14px;color:#c9d4d8;font-size:12px;display:none;backdrop-filter:blur(14px)}

/* ---------- kamera duvarı ---------- */
#cams.on{display:grid;grid-template-rows:auto minmax(0,1fr)}
.bar{display:flex;gap:10px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.bar .chips{padding:0}
#camSearch{width:280px}
#wall{display:grid;gap:8px;padding:8px;min-height:0}
#wall.g1{grid-template:1fr/1fr}
#wall.g2{grid-template:1fr/1fr 1fr}
#wall.g3{grid-template:1fr 1fr/2fr 1fr;grid-template-areas:"a b" "a c"}
#wall.g3 .tile:nth-child(1){grid-area:a}#wall.g3 .tile:nth-child(2){grid-area:b}#wall.g3 .tile:nth-child(3){grid-area:c}
#wall.g4{grid-template:1fr 1fr/1fr 1fr}
#wall.g9{grid-template:repeat(3,1fr)/repeat(3,1fr)}
.tile{position:relative;background:#000;border:1px solid var(--line);border-radius:14px;overflow:hidden;min-height:0;min-width:0}
.tile video,.tile img,.tile iframe{width:100%;height:100%;object-fit:contain;display:block;background:#000;border:0}
.tile .tbar{position:absolute;left:0;right:0;top:0;display:flex;gap:6px;align-items:center;padding:8px 10px;background:linear-gradient(rgba(0,0,0,.75),transparent);font-size:12px}
.tile .tbar .nm{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}
.tile .tbar button{border:1px solid rgba(255,255,255,.15);background:rgba(0,0,0,.45);border-radius:7px;padding:2px 7px;color:#fff;opacity:0;transition:.15s}
.tile:hover .tbar button,.tile.empty .tbar button,.tile:focus-within .tbar button{opacity:1}
.tile .ph{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:var(--mute);padding:20px}
.tile.offline img{opacity:.25}
.tile.offline::after{content:"Kaynak şu an görüntü vermiyor";position:absolute;left:0;right:0;bottom:12px;text-align:center;color:var(--amber);font-size:12px}
.results{position:absolute;z-index:900;left:16px;top:58px;width:440px;max-height:60vh;overflow:auto;background:var(--glass);backdrop-filter:blur(18px);border:1px solid var(--line2);border-radius:14px;margin:0;padding:6px;list-style:none;box-shadow:var(--shadow)}
.results[hidden]{display:none}
.results li{padding:8px 10px;border-radius:9px;cursor:pointer;display:flex;justify-content:space-between;gap:8px}
.results li:hover{background:var(--glass2)}
.results small{color:var(--mute)}

/* ---------- hava ---------- */
#wx.on{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:12px;padding:12px}
.wxmap{position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}
.wxmap iframe{width:100%;height:100%;border:0;display:block}
.wxseg{position:absolute;left:12px;bottom:12px;background:var(--glass);backdrop-filter:blur(12px)}
.side{display:flex;flex-direction:column;min-height:0;overflow:auto}
.wxbig{display:flex;align-items:baseline;gap:12px;padding:4px 16px}
.wxbig b{font:600 44px var(--mono)}
.wxgrid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:10px 14px}
.wxgrid div{background:var(--glass2);border-radius:10px;padding:8px 10px}
.wxgrid b{display:block;font:600 14px var(--mono);margin-top:3px}
#wxChart{height:150px;padding:6px 14px;flex:none}
#wxChart svg{width:100%;height:100%}
.riskrow{display:flex;gap:10px;align-items:center;padding:8px 16px;border-bottom:1px solid var(--line);cursor:pointer}
.riskrow:hover{background:rgba(255,255,255,.03)}
.riskrow span{flex:1}

/* ---------- telsiz ---------- */
#radio .side{position:absolute;right:16px;top:16px;bottom:16px;width:500px;z-index:500}
#rtoast{left:16px;transform:none;display:block}
.rpane{overflow:auto;padding:0 16px 16px;flex:1}
.rpane[hidden]{display:none}
.box{background:var(--glass2);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:10px 0}
.box h4{margin:0 0 6px;font-weight:500;font-size:13.5px}
.box p{margin:4px 0;color:#c4cfd3}
.box.warn{border-color:rgba(245,184,75,.35);background:rgba(245,184,75,.07)}
code,pre{font:12px var(--mono);background:rgba(0,0,0,.35);border:1px solid var(--line);border-radius:6px;padding:1px 6px}
pre{padding:9px 11px;overflow:auto;margin:8px 0;white-space:pre}
table{width:100%;border-collapse:collapse;font-size:12.5px;margin:6px 0}
th,td{text-align:left;padding:6px 6px;border-bottom:1px solid var(--line);vertical-align:top}
th{color:var(--mute);font:500 11px var(--sans);letter-spacing:.14em;text-transform:uppercase}
td.f{font:600 13px var(--mono);color:#fff;white-space:nowrap}
details.step{border:1px solid var(--line);border-radius:12px;margin:8px 0;background:var(--glass2)}
details.step summary{cursor:pointer;padding:11px 14px;display:flex;gap:10px;align-items:center;font-weight:500;list-style:none}
details.step summary::-webkit-details-marker{display:none}
details.step summary .n{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font:600 11px var(--mono);background:rgba(95,208,230,.15);color:var(--cyan);border:1px solid rgba(95,208,230,.4);flex:none}
details.step[open] summary{border-bottom:1px solid var(--line)}
details.step .sb{padding:6px 14px 12px}
details.step ol{padding-left:18px;margin:6px 0}
details.step li{margin:4px 0;color:#c4cfd3}
.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.formgrid .full{grid-column:1/3}

/* ---------- telsiz penceresi / modal ---------- */
.dock{position:fixed;right:16px;bottom:46px;width:min(560px,calc(100vw - 32px));height:min(460px,calc(100vh - 140px));z-index:1500;display:flex;flex-direction:column}
.dock[hidden]{display:none}
.dock iframe{flex:1;border:0;border-radius:0 0 var(--r) var(--r);background:#000}
.dock .hint{margin:0;padding:0 16px 8px;color:var(--mute);font-size:11.5px}
.onair{width:8px;height:8px;border-radius:50%;background:var(--red);animation:pulse 1.4s infinite}
.modal{position:fixed;inset:0;z-index:2000;background:rgba(3,6,8,.7);display:grid;place-items:center;padding:24px}
.modal[hidden]{display:none}
.modalcard{width:min(1200px,100%);max-height:100%;display:flex;flex-direction:column}
.modalbody{aspect-ratio:16/9;background:#000;border-radius:0 0 var(--r) var(--r);overflow:hidden}
.modalbody video,.modalbody img,.modalbody iframe{width:100%;height:100%;object-fit:contain;border:0;display:block}

/* ---------- alt şerit ---------- */
#ticker{background:#070b0d;border-top:1px solid var(--line);overflow:hidden;white-space:nowrap;color:#aab6ba;font:11.5px var(--mono);display:flex;align-items:center}
#tickInner{padding-left:100%;animation:tick 150s linear infinite;display:inline-block}
@keyframes tick{to{transform:translateX(-100%)}}
@media (prefers-reduced-motion:reduce){*{animation:none!important}#tickInner{padding-left:12px}}

@media (max-width:1100px){
  #camPanel{display:none}#timeline{left:16px}
  .stats .stat:nth-child(3),.stats .stat:nth-child(5){display:none}
}
@media (max-width:760px){
  body{overflow:auto}
  #feed{left:16px;width:auto;top:auto;height:45%;bottom:16px}
  #legend,#timeline{display:none}
  .mapctl{right:16px}
  #tools{max-height:40%}
  #wx.on{grid-template-columns:1fr;grid-template-rows:60vh auto;overflow:auto}
  #radio .side{left:16px;width:auto;top:45%}
  #wall.g2,#wall.g3,#wall.g4,#wall.g9{grid-template:none;grid-template-columns:1fr;grid-template-areas:none;overflow:auto}
  #wall .tile{grid-area:auto!important;aspect-ratio:16/9}
}
