/* Wallet surfaces share the scanner's measurement-first, matte palette. */
.wpick { width:min(420px,calc(100vw - 24px)); max-height:calc(100dvh - 24px); overflow-y:auto; overscroll-behavior:contain; border:1px solid var(--rule); border-radius:12px; }
.wpick form { padding:24px; }
.wpick h2 { font-size:22px; line-height:1.2; letter-spacing:-.025em; }
.wpick p { line-height:1.6; }
.wp-email { width:100%; margin-top:8px; }
.wp-email:disabled { background:var(--panel-2); color:var(--dim); border-color:var(--rule); cursor:not-allowed; }
.wpick .wp-note { margin:10px 0 18px; font-size:12px; color:var(--dim); }
.wpick .wp-divider { margin:20px 0 12px; font-size:13px; color:var(--dim); }
.wpick li button, .wp-wallet-link { display:flex; align-items:center; justify-content:space-between; gap:12px; box-sizing:border-box; min-height:52px; width:100%; padding:12px 14px; border:1px solid var(--rule); border-radius:6px; color:var(--text); text-decoration:none; font-weight:600; }
.wpick li span { min-width:0; overflow-wrap:anywhere; }
.wpick li small { color:var(--dim); font-size:12px; font-weight:400; flex:none; }
.wp-wallet-link:hover { background:var(--uv-soft); border-color:var(--uv); }
.wpick .wp-cancel { box-sizing:border-box; min-height:44px; }
.wpick :is(button,a):focus-visible { outline:2px solid var(--uv); outline-offset:3px; }
#email-signin { max-height:calc(100dvh - 24px); overflow-y:auto; overscroll-behavior:contain; }
#email-signin label { display:block; margin:20px 0 8px; font-size:14px; font-weight:600; }
#email-signin input { box-sizing:border-box; width:100%; min-height:48px; padding:12px; border:1px solid var(--rule); border-radius:6px; background:var(--panel-2); color:var(--text); font:16px var(--ui); }
#email-signin input::placeholder { color:var(--dim); }
#email-signin :is(input,button):focus-visible { outline:2px solid var(--uv); outline-offset:3px; }
#email-signin .email-account-note { margin-top:10px; font-size:13px; line-height:1.6; }
#email-signin [data-email-status] { font-size:13px; line-height:1.6; min-height:3.2em; }
#email-signin [data-email-go] { box-sizing:border-box; width:100%; min-height:48px; }
#email-signin [data-email-go]:disabled { opacity:.5; cursor:wait; }
#pf-body { max-width: 1120px; }
#pf-body *, .trade * { box-sizing: border-box; }
#pf-body .num, .trade input { font-variant-numeric: tabular-nums; }
#pf-body :is(button, a, input, select):focus-visible,
.trade :is(button, input, select):focus-visible {
  outline: 2px solid var(--uv); outline-offset: 3px;
}
#pf-body :is(button, .btn, .btn-primary), .trade :is(button, input, select) {
  min-height: 44px; box-sizing: border-box;
}
#pf-body button:disabled, .trade button:disabled { opacity: .5; cursor: not-allowed; }
#pf-body .note, #pf-body .pf-hint, #pf-body .wnote { font-size: 13px; line-height: 1.65; color: var(--dim); }
.pf-hero {
  background: var(--panel); border: 1px solid var(--rule); border-radius: 8px;
  padding: 24px; gap: 12px 24px; margin: 20px 0 0; box-shadow: none;
}
.pf-hero b { display: inline-block; font-size: clamp(24px, 3vw, 32px); color: var(--text); }
.pf-hero > div:first-child span { color: var(--dim); font-size: 13px; margin-bottom: 8px; }
.pf-hero > .btn { grid-column: 2; grid-row: 1; }
.pf-split { flex-wrap: wrap; gap: 8px 24px; font-size: 13px; }
.pf-tabs { margin: 18px 0 24px; gap: 4px; }
.pf-tabs button { padding: 12px 16px; color: var(--dim); }
.pf-tabs button[aria-pressed="true"] { color: var(--uv); border-bottom-color: var(--uv); }
.pf-tab-link { margin-left: auto; padding: 12px 0 12px 16px; color: var(--dim); font-size: 13px; text-underline-offset: 4px; }
.pf-cards { gap: 0; border-block: 1px solid var(--rule); background: transparent; }
.pf-cards > article { padding: 20px; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.pf-cards > article + article { border-left: 1px solid var(--rule); }
.pf-cards article b { font-size: 21px; }
.pf-grp { margin: 28px 0 12px; font-size: 16px; gap: 12px; }
.pf-grp span { color: var(--dim); font-size: 12px; }
.pf-alloc { background: none; border-radius: 0; padding-inline: 0; }
.pf-alloc-b, .pf-alloc-b i { border-radius: 2px; }
.pf-table { table-layout: auto; }
.pf-table th, .pf-table td { padding: 14px 12px; vertical-align: middle; }
.pf-table th:first-child, .pf-table td:first-child { padding-left: 0; }
.pf-table tbody tr:hover { background: var(--panel-2); }
.pf-coin { display: grid; gap: 4px; border: 0; padding: 4px 8px; margin-left: -8px; background: none; color: var(--text); font: inherit; text-align: left; cursor: pointer; }
.pf-coin small { color: var(--dim); font-size: 12px; }
.pf-coin:hover b { color: var(--uv); }
.wgrid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 16px; }
.wcard, .wcard.main { border: 1px solid var(--rule); box-shadow: none; border-radius: 8px; padding: 20px; background: var(--panel); }
.wcard header { flex-wrap: wrap; gap: 8px 16px; }
.wname { flex-wrap: wrap; gap: 8px; font-size: 15px; }
.wtag { border-radius: 4px; font: 600 11px var(--ui); text-transform: none; letter-spacing: 0; padding: 4px 7px; }
.wtag.alt { color: var(--mid); background: var(--panel-3); }
.waddr { display: inline-flex; align-items: center; padding: 0 8px; border: 1px solid var(--rule); border-radius: 5px; color: var(--dim); }
.wnums { padding-top: 18px; margin-top: 12px; border-top: 1px solid var(--rule); gap: 12px; }
.wnums b { font-size: 18px; overflow-wrap: anywhere; }
.wnums span { font-size: 12px; }
.wact, .pf-tools { gap: 8px; flex-wrap: wrap; }
.wact { margin-top: 18px; }
.pf-tools { margin: 20px 0; }
.pair-card, .rf-x, .pf-empty { background: var(--panel); border: 1px solid var(--rule); border-radius: 8px; padding: 20px; }
.pair-card p, .rf-x p { max-width: 72ch; color: var(--dim); }
.rf-x > div { min-width: min(100%, 240px); }
.rf-x.on { background: var(--panel); border-color: var(--rule); }
.rf-x.on b { color: var(--ok); }
.tset { background: transparent; border-radius: 0; border: 0; padding: 0; margin-top: 28px; }
.tset h3 { font: 600 17px var(--ui); margin-bottom: 12px; }
.tset-row { padding: 18px 0; gap: 20px; border-top: 1px solid var(--rule); }
.tset-row small { color: var(--dim); line-height: 1.6; max-width: 65ch; }
.tset-row select { min-height: 44px; background: var(--panel-2); color: var(--text); border: 1px solid var(--rule); border-radius: 5px; }
.arm-list { gap: 8px; }
.pf-warn { padding: 16px 0; color: var(--mid); line-height: 1.6; }
.rw-head { gap: 0; border: 1px solid var(--rule); border-radius: 8px; overflow: hidden; }
.rw-head > div { padding: 24px; border: 0; border-radius: 0; background: var(--panel); color: var(--text); }
.rw-head > div + div { border-left: 1px solid var(--rule); }
.rw-head span, .rw-head small { color: var(--dim); font-size: 13px; }
.rw-head b { font-size: 26px; }
.rw-head b em { color: var(--dim); }
#pf-body .rf-stats { border-radius: 8px; margin: 20px 0; }
#pf-body .rf-stats div { padding: 18px; }
.rw-link { background: transparent; border: 0; padding: 8px 0; margin-top: 24px; }
.rw-link > span { font-size: 14px; font-weight: 600; color: var(--text); }
.rw-link > div { background: var(--panel); border: 1px solid var(--rule); border-radius: 6px; padding: 8px 8px 8px 16px; }
.rw-link small { color: var(--dim); }
.rw-how { border: 0; border-top: 1px solid var(--rule); border-radius: 0; padding: 24px 0; margin-top: 24px; background: transparent; }
.rw-how h3 { font-size: 17px; }
.rw-how p { max-width: 74ch; }
.rw-how code { overflow-wrap: anywhere; }
.rw-how > button { margin: 4px 8px 4px 0; }
.rw-how [data-payment-job] { padding: 20px 0; border-bottom: 1px solid var(--rule); }
.rw-how details { margin-top: 16px; }
.rw-how summary { min-height: 44px; display: list-item; padding: 12px 0; cursor: pointer; color: var(--dim); }
.rw-how details label { display: grid; gap: 8px; margin: 12px 0; font-size: 13px; color: var(--dim); }
.rw-how :is(input, select) { width: 100%; min-height: 44px; border: 1px solid var(--rule); border-radius: 5px; padding: 10px; font: inherit; background: var(--panel); color: var(--text); }
.trade.sec { background: var(--panel); }
.trade .tr-side { display: flex; width: 100%; gap: 4px; background: var(--bg); border-radius: 6px; padding: 4px; margin-bottom: 18px; }
.trade .tr-side button { flex: 1; text-align: center; font-size: 14px; border-radius: 4px; padding: 10px 16px; }
.trade .tr-side button[aria-pressed="true"] { background: var(--panel-3); box-shadow: none; color: var(--text); }
.trade .tr-side button[data-v="buy"][aria-pressed="true"] { color: var(--ok); }
.trade .tr-side button[data-v="sell"][aria-pressed="true"] { color: var(--bad); }
.tr-wallets { gap: 8px; margin-bottom: 18px; }
.tr-wallets button { padding: 12px; border-radius: 6px; background: var(--bg); }
.tr-wallets button small { font-size: 12px; color: var(--dim); }
.tr-wallets button[aria-pressed="true"] { border-color: var(--uv); background: var(--uv-soft); }
.trade .tr-row { gap: 14px; padding: 12px 0; font-size: 13px; color: var(--dim); }
.trade .tr-row :is(select, input) { border-color: var(--rule); border-radius: 5px; background: var(--bg); color: var(--text); font-size: 16px; padding: 10px 12px; }
.trade .tr-row input { width: 150px; }
.tr-quick { gap: 8px; margin: 0 0 14px; }
.tr-quick button { border-radius: 5px; background: var(--panel-2); color: var(--dim); border-color: var(--rule); font-size: 13px; }
.tr-quick button[aria-pressed="true"] { color: var(--uv); background: var(--uv-soft); border-color: var(--uv); }
.trade .tr-quote { padding: 14px; margin: 8px 0 16px; border: 1px solid var(--rule); border-radius: 6px; background: var(--bg); color: var(--dim); line-height: 1.65; font-size: 13px; }
.trade .tr-go { margin-top: 16px; flex-wrap: wrap; }
.trade .tr-go .btn-primary { min-height: 48px; border-radius: 6px; font-size: 15px; }
.trade .note { font-size: 12px; line-height: 1.65; color: var(--dim); }
.tr-all { align-items: flex-start; line-height: 1.5; color: var(--dim); }
.trade input[type="checkbox"] { min-height: 20px; width: 20px; height: 20px; flex: none; accent-color: var(--uv); }
.tr-quick-wallets button { border-radius: 5px; padding: 8px 12px; }
.tr-instant { color: var(--mid); font-size: 12px; line-height: 1.5; }
.tr-locked { background: var(--bg); border: 1px solid var(--rule); border-radius: 6px; padding: 18px; }
.pf-signin { display:grid; grid-template-columns:minmax(0,1fr) minmax(240px,.8fr); gap:0 40px; padding:32px; margin-top:24px; }
.pf-signin-mark { width:36px; height:36px; color:var(--uv); margin-bottom:20px; }
.pf-signin > h2 { grid-column:1; font-size:22px; letter-spacing:-.02em; margin:0 0 6px; }
.pf-signin > p { grid-column:1; color:var(--dim); font-size:14px; line-height:1.7; max-width:48ch; margin:8px 0 20px; }
#pf-body .pf-signin > .btn-primary { grid-column:1; justify-self:start; margin:0; min-height:46px; padding:12px 20px; font-size:14px; }
.pf-signin > .pair-form { grid-column:2; grid-row:1 / 5; align-self:center; border-top:0; border-left:1px solid var(--rule); padding:24px 0 24px 32px; margin:0; }
.pf-signin .pair-form label { margin-bottom:12px; font-size:14px; }
.pf-signin .pair-form small { font-size:12px; line-height:1.65; margin-top:12px; }
.pair-form input { box-sizing:border-box; border-radius:6px; font-size:16px; height:46px; }
.pf-tabs button, .pf-tab-link { font-size:14px; }
.wcard .waddr { min-height:36px; }
.rw-head b { letter-spacing:-.025em; }
.rw-how p { line-height:1.7; color:var(--dim); }
@media (max-width: 600px) {
  .pf-signin { display:block; padding:24px 20px; }
  .pf-signin-mark { width:32px; height:32px; margin-bottom:16px; }
  .pf-signin > h2 { font-size:21px; }
  #pf-body .pf-signin > .btn-primary { width:100%; }
  .pf-signin > .pair-form { border-left:0; border-top:1px solid var(--rule); padding:20px 0 0; margin-top:24px; }
  .pf-hero { padding: 18px; gap: 14px 8px; }
  .pf-hero small { display: block; margin: 6px 0 0; }
  .pf-tabs { gap: 0; }
  .pf-tabs button { flex: 1; padding-inline: 8px; font-size: 13px; }
  .pf-tab-link { width: 100%; padding: 12px 0; margin: 0; }
  .pf-cards > article { padding: 14px 8px; }
  .pf-cards article b { font-size: 16px; }
  .pf-table th, .pf-table td { padding: 12px 6px; font-size: 12px; overflow-wrap: anywhere; }
  .pf-table th:nth-child(2), .pf-table td:nth-child(2) { display: none; }
  .pf-grp { display: grid; gap: 6px; }
  .wcard { padding: 18px; }
  .rw-head { grid-template-columns: 1fr; }
  .rw-head > div { padding: 20px; }
  .rw-head > div + div { border-left: 0; border-top: 1px solid var(--rule); }
  .rw-link > div { align-items: flex-start; }
  .tset-row { gap: 12px; }
  .rf-xform { flex-wrap: wrap; }
  .rf-xform input { min-height: 44px; }
}
