:root{--navy: #1f2a44;--blue: #2b5fb3;--orange: #e07a3f;--kill: #f4a261;--page: #f7f8fa;--panel: #ffffff;--border: #e6e8ec;--text: #1f2a44;--muted: #6b7280;--yellow: #f2c14e;--red: #c0392b;--green: #2e9e5b;--sans: system-ui, -apple-system, "Segoe UI", Inter, Roboto, Helvetica, Arial, sans-serif;--mono: ui-monospace, "JetBrains Mono", Menlo, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--page);color:var(--text);font-family:var(--sans);font-size:13px;line-height:1.4;-webkit-font-smoothing:antialiased}a{color:var(--blue)}button{font-family:inherit;font-size:inherit}input,select,textarea{font-family:inherit;font-size:13px;color:var(--text);background:#fff;border:1px solid var(--border);border-radius:3px;padding:5px 7px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--blue)}input.is-invalid,textarea.is-invalid{border-color:var(--orange);background:#fff7f2}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.pos{color:var(--blue)}.neg{color:var(--orange)}.neu{color:var(--text)}.muted{color:var(--muted)}.small{font-size:11px}.r{text-align:right}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.splash{padding:40px;color:var(--muted)}.hdr{position:relative;height:56px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 16px;gap:16px}.hdr__left,.hdr__right{display:flex;align-items:center;gap:16px;min-width:0}.hdr__wordmark{font-weight:700;font-size:20px;letter-spacing:-.02em;color:#fff}.hdr__chips{font-size:11px;color:#fff9;white-space:nowrap}.hdr__tabs{display:flex;gap:4px;margin-left:12px;height:56px}.hdr__tab{color:#ffffffd9;text-decoration:none;padding:0 10px;display:flex;align-items:center;border-bottom:2px solid transparent;height:100%}.hdr__tab:hover{color:#fff}.hdr__tab.is-active{color:#fff;border-bottom-color:#fff}.hdr__status{font-size:12px;color:#ffffffd9;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.dot--ok{background:#3ddc84;box-shadow:0 0 0 3px #3ddc8433}.dot--warn{background:var(--yellow)}.dot--bad{background:#ff5c5c}.hdr__signout{color:#fff9}.hdr__signout:hover{color:#fff}.hdr__err{position:absolute;top:56px;right:16px;background:var(--orange);color:#fff;padding:4px 8px;font-size:11px;z-index:20}.btn{cursor:pointer;border-radius:3px;padding:5px 12px;border:1px solid transparent;background:transparent;line-height:1.3;white-space:nowrap}.btn:disabled{opacity:.5;cursor:default}.btn--sm{padding:3px 8px;font-size:12px}.btn--outline{color:#fff;border-color:#ffffffb3}.btn--outline:hover:not(:disabled){background:#ffffff1a}.btn--kill{color:var(--kill);border-color:var(--kill)}.btn--kill:hover:not(:disabled){background:#f4a26126}.btn--kill.is-armed{background:var(--kill);color:var(--navy);font-weight:700}.btn--outline-dark{color:var(--navy);border-color:var(--navy);background:#fff}.btn--outline-dark:hover:not(:disabled){background:#eef1f6}.btn--primary{background:var(--blue);color:#fff;border-color:var(--blue)}.btn--primary:hover:not(:disabled){background:#24509a}.btn--danger{background:var(--red);color:#fff;border-color:var(--red)}.btn--link{color:var(--muted);padding:4px 6px;text-decoration:underline;text-underline-offset:2px}.btn--link:hover{color:var(--text)}.hdr .btn--link:hover{color:#fff}.killwrap{position:relative}.killmenu{position:absolute;top:36px;right:0;width:280px;background:#fff;color:var(--text);border:1px solid var(--border);box-shadow:0 8px 24px #1f2a442e;padding:10px;z-index:30;display:flex;flex-direction:column;gap:6px}.killmenu__title{font-weight:600;margin-bottom:4px}.btn--kill-choice{display:flex;flex-direction:column;align-items:flex-start;text-align:left;border-color:var(--border);padding:8px 10px;white-space:normal}.btn--kill-choice:hover:not(:disabled){border-color:var(--navy)}.btn--kill-choice.is-danger{border-color:var(--orange);color:var(--red)}.btn--kill-choice .small{font-weight:400}.banner{display:flex;align-items:center;gap:14px;padding:0 16px;color:#fff;font-size:12px}.banner__title{font-weight:800;letter-spacing:.08em}.banner--live{background:var(--red);height:34px;font-size:13px}.banner--paper{background:var(--blue);height:24px}.main{width:100%}.tiles{display:grid;grid-template-columns:repeat(6,1fr);background:var(--panel);border-bottom:1px solid var(--border)}.tiles--3{grid-template-columns:repeat(3,1fr);border:1px solid var(--border);margin-bottom:12px}.tile{padding:12px 16px;border-right:1px solid var(--border);min-width:0}.tile:last-child{border-right:none}.tile__label{font-size:11px;color:var(--muted);text-transform:none}.tile__value{font-size:22px;font-weight:600;margin:2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile__sub{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cols{display:grid;grid-template-columns:1fr 1fr;align-items:start}.cols--3{grid-template-columns:1fr 1fr 1fr}.col{min-width:0}.col--divider{border-left:1px solid var(--border)}@media (max-width: 1000px){.cols,.cols--3{grid-template-columns:1fr}.col--divider{border-left:none;border-top:1px solid var(--border)}.tiles{grid-template-columns:repeat(3,1fr)}.tile:nth-child(3n){border-right:none}.tile{border-bottom:1px solid var(--border)}}.section{padding:14px 16px;border-bottom:1px solid var(--border);background:var(--panel)}.section__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.section__title{margin:0;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--navy)}.section__right{font-size:12px;color:var(--muted);text-align:right}.empty{color:var(--muted);font-size:12px;padding:10px 0}.error{color:#fff;background:var(--orange);padding:6px 10px;font-size:12px;margin:8px 16px}.info{color:var(--blue);font-size:12px;margin:8px 16px}.tablewrap{overflow-x:auto}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:10px;letter-spacing:.08em;color:var(--muted);font-weight:600;padding:4px 6px;border-bottom:1px solid var(--border);white-space:nowrap}.table td{padding:6px;border-bottom:1px solid var(--border);vertical-align:top;white-space:nowrap}.table tr:last-child td{border-bottom:none}.table .sym{font-weight:600}.table--compact td,.table--compact th{padding:3px 6px;font-size:12px}.table--metrics td,.table--metrics th{padding:7px 8px}.table--metrics td.is-drift{background:#fff1e8;outline:1px solid var(--orange);outline-offset:-1px}.txlink{text-decoration:none;font-size:12px}.chip{display:inline-block;font-family:var(--mono);font-size:10px;padding:1px 5px;border-radius:3px;vertical-align:middle;margin-left:4px}.chip--tf{background:#eef1f6;color:var(--navy)}.chip--moonbag{background:#fde9dc;color:var(--orange)}.chip--muted{background:#f0f0f0;color:var(--muted)}.chip--warn{background:#fff3c4;color:#8a6d00}.badge{display:inline-block;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.05em;padding:1px 6px;border-radius:2px;min-width:52px;text-align:center}.badge--pass{background:var(--navy);color:#fff}.badge--reject{background:var(--navy);color:#fff;opacity:.55}.badge--skip{background:var(--yellow);color:var(--navy)}.badge--cool{background:transparent;color:var(--muted);border:1px solid var(--border)}.pos{border:1px solid var(--border);padding:10px 12px;margin-bottom:8px;background:#fff}.pos--moonbag{border-left:3px solid var(--orange)}.pos__row{display:grid;grid-template-columns:1.4fr 1fr auto;gap:12px;align-items:center}.pos__sym{font-weight:700;font-size:14px}.pos__line{font-size:12px;margin-top:2px}.pos__mid{font-size:12px}.pos__right{text-align:right}.pos__pnl{font-size:20px;font-weight:600}.pos__pnlq{font-size:11px}.pos__why{font-size:12px;margin:8px 0}.bar{margin-top:10px}.bar__track{position:relative;height:4px;background:#e6e8ec;border-radius:2px}.bar__fill{position:absolute;top:0;height:4px;border-radius:2px}.bar__fill.is-pos{background:var(--blue)}.bar__fill.is-neg{background:var(--orange)}.bar__entry{position:absolute;top:-3px;width:1px;height:10px;background:var(--muted)}.bar__marker{position:absolute;top:-3px;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:#fff;border:2px solid var(--navy)}.bar__marker.is-pos{border-color:var(--blue)}.bar__marker.is-neg{border-color:var(--orange)}.bar__labels{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:6px}.counters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.counter{font-size:11px;border:1px solid var(--border);border-radius:3px;padding:2px 7px;color:var(--muted);background:#fafbfc}.counter b{color:var(--navy)}.feed{list-style:none;margin:0;padding:0;max-height:70vh;overflow-y:auto}.feed__row{display:grid;grid-template-columns:auto 90px 1fr auto;gap:10px;align-items:center;padding:5px 0;border-bottom:1px solid var(--border);font-size:12px}.feed__row:last-child{border-bottom:none}.feed__sym{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feed__reason{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feed__time{color:var(--muted);font-size:11px}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--navy)}.login__card{width:360px;background:#fff;padding:24px;display:flex;flex-direction:column;gap:12px;border-radius:4px}.login__brand{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}.login .hdr__wordmark{color:var(--navy)}.login__actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.login .error,.login .info{margin:0}.field{display:flex;flex-direction:column;gap:4px}.field__label{font-size:11px;color:var(--muted)}.modecard{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;background:#fff;border-bottom:1px solid var(--border);border-left:4px solid var(--blue)}.modecard--live{border-left-color:var(--red);background:#fff5f5}.modecard__value{font-size:22px;font-weight:700}.modecard__confirm{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.savebar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:10px;padding:8px 16px;background:#fff;border-bottom:1px solid var(--border);box-shadow:0 2px 6px #1f2a440f}.savebar .mono{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.savebar__reason{width:260px}.cfg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(460px,1fr));gap:0}.cfg-section{border-right:1px solid var(--border)}.cfgfield{display:grid;grid-template-columns:1fr 200px;gap:10px;align-items:center;padding:5px 0;border-bottom:1px dashed #eef0f3}.cfgfield:last-child{border-bottom:none}.cfgfield.is-changed{background:#f2f6fd;margin:0 -8px;padding-left:8px;padding-right:8px}.cfgfield__label{display:flex;flex-direction:column;font-size:12px;min-width:0}.cfgfield__bound{font-size:10px;color:var(--blue)}.cfgfield__hint{font-size:10px}.cfgfield__input input,.cfgfield__input select,.cfgfield__input textarea{width:100%}.switch{display:inline-flex;align-items:center;gap:6px}.checks{display:flex;flex-wrap:wrap;gap:8px}.checks__item{display:inline-flex;align-items:center;gap:3px;font-size:12px}.record{display:flex;flex-direction:column;gap:4px}.record__row{display:grid;grid-template-columns:1fr 90px;align-items:center;gap:6px;font-size:12px}.proposal{border:1px solid var(--border);padding:10px 12px;margin-bottom:8px;background:#fff}.proposal--pending{border-left:3px solid var(--yellow)}.proposal__head{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}.proposal__reason{font-size:12px;margin:8px 0;white-space:pre-wrap}.details summary{cursor:pointer;padding:6px 0}.report{border:1px solid var(--border);margin-bottom:6px;background:#fff}.report__head{width:100%;display:flex;justify-content:space-between;gap:8px;align-items:center;background:transparent;border:none;padding:8px 10px;cursor:pointer;text-align:left;color:var(--text)}.report__title{font-weight:600}.report.is-open .report__head{border-bottom:1px solid var(--border)}.report__body{padding:8px 12px;font-size:12.5px}.md h1,.md h2,.md h3,.md h4{margin:10px 0 4px;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--navy)}.md h1{font-size:14px}.md p{margin:4px 0 8px}.md ul,.md ol{margin:4px 0 8px;padding-left:18px}.md li{margin:2px 0}.md code{font-family:var(--mono);font-size:11.5px;background:#f1f3f7;padding:0 4px;border-radius:2px}.md pre{background:#f1f3f7;padding:8px;overflow-x:auto;font-size:11.5px}.md pre code{background:none;padding:0}.md blockquote{border-left:3px solid var(--border);margin:6px 0;padding-left:10px;color:var(--muted)}.md hr{border:none;border-top:1px solid var(--border)}.action{border:1px solid var(--border);padding:8px 10px;margin-bottom:6px;background:#fff;font-size:12px}.action.is-reverted{opacity:.6}.action__head,.action__foot{display:flex;justify-content:space-between;align-items:center;gap:8px}.action__reason{margin:6px 0;white-space:pre-wrap}.action__io{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:6px}.chat{display:flex;flex-direction:column;height:calc(100vh - 80px);min-height:420px}.chat__log{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding-bottom:8px}.chat__form{display:flex;gap:8px;align-items:flex-end;border-top:1px solid var(--border);padding-top:8px}.chat__form textarea{flex:1;resize:vertical}.msg{padding:8px 10px;border-radius:4px;font-size:12.5px;max-width:95%}.msg--user{background:#eef2fa;align-self:flex-end;white-space:pre-wrap}.msg--assistant{background:#f6f7f9;align-self:flex-start}.msg--tool{background:#fbfbfb;color:var(--muted);font-family:var(--mono);font-size:11px;white-space:pre-wrap}.msg.is-error{border-left:3px solid var(--orange)}.msg.is-pending{animation:pulse 1.2s ease-in-out infinite}.msg__meta{margin-bottom:3px}.pending{color:var(--orange);animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.spark{display:flex;gap:8px;margin-top:10px;align-items:flex-end}.spark__item{display:flex;flex-direction:column;align-items:center;gap:2px}.spark__bar{width:14px;height:28px;background:#eef1f6;display:flex;align-items:flex-end}.spark__fill{width:100%;background:var(--blue)}.spark__label{font-size:9px;color:var(--muted)}
