/* SecureAEye command-center components. Loaded after style.css; uses the shared tokens.
   Classes are namespaced (cbar/cbrand/cnav, cc-*) so they never collide with legacy chrome. */

.cc-wrap{max-width:1320px;margin:0 auto;padding:0 28px;}
.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;}
.eyebrow{font-family:var(--font-mono);font-size:.69rem;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-dim);}

/* command bar */
.cbar{position:sticky;top:0;z-index:30;background:rgba(10,14,23,.86);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
.cbar-row{max-width:1320px;margin:0 auto;padding:12px 28px;display:flex;align-items:center;gap:24px;}
.cbrand{display:inline-flex;align-items:center;gap:11px;font-family:var(--font-display);font-weight:700;font-size:1.14rem;color:var(--ink-hi);}
.cbrand:hover{text-decoration:none;}
.cbrand .a,.cbrand .eye{color:var(--brand-violet);text-shadow:0 0 10px rgba(79,224,230,.35);}
.cbrand .mk{width:auto;height:30px;flex:0 0 auto;}
.cnav{display:flex;gap:22px;margin-left:8px;flex-wrap:wrap;}
.cnav a{font-size:.9rem;font-weight:500;color:var(--ink-dim);padding:4px 0;border-bottom:2px solid transparent;}
.cnav a:hover{color:var(--ink-hi);text-decoration:none;}
.cnav a[aria-current]{color:var(--ink-hi);border-bottom-color:var(--signal-line);}
.sysread{margin-left:auto;font-family:var(--font-mono);font-size:.74rem;color:var(--ink-dim);display:inline-flex;align-items:center;gap:8px;white-space:nowrap;}
.sysread .dot{width:7px;height:7px;border-radius:50%;background:var(--signal);box-shadow:0 0 8px var(--signal);animation:ccpulse 2.2s ease-in-out infinite;}
@keyframes ccpulse{0%,100%{opacity:1;}50%{opacity:.35;}}

/* hero */
.cc-hero{position:relative;padding:clamp(36px,5vw,64px) 0 clamp(26px,4vw,44px);overflow:clip;}
.cc-hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.6;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48'%3E%3Cpath d='M48 0H0V48' fill='none' stroke='%233F9EF0' stroke-width='0.5' opacity='0.06'/%3E%3C/svg%3E");}
.cc-hero .cc-wrap{position:relative;z-index:1;}
.cc-hgrid{display:grid;grid-template-columns:1.04fr .96fr;gap:clamp(24px,4vw,56px);align-items:center;}
.cc-hero h1{font-family:var(--font-display);font-weight:700;font-size:clamp(2.6rem,1.4rem + 4vw,4.2rem);letter-spacing:-.035em;line-height:1.04;margin:14px 0 18px;color:var(--ink-hi);}
.cc-hero .sub{font-size:clamp(1.1rem,1rem + .5vw,1.35rem);color:var(--ink-dim);line-height:1.45;max-width:40ch;margin:0 0 18px;}
.cc-hero .sub b{color:var(--ink-hi);font-weight:600;}
.cc-hero .readout{font-family:var(--font-mono);font-size:.82rem;color:var(--ink-dim);margin:0 0 26px;display:flex;flex-wrap:wrap;gap:6px 12px;}
.cc-hero .readout b{color:var(--blue);font-weight:600;} .cc-hero .readout i{color:var(--line-strong);font-style:normal;}
.cc-actions{display:flex;gap:13px;flex-wrap:wrap;}
.btn.primary{background:var(--signal);color:var(--ink-on-signal);border:0;}
.btn.primary:hover{background:var(--signal-bright);box-shadow:var(--glow-signal);transform:translateY(-1px);filter:none;}

/* eye HUD */
.eye-stage{display:flex;flex-direction:column;align-items:center;gap:14px;}
.eye-svg{width:100%;max-width:500px;height:auto;display:block;}
.brand-hero{-webkit-mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent),linear-gradient(to bottom,transparent,#000 5%,#000 95%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent),linear-gradient(to bottom,transparent,#000 5%,#000 95%,transparent);mask-composite:intersect;}
.scan-beam{transform-box:view-box;animation:sweep 3.6s cubic-bezier(.4,0,.5,1) infinite;}
@keyframes sweep{0%{transform:translateY(-94px);}50%{transform:translateY(94px);}100%{transform:translateY(-94px);}}
.eye-pupil{transform-box:view-box;transform-origin:220px 150px;animation:ppulse 3.6s ease-in-out infinite;}
@keyframes ppulse{0%,100%{transform:scale(1);}50%{transform:scale(.82);}}
.hud-ring{transform-box:view-box;transform-origin:220px 150px;animation:spin 20s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}

/* telemetry strip */
.strip{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin:6px 0 0;}
.ctile{background:var(--surface-3);border:1px solid var(--line);border-radius:var(--r2);padding:16px 18px;position:relative;overflow:clip;}
.ctile::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--blue);}
.ctile.t-ai::before{background:var(--purple);} .ctile.t-sig::before{background:var(--signal);}
.ctile .v{font-family:var(--font-display);font-weight:700;font-size:clamp(1.8rem,1.3rem + 1.4vw,2.6rem);line-height:1;color:var(--ink-hi);font-variant-numeric:tabular-nums;letter-spacing:-.02em;}
.ctile.t-sig .v{color:var(--signal);} .ctile.t-ai .v{color:var(--purple);}
.ctile .l{font-family:var(--font-mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-dim);margin-top:8px;}

