/* The Space Coast Wire - SCW Planes app (/planes). [planesapp] staging Oct 25 2026. No inline styles anywhere (CSP style-src 'self'). */
html,body{margin:0;height:100%;background:#020c1d;overscroll-behavior:none}
body.scwp-app{font-family:system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
.pa{--sa-t:env(safe-area-inset-top,0px);--sa-b:env(safe-area-inset-bottom,0px);--sa-l:env(safe-area-inset-left,0px);--sa-r:env(safe-area-inset-right,0px);
  --glass:rgba(3,14,32,.84);--glass2:rgba(8,28,58,.94);--line:rgba(125,211,252,.20);--txt:#eaf4ff;--sub:#9fbad6;--acc:#7dd3fc;--org:#ff8a3d;position:fixed;inset:0;color:var(--txt)}
#pamap{position:absolute;inset:0;background:#0b1626}
.pa-dark .pa-base{filter:invert(1) hue-rotate(185deg) brightness(.78) contrast(1.08) saturate(.35)}
.pa-dark #pamap{background:#101b2b}
.pa-light #pamap{background:#dfe7ef}
.pa .leaflet-control-attribution{background:rgba(3,14,32,.72);color:#9fbad6;font-size:10px;border-radius:6px 0 0 0}
.pa .leaflet-control-attribution a{color:#cfe8ff}
.pa-light .leaflet-control-attribution{background:rgba(255,255,255,.8);color:#334155}.pa-light .leaflet-control-attribution a{color:#0b6fb8}
.pa .leaflet-bottom{bottom:calc(var(--pa-sheet,170px));transition:bottom .25s ease}
.pa .leaflet-right{right:var(--sa-r)}
.pa .leaflet-control-zoom a{background:var(--glass2);color:var(--txt);border-color:var(--line)}
/* rings */
.pa-ring{stroke:#7dd3fc}
.pa-light .pa-ring{stroke:#0b6fb8}
.pa-ringlab span,.pa-centerlab span{position:absolute;transform:translate(-50%,-50%);white-space:nowrap;font:600 10px/1 system-ui,sans-serif;color:#a9d6ff;text-shadow:0 0 3px #020c1d,0 0 3px #020c1d;letter-spacing:.04em}
.pa-centerlab span{transform:translate(-50%,8px);color:#fff;font-weight:700;font-size:11px}
.pa-light .pa-ringlab span{color:#0b4f86;text-shadow:0 0 3px #fff,0 0 3px #fff}.pa-light .pa-centerlab span{color:#0b2540;text-shadow:0 0 3px #fff,0 0 3px #fff}
/* top bar */
.pa-top{position:absolute;z-index:900;top:0;left:0;right:0;display:flex;align-items:center;gap:8px;padding:calc(var(--sa-t) + 8px) calc(var(--sa-r) + 10px) 8px calc(var(--sa-l) + 8px);
  background:linear-gradient(to bottom,rgba(2,12,29,.92),rgba(2,12,29,.55) 70%,rgba(2,12,29,0));pointer-events:none}
.pa-top>*{pointer-events:auto}
.pa-back{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--glass);border:1px solid var(--line);color:var(--txt)}
.pa-back svg{width:20px;height:20px;fill:currentColor}
.pa-brand{display:flex;align-items:center;gap:7px;font-weight:800;font-size:17px;letter-spacing:.01em;color:#fff}
.pa-brand img{border-radius:7px;box-shadow:0 0 0 1px rgba(255,255,255,.18)}
.pa-brand b{color:var(--org);font-family:Georgia,'Times New Roman',serif;font-weight:900}
.pa-live{width:8px;height:8px;border-radius:50%;background:#34d399;box-shadow:0 0 0 0 rgba(52,211,153,.7);animation:pa-pulse 2s infinite}
.pa-stale .pa-live{background:#f59e0b;animation:none}
@keyframes pa-pulse{70%{box-shadow:0 0 0 8px rgba(52,211,153,0)}100%{box-shadow:0 0 0 0 rgba(52,211,153,0)}}
.pa-stat{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;background:var(--glass);border:1px solid var(--line);border-radius:12px;padding:5px 10px;line-height:1.15}
.pa-stat b{font-size:14px;color:#fff}.pa-stat span{font-size:10.5px;color:var(--sub)}
/* filter chips */
.pa-chips{position:absolute;z-index:890;top:calc(var(--sa-t) + 56px);left:0;right:0;display:flex;gap:6px;overflow-x:auto;padding:2px calc(var(--sa-r) + 10px) 6px calc(var(--sa-l) + 10px);scrollbar-width:none;-webkit-overflow-scrolling:touch}
.pa-chips::-webkit-scrollbar{display:none}
.pa-chip{flex:none;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border-radius:16px;border:1px solid var(--line);background:var(--glass);color:var(--sub);font:600 12.5px/1 system-ui,sans-serif;cursor:pointer;opacity:.7}
.pa-chip.on{color:#fff;opacity:1;background:var(--glass2);border-color:rgba(125,211,252,.42)}
.pa-chip b{font-weight:700;font-size:11px;color:var(--sub);background:rgba(255,255,255,.08);border-radius:8px;padding:2px 6px}
.pa-chip.on b{color:#fff}
.pa-chip:not(.on) .pa-dot{background:transparent !important}
.pa-dot{width:9px;height:9px;border-radius:50%;border:1.5px solid rgba(255,255,255,.65)}
.pa-dot.k-airline{background:#4fc3f7}.pa-dot.k-cargo{background:#9ca7b3}.pa-dot.k-ga{background:#b3e5fc}.pa-dot.k-heli{background:#43d17a}.pa-dot.k-mil{background:#ffd600}.pa-dot.k-gov{background:#e1e7ff}
/* floating buttons */
.pa-fabs{position:absolute;z-index:850;right:calc(var(--sa-r) + 10px);bottom:calc(var(--pa-sheet,170px) + 14px);display:flex;flex-direction:column;gap:10px;transition:bottom .25s ease}
.pa-fab{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;background:var(--glass);color:#fff;box-shadow:0 4px 16px rgba(0,10,30,.35);cursor:pointer;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.pa-fab svg{width:23px;height:23px;fill:currentColor}
.pa-fab.on{background:#0b6fb8;border-color:#7dd3fc}
.pa-fab.busy svg{animation:pa-spin 1s linear infinite}@keyframes pa-spin{to{transform:rotate(360deg)}}
.pa-toast{position:absolute;z-index:1200;left:50%;top:calc(var(--sa-t) + 104px);transform:translate(-50%,-8px);background:var(--glass2);border:1px solid var(--line);color:#fff;font-size:13px;padding:8px 14px;border-radius:18px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;white-space:nowrap}
.pa-toast.on{opacity:1;transform:translate(-50%,0)}
.pa-hint{position:absolute;z-index:905;left:calc(var(--sa-l) + 10px);right:calc(var(--sa-r) + 66px);bottom:calc(var(--pa-sheet,170px) + 14px);display:flex;align-items:center;gap:9px;padding:8px;background:var(--glass2);border:1px solid var(--line);border-radius:14px;box-shadow:0 6px 22px rgba(0,10,30,.35)}
.pa-hint img{border-radius:8px}.pa-hint-t{flex:1;min-width:0;display:flex;flex-direction:column;font-size:12px;color:var(--sub)}.pa-hint-t b{color:#fff;font-size:13px}
.pa-hint-go{border:0;border-radius:10px;background:var(--org);color:#1a0d00;font-weight:800;padding:8px 12px}.pa-hint-x{border:0;background:none;color:var(--sub);font-size:22px;width:30px}
/* sheet (phones) */
.pa-sheet{position:absolute;z-index:1100;left:0;right:0;bottom:0;max-height:calc(100% - var(--sa-t) - 110px);height:calc(170px + var(--sa-b));background:var(--glass);border-top:1px solid var(--line);border-radius:20px 20px 0 0;
  box-shadow:0 -8px 30px rgba(0,10,30,.4);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);display:flex;flex-direction:column;transition:height .25s ease}
.pa-sheet.open{height:72%}
.pa-has-card .pa-sheet:not(.open){height:calc(222px + var(--sa-b))}
.pa{--pa-sheet:calc(170px + var(--sa-b))}.pa.pa-has-card{--pa-sheet:calc(222px + var(--sa-b))}
.pa.sheet-open .pa-fabs,.pa.sheet-open .pa-hint,.pa.sheet-open .leaflet-bottom{opacity:0;pointer-events:none}
.pa-grab{flex:none;border:0;background:none;height:22px;display:flex;align-items:center;justify-content:center;cursor:pointer;touch-action:none}
.pa-grab i{width:40px;height:5px;border-radius:3px;background:rgba(255,255,255,.35)}
.pa-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.pa-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 calc(var(--sa-r) + 14px) calc(var(--sa-b) + 14px) calc(var(--sa-l) + 14px);overscroll-behavior:contain}
.pa-sheet:not(.open) .pa-body{overflow:hidden}
.pa-has-card .pa-sheet:not(.open) .pa-near{display:none}
.pa-h{display:flex;align-items:center;justify-content:space-between;margin:0 0 6px}
.pa h2{font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:var(--sub);margin:0;font-weight:700}
.pa-link{border:0;background:none;color:var(--acc);font:600 13px system-ui,sans-serif;cursor:pointer;padding:4px 0}
.pa-list{list-style:none;margin:0;padding:0}
.pa-row{width:100%;display:flex;align-items:center;gap:10px;border:0;background:none;color:var(--txt);padding:7px 4px;border-bottom:1px solid rgba(125,211,252,.10);text-align:left;cursor:pointer;font:inherit;border-radius:8px}
.pa-row:hover,.pa-row.on{background:rgba(125,211,252,.10)}
.pa-row-t{flex:1;min-width:0;display:flex;flex-direction:column}.pa-row-t b{font-size:14px}.pa-row-t em,.pa-row-v em{font-style:normal;font-size:11.5px;color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pa-row-v{display:flex;flex-direction:column;align-items:flex-end}.pa-row-v b{font-size:13px;font-variant-numeric:tabular-nums}
.pa-empty{color:var(--sub);font-size:13px;padding:8px 2px}
.plane-icon.scwp.mini{position:relative;display:inline-block;width:28px;height:28px;flex:none}
/* card */
.pa-card{padding:2px 0 8px}
.pa-card-h{display:flex;align-items:center;gap:10px}
.pa-card-h .plane-icon.scwp.mini{width:40px;height:40px}
.pa-card-t{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px}
.pa-card-t b{font-size:21px;letter-spacing:.01em}.pa-card-t em{flex-basis:100%;font-style:normal;color:var(--sub);font-size:13px}
.pa-x{border:0;background:rgba(255,255,255,.1);color:#fff;width:32px;height:32px;border-radius:50%;font-size:20px;line-height:1;cursor:pointer;flex:none}
.pa-route{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0 2px;padding:8px 12px;border-radius:12px;background:rgba(125,211,252,.08);border:1px solid var(--line)}
.pa-route div{display:flex;flex-direction:column;min-width:0}.pa-route div:last-child{align-items:flex-end;text-align:right}
.pa-route b{font-size:17px;letter-spacing:.04em}.pa-route em{font-style:normal;font-size:11.5px;color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px}
.pa-route i{font-style:normal;color:var(--org);font-size:18px}
.pa-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px}
.pa-stat-c{background:rgba(255,255,255,.05);border:1px solid rgba(125,211,252,.12);border-radius:10px;padding:6px 7px;display:flex;flex-direction:column;min-width:0}
.pa-stat-c span{font-size:9.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pa-stat-c b{font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap}.pa-stat-c em{font-style:normal;font-size:10.5px;color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pa-card-n,.pa-gone{font-size:11.5px;color:var(--sub);margin:8px 0 0}.pa-gone{color:#fbbf24}
.pa-card.gone .pa-stats,.pa-card.gone .pa-route{opacity:.5}
@media (max-width:759px){.pa-stats{grid-template-columns:repeat(2,1fr)}.pa-has-card .pa-sheet:not(.open){height:calc(300px + var(--sa-b))}.pa.pa-has-card{--pa-sheet:calc(300px + var(--sa-b))}}
/* options */
.pa-sec{margin-top:16px}
.pa-opts{display:flex;flex-direction:column;gap:2px;margin-top:6px}
.pa-opt{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;font-size:14px;border-bottom:1px solid rgba(125,211,252,.08)}
.pa-seg{display:inline-flex;background:rgba(255,255,255,.07);border-radius:10px;padding:2px}
.pa-seg button{border:0;background:none;color:var(--sub);font:600 13px system-ui,sans-serif;padding:7px 12px;border-radius:8px;cursor:pointer}
.pa-seg button.on{background:#0b6fb8;color:#fff}
.pa-tog input{position:absolute;opacity:0;width:1px;height:1px}
.pa-tog i{width:44px;height:26px;border-radius:13px;background:rgba(255,255,255,.18);position:relative;transition:background .2s;flex:none}
.pa-tog i::after{content:'';position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s}
.pa-tog input:checked+i{background:#0b6fb8}.pa-tog input:checked+i::after{transform:translateX(18px)}
.pa-tog input:focus-visible+i{outline:2px solid var(--acc);outline-offset:2px}
.pa-ramp{display:flex;flex-direction:column;gap:4px;margin-top:6px}
.pa-band{display:flex;align-items:center;gap:8px;font-size:13px}.pa-band i{width:26px;height:8px;border-radius:4px}
.pa-band.b0 i{background:#ff8a3d}.pa-band.b1 i{background:#ffd23f}.pa-band.b2 i{background:#5ee37b}.pa-band.b3 i{background:#2fd8f0}.pa-band.b4 i{background:#5b9dff}.pa-band.b5 i{background:#c78bff}.pa-band.bna i{background:#e8eef6}
.pa-legn{font-size:12px;color:var(--sub);margin:6px 0 0}
.pa-typekey{font-size:13px !important;color:var(--txt) !important;gap:6px 12px !important}
.pa-shapes{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px 10px;margin-top:12px;font-size:12px;color:var(--sub)}
.pa-shapes>span{display:flex;align-items:center;gap:6px}
.pa-shapes .plane-icon.scwp.mini{width:24px;height:24px}
.pa-shapes .plane-icon.scwp svg path{fill:#cfe8ff !important;stroke:#071425 !important}
.pa-instbtn{display:flex;align-items:center;gap:10px;width:100%;border:1px solid var(--line);background:var(--glass2);color:#fff;border-radius:12px;padding:10px;font:600 14px system-ui,sans-serif;margin-top:6px}
.pa-instbtn img{border-radius:6px}.pa-insthow{font-size:12.5px;color:var(--sub)}
.pa-fine{font-size:11.5px;line-height:1.45;color:var(--sub);margin:16px 0 4px}.pa-fine a{color:var(--acc)}
/* light map: keep panels dark (aviation look), planes get a light outline */
.pa-light .plane-icon.scwp svg{filter:drop-shadow(0 0 1px #fff) drop-shadow(0 1px 2px rgba(0,0,0,.45))}
/* iPad + desktop: side panel */
@media (min-width:760px){
  .pa{--pa-sheet:0px}.pa.pa-has-card{--pa-sheet:0px}
  .pa-sheet,.pa-sheet.open,.pa-has-card .pa-sheet:not(.open){top:calc(var(--sa-t) + 104px);left:calc(var(--sa-l) + 12px);right:auto;bottom:calc(var(--sa-b) + 12px);width:360px;height:auto;max-height:none;border-radius:18px;border:1px solid var(--line)}
  .pa-grab{display:none}
  .pa-body{padding:14px 16px 16px}
  .pa-sheet:not(.open) .pa-body{overflow-y:auto}
  .pa-has-card .pa-sheet:not(.open) .pa-near{display:block}
  .pa-near{margin-top:6px}.pa-card:not([hidden])+.pa-near{margin-top:14px}
  .pa-chips{left:calc(var(--sa-l) + 384px);top:calc(var(--sa-t) + 60px)}
  .pa-top{padding-left:calc(var(--sa-l) + 14px)}
  .pa-fabs{bottom:calc(var(--sa-b) + 96px)}
  .pa-hint{left:auto;right:calc(var(--sa-r) + 70px);bottom:calc(var(--sa-b) + 24px);width:340px}
  .pa.sheet-open .pa-fabs,.pa.sheet-open .pa-hint,.pa.sheet-open .leaflet-bottom{opacity:1;pointer-events:auto}
  .pa .leaflet-bottom{bottom:0}
  .pa-chips{flex-wrap:wrap;overflow:visible}
}
@media (min-width:760px) and (max-width:900px){.pa-sheet,.pa-sheet.open,.pa-has-card .pa-sheet:not(.open){width:320px}.pa-chips{left:calc(var(--sa-l) + 344px)}.pa-stats{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1200px){.pa-stats{grid-template-columns:repeat(2,1fr)}}
@media (min-width:760px) and (max-width:1199px){.pa-stats{grid-template-columns:repeat(2,1fr)}}
@media (prefers-reduced-motion:reduce){.pa-live{animation:none}.pa-sheet,.pa-fabs,.pa .leaflet-bottom{transition:none}}
