/* ─── DISPATCH (1.11.9.120) ───────────────────────────────────────────────────
   The archive console: same moulded housing as the Nav Console, CB set and the
   tutorial. Amber key rail on the left, phosphor screen on the right. */

@keyframes fmDspPing{0%,100%{box-shadow:0 0 0 0 rgba(245,194,106,0)}50%{box-shadow:0 0 0 4px rgba(245,194,106,.5)}}
#dispatchBtn.ping{animation:fmDspPing 1.4s ease-in-out infinite;border-color:#f5c26a}

#fmDspWin{display:none;position:fixed;inset:0;z-index:100001;background:rgba(0,0,0,.55);align-items:center;justify-content:center;padding:16px;box-sizing:border-box}
#fmDspWin.open{display:flex}
.dsp-shell{width:900px;max-width:100%;height:min(720px,calc(100vh - 32px));display:flex;flex-direction:column;box-sizing:border-box;padding:9px 12px 12px;border-radius:10px;
  font-family:'Share Tech Mono',ui-monospace,monospace;color:#7cf0a4;
  background:
    radial-gradient(circle at 35% 35%,#4a524a 0,#151815 3px,#000 3.5px,transparent 4px) 6px 6px/9px 9px no-repeat,
    radial-gradient(circle at 35% 35%,#4a524a 0,#151815 3px,#000 3.5px,transparent 4px) calc(100% - 6px) 6px/9px 9px no-repeat,
    radial-gradient(circle at 35% 35%,#4a524a 0,#151815 3px,#000 3.5px,transparent 4px) 6px calc(100% - 6px)/9px 9px no-repeat,
    radial-gradient(circle at 35% 35%,#4a524a 0,#151815 3px,#000 3.5px,transparent 4px) calc(100% - 6px) calc(100% - 6px)/9px 9px no-repeat,
    linear-gradient(180deg,#1d221d,#0a0c0a);
  box-shadow:0 0 0 1px #000,0 18px 50px rgba(0,0,0,.75),inset 0 1px 0 rgba(255,255,255,.07),inset 0 0 0 1px #262c26;
  animation:dspIn .22s ease-out}
@keyframes dspIn{from{transform:translateY(8px);opacity:.3}to{transform:none;opacity:1}}

.dsp-plate{display:flex;align-items:center;gap:12px;min-height:30px;padding:0 4px 0 12px;letter-spacing:.18em;color:#c99a4e;text-shadow:0 1px 0 #000;white-space:nowrap}
.dsp-plate b{font-weight:400;font-size:16px;color:#f0c070}
.dsp-plate span{flex:1;font-size:11px;overflow:hidden;text-overflow:ellipsis}
.dsp-x{width:30px;height:26px;border:0;border-radius:4px;cursor:pointer;font-family:inherit;font-size:13px;color:#f5c26a;
  background:linear-gradient(#262b26,#171a17);box-shadow:0 3px 0 #060706,0 4px 4px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.1)}
.dsp-x:hover{color:#ffd88a}

.dsp-body{flex:1;min-height:0;display:flex;gap:12px;margin-top:9px}
.dsp-rail{flex:0 0 168px;display:flex;flex-direction:column;gap:9px}
.dsp-k{position:relative;height:38px;border:0;border-radius:5px;cursor:pointer;text-align:left;padding:0 12px;font-family:inherit;font-size:12px;letter-spacing:.14em;color:#c99a4e;
  background:linear-gradient(#262b26,#171a17);box-shadow:0 4px 0 #060706,0 6px 5px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.1)}
.dsp-k:hover{color:#ffd88a}
.dsp-k.on{background:linear-gradient(#ffc76a,#d8922a);color:#1b1206;box-shadow:0 2px 0 #6a4410,inset 0 1px 0 rgba(255,255,255,.45);transform:translateY(2px)}
.dsp-k i{position:absolute;right:8px;top:50%;margin-top:-9px;min-width:18px;height:18px;line-height:18px;padding:0 4px;box-sizing:border-box;border-radius:9px;font-style:normal;font-size:11px;letter-spacing:0;text-align:center;color:#06120a;background:#7cf0a4;box-shadow:0 0 6px #42ff7e}
.dsp-rail-note{margin-top:auto;padding:8px 6px;font-size:11px;line-height:1.45;color:#8a8a7a;letter-spacing:.04em}

.dsp-screen{flex:1;min-width:0;overflow-y:auto;padding:14px 16px;border-radius:10px/12px;position:relative;
  background:radial-gradient(ellipse at 50% 40%,#0a1a0e 0%,#05100a 65%,#020805 100%);
  box-shadow:inset 0 0 30px rgba(0,0,0,.9),inset 0 0 10px rgba(66,255,126,.08),0 0 0 2px #000,0 0 0 6px #121612,0 0 0 7px #2c332c;
  scrollbar-width:thin;scrollbar-color:#2f5a3a #05100a}

.dsp-h{margin:0 0 10px;font-size:15px;letter-spacing:.16em;color:#f5c26a;text-shadow:0 0 8px rgba(245,194,106,.35)}
.dsp-empty{padding:40px 10px;text-align:center;font-size:14px;color:#6fa883}

.dsp-kinds{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}
.dsp-kind{display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:left;padding:8px 10px;border:0;border-radius:5px;cursor:pointer;font-family:inherit;
  background:#070b08;box-shadow:inset 0 0 0 1px #1b2a1e;color:#9fc9ab}
.dsp-kind b{font-weight:400;font-size:12px;letter-spacing:.14em;color:#c9f0d4}
.dsp-kind span{font-size:11px;line-height:1.35;color:#6fa883}
.dsp-kind:hover{box-shadow:inset 0 0 0 1px #2f5a3a}
.dsp-kind.on{box-shadow:inset 0 0 0 1px #7cf0a4,0 0 10px rgba(66,255,126,.18)}
.dsp-kind.on b{color:#7cf0a4}

.dsp-f{display:block;margin:0 0 10px}
.dsp-f>span{display:flex;justify-content:space-between;margin-bottom:4px;font-size:11px;letter-spacing:.16em;color:#6fa883}
.dsp-f em{font-style:normal;letter-spacing:.04em}
.dsp-f input,.dsp-f select,.dsp-f textarea{width:100%;box-sizing:border-box;padding:8px 10px;border:0;border-radius:4px;outline:none;font-family:inherit;font-size:14px;line-height:1.5;color:#dff7e6;
  background:#030805;box-shadow:inset 0 0 0 1px #1b2a1e,inset 0 2px 6px rgba(0,0,0,.6)}
.dsp-f textarea{resize:vertical}
.dsp-f input:focus,.dsp-f select:focus,.dsp-f textarea:focus{box-shadow:inset 0 0 0 1px #7cf0a4,inset 0 2px 6px rgba(0,0,0,.6)}
.dsp-f select option{background:#05100a}
.dsp-check{display:flex;gap:8px;align-items:center;margin:2px 0 8px;font-size:13px;color:#c9f0d4;cursor:pointer}
.dsp-check input{accent-color:#7cf0a4}
.dsp-fine{font-size:11px;line-height:1.45;color:#6a8a72}

.dsp-act{display:flex;align-items:center;gap:12px;margin-top:12px}
.dsp-act>span{flex:1}
.dsp-msg{font-size:13px;color:#7cf0a4}
.dsp-msg.bad{color:#ff8a7a}
.dsp-go,.dsp-sm{border:0;border-radius:5px;cursor:pointer;font-family:inherit;letter-spacing:.14em;white-space:nowrap}
.dsp-go{height:36px;padding:0 16px;font-size:12px;font-weight:700;color:#1b1206;background:linear-gradient(#ffc76a,#d8922a);
  box-shadow:0 4px 0 #6a4410,0 6px 6px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.45)}
.dsp-go:hover{background:linear-gradient(#ffd88a,#e8a23a)}
.dsp-go:active{transform:translateY(3px);box-shadow:0 1px 0 #6a4410}
.dsp-go:disabled,.dsp-sm:disabled{opacity:.5;cursor:default}
.dsp-sm{height:28px;padding:0 11px;font-size:11px;color:#f5c26a;background:linear-gradient(#262b26,#171a17);box-shadow:0 3px 0 #060706,0 4px 4px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.1)}
.dsp-sm:hover{color:#ffd88a}
.dsp-sm.on{color:#06120a;background:#7cf0a4}
.dsp-sm.warn{color:#ff9a7a}

.dsp-card{margin:0 0 10px;padding:10px 12px;border-radius:6px;background:#070b08;box-shadow:inset 0 0 0 1px #1b2a1e;font-size:13px;line-height:1.55;color:#c9f0d4}
.dsp-card.canon{box-shadow:inset 0 0 0 1px rgba(201,154,78,.4)}
.dsp-card.sel{box-shadow:inset 0 0 0 1px #7cf0a4}
.dsp-card p{margin:6px 0}
.dsp-card-h{display:flex;align-items:center;gap:10px}
.dsp-card-h[data-d]{cursor:pointer}
.dsp-card-h b{flex:1;font-weight:400;font-size:15px;color:#f5c26a}
.dsp-meta{margin-top:2px;font-size:11px;letter-spacing:.06em;color:#6a8a72}
.dsp-snip{margin-top:6px;color:#9fc9ab}
.dsp-st{flex:0 0 auto;font-size:10px;letter-spacing:.18em;padding:2px 7px;border-radius:2px;color:#7cf0a4;box-shadow:inset 0 0 0 1px #2f5a3a}
.dsp-st.warn{color:#1b1206;background:#f5c26a;box-shadow:none}
.dsp-st.ok{color:#06120a;background:#7cf0a4;box-shadow:0 0 8px rgba(66,255,126,.4)}
.dsp-st.dim{color:#8a8a7a;box-shadow:inset 0 0 0 1px #3a3a32}
.dsp-lbl{font-size:10px;letter-spacing:.2em;color:#c99a4e;margin-bottom:2px}
.dsp-canon,.dsp-note{margin-top:8px;padding:7px 10px;border-radius:5px;background:linear-gradient(90deg,rgba(245,194,106,.1),rgba(245,194,106,.02));box-shadow:inset 0 0 0 1px rgba(201,154,78,.3);color:#f5e2bc}
.dsp-orig{margin-top:8px;color:#9fc9ab}
.dsp-orig summary{cursor:pointer;font-size:11px;letter-spacing:.12em;color:#6fa883}
.dsp-card-act{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:8px}
.dsp-filt{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}

@media (max-width:760px){
  #fmDspWin{padding:8px;align-items:stretch}
  .dsp-shell{height:100%;max-height:none}
  .dsp-body{flex-direction:column}
  .dsp-rail{flex:0 0 auto;flex-direction:row;overflow-x:auto;gap:6px}
  .dsp-k{flex:0 0 auto;height:32px;font-size:11px;padding:0 10px}
  .dsp-k i{position:static;margin:0 0 0 6px;display:inline-block;vertical-align:middle}
  .dsp-rail-note{display:none}
  .dsp-kinds{grid-template-columns:repeat(2,1fr)}
  .dsp-screen{padding:12px}
}
@media (prefers-reduced-motion:reduce){ .dsp-shell,#dispatchBtn.ping{animation:none} }
