:root{--bg: #08080c;--bg2: #170a2c;--panel: rgba(255, 255, 255, .055);--panel-border: rgba(255, 255, 255, .14);--ink: #ffffff;--muted: rgba(255, 255, 255, .62);--accent: #a855f7;--accent2: #54fa77;--warn: #ffc300;--danger: #ff6452;--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;background:radial-gradient(120% 120% at 15% 0%,var(--bg2) 0%,var(--bg) 55%);color:var(--ink);font-family:Figtree,system-ui,-apple-system,sans-serif;font-size:15px}button{font:inherit;color:inherit;cursor:pointer}input{font:inherit}.shell{display:flex;flex-direction:column;height:100vh}.topbar{display:flex;align-items:center;gap:14px;padding:14px 22px;border-bottom:1px solid var(--panel-border);background:#0000002e}.topbar .brand{font-weight:800;font-size:17px;letter-spacing:-.01em}.topbar .brand em{color:var(--accent);font-style:normal}.topbar .spacer{flex:1}.authchip{font-family:var(--mono);font-size:12px;padding:6px 12px;border-radius:999px;border:1px solid var(--panel-border);color:var(--muted)}.authchip.dev{border-color:var(--warn);color:var(--warn)}.linkbtn{background:none;border:none;color:var(--muted);text-decoration:underline;font-size:13px}.main{flex:1;display:grid;grid-template-columns:320px 1fr 400px;min-height:0}.col{min-height:0;overflow-y:auto;padding:18px}.col+.col{border-left:1px solid var(--panel-border)}h2{font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:12px}.search{width:100%;padding:11px 14px;border-radius:10px;border:1px solid var(--panel-border);background:var(--panel);color:var(--ink);outline:none;margin-bottom:12px;font-family:var(--mono);font-size:13px}.search:focus{border-color:var(--accent)}.acct-row{width:100%;text-align:left;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;border:1px solid transparent;background:none;margin-bottom:4px}.acct-row:hover{background:var(--panel)}.acct-row.sel{background:var(--panel);border-color:var(--accent)}.acct-row .id{font-family:var(--mono);font-size:12px;overflow:hidden;text-overflow:ellipsis}.acct-row .sub{font-size:11px;color:var(--muted)}.dot{width:8px;height:8px;border-radius:50%;flex:none}.dot.Healthy{background:var(--accent2)}.dot.Moderate{background:var(--warn)}.dot.Unhealthy{background:var(--danger)}.dot.unknown{background:var(--muted)}.count-note{font-size:12px;color:var(--muted);margin:8px 2px}.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:14px;padding:16px;margin-bottom:16px}.field-label{display:block;font-size:12px;color:var(--muted);margin:0 0 6px 2px}.textinput{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--panel-border);background:#00000040;color:var(--ink);outline:none}.textinput:focus{border-color:var(--accent)}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.metric{padding:10px;border-radius:10px;background:#00000038}.metric .v{font-weight:800;font-size:17px}.metric .k{font-size:10.5px;color:var(--muted);margin-top:3px;letter-spacing:.04em}.scene-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.scene{display:flex;align-items:flex-start;gap:9px;padding:10px;border-radius:10px;border:1px solid var(--panel-border);background:#0000002e;text-align:left}.scene.off{opacity:.45;border-style:dashed}.scene .name{font-weight:600;font-size:13px}.scene .desc{font-size:11px;color:var(--muted);margin-top:2px}.scene .flag{font-size:10px;color:var(--warn);margin-top:3px}.scene input{margin-top:2px;accent-color:var(--accent)}.genbtn{width:100%;padding:14px;border-radius:12px;border:none;background:var(--accent);color:#14081f;font-weight:800;font-size:15px}.genbtn:disabled{opacity:.5;cursor:default}.genbtn.busy{animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{opacity:.65}}.result{margin-top:12px;padding:12px;border-radius:10px;border:1px solid var(--accent2);background:#54fa7714;font-family:var(--mono);font-size:12.5px;word-break:break-all}.result a{color:var(--accent2)}.error-box{margin-top:12px;padding:12px;border-radius:10px;border:1px solid var(--danger);background:#ff64521a;color:#ffb3a8;font-size:13px;word-break:break-word}.copybtn{margin-top:8px;padding:7px 14px;border-radius:8px;border:1px solid var(--accent2);background:none;color:var(--accent2);font-family:var(--mono);font-size:12px}.site-row{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;font-size:12.5px}.site-row:nth-child(odd){background:#00000029}.site-row .who{flex:1;min-width:0}.site-row .who .nm{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-row .who .aid{font-family:var(--mono);font-size:10.5px;color:var(--muted)}.site-row .who .aid .expired{color:var(--danger)}.site-row .when{font-size:11px;color:var(--muted);flex:none}.minibtn{padding:5px 10px;border-radius:7px;border:1px solid var(--panel-border);background:none;color:var(--ink);font-size:11.5px;flex:none}.minibtn:hover{border-color:var(--accent)}.minibtn.danger{border-color:var(--danger);color:var(--danger)}.statuspill{font-family:var(--mono);font-size:10px;padding:2px 7px;border-radius:999px;border:1px solid var(--panel-border);flex:none;text-transform:uppercase;letter-spacing:.04em}.statuspill.active{border-color:var(--accent2);color:var(--accent2)}.statuspill.revoked{border-color:var(--muted);color:var(--muted)}.preview-col{display:flex;flex-direction:column;align-items:center}.phone{width:340px;height:660px;border-radius:34px;overflow:hidden;border:6px solid rgba(255,255,255,.18);box-shadow:0 24px 60px #00000080;background:#0a0a12;flex:none}.phone iframe{width:100%;height:100%;border:none}.preview-note{font-size:12px;color:var(--muted);margin-top:12px;text-align:center;max-width:300px}.gate{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;padding:24px}.gate h1{font-size:26px}.gate h1 em{color:var(--accent);font-style:normal}.gate p{color:var(--muted);max-width:46ch;line-height:1.55}.gate .keyform{display:flex;flex-direction:column;gap:8px}.gate .keyform input{width:280px}.primary{padding:12px 26px;border-radius:12px;border:none;background:var(--accent);color:#14081f;font-weight:800}.devnote{font-family:var(--mono);font-size:11px;color:var(--warn)}.empty{color:var(--muted);font-size:13px;padding:20px 4px}
