:root{color-scheme:dark;--bg:#0f172a;--panel:#111827;--panel-2:#1f2937;--line:#334155;--line-2:#1e293b;--text:#e5eefc;--muted:#94a3b8;--accent:#38bdf8;--good:#34d399;--warn:#f59e0b;--bad:#f87171}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif}body{min-height:100vh}a{color:inherit;text-decoration:none}code,pre{font-family:Consolas,SFMono-Regular,monospace}.page{padding:16px}.shell{max-width:1520px;margin:0 auto;display:grid;grid-gap:16px;gap:16px}.top-bar{justify-content:space-between;gap:16px;padding:14px 20px;border:1px solid var(--line);border-radius:16px;background:rgba(17,24,39,.92)}.top-bar,.top-bar-left{display:flex;align-items:center}.top-bar-left{gap:14px}.logo{font-size:1.6rem;color:var(--accent)}.top-bar h1{margin:0;font-size:1.15rem;letter-spacing:-.02em}.top-bar-subtitle{color:var(--muted);font-size:.82rem}.top-bar-stats{display:flex;align-items:center;gap:10px}.stat-chip{display:grid;grid-gap:2px;gap:2px;padding:6px 12px;border:1px solid var(--line);border-radius:10px;background:rgba(31,41,55,.78);text-align:center}.stat-chip-label{color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}.stat-chip-value{font-size:.92rem;font-weight:700}.layout-grid{grid-template-columns:minmax(0,1.6fr) minmax(320px,.65fr);align-items:flex-start}.column,.layout-grid{display:grid;grid-gap:16px;gap:16px}.sidebar{position:-webkit-sticky;position:sticky;top:16px}.map-shell{border:1px solid var(--line);border-radius:16px;background:rgba(17,24,39,.92);overflow:hidden}.map-shell-header{padding:12px 16px;display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid var(--line);background:rgba(15,23,42,.95)}.map-shell-title{display:grid;grid-gap:2px;gap:2px}.map-shell-title strong{font-size:.95rem}.map-shell-title span{color:var(--muted);font-size:.8rem}.map-frame{height:580px;background:#0f172a}.map-frame>div{width:100%;height:100%}.panel{padding:14px;border:1px solid var(--line);border-radius:16px;background:rgba(17,24,39,.92)}.panel h2,.panel h3{margin:0 0 10px;font-size:.95rem}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.panel-header h2{margin:0}.agent-list{display:grid;grid-gap:6px;gap:6px}.agent-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line-2);border-radius:10px;background:rgba(31,41,55,.5);cursor:pointer;transition:border-color .15s,background .15s}.agent-row:hover{border-color:var(--line);background:rgba(31,41,55,.78)}.agent-row.selected{border-color:var(--accent);background:rgba(56,189,248,.08)}.agent-row-left{display:flex;align-items:center;gap:10px}.agent-dot{width:10px;height:10px;border-radius:999px;flex-shrink:0}.agent-row-left strong{display:block;font-size:.88rem}.agent-row-left small{color:var(--muted);font-size:.78rem}.agent-row-right{display:flex;align-items:center;gap:8px;text-align:right}.agent-row-right small{color:var(--muted);font-size:.76rem;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.state-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;font-size:.76rem;font-weight:600;text-transform:capitalize;border:1px solid var(--line);background:rgba(31,41,55,.78)}.state-badge.sleeping{color:#c4b5fd;border-color:rgba(168,85,247,.4)}.state-badge.walking{color:#6ee7b7;border-color:rgba(34,197,94,.4)}.state-badge.idle{color:var(--muted)}.state-badge.small{padding:2px 6px;font-size:.68rem}.inspector-panel{padding:16px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,rgba(17,24,39,.96),rgba(30,41,59,.92));display:grid;grid-gap:14px;gap:14px}.inspector-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.inspector-name{display:block;font-size:1.1rem}.inspector-occupation{color:var(--muted);font-size:.84rem}.inspector-close{background:none;border:1px solid var(--line);border-radius:8px;color:var(--muted);padding:4px 10px;cursor:pointer;font-size:.9rem;transition:color .15s,border-color .15s}.inspector-close:hover{color:var(--text);border-color:var(--muted)}.inspector-state{display:flex;align-items:center;gap:10px}.inspector-activity{color:var(--muted);font-size:.84rem}.inspector-section{display:grid;grid-gap:8px;gap:8px}.inspector-section h4{margin:0;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.inspector-location{color:var(--accent);font-size:.88rem;font-family:Consolas,monospace}.inspector-empty{padding:24px;text-align:center}.vitals-row{display:grid;grid-template-columns:56px 1fr 32px;grid-gap:8px;gap:8px;align-items:center}.vitals-label{color:var(--muted);font-size:.78rem;text-transform:capitalize}.vitals-bar-track{height:8px;border-radius:999px;background:rgba(30,41,59,.9);overflow:hidden}.vitals-bar-fill{height:100%;border-radius:999px;transition:width .3s ease}.vitals-value{text-align:right;font-size:.78rem;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.inspector-finances{display:grid;grid-gap:6px;gap:6px}.finance-row{display:flex;justify-content:space-between;gap:8px;font-size:.84rem}.finance-row span{color:var(--muted)}.finance-row strong{color:var(--text)}.finance-row.income span:last-child{color:var(--good)}.finance-row.expense span:last-child{color:var(--bad)}.feed-list{max-height:480px;overflow:auto;padding-right:2px}.feed-card,.feed-list{display:grid;grid-gap:6px;gap:6px}.feed-card{padding:10px;border:1px solid var(--line-2);border-radius:10px;background:rgba(31,41,55,.5)}.feed-card-header{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.feed-card-header strong{font-size:.88rem}.feed-card-header span,.feed-meta{color:var(--muted);font-size:.78rem}.feed-payload{margin:0;padding:8px;border-radius:8px;background:rgba(15,23,42,.96);border:1px solid rgba(51,65,85,.6);color:#cbd5e1;font-size:.78rem;overflow:auto;overflow-wrap:anywhere;white-space:pre-wrap}.connection-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 10px;font-size:.78rem;border:1px solid var(--line);color:var(--text);background:rgba(31,41,55,.78)}.connection-pill:before{content:"";width:7px;height:7px;border-radius:999px;background:var(--muted)}.connection-pill.open:before{background:var(--good)}.connection-pill.error:before{background:var(--bad)}.connection-pill.closed:before{background:var(--warn)}.toggle-btn{background:none;border:1px solid var(--line);border-radius:8px;color:var(--muted);padding:4px 12px;cursor:pointer;font-size:.78rem;transition:color .15s,border-color .15s}.toggle-btn.active,.toggle-btn:hover{color:var(--accent);border-color:var(--accent)}.pulse-panel{border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,rgba(15,23,42,.96),rgba(30,41,59,.92));padding:16px;display:grid;grid-gap:14px;gap:14px}.pulse-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.eyebrow{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.08em}.eyebrow:before{content:"";width:7px;height:7px;border-radius:999px;background:var(--good)}.eyebrow.compact{margin-bottom:4px;font-size:.7rem}.pulse-header h2{margin:0;font-size:clamp(1.1rem,2.5vw,1.6rem)}.pulse-time{display:grid;grid-gap:2px;gap:2px;text-align:right;color:var(--muted);font-size:.82rem}.pulse-time strong{color:var(--text);text-transform:capitalize}.pulse-headline{margin:0;color:#dbeafe;font-size:.98rem;line-height:1.5}.pulse-grid{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(2,minmax(200px,.7fr));grid-gap:10px;gap:10px}.pulse-card{border:1px solid rgba(51,65,85,.7);border-radius:12px;background:rgba(15,23,42,.5);padding:12px;display:grid;grid-gap:8px;gap:8px}.pulse-card h3{margin:0;font-size:.82rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.pulse-list{display:grid;grid-gap:6px;gap:6px}.pulse-list.compact-list{gap:8px}.pulse-item{color:var(--text);font-size:.88rem;line-height:1.4}.pulse-agent,.pulse-place,.pulse-signal{display:grid;grid-gap:2px;gap:2px}.pulse-agent small,.pulse-agent span,.pulse-place span,.pulse-signal span{color:var(--muted);font-size:.82rem}.pulse-signal strong{color:#bfdbfe;font-size:.82rem}.pulse-agents{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:8px;gap:8px}.pulse-agent{border:1px solid rgba(51,65,85,.6);border-radius:10px;background:rgba(31,41,55,.4);padding:8px;min-width:0}.pulse-agent small,.pulse-agent span,.pulse-agent strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}.error-box,.loading{padding:14px;border-radius:12px;border:1px solid var(--line);background:rgba(31,41,55,.72);color:var(--muted)}.error-box{border-color:rgba(248,113,113,.45);color:#fecaca}@media (max-width:1100px){.layout-grid{grid-template-columns:1fr}.sidebar{position:static}.pulse-agents,.pulse-grid{grid-template-columns:1fr}.top-bar{flex-direction:column;align-items:flex-start}.top-bar-stats{flex-wrap:wrap}}@media (max-width:700px){.page{padding:10px}.map-frame{height:400px}.pulse-grid{grid-template-columns:1fr}.pulse-agents{grid-template-columns:repeat(2,minmax(0,1fr))}}