/* mosaic + panels */
.mosaic{display:grid;grid-template-columns:repeat(12,1fr);gap:16px;margin-top:clamp(40px,6vw,64px);}
.cpanel{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r2);box-shadow:var(--shadow);position:relative;overflow:clip;display:flex;flex-direction:column;}
.cpanel.rail-sig::after,.cpanel.rail-ai::after{content:"";position:absolute;left:0;right:0;top:0;height:1px;}
.cpanel.rail-sig::after{background:var(--signal-line);} .cpanel.rail-ai::after{background:var(--purple);}
.phead{background:var(--surface-3);border-bottom:1px solid var(--line-soft);padding:12px 16px;display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:600;font-size:.84rem;color:var(--ink-hi);}
.phead .u{margin-left:auto;font-family:var(--font-mono);font-size:.72rem;color:var(--ink-dim);}
.phead .live{display:inline-flex;align-items:center;gap:6px;color:var(--signal);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.06em;margin-left:auto;}
.phead .live i{width:7px;height:7px;border-radius:50%;background:var(--signal);animation:ccpulse 2.2s ease-in-out infinite;}
.pbody{padding:18px 16px;flex:1;}
.pclaim{font-size:.9rem;color:var(--ink-dim);margin:0 0 14px;}
.pclaim b{color:var(--ink-hi);font-weight:600;}
.span8{grid-column:span 8;} .span7{grid-column:span 7;} .span6{grid-column:span 6;} .span5{grid-column:span 5;} .span4{grid-column:span 4;}

/* census grid */
.census{display:flex;flex-wrap:wrap;gap:14px;}
.cgroup{display:flex;flex-direction:column;gap:6px;}
.cgroup .ch{font-family:var(--font-mono);font-size:.64rem;color:var(--ink-dim);display:flex;align-items:center;gap:6px;text-transform:uppercase;letter-spacing:.04em;}
.cgroup .sw{width:8px;height:8px;border-radius:2px;}
.cgroup .cells{display:grid;grid-template-columns:repeat(9,1fr);gap:3px;}
.cell{width:9px;height:9px;border-radius:1.5px;opacity:.9;}
.cgroup.ai .cells .cell{box-shadow:0 0 0 1px rgba(94,107,255,.5);}

/* AI readiness dumbbell */
.dumb{display:flex;flex-direction:column;gap:16px;}
.drow .dl{font-size:.82rem;color:var(--ink);margin-bottom:7px;display:flex;justify-content:space-between;gap:10px;}
.drow .dl .mono{color:var(--ink-dim);font-size:.72rem;}
.track{position:relative;height:8px;background:var(--surface-1);border-radius:999px;}
.track .classic,.track .ai{position:absolute;top:0;left:0;height:8px;border-radius:999px;}
.track .classic{background:var(--ink-faint);} .track .ai{background:var(--purple);}
.dkey{display:flex;gap:18px;font-family:var(--font-mono);font-size:.7rem;color:var(--ink-dim);margin-top:4px;}
.dkey span{display:inline-flex;align-items:center;gap:6px;}
.dkey i{width:10px;height:10px;border-radius:2px;display:inline-block;}

