*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}:root{--bg:#0e1116;--surface:#161a21;--surface-2:#1d222b;--line:#262c37;--text:#e6e9ef;--muted:#8b94a5;--accent:#f0b429;--accent-ink:#1a1206;--good:#3ddc97;--bad:#f0616d;--radius:12px}body{background:var(--bg);color:var(--text)}.num,.amount,table td.num,.countdown strong,dd{font-variant-numeric:tabular-nums}.app{max-width:1040px;margin:0 auto;padding:24px 20px 64px}.app>header{align-items:center;gap:16px;margin-bottom:20px;display:flex}.header-right{align-items:center;gap:12px;margin-left:auto;display:flex}.account{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}main{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:20px;display:grid}.column{flex-direction:column;gap:16px;min-width:0;display:flex}@media (width<=820px){main{grid-template-columns:minmax(0,1fr);gap:14px}.side{order:1}}@media (width<=640px){.app{padding:12px 12px 40px}.app>header{gap:8px;margin-bottom:12px}.header-right{gap:8px}.header-right button{white-space:nowrap;padding:8px 12px;font-size:13px}.account span{display:none}.account select{padding:8px 10px;font-size:13px}.card{border-radius:10px;padding:14px}.card h2{letter-spacing:.06em;margin-bottom:10px;font-size:11px}.convert{gap:8px}.convert h2.convert-title{margin:4px 0 0;font-size:17px}.picks{gap:8px}.leg{padding:10px 12px}.leg-body .amount{font-size:22px}.leg-head{font-size:11px}.leg-balance{font-size:10px}.tabs{padding:3px}.tab{padding:8px 10px;font-size:13px}.balances table{font-size:13px}.balances th{font-size:9px}.balances td{padding:7px 0}.history-list{max-height:320px}.legs dd{font-size:15px}.details dd{font-size:12px}}.banner{border:1px solid var(--bad);border-radius:var(--radius);background:color-mix(in srgb, var(--bad) 12%, transparent);color:var(--text);justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:10px 14px;font-size:13px;display:flex}.banner button{padding:6px 12px;font-size:12px}.banner.reconnecting{border-color:var(--line);background:var(--surface-2);color:var(--muted);justify-content:flex-start;gap:10px}.modal-shade{z-index:50;background:#0009;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:14px;width:min(380px,100%);padding:20px;display:flex}.modal h2{color:var(--text);text-transform:none;letter-spacing:-.01em;margin:0;font-size:18px;font-weight:600}.modal p{margin:0;font-size:13px;line-height:1.5}.modal .count{color:var(--accent);font-variant-numeric:tabular-nums;text-align:right;min-width:1.6em;display:inline-block}.settings-wrap{position:relative}.settings-panel{z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:10px;width:250px;padding:12px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 28px #00000073}.settings-panel p{margin:8px 0 0;font-size:11px;line-height:1.45}.settings-panel .toggle{color:var(--text);font-size:13px}.settings-action{width:100%;margin-top:10px;padding:8px 12px;font-size:13px}.settings-action.danger-text{color:var(--bad);border-color:var(--bad)}.scan-confirm{flex-direction:column;gap:10px;margin-top:10px;display:flex}.scan-confirm p{margin:0;font-size:12px;line-height:1.45}.scan-confirm .actions button{padding:8px 10px;font-size:12px}.modal.twofa-info{width:min(420px,100%);max-height:88vh;overflow-y:auto}button.danger{background:var(--bad);color:#fff;font-weight:600}button.icon,button.power{border:1px solid var(--line);color:var(--muted);background:0 0;flex:none;justify-content:center;align-items:center;width:38px;height:38px;padding:0;display:inline-flex}button.icon:hover:not(:disabled),button.icon.on{color:var(--text);border-color:var(--muted)}button.power{color:var(--bad);border-color:var(--bad)}button.power:hover:not(:disabled){background:var(--bad);color:#fff}.exports{align-items:center;gap:6px;display:flex}button.ghost.tiny{letter-spacing:.05em;padding:3px 8px;font-size:10px;font-weight:600}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.card h2{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:0 0 12px;font-size:14px;font-weight:600}.muted{color:var(--muted)}.warn,.error{color:var(--bad);font-size:13px}.login-shell{place-items:center;min-height:100%;padding:24px;display:grid}.login{flex-direction:column;gap:14px;width:min(360px,100%);display:flex}.login h1{letter-spacing:-.02em;margin:0;font-size:24px}.login p{margin:0;font-size:14px}.login label{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.login label.environment{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;padding:8px 10px}.twofa{flex-direction:column;gap:14px;width:min(420px,100%);display:flex}.twofa h1{letter-spacing:-.02em;margin:0;font-size:21px}.twofa p{margin:0;font-size:13px;line-height:1.5}.qr{background:#fff;border-radius:10px;align-self:center;padding:10px;line-height:0}a.button{text-align:center;border-radius:8px;padding:10px 16px;font-weight:600;text-decoration:none;display:block}.secret-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.secret{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:5px;padding:10px 12px;display:flex}.secret-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:10px}.secret code{word-break:break-all;-webkit-user-select:all;user-select:all;color:var(--text);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:13px}.twofa-form{flex-direction:column;gap:12px;display:flex}.twofa-form label{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}input.code{letter-spacing:.35em;text-align:center;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:20px}.login label .optional{opacity:.65;font-size:11px;font-style:normal}button.link{color:var(--muted);background:0 0;border:none;align-self:center;padding:4px;font-size:12px;text-decoration:underline}button.link:hover{color:var(--text)}.scanned-ok{border:1px solid var(--good);background:color-mix(in srgb, var(--good) 10%, transparent);border-radius:8px;flex-direction:column;align-items:flex-start;gap:6px;padding:10px 12px;display:flex}.scanned-ok strong{color:var(--good);font-size:13px}.scanned-ok p{color:var(--text);margin:0;font-size:11px;line-height:1.45}.biometric{flex-direction:column;gap:8px;display:flex}.biometric-none{margin:0;font-size:11px;line-height:1.4}.biometric .or{text-align:center;text-transform:uppercase;letter-spacing:.07em;font-size:11px}.toggle.remember{align-items:flex-start;gap:9px}.toggle.remember span{color:var(--text);flex-direction:column;gap:3px;display:flex}.toggle.remember em{font-size:11px;font-style:normal;line-height:1.4}input,select{background:var(--surface-2);border:1px solid var(--line);color:var(--text);font:inherit;border-radius:8px;padding:10px 12px}input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input:disabled,select:disabled,button:disabled{opacity:.5;cursor:not-allowed}button{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;padding:10px 16px}button.primary{background:var(--accent);color:var(--accent-ink);font-weight:600}button.ghost{color:var(--text);border-color:var(--line);background:0 0}.convert{flex-direction:column;gap:10px;display:flex}.tabs{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.tab{color:var(--muted);background:0 0;border:none;border-radius:7px;padding:9px 12px;font-size:14px;font-weight:600}.tab.on{background:var(--accent);color:var(--accent-ink)}.tab:not(.on):hover:not(:disabled){color:var(--text)}.convert h2.convert-title{letter-spacing:-.01em;text-transform:none;color:var(--text);margin:6px 0 2px;font-size:19px;font-weight:600}.picks{grid-template-columns:1fr auto 1fr;align-items:end;gap:10px;display:grid}.picks label{color:var(--muted);flex-direction:column;gap:6px;font-size:12px;display:flex}.picks .swap{background:var(--surface-2);border:1px solid var(--line);color:var(--muted);width:36px;height:38px;padding:0;font-size:15px;line-height:1}.picks .swap:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.leg-ccy{color:var(--muted);flex:none;padding-left:4px;font-size:14px;font-weight:600}.leg{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}.leg.typed{border-color:var(--accent)}.leg:not(.typed) .amount{color:var(--muted)}.leg-head{color:var(--muted);justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px;font-size:12px;display:flex}.leg-label{text-transform:uppercase;letter-spacing:.08em}.leg-balance{text-align:right}.leg-balance em{opacity:.75;font-style:normal}.leg-body{align-items:center;gap:8px;display:flex}.leg-body .amount{letter-spacing:-.02em;background:0 0;border:none;flex:1;min-width:0;padding:4px 0;font-size:26px}.leg-body select{min-width:96px}button.max{border-color:var(--line);color:var(--accent);letter-spacing:.06em;background:0 0;padding:5px 9px;font-size:11px;font-weight:600}.rate{flex-wrap:wrap;align-items:baseline;gap:6px;margin:2px 0 0;font-size:13px;display:flex}.rate .px{color:var(--text);font-variant-numeric:tabular-nums}.rate.fee-note{margin-top:0;font-size:12px}.rate .tick{font-size:11px}.rate .tick.up{color:var(--good)}.rate .tick.down{color:var(--bad)}.rate .asof{opacity:.8;margin-left:auto;font-size:11px}.rate.stale .px{color:var(--muted)}.rate.stale .asof{color:var(--bad);opacity:1}.quote{flex-direction:column;gap:12px;display:flex}.quote p{margin:0;font-size:13px}.legs{flex-direction:column;gap:8px;margin:0;display:flex}.legs>div{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.legs dt{color:var(--muted);font-size:13px}.legs dd{text-align:right;margin:0;font-size:16px}.details{border-top:1px solid var(--line);flex-direction:column;margin:4px 0 0;display:flex}.details>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:16px;padding:7px 0;display:flex}.details>div:last-child{border-bottom:none}.details dt{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;flex:none;font-size:11px}.details dd{text-align:right;font-variant-numeric:tabular-nums;min-width:0;margin:0;font-size:13px}.details .raw{color:var(--muted);margin-top:1px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:10px;display:block}.details code{word-break:break-all;-webkit-user-select:all;user-select:all;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:11px}.countdown{background:var(--surface-2);border:1px solid var(--line);color:var(--muted);border-radius:8px;padding:8px 12px;font-size:13px}.countdown strong{color:var(--accent);font-size:15px}.actions{gap:10px;display:flex}.actions button{flex:1}.status{align-items:center;gap:10px;font-size:15px;font-weight:600;display:flex}.status.ok{color:var(--good)}.status.bad{color:var(--bad)}.spinner{border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;flex:none;width:14px;height:14px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{border-top-color:var(--muted);animation:none}}.history-head{justify-content:space-between;align-items:baseline;display:flex}.history-head h2{margin-bottom:12px}.history-head .count{font-variant-numeric:tabular-nums;font-size:12px}.history .empty{margin:0;font-size:13px}.history-list{flex-direction:column;gap:8px;max-height:460px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.history-row{border:1px solid var(--line);border-left:3px solid var(--muted);background:var(--surface-2);border-radius:8px;flex-direction:column;gap:5px;padding:9px 12px;display:flex}.history-row.good{border-left-color:var(--good)}.history-row.bad{border-left-color:var(--bad)}.history-row.idle{border-left-color:var(--line)}.history-top{align-items:center;gap:8px;font-size:12px;display:flex}.history-top .pair{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.history-top .at{font-variant-numeric:tabular-nums;flex:none}.pill{letter-spacing:.07em;text-transform:uppercase;border:1px solid;border-radius:999px;flex:none;padding:2px 7px;font-size:10px;font-weight:700}.pill.good{color:var(--good)}.pill.bad{color:var(--bad)}.pill.idle{color:var(--muted)}.history-legs{font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:8px;font-size:13px;display:flex}.history-legs .arrow{color:var(--muted)}.history-rate,.history-detail,.history-fee{font-size:11px}.history-detail{color:var(--bad)}.balances-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.balances-head h2{margin-bottom:12px}.toggle{color:var(--muted);cursor:pointer;align-items:center;gap:6px;font-size:12px;display:flex}.toggle input{width:14px;height:14px;accent-color:var(--accent);cursor:pointer;padding:0}.balances .empty{margin:12px 0 0;font-size:12px}.stale-banner{border:1px solid var(--bad);background:color-mix(in srgb, var(--bad) 10%, transparent);border-radius:8px;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;padding:10px 12px;display:flex}.stale-banner strong{font-size:13px;display:block}.stale-banner p{margin:3px 0 0;font-size:11px;line-height:1.4}.stale-banner button{flex:none;padding:6px 12px;font-size:12px}.balances.stale td.num{opacity:.55;text-decoration:line-through}.balances.stale td.ccy{opacity:.75}.balances table{border-collapse:collapse;width:100%;font-size:14px}.balances th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--line);padding:0 0 8px;font-size:11px;font-weight:500}.balances th.num,.balances td.num{text-align:right}.balances td{border-bottom:1px solid var(--line);padding:9px 0}.balances tr:last-child td{border-bottom:none}.balances td.ccy{font-weight:600}
