.candidate-matrix{--cyan:#4bd5ed;--green:#45e5ae;--red:#ff7188;--amber:#ffc45d;color:#d9eef2;border:1px solid #173a45;background:linear-gradient(140deg,#071b21 0%,#041117 70%);padding:22px}.matrix-title,.matrix-actions,.matrix-comparison>header,.matrix-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:20px}.matrix-title h2,.matrix-comparison h3,.matrix-dialog h3{font-family:"Space Grotesk",sans-serif;margin:3px 0;font-size:27px}.matrix-title p,.matrix-comparison p,.matrix-dialog p{color:#83a9b2;margin:4px 0}.matrix-kicker{font:700 10px "IBM Plex Mono",monospace!important;letter-spacing:.17em;color:var(--cyan)!important}.matrix-button{border:1px solid #2a6675;background:#0a222a;color:#eafcff;padding:9px 13px;font:700 11px "IBM Plex Mono",monospace;cursor:pointer}.matrix-button.primary{background:var(--cyan);border-color:var(--cyan);color:#031116}.matrix-button:disabled{opacity:.42;cursor:not-allowed}.matrix-dataset{display:flex;justify-content:space-between;align-items:center;border:1px solid #1d4653;background:#071a20;padding:14px 16px;margin:18px 0}.matrix-dataset>div{display:flex;align-items:center;gap:10px}.matrix-dataset span:not(.matrix-dot){color:#8db5bf}.matrix-dataset b{font:700 14px "IBM Plex Mono",monospace;color:var(--green)}.matrix-dot{width:9px;height:9px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 5px rgba(255,196,93,.1)}.matrix-dot.ready{background:var(--green);box-shadow:0 0 0 5px rgba(69,229,174,.1)}.matrix-new{border:1px solid #1b414c;background:#06151a;margin-bottom:18px}.matrix-new>summary{cursor:pointer;padding:13px 15px;font:700 11px "IBM Plex Mono",monospace;color:var(--cyan);letter-spacing:.08em;text-transform:uppercase}.matrix-new form{border-top:1px solid #1b414c;padding:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.matrix-new label{font:600 10px "IBM Plex Mono",monospace;color:#85acb5;text-transform:uppercase}.matrix-new label.wide{grid-column:1/-1}.matrix-new input,.matrix-new textarea{box-sizing:border-box;width:100%;margin-top:7px;background:#061116;border:1px solid #244d59;color:#eefbfc;padding:10px;font:13px "IBM Plex Mono",monospace}.matrix-new textarea{min-height:72px;resize:vertical}.matrix-actions{border:1px solid #1c414c;border-bottom:0;background:#081a20;padding:13px 15px}.matrix-actions strong,.matrix-actions span{display:block}.matrix-actions span{color:#759ba5;font-size:12px;margin-top:4px}.matrix-scroll{overflow:auto;border:1px solid #1c414c}.candidate-matrix table{width:100%;border-collapse:collapse;min-width:1050px;font-size:12px}.candidate-matrix th{background:#081a20;color:#779da6;text-align:left;text-transform:uppercase;letter-spacing:.08em;font:700 10px "IBM Plex Mono",monospace;padding:11px}.candidate-matrix td{border-top:1px solid #163640;padding:13px 11px;vertical-align:top}.candidate-matrix td>strong,.candidate-matrix td>span,.candidate-matrix td>small{display:block}.candidate-matrix td>span{color:#8db2bb;margin-top:4px}.candidate-matrix td>small{color:#557b84;margin-top:6px;max-width:380px}.baseline-row{background:rgba(75,213,237,.055)}.baseline-row td:first-child{border-left:3px solid var(--cyan)}.baseline-badge,.status-badge{display:inline-block;border:1px solid #2b7787;border-radius:999px;padding:4px 7px;color:#68dff2;font:700 9px "IBM Plex Mono",monospace}.status-badge{border-color:#345762;color:#a6c5cb;text-transform:uppercase}.matrix-positive{color:var(--green)!important}.matrix-negative{color:var(--red)!important}.matrix-progress{height:7px;background:#102d35;overflow:hidden;min-width:140px;margin-bottom:7px}.matrix-progress i{display:block;height:100%;background:linear-gradient(90deg,#27bbd5,#55dff0)}.matrix-empty{text-align:center;color:#779da6;padding:30px!important}.matrix-comparison{margin-top:22px;border:1px solid #1c414c;background:#06151a}.matrix-comparison>header{padding:16px}.matrix-comparison h3{font-size:21px}.matrix-comparison>header>span{color:#8db5bf;font:12px "IBM Plex Mono",monospace}.ticker-link{border:0;background:none;color:var(--cyan);font:700 12px "IBM Plex Mono",monospace;cursor:pointer;padding:0;border-bottom:1px dashed #32788a}.matrix-dialog{width:min(1460px,94vw);max-width:none;border:1px solid #2a5967;background:#061218;color:#d9eef2;padding:0}.matrix-dialog::backdrop{background:rgba(0,8,12,.82)}.matrix-dialog>header{padding:17px 20px;border-bottom:1px solid #193c47}.matrix-dialog canvas{display:block;width:100%;height:min(62vh,560px)}.matrix-chart-legend{display:flex;gap:18px;flex-wrap:wrap;padding:12px 20px;border-top:1px solid #193c47;color:#91b0b8;font:10px "IBM Plex Mono",monospace}.matrix-chart-legend span:before{content:"";display:inline-block;width:18px;height:3px;margin-right:7px;vertical-align:middle;background:#8bd7f5}.matrix-chart-legend .left-entry:before{background:#34d8ff}.matrix-chart-legend .left-exit:before{background:#ff647b}.matrix-chart-legend .right-entry:before{background:#ffd05a}.matrix-chart-legend .right-exit:before{background:#61e6a9}@media(max-width:800px){.candidate-matrix{padding:14px}.matrix-title,.matrix-actions,.matrix-comparison>header{align-items:flex-start;flex-direction:column}.matrix-new form{grid-template-columns:1fr}.matrix-new label.wide{grid-column:auto}.matrix-dataset>div{align-items:flex-start;flex-direction:column}.matrix-dialog{width:98vw}.matrix-dialog canvas{height:58vh}}

.matrix-button.danger{border-color:#743443;background:#251219;color:#ff8194}.matrix-protected{color:#557b84;font:10px 'IBM Plex Mono',monospace;text-transform:uppercase}.candidate-matrix table{min-width:1180px}

.matrix-dialog{max-height:94vh;overflow:auto}.matrix-chart-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 20px;border-top:1px solid #193c47;background:#07171d}.matrix-chart-controls>span{margin-right:4px;color:#759ba5;font:700 9px 'IBM Plex Mono',monospace;letter-spacing:.1em;text-transform:uppercase}.matrix-indicator-toggle{border:1px solid #28515d;background:#081a20;color:#9bbbc2;padding:7px 10px;font:700 10px 'IBM Plex Mono',monospace;cursor:pointer}.matrix-indicator-toggle:hover{border-color:#3b8192;color:#dffaff}.matrix-indicator-toggle.active{border-color:#4bd5ed;background:#123b46;color:#effdff;box-shadow:inset 0 -2px 0 #4bd5ed}
.matrix-control-separator{width:1px;height:24px;background:#28515d;margin:0 4px}
.matrix-chart-controls>b{margin-left:auto;color:#83a9b2;font:700 10px 'IBM Plex Mono',monospace}
.matrix-dialog canvas{cursor:grab;touch-action:none}
.matrix-dialog canvas.panning{cursor:grabbing}
@media(max-width:800px){.matrix-control-separator{display:none}.matrix-chart-controls>b{width:100%;margin-left:0}}
.matrix-rule-row td{border-top:0;padding:0 11px 16px;background:rgba(5,20,26,.64)}
.matrix-rule-row td:first-child{border-left:2px solid #1d4653}
.matrix-rule-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;border-top:1px solid #183943;padding-top:12px}
.matrix-rule-grid section{min-height:84px;border:1px solid #1a3e48;background:#06161c;padding:11px 14px}
.matrix-rule-grid h4{margin:0 0 7px;color:#4bd5ed;font:700 10px 'IBM Plex Mono',monospace;letter-spacing:.12em;text-transform:uppercase}
.matrix-rule-grid section:last-child h4{color:#ffc45d}
.matrix-rule-grid ul{margin:0;padding-left:17px;color:#99bbc3;font-size:11px;line-height:1.65}
.matrix-rule-grid li::marker{color:#3eafc3}
.matrix-rule-grid section:last-child li::marker{color:#d9a742}
@media(max-width:800px){.matrix-rule-grid{grid-template-columns:1fr}}
.matrix-chart-stage{position:relative}
.matrix-candidate-key{position:absolute;z-index:2;top:14px;right:20px;display:grid;gap:7px;min-width:190px;padding:11px 13px;border:1px solid #28515d;background:rgba(4,17,23,.9);box-shadow:0 10px 30px rgba(0,0,0,.24);pointer-events:none}
.matrix-candidate-key span{display:flex;align-items:center;gap:9px}
.matrix-candidate-key i{display:block;width:10px;height:10px;border-radius:50%;background:#34d8ff;box-shadow:0 0 0 3px rgba(52,216,255,.12)}
.matrix-candidate-key .candidate-right i{background:#ffd05a;box-shadow:0 0 0 3px rgba(255,208,90,.12)}
.matrix-candidate-key b{color:#d9eef2;font:700 10px 'IBM Plex Mono',monospace}
.matrix-candidate-key small{padding-top:7px;border-top:1px solid #1d414c;color:#789da6;font:9px 'IBM Plex Mono',monospace}
@media(max-width:800px){.matrix-candidate-key{top:8px;right:8px;min-width:160px;padding:9px 10px}}
.matrix-chart-rules{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px 20px 18px;border-top:1px solid #193c47;background:#051117}
.matrix-chart-rules>article{border:1px solid #214c58;background:#071a20}
.matrix-chart-rules>article>header{display:flex;align-items:center;gap:9px;padding:10px 12px;border-bottom:1px solid #193c47}
.matrix-chart-rules>article>header i{width:10px;height:10px;border-radius:50%;background:#34d8ff;box-shadow:0 0 0 3px rgba(52,216,255,.12)}
.matrix-chart-rules>article.candidate-right>header i{background:#ffd05a;box-shadow:0 0 0 3px rgba(255,208,90,.12)}
.matrix-chart-rules h4{margin:0;color:#34d8ff;font:700 11px 'IBM Plex Mono',monospace}
.matrix-chart-rules .candidate-right h4{color:#ffd05a}
.matrix-chart-rules>article>div{display:grid;grid-template-columns:1fr 1fr}
.matrix-chart-rules>article>div>section{padding:11px 13px}
.matrix-chart-rules>article>div>section+section{border-left:1px solid #193c47}
.matrix-chart-rules section b{display:block;margin-bottom:6px;color:#d8edf1;font:700 9px 'IBM Plex Mono',monospace;letter-spacing:.12em;text-transform:uppercase}
.matrix-chart-rules ul{margin:0;padding-left:16px;color:#91b3bb;font-size:10px;line-height:1.65}
.matrix-chart-rules li::marker{color:#3eafc3}
.matrix-chart-rules .candidate-right li::marker{color:#d9a742}
@media(max-width:900px){.matrix-chart-rules{grid-template-columns:1fr}}

.matrix-search{margin-top:18px;border:1px solid #285461;background:linear-gradient(135deg,rgba(10,39,47,.96),rgba(4,18,24,.98));box-shadow:inset 0 1px 0 rgba(98,225,244,.06)}
.matrix-search-loading{padding:22px;color:#80a7b0;font:11px 'IBM Plex Mono',monospace}
.matrix-search-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 17px 12px}
.matrix-search-head>div:first-child{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.matrix-search-head p{margin:0;color:#769da6;font:10px 'IBM Plex Mono',monospace}
.matrix-search-state{display:inline-flex;align-items:center;gap:8px;color:#ffca68;font:800 11px 'IBM Plex Mono',monospace;letter-spacing:.12em}
.matrix-search-state i{width:9px;height:9px;border-radius:50%;background:#ffb84d;box-shadow:0 0 0 5px rgba(255,184,77,.1),0 0 18px rgba(255,184,77,.55);animation:matrix-search-pulse 1.6s ease-in-out infinite}
.matrix-search-state.stale{color:#ff7188}.matrix-search-state.stale i{background:#ff7188;box-shadow:0 0 0 5px rgba(255,113,136,.1);animation:none}
.matrix-search-cpu{text-align:right}.matrix-search-cpu span,.matrix-search-cpu strong{display:block}.matrix-search-cpu span{color:#5e8791;font:700 8px 'IBM Plex Mono',monospace;letter-spacing:.13em}.matrix-search-cpu strong{margin-top:3px;color:#8ce7f5;font:800 10px 'IBM Plex Mono',monospace}
.matrix-search-progress{height:9px;margin:0 17px;background:#102e37;overflow:hidden}.matrix-search-progress i{display:block;height:100%;background:linear-gradient(90deg,#d98b2b,#ffc45d);box-shadow:0 0 18px rgba(255,196,93,.3);transition:width .35s ease}
.matrix-search-progress-label{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:8px 17px 15px;font:10px 'IBM Plex Mono',monospace}.matrix-search-progress-label strong{color:#f5d28f}.matrix-search-progress-label span{color:#7197a0}.matrix-search-progress-label b{color:#ffc45d;font-size:13px}
.matrix-search-stats,.matrix-search-leaders{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #1c414c}
.matrix-search-stats article,.matrix-search-leaders article{padding:14px 17px;border-right:1px solid #1c414c}.matrix-search-stats article:last-child,.matrix-search-leaders article:last-child{border-right:0}
.matrix-search-stats span,.matrix-search-leaders>article>span{display:block;color:#6f98a2;font:700 9px 'IBM Plex Mono',monospace;letter-spacing:.08em;text-transform:uppercase}
.matrix-search-stats strong{display:block;margin-top:6px;color:#eefcff;font:700 21px 'Space Grotesk',sans-serif}.matrix-search-stats small{display:block;margin-top:3px;color:#648b94;font-size:10px}
.matrix-search-leaders{background:rgba(3,15,20,.46)}.matrix-search-leaders strong,.matrix-search-leaders b,.matrix-search-leaders small,.matrix-search-leaders em{display:block}.matrix-search-leaders strong{margin-top:8px;color:#e7f8fa;font:700 13px 'Space Grotesk',sans-serif}.matrix-search-leaders b{margin-top:3px;color:#54e3b2;font:800 17px 'IBM Plex Mono',monospace}.matrix-search-leaders small{margin-top:4px;color:#5e8791;font:9px 'IBM Plex Mono',monospace}.matrix-search-leaders em{margin-top:7px;color:#b48c60;font-size:9px;font-style:normal}.matrix-search-leaders .qualified{box-shadow:inset 0 2px 0 #45e5ae}.matrix-search-leaders .raw{box-shadow:inset 0 2px 0 #ffc45d}
.matrix-search-mix{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:12px 17px;border-top:1px solid #1c414c}.matrix-search-mix strong{margin-right:5px;color:#d9eef2;font:700 9px 'IBM Plex Mono',monospace;text-transform:uppercase}.matrix-search-mix span{border:1px solid #27515d;background:#082027;color:#93bac3;padding:5px 8px;font:9px 'IBM Plex Mono',monospace}
@keyframes matrix-search-pulse{0%,100%{opacity:.55;transform:scale(.88)}50%{opacity:1;transform:scale(1)}}
@media(max-width:800px){.matrix-search-head{align-items:flex-start;flex-direction:column}.matrix-search-cpu{text-align:left}.matrix-search-stats,.matrix-search-leaders{grid-template-columns:1fr}.matrix-search-stats article,.matrix-search-leaders article{border-right:0;border-bottom:1px solid #1c414c}.matrix-search-stats article:last-child,.matrix-search-leaders article:last-child{border-bottom:0}.matrix-search-progress-label{grid-template-columns:1fr auto}.matrix-search-progress-label span{grid-column:1/-1;grid-row:2}}

/* Minute hover and readable, responsive chart. */
.matrix-chart-readout{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:85px;padding:14px 22px;border-bottom:1px solid #2c4d58;background:linear-gradient(110deg,#102a34,#07171e);font-family:'IBM Plex Mono',monospace}
.matrix-chart-readout>div:first-child{min-width:200px}
.matrix-chart-readout strong{display:block;color:#effaff;font-size:24px;line-height:1.4}
.matrix-hover-time{display:block;color:#abd0db;font-size:12px}
.matrix-chart-readout small{display:block;color:#88a7b1;font-size:10px}
.matrix-hover-values{display:flex;gap:9px 22px;flex-wrap:wrap;justify-content:flex-end;max-width:75%;color:#9cbbc5;font-size:11px;line-height:1.7}
.matrix-hover-values b{display:inline;color:#ecf7fa;font-weight:600}
.matrix-dialog canvas{cursor:crosshair}
.matrix-dialog canvas.panning{cursor:grabbing}
.matrix-candidate-key{font-size:11px;max-width:calc(100% - 130px);min-width:0;top:12px}
.matrix-candidate-key b{font-size:11px;line-height:1.35;overflow-wrap:anywhere}
.matrix-candidate-key small{font-size:10px;color:#b0c7cf}
.matrix-chart-controls>span,.matrix-indicator-toggle{font-size:11px}
.matrix-dialog>header{align-items:flex-start}
@media(max-width:650px){.matrix-dialog{width:98vw;max-height:97vh}.matrix-dialog>header{padding:14px}.matrix-dialog h3{font-size:21px}.matrix-dialog>header p{font-size:11px;line-height:1.5}.matrix-chart-readout{padding:12px 14px;gap:10px;align-items:flex-start;flex-direction:column}.matrix-chart-readout strong{font-size:22px}.matrix-hover-values{max-width:100%;justify-content:flex-start;gap:4px 14px;font-size:10px}.matrix-candidate-key{right:10px;max-width:calc(100% - 95px)}.matrix-candidate-key b{font-size:10px}.matrix-chart-controls{padding:12px}.matrix-chart-rules{padding:12px}}
