@font-face{font-family:"Press Start 2P";src:url(/assets/press-start-2p-_wFEWmAB.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--soil: #251a12;--bark: #3f2c1e;--parchment: #e7d7b6;--sunflower: #dda432;--leaf: #528f34;--berry: #b5443c;--panel-2: #4b3524;--bevel-light: #5b422c;--ink: #170f09;--muted: #ac9476;--up: #8fc859;--down: #e39a8d;--up-rgb: 82 143 52;--down-rgb: 181 68 60;--accent-rgb: 221 164 50;--text-rgb: 231 215 182;--accent-hover: #efb84a;--scrim: rgba(18, 11, 6, .74);--bg: var(--soil);--panel: var(--bark);--border: var(--ink);--text: var(--parchment);--accent: var(--sunflower);--font-pixel: "Press Start 2P", ui-monospace, monospace;--font-num: ui-monospace, "Cascadia Mono", Consolas, "Courier New", monospace}[data-theme=blue]{--soil: #111c29;--bark: #1d2f42;--parchment: #d9e6f3;--sunflower: #74b3e6;--leaf: #3f9c8a;--berry: #cf5b68;--panel-2: #24394e;--bevel-light: #2e4861;--ink: #070e16;--muted: #8fa7c0;--up: #74d3ab;--down: #f0a2aa;--up-rgb: 63 156 138;--down-rgb: 207 91 104;--accent-rgb: 116 179 230;--text-rgb: 217 230 243;--accent-hover: #96c8f0;--scrim: rgba(5, 11, 18, .78)}[data-theme=matrix]{--soil: #040806;--bark: #0b1511;--parchment: #bfffd8;--sunflower: #3dff88;--leaf: #22b862;--berry: #ff4d6a;--panel-2: #112019;--bevel-light: #17362a;--ink: #0c2419;--muted: #5f9d79;--up: #56ff96;--down: #ff7d90;--up-rgb: 34 184 98;--down-rgb: 255 77 106;--accent-rgb: 61 255 136;--text-rgb: 191 255 216;--accent-hover: #6bffa4;--scrim: rgba(0, 4, 2, .82)}[data-theme=matrix] .brand h1{text-shadow:2px 2px 0 var(--ink),0 0 12px rgb(var(--accent-rgb) / .55)}[data-theme=matrix] tbody tr.selected{box-shadow:inset 0 0 0 1px rgb(var(--accent-rgb) / .35)}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:14px/1.45 Segoe UI,system-ui,-apple-system,sans-serif}button,input{font:inherit;color:inherit}.app{display:flex;flex-direction:column;height:100%;min-height:0;padding:16px 20px;gap:16px}.header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:0 0 auto}.brand{display:flex;align-items:baseline;gap:14px}.brand h1{font-family:var(--font-pixel);font-size:13px;line-height:1.5;margin:0;color:var(--accent);text-shadow:2px 2px 0 var(--ink)}.status{color:var(--muted);font-size:12px}.status.busy{color:var(--accent)}.actions{display:flex;gap:10px}button{background:var(--panel-2);border:2px solid var(--ink);border-radius:0;padding:6px 12px;cursor:pointer;box-shadow:inset 2px 2px 0 0 var(--bevel-light),inset -2px -2px 0 0 var(--ink),3px 3px #0006}button:hover:not(:disabled){background:var(--bevel-light)}button:active:not(:disabled){transform:translate(2px,2px);box-shadow:inset 2px 2px 0 0 var(--bevel-light),inset -2px -2px 0 0 var(--ink)}button:disabled{opacity:.55;cursor:default}button.primary{background:var(--accent);color:var(--ink);font-weight:600}button.primary:hover:not(:disabled){background:var(--accent-hover)}button.ghost{background:transparent;border-color:transparent;box-shadow:none}button.ghost:hover:not(:disabled){background:rgb(var(--text-rgb) / .1)}button.small{padding:3px 8px;font-size:12px}.banner{display:flex;align-items:center;gap:12px;padding:8px 12px;border:2px solid var(--ink);background:var(--panel);flex:0 0 auto;box-shadow:inset 2px 2px 0 0 var(--bevel-light),inset -2px -2px 0 0 var(--ink)}.banner.error{border-color:var(--berry);background:rgb(var(--down-rgb) / .16)}.banner.info{border-color:var(--accent);background:rgb(var(--accent-rgb) / .12)}.banner span{flex:1 1 auto}.panes{flex:1 1 auto;min-height:0;display:grid;gap:18px}.layout-vertical .panes{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}.layout-horizontal .panes{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1.15fr) minmax(0,1fr)}.layout-horizontal .detail-pane{order:-1}.pane{background:var(--panel);border:3px solid var(--ink);min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;box-shadow:inset 2px 2px 0 0 var(--bevel-light),inset -2px -2px 0 0 var(--ink),6px 6px #00000059}.controls{display:flex;gap:10px;padding:10px;border-bottom:3px solid var(--ink)}.controls input[type=search]{flex:1 1 auto;background:var(--soil);border:2px solid var(--ink);border-radius:0;padding:6px 10px;box-shadow:inset 2px 2px #00000059}.controls input[type=search]:focus{outline:none;border-color:var(--accent)}.chips{display:flex;gap:6px;flex-wrap:wrap}.chips button{padding:5px 10px;font-size:12px;text-transform:capitalize;box-shadow:inset 2px 2px 0 0 var(--bevel-light),inset -2px -2px 0 0 var(--ink)}.chips button.active{background:var(--accent);color:var(--ink);font-weight:600}.table-wrap{overflow:auto;flex:1 1 auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:7px 10px;border-bottom:2px solid var(--bark);white-space:nowrap}th{position:sticky;top:0;z-index:1;background:var(--panel-2);color:var(--text);font-family:var(--font-pixel);font-size:9px;font-weight:400;letter-spacing:.4px;cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:3px solid var(--ink)}th.sorted.asc:after{content:" ▲"}th.sorted.desc:after{content:" ▼"}th .unit{opacity:.7}th.horizon-active{color:var(--accent);box-shadow:inset 0 -3px 0 0 var(--accent)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}td.num{font-family:var(--font-num)}tbody tr{cursor:pointer}tbody tr:hover{background:rgb(var(--text-rgb) / .06)}tbody tr.selected{background:rgb(var(--accent-rgb) / .1)}tbody tr.is-new td:first-child{box-shadow:inset 3px 0 0 var(--leaf)}tbody tr.is-stale td:first-child{box-shadow:inset 3px 0 0 var(--bark)}tbody tr.selected td:first-child{box-shadow:inset 4px 0 0 var(--accent)}tbody tr.selected td:last-child{box-shadow:inset -4px 0 0 var(--accent)}tbody tr.is-pinned td{border-bottom:3px solid rgb(var(--accent-rgb) / .6)}.up{color:var(--up)}.down{color:var(--down)}.flat{color:var(--muted)}.change-badge{display:inline-block;min-width:4.9em;padding:2px 8px;border-radius:999px;text-align:right;font-weight:calc(400 + var(--intensity, 0) * 200)}.up .change-badge{background:rgb(var(--up-rgb) / calc(var(--intensity, 0) * .28));box-shadow:inset 0 0 0 1px rgb(var(--up-rgb) / calc(.15 + var(--intensity, 0) * .7))}.down .change-badge{background:rgb(var(--down-rgb) / calc(var(--intensity, 0) * .28));box-shadow:inset 0 0 0 1px rgb(var(--down-rgb) / calc(.15 + var(--intensity, 0) * .7))}.flat .change-badge{background:none;box-shadow:none}.tag{font-family:var(--font-pixel);font-size:8px;text-transform:uppercase;background:var(--accent);color:var(--ink);padding:2px 5px;margin-left:6px}td.empty{color:var(--muted);text-align:center;padding:22px}th.alert-col,td.alert-cell{text-align:center;width:46px}td.alert-cell{padding:4px 6px}.bell{position:relative;background:transparent;border:2px solid transparent;border-radius:0;padding:3px;line-height:0;box-shadow:none;color:var(--muted);transition:color .12s ease,background .12s ease}.bell:hover:not(:disabled){color:var(--text);background:var(--panel-2);border-color:var(--ink);box-shadow:none;transform:none}.bell.set{color:var(--accent)}.bell.set:hover:not(:disabled){color:var(--text)}.bell.triggered{color:var(--up)}.bell.triggered:hover:not(:disabled){color:var(--text)}.bell-count{position:absolute;top:-3px;right:-4px;font-family:var(--font-num);font-size:9px;line-height:1;padding:1px 3px;background:var(--panel);border:1px solid var(--ink);color:inherit}.menu-wrap{position:relative;display:flex;align-items:center}.menu-backdrop{position:fixed;inset:0;z-index:40}.menu{position:absolute;top:calc(100% + 8px);right:0;z-index:41;min-width:260px;display:flex;flex-direction:column;gap:4px;padding:8px;background:var(--panel);border:3px solid var(--ink);box-shadow:inset 2px 2px 0 0 var(--bevel-light),6px 6px #0006}.menu button{text-align:left}.menu-note{margin:0 0 4px;color:var(--muted);font-size:11px}.menu-sep{height:2px;margin:4px 0;background:var(--bark)}.themes{display:flex;gap:6px}.themes button{flex:1 1 0;padding:5px 6px;text-align:center;font-size:11px}.themes button.active{background:var(--accent);color:var(--ink);font-weight:600}tbody tr.is-stale td{color:var(--muted)}.tag.muted{background:var(--panel-2);border:1px solid var(--ink);color:var(--muted);font-family:inherit;font-size:10px;text-transform:none;letter-spacing:0}.detail-note{margin:4px 0 0;color:var(--muted);font-size:12px}.modal-backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:var(--scrim)}.modal{width:320px;max-width:calc(100vw - 32px);background:var(--panel);border:3px solid var(--ink);padding:16px;box-shadow:inset 2px 2px 0 0 var(--bevel-light),inset -2px -2px 0 0 var(--ink),8px 8px #00000073}.modal h3{margin:0 0 10px;font-family:var(--font-pixel);font-size:11px;line-height:1.5;color:var(--accent)}.modal-subject{margin:0 0 12px;color:var(--text);display:flex;gap:8px;align-items:baseline;justify-content:space-between}.modal-meta{display:flex;gap:6px;align-items:baseline;white-space:nowrap}.modal-current,.modal-distance{color:var(--muted);font-size:12px;font-family:var(--font-num)}.modal-field{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.modal-field span{font-size:12px;color:var(--muted)}.modal-field input{background:var(--soil);border:2px solid var(--ink);padding:6px 10px;font-variant-numeric:tabular-nums;box-shadow:inset 2px 2px #00000059}.modal-field input:focus{outline:none;border-color:var(--accent)}.modal-hint{margin:0 0 14px;font-size:12px;color:var(--muted)}.modal-actions{display:flex;align-items:center;gap:8px}.modal-actions .spacer{flex:1 1 auto}.modal-actions.wrap{flex-wrap:wrap}.alert-rows{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:6px}.alert-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:8px}.alert-row input{width:100%;background:var(--soil);border:2px solid var(--ink);padding:6px 10px;font-variant-numeric:tabular-nums;box-shadow:inset 2px 2px #00000059}.alert-row input:focus{outline:none;border-color:var(--accent)}.alert-dir{font-size:11px;white-space:nowrap}.alert-meta{color:var(--muted);font-size:11px;font-family:var(--font-num);white-space:nowrap}button.tiny{padding:2px 6px;font-size:11px;line-height:1.2;border-width:1px;box-shadow:none}.modal.wide{width:430px}.key-display{margin:0 0 14px;padding:8px 10px;background:var(--soil);border:2px solid var(--ink);font-family:var(--font-num);font-size:12px;overflow-wrap:anywhere}.modal-list{margin:0 0 14px;padding-left:18px;color:var(--muted);font-size:12px}.modal-list code{font-family:var(--font-num);color:var(--text)}.modal-error{margin:0 0 12px;color:var(--down);font-size:12px}.modal-field textarea{background:var(--soil);border:2px solid var(--ink);padding:6px 10px;resize:vertical;font-family:var(--font-num);font-size:12px;box-shadow:inset 2px 2px #00000059}.modal-field textarea:focus{outline:none;border-color:var(--accent)}.modal-field input[type=file]{background:none;border:none;box-shadow:none;padding:2px 0;font-size:12px}.muted{color:var(--muted)}.modal-hint .muted{display:block}.detail-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-bottom:3px solid var(--ink)}.detail-head h2{margin:0 0 6px;font-family:var(--font-pixel);font-size:11px;line-height:1.5;color:var(--accent)}.detail-value{margin:0;font-family:var(--font-num);font-size:20px;font-variant-numeric:tabular-nums}.horizons{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-end;gap:6px;align-items:center}.horizons .chip{font-size:12px;padding:4px 9px;box-shadow:inset 2px 2px 0 0 var(--bevel-light),inset -2px -2px 0 0 var(--ink)}.horizons .chip.active{background:var(--accent);color:var(--ink);font-weight:600}.chart-controls{display:flex;justify-content:space-between;gap:10px;padding:10px 12px}.chart-body{position:relative;flex:1 1 auto;min-height:0;padding:0 6px 8px}.chart-host{position:relative;height:100%;min-height:220px}.chart-canvas{height:100%;width:100%}.chart-note{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0;color:var(--muted);pointer-events:none}.chart-note.loading{align-items:flex-start;padding-top:12px}.footer{flex:0 0 auto;display:flex;flex-wrap:wrap;gap:6px 18px;color:var(--muted);font-size:12px;border-top:2px solid var(--bark);padding-top:8px}.footer span{white-space:nowrap}
