:root{--ink: #0d1520;--panel: #141d2a;--panel-2: #1a2433;--rail: #2a3646;--rail-soft: #202a38;--mute: #7a8899;--paper: #e6ecf3;--paper-dim: #b6c2d0;--signal: #f0a13a;--bounce: #e2596b;--settled: #4fb286;--cool: #5b9dd9;--r: 6px;--mono: ui-monospace, "SF Mono", "Cascadia Mono", "Roboto Mono", Menlo, monospace;--sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--signal);outline-offset:2px;border-radius:3px}.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}.mono{font-family:var(--mono);font-size:13px}.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.dim{color:var(--mute)}.shell{display:grid;grid-template-columns:208px 1fr;min-height:100vh}.rail-nav{background:var(--panel);border-right:1px solid var(--rail);padding:20px 0;display:flex;flex-direction:column;gap:2px;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{padding:0 20px 22px;display:flex;align-items:baseline;gap:9px}.brand b{font-size:17px;letter-spacing:-.01em}.nav-group{padding:14px 20px 6px}.nav-item{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 20px;background:none;border:0;border-left:2px solid transparent;width:100%;text-align:left;cursor:pointer;color:var(--paper-dim);font-size:14px}.nav-item:hover{background:var(--panel-2);color:var(--paper)}.nav-item[aria-current=page]{color:var(--paper);border-left-color:var(--signal);background:var(--panel-2)}.nav-count{font-family:var(--mono);font-size:11px;color:var(--signal)}.main{padding:28px 32px 64px;max-width:1180px;min-width:0}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}h1{font-size:26px;letter-spacing:-.02em;margin:4px 0 0;font-weight:600}h2{font-size:15px;margin:0 0 12px;font-weight:600}.panel{background:var(--panel);border:1px solid var(--rail);border-radius:var(--r);padding:16px 18px}.stack{display:flex;flex-direction:column;gap:18px}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}table{width:100%;border-collapse:collapse}th{text-align:left;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);font-weight:500;padding:0 12px 9px 0;border-bottom:1px solid var(--rail)}td{padding:11px 12px 11px 0;border-bottom:1px solid var(--rail-soft);font-size:14px;vertical-align:middle}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--panel-2)}.scroll-x{overflow-x:auto}.pill{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:3px;border:1px solid currentColor;white-space:nowrap}.pill.active,.pill.pending{color:var(--signal)}.pill.completed,.pill.pass,.pill.delivered{color:var(--settled)}.pill.failed,.pill.fail{color:var(--bounce)}.pill.info,.pill.neutral{color:var(--cool)}.meter{display:flex;gap:2px;align-items:center}.meter i{width:7px;height:14px;border-radius:1px;background:var(--rail);display:block}.meter i.done{background:var(--cool)}.meter i.here{background:var(--signal)}.trace{display:flex;flex-direction:column}.tick{display:grid;grid-template-columns:74px 26px 1fr;gap:0;align-items:stretch}.tick-time{font-family:var(--mono);font-size:11px;color:var(--mute);padding:14px 10px 0 0;text-align:right;white-space:nowrap}.tick-rail{position:relative}.tick-rail:before{content:"";position:absolute;left:11px;top:0;bottom:0;width:2px;background:var(--rail)}.tick:first-child .tick-rail:before{top:18px}.tick:last-child .tick-rail:before{bottom:calc(100% - 20px)}.tick-mark{position:absolute;left:5px;top:14px;width:14px;height:14px;border-radius:50%;background:var(--ink);border:2px solid var(--cool)}.tick.rejected .tick-mark{border-color:var(--bounce);border-radius:2px}.tick.rejected .tick-rail:after{content:"";position:absolute;left:12px;top:20px;width:12px;height:22px;border:2px solid var(--bounce);border-left:0;border-radius:0 11px 11px 0}.tick.terminal .tick-mark{background:var(--settled);border-color:var(--settled)}.tick.back .tick-mark{border-color:var(--mute)}.tick-body{padding:10px 0 16px 6px;min-width:0}.tick-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.tick-step{font-family:var(--mono);font-size:13px;color:var(--paper)}.tick-note{margin-top:7px;font-size:13px;color:var(--paper-dim)}.tick-error{margin-top:7px;font-size:13px;color:var(--bounce)}.answer{display:flex;gap:8px;font-size:13px;padding:3px 0;align-items:baseline}.answer b{font-family:var(--mono);font-size:12px;color:var(--mute);font-weight:400;flex:0 0 auto}.chat{display:flex;flex-direction:column;gap:8px;padding:4px 0}.bubble{max-width:min(560px,78%);padding:9px 13px;border-radius:12px;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.bubble.outbound{align-self:flex-start;background:var(--panel-2);border:1px solid var(--rail);border-bottom-left-radius:3px}.bubble.inbound{align-self:flex-end;background:#1f3b34;border:1px solid #2c5347;border-bottom-right-radius:3px}.bubble-kind{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);display:block;margin-bottom:4px}.bubble-options{margin-top:8px;display:flex;flex-direction:column;gap:4px}.bubble-options span{border:1px solid var(--rail);border-radius:4px;padding:5px 9px;font-size:13px;text-align:center;color:var(--cool)}.btn{background:var(--panel-2);border:1px solid var(--rail);border-radius:var(--r);padding:7px 13px;font-size:13px;cursor:pointer;color:var(--paper)}.btn:hover{border-color:var(--mute)}.btn.primary{background:var(--signal);border-color:var(--signal);color:#241703;font-weight:600}.btn.danger:hover{border-color:var(--bounce);color:var(--bounce)}.btn:disabled{opacity:.45;cursor:not-allowed}input[type=text],input[type=password],select{background:var(--ink);border:1px solid var(--rail);border-radius:var(--r);padding:7px 10px;font-size:14px;min-width:0}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--rail);margin-bottom:16px}.tab{background:none;border:0;border-bottom:2px solid transparent;padding:8px 14px;cursor:pointer;color:var(--mute);font-size:14px}.tab[aria-selected=true]{color:var(--paper);border-bottom-color:var(--signal)}details.raw{margin-top:12px}details.raw summary{cursor:pointer;font-family:var(--mono);font-size:12px;color:var(--mute)}pre{background:var(--ink);border:1px solid var(--rail);border-radius:var(--r);padding:12px;overflow-x:auto;font-family:var(--mono);font-size:12px;line-height:1.55;margin:8px 0 0}.empty{padding:34px 4px;color:var(--mute);font-size:14px}.err{border:1px solid var(--bounce);color:var(--bounce);border-radius:var(--r);padding:10px 13px;font-size:13px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:12px}.card{background:var(--panel);border:1px solid var(--rail);border-radius:var(--r);padding:15px 16px;display:flex;flex-direction:column;gap:9px}.card.on{border-color:var(--signal)}.stat{display:flex;flex-direction:column;gap:3px}.stat b{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:27px;font-weight:500;letter-spacing:-.02em}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:18px}.gate{min-height:100vh;display:grid;place-items:center;padding:20px}.gate form{width:min(340px,100%);display:flex;flex-direction:column;gap:12px}.gate input{width:100%}@media(max-width:760px){.shell{grid-template-columns:1fr}.rail-nav{position:static;height:auto;flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--rail)}.brand,.nav-group{display:none}.nav-item{border-left:0;border-bottom:2px solid transparent;white-space:nowrap;width:auto}.nav-item[aria-current=page]{border-left:0;border-bottom-color:var(--signal)}.main{padding:18px 16px 48px}.tick{grid-template-columns:58px 22px 1fr}}@media(prefers-reduced-motion:no-preference){.pulse{animation:pulse 2.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}}