/* donut */
.donut-wrap{display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
.donut{position:relative;width:148px;height:148px;flex:0 0 auto;}
.donut .ctr{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.donut .ctr b{font-family:var(--font-display);font-weight:700;font-size:1.9rem;color:var(--signal);line-height:1;}
.donut .ctr span{font-family:var(--font-mono);font-size:.62rem;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.06em;margin-top:4px;}
.dlegend{display:flex;flex-direction:column;gap:12px;font-size:.86rem;min-width:220px;}
.dlegend .li{display:flex;align-items:center;gap:10px;}
.dlegend .li i{width:11px;height:11px;border-radius:2px;flex:0 0 auto;}
.dlegend .li b{font-family:var(--font-mono);color:var(--ink-hi);margin-left:auto;}
.dlegend small{color:var(--ink-dim);display:block;font-size:.74rem;line-height:1.4;}

/* recent runs */
.runs{width:100%;border-collapse:separate;border-spacing:0;font-size:.82rem;}
.runs th{font-family:var(--font-mono);font-size:.64rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-dim);text-align:left;padding:4px 8px 8px;border-bottom:1px solid var(--line);}
.runs td{padding:9px 8px;border-bottom:1px solid var(--line-soft);color:var(--ink);vertical-align:middle;}
.runs tr:last-child td{border-bottom:0;}
.runs td.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;}
.obadge{font-family:var(--font-mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:999px;white-space:nowrap;}
.obadge.detected{background:var(--signal-ghost);color:var(--signal);}
.obadge.partial{background:rgba(242,203,69,.13);color:var(--med);}
.runs tr[data-o="detected"] td:first-child{box-shadow:inset 3px 0 0 var(--signal);}
.runs tr[data-o="partial"] td:first-child{box-shadow:inset 3px 0 0 var(--med);}

/* reveal motion — progressive enhancement: visible by default, animated in only when JS runs */
.reveal{opacity:1;transform:none;}
html.js .reveal{opacity:0;transform:translateY(18px);}
html.js .reveal.in{opacity:1;transform:none;transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1);}
html.js .reveal.d1{transition-delay:.07s;} html.js .reveal.d2{transition-delay:.14s;} html.js .reveal.d3{transition-delay:.21s;}

@media (max-width:1100px){ .span8,.span7,.span6,.span5,.span4{grid-column:span 12;} .strip{grid-template-columns:repeat(3,1fr);} }
@media (max-width:820px){ .cc-hgrid{grid-template-columns:1fr;} .cnav,.sysread{display:none;} .strip{grid-template-columns:1fr 1fr;} .cc-wrap{padding:0 18px;} }
@media (prefers-reduced-motion:reduce){ html.js .reveal{opacity:1;transform:none;transition:none;} .scan-beam,.eye-pupil,.hud-ring,.sysread .dot,.phead .live i{animation:none;} }

/* heatmap + exposure matrix */
.hm-wrap{overflow-x:auto;}
.hm{border-collapse:separate;border-spacing:3px;width:100%;font-family:var(--font-mono);font-size:.68rem;}
.hm thead th{text-align:center;color:var(--ink-dim);font-weight:500;padding:2px;}
.hm .hm-sw{display:inline-block;width:9px;height:9px;border-radius:2px;}
.hm th.hm-row{text-align:right;color:var(--ink-dim);white-space:nowrap;padding:0 8px 0 0;font-size:.64rem;font-weight:500;}
.hm td{text-align:center;border-radius:2px;padding:0;height:22px;min-width:24px;font-variant-numeric:tabular-nums;}
.hm.mx td{height:30px;font-size:.74rem;} .hm.mx thead th{font-size:.64rem;}

/* AI readiness page */
.yn.y{color:var(--signal);} .yn.n{color:var(--ink-faint);}
.ai-tbl td{padding:7px 8px;} .ai-tbl .chip{font-size:.72rem;}
.fwrow{display:flex;align-items:center;gap:10px;margin:8px 0;}
.fwrow .fwl{width:110px;color:var(--ink-dim);font-family:var(--font-mono);font-size:.7rem;text-align:right;}
.fwrow .fwt{flex:1;height:8px;background:var(--surface-1);border-radius:999px;overflow:hidden;}
.fwrow .fwt i{display:block;height:100%;background:var(--blue);border-radius:999px;}
.fwrow .fwn{font-family:var(--font-mono);color:var(--ink-hi);width:30px;text-align:right;font-size:.78rem;}

/* --- Coverage: measured-vs-predicted slope + detection-latency strip --- */
.slope{margin:14px 0 8px;}
.sl-axis{display:flex;justify-content:space-between;margin-left:210px;padding-bottom:8px;
  border-bottom:1px solid var(--line-soft);font-family:var(--font-mono);font-size:.62rem;
  letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim);}
.sl-row{display:flex;align-items:center;gap:14px;padding:3px 0;}
.sl-row + .sl-row{border-top:1px solid var(--line-soft);}
.sl-name{width:196px;flex:none;font-size:.8rem;text-align:right;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis;}
.sl-name a{color:var(--ink);} .sl-name a:hover{color:var(--blue);}
.sl-track{position:relative;flex:1;height:16px;}
.sl-track::before{content:"";position:absolute;left:0;right:0;top:7.5px;height:1px;
  background:repeating-linear-gradient(90deg,var(--line-soft) 0 1px,transparent 1px 33.33%);}
