/* DisasterSight Visual Theme v1 — non-invasive skin */
:root{
  --ds-accent:#7fff00;--ds-accent-2:#20e3b2;--ds-text:#e8f6ff;--ds-muted:#9aa4ad;
  --ds-panel:rgba(255,255,255,0.06);--ds-border:rgba(255,255,255,0.1);
}
/* Subtle focus ring + buttons */
:where(button,.btn,.chip,.nav-item){outline-color:var(--ds-accent);outline-offset:2px}
:where(button,.btn,.nav-item):focus-visible{outline:2px solid var(--ds-accent)}
/* Micro-anim for hoverable UI */
:where(.btn,.nav-item,.chip,.tab) { transition: transform .08s ease, box-shadow .18s ease; }
:where(.btn,.nav-item,.chip,.tab):hover { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(0,0,0,.28); }
/* Progress helper */
.ds-progress{ position:relative; height:8px; background:#0b1a0b; border:1px solid #1f3; border-radius:999px; overflow:hidden }
.ds-progress > .bar{ position:absolute; inset:0; width:0 }
.ds-progress[data-progress] > .bar{ width:attr(data-progress percentage); background:linear-gradient(90deg,var(--ds-accent),#a3ffcf) }
/* Skeleton */
.skeleton{ position:relative; color:transparent!important; }
.skeleton::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent); animation:ds-shimmer 1.2s infinite; }
@keyframes ds-shimmer{ 0%{ transform:translateX(-100%) } 100%{ transform:translateX(100%) } }
/* Debug panel host */
#ds-debug{ position:fixed; right:10px; bottom:10px; width:min(520px,94vw); max-height:60vh; overflow:auto; z-index:2147483647;
  background:#0f141a; color:var(--ds-text); border:1px solid var(--ds-border); border-radius:12px; box-shadow:0 12px 40px rgba(0,0,0,.45); display:none }
#ds-debug header{ display:flex; justify-content:space-between; align-items:center; padding:8px 10px; border-bottom:1px solid var(--ds-border) }
#ds-debug pre{ margin:0; padding:10px; font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; white-space:pre-wrap }
