:root{--onyx: #0d1117;--alabaster: #e5e4e2;--spring: #28c76f;--bg: var(--onyx);--surface: var(--onyx);--surface-hi: #161a20;--well: #06090d;--line: #232931;--line-hi: #333a45;--text: var(--alabaster);--muted: #8b9199;--dim: #565c65;--ok: var(--spring);--ok-hi: #45d488;--ok-lo: #1fa95c;--ok-soft: rgba(40, 199, 111, .12);--ok-line: rgba(40, 199, 111, .45);--p2p: var(--alabaster);--relay: #c9993c;--err: #e2564d;--err-soft: rgba(226, 86, 77, .12);--err-line: rgba(226, 86, 77, .4);--ease: cubic-bezier(.2, .7, .3, 1);--t-fast: .12s;--t: .2s}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;height:100dvh;overflow:hidden}html{-webkit-text-size-adjust:100%}body{overscroll-behavior:none;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,textarea,select{font:inherit;color:inherit}@keyframes slideIn{0%{transform:translate(110%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fadeSlideUp{0%{transform:translateY(6px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pop{0%{transform:scale(.9);opacity:0}55%{transform:scale(1.025);opacity:1}to{transform:scale(1);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%{transform:scale(1);opacity:.4}70%,to{transform:scale(2.6);opacity:0}}@keyframes stripe{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes indeterminate{0%{left:-40%}to{left:100%}}.panel{background:var(--surface);border:1px solid var(--line)}.topbar{background:var(--surface);border-bottom:1px solid var(--line)}.strip{border-bottom:1px solid var(--line)}.sheet{background:var(--surface-hi);border:1px solid var(--line-hi);box-shadow:0 18px 44px -24px #000000d9}.scrim{background:#06090cb8;animation:fadeIn .18s var(--ease) backwards}.well{background:var(--well);border:1px solid var(--line)}.chip{background:var(--surface-hi);border:1px solid var(--line)}.key-copy{position:relative}.key-msg{position:absolute;top:calc(100% + 20px);left:50%;z-index:5;padding:3px 8px;border-radius:6px;background:var(--surface-hi);border:1px solid var(--line-hi);color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;white-space:nowrap;pointer-events:none;opacity:0;transform:translate(-50%,-3px);transition:opacity var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.key-copy:hover .key-msg,.key-copy:focus-visible .key-msg,.key-msg.is-shown{opacity:1;transform:translate(-50%)}.id-bar-stack{position:relative}.id-bar-stack .key-copy{position:static}.id-bar-stack .key-msg{top:calc(100% + 7px);left:0;transform:translateY(-3px)}.id-bar-stack .key-copy:hover .key-msg,.id-bar-stack .key-copy:focus-visible .key-msg,.id-bar-stack .key-msg.is-shown{transform:translateY(0)}.key-msg.is-ok{color:var(--ok);border-color:var(--ok-line)}.key-msg.is-fail{color:var(--err);border-color:var(--err-line)}.btn{cursor:pointer;border:1px solid transparent;background:none;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease),transform var(--t-fast) var(--ease),opacity var(--t-fast) var(--ease)}.btn:active{transform:translateY(1px)}.btn:focus-visible,.peer-card:focus-visible,.row:focus-visible{outline:2px solid var(--ok);outline-offset:2px}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-ghost{color:var(--muted)}.btn-ghost:hover{background:var(--surface-hi);color:var(--text)}.btn-ghost:active{background:var(--line)}.btn-ghost.is-on{color:var(--ok);background:var(--ok-soft)}.btn-solid{background:var(--ok);color:var(--onyx);font-weight:600}.btn-solid:hover{background:var(--ok-hi)}.btn-solid:active{background:var(--ok-lo)}.btn-surface{border-color:var(--line);color:var(--text)}.btn-surface:hover{background:var(--surface-hi);border-color:var(--line-hi)}.btn-surface:active{background:var(--line)}.btn-danger{border-color:var(--line);color:var(--text)}.btn-danger:hover{background:var(--err-soft);border-color:var(--err-line);color:var(--err)}.btn-danger-ghost{color:var(--muted)}.btn-danger-ghost:hover{background:var(--err-soft);color:var(--err)}.btn-link{color:var(--ok)}.btn-link:hover{color:var(--ok-hi);text-decoration:underline}.btn-seg{color:var(--muted)}.btn-seg:hover:not(.is-on){color:var(--text)}.btn-seg.is-on{background:var(--surface-hi);border-color:var(--line);color:var(--text)}.btn-disclosure{color:var(--text);border-radius:8px}.btn-disclosure:hover{color:var(--ok)}.btn-outline{color:var(--muted);border-color:var(--line)}.btn-outline:hover{background:var(--surface-hi);border-color:var(--line-hi);color:var(--text)}.toggle{cursor:pointer;border:1px solid var(--line);background:var(--well);transition:background var(--t) var(--ease),border-color var(--t) var(--ease),box-shadow var(--t-fast) var(--ease)}.toggle.is-on{background:var(--ok);border-color:var(--ok)}.toggle:hover{border-color:var(--line-hi)}.toggle.is-on:hover{background:var(--ok-hi);border-color:var(--ok-hi)}.toggle:active{transform:scale(.94)}.toggle>span{transition:left var(--t) var(--ease)}.peer-card{background:var(--surface);border:1px solid var(--line);transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.peer-card.is-clickable:hover{background:var(--surface-hi);border-color:var(--line-hi);transform:translateY(-1px)}.peer-card.is-selected{background:var(--ok-soft);border-color:var(--ok-line)}.peer-card.is-dropping{background:var(--ok-soft);border-color:var(--ok);transform:translateY(-1px)}.row{background:transparent;border:1px solid var(--line);transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}.row:hover{background:var(--surface-hi);border-color:var(--line-hi)}.enter{animation:fadeSlideUp .24s var(--ease) both}.pop{animation:pop .25s var(--ease) backwards}.dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;position:relative;background:var(--dim)}.dot:after{content:"";position:absolute;inset:0;border-radius:50%;background:inherit;animation:pulse 2.6s var(--ease) infinite}.dot-ok{background:var(--ok)}.dot-p2p{background:var(--p2p)}.dot-relay{background:var(--relay)}.dot-idle{background:var(--dim)}.dot-idle:after{animation:none}.bar{width:100%;height:6px;background:var(--surface-hi);border-radius:99px;overflow:hidden;position:relative}.bar-fill{height:100%;border-radius:99px;background:var(--ok);position:relative;overflow:hidden;transition:width .3s var(--ease),background var(--t) var(--ease)}.bar-fill.is-live:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 10%,rgba(13,17,23,.32) 45%,transparent 80%);background-size:220% 100%;animation:stripe 1.1s linear infinite}.bar-fill.is-stalled{background:var(--dim)}.bar-indeterminate:after{content:"";position:absolute;top:0;bottom:0;width:40%;border-radius:99px;background:linear-gradient(90deg,transparent,var(--ok),transparent);animation:indeterminate 1.4s var(--ease) infinite}.toast-stack{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:10px;align-items:flex-end;max-width:min(400px,calc(100vw - 32px));pointer-events:none}.toast{--toast-accent: var(--muted);pointer-events:auto;cursor:pointer;background:var(--surface-hi);border:1px solid var(--line-hi);border-left:3px solid var(--toast-accent);box-shadow:0 14px 34px -20px #000000e6;animation:slideIn .28s var(--ease) both;transition:transform var(--t-fast) var(--ease)}.toast:hover{transform:translate(-3px)}.toast-success{--toast-accent: var(--ok)}.toast-error{--toast-accent: var(--err)}.toast-info{--toast-accent: var(--p2p)}.field{background:var(--well);border:1px solid var(--line);color:var(--text);transition:border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.field::placeholder{color:var(--dim)}.field:hover{border-color:var(--line-hi)}.field:focus{border-color:var(--ok);box-shadow:0 0 0 3px var(--ok-soft)}.notice-error{background:var(--err-soft);border:1px solid var(--err-line);color:var(--err)}.spark{display:inline-flex;flex-shrink:0;padding:3px 5px;border-radius:5px;border:1px solid var(--line)}.qr-handle{display:flex;align-items:center;gap:8px;width:calc(100% + 32px);margin:0 -16px;padding:9px 10px 9px 12px;border-bottom:1px solid var(--line);border-radius:11px 11px 0 0;background:var(--line);user-select:none;-webkit-user-select:none;touch-action:none}.qr-grip{display:flex;align-items:center;flex-shrink:0;padding:3px 2px;border-radius:4px;cursor:inherit}.qr-grip>span{width:12px;height:8px;border-top:2px solid var(--dim);border-bottom:2px solid var(--dim)}.qr-grip:hover>span{border-color:var(--text)}.qr-grip:active{transform:none}.qr-handle>span{flex:1}.qr-float{box-shadow:0 26px 60px -28px #000000f2;transform-origin:bottom right}@media(prefers-reduced-transparency:reduce){.scrim{background:#06090cf7}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.btn:active,.toggle:active,.toast:hover,.peer-card.is-clickable:hover,.peer-card.is-dropping{transform:none!important}}
