/* PIXIE Recon — signal-control-room visual system. External services remain PLANNED. */
#panel-recon { min-height:520px; background:#090b12; color:#e9e7ef; }
#panel-recon.recon-window-open { position:fixed; top:72px; left:clamp(76px,8vw,118px); right:22px; bottom:58px; z-index:240; min-height:0; display:flex; border:1px solid #3b4055; border-radius:8px; box-shadow:0 24px 80px rgba(0,0,0,.72),0 0 0 1px rgba(156,124,255,.08); overflow:hidden; }
#panel-recon.recon-window-open .recon-page { min-height:0; }
#panel-recon.recon-window-open .recon-panel-head { flex:0 0 auto; }
#panel-recon.recon-window-open .recon-page { flex:1 1 auto; overflow:auto; }
@media(max-width:900px){#panel-recon.recon-window-open{top:60px;left:10px;right:10px;bottom:52px}}
.recon-panel-head { background:#0b0e17; border-bottom:1px solid #303449; }
.recon-brandline { display:block; color:#9c7cff; font-size:.66rem; letter-spacing:.2em; margin-bottom:2px; }
.recon-panel-head h2 { color:#f1eff7; letter-spacing:.12em; }
.recon-head-status { display:flex; align-items:center; gap:8px; color:#aab4ff; font-size:.62rem; letter-spacing:.1em; }
.recon-pulse { width:7px; height:7px; border-radius:50%; background:#6da8ff; box-shadow:0 0 10px #6da8ff; }
 .recon-head-status .close-panel { margin-left:8px; width:40px; height:40px; flex:0 0 40px; }

 .recon-page { min-width:0; overflow:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; padding:18px; display:grid; gap:14px; background:
  radial-gradient(circle at 18% 8%, rgba(123,88,255,.12), transparent 28%),
  linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
  linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size:auto,28px 28px,28px 28px; }
.recon-hero { display:grid; grid-template-columns:minmax(240px,.8fr) minmax(300px,1.25fr) minmax(230px,.75fr); min-height:280px; border:1px solid #34384d; background:#0b0e16; position:relative; overflow:hidden; }
.recon-hero:after { content:""; position:absolute; inset:0; pointer-events:none; background:repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 5px); mix-blend-mode:screen; }
.signal-art { position:relative; min-height:280px; overflow:hidden; background:linear-gradient(135deg,#171d30,#090b12 72%); }
.signal-art-noise { position:absolute; inset:-20%; opacity:.5; background:radial-gradient(circle at 30% 30%,#7d66b6 0 1px,transparent 2px),radial-gradient(circle at 60% 70%,#6da8ff 0 1px,transparent 2px); background-size:9px 9px,13px 13px; transform:rotate(-8deg); }
.signal-art-head { position:absolute; width:125px; height:165px; border-radius:48% 46% 44% 50%; left:29%; top:27px; background:linear-gradient(125deg,#596070,#222633 60%,#11151e); transform:rotate(-8deg); box-shadow:-18px 18px 0 rgba(109,168,255,.12); }
.signal-art-hair { position:absolute; width:170px; height:190px; left:18%; top:10px; border-radius:55% 42% 35% 62%; background:repeating-linear-gradient(105deg,#151821 0 8px,#3b4253 9px 12px,#11141b 13px 18px); transform:rotate(-11deg); mix-blend-mode:screen; }
.signal-art-headphones { position:absolute; width:145px; height:175px; left:25%; top:22px; border:10px solid #6d74a4; border-bottom-color:transparent; border-radius:50%; transform:rotate(-8deg); opacity:.9; }
.signal-art-headphones:before,.signal-art-headphones:after { content:""; position:absolute; width:27px; height:50px; background:#272d40; border:3px solid #9c7cff; top:54px; border-radius:8px; }
.signal-art-headphones:before { left:-17px; } .signal-art-headphones:after { right:-17px; }
.signal-art-mic { position:absolute; width:115px; height:10px; left:7%; bottom:40px; background:#aab4ff; transform:rotate(-18deg); box-shadow:0 0 18px rgba(156,124,255,.45); }
.signal-copy { padding:30px 34px; display:flex; flex-direction:column; justify-content:center; position:relative; z-index:1; }
.recon-kicker { font-size:.68rem; letter-spacing:.2em; color:#9c7cff; margin:0 0 10px; }
.signal-wave { display:flex; align-items:center; gap:3px; height:24px; margin-bottom:12px; }
.signal-wave i { width:3px; background:#8c72ff; height:8px; animation:recon-pulse 1.2s ease-in-out infinite; }
.signal-wave i:nth-child(2){height:16px}.signal-wave i:nth-child(3){height:23px}.signal-wave i:nth-child(4){height:12px}.signal-wave i:nth-child(5){height:19px}.signal-wave i:nth-child(6){height:9px}.signal-wave i:nth-child(7){height:15px}
.signal-wave i:nth-child(2){animation-delay:.1s}.signal-wave i:nth-child(3){animation-delay:.2s}.signal-wave i:nth-child(4){animation-delay:.3s}
@keyframes recon-pulse {50%{opacity:.35;transform:scaleY(.65)}}
.signal-copy blockquote { font-family:var(--font-sans); font-size:clamp(18px,2vw,25px); line-height:1.3; color:#f2eff7; margin:0 0 16px; }
.signal-body { max-width:600px; color:#b7b8c5; font-family:var(--font-sans); font-size:17px; line-height:1.55; margin:0; }

.recon-pipeline { padding:28px 22px; border-left:1px solid #34384d; position:relative; z-index:1; }
.recon-section-label,.recon-section-title h3,.recon-card h3 { color:#f0eff6; font-size:.76rem; letter-spacing:.14em; }
.recon-pipeline ol { list-style:none; margin:18px 0 0; padding:0 0 0 18px; border-left:2px solid #3b4055; }
.recon-pipeline li { position:relative; padding:4px 0 10px 16px; display:grid; grid-template-columns:auto 1fr; gap:8px; align-items:baseline; font-size:.64rem; color:#8f95a8; }
.recon-pipeline li:before { content:""; position:absolute; left:-24px; top:8px; width:8px; height:8px; border-radius:50%; background:#50566b; border:2px solid #090b12; }
.recon-pipeline li b { letter-spacing:.08em; color:#b8bed1; } .recon-pipeline li span{opacity:.72}
.recon-pipeline .pipeline-sweep:before,.recon-pipeline .pipeline-sweep b { color:#9c7cff; background:#9c7cff; }
.recon-pipeline .pipeline-flagged:before,.recon-pipeline .pipeline-flagged b { color:#ff4f7b; background:#ff4f7b; }
.recon-pipeline .pipeline-quarantine:before,.recon-pipeline .pipeline-quarantine b { color:#6da8ff; background:#6da8ff; }
.recon-pipeline .pipeline-cleared:before,.recon-pipeline .pipeline-cleared b { color:#55c7ff; background:#55c7ff; }

.recon-process-section,.recon-card { border:1px solid #34384d; background:rgba(11,14,22,.92); }
.recon-process-section { padding:18px; }
.recon-section-title { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; margin-bottom:16px; }
.recon-section-title h3 { margin:0 0 4px; } .recon-section-title p,.recon-card header p { margin:0; color:#778095; font-size:.62rem; letter-spacing:.1em; }
.recon-section-title>span { color:#7f8bab; text-align:right; font-size:.61rem; letter-spacing:.08em; line-height:1.6; }
.recon-process { display:grid; grid-template-columns:1fr 20px 1fr 20px 1fr 20px 1fr 20px 1fr 20px 1fr; align-items:stretch; gap:6px; }
.recon-process article { border:1px solid #3b4052; padding:14px 12px; min-height:120px; }
.recon-process article b { display:block; color:#737b91; font-size:.62rem; margin-bottom:9px; }
.recon-process article strong { display:block; color:#bfc5d5; font-size:.7rem; letter-spacing:.08em; }
.recon-process article p { margin:7px 0 0; color:#8f95a8; font-size:.62rem; line-height:1.45; }
.recon-process .process-sweep { border-color:#7c62d9; background:rgba(124,98,217,.08); } .process-sweep strong{color:#b39bff!important}
.recon-process .process-flagged { border-color:#a33c58; background:rgba(255,79,123,.06); } .process-flagged strong{color:#ff6b91!important}
.recon-process .process-cleared { border-color:#3d89b5; background:rgba(85,199,255,.06); } .process-cleared strong{color:#70d5ff!important}
.process-arrow { align-self:center; color:#667088; text-align:center; font-size:1.2rem; }

.recon-grid { display:grid; grid-template-columns:1.25fr .85fr .7fr; gap:14px; }
.recon-card { padding:16px; min-width:0; }
.recon-card header { display:flex; justify-content:space-between; gap:12px; margin-bottom:14px; } .recon-card header h3{margin:0 0 4px}
.recon-card header>span { color:#737b91; font-size:.58rem; letter-spacing:.08em; }
.artist-graph { height:250px; position:relative; overflow:hidden; background:radial-gradient(circle at 50% 50%,rgba(156,124,255,.1),transparent 32%); }
.graph-lines:before,.graph-lines:after { content:""; position:absolute; left:50%; top:50%; width:46%; height:1px; background:#5d6680; transform-origin:left center; }
.graph-lines:before { transform:rotate(-28deg); } .graph-lines:after { transform:rotate(22deg); }
.graph-node { position:absolute; display:grid; grid-template-columns:32px 1fr; gap:4px 7px; align-items:center; z-index:2; font-size:.6rem; }
.graph-node b{color:#bfc5d5;white-space:nowrap}.graph-node small{grid-column:2;color:#687188;font-size:.52rem}
.node-avatar { width:30px;height:30px;border:1px solid #6da8ff;border-radius:50%;display:grid;place-items:center;color:#aab4ff;font-size:.55rem;background:#111624; }
.graph-main { left:42%; top:40%; transform:translate(-50%,-50%); grid-template-columns:52px 1fr; } .graph-main .node-avatar{width:52px;height:52px;border:2px solid #9c7cff;box-shadow:0 0 18px rgba(156,124,255,.28);color:#c3b6ff}
.graph-c1{left:2%;top:8%}.graph-c2{right:2%;top:10%}.graph-c3{right:3%;top:55%}.graph-c4{left:1%;top:54%}.graph-c5{left:10%;bottom:3%}
.graph-legend{display:flex;gap:14px;flex-wrap:wrap;color:#737b91;font-size:.55rem;margin-top:8px}.graph-legend i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:4px}.artist-dot{background:#9c7cff}.collab-dot{background:#6da8ff}.release-dot{background:#8a91a5}

.recon-feed { display:grid; gap:10px; min-height:250px; align-content:start; }
.recon-feed div { display:grid; grid-template-columns:40px 52px 1fr; gap:6px; font-family:var(--font-mono); font-size:.58rem; color:#9097aa; }
.recon-feed time{color:#626b7f}.recon-feed b{color:#9c7cff}.recon-feed span{line-height:1.4}
.demo-capture { border:1px solid #4e75a0; background:rgba(85,199,255,.05); padding:11px; display:grid; gap:3px; color:#6fd7ff; font-size:.61rem; margin-top:12px; }.demo-capture span{color:#8090a8}
.cta-card { background:linear-gradient(160deg,rgba(124,98,217,.1),rgba(11,14,22,.96)); }
.cta-card h3{margin:0 0 10px}.cta-card>p,.recon-mini-cta p,.broadcast-preview p{font-family:var(--font-sans);font-size:16px;line-height:1.45;color:#b7b8c5}
.recon-primary { width:100%; margin:12px 0 7px; border:1px solid #b29cff; background:#8d6cf1; color:#08090e; padding:12px; font:600 .72rem var(--font-mono); letter-spacing:.08em; cursor:pointer; }.recon-primary:hover{background:#b09aff}.recon-primary:focus-visible{outline:2px solid #6da8ff;outline-offset:2px}
.cta-card>small { color:#788299; font-size:.55rem; }
.broadcast-preview,.recon-mini-cta { border-top:1px solid #34384d; margin-top:14px; padding-top:12px; }.broadcast-preview b,.recon-mini-cta b{color:#9c7cff;font-size:.62rem;letter-spacing:.08em}.broadcast-preview p,.recon-mini-cta p{font-size:14px;margin:5px 0 0}.broadcast-preview strong{color:#6da8ff}
.recon-lower{display:grid;grid-template-columns:1.4fr 1fr;gap:14px}.signal-note{display:flex;gap:14px;align-items:center}.signal-note-mark{color:#9c7cff;font-size:.65rem;letter-spacing:.14em}.signal-note p{font-family:var(--font-sans);font-size:17px;color:#d1d0da;margin:0}.ecosystem-note{display:grid;gap:6px}.ecosystem-note>span{color:#737b91;font-size:.58rem;letter-spacing:.12em}.ecosystem-note b{font-size:.62rem;color:#aab4ff}.ecosystem-note small{color:#687188;font-size:.55rem}

@media (max-width: 1100px) and (min-width: 901px) {
  .recon-hero { grid-template-columns: minmax(190px,.72fr) minmax(280px,1.2fr) minmax(210px,.82fr); }
  .signal-art { display:block; }
  .recon-pipeline { grid-column:auto; border-left:1px solid #34384d; }
  .signal-copy { grid-column:auto; padding:24px; }
  .recon-process { grid-template-columns:repeat(3,1fr); gap:8px; }
  .process-arrow { display:none; }
  .recon-grid { grid-template-columns:1fr 1fr; }
  .cta-card { grid-column:1 / -1; }
}
@media (max-width: 900px) {
  .recon-page{padding:14px}.recon-hero{grid-template-columns:1fr}.signal-art{display:block;min-height:190px;max-height:220px}.signal-art-head{left:34%;top:18px;transform:scale(.82) rotate(-8deg)}.signal-art-hair{left:25%;top:2px;transform:scale(.82) rotate(-11deg)}.signal-art-headphones{left:31%;top:14px;transform:scale(.82) rotate(-8deg)}.signal-art-mic{left:10%;bottom:24px}.recon-pipeline{grid-column:auto;border-left:0;border-top:1px solid #34384d}.recon-process{grid-template-columns:repeat(2,1fr)}.process-arrow{display:none}.recon-grid{grid-template-columns:1fr 1fr}.recon-lower{grid-template-columns:1fr}.cta-card{grid-column:1 / -1}.signal-copy{padding:24px}.signal-copy blockquote{font-size:20px}.artist-graph{height:280px}
}
@media (prefers-reduced-motion: reduce) {.signal-wave i{animation:none}}

@media (max-width: 600px) {
  .recon-panel-head { align-items:flex-start; gap:10px; }
  .recon-head-status { font-size:.52rem; gap:5px; }
  .recon-head-status .recon-pulse { display:none; }
  .recon-process { grid-template-columns:1fr; }
  .recon-grid { grid-template-columns:1fr; }
  .cta-card { grid-column:auto; }
  .signal-art { min-height:180px; }
  .signal-copy { padding:20px; }
  .signal-body { font-size:16px; }
}

/* iPad UX pass — reduce simultaneous importance and center the current target. */
.recon-target-card{padding:16px;display:flex;flex-direction:column;justify-content:center;gap:9px;background:#0b0e17;border-left:1px solid #34384d;position:relative;z-index:1}
.recon-target-label{color:#737b91;font:600 .6rem var(--font-mono);letter-spacing:.16em}
.recon-target-card h3{margin:0;color:#f1eff7;font:700 1.55rem var(--font-mono);letter-spacing:.08em}
.recon-target-card p{margin:0;color:#aeb1c0;font:13px/1.4 var(--font-sans)}
.recon-target-card p b{color:#737b91;font:600 .58rem var(--font-mono);letter-spacing:.1em}
.target-confidence{color:#6da8ff;font:600 .7rem var(--font-mono);letter-spacing:.08em}.target-confidence strong{color:#dfe8ff}
.target-risk{color:#ff5a82;font:600 .65rem var(--font-mono);letter-spacing:.1em;padding-top:7px;border-top:1px solid #34384d}
.target-action{color:#9c7cff;font:600 .65rem var(--font-mono);letter-spacing:.08em}
.recon-signal-narration{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid #34384d;background:#0d0b19}
.recon-signal-narration>span{color:#9c7cff;font:700 .62rem var(--font-mono);letter-spacing:.14em}.recon-signal-narration p{margin:0;color:#d2d2dc;font:14px/1.4 var(--font-sans)}
.signal-primary{margin-top:auto;width:auto;align-self:flex-start;padding-inline:16px}.recon-process-section .recon-section-title p{max-width:620px}
@media(max-width:1100px){.dock{width:64px;min-width:64px;padding:18px 8px;gap:18px}.dock-app{width:48px;min-height:48px;padding:8px 4px;font-size:0;display:grid;place-items:center}.dock-app span{display:none}.dock-app::before{font-size:16px;line-height:1;color:#9aa1b5}.dock-app:nth-child(1)::before{content:"◉"}.dock-app:nth-child(2)::before{content:"▣"}.dock-app:nth-child(3)::before{content:"▶"}.dock-app:nth-child(4)::before{content:"◆"}.dock-app:nth-child(5)::before{content:"⌘"}.dock-app:nth-child(6)::before{content:"◌"}.dock-app:nth-child(7)::before{content:"◎"}.dock-app.active::before{color:#f1eff7}.recon-hero{grid-template-columns:minmax(170px,.72fr) minmax(300px,1.28fr) minmax(210px,.82fr);min-height:270px}.signal-copy{padding:22px}.signal-copy blockquote{font-size:21px;line-height:1.2}.recon-target-card{border-left:1px solid #34384d}}
@media(max-width:900px){.recon-hero{grid-template-columns:1fr}.recon-target-card{border-left:0;border-top:1px solid #34384d;min-height:180px}.recon-signal-narration{align-items:flex-start}}
