@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--bg:#090d12;--panel:#10161d;--panel-2:#0c1218;--panel-3:#0b1016;--border:#1c2732;--text:#e6edf3;--muted:#8ca0b0;--accent:#62ddc3;--immune:#b37cff;--live:#32cc7a;--muted-bar:#475466;--danger:#f27884}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{color:var(--text);background:radial-gradient(circle at 0 0,#62ddc314,#0000 22%),linear-gradient(#0a1015 0%,#070b10 100%);font:13px/1.35 IBM Plex Sans,sans-serif}button,input,select{font:inherit}.app-shell{grid-template-rows:auto auto auto auto;gap:8px;min-height:100vh;padding:10px 12px;display:grid}.topbar,.stats-row,.filters-row,.panel{border:1px solid var(--border);background:#0c1218f0;border-radius:14px}.topbar{grid-template-columns:minmax(220px,1fr) minmax(560px,auto);align-items:center;gap:12px;padding:10px 12px;display:grid}.brand-block{gap:4px;display:grid}.brand-line{align-items:center;gap:10px;display:flex}.brand-title{letter-spacing:.03em;font-size:14px;font-weight:600}.brand-meta{color:var(--muted);flex-wrap:wrap;gap:14px;font-size:11px;display:flex}.sync-pill{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;background:#17202a;border-radius:999px;padding:4px 8px;font-size:11px}.sync-pill.syncing{color:var(--accent)}.toolbar-row,.filters-row{align-items:end;gap:8px;display:flex}.filters-row{flex-wrap:wrap;padding:8px 10px}.toolbar-field{gap:4px;display:grid}.toolbar-field span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:10px}.toolbar-field input,.toolbar-field select,.action-button,.secondary-button{border:1px solid var(--border);background:var(--panel-3);min-width:0;height:32px;color:var(--text);border-radius:9px;padding:0 10px}.subnet-field{width:270px}.query-field{width:240px}.wide-field{width:320px}.medium-field{width:170px}.small-field{width:150px}.tiny-field{width:96px}.action-button,.secondary-button{cursor:pointer;text-transform:lowercase;background:linear-gradient(#62ddc32e,#62ddc314)}.action-button:disabled{opacity:.7;cursor:progress}.secondary-button{background:#121922}.stats-row{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;padding:8px 10px;display:grid}.stat-chip{background:var(--panel-2);border:1px solid #16212c;border-radius:10px;min-width:0;padding:7px 9px}.stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:10px;display:block}.stat-chip strong{white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:14px;font-weight:600;display:block;overflow:hidden}.stat-chip em{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:11px;font-style:normal;display:block;overflow:hidden}.epoch-chip{background:linear-gradient(180deg, #32cc7a14, #0c1218f5), var(--panel-2)}.epoch-chip strong{text-overflow:clip;overflow:visible}.epoch-primary-row{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.epoch-countdown{color:#83f0af;letter-spacing:.04em;text-shadow:0 0 18px #32cc7a2e;font:600 18px/1 IBM Plex Mono,monospace}.epoch-countdown.idle{color:var(--muted);text-shadow:none}.epoch-slots{color:#83f0af;letter-spacing:.03em;text-shadow:0 0 16px #32cc7a24;flex:none;font:600 15px/1 IBM Plex Mono,monospace}.epoch-slots.idle{color:var(--muted);text-shadow:none}.epoch-meta-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.epoch-meta-row em{flex:auto;margin-top:3px}.sound-toggle{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;align-items:center;gap:5px;margin-top:3px;font-size:10px;display:inline-flex}.sound-toggle input{accent-color:var(--live);margin:0}.checkbox-pill{border:1px solid var(--border);background:var(--panel-3);height:32px;color:var(--muted);border-radius:9px;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.checkbox-pill input{accent-color:var(--accent)}.error-banner{color:#ffd9dd;background:#701c266b;border:1px solid #f278844d;border-radius:12px;padding:8px 10px}.viewport-grid{grid-template-rows:214px auto;gap:8px;display:grid}.panel{grid-template-rows:auto auto auto;gap:8px;padding:8px 10px;display:grid}.table-panel{grid-template-rows:auto auto}.panel-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.panel-header strong{font-size:13px;font-weight:600;display:block}.panel-header span{color:var(--muted);margin-top:2px;font-size:11px;display:block}.legend{color:var(--muted);flex-wrap:wrap;gap:12px;font-size:11px;display:flex}.legend-dot{border-radius:999px;width:8px;height:8px;margin-right:5px;display:inline-block}.legend-dot.immune{background:var(--immune)}.legend-dot.live{background:var(--live)}.legend-dot.muted{background:var(--muted-bar)}.chart-surface{background:linear-gradient(#ffffff06,#0000),#0a0f15;border-radius:10px;align-items:end;gap:1px;padding:8px 6px 4px;display:flex}.chart-bar{cursor:pointer;background:var(--muted-bar);border:0;border-radius:999px 999px 3px 3px;flex:1 1 0;min-width:1px;padding:0}.chart-bar.immune{background:linear-gradient(180deg, #caa0ff, var(--immune))}.chart-bar.live{background:linear-gradient(180deg, #8ef0bd, var(--live))}.chart-bar.muted{background:#47546694}.chart-bar.zero-bar{border-radius:2px}.chart-bar.zero-bar.immune{background:var(--immune)}.chart-bar.zero-bar.live{background:var(--live)}.chart-axis{color:var(--muted);justify-content:space-between;gap:10px;font:10px/1 IBM Plex Mono,monospace;display:flex}.table-wrap{background:#0a0f15;border:1px solid #16202a;border-radius:10px;overflow:visible}table{border-collapse:collapse;width:100%;font-size:11px}thead th{text-align:left;background:#0d141c}tfoot td{background:#0d141c;border-top:1px solid #223142;border-bottom:0;font-weight:600}th,td{white-space:nowrap;border-bottom:1px solid #151f2a;padding:7px 9px}tbody tr:hover{background:#62ddc30a}.mono{font-family:IBM Plex Mono,monospace}.num{text-align:right}.rank-col{width:42px;min-width:42px;color:var(--muted)}.sort-button{width:100%;color:inherit;font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0;display:block}.sort-button.num{text-align:right}.sort-button[data-active=true][data-direction=asc]:after{content:" ↑";color:var(--accent)}.sort-button[data-active=true][data-direction=desc]:after{content:" ↓";color:var(--accent)}.status-pill{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;justify-content:center;align-items:center;min-width:58px;padding:3px 8px;font-size:10px;display:inline-flex}.status-pill.immune{color:#ead8ff;background:#b37cff2e}.status-pill.live{color:#c9f7dd;background:#32cc7a24}.table-total-label,.table-total-spacer{color:var(--muted)}.modal-overlay{z-index:50;background:#05080cb8;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-panel{background:var(--panel);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:10px;width:min(720px,100%);max-height:80vh;padding:14px 16px;display:flex;box-shadow:0 24px 60px #00000073}.modal-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.modal-header strong{font-size:14px;font-weight:600}.modal-hint{color:var(--muted);margin:0;font-size:11px}.modal-textarea{resize:vertical;border:1px solid var(--border);min-height:280px;color:var(--text);background:#0a0f15;border-radius:10px;outline:none;flex:auto;padding:10px;font:12px/1.4 IBM Plex Mono,monospace}.modal-textarea:focus{border-color:var(--accent)}.modal-error{color:#ffd9dd;background:#701c2652;border:1px solid #f278844d;border-radius:10px;padding:8px 10px;font-size:11px}.modal-actions{justify-content:flex-end;gap:8px;display:flex}@media (width<=1280px){.topbar{grid-template-columns:1fr}.toolbar-row,.filters-row{flex-wrap:wrap}.stats-row{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=860px){.app-shell{min-height:100vh}.stats-row{grid-template-columns:repeat(2,minmax(0,1fr))}.viewport-grid{grid-template-rows:194px auto}}
