:root{--bg: #101014;--surface: #17181e;--surface-2: #1f2027;--surface-3: #262832;--border: #2a2c36;--border-hi: #3a3d4a;--text: #f4f4f6;--dim: #81858c;--dimmer: #5d6169;--accent: #f7a600;--accent-dim: #c98500;--accent-wash: rgba(247, 166, 0, .1);--green: #20b26c;--green-wash: rgba(32, 178, 108, .12);--red: #ef454a;--red-wash: rgba(239, 69, 74, .12);--blue: #4a7dff;--radius: 10px;--mono: "IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:IBM Plex Sans,-apple-system,system-ui,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none}button:disabled{cursor:not-allowed;opacity:.45}input,select{font-family:inherit;font-size:inherit}code,.mono{font-family:var(--mono)}.app{max-width:1240px;margin:0 auto;padding:0 24px 80px}.topbar{display:flex;align-items:center;gap:16px;padding:16px 0;margin-bottom:24px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg);z-index:50}.logo{display:flex;align-items:center;gap:9px;font-weight:700;font-size:17px;letter-spacing:-.2px}.logo-mark{width:24px;height:24px;border-radius:6px;background:var(--accent);color:#101014;display:grid;place-items:center;font-weight:700;font-size:13px}.spacer{flex:1}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}@media (max-width: 1000px){.grid{grid-template-columns:1fr}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.card-head{padding:14px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px}.card-title{font-weight:600;font-size:14px}.card-body{padding:18px}.card-body.tight{padding:14px 18px}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.7px;text-transform:uppercase;color:var(--dim)}.btn{background:var(--surface-3);color:var(--text);padding:10px 16px;border-radius:8px;font-weight:600;border:1px solid var(--border-hi);transition:.12s}.btn:hover:not(:disabled){background:var(--border-hi)}.btn-primary{background:var(--accent);color:#101014;border-color:var(--accent)}.btn-primary:hover:not(:disabled){background:#ffb31a}.btn-danger{background:var(--red);color:#fff;border-color:var(--red)}.btn-danger:hover:not(:disabled){filter:brightness(1.12)}.btn-ghost{background:transparent;border-color:var(--border);color:var(--dim)}.btn-ghost:hover:not(:disabled){color:var(--text);border-color:var(--border-hi)}.btn-sm{padding:6px 12px;font-size:13px;border-radius:6px}.btn-block{width:100%;display:block}.btn-row{display:flex;gap:10px;flex-wrap:wrap}.field{margin-bottom:16px}.label{display:block;font-size:13px;font-weight:500;margin-bottom:6px;color:var(--text)}.hint{font-size:12px;color:var(--dim);margin-top:6px;line-height:1.5}.input{width:100%;padding:11px 13px;background:var(--bg);border:1px solid var(--border-hi);border-radius:8px;color:var(--text);font-family:var(--mono);font-size:13px;outline:none}.input:focus{border-color:var(--accent)}.input.err{border-color:var(--red)}.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.3px}.pill-pass{background:var(--green-wash);color:var(--green)}.pill-fail{background:var(--red-wash);color:var(--red)}.pill-warn{background:var(--accent-wash);color:var(--accent)}.pill-mute{background:var(--surface-3);color:var(--dim)}.dot{width:7px;height:7px;border-radius:50%;display:inline-block}.dot-on{background:var(--green)}.dot-off{background:var(--red)}.dot-idle{background:var(--dimmer)}.device-switch{display:flex;gap:4px;background:var(--surface-2);padding:4px;border-radius:9px;border:1px solid var(--border)}.device-btn{display:flex;align-items:center;gap:8px;padding:7px 13px;border-radius:6px;background:transparent;color:var(--dim);font-weight:600;font-size:13px}.device-btn.active{background:var(--surface-3);color:var(--text)}.device-btn .kicon{font-size:14px}.steps{display:flex;gap:8px;margin-bottom:28px}.step{flex:1}.step-bar{height:3px;border-radius:2px;background:var(--surface-3);margin-bottom:8px}.step.done .step-bar,.step.active .step-bar{background:var(--accent)}.step-label{font-size:12px;color:var(--dimmer);font-weight:500}.step.active .step-label{color:var(--accent)}.step.done .step-label{color:var(--dim)}.row{display:flex;align-items:center;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--border)}.row:last-child{border-bottom:none}.row-label{color:var(--dim);font-size:13px}.row-val{font-family:var(--mono);font-size:13px}.asset-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:8px;margin-bottom:8px;background:var(--surface-2)}.asset-row.sel{border-color:var(--accent);background:var(--accent-wash)}.asset-sym{font-weight:600;width:58px}.asset-amt{font-family:var(--mono);color:var(--dim);font-size:13px}.agent{border:1px solid var(--border);border-radius:8px;padding:13px 15px;margin-bottom:10px;background:var(--surface-2);animation:slide .25s ease-out}@keyframes slide{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.agent.pass{border-left:3px solid var(--green)}.agent.fail{border-left:3px solid var(--red)}.agent-head{display:flex;align-items:center;gap:9px;margin-bottom:7px;flex-wrap:wrap}.agent-name{font-weight:600;font-size:13px}.agent-model{font-family:var(--mono);font-size:11px;color:var(--dimmer)}.agent-headline{font-weight:500;font-size:13px;margin-bottom:5px}.agent-comment{font-size:13px;color:var(--dim);line-height:1.6}.agent-evidence{margin-top:8px;display:flex;gap:5px;flex-wrap:wrap}.chip{font-size:11px;padding:2px 8px;border-radius:5px;background:var(--surface-3);color:var(--dim);font-family:var(--mono)}.round-head{display:flex;align-items:center;gap:10px;margin:18px 0 12px;padding-top:14px;border-top:1px dashed var(--border)}.round-head:first-child{margin-top:0;padding-top:0;border-top:none}.round-n{font-weight:700;font-size:12px;letter-spacing:.6px;text-transform:uppercase;color:var(--dim)}.diff-line{display:flex;justify-content:space-between;padding:7px 0;font-family:var(--mono);font-size:13px}.neg{color:var(--red)}.pos{color:var(--green)}.verdict{padding:16px 18px;border-radius:9px;margin-bottom:16px;border:1px solid;display:flex;gap:14px;align-items:flex-start}.verdict-allow{background:var(--green-wash);border-color:#20b26c59}.verdict-block{background:var(--red-wash);border-color:#ef454a59}.verdict-icon{font-size:20px;line-height:1}.verdict-title{font-weight:700;margin-bottom:4px}.verdict-sub{font-size:13px;color:var(--dim);line-height:1.55}.check{display:flex;gap:9px;align-items:center;padding:5px 0;font-size:12.5px}.check-ok{color:var(--green)}.check-no{color:var(--red)}.check-name{color:var(--dim)}.spin{width:13px;height:13px;border:2px solid var(--border-hi);border-top-color:var(--accent);border-radius:50%;animation:rot .7s linear infinite;display:inline-block}@keyframes rot{to{transform:rotate(360deg)}}.countdown{font-family:var(--mono);font-size:26px;font-weight:600;color:var(--accent)}.preset{width:100%;text-align:left;padding:12px 14px;margin-bottom:8px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--text);transition:.12s}.preset:hover{border-color:var(--border-hi);background:var(--surface-3)}.preset.sel{border-color:var(--accent);background:var(--accent-wash)}.preset-title{font-weight:600;font-size:13px;margin-bottom:3px;display:flex;align-items:center;gap:8px}.preset-desc{font-size:12px;color:var(--dim);line-height:1.5}.banner{padding:12px 15px;border-radius:8px;font-size:13px;background:var(--surface-2);border:1px solid var(--border);margin-bottom:16px;line-height:1.55}.banner-warn{background:var(--accent-wash);border-color:#f7a6004d}.banner-err{background:var(--red-wash);border-color:#ef454a4d}.addr{font-family:var(--mono);font-size:12px;color:var(--dim)}.stack{display:flex;flex-direction:column;gap:14px}.inline{display:flex;align-items:center;gap:8px}.muted{color:var(--dim)}.small{font-size:12px}.mt{margin-top:14px}.scroll{max-height:560px;overflow-y:auto}.scroll::-webkit-scrollbar{width:8px}.scroll::-webkit-scrollbar-thumb{background:var(--border-hi);border-radius:4px}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b8;display:grid;place-items:center;z-index:200;padding:20px}.modal{background:var(--surface);border:1px solid var(--border-hi);border-radius:12px;max-width:460px;width:100%}
