:root { --bg: #07080b; --panel: #0c0e13; --panel-2: #11141a; --panel-3: #161921; --line: #252832; --line-strong: #393d49; --text: #e8e7ed; --muted: #95939e; --dim: #676671; --purple: #a679ff; --purple-low: #7048be; --green: #75d69c; --amber: #dbb66f; --red: #e06b75; --cyan: #7fc8d8; --mono: "JetBrains Mono", Consolas, monospace; --sans: "Inter", system-ui, sans-serif; --max: 1600px; } * { box-sizing: border-box; } html { scroll-behavior: smooth; background: var(--bg); } body { margin: 0; color: var(--text); background: linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px), var(--bg); background-size: 32px 32px; font: 15px/1.55 var(--sans); -webkit-font-smoothing: antialiased; } body::before { content: ""; position: fixed; inset: 0; z-index: 20; pointer-events: none; box-shadow: inset 0 0 130px rgba(0, 0, 0, .72); } .scanline { position: fixed; inset: 0; z-index: 19; pointer-events: none; opacity: .1; background: repeating-linear-gradient(0deg, transparent 0 3px, rgba(255,255,255,.035) 4px); } a { color: inherit; text-decoration: none; } img { display: block; max-width: 100%; } .control-bar { position: sticky; top: 0; z-index: 30; height: 64px; display: grid; grid-template-columns: minmax(270px, 1fr) auto auto auto; align-items: stretch; border-bottom: 1px solid var(--line-strong); background: rgba(7, 8, 11, .95); backdrop-filter: blur(10px); } .wordmark, .control-state, .control-bar nav, .clock { display: flex; align-items: center; padding: 0 22px; border-right: 1px solid var(--line); } .wordmark { gap: 10px; font-family: var(--mono); letter-spacing: .1em; } .wordmark img { width: 34px; height: 34px; border-radius: 2px; object-fit: cover; object-position: 50% 23%; filter: grayscale(.2); } .wordmark span { font-weight: 600; font-size: .82rem; } .wordmark small { color: var(--dim); font-size: .68rem; } .control-state { gap: 9px; color: var(--green); font: 500 .66rem var(--mono); letter-spacing: .09em; } .status-dot, .live-dot, .module-state i { width: 7px; height: 7px; flex: 0 0 auto; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px rgba(117, 214, 156, .08), 0 0 12px rgba(117, 214, 156, .35); } .control-bar nav { gap: 22px; } .control-bar nav a { color: var(--muted); font: .7rem var(--mono); text-transform: uppercase; transition: color 150ms ease; } .control-bar nav a:hover { color: var(--purple); } .clock { min-width: 170px; flex-direction: column; justify-content: center; align-items: flex-end; border-right: 0; font-family: var(--mono); } .clock span { font-size: .8rem; } .clock small { color: var(--dim); font-size: .53rem; letter-spacing: .08em; } main, footer { width: min(100%, var(--max)); margin: 0 auto; } .command-grid { min-height: calc(100vh - 64px); display: grid; grid-template-columns: 190px minmax(0, 1fr) 250px; border-inline: 1px solid var(--line); border-bottom: 1px solid var(--line-strong); } .system-rail, .activity-panel { background: rgba(9, 11, 15, .84); } .system-rail { padding: 24px 18px; border-right: 1px solid var(--line); } .rail-heading { padding-bottom: 20px; border-bottom: 1px solid var(--line); font-family: var(--mono); } .rail-heading span, .rail-health > span { display: block; color: var(--dim); font-size: .62rem; letter-spacing: .12em; } .rail-heading strong { display: block; margin-top: 5px; color: var(--purple); font-size: .82rem; } .rail-data { margin: 18px 0 24px; } .rail-data div { padding: 9px 0; border-bottom: 1px dotted var(--line); } .rail-data dt, .rail-data dd { margin: 0; } .rail-data dt { color: var(--dim); font: .58rem var(--mono); text-transform: uppercase; } .rail-data dd { margin-top: 2px; color: #c8c6ce; font-size: .75rem; } .rail-health { position: relative; padding: 16px 0 22px; border-bottom: 1px solid var(--line); } .health-bar, .meter { height: 3px; margin-top: 12px; overflow: hidden; background: #20232a; } .health-bar i, .meter i { display: block; width: var(--value); height: 100%; background: var(--green); } .rail-health strong { display: block; margin-top: 8px; color: var(--green); font: 500 .74rem var(--mono); } .system-rail > a { display: flex; justify-content: space-between; padding: 13px 0; border-bottom: 1px dotted var(--line); color: var(--muted); font: .63rem var(--mono); } .system-rail > a:hover { color: var(--purple); } .overview-console { min-width: 0; padding: 24px; } .console-label, .window-bar, .panel-title, .module-state { display: flex; justify-content: space-between; align-items: center; color: var(--dim); font: .62rem var(--mono); letter-spacing: .08em; } .identity-block { display: grid; grid-template-columns: 1.3fr .7fr; gap: 40px; align-items: end; padding: 34px 0 28px; } .overline { margin: 0 0 9px; color: var(--purple); font: .65rem var(--mono); letter-spacing: .14em; } h1, h2, h3, p { overflow-wrap: break-word; } h1 { margin: 0; max-width: 780px; font-size: clamp(2.8rem, 5vw, 5.7rem); font-weight: 500; line-height: .92; letter-spacing: -.07em; } .operator-note { margin: 0; max-width: 430px; padding-left: 16px; border-left: 2px solid var(--purple-low); color: var(--muted); font-size: .9rem; } .metric-board { display: grid; grid-template-columns: 1.2fr repeat(5, 1fr); border: 1px solid var(--line-strong); background: var(--line); gap: 1px; } .metric { min-width: 0; min-height: 126px; padding: 15px; background: var(--panel); } .metric > span { display: block; color: var(--dim); font: .59rem var(--mono); letter-spacing: .08em; } .metric strong { display: block; max-width: 100%; margin-top: 16px; font: 500 clamp(1rem, 1.3vw, 1.45rem)/1.1 var(--mono); letter-spacing: -.035em; overflow-wrap: anywhere; } .metric small { color: var(--muted); font: .67rem var(--mono); } .metric p { margin: 14px 0 0; color: var(--dim); font: .54rem var(--mono); } .metric-primary strong { color: var(--green); } .spark-bars { height: 23px; margin-top: 12px; display: flex; align-items: flex-end; gap: 3px; } .spark-bars i { width: 6px; height: 40%; background: var(--green); opacity: .48; animation: telemetry 2.8s ease-in-out infinite alternate; } .spark-bars i:nth-child(2n) { height: 80%; animation-delay: -.8s; } .spark-bars i:nth-child(3n) { height: 58%; animation-delay: -1.4s; } .spark-bars i:nth-child(5n) { height: 95%; animation-delay: -2s; } @keyframes telemetry { to { opacity: .95; transform: scaleY(.72); } } .meter.warning i { background: var(--amber); } .operations-window { margin-top: 18px; padding: 9px; border: 1px solid var(--line-strong); background: var(--panel); } .window-bar { height: 24px; padding: 0 2px 8px; } .window-bar span { display: flex; align-items: center; gap: 8px; } .window-bar a:hover { color: var(--purple); } .operations-window img { width: 100%; border: 1px solid #20232a; } .activity-panel { padding: 24px 18px; border-left: 1px solid var(--line); } .panel-title { padding-bottom: 12px; border-bottom: 1px solid var(--line-strong); } .panel-title small { color: var(--green); } .event-list { margin: 0; padding: 0; list-style: none; } .event-list li { display: grid; grid-template-columns: 54px 1fr; gap: 7px; padding: 13px 0; border-bottom: 1px dotted var(--line); font-family: var(--mono); } .event-list li > span { font-size: .55rem; } .event-ok { color: var(--green); } .event-info { color: var(--cyan); } .event-warn { color: var(--amber); } .event-list p { margin: 0; color: var(--muted); font-size: .58rem; } .deployment-status { margin-top: 24px; padding: 16px; border: 1px solid var(--line); background: var(--panel); font-family: var(--mono); } .deployment-status > span { color: var(--dim); font-size: .57rem; } .deployment-status strong { display: block; margin-top: 8px; color: var(--green); font-size: .86rem; } .deployment-status p { margin: 3px 0 14px; color: var(--muted); font-size: .58rem; } .deployment-status div { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; } .deployment-status i { height: 3px; background: var(--green); } .terminal-mini { margin-top: 18px; padding: 14px; border: 1px solid var(--line); background: #050608; font: .57rem/1.8 var(--mono); } .terminal-mini p { margin: 0; color: var(--muted); } .terminal-mini p span { color: var(--purple); } .terminal-mini .terminal-output { color: var(--green); } .cursor { animation: blink .9s steps(1) infinite; } @keyframes blink { 50% { opacity: 0; } } .module { border-inline: 1px solid var(--line); border-bottom: 1px solid var(--line-strong); background: rgba(7, 8, 11, .84); } .module-header { display: grid; grid-template-columns: 1fr minmax(260px, .75fr) auto; gap: 40px; align-items: end; min-height: 132px; padding: 28px 30px; border-bottom: 1px solid var(--line-strong); } .module-id { color: var(--purple); font: .61rem var(--mono); letter-spacing: .12em; } .module h2 { margin: 7px 0 0; font-size: clamp(1.8rem, 3vw, 3.3rem); font-weight: 500; line-height: 1; letter-spacing: -.05em; } .module-header > p { margin: 0; color: var(--muted); font-size: .85rem; } .module-state { gap: 8px; justify-content: flex-start; color: var(--green); white-space: nowrap; } .topology-layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); } .stack-index { padding: 22px; border-right: 1px solid var(--line); } .stack-index div { padding: 17px 0; border-bottom: 1px dotted var(--line); } .stack-index span, .stack-index small { display: block; font-family: var(--mono); } .stack-index span { color: var(--purple); font-size: .57rem; } .stack-index strong { display: block; margin-top: 4px; font-size: .76rem; } .stack-index small { margin-top: 2px; color: var(--dim); font-size: .55rem; } .system-map { margin: 0; padding: 22px; } .system-map a { display: block; border: 1px solid var(--line); background: #050608; } .system-map img { width: 100%; } .system-map figcaption, .evidence figcaption, .portal-shot figcaption, .auth-shot figcaption, .crowdsec-shot figcaption { display: flex; justify-content: space-between; margin-top: 9px; color: var(--dim); font: .58rem var(--mono); } .evidence-grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; } .evidence { margin: 0; padding: 22px; } .evidence figcaption, .portal-shot figcaption, .auth-shot figcaption, .crowdsec-shot figcaption { margin: 0 0 12px; align-items: baseline; } .evidence figcaption strong { margin-right: auto; margin-left: 18px; color: var(--text); font-size: .7rem; } .evidence a, .portal-shot a, .auth-shot a, .crowdsec-shot a, .pipeline-shots a, .recovery-layout figure a { display: block; overflow: hidden; border: 1px solid var(--line); background: #050608; } .evidence img, .portal-shot img, .auth-shot img, .crowdsec-shot img, .pipeline-shots img, .recovery-layout img { width: 100%; transition: filter 180ms ease, transform 250ms ease; } .evidence a:hover img, .portal-shot a:hover img, .auth-shot a:hover img, .pipeline-shots a:hover img, .recovery-layout a:hover img { filter: brightness(1.08); transform: scale(1.003); } .coverage-matrix { padding: 22px; border-left: 1px solid var(--line); } .coverage-matrix ul { margin: 0; padding: 0; list-style: none; } .coverage-matrix li { display: flex; justify-content: space-between; padding: 13px 0; border-bottom: 1px dotted var(--line); font-size: .72rem; } .coverage-matrix li i { color: var(--green); font: normal .57rem var(--mono); } .stack-list { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 22px; } .stack-list span { padding: 6px 8px; border: 1px solid var(--line); color: var(--muted); font: .57rem var(--mono); } .service-layout { display: grid; grid-template-columns: 520px minmax(0, 1fr); } .service-table { border-right: 1px solid var(--line); } .service-row { display: grid; grid-template-columns: 1fr 1.2fr .65fr .55fr; gap: 12px; align-items: center; min-height: 53px; padding: 0 22px; border-bottom: 1px dotted var(--line); color: var(--muted); font-size: .69rem; } .service-head { min-height: 40px; color: var(--dim); background: var(--panel); font: .56rem var(--mono); text-transform: uppercase; } .service-row strong { color: var(--text); font-weight: 500; } .service-row i { color: var(--green); font: normal .55rem var(--mono); } .portal-shot { margin: 0; padding: 22px; } .pipeline { padding: 24px; } .pipeline-flow { display: grid; grid-template-columns: repeat(7, auto); align-items: center; justify-content: center; gap: 28px; padding: 22px; border: 1px solid var(--line); background: var(--panel); } .pipeline-flow div { min-width: 150px; } .pipeline-flow span, .pipeline-flow strong, .pipeline-flow small { display: block; font-family: var(--mono); } .pipeline-flow span { color: var(--purple); font-size: .57rem; } .pipeline-flow strong { margin-top: 4px; font-size: .73rem; } .pipeline-flow small { color: var(--dim); font-size: .55rem; } .pipeline-flow b { color: var(--dim); font: 400 .8rem var(--mono); } .pipeline-shots { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 24px; } .pipeline-shots figure { margin: 0; } .pipeline-shots figcaption { margin-bottom: 9px; color: var(--dim); font: .58rem var(--mono); } .security-layout { display: grid; grid-template-columns: minmax(0, 1.5fr) 320px; } .auth-shot, .crowdsec-shot { margin: 0; padding: 22px; } .security-data { border-left: 1px solid var(--line); } .security-score { padding: 24px; border-bottom: 1px solid var(--line); background: var(--panel); } .security-score span, .security-score small { display: block; color: var(--dim); font: .57rem var(--mono); } .security-score strong { display: block; margin: 10px 0 4px; color: var(--green); font: 500 1.25rem var(--mono); } .security-data ul { margin: 0; padding: 0 22px; list-style: none; } .security-data li { display: flex; justify-content: space-between; padding: 14px 0; border-bottom: 1px dotted var(--line); font-size: .68rem; } .security-data li span { color: var(--muted); } .security-data li strong { color: var(--text); font: 500 .57rem var(--mono); } .crowdsec-shot { grid-column: 1 / -1; border-top: 1px solid var(--line); } .crowdsec-shot img { width: 100%; } .recovery-layout { display: grid; grid-template-columns: 340px minmax(0, 1fr); } .recovery-sequence { padding: 22px; border-right: 1px solid var(--line); } .recovery-sequence div { display: grid; grid-template-columns: 34px 1fr; padding: 18px 0; border-bottom: 1px dotted var(--line); } .recovery-sequence span { grid-row: 1 / span 2; color: var(--purple); font: .58rem var(--mono); } .recovery-sequence strong { font-size: .75rem; } .recovery-sequence small { color: var(--dim); font: .57rem var(--mono); } .recovery-layout figure { margin: 0; padding: 22px; } footer { display: grid; grid-template-columns: 1fr auto auto; gap: 32px; align-items: center; min-height: 90px; padding: 18px 24px; border-inline: 1px solid var(--line); color: var(--dim); font: .58rem var(--mono); } .footer-mark { display: flex; align-items: center; gap: 12px; } .footer-mark img { width: 38px; height: 38px; object-fit: cover; object-position: 50% 23%; } .footer-mark strong, .footer-mark span { display: block; } .footer-mark strong { color: var(--text); letter-spacing: .1em; } .status-text { color: var(--green); } @media (max-width: 1180px) { .control-bar { grid-template-columns: 1fr auto auto; } .control-bar nav { display: none; } .command-grid { grid-template-columns: 160px minmax(0, 1fr); } .activity-panel { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 280px 280px; gap: 20px; border-top: 1px solid var(--line); border-left: 0; } .panel-title, .event-list { grid-column: 1; } .deployment-status { grid-column: 2; grid-row: 1 / span 2; margin-top: 0; } .terminal-mini { grid-column: 3; grid-row: 1 / span 2; margin-top: 0; } .metric-board { grid-template-columns: repeat(3, 1fr); } .service-layout, .security-layout { grid-template-columns: 1fr; } .service-table, .security-data { border-right: 0; border-left: 0; border-bottom: 1px solid var(--line); } } @media (max-width: 820px) { .control-bar { grid-template-columns: 1fr auto; } .control-state { display: none; } .command-grid { grid-template-columns: 1fr; } .system-rail { display: none; } .identity-block, .module-header, .topology-layout, .evidence-grid, .recovery-layout { grid-template-columns: 1fr; } .identity-block { gap: 20px; } .operator-note { max-width: 620px; } .module-header { gap: 16px; align-items: start; } .module-state { margin-top: 4px; } .stack-index, .coverage-matrix, .recovery-sequence { border-right: 0; border-left: 0; border-bottom: 1px solid var(--line); } .pipeline-flow { grid-template-columns: 1fr; justify-content: stretch; } .pipeline-flow b { transform: rotate(90deg); justify-self: center; } .pipeline-shots { grid-template-columns: 1fr; } .activity-panel { grid-template-columns: 1fr 1fr; } .terminal-mini { display: none; } footer { grid-template-columns: 1fr; gap: 8px; } } @media (max-width: 560px) { body { font-size: 14px; } .control-bar { height: 56px; } .wordmark, .clock { padding-inline: 12px; } .wordmark small { display: none; } .clock { min-width: 130px; } .overview-console { padding: 16px 12px; } .identity-block { padding: 26px 0 22px; } h1 { font-size: 2.7rem; } .metric-board { grid-template-columns: 1fr 1fr; } .metric { min-height: 112px; } .activity-panel { grid-template-columns: 1fr; padding: 18px 12px; } .deployment-status { grid-column: 1; grid-row: auto; } .module-header, .system-map, .evidence, .coverage-matrix, .portal-shot, .pipeline, .auth-shot, .crowdsec-shot, .recovery-sequence, .recovery-layout figure { padding: 18px 12px; } .module-header { min-height: 0; } .service-row { grid-template-columns: 1fr 1fr auto; padding: 0 12px; } .service-row span:nth-child(3), .service-head span:nth-child(3) { display: none; } .system-map { overflow: hidden; } .system-map a { min-width: 0; width: 100%; } .system-map img { display: block; width: 100%; height: auto; } .evidence figcaption, .portal-shot figcaption, .auth-shot figcaption, .crowdsec-shot figcaption, .system-map figcaption { display: block; } .evidence figcaption strong { display: block; margin: 4px 0; } footer { padding-inline: 12px; } } @media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }