:root{--bg:#0b1120;--bg-panel:#0d1526;--bg-raise:#111c33;--border:#1f2a44;--text:#e2e8f0;--text-dim:#94a3b8;--text-faint:#64748b;--green:#34d399;--red:#f87171;--amber:#fbbf24;--blue:#60a5fa}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.45}#root{flex-direction:column;gap:16px;max-width:1200px;margin:0 auto;padding:24px 20px 40px;display:flex}.header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.header h1{letter-spacing:.2px;margin:0;font-size:22px}.logo-q{color:var(--blue)}.subtitle{color:var(--text-dim);margin:4px 0 0;font-size:13px}.header-right{align-items:center;gap:12px;display:flex}.pill{border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600}.pill-green{color:var(--green);background:#34d3991f}.pill-red{color:var(--red);background:#f871711f}.pill-gray{background:var(--bg-raise);color:var(--text-dim)}.chip{white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:11px;font-weight:600}.chip-green{color:var(--green);background:#34d3991f}.chip-red{color:var(--red);background:#f871711f}.chip-gray{background:var(--bg-raise);color:var(--text-dim)}.chip-sm{margin-left:8px;padding:1px 8px;font-size:10px}.btn{border:1px solid var(--border);background:var(--bg-raise);color:var(--text);cursor:pointer;border-radius:8px;padding:8px 18px;font-size:13px;font-weight:600;transition:filter .15s}.btn:hover:not(:disabled){filter:brightness(1.2)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--blue);border-color:var(--blue);color:#0b1120}.btn-ghost{background:0 0}.panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;padding:16px 18px}.panel-title{text-transform:uppercase;letter-spacing:.8px;color:var(--text-dim);margin-bottom:12px;font-size:13px;font-weight:700}.panel-title-row{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.panel-title-row .panel-title{margin-bottom:0}.panel-hint{color:var(--text-faint);margin:0 0 12px;font-size:12px}.controls-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:end;gap:14px 20px;display:grid}.control{color:var(--text-dim);flex-direction:column;gap:6px;font-size:12px;display:flex}.control b{color:var(--text)}.control input[type=range]{width:100%;accent-color:var(--blue)}.control input[type=number],.control input[type=text]{background:var(--bg-raise);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:6px 10px;font-size:13px}.control-toggle{flex-direction:row;align-items:center;gap:10px;padding-bottom:8px}.control-wide{grid-column:1/-1}.cards-row{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;display:grid}.status-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;padding:16px 18px;position:relative;overflow:hidden}.status-card:before{content:"";background:var(--text-faint);height:3px;position:absolute;top:0;left:0;right:0}.card-green:before{background:var(--green)}.card-red:before{background:var(--red)}.card-live:before{background:var(--blue);animation:1.2s ease-in-out infinite pulse}.card-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.card-head h3{margin:0;font-size:15px}.card-progress{margin-bottom:12px}.card-progress-text{color:var(--text-faint);margin-top:6px;font-size:11px}.card-metrics{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.metric-value{font-size:20px;font-weight:700}.metric-label{color:var(--text-faint);margin-top:2px;font-size:11px}.card-alert{color:var(--red);background:#f8717114;border:1px solid #f871714d;border-radius:8px;margin-top:12px;padding:8px 12px;font-size:12px}.bar-track{background:var(--bg-raise);border-radius:999px;height:8px;overflow:hidden}.bar-fill{background:var(--blue);border-radius:999px;height:100%;transition:width .15s}.monitor-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:14px;display:grid}.stat-line{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.stat-name{font-size:13px;font-weight:700}.stat-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:10px;display:grid}.stat-num{font-size:16px;font-weight:700}.stat-label{color:var(--text-faint);text-transform:uppercase;letter-spacing:.5px;font-size:10px}.chart-wrap{margin-top:4px}.pulse-dot{background:var(--green);border-radius:50%;width:10px;height:10px;animation:1.2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.event-log{background:var(--bg);border:1px solid var(--border);border-radius:8px;max-height:140px;margin-top:12px;padding:10px 12px;overflow-y:auto}.event-log-title{text-transform:uppercase;letter-spacing:.8px;color:var(--text-faint);margin-bottom:6px;font-size:10px}.event-line{color:var(--text-dim);padding:1px 0;font-family:Cascadia Code,Consolas,monospace;font-size:11.5px}.crypto-row{margin-bottom:14px}.crypto-row:last-child{margin-bottom:0}.crypto-head{align-items:center;gap:10px;margin-bottom:6px;font-size:13px;display:flex}.crypto-lines{flex-direction:column;gap:4px;font-size:12px;display:flex}.crypto-lines .k{color:var(--text-faint);margin-right:8px}.crypto-lines code{color:var(--amber);word-break:break-all;font-family:Cascadia Code,Consolas,monospace}.muted-line{color:var(--text-dim)}.qds-keyinfo{color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;font-size:13px;display:flex}.qds-keyinfo b{color:var(--text)}.commitment{color:var(--text-faint);font-family:Cascadia Code,Consolas,monospace;font-size:11px}.qds-sign-row{gap:10px;margin-bottom:14px;display:flex}.qds-message{background:var(--bg-raise);border:1px solid var(--border);color:var(--text);border-radius:8px;flex:1;padding:8px 12px;font-size:13px}.qds-sign-result{flex-direction:column;gap:12px;margin-bottom:14px;display:flex}.qds-badges{flex-wrap:wrap;gap:8px;display:flex}.qds-teleport-title{color:var(--text-faint);text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px;font-size:11px}.qds-table{border-collapse:collapse;background:var(--bg);border:1px solid var(--border);border-radius:8px;width:100%;font-size:12px;overflow:hidden}.qds-table th{text-align:left;color:var(--text-faint);border-bottom:1px solid var(--border);padding:6px 12px;font-weight:600}.qds-table td{border-bottom:1px solid var(--border);padding:5px 12px}.qds-table tr:last-child td{border-bottom:none}.correction{color:var(--amber);font-family:Cascadia Code,Consolas,monospace;font-weight:700}.qds-sigbits{font-size:12px}.qds-sigbits .k{color:var(--text-faint);margin-right:8px}.qds-sigbits code{color:var(--amber);word-break:break-all;font-family:Cascadia Code,Consolas,monospace}.qds-attacks{flex-direction:column;gap:10px;margin-bottom:14px;display:flex}.attack-row{border:1px solid var(--border);border-radius:8px;padding:10px 14px}.attack-good{border-left:3px solid var(--green)}.attack-bad{border-left:3px solid var(--red)}.attack-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:4px;font-size:13px;display:flex}.attack-desc{color:var(--text-dim);margin-bottom:4px;font-size:12px}.attack-stats{color:var(--text-faint);font-size:11px}.qds-forgery{margin-top:6px}.qds-tamper-control{color:var(--text-dim);flex-direction:column;gap:4px;margin:8px 0;font-size:12px;display:flex}.qds-metrics{margin-top:10px}.qds-metrics-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px;margin-top:8px;display:grid}.qds-metric-card{border:1px solid var(--border);background:#ffffff05;border-radius:8px;padding:10px 14px}.qds-metric-title{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:12px;font-weight:700}.qds-metric-rows div{border-bottom:1px dashed #ffffff0d;justify-content:space-between;gap:10px;padding:2px 0;font-size:12px;display:flex}.qds-metric-rows div:last-child{border-bottom:none}.qds-metric-rows .k{color:var(--text-faint)}.qds-metric-rows b{color:var(--text);font-variant-numeric:tabular-nums;text-align:right}.refs-block{color:var(--text-dim);margin-top:14px;font-size:12px}.refs-block summary{cursor:pointer;color:var(--text-faint);margin-bottom:6px;font-weight:600}.refs-block ul{flex-direction:column;gap:6px;margin:6px 0 0;padding-left:18px;display:flex}.error-banner{color:var(--red);background:#f871711a;border:1px solid #f8717166;border-radius:8px;padding:10px 14px;font-size:13px}.empty-state{color:var(--text-faint);text-align:center;padding:30px 0;font-size:13px}.footer{color:var(--text-faint);text-align:center;padding-top:8px;font-size:11px}
