*{box-sizing:border-box}body{color:#e8e6e3;background:#14131a;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.app{flex-direction:column;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.site-title{letter-spacing:.02em;margin:0 0 .5rem;font-size:1.4rem;font-weight:600}.load-error{color:#e07a7a}.refresh-button{z-index:5;color:#e8e6e3;letter-spacing:.02em;cursor:pointer;background:#26242e;border:1px solid #4a4757;border-radius:6px;padding:.5rem .9rem;font-size:.85rem;font-weight:600;transition:opacity .15s;position:fixed;top:1.25rem;left:1.25rem}.refresh-button:hover:not(:disabled){background:#322f3d}.refresh-button:disabled{opacity:.45;cursor:default}.borough-map{flex:1;width:min(90vw,82vh,720px)}.borough{cursor:pointer}.borough-shape{opacity:.72;stroke:#14131a;stroke-width:.4px;transition:opacity .15s}.borough:hover .borough-shape,.borough.selected .borough-shape{opacity:1}.borough.selected .borough-shape{stroke:#e8e6e3;stroke-width:.6px}.borough-label{fill:#e8e6e3;text-anchor:middle;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:3px;font-weight:600}.borough-badge circle{fill:#26242e;stroke:#4a4757;stroke-width:.3px}.borough-badge text{fill:#e8e6e3;text-anchor:middle;dominant-baseline:central;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:3px}.drawer-backdrop{opacity:0;pointer-events:none;z-index:10;background:#0000008c;transition:opacity .28s;position:fixed;inset:0}.drawer-backdrop.open{opacity:1;pointer-events:auto}.drawer{z-index:20;background:#1d1c24;border-left:1px solid #322f3d;width:min(380px,92vw);height:100%;padding:1.25rem;transition:transform .28s;position:fixed;top:0;right:0;overflow-y:auto;transform:translate(105%)}.drawer.open{transform:translate(0)}.drawer-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.drawer-header h2{margin:0;font-size:1.2rem}.drawer-close{color:#e8e6e3;cursor:pointer;background:0 0;border:none;padding:.25rem .5rem;font-size:1.5rem;line-height:1}.drawer-empty{color:#8d8a99}.event-list{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.event{background:#26242e;border-radius:8px;padding:.9rem}.event-image{border-radius:6px;max-width:100%;margin-bottom:.5rem;display:block}.event-title{margin:0 0 .25rem;font-size:1rem}.event-when,.event-venue{color:#c9c5d4;margin:0 0 .15rem;font-size:.85rem}.event-source{color:#8d8a99;margin:.35rem 0 0;font-size:.8rem}.event-source a{color:#9db4e0}.left-drawer{border-left:none;border-right:1px solid #322f3d;flex-direction:column;width:min(440px,92vw);display:flex;left:0;right:auto;overflow-y:hidden;transform:translate(-105%)}.left-drawer.open{transform:translate(0)}.left-drawer .drawer-header{flex:none;gap:.6rem}.run-status{white-space:nowrap;margin-left:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem}.run-status.connecting{color:#8d8a99}.run-status.running{color:#e0b05c}.run-status.done{color:#7fd68a}.run-status.failed{color:#e07a7a}.feed-note{color:#e0b05c;flex:none;margin:-.5rem 0 .6rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem}.feed-body{background:#17161d;border:1px solid #322f3d;border-radius:6px;flex:1;padding:.6rem .7rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;line-height:1.45;overflow-y:auto}.feed{margin:0;padding:0;list-style:none}.feed-line{color:#c9c5d4;overflow-wrap:anywhere;align-items:baseline;gap:.5rem;padding:.1rem 0;display:flex}.feed-ts{color:#5f5b6d;white-space:nowrap;flex:none;font-size:.9em}.feed-glyph{text-align:center;flex:none;width:1.1em}.feed-msg{min-width:0}.kind-info .feed-glyph{color:#8d8a99}.kind-info .feed-msg{color:#a5a1b2}.kind-skip .feed-glyph{color:#5f5b6d}.kind-skip .feed-msg{color:#6c6878}.kind-classify .feed-glyph{color:#b18ae0}.kind-classify .feed-msg{color:#cdb4ec}.kind-place .feed-glyph{color:#6ac8c0}.kind-place .feed-msg{color:#9ad8d2}.kind-agent_tool .feed-glyph{color:#e0b05c}.kind-agent_tool .feed-msg{color:#e3c48d;font-style:italic}.kind-insert .feed-glyph{color:#7fd68a}.kind-insert .feed-msg{color:#b1e4b7}.kind-merge .feed-glyph{color:#9db4e0}.kind-merge .feed-msg{color:#bccbe9}.kind-error{background:#e07a7a17;border-radius:4px}.kind-error .feed-glyph,.kind-error .feed-msg{color:#e07a7a}.kind-done{border-top:1px solid #4a4757;margin-top:.35rem;padding-top:.45rem;font-weight:700}.kind-done .feed-glyph{color:#7fd68a}.kind-done .feed-msg{color:#e8e6e3}
