.observer-roles,.observer-feed,.observer-index,#observer-status,#observer-form{font-family:StudioMono,"SFMono-Regular",Consolas,monospace}
.observer-roles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-block:1px solid #29434e;background:#0a1820}
.observer-role{display:flex;align-items:center;gap:9px;padding:12px 13px;min-width:0;border-right:1px solid #233b48}
.observer-role:last-child{border-right:0}.observer-role-icon{display:grid;place-items:center;flex:none;width:29px;height:29px;background:#153341;border:1px solid #3e6371;color:#b9e8f7;font-size:19px;line-height:1}
.observer-role-name{font-size:11px;font-weight:700;color:#d3eaf3}.observer-role-name small{display:block;font-size:6px;line-height:1.6;letter-spacing:.06em;color:#718f9f;margin-top:3px;white-space:nowrap}
.observer-role-state{font-size:6px;letter-spacing:.06em;color:#8cc6cd;margin-left:auto;display:flex;align-items:center;gap:5px}.observer-role-state:before{content:"";height:4px;width:4px;background:#9dcbd7;flex:none}.observer-role-state.stale{color:#c5a47a}.observer-role-state.stale:before{background:#c5a47a}.observer-role-state.waiting{color:#78929e}.observer-role-state.waiting:before{background:#607680}
.observer-feed{background:#09171f;max-height:675px;overflow:auto;scrollbar-width:thin;scrollbar-color:#375965 #0b1920;overscroll-behavior:contain}
.observer-post{display:flex;gap:11px;padding:17px 17px 15px;border-bottom:1px solid #243b47;background:linear-gradient(110deg,#10232c33,#09171f00);min-width:0}.observer-post:last-child{border-bottom:0}
.observer-avatar{display:grid;place-items:center;flex:none;width:32px;height:32px;background:#173846;border:1px solid #466774;color:#c5edfa;font-size:21px;line-height:1;box-shadow:inset 0 0 0 3px #0b202b}.observer-depth .observer-avatar{background:#172a39;border-color:#3d586b}.observer-scout .observer-avatar{background:#13332f;border-color:#3d655e}
.observer-post-content{min-width:0;flex:1}.observer-post-head{display:flex;align-items:center;gap:9px;min-height:15px;flex-wrap:wrap}.observer-post-head>strong{font-family:ClashDisplay,GeneralSans,sans-serif;font-size:15px;letter-spacing:-.2px;color:#d9edf6}.observer-handle{font-size:7px;color:#6b8fa0;letter-spacing:.04em}.observer-mode{color:#9bc8d8;border:1px solid #395865;background:#15334070;padding:2px 4px;font-size:5px;letter-spacing:.08em}.observer-time{font-size:7px;color:#6d8c9a;margin-left:auto;white-space:nowrap}
.observer-observation{font-size:10px;line-height:1.7;color:#bfd5df;margin:10px 0 9px;overflow-wrap:anywhere}.observer-chips{display:flex;gap:7px;flex-wrap:wrap}.observer-chip{display:flex;gap:9px;align-items:center;background:#112b36;border:1px solid #2c4a57;padding:6px 7px;line-height:1}.observer-chip small{font-size:6px;letter-spacing:.04em;color:#6e98aa}.observer-chip strong{font-size:8px;font-weight:500;color:#d0e6ee;overflow-wrap:anywhere;max-width:160px}.observer-question{font-size:8px;line-height:1.6;color:#6f96a7;margin:10px 0 9px}.observer-question:before{content:"? ";color:#b2d2e0}
.observer-post-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:6px;letter-spacing:.025em;color:#496f82}.observer-post-foot a{color:#729db1;text-decoration:none}.observer-post-foot a:hover{color:#c3ebfa}.observer-post-foot .observer-token-link{font-size:7px;color:#a7d5e5;margin-right:2px}.observer-command-label{border-left:1px solid #345565;padding-left:10px;color:#6d8f9f}
.observer-index{background:#0a1921}.observer-index-head,.observer-index-row{display:grid;grid-template-columns:minmax(0,1fr) 75px 56px;gap:8px;align-items:center;padding:12px 13px}.observer-index-head{font-size:6px;color:#63899c;letter-spacing:.05em;background:#102530;border-bottom:1px solid #304a57}.observer-index-head>span:not(:first-child),.observer-index-row>span:not(:first-child){text-align:right}.observer-index-row{font-size:9px;color:#a9c9d9;text-decoration:none;border-bottom:1px solid #1e3846;transition:background .15s}.observer-index-row:last-child{border-bottom:0}.observer-index-row:hover{background:#173442}.observer-index-symbol{display:flex;align-items:center;gap:10px;min-width:0}.observer-index-symbol small{font-size:7px;color:#4f798d}.observer-index-symbol strong{font-weight:500;font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.observer-index-row .positive{color:#a7d8cd}.observer-index-row .negative{color:#d99699}.observer-empty{font-size:10px;line-height:1.9;color:#6f93a4;padding:23px;margin:0}
#observer-status{font-size:6px;line-height:1.6;letter-spacing:.06em;color:#78a0b2}#observer-status[data-state=stale]{color:#b99d7a}
#observer-form{display:flex;gap:8px;align-items:center;border-top:1px solid #304d5d;background:#0d232f;padding:12px 14px}#observer-form:before{content:">";color:#b4e1f0;font-size:13px}#observer-form input,#observer-form textarea{font:9px/1.7 StudioMono,"SFMono-Regular",Consolas,monospace;background:transparent;border:0;outline:0;border-radius:0;color:#c8e5f2;width:100%;min-width:0;padding:5px}#observer-form input::placeholder,#observer-form textarea::placeholder{color:#658b9f}#observer-form input:focus-visible,#observer-form textarea:focus-visible{box-shadow:inset 0 -1px #8abccf}#observer-form button{flex:none;background:#b5dfef;color:#092130;border:1px solid #c8eafa;font:8px StudioMono,monospace;padding:8px 10px;cursor:pointer}#observer-form button:hover{background:#d0edf7}
@media(max-width:1050px){.observer-role{padding:10px 8px;gap:6px}.observer-role-state{font-size:5px}.observer-role-name small{font-size:5px}.observer-role-icon{width:24px;height:24px;font-size:16px}.observer-post{padding:14px 11px;gap:9px}}
@media(max-width:650px){.observer-role{flex-wrap:wrap}.observer-role-name{font-size:10px}.observer-role-state{margin-left:30px;margin-top:-2px;width:100%}.observer-role-name small{font-size:4.5px;letter-spacing:0}.observer-feed{max-height:600px}.observer-post-head{gap:6px}.observer-time{font-size:6px}.observer-observation{font-size:10px}.observer-question{font-size:8px}.observer-chip{padding:6px}.observer-chip small{font-size:6px}.observer-chip strong{font-size:8px}.observer-index-head,.observer-index-row{grid-template-columns:minmax(0,1fr) 75px 58px}}
@media(prefers-reduced-motion:reduce){.observer-index-row{transition:none}}
