:root{--ground:#000;--surface:#0a0a0a;--rule:#1f1f1f;--ink:#f5f5f5;--ink-dim:#737373;--signal:#a8c9ff;--signal-hot:#f79256;--map-empty:#212836;--map-1:#2a364f;--map-2:#455c8a;--map-3:#68c;--map-4:#89acf5;--map-5:#a8c9ff;--font-data:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--font-ui:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--radius:8px;--content-max:1600px;--gutter:24px}@media (width<=720px){:root{--gutter:16px;--radius:12px}}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--ground);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;font-size:.875rem;line-height:1.5;overflow-x:hidden}h1,h2,p{margin:0}button{color:inherit;cursor:pointer;background:0 0;border:none;font-family:inherit}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.wordmark{color:var(--ink);letter-spacing:-.02em;align-items:center;gap:4px;font-family:system-ui,-apple-system,sans-serif;font-size:1.125rem;font-weight:700;display:flex}.logo-icon{width:20px;height:20px;margin-top:2px}.wordmark .slash{color:var(--ink-dim);font-weight:400}.wordmark .highlight{color:var(--signal)}.app-switcher{cursor:pointer;align-items:center;padding:4px 0;display:inline-flex;position:relative}.app-switcher:hover span svg{transform:rotate(180deg)}.app-switcher-menu{background:var(--surface);border:1px solid var(--rule);opacity:0;visibility:hidden;z-index:50;border-radius:6px;flex-direction:column;gap:2px;min-width:90px;padding:4px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;top:100%;left:-8px;transform:translateY(-8px);box-shadow:0 10px 25px -5px #00000080,0 8px 10px -6px #0000001a}.app-switcher:hover .app-switcher-menu{opacity:1;visibility:visible;transform:translateY(0)}.app-switcher-menu a{color:var(--ink-dim);border-radius:4px;padding:6px 10px;font-family:system-ui,-apple-system,sans-serif;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .15s}.app-switcher-menu a:hover{background:var(--rule);color:var(--ink)}.app-switcher-menu a.active{color:var(--signal);background:var(--signal-dim)}#signin:not([hidden]){min-height:100vh;padding:var(--gutter);background:var(--ground);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}#signin:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle,#a8c9ff14 0%,#0000 60%);width:100vw;height:100vw;position:absolute;top:50%;left:30%;transform:translate(-50%,-50%)}#signin:after{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle,#f792560d 0%,#0000 50%);width:80vw;height:80vw;position:absolute;top:20%;right:10%;transform:translate(50%,-50%)}.signin-split{z-index:1;grid-template-columns:1fr 1fr;align-items:center;gap:64px;width:100%;max-width:1200px;display:grid;position:relative}@media (width<=900px){.signin-split{text-align:center;grid-template-columns:1fr;gap:40px}}.signin-hero{flex-direction:column;gap:24px;display:flex}@media (width<=900px){.signin-hero{align-items:center}}.hero-wordmark{margin-bottom:8px;font-size:2.5rem}.hero-icon{width:32px;height:32px}.hero-headline{letter-spacing:-.03em;color:var(--ink);font-size:3rem;font-weight:700;line-height:1.1}@media (width<=900px){.hero-headline{font-size:2.25rem}}.hero-subheadline{color:var(--ink-dim);max-width:480px;font-size:1.125rem;line-height:1.6}.signin-card-container{justify-content:flex-end;display:flex}@media (width<=900px){.signin-card-container{justify-content:center}}.signin-card{-webkit-backdrop-filter:blur(32px);text-align:center;background:#0a0a0aa6;border:1px solid #ffffff14;border-radius:16px;width:100%;max-width:440px;padding:48px 40px;box-shadow:0 30px 60px -12px #00000080,inset 0 1px #ffffff1a}.password-input-wrapper{align-items:stretch;gap:8px;margin-top:24px;display:flex}.password-input-wrapper input{color:var(--ink);font-family:var(--font-ui);background:#0006;border:1px solid #ffffff1a;border-radius:8px;outline:none;flex:1;padding:12px 16px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.password-input-wrapper input:focus{border-color:var(--signal);box-shadow:0 0 0 2px #a8c9ff33}.password-input-wrapper button{background:var(--signal);color:var(--ground);border-radius:8px;padding:12px 20px;font-size:.9375rem;font-weight:700;transition:transform .2s,opacity .2s}.password-input-wrapper button:hover{opacity:.9;transform:scale(1.02)}.tooltip{z-index:1000;pointer-events:none;background:var(--ground);color:var(--ink);border-radius:var(--radius);border:1px solid var(--rule);font-size:.875rem;font-family:var(--font-ui);white-space:pre-wrap;padding:8px 12px;line-height:1.4;position:absolute;box-shadow:0 4px 6px -1px #0003}.cursor-line{stroke:var(--ink-dim);stroke-width:2px;stroke-dasharray:4}.signin-copy{color:var(--ink-dim);margin-bottom:32px;font-size:.9375rem}.signin-button{background:var(--signal);width:100%;color:var(--ground);font-family:var(--font-ui);border-radius:8px;padding:14px 24px;font-size:.9375rem;font-weight:700;text-decoration:none;transition:transform .2s,opacity .2s;display:inline-block}.signin-button:hover{opacity:.9;transform:scale(1.02)}.signin-error{color:var(--signal-hot);margin-top:16px;font-size:.8125rem}#app:not([hidden]){flex-direction:column;min-height:100vh;display:flex}.topbar{background:var(--ground);border-bottom:1px solid var(--rule);z-index:10;flex-wrap:wrap;align-items:center;gap:16px;padding:16px 24px;display:flex;position:sticky;top:0}@media (width<=720px){.topbar{gap:12px;padding:12px 16px}}.content{max-width:var(--content-max);width:100%;padding:16px var(--gutter) 64px var(--gutter);flex:1;margin:0 auto}.topbar .wordmark{margin-right:auto}@media (width<=500px){.topbar .wordmark{flex:100%;margin-bottom:4px;margin-right:0}.env-toggle{margin-right:auto}}.env-toggle{background:var(--ground);border:1px solid var(--rule);border-radius:9999px;gap:4px;margin-right:16px;padding:4px;display:flex}.env-btn{font-family:var(--font-ui);color:var(--ink-dim);border-radius:9999px;padding:6px 16px;font-size:.75rem;font-weight:600;transition:all .2s}.env-btn:hover{color:var(--ink)}.env-btn[aria-pressed=true]{background:var(--surface);color:var(--signal);box-shadow:0 0 12px #a8c9ff1a}.live{align-items:center;gap:8px;display:flex}.live-dot{background:var(--ink-dim);border-radius:50%;flex-shrink:0;width:8px;height:8px}.live[data-state=open] .live-dot{background:var(--signal)}.live[data-state=closed] .live-dot{background:var(--ink-dim)}.live[data-state=error] .live-dot{background:var(--signal-hot)}@media (prefers-reduced-motion:no-preference){.live[data-state=connecting] .live-dot,.live[data-state=open] .live-dot{animation:2s ease-in-out infinite livepulse}}@keyframes livepulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.1)}}.live-count{font-family:var(--font-data);font-variant-numeric:tabular-nums;color:var(--ink);font-size:.8125rem;font-weight:600}.live-label{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-dim);font-size:.6875rem;font-weight:600}.signout-button{font-family:var(--font-ui);color:var(--ink-dim);border-radius:6px;padding:6px 12px;font-size:.75rem;font-weight:500;transition:background .2s}.signout-button:hover{background:var(--surface);color:var(--ink)}.ranges{flex-wrap:wrap;gap:8px;padding:0 0 24px;display:flex}.range{font-family:var(--font-ui);color:var(--ink-dim);background:var(--surface);border:1px solid var(--rule);border-radius:8px;padding:6px 12px;font-size:.8125rem;font-weight:500;transition:all .2s}.range:hover{color:var(--ink);border-color:var(--ink-dim)}.range[aria-pressed=true]{background:var(--signal);color:var(--ground);border-color:var(--signal);font-weight:600;box-shadow:0 0 12px #a8c9ff4d}.notice{color:var(--signal-hot);background:#f792561a;border-radius:8px;margin-bottom:24px;padding:12px 16px;font-size:.8125rem}.tiles{flex-wrap:wrap;gap:24px;margin-bottom:24px;display:flex}@media (width<=500px){.tiles{flex-direction:column}}.tile{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);cursor:pointer;text-align:left;flex-direction:column;flex:140px;gap:8px;padding:20px 24px;transition:all .2s;display:flex;box-shadow:0 4px 6px -1px #0000001a}.tile:hover{border-color:var(--ink-dim)}.tile.active{border-color:var(--signal);background:#a8c9ff0d;box-shadow:0 0 16px #a8c9ff1a}.tile-label{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-dim);font-size:.75rem;font-weight:600}.tile-value{font-family:var(--font-ui);font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--ink);font-size:2.5rem;font-weight:600;line-height:1.1}.panel{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);margin-bottom:24px;padding:24px;box-shadow:0 4px 6px -1px #0000001a}.panel h2{font-family:var(--font-ui);color:var(--ink);margin-bottom:24px;font-size:1rem;font-weight:600}.chart,.map{min-height:180px}.map svg{width:100%;height:auto;display:block}.country{stroke:var(--rule);stroke-width:.8px}.country:hover,.country.hover{stroke:var(--ink);stroke-width:1.2px}.bars{min-height:120px}.empty{color:var(--ink-dim);text-align:center;padding:40px 0;font-size:.875rem}.split{grid-template-columns:1fr 1fr;align-items:start;gap:24px;display:grid}@media (width<=720px){.split{grid-template-columns:1fr}}.now-edge{stroke:var(--signal);stroke-width:2px;stroke-dasharray:4 4;opacity:.7}@media (prefers-reduced-motion:no-preference){.now-edge.pulse{animation:.6s ease-out nowflash}}@keyframes nowflash{0%{stroke:var(--ink);opacity:1}to{stroke:var(--signal);opacity:.7}}.now-label{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.08em;fill:var(--signal);text-anchor:end;font-size:.6875rem;font-weight:600}.chart svg{width:100%;height:auto;display:block;overflow:visible}.grid{stroke:var(--rule);stroke-width:1px}.axis{font-family:var(--font-data);fill:var(--ink-dim);font-size:.6875rem}.area{fill:url(#area-gradient);stroke:none}.line{fill:none;stroke:var(--signal);stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round}.hit{fill:#0000}.bars{flex-direction:column;gap:12px;display:flex}.bar-row{font-family:var(--font-ui);color:var(--ink);grid-template-columns:minmax(4em,max-content) 1fr 4em;align-items:center;gap:12px;font-size:.8125rem;display:grid}@media (width<=500px){.bar-row{grid-template-columns:minmax(3em,max-content) 1fr 3em;gap:8px}}.bar-label{color:var(--ink-dim);text-transform:uppercase;align-items:center;gap:8px;font-weight:500;display:flex}.platform-row{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;margin:-4px;padding:4px;transition:all .2s}.platform-row:hover{background:var(--surface);border-color:var(--ink-dim)}.public-mode .platform-row{cursor:default;pointer-events:none}.platform-row.active{border-color:var(--signal);background:#a8c9ff0d}.platform-label{text-transform:none}.bar-track{background:var(--rule);border-radius:9999px;height:6px;display:block;overflow:hidden}.bar-fill{background:var(--signal);border-radius:9999px;height:100%;display:block}.bar-value{font-family:var(--font-data);text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
