/* Z.E.R.O. Homepage Observation Monitor — intentionally inherits the theme's existing feature-date cell dimensions. */
.zero-feature-date.zero-hom-host{padding:0!important;display:block!important;min-width:0!important;overflow:hidden!important;background:#030711!important;position:relative!important}
.zero-hom-monitor{position:relative;width:100%;height:100%;min-height:100%;background:#02050a;color:#e8edf5;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:hidden}
.zero-hom-header{height:34px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 10px;background:rgba(4,8,16,.96);border-bottom:1px solid rgba(183,112,255,.28);font-size:10px;letter-spacing:.055em;white-space:nowrap}
.zero-hom-brand{display:flex;align-items:center;gap:7px;font-weight:700;overflow:hidden;text-overflow:ellipsis}.zero-hom-brand i{width:6px;height:6px;border-radius:50%;background:#ad6cff;box-shadow:0 0 9px #a55cff;flex:none}.zero-hom-camline{color:#c8bdd5;overflow:hidden;text-overflow:ellipsis}
.zero-hom-stage{position:absolute;left:0;right:0;top:34px;bottom:0;background:#020408;overflow:hidden}
.zero-hom-stage img,.zero-hom-stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center center;background:#020408;display:none}
.zero-hom-stage .is-visible{display:block}
.zero-hom-scanlines,.zero-hom-noise,.zero-hom-vignette{position:absolute;inset:0;pointer-events:none;z-index:7}.zero-hom-scanlines{opacity:.26;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.028) 0 1px,transparent 1px 4px)}
.zero-hom-vignette{box-shadow:inset 0 0 55px rgba(0,0,0,.72)}
.zero-hom-noise{opacity:.13;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.75'/%3E%3C/svg%3E");animation:zeroHomNoise .18s steps(2) infinite}
@keyframes zeroHomNoise{0%{transform:translate(0)}25%{transform:translate(-2%,1%)}50%{transform:translate(1%,-2%)}75%{transform:translate(2%,2%)}100%{transform:translate(-1%,-1%)}}
.zero-hom-hud{position:absolute;inset:0;z-index:9;pointer-events:none;text-shadow:0 1px 3px #000;font-size:9px;letter-spacing:.035em}.zero-hom-top,.zero-hom-bottom{position:absolute;left:9px;right:9px;display:flex;justify-content:space-between;gap:8px}.zero-hom-top{top:8px}.zero-hom-bottom{bottom:8px;align-items:flex-end}.zero-hom-purple{color:#c78bff}.zero-hom-green{color:#78f0a0}.zero-hom-note{position:absolute;left:9px;right:9px;bottom:27px;max-width:75%;font-size:9px;line-height:1.4;color:#e1dce8;background:rgba(2,5,9,.48);padding:5px 6px;border-left:2px solid rgba(190,120,255,.7)}
.zero-hom-error{position:absolute;inset:0;z-index:20;display:none;place-items:center;text-align:center;background:rgba(2,4,8,.92);font-size:11px;letter-spacing:.12em}.zero-hom-error.is-visible{display:grid}.zero-hom-error strong{display:block;color:#c78bff;font-size:13px;margin-bottom:6px}.zero-hom-static-burst{position:absolute;inset:0;z-index:18;display:none;background:repeating-radial-gradient(circle at 30% 40%,#fff 0 1px,#000 1px 3px);filter:contrast(180%);opacity:.55}.zero-hom-static-burst.is-visible{display:block;animation:zeroHomBurst .09s steps(2) infinite}@keyframes zeroHomBurst{50%{transform:translateX(3px)}}
.zero-hom-empty{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:#8e849c;font-size:10px;letter-spacing:.08em;padding:20px}.zero-hom-empty b{display:block;color:#be85f2;margin-bottom:5px}
@media(max-width:900px){.zero-feature-date.zero-hom-host{display:block!important;min-height:260px!important}.zero-hom-monitor{min-height:260px}.zero-hom-header{height:32px}.zero-hom-stage{top:32px}}
@media(max-width:620px){.zero-feature-date.zero-hom-host{min-height:230px!important}.zero-hom-monitor{min-height:230px}.zero-hom-note{max-width:90%}}


/* v1.0.1 — full moving static whenever no camera media exists. */
.zero-hom-idle-static{
  position:absolute;
  inset:0;
  z-index:5;
  display:none;
  overflow:hidden;
  background:#050505;
}
.zero-hom-idle-static.is-visible{display:block}
.zero-hom-idle-static::before,
.zero-hom-idle-static::after{
  content:"";
  position:absolute;
  inset:-45%;
  width:190%;
  height:190%;
  pointer-events:none;
}
.zero-hom-idle-static::before{
  opacity:.92;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='s'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='4' seed='7' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncR type='linear' slope='2.8' intercept='-.9'/%3E%3CfeFuncG type='linear' slope='2.8' intercept='-.9'/%3E%3CfeFuncB type='linear' slope='2.8' intercept='-.9'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23s)'/%3E%3C/svg%3E");
  background-size:180px 180px;
  animation:zeroHomIdleStatic .11s steps(2,end) infinite;
}
.zero-hom-idle-static::after{
  inset:0;
  width:100%;
  height:100%;
  opacity:.72;
  background:
    repeating-linear-gradient(0deg,rgba(255,255,255,.12) 0 1px,rgba(0,0,0,.16) 1px 3px),
    linear-gradient(90deg,transparent 0 35%,rgba(255,255,255,.08) 36%,transparent 38% 100%);
  animation:zeroHomIdleRoll .22s steps(3,end) infinite;
}
@keyframes zeroHomIdleStatic{
  0%{transform:translate3d(-5%,-4%,0) scale(1.04)}
  25%{transform:translate3d(4%,-2%,0) scale(1.06)}
  50%{transform:translate3d(-2%,5%,0) scale(1.03)}
  75%{transform:translate3d(5%,3%,0) scale(1.05)}
  100%{transform:translate3d(-4%,-5%,0) scale(1.04)}
}
@keyframes zeroHomIdleRoll{
  0%{transform:translateY(-2px)}
  50%{transform:translateY(3px)}
  100%{transform:translateY(-1px)}
}

/* v1.0.3 — preserve the complete source frame for both images and videos.
   No zoom/crop: all media uses the same centered monitor viewport. */
.zero-hom-stage img.is-visible,.zero-hom-stage video.is-visible{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
}

/* v1.0.4 — heavier legacy surveillance-monitor treatment. */
.zero-hom-flicker,.zero-hom-roll-line,.zero-hom-interference{position:absolute;inset:0;pointer-events:none;z-index:8}
.zero-hom-flicker{
  background:rgba(255,255,255,.018);
  mix-blend-mode:screen;
  animation:zeroHomFlicker .115s steps(2,end) infinite;
}
@keyframes zeroHomFlicker{
  0%,100%{opacity:.08} 10%{opacity:.23} 11%{opacity:.06} 34%{opacity:.14} 35%{opacity:.03} 62%{opacity:.18} 77%{opacity:.09} 78%{opacity:.25}
}
.zero-hom-scanlines{
  opacity:.39!important;
  background:repeating-linear-gradient(to bottom,rgba(255,255,255,.045) 0 1px,rgba(0,0,0,.08) 1px 2px,transparent 2px 4px)!important;
  animation:zeroHomScanDrift 7s linear infinite;
}
@keyframes zeroHomScanDrift{from{background-position:0 0}to{background-position:0 32px}}
.zero-hom-noise{opacity:.19!important;animation-duration:.095s!important;filter:contrast(135%)}
.zero-hom-roll-line{display:none;inset:-28% 0 auto 0;height:34%;opacity:.72;background:linear-gradient(to bottom,transparent 0%,rgba(255,255,255,.035) 35%,rgba(216,221,255,.12) 49%,rgba(0,0,0,.16) 54%,transparent 100%);filter:blur(.3px)}
.zero-hom-roll-line.is-active{display:block;animation:zeroHomRollLine .78s linear 1}
@keyframes zeroHomRollLine{from{transform:translateY(0)}to{transform:translateY(470%)}}
.zero-hom-interference{display:none;background:repeating-linear-gradient(to bottom,transparent 0 19px,rgba(225,225,255,.13) 20px 22px,rgba(0,0,0,.22) 23px 27px,transparent 28px 46px);mix-blend-mode:screen;opacity:.65}
.zero-hom-interference.is-active{display:block;animation:zeroHomInterference .11s steps(2,end) infinite}
@keyframes zeroHomInterference{0%{transform:translateX(-3px) skewX(-.2deg)}50%{transform:translateX(4px) skewX(.25deg)}100%{transform:translateX(-1px)}}
.zero-hom-stage:has(.zero-hom-interference.is-active) img.is-visible,
.zero-hom-stage:has(.zero-hom-interference.is-active) video.is-visible{filter:contrast(1.08) brightness(.96)}

/* Camera list drag-and-drop admin sorting. */
.post-type-zero_camera .column-zero_drag{width:38px;text-align:center}
.post-type-zero_camera .column-zero_order{width:110px}
.post-type-zero_camera .zero-hom-drag-handle{cursor:grab;color:#8c8f94;font-size:20px;width:24px;height:24px;line-height:24px}
.post-type-zero_camera .zero-hom-drag-handle:active{cursor:grabbing}
.post-type-zero_camera .zero-hom-sortable tr.zero-hom-sorting{opacity:.62;background:#f0f6fc}
.post-type-zero_camera .zero-hom-sortable.zero-hom-saving{opacity:.72;pointer-events:none}
.post-type-zero_camera .zero-hom-sort-note{margin:8px 0 12px}
