.bs-empty{padding:28px 16px;text-align:center;color:var(--muted)}.bs-list{display:grid;gap:12px}.bs-item{display:flex;gap:14px;align-items:flex-start;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);text-decoration:none;color:inherit}.bs-item:hover{border-color:var(--primary);background:var(--primary-soft)}.bs-item-main{flex:1;min-width:0}.bs-item-main strong{display:block;font-size:14px;margin-bottom:3px;overflow-wrap:anywhere}.bs-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--muted)}.bs-meta span:after{content:"·";margin-left:10px;color:var(--border)}.bs-meta span:last-child:after{content:"";margin:0}.bs-stat{display:flex;flex-direction:column;gap:2px}.bs-stat strong{font-size:18px}.bs-stat span{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}.bs-code{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:#0b1f3a}.bs-code-head{display:flex;align-items:center;gap:10px;padding:6px 10px;background:#11294a;color:#cbd5e1;font-size:11px;text-transform:uppercase;letter-spacing:.4px}.bs-code-head .spacer{flex:1}.bs-code-head button{padding:2px 8px;font-size:11px;background:transparent;color:#cbd5e1;border-color:#33507c}.bs-code-head button:hover{color:#fff;border-color:#7fa6e8}.bs-code pre{margin:0;padding:10px 12px;overflow-x:auto;color:#e2e8f0;font-family:Cascadia Mono,Consolas,monospace;font-size:12px;line-height:1.55;white-space:pre}.bs-code.removed{background:#3b1220}.bs-code.removed .bs-code-head{background:#4d1829;color:#fecdd3}.bs-code.added{background:#0c2c1c}.bs-code.added .bs-code-head{background:#123a26;color:#bbf7d0}.bs-diff{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.bs-verdict{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap;padding:14px 16px;border-radius:var(--radius);border:1px solid var(--border);background:var(--primary-soft);margin-bottom:16px}.bs-verdict.database{background:#fff7ed;border-color:var(--warn)}.bs-verdict-main{flex:1;min-width:260px}.bs-verdict-main h3{margin:0 0 6px;font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}.bs-verdict-main p{margin:0;font-size:14px;line-height:1.6}.bs-file{border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin-bottom:12px;background:var(--surface)}.bs-file-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:8px}.bs-file-head code{font-family:Cascadia Mono,Consolas,monospace;font-size:13px;font-weight:600;overflow-wrap:anywhere}.bs-why{margin:0 0 12px;line-height:1.6}.bs-chips{display:flex;flex-wrap:wrap;gap:6px}.bs-chip{font-family:Cascadia Mono,Consolas,monospace;font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid var(--border);background:var(--bg);color:var(--muted)}.bs-steps{margin:0;padding-left:20px;line-height:1.7}.bs-steps li{margin-bottom:4px}.bs-bug-text{margin:0;max-height:340px;overflow-y:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:13px;line-height:1.65;color:var(--text)}.bs-thumbs{display:flex;flex-wrap:wrap;gap:10px}.bs-thumb{display:flex;flex-direction:column;gap:2px;padding:8px 12px;border:1px dashed var(--border);border-radius:var(--radius);font-size:12px;background:var(--bg)}.bs-thumb strong{overflow-wrap:anywhere}.bs-progress{height:4px;border-radius:999px;background:var(--border);overflow:hidden;margin-top:10px}.bs-progress span{display:block;height:100%;width:35%;border-radius:999px;background:var(--primary);animation:bs-slide 1.4s ease-in-out infinite}@keyframes bs-slide{0%{transform:translate(-100%)}to{transform:translate(340%)}}@media(prefers-reduced-motion:reduce){.bs-progress span{animation:none;width:100%}}:root{--bg: #f5f7fb;--surface: #ffffff;--border: #dde3ee;--text: #0b1f3a;--muted: #64748b;--primary: #1d4ed8;--primary-soft: #f4f8ff;--warn: #d97706;--warn-soft: #fff7e6;--ok: #16a34a;--ok-soft: #ecfdf3;--danger: #dc2626;--danger-soft: #fef2f2;--radius: 10px;font-family:Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px}a{color:var(--primary)}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:24px;padding:12px 24px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.brand{font-weight:700;font-size:15px;letter-spacing:.2px}.brand span{display:block;font-weight:400;font-size:11px;color:var(--muted)}.nav{display:flex;gap:4px;flex:1}.nav a{padding:7px 12px;border-radius:var(--radius);text-decoration:none;color:var(--muted);font-weight:600}.nav a.active,.nav a:hover{background:var(--primary-soft);color:var(--primary)}.identity{text-align:right;font-size:12px;line-height:1.4}.identity strong{display:block}.content{padding:24px;max-width:1280px;width:100%;margin:0 auto;flex:1}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.page-header h1{margin:0 0 4px;font-size:20px}.page-header p{margin:0;color:var(--muted)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:16px}.card h2{margin:0 0 12px;font-size:15px}.card h3{margin:0 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}.grid{display:grid;gap:16px}.grid.cols-2{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.grid.cols-3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:700;border:1px solid transparent;white-space:nowrap}.badge.gate{background:var(--warn-soft);color:var(--warn);border-color:var(--warn)}.badge.ok{background:var(--ok-soft);color:var(--ok);border-color:var(--ok)}.badge.info{background:var(--primary-soft);color:var(--primary);border-color:var(--primary)}.badge.danger{background:var(--danger-soft);color:var(--danger);border-color:var(--danger)}.badge.muted{background:#f1f5f9;color:var(--muted);border-color:var(--border)}button{font:inherit;cursor:pointer;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);padding:8px 14px;font-weight:600;color:var(--text)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--primary);border-color:var(--primary);color:#fff}button.approve{background:var(--ok);border-color:var(--ok);color:#fff}button.reject{background:var(--danger);border-color:var(--danger);color:#fff}button.revise{background:var(--primary);border-color:var(--primary);color:#fff}.revision-thread{margin:12px 0;border-left:3px solid var(--primary);padding-left:12px}.revision-list{margin:8px 0 0;padding-left:18px;display:grid;gap:12px}.revision-list blockquote{margin:6px 0 0;padding:8px 12px;border-radius:8px;background:var(--surface-alt, rgba(127, 127, 127, .1));font-style:italic}.revision-response{margin:6px 0 0}.revision-hint{margin:10px 0 0;line-height:1.5}.waiver{margin:12px 0;padding:12px 14px;border:1px solid var(--danger);border-radius:8px;background:var(--surface-alt, rgba(127, 127, 127, .06))}.waiver-list{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}.waiver-list label{display:flex;align-items:center;gap:8px;cursor:pointer}.waiver-list input{width:auto;margin:0}button.danger{border-color:var(--danger);color:var(--danger)}.button-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:4px}label span.muted{display:block;margin-top:4px;font-weight:400}input,textarea,select{font:inherit;width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;color:var(--text)}label{display:block;margin-bottom:12px;font-weight:600;font-size:12px;color:var(--muted)}label input,label textarea,label select{margin-top:5px;font-weight:400;color:var(--text)}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spacer{flex:1}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:top}th{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}.alert{padding:10px 14px;border-radius:var(--radius);border:1px solid;margin-bottom:14px;font-weight:500}.alert.error{background:var(--danger-soft);border-color:var(--danger);color:#7f1d1d}.alert.info{background:var(--primary-soft);border-color:var(--primary);color:#1e3a8a}.alert.warn{background:var(--warn-soft);border-color:var(--warn);color:#7c2d12}.muted{color:var(--muted)}.mono{font-family:Cascadia Mono,Consolas,monospace;font-size:12px}.timeline{list-style:none;margin:0;padding:0;border-left:2px solid var(--border)}.timeline li{position:relative;padding:0 0 16px 18px}.timeline li:before{content:"";position:absolute;left:-7px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--border);border:2px solid var(--surface)}.timeline li.done:before{background:var(--ok)}.timeline li.current:before{background:var(--warn)}.stage-out{background:#0b1f3a;color:#e2e8f0;padding:10px;border-radius:var(--radius);overflow:auto;max-height:260px;font-size:11px;margin:0}.login{max-width:460px;margin:64px auto}.pill-list{display:flex;flex-wrap:wrap;gap:6px}.agent-map h2{margin:0}.agent-track{display:flex;align-items:flex-start;gap:0;overflow-x:auto;padding:8px 2px 4px}.agent-slot{display:flex;align-items:center;flex:0 0 auto}.agent-wire{flex:0 0 auto;width:26px;height:3px;border-radius:999px;background:var(--border);margin-top:-26px}.agent-wire[data-live=true]{background-image:linear-gradient(90deg,var(--wire) 0 55%,transparent 55% 100%);background-size:14px 3px;background-repeat:repeat-x;animation:agent-wire-flow .8s linear infinite}.agent-wire[data-live=true][data-tone=run]{--wire: var(--primary)}.agent-wire[data-live=true][data-tone=wait]{--wire: var(--warn)}@keyframes agent-wire-flow{0%{background-position-x:0}to{background-position-x:14px}}.agent-node{display:flex;flex-direction:column;align-items:center;gap:4px;width:104px;text-align:center}.bot-host[data-status=idle]{--tone: var(--muted);--fill: var(--surface);--ink: var(--muted)}.bot-host[data-status=next]{--tone: var(--primary);--fill: var(--primary-soft);--ink: var(--primary)}.bot-host[data-status=running]{--tone: var(--primary);--fill: var(--primary);--ink: #ffffff}.bot-host[data-status=done],.bot-host[data-status=approved]{--tone: var(--ok);--fill: var(--ok-soft);--ink: var(--ok)}.bot-host[data-status=failed],.bot-host[data-status=rejected]{--tone: var(--danger);--fill: var(--danger);--ink: #ffffff}.bot-host[data-status=paused],.bot-host[data-status=awaiting]{--tone: var(--warn);--fill: var(--warn);--ink: #ffffff}.bot-host[data-status=revising]{--tone: var(--warn);--fill: var(--warn-soft, var(--surface));--ink: var(--warn)}.agent-badge{position:relative;display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;border:2px solid var(--tone);border-radius:50%;background:var(--fill);color:var(--ink);transition:background-color .3s ease,border-color .3s ease,color .3s ease,box-shadow .3s ease}.agent-node.gate .agent-badge{border-radius:12px}.agent-badge svg{width:34px;height:34px}.bot-host[data-status=running] .agent-badge:after,.bot-host[data-status=awaiting] .agent-badge:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:inherit;border:2px solid var(--tone);animation:agent-halo 1.7s ease-out infinite}@keyframes agent-halo{0%{transform:scale(1);opacity:.55}70%,to{transform:scale(1.6);opacity:0}}.agent-name{font-size:11.5px;font-weight:600;line-height:1.25;color:var(--text)}.agent-status{font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.agent-node[data-active=true] .agent-status{color:var(--tone)}.agent-pass{font-size:9.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--warn);border:1px solid var(--warn);border-radius:999px;padding:0 6px;line-height:15px}.agent-caption{margin:4px 0 0;font-size:13px;color:var(--muted)}.bot-host[data-status=planned]{--tone: var(--muted);--fill: var(--surface);--ink: var(--muted)}.prelude{margin:4px 0 18px;padding:12px 14px 10px;border:1px dashed var(--border);border-radius:14px;background:repeating-linear-gradient(-45deg,rgba(127,127,127,.05) 0 8px,transparent 8px 16px),var(--surface)}.prelude h3{margin:0;font-size:14px}.prelude-note{margin:8px 0 2px;font-size:13px;line-height:1.5}.prelude-track{display:flex;align-items:flex-start;overflow-x:auto;padding:6px 2px 2px}.prelude-slot{display:flex;align-items:center;flex:0 0 auto}.prelude-wire{flex:0 0 auto;width:22px;height:0;border-top:2px dashed var(--border);margin-top:-24px}.prelude-node{display:flex;flex-direction:column;align-items:center;gap:4px;width:92px;text-align:center;opacity:.68}.prelude-node .agent-badge{width:44px;height:44px;border-style:dashed}.prelude-node .agent-badge svg{width:30px;height:30px}.prelude-node.gate .agent-badge{border-radius:11px}.prelude-node .agent-name{font-size:11px}.prelude-handoff{margin:8px 0 0;font-size:12.5px;color:var(--muted)}.bot-asleep-only,.bot-host[data-awake=false] .bot-awake-only{display:none}.bot-host[data-awake=false] .bot-asleep-only{display:inline}.bot-host[data-awake=false] .agent-badge{animation:bot-breathe 4.2s ease-in-out infinite}.bot-host[data-awake=true] .agent-badge{animation:bot-wake .55s cubic-bezier(.2,1.5,.4,1) both}.agent-node[data-awake=false]{opacity:.72}.bot-host[data-awake=true] .bot-antenna{animation:bot-antenna-blink 1.2s steps(1,end) infinite}.bot-core{opacity:.45}.bot-host[data-awake=true] .bot-core{opacity:1;animation:bot-core-throb 1.6s ease-in-out infinite}@keyframes bot-core-throb{0%,to{opacity:.55}50%{opacity:1}}@keyframes bot-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.045)}}@keyframes bot-wake{0%{transform:scale(.88)}55%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes bot-antenna-blink{0%,55%{opacity:1}56%,to{opacity:.2}}.bot-zzz{position:absolute;top:-4px;right:-8px;font-size:12px;font-weight:800;line-height:1;color:var(--muted);opacity:0;pointer-events:none;animation:bot-zzz 3.6s ease-in-out infinite}@keyframes bot-zzz{0%{opacity:0;transform:translateY(4px) scale(.7)}30%{opacity:.6}70%{opacity:.3;transform:translate(7px,-11px) scale(1.05)}to{opacity:0;transform:translate(11px,-17px) scale(1.15)}}.agent-orbit-wrap{overflow-x:auto;padding:4px 0 2px}.agent-orbit{position:relative;width:100%;min-width:660px;aspect-ratio:700 / 470;border-radius:20px;overflow:hidden;background-image:radial-gradient(rgba(255,255,255,.055) 1px,transparent 1px),radial-gradient(ellipse 60% 60% at 50% 46%,#1b3f7d 0%,transparent 70%),linear-gradient(160deg,#102a52,#0b1f3a 45%,#060f20);background-size:28px 28px,100% 100%,100% 100%;box-shadow:inset 0 0 90px #0000008c,inset 0 0 0 1px #ffffff12}.orbit-glow{position:absolute;left:50%;top:50%;width:260px;height:260px;margin:-130px 0 0 -130px;border-radius:50%;background:radial-gradient(circle,rgba(96,165,250,.32) 0%,transparent 68%);opacity:0;transition:opacity .5s ease}.orbit-glow[data-active=true]{opacity:1;animation:orbit-glow-pulse 3.6s ease-in-out infinite}@keyframes orbit-glow-pulse{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(1.2);opacity:1}}.hub-wave{position:absolute;left:50%;top:50%;width:120px;height:120px;margin:-60px 0 0 -60px;border-radius:50%;border:1px solid rgba(96,165,250,.5);opacity:0;pointer-events:none;animation:hub-wave 3.75s ease-out infinite}@keyframes hub-wave{0%{transform:scale(.65);opacity:.6}to{transform:scale(3.4);opacity:0}}.orbit-wires{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.orbit-guide{fill:none;stroke:#ffffff17;stroke-width:1;stroke-dasharray:3 11;animation:guide-crawl 44s linear infinite}.orbit-guide.inner{stroke:#ffffff0f;animation-duration:32s;animation-direction:reverse}@keyframes guide-crawl{to{stroke-dashoffset:-280}}.orbit-wire{fill:none;stroke:#ffffff1c;stroke-width:1.6;stroke-linecap:round;transition:stroke .4s ease,stroke-width .4s ease}.orbit-wire[data-state=done]{stroke:#34d3996b;stroke-width:1.9}.orbit-wire[data-state=alert]{stroke:#f871718c;stroke-width:1.9}.orbit-wire[data-live=true]{stroke:var(--wire);stroke-width:2.4;stroke-dasharray:6 10;filter:drop-shadow(0 0 5px var(--wire));animation:orbit-flow .85s linear infinite}.orbit-wire[data-live=true][data-tone=run],.orbit-spark[data-tone=run]{--wire: #60a5fa}.orbit-wire[data-live=true][data-tone=wait],.orbit-spark[data-tone=wait]{--wire: #fbbf24}@keyframes orbit-flow{to{stroke-dashoffset:-32}}.orbit-spark{fill:none;stroke:var(--wire);stroke-width:5.5;stroke-linecap:round;stroke-dasharray:.01 100;filter:drop-shadow(0 0 6px var(--wire));animation:orbit-spark 1.85s linear infinite}@keyframes orbit-spark{0%{stroke-dashoffset:0}to{stroke-dashoffset:-100}}.orbit-hub,.orbit-node{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.orbit-hub{left:50%;top:50%;width:150px;z-index:2;animation:orbit-enter .6s ease both}.orbit-node{width:116px;z-index:1;animation:orbit-enter .55s ease both}@keyframes orbit-enter{0%{opacity:0;transform:translate(-50%,-50%) scale(.72)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.agent-orbit .bot-host{--glow: transparent}.agent-orbit .bot-host[data-status=idle]{--tone: rgba(148, 163, 184, .5);--fill: rgba(255, 255, 255, .045);--ink: rgba(203, 213, 225, .45)}.agent-orbit .bot-host[data-status=next]{--tone: #60a5fa;--fill: rgba(59, 130, 246, .2);--ink: #dbeafe;--glow: rgba(59, 130, 246, .5)}.agent-orbit .bot-host[data-status=running]{--tone: #93c5fd;--fill: linear-gradient(145deg, #3b82f6, #4f46e5);--ink: #ffffff;--glow: rgba(59, 130, 246, .85)}.agent-orbit .bot-host[data-status=done],.agent-orbit .bot-host[data-status=approved]{--tone: rgba(52, 211, 153, .75);--fill: rgba(16, 185, 129, .16);--ink: #6ee7b7;--glow: rgba(16, 185, 129, .28)}.agent-orbit .bot-host[data-status=failed],.agent-orbit .bot-host[data-status=rejected]{--tone: #fca5a5;--fill: linear-gradient(145deg, #ef4444, #b91c1c);--ink: #ffffff;--glow: rgba(239, 68, 68, .75)}.agent-orbit .bot-host[data-status=paused],.agent-orbit .bot-host[data-status=awaiting]{--tone: #fcd34d;--fill: linear-gradient(145deg, #f59e0b, #d97706);--ink: #ffffff;--glow: rgba(245, 158, 11, .75)}.agent-badge.bot{width:66px;height:66px;border-radius:21px;border-width:1.5px;background:var(--fill);box-shadow:0 10px 28px var(--glow)}.agent-badge.bot svg{width:46px;height:46px}.orbit-node.human .agent-badge.bot{border-radius:50%}.agent-badge.bot.hub{width:100px;height:100px;border-radius:32px;border-color:#93c5fd8c;background:linear-gradient(145deg,#3b82f6,#6366f1);color:#fff;box-shadow:0 0 0 1px #ffffff1f,0 18px 50px #3b82f699}.agent-badge.bot.hub svg{width:70px;height:70px}.agent-badge.bot.hub:before{content:"";position:absolute;top:-13px;right:-13px;bottom:-13px;left:-13px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg 190deg,rgba(147,197,253,.15) 250deg,rgba(191,219,254,.95) 350deg,transparent 360deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 3px));opacity:.55}.bot-host[data-awake=true] .agent-badge.bot.hub:before{opacity:1;animation:hub-spin 4.5s linear infinite}@keyframes hub-spin{to{transform:rotate(360deg)}}.bot-flag{position:absolute;top:-4px;right:-4px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--danger);color:#fff;font-size:11px;font-weight:800;line-height:17px;box-shadow:0 0 0 2px var(--surface)}.orbit-name{font-size:12.5px;font-weight:700;line-height:1.2;letter-spacing:.01em;color:#e8eefb}.orbit-detail{font-size:10.5px;line-height:1.2;color:#94a3b8e6}.orbit-status{font-size:9.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--tone)}.agent-orbit .bot-host[data-awake=false] .orbit-name{color:#e2e8f09e}.agent-orbit .bot-zzz{color:#cbd5e1cc}.agent-orbit .bot-flag{box-shadow:0 0 0 2px #0e2244}.agent-rail{border-top:1px solid var(--border);padding-top:10px}.agent-rail h3{margin:0;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}@media(prefers-reduced-motion:reduce){.agent-wire[data-live=true],.agent-badge:after,.bot-host[data-awake=false] .agent-badge,.bot-host[data-awake=true] .agent-badge,.bot-host[data-awake=true] .bot-antenna,.bot-host[data-awake=true] .bot-core,.bot-zzz,.orbit-hub,.orbit-node,.orbit-guide,.orbit-spark,.hub-wave,.orbit-glow[data-active=true],.orbit-wire[data-live=true],.bot-host[data-awake=true] .agent-badge.bot.hub:before{animation:none}.orbit-spark,.hub-wave{display:none}}