.sl-line{position:absolute;top:7px;height:3px;background:currentColor;border-radius:2px;opacity:.75;}
.sl-dot{position:absolute;top:3px;width:10px;height:10px;border-radius:50%;margin-left:-5px;}
.sl-dot.pred{background:var(--surface-1);border:2px solid var(--ink-dim);}
.sl-dot.meas{background:currentColor;box-shadow:0 0 0 2px var(--bg);}
.sl-key{font-size:.82rem;color:var(--ink-dim);margin-top:10px;}
.sl-key .k{display:inline-block;width:11px;height:11px;border-radius:50%;vertical-align:-1px;margin-right:3px;}
.sl-key .k.meas{background:var(--ink);} .sl-key .k.pred{background:var(--surface-1);border:2px solid var(--ink-dim);}
.moretbl{margin:4px 0 6px;} .moretbl summary{cursor:pointer;color:var(--blue);font-size:.86rem;}

.latstrip{width:100%;height:auto;margin:10px 0 4px;overflow:visible;}
.lt-base{stroke:var(--line);stroke-width:1;}
.lt-tick{stroke:var(--line-soft);stroke-width:1;}
.lt-tlab{fill:var(--ink-dim);font-family:var(--font-mono);font-size:10px;text-anchor:middle;}
.lt-dot{fill:var(--signal);opacity:.82;}
.lt-med{stroke:var(--amber);stroke-width:1.5;stroke-dasharray:3 2;}
.lt-medlab{fill:var(--amber);font-family:var(--font-mono);font-size:10px;text-anchor:middle;}
@media (max-width:820px){.sl-name{width:120px;}.sl-axis{margin-left:134px;}}

/* --- Coverage funnel (corpus -> measured -> detected) --- */
.funnel{margin:12px 0 8px;display:flex;flex-direction:column;gap:10px;}
.fn-row{display:flex;align-items:center;gap:14px;}
.fn-lab{width:190px;flex:none;text-align:right;font-size:.86rem;color:var(--ink);}
.fn-track{position:relative;flex:1;height:22px;background:var(--surface-1);
  border:1px solid var(--line-soft);border-radius:5px;overflow:hidden;}
.fn-bar{position:absolute;left:0;top:0;height:100%;border-radius:4px;min-width:4px;
  box-shadow:0 0 14px -2px currentColor;transition:width .6s cubic-bezier(.2,.7,.2,1);}
.fn-n{width:92px;flex:none;font-family:var(--font-mono);color:var(--ink-hi);}
.fn-n b{font-size:1.05rem;} .fn-pct{color:var(--ink-dim);font-size:.72rem;margin-left:6px;}
@media (max-width:820px){.fn-lab{width:110px;font-size:.78rem;}.fn-n{width:78px;}}

/* --- Leverage: telemetry choke-point scatter --- */
.scatter{width:100%;height:auto;margin:12px 0 4px;overflow:visible;}
.sc-grid{stroke:var(--line-soft);stroke-width:1;}
.sc-ax{fill:var(--ink-dim);font-family:var(--font-mono);font-size:10px;}
.sc-title{fill:var(--ink-dim);font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;}
.sc-zone{fill:var(--signal);opacity:.07;}
.sc-zlab{fill:var(--signal);font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;
  text-transform:uppercase;opacity:.75;}
.sc-dot{fill:var(--blue);opacity:.85;}
.sc-dot.full{fill:var(--signal);}
.sc-lab{fill:var(--ink);font-size:11px;font-weight:600;}

/* --- Attack detail: command-center signal row --- */
.sigrow{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 20px;}
.sigb{display:flex;flex-direction:column;gap:1px;padding:7px 13px;background:var(--surface-2);
  border:1px solid var(--line-soft);border-left:3px solid var(--line);border-radius:7px;
  font-size:.92rem;color:var(--ink-hi);font-weight:600;line-height:1.25;}
.sigb .sl{font-family:var(--font-mono);font-size:.6rem;font-weight:500;letter-spacing:.09em;
  text-transform:uppercase;color:var(--ink-dim);}
.sigb.lab-det{border-left-color:var(--signal);color:var(--signal);}
.sigb.lab-part{border-left-color:var(--amber);}
.sigb.lab-meas{border-left-color:var(--blue);}
.sigb.lab-none{border-left-color:var(--line);color:var(--ink-dim);}
