:root{color-scheme:dark;--bg: #0b0f14;--panel: #151b23;--text: #e8edf2;--muted: #8a97a6;--line: #263140;--go: #2ecc71;--nogo: #e74c3c;--amber: #f5a623;--unknown: #6c7a89}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:17px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-text-size-adjust:100%}.app{display:flex;flex-direction:column;height:100%}.statusbar{padding:calc(env(safe-area-inset-top,0px) + 8px) 16px 8px;font-weight:700;letter-spacing:.04em;text-align:center}.statusbar.live{background:#113d24;color:var(--go)}.statusbar.reconnecting{background:#3d2e0f;color:var(--amber)}.statusbar.offline,.statusbar.never{background:#4a1414;color:#ff8a80}.content{flex:1;overflow-y:auto;padding:8px 16px}.tabs{display:flex;border-top:1px solid var(--line);background:var(--panel);padding-bottom:env(safe-area-inset-bottom,0px)}.tabs button{flex:1;padding:14px 0;background:none;border:0;color:var(--muted);font-size:16px;font-weight:600}.tabs button.active{color:var(--text);border-top:3px solid var(--amber)}.msg{padding:8px 0;border-bottom:1px solid var(--line)}.msg .meta{color:var(--muted);font-size:14px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.station{font-weight:800;padding:1px 6px;border-radius:4px;color:#000}.badge{font-weight:800;padding:1px 8px;border-radius:4px;color:#fff}.badge.go{background:var(--go)}.badge.no_go{background:var(--nogo)}.chip{display:inline-block;margin:4px 6px 0 0;padding:2px 8px;border-radius:12px;background:#1f2a38;color:#9ecbff;font-size:14px}.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px;margin:10px 0}.card .dms{font:700 24px/1.3 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.02em;white-space:pre}.card .dec{color:var(--muted);font-family:ui-monospace,Menlo,Consolas,monospace}.card .conf{font-size:13px;font-weight:700;text-transform:uppercase}.conf.verified{color:var(--go)}.conf.approximate{color:var(--amber)}.conf.unresolved{color:var(--nogo)}.conf.resolving{color:var(--muted)}.card .quote{color:var(--muted);font-style:italic}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}button.primary{background:var(--amber);color:#000;border:0;border-radius:8px;padding:12px 18px;font-size:17px;font-weight:700}input,select{font-size:17px;padding:10px;border-radius:8px;border:1px solid var(--line);background:#0f151c;color:var(--text)}.login{display:flex;flex-direction:column;gap:16px;padding:48px 24px;max-width:360px;margin:0 auto}
