:root{--bg:#0f1115;--surface:#181b22;--surface-hover:#1f232c;--border:#272c37;--text:#e6e8ee;--text-muted:#8b93a7;--accent:#7c5cff;--accent-text:#ffffff;--error:#ff6b6b;--success:#4ade80;--warning:#fbbf24;--font:system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--radius:10px;--radius-lg:14px;color-scheme:dark}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:var(--accent)}.mono,code{font-family:var(--font-mono);font-size:.875em}.page{max-width:940px;margin:0 auto;padding:var(--space-12) var(--space-6) var(--space-12)}.page-header{margin-bottom:var(--space-8)}.page-title{font-size:28px;line-height:1.2;margin:0 0 var(--space-2);letter-spacing:-.02em}.page-lede{color:var(--text-muted);margin:0;max-width:62ch}.section{margin-top:var(--space-8)}.section-title{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:600}.section-note,.section-title{color:var(--text-muted);margin:0 0 var(--space-3)}.section-note{font-size:13px;max-width:70ch}.grid{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}@media (min-width:720px){.grid-2{grid-template-columns:1fr 1fr}}.card{border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4)}.card,.wallet-card{background:var(--surface)}.wallet-card{display:flex;align-items:center;gap:var(--space-3);width:100%;text-align:left;border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-3);color:inherit;font:inherit;cursor:pointer;transition:background .12s ease,border-color .12s ease}.wallet-card:hover{background:var(--surface-hover)}.wallet-card[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.wallet-icon{width:40px;height:40px;border-radius:var(--radius);flex:none;background:var(--bg)}.wallet-meta{min-width:0}.wallet-name{font-weight:600}.wallet-rdns,.wallet-uuid{font-family:var(--font-mono);font-size:12px;color:var(--text-muted);word-break:break-all}.badge{display:inline-block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:2px var(--space-2);border-radius:999px;background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--accent);margin-left:var(--space-2);vertical-align:middle}.row{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}button.action{font:inherit;font-size:14px;padding:var(--space-2) var(--space-3);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;transition:background .12s ease}button.action:hover:not(:disabled){background:var(--surface-hover)}button.action:disabled{opacity:.45;cursor:not-allowed}button.action.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}input.field{font:inherit;font-family:var(--font-mono);font-size:13px;padding:var(--space-2) var(--space-3);border-radius:var(--radius);border:1px solid var(--border);background:var(--bg);color:var(--text);flex:1 1 380px;min-width:0}input.field:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input.field[aria-invalid=true]{border-color:var(--error)}.output{font-family:var(--font-mono);font-size:13px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-3);margin:var(--space-3) 0 0;min-height:88px;white-space:pre-wrap;word-break:break-word;overflow-x:auto}.output-label{color:var(--text-muted);font-size:12px;display:block;margin-bottom:var(--space-1)}.output-value{font-size:15px}.ok{color:var(--success)}.bad{color:var(--error)}.error-code,.muted{color:var(--text-muted)}.error-code{font-family:var(--font-mono);font-size:12px}.empty{border:1px dashed var(--border);border-radius:var(--radius-lg);padding:var(--space-8);text-align:center}.empty h2{margin:0 0 var(--space-2);font-size:18px}.empty ol,.empty p{color:var(--text-muted);margin:0 auto var(--space-4);max-width:52ch}.empty ol{text-align:left;padding-left:1.2em}.empty li{margin-bottom:var(--space-1)}.callout{border-left:3px solid var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);border-radius:0 var(--radius) var(--radius) 0;padding:var(--space-3) var(--space-4);margin-top:var(--space-3);font-size:13px;color:var(--text-muted)}.callout strong{color:var(--text);font-weight:600}.event-list{list-style:none;margin:0;padding:0;font-family:var(--font-mono);font-size:12.5px;max-height:260px;overflow-y:auto}.event-list li{padding:var(--space-1) 0;border-bottom:1px solid var(--border);display:flex;gap:var(--space-3)}.event-list li:last-child{border-bottom:none}.event-time{color:var(--text-muted);flex:none}.event-name{color:var(--accent);flex:none}.event-data{word-break:break-all}.frame-embed{width:100%;height:84px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.frame-probe{margin:0;padding:var(--space-3) var(--space-4);font-weight:600}.connected-pill,.frame-probe{font-family:var(--font-mono);font-size:13px}.connected-pill{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:999px;border:1px solid var(--success);background:color-mix(in srgb,var(--success) 12%,transparent);color:var(--text)}.connected-pill:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--success);flex:none}.code-area{flex:1 1 100%;width:100%;font-size:12px;line-height:1.5;resize:vertical;white-space:pre;overflow-x:auto}.verify-row{flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border);font-size:13px}.social,.verify-row{display:flex;align-items:center}.social{gap:var(--space-3);justify-content:flex-end;margin:var(--space-8) 0 0;padding:0;list-style:none}.social__link{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--border);border-radius:8px;color:var(--text-muted);transition:color .12s ease,border-color .12s ease}.social__link:focus-visible,.social__link:hover{color:var(--text);border-color:var(--accent)}