:root {
  color-scheme: dark;
  --canvas: #08070e;
  --panel: #0e0b17;
  --raised: #151020;
  --deep: #090710;
  --line: #342347;
  --line-bright: #64416f;
  --ink: #eee8f8;
  --muted: #a092b5;
  --dim: #857396;
  --pink: #ff3cda;
  --cyan: #29dcff;
  --lime: #4dff9b;
  --yellow: #f5db4b;
  --red: #ff6c89;
  --violet: #bb7dff;
  font-family: "Cascadia Code", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-synthesis: none;
  font-weight: 400;
  color: var(--ink);
  background: var(--canvas);
}
* { box-sizing: border-box; }
html { min-width: 320px; scroll-behavior: smooth; }
body { margin: 0; font-size: 13px; line-height: 1.55; background: var(--canvas); }
button, input, select { font: inherit; border-radius: 0; }
button, a, input, select { -webkit-tap-highlight-color: transparent; }
button, a { touch-action: manipulation; }
button { cursor: pointer; border: 0; transition: background-color .15s, border-color .15s, color .15s; }
button:disabled { cursor: not-allowed; opacity: .48; }
button:active:not(:disabled) { transform: translateY(1px); }
a { color: inherit; text-decoration: none; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible { outline: 2px solid var(--cyan); outline-offset: 4px; }
input, select { min-width: 0; }
input::placeholder { color: var(--dim); }
::selection { color: var(--canvas); background: var(--pink); }
svg { display: block; width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: square; stroke-linejoin: miter; }
[data-icon] { display: inline-flex; flex-shrink: 0; }
[hidden] { display: none !important; }
.telegram-signin { display:flex; flex-direction:column; align-items:flex-end; gap:3px; }
.telegram-signin .auth-button { min-height:32px; padding:5px 11px; border:1px solid var(--cyan); background:#102431; color:var(--cyan); font-size:11px; white-space:nowrap; text-transform:uppercase; }
.telegram-signin [data-auth-message] { max-width:240px; font-size:10px; color:var(--dim); line-height:1.3; text-align:right; }
.telegram-signin .auth-error { color:var(--red); }
.verified-account { padding:24px; border-top:2px solid var(--cyan); }
.verified-account h2 { margin:10px 0; color:var(--ink); font-size:24px; }
.verified-account p { color:var(--muted); max-width:650px; }
.verified-account .account-id { color:var(--cyan); overflow-wrap:anywhere; }
.verified-account .status { color:var(--lime); }
.live-wallet-address { display:grid; gap:8px; margin:18px 0; padding:16px; border:1px solid var(--cyan); background:#071820; }
.live-wallet-address > span { color:var(--cyan); font-size:10px; letter-spacing:1px; }
.live-wallet-address code { color:var(--ink); font-size:clamp(12px,2.5vw,17px); overflow-wrap:anywhere; user-select:all; }
.live-wallet-deposits, .live-wallet-balances { display:grid; gap:10px; margin:-8px 0 18px; padding:16px; border:1px solid var(--line); background:#071820; }
.live-wallet-deposits > span, .live-wallet-balances > span { color:var(--cyan); font-size:10px; letter-spacing:1px; }
.live-wallet-deposits ul, .live-wallet-balances ul { display:grid; gap:8px; margin:0; padding:0; list-style:none; }
.live-wallet-deposits li, .live-wallet-balances li { display:flex; align-items:center; gap:10px; color:var(--ink); font-size:13px; line-height:1.4; overflow-wrap:anywhere; }
.live-wallet-deposits li > span:last-child, .live-wallet-balances li > span:last-child { min-width:0; }
.live-wallet-balances li > span:last-child { color:var(--lime); }
.live-wallet-deposits small, .live-wallet-balances small { color:var(--dim); font-size:11px; line-height:1.4; }
.account-network-status { padding:18px; }
.account-network-status strong { display:block; margin:12px 0 5px; color:var(--ink); }
.account-network-status p { color:var(--muted); font-size:11px; margin:0; }
.verified-account + .wallet-grid { margin-top:20px; }
.guest-steps { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:18px; margin:20px 0; }
.guest-step { display:flex; gap:13px; padding:18px; border-top:2px solid var(--pink); }
.guest-step > span { display:grid; place-items:center; flex-shrink:0; width:26px; height:26px; border:1px solid #663176; color:var(--pink); background:#25102d; font-size:12px; font-weight:700; }
.guest-step strong { display:block; margin-bottom:6px; color:var(--ink); font-size:13px; }
.guest-step p { margin:0; color:var(--muted); font-size:11px; line-height:1.8; }
.activity-name code { color:var(--cyan); font-size:10px; user-select:all; }
@media(max-width:800px) { .topbar-actions { flex-wrap:wrap; justify-content:flex-end; gap:10px; } .telegram-signin [data-auth-message] { display:none; } .guest-steps { grid-template-columns:minmax(0, 1fr); gap:12px; } }

/* Withdraw desk: a real ledger debit, so the review states the fee and finality before anything is sent. */
.withdraw-card { margin-top:20px; padding:20px 22px 18px; border-top:2px solid var(--lime); }
.withdraw-card .section-heading { flex-wrap:wrap; background:#0b1712; }
.withdraw-card .section-heading h2, .withdraw-card .section-heading h2 > [data-icon] { color:var(--lime); }
.withdraw-card + .wallet-grid { margin-top:20px; }
.withdraw-intro { max-width:760px; margin:0 0 16px; color:var(--muted); font-size:12px; line-height:1.8; }
#withdraw-form { max-width:640px; }
.withdraw-asset-fixed { display:flex; align-items:center; flex-wrap:wrap; gap:6px 10px; min-height:42px; padding:8px 12px; margin-bottom:16px; border:1px solid var(--line); background:var(--deep); color:var(--muted); font-size:12px; }
.withdraw-asset-fixed strong { color:var(--ink); font-size:14px; font-weight:600; }
#withdraw-asset { margin-bottom:16px; }
.withdraw-card .input-shell > span { flex-shrink:0; color:var(--cyan); font-size:12px; font-weight:600; }
.withdraw-destination-label { margin-top:16px; }
#withdraw-destination { font-size:13px; }
.withdrawals-block { display:grid; gap:8px; margin-top:20px; padding-top:16px; border-top:1px solid var(--line); }
.withdrawals-label { color:var(--cyan); font-size:10px; letter-spacing:1px; }
.withdrawals-list { display:grid; margin:0; padding:0; list-style:none; }
.withdrawal-item { display:flex; align-items:flex-start; gap:11px; padding:13px 0; border-top:1px solid #281a37; }
.withdrawal-item:first-child { border-top:0; }
.withdrawal-main { flex:1; min-width:0; }
.withdrawal-main strong { display:block; color:#ddcde9; font-size:12px; font-weight:500; line-height:1.5; overflow-wrap:anywhere; }
.withdrawal-main code { color:var(--cyan); font-size:11px; }
.withdrawal-main small { display:block; margin-top:3px; color:var(--dim); font-size:10px; line-height:1.6; overflow-wrap:anywhere; }
.withdrawal-link { margin-top:5px; font-size:10px; }
.withdrawal-item .status { flex-shrink:0; }
.status.refunded { border-color:#3c697b; color:var(--cyan); background:#0c2630; }
.withdrawals-empty { margin:0; color:var(--dim); font-size:11px; }
.withdrawals-activity { padding-bottom:6px; }
.withdraw-review-address { display:block; margin:-6px 0 4px; padding:12px; border:1px solid var(--cyan); background:#071820; color:var(--ink); font-size:13px; line-height:1.6; overflow-wrap:anywhere; user-select:all; }
.withdraw-final { border-left:2px solid var(--yellow); padding-left:10px; color:#e5d590; }
.withdraw-final strong { color:var(--yellow); }
@media(max-width:700px) { .withdraw-card { margin-top:17px; padding:20px 18px 18px; } .withdraw-card .section-heading { margin-left:-18px; margin-right:-18px; } }
@media(max-width:480px) { .withdraw-card { padding-left:13px; padding-right:13px; } .withdraw-card .section-heading { margin-left:-13px; margin-right:-13px; } .withdrawal-item { gap:8px; } .withdraw-review-address { font-size:12px; } }

/* Command bar and persistent demo context. */
.sidebar { position: relative; z-index: 20; display: flex; align-items: center; gap: 24px; min-height: 78px; padding: 15px 28px; border-top: 2px solid var(--pink); border-bottom: 1px solid var(--pink); background: #0d0813; }
.brand { display: inline-flex; align-items: center; flex-shrink: 0; gap: 11px; color: #fff0fc; font-size: 24px; line-height: 1.15; font-weight: 900; letter-spacing: -.8px; text-transform: uppercase; }
.brand-mark { display: grid; place-items: center; width: 35px; height: 35px; }
.brand-mark img { width: 35px; height: 35px; image-rendering: pixelated; }
.brand-name { display: block; }
.brand-dot { color: var(--pink); }
.brand-desk { color: #e2c9f2; font-weight: 600; }
.brand-tagline { display: block; margin-top: 5px; color: var(--dim); font-size: 10px; font-weight: 400; line-height: 1.4; letter-spacing: 1.2px; }
.workspace-label { color: var(--muted); font-size: 10px; text-transform: uppercase; }
.sidebar nav { display: flex; align-items: center; gap: 5px; margin-left: auto; }
.nav-link { display: inline-flex; justify-content: center; align-items: center; gap: 8px; min-height: 35px; padding: 7px 12px; border: 1px solid var(--line); color: var(--muted); background: #110b1a; font-size: 11px; font-weight: 700; line-height: 1.4; text-transform: uppercase; white-space: nowrap; }
.nav-link svg { width: 15px; height: 15px; }
.nav-link:hover { color: var(--pink); border-color: var(--pink); }
.nav-link.active { color: #170c19; border-color: var(--pink); background: var(--pink); }
.nav-active-dot { display: none; }
.sidebar-community, .sidebar-bottom { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }
.sidebar-link, .sidebar-button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 35px; border: 1px solid var(--line); padding: 7px 10px; color: var(--muted); background: transparent; font-size: 11px; font-weight: 600; text-transform: uppercase; white-space: nowrap; }
.sidebar-link:hover { color: var(--cyan); border-color: var(--cyan); }
a.sidebar-link { text-decoration: none; }
.footer-community { display: inline-flex; align-items: center; min-height: 44px; padding: 0 6px; color: var(--cyan); text-decoration: none; letter-spacing: inherit; }
.footer-community:hover, .footer-community:focus-visible { text-decoration: underline; }
.sidebar-button { color: var(--cyan); border-color: #245469; }
.sidebar-button:hover { color: var(--canvas); background: var(--cyan); border-color: var(--cyan); }
.sidebar-link svg, .sidebar-button svg { width: 15px; height: 15px; }
.sidebar-community h3, .sidebar-community p, .community-icon, .sidebar-caption { display: none; }
.app-shell { width: 100%; min-width: 0; }
.topbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 49px; padding: 8px 28px; border-bottom: 1px solid var(--line); background: #0b0811; }
.breadcrumb { display: flex; align-items: center; gap: 11px; color: var(--dim); font-size: 11px; text-transform: uppercase; letter-spacing: .5px; }
.breadcrumb strong { color: var(--cyan); font-size: 11px; font-weight: 600; }
.crumb-divider { color: var(--line-bright); }
.topbar-actions { display: flex; align-items: center; gap: 16px; }
.demo-pill, .terminal-fee { display: inline-flex; align-items: center; gap: 7px; border: 1px solid #7f7330; padding: 4px 8px; color: var(--yellow); background: #25200e; font-size: 10px; font-weight: 700; line-height: 1.4; letter-spacing: .3px; text-transform: uppercase; white-space: nowrap; }
.demo-pill > span { width: 5px; height: 5px; background: var(--yellow); }
.terminal-fee { color: var(--lime); border-color: #2d6545; background: #0b2115; }
.topbar-divider { width: 1px; height: 19px; background: var(--line); }
.account-button { display: inline-flex; align-items: center; gap: 8px; padding: 0; color: var(--muted); background: none; }
.account-button > span:last-child { color: var(--dim); margin-left: 5px; }
.account-button > span:last-child svg { width: 12px; height: 12px; }
.avatar { display: inline-grid; place-items: center; flex-shrink: 0; width: 29px; height: 29px; border: 1px solid var(--line-bright); color: var(--pink); background: #27102a; font-size: 12px; font-weight: 700; }
.avatar-account { border-color: #694d7c; color: #e7baff; background: #251531; }
.avatar-mira { color: var(--pink); background: #2d102c; border-color: #7a2e6c; }
.avatar-james { color: var(--cyan); background: #0c2632; border-color: #255d73; }
.avatar-sophia { color: var(--lime); background: #102c22; border-color: #286448; }
.account-text { display: flex; align-items: center; gap: 9px; text-align: left; }
.account-text strong { color: var(--ink); font-size: 11px; font-weight: 500; }
.account-text small { color: var(--dim); font-size: 11px; }
.terminal-ticker { display: flex; align-items: center; min-height: 33px; padding: 0 28px; border-bottom: 1px solid var(--line); color: var(--muted); background: #0a0810; overflow-x: auto; scrollbar-width: thin; scrollbar-color: var(--line) var(--canvas); font-size: 10px; line-height: 1.4; text-transform: uppercase; letter-spacing: .3px; }
.ticker-label { flex-shrink: 0; margin-right: 17px; color: var(--pink); font-size: 10px; font-weight: 700; white-space: nowrap; }
.ticker-item { display: inline-flex; align-items: center; flex-shrink: 0; gap: 8px; padding: 8px 18px; border-left: 1px solid var(--line); color: var(--cyan); white-space: nowrap; }
.ticker-item small { color: var(--dim); font-size: 10px; }
.ticker-node { display: inline-block; flex-shrink: 0; width: 4px; height: 4px; border: 1px solid var(--cyan); background: transparent; }
.ticker-note { flex-shrink: 0; margin-left: auto; padding-left: 18px; color: var(--dim); font-size: 10px; white-space: nowrap; }

/* Panel grid and financial hierarchy. */
main { width: 100%; max-width: 1440px; margin: 0 auto; padding: 23px 28px 0; outline: none; }
#view-content { min-width: 0; }
.page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding-bottom: 18px; margin-bottom: 20px; border-bottom: 1px solid var(--line); }
.eyebrow { color: var(--pink); font-size: 10px; font-weight: 700; line-height: 1.5; letter-spacing: 1.2px; text-transform: uppercase; margin-bottom: 7px; }
h1 { color: var(--ink); margin: 0; font-size: clamp(25px, 2.3vw, 33px); font-weight: 750; line-height: 1.2; letter-spacing: -.6px; text-transform: uppercase; }
h1 > span { color: var(--pink); }
.page-heading p { color: var(--muted); font-size: 12px; line-height: 1.6; margin: 9px 0 0; }
.heading-decoration { display: flex; align-items: center; gap: 10px; color: var(--pink); font-size: 11px; white-space: nowrap; }
.heading-decoration svg { width: 32px; height: 32px; fill: var(--pink); stroke: none; image-rendering: pixelated; }
.heading-decoration span { color: var(--muted); font-size: 10px; letter-spacing: .5px; }
.terminal-cursor { display: inline-block; width: 10px; height: 23px; background: var(--pink); margin-left: 9px; vertical-align: -2px; animation: cursor-blink 1.2s steps(1) infinite; }
@keyframes cursor-blink { 0%, 48% { opacity: 1; } 49%, 100% { opacity: 0; } }
.summary-grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 14px; margin-bottom: 20px; }
.card { min-width: 0; border: 1px solid var(--line); background: var(--panel); }
.balance-card, .asset-summary, .telegram-card { position: relative; min-height: 145px; padding: 18px 21px; }
.balance-card { border-color: #286448; border-top: 2px solid var(--lime); background: #0b1412; }
.card-label { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 11px; font-weight: 500; letter-spacing: .4px; text-transform: uppercase; }
.card-label svg { width: 13px; height: 13px; color: var(--dim); }
.balance-card .card-label { color: #a8c8b5; }
.balance-amount { color: var(--lime); margin-top: 12px; font-size: 37px; font-weight: 700; line-height: 1; letter-spacing: -1.3px; overflow-wrap: anywhere; }
.balance-amount > span { color: #79b491; margin-right: 4px; font-size: 26px; font-weight: 400; }
.balance-caption { display: flex; align-items: center; gap: 8px; color: #85a994; font-size: 10px; line-height: 1.5; margin-top: 14px; }
.little-dot { display: inline-block; flex-shrink: 0; width: 5px; height: 5px; background: var(--lime); }
.asset-summary { border-top: 2px solid var(--cyan); }
.asset-summary-line { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 15px; }
.asset-summary-line + .asset-summary-line { margin-top: 10px; }
.asset-summary-name { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--ink); }
.asset-summary-line strong { color: var(--cyan); font-size: 16px; font-weight: 600; text-align: right; overflow-wrap: anywhere; }
.asset-summary-line strong small { color: var(--muted); font-size: 11px; font-weight: 400; margin-left: 5px; }
.token-icon { display: inline-grid; place-items: center; flex-shrink: 0; width: 24px; height: 24px; border: 1px solid #3b455e; background: #151725; color: #b7c5f1; font-size: 12px; font-weight: 700; }
.token-icon svg { width: 16px; height: 16px; }
.token-icon.bnb { color: var(--yellow); background: #27220f; border-color: #655722; }
.token-icon.usdc { color: var(--cyan); background: #0b2530; border-color: #215368; }
.token-icon.usdt { color: var(--lime); background: #0d271c; border-color: #20563a; }
.telegram-card { display: flex; flex-direction: column; align-items: flex-start; border-top: 2px solid var(--pink); background: #160d20; overflow: hidden; }
.telegram-card h3 { max-width: 80%; color: #fac9f3; font-size: 16px; font-weight: 700; text-transform: uppercase; line-height: 1.3; letter-spacing: .3px; margin: 0 0 7px; }
.telegram-card p { max-width: 80%; color: var(--muted); font-size: 11px; line-height: 1.6; margin: 0; }
.text-button { display: inline-flex; align-items: center; justify-content: flex-start; gap: 7px; min-height: 22px; padding: 0; color: var(--cyan); background: transparent; font-size: 11px; font-weight: 600; line-height: 1.5; text-transform: uppercase; letter-spacing: .25px; }
.text-button:hover { color: #b4f5ff; text-decoration: underline; text-underline-offset: 4px; }
.text-button svg { width: 14px; height: 14px; }
.telegram-card .text-button { margin-top: auto; padding-top: 12px; font-size: 11px; }
.telegram-art { position: absolute; right: 18px; top: 47px; color: #6c356d; }
.telegram-art svg { width: 34px; height: 34px; }
.main-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(320px, 1fr); align-items: start; gap: 18px; }
.compose-card { padding: 20px 22px 18px; border-color: #6c2b64; border-top: 2px solid var(--pink); }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 13px; margin: -20px -22px 19px; padding: 11px 16px; border-bottom: 1px solid var(--line); background: #140c1e; }
.section-heading h2 { display: flex; align-items: center; gap: 8px; margin: 0; color: var(--pink); font-size: 13px; font-weight: 700; line-height: 1.5; text-transform: uppercase; letter-spacing: .6px; }
.section-heading h2 > [data-icon] { color: var(--pink); }
.section-heading h2 svg { width: 17px; height: 17px; }
.subtle-tag { display: inline-flex; align-items: center; flex-shrink: 0; border: 1px solid #706125; background: #25200e; padding: 2px 6px; color: var(--yellow); font-size: 10px; font-weight: 600; line-height: 1.4; letter-spacing: .35px; text-transform: uppercase; white-space: nowrap; }
.segmented { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; margin-bottom: 18px; }
.segment { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 38px; border: 1px solid var(--line); padding: 9px; color: var(--muted); background: var(--deep); font-size: 12px; font-weight: 600; line-height: 1.4; text-transform: uppercase; }
.segment svg { width: 15px; height: 15px; }
.segment:hover { color: #ead4fb; border-color: var(--line-bright); }
.segment.active { color: var(--pink); border-color: #b13d9f; background: #28102b; }
.field-label { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 5px 14px; color: #c8b9da; font-size: 11px; font-weight: 600; line-height: 1.5; margin-bottom: 7px; }
.field-label .hint { color: var(--dim); font-size: 11px; font-weight: 400; }
.input-shell { display: flex; align-items: center; gap: 9px; min-height: 42px; padding: 0 12px; border: 1px solid #4b325e; background: var(--deep); }
.input-shell:focus-within { outline: 1px solid var(--cyan); outline-offset: 2px; border-color: var(--cyan); }
.input-shell input { width: 100%; padding: 11px 0; border: 0; outline: 0; color: var(--ink); background: transparent; caret-color: var(--cyan); font-size: 14px; line-height: 1.4; }
.input-shell input:focus-visible { outline: none; }
.input-shell > span { color: var(--cyan); font-size: 15px; }
.input-shell > [data-icon] { color: var(--dim); }
.input-shell > [data-icon] svg { width: 15px; height: 15px; }
.suggestions { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin: 9px 0 18px; }
.suggestion { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--line); padding: 3px 7px 3px 3px; color: var(--muted); background: #100c19; font-size: 11px; line-height: 1.4; }
.suggestion:hover { color: var(--pink); border-color: #7d376f; }
.suggestion.selected { color: #f6b7ec; border-color: #a63a92; background: #251026; }
.suggestion .avatar { width: 20px; height: 20px; font-size: 10px; }
.amount-shell { min-height: 60px; padding: 0 14px; }
.amount-shell > input { color: var(--lime); padding: 13px 0; font-size: 29px; font-weight: 600; letter-spacing: .3px; }
.currency-select { display: flex; align-items: center; gap: 7px; flex-shrink: 0; }
.currency-select select { max-width: 96px; border: 0; padding: 6px 2px; color: var(--cyan); background: var(--deep); font-size: 13px; font-weight: 600; cursor: pointer; }
.currency-select select option { color: var(--ink); background: var(--panel); }
.amount-helper { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-top: 7px; color: var(--dim); font-size: 11px; line-height: 1.5; }
.amount-helper button { flex-shrink: 0; color: var(--cyan); background: none; padding: 0; font-size: 11px; line-height: 1.5; text-transform: uppercase; }
.amount-helper button:hover { text-decoration: underline; text-underline-offset: 3px; }
.network-label { margin-top: 17px; }
.network-options { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
.network-option { display: flex; align-items: center; justify-content: center; gap: 7px; min-width: 0; min-height: 37px; padding: 8px 5px; border: 1px solid var(--line); color: var(--muted); background: var(--deep); font-size: 11px; line-height: 1.4; white-space: nowrap; }
.network-option:hover { border-color: #3c697b; color: var(--cyan); }
.network-option.active { border-color: var(--cyan); color: var(--cyan); background: #0c2630; }
.network-option .network-icon { width: 15px; height: 15px; min-width: 15px; border: 0; background: none; }
.network-option .network-icon svg { width: 14px; height: 14px; }
.network-icon { display: inline-grid; place-items: center; flex-shrink: 0; width: 30px; height: 30px; border: 1px solid #3b455c; color: #afc4ff; background: #131828; }
.network-icon svg { width: 18px; height: 18px; }
.network-icon.bnb { color: var(--yellow); background: #25210e; border-color: #5c5120; }
.network-icon.robinhood { color: var(--lime); background: #10291e; border-color: #275f41; }
.network-icon.arc { color: #d496ff; background: #241332; border-color: #55316f; }
.fee-preview { display: flex; flex-direction: column; gap: 9px; margin: 18px 0 13px; padding: 14px; border: 1px solid var(--line); border-left: 2px solid var(--cyan); background: var(--deep); }
.fee-line { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; color: var(--muted); font-size: 12px; line-height: 1.6; }
.fee-line > span:first-child { min-width: 0; }
.fee-line strong { max-width: 65%; color: #e5d6f2; font-weight: 500; text-align: right; overflow-wrap: anywhere; }
.fee-line.total { align-items: baseline; padding-top: 10px; margin-top: 1px; border-top: 1px solid var(--line); color: var(--ink); font-size: 12px; font-weight: 600; }
.fee-line.total strong { color: var(--lime); font-size: 17px; font-weight: 700; }
.fee-line.recipient-note { color: var(--yellow); font-size: 11px; }
.fee-line.recipient-note strong { color: #cbbd74; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 39px; padding: 10px 15px; border: 1px solid transparent; font-size: 13px; font-weight: 650; line-height: 1.5; text-align: center; text-transform: uppercase; letter-spacing: .35px; }
.primary-button { width: 100%; min-height: 43px; border-color: var(--pink); color: #180917; background: var(--pink); font-size: 13px; font-weight: 800; }
.primary-button:hover:not(:disabled) { background: #ff79e9; border-color: #ff9aee; }
.primary-button svg { width: 17px; height: 17px; stroke-width: 2; }
.secondary-button { border-color: #4d345e; color: var(--cyan); background: #130e1d; font-size: 12px; }
.secondary-button:hover:not(:disabled) { border-color: var(--cyan); color: #c4f7ff; background: #11212b; }
.secondary-button svg { width: 15px; height: 15px; }
.form-footer { display: flex; align-items: center; justify-content: center; gap: 6px; color: var(--dim); font-size: 11px; line-height: 1.6; text-align: center; margin-top: 11px; }
.form-footer svg { width: 12px; height: 12px; flex-shrink: 0; }
.group-select { width: 100%; border: 1px solid #4b325e; padding: 11px 12px; color: var(--ink); background: var(--deep); font-size: 13px; }
.group-info { color: var(--muted); font-size: 11px; line-height: 1.8; margin: 8px 0 18px; }
.portfolio-card { padding: 20px 21px 0; border-top: 2px solid var(--cyan); }
.portfolio-card .section-heading { margin: -20px -21px 0; background: #0b1620; }
.portfolio-card .section-heading h2 { color: var(--cyan); }
.icon-button { display: inline-grid; place-items: center; width: 25px; height: 25px; padding: 4px; border: 1px solid var(--line); color: var(--muted); background: none; }
.icon-button:hover { color: var(--cyan); border-color: var(--cyan); }
.icon-button svg { width: 15px; height: 15px; }
.network-row { display: flex; align-items: center; gap: 11px; min-height: 73px; padding: 14px 0; border-bottom: 1px solid #2a1b3a; }
.network-name { display: flex; flex-direction: column; flex: 1; gap: 4px; min-width: 0; }
.network-name strong { color: var(--ink); font-size: 12px; font-weight: 500; }
.network-name small { color: var(--dim); font-size: 11px; }
.network-balance { max-width: 52%; color: var(--lime); font-size: 14px; font-weight: 550; line-height: 1.7; text-align: right; overflow-wrap: anywhere; }
.network-balance small { display: block; color: var(--muted); font-size: 11px; font-weight: 400; }
.mini-chain-label { display: inline-flex; align-items: center; border: 1px solid #5a3973; padding: 1px 4px; color: var(--violet); font-size: 10px; line-height: 1.4; margin-left: 5px; }
.wallet-actions { display: flex; gap: 9px; margin: 17px 0; }
.wallet-actions > .button { flex: 1; min-width: 0; }
.community-card { position: relative; margin-top: 16px; padding: 20px 22px; border: 1px solid #665628; border-left: 2px solid var(--yellow); background: #17140d; overflow: hidden; }
.community-card .eyebrow { color: var(--yellow); font-size: 10px; margin-bottom: 8px; }
.community-card h3 { max-width: 88%; color: #f2e7ae; font-size: 16px; font-weight: 600; line-height: 1.45; text-transform: uppercase; margin: 0 0 8px; }
.community-card p { max-width: 90%; color: #aaa187; font-size: 11px; line-height: 1.8; margin: 0 0 12px; }
.community-card .text-button { color: var(--yellow); }
.community-graphic { position: absolute; right: 18px; bottom: 12px; color: #5b4d29; font-size: 44px; line-height: 1; }

/* Pixel office illustration is decorative, not a live network display. */
.pixel-floor { position: relative; margin-top: 20px; border: 1px solid var(--line); background: #0a0711; overflow: hidden; }
.pixel-floor-label { position: relative; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 7px 20px; padding: 9px 14px; border-bottom: 1px solid var(--line); background: #120b1b; color: var(--pink); font-size: 11px; font-weight: 600; line-height: 1.4; letter-spacing: .7px; text-transform: uppercase; }
.pixel-floor-tools { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.pixel-room-caption { color: var(--dim); font-size: 10px; font-weight: 400; }
.room-motion-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 29px; padding: 5px 8px; border: 1px solid #5c3769; color: #d9b7e8; background: #1d1028; font-size: 10px; font-weight: 600; line-height: 1.4; letter-spacing: .2px; white-space: nowrap; }
.room-motion-toggle:hover:not(:disabled) { border-color: var(--cyan); color: var(--cyan); background: #10232e; }
.room-motion-toggle[aria-pressed="true"] { color: var(--lime); border-color: #316b4b; background: #102219; }
.room-motion-toggle svg { width: 11px; height: 11px; stroke-width: 2; }
.room-motion-toggle:disabled { color: var(--dim); opacity: .7; }
.pixel-scene { width: 100%; overflow: hidden; line-height: 0; }
.pixel-scene > img, .pixel-scene > svg { display: block; width: 100%; height: auto; max-height: 245px; object-fit: cover; object-position: center; image-rendering: pixelated; }
.pixel-scene > svg { fill: #000; stroke: none; stroke-width: 1; stroke-linecap: butt; stroke-linejoin: miter; }

/* Tiny stepped loops bring the illustration to life without moving its panels. */
.pixel-scene .desk-station { --room-phase: 0s; }
.pixel-scene .station-amber { --room-phase: -.6s; }
.pixel-scene .station-lime { --room-phase: -1.2s; }
.pixel-scene .station-cyan { --room-phase: -1.8s; }
.pixel-scene .desk-robot { animation: room-robot-bob 2.4s steps(2, end) infinite; animation-delay: var(--room-phase); }
.pixel-scene .robot-eyes, .pixel-scene .floor-bot-eyes { transform-box: fill-box; transform-origin: center; animation: room-eye-blink 5.8s steps(1, end) infinite; animation-delay: var(--room-phase, -.8s); }
.pixel-scene .robot-hand-left { animation: room-key-tap 1.2s steps(2, end) infinite; animation-delay: var(--room-phase); }
.pixel-scene .robot-hand-right { animation: room-key-tap 1.2s steps(2, end) infinite reverse; animation-delay: var(--room-phase); }
.pixel-scene .monitor-frame-primary { animation: room-picture-primary 8s steps(1, end) infinite; animation-delay: var(--room-phase); }
.pixel-scene .monitor-frame-secondary { animation: room-picture-secondary 8s steps(1, end) infinite; animation-delay: var(--room-phase); }
.pixel-scene .monitor-signal { animation: room-screen-signal 2.4s steps(3, end) infinite; animation-delay: var(--room-phase); }
.pixel-scene .desk-float { animation: room-floating-gift 3.2s steps(5, end) infinite; animation-delay: var(--room-phase); }
.pixel-scene .desk-spark { animation: room-sparkle 3.2s steps(2, end) infinite; animation-delay: var(--room-phase); }
.pixel-scene .floor-bot-one { animation: room-patrol-one 15s steps(55, end) infinite; }
.pixel-scene .floor-bot-two { --room-phase: -2.1s; animation: room-patrol-two 17s steps(55, end) infinite; }
.pixel-scene .floor-bot-body { animation: room-small-bob .6s steps(2, end) infinite; }
.pixel-scene .floor-bot-wheel { animation: room-wheel-tick .5s steps(2, end) infinite; }
.motion-paused .pixel-scene * { animation-play-state: paused !important; }
@keyframes room-robot-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes room-eye-blink { 0%, 89%, 96%, 100% { transform: scaleY(1); } 91%, 94% { transform: scaleY(.12); } }
@keyframes room-key-tap { 0%, 50%, 100% { transform: translateY(0); } 25%, 75% { transform: translateY(-2px); } }
@keyframes room-picture-primary { 0%, 100% { opacity: 1; } 50% { opacity: 0; } }
@keyframes room-picture-secondary { 0%, 100% { opacity: 0; } 50% { opacity: 1; } }
@keyframes room-screen-signal { 0%, 100% { opacity: .65; } 50% { opacity: 1; } }
@keyframes room-floating-gift { 0%, 100% { transform: translate(0, 0); } 50% { transform: translate(2px, -5px); } }
@keyframes room-sparkle { 0%, 100% { opacity: .35; } 50% { opacity: .9; } }
@keyframes room-patrol-one { 0%, 100% { transform: translateX(0); } 42%, 50% { transform: translateX(220px); } 92% { transform: translateX(0); } }
@keyframes room-patrol-two { 0%, 100% { transform: translateX(0); } 43%, 52% { transform: translateX(-190px); } 95% { transform: translateX(0); } }
@keyframes room-small-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-1px); } }
@keyframes room-wheel-tick { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(1px); } }

/* Chronicle and individual network wallets. */
.activity-card { margin-top: 20px; padding: 20px 22px 0; border-top: 2px solid #7e409a; }
.activity-card .section-heading { margin-bottom: 6px; }
.activity-card .text-button { font-size: 11px; }
.activity-table { width: 100%; border-collapse: collapse; text-align: left; }
.activity-table th { padding: 11px 0; border-bottom: 1px solid var(--line); color: var(--dim); font-size: 10px; font-weight: 500; line-height: 1.5; text-transform: uppercase; letter-spacing: .7px; }
.activity-table th:first-child { width: 38%; }
.activity-table th:nth-child(2) { width: 18%; }
.activity-table th:last-child, .activity-table td:last-child { text-align: right; }
.activity-table td { padding: 15px 0; border-bottom: 1px solid #281a37; color: var(--muted); font-size: 12px; line-height: 1.6; vertical-align: middle; }
.activity-table tbody tr:last-child td { border-bottom: 0; }
.activity-user { display: flex; align-items: center; gap: 11px; min-width: 0; padding-right: 15px; }
.activity-symbol { display: inline-grid; place-items: center; flex-shrink: 0; width: 29px; height: 29px; border: 1px solid #5c2961; color: var(--pink); background: #241027; }
.activity-symbol.received { border-color: #25603d; color: var(--lime); background: #0e2419; }
.activity-symbol.pending { border-color: #6e5d23; color: var(--yellow); background: #27210c; }
.activity-symbol svg { width: 15px; height: 15px; }
.activity-name { min-width: 0; }
.activity-name strong { display: block; color: #ddcde9; font-size: 12px; font-weight: 500; line-height: 1.5; overflow-wrap: anywhere; }
.activity-name small { display: block; color: var(--dim); font-size: 10px; line-height: 1.6; margin-top: 4px; }
.table-network { display: inline-flex; align-items: center; gap: 7px; color: var(--muted); font-size: 11px; }
.table-network .network-icon { width: 19px; height: 19px; border: 0; background: none; }
.table-network .network-icon svg { width: 14px; height: 14px; }
.activity-amount { color: #f1d3f0; font-size: 12px; font-weight: 600; padding-right: 12px; overflow-wrap: anywhere; }
.activity-amount.incoming { color: var(--lime); }
.activity-time { color: var(--dim); font-size: 11px; padding-right: 10px; }
.status { display: inline-flex; align-items: center; justify-content: center; padding: 3px 6px; border: 1px solid #2c6947; color: var(--lime); background: #0d2116; font-size: 10px; font-weight: 500; line-height: 1.4; text-transform: uppercase; white-space: nowrap; }
.status.pending { border-color: #6b5e27; color: var(--yellow); background: #25200d; }
.wallet-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.wallet-network-card { padding: 21px 22px; border-top: 2px solid var(--cyan); }
.wallet-network-card:nth-child(2) { border-top-color: var(--yellow); }
.wallet-network-card:nth-child(3) { border-top-color: var(--lime); }
.wallet-network-card:nth-child(4) { border-top-color: var(--violet); }
.wallet-network-heading { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.wallet-network-heading h2 { color: var(--ink); font-size: 15px; font-weight: 600; text-transform: uppercase; letter-spacing: .4px; line-height: 1.4; margin: 0 0 4px; }
.wallet-network-heading small { color: var(--dim); font-size: 11px; }
.wallet-asset-row { display: flex; align-items: center; gap: 10px; padding: 14px 0; border-top: 1px solid var(--line); }
.wallet-asset-row > span:nth-child(2) { flex: 1; color: var(--muted); font-size: 13px; }
.wallet-asset-row strong { max-width: 70%; color: var(--lime); font-size: 15px; font-weight: 500; text-align: right; overflow-wrap: anywhere; }
.wallet-network-card .wallet-actions { margin-bottom: 0; }
.view-note { color: var(--muted); font-size: 11px; line-height: 1.9; margin: 20px 0 0; }
.empty-state { color: var(--muted); font-size: 12px; line-height: 1.9; text-align: center; padding: 36px 20px; }
.page-footer { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 9px 20px; padding: 20px 0 23px; color: var(--dim); font-size: 10px; line-height: 1.8; text-transform: uppercase; letter-spacing: .25px; }
.page-footer > span:first-child { display: inline-flex; align-items: center; gap: 8px; }
.page-footer > span:last-child { color: #b7a362; }
.footer-mark { color: var(--pink); font-size: 16px; }
.notice { padding: 12px 15px; margin-bottom: 18px; border: 1px solid #6b5d27; border-left: 3px solid var(--yellow); color: #e5d590; background: #211d0e; font-size: 12px; line-height: 1.8; }
.notice.error { border-color: #7b3047; border-left-color: var(--red); color: #ffc0cc; background: #280f1a; }
.loading-state { display: flex; align-items: center; justify-content: center; gap: 13px; padding: 100px 20px; color: var(--cyan); font-size: 13px; text-transform: uppercase; letter-spacing: .4px; }
.loading-spinner { display: inline-block; width: 16px; height: 16px; border: 2px solid #163d4e; border-top-color: var(--cyan); animation: spinner 1s linear infinite; }
@keyframes spinner { to { transform: rotate(360deg); } }

/* Held funds are visually distinct from completed tips. */
.pending-tips-card { padding: 20px 22px; margin-bottom: 20px; border-top: 2px solid var(--yellow); }
.pending-tips-card .section-heading { flex-wrap: wrap; margin-bottom: 16px; }
.pending-tips-card .section-heading h2, .pending-tips-card .section-heading h2 > [data-icon] { color: var(--yellow); }
.pending-heading-actions { display: flex; align-items: center; gap: 13px; }
.pending-heading-actions .text-button { font-size: 11px; }
.pending-intro { max-width: 960px; color: var(--muted); font-size: 12px; line-height: 1.9; margin: 0 0 18px; }
.pending-empty { padding: 23px; border: 1px dashed #4c355b; color: #d7c4e9; background: var(--deep); font-size: 13px; font-weight: 500; line-height: 1.7; text-align: center; }
.pending-empty span { display: block; max-width: 740px; margin: 9px auto 0; color: var(--dim); font-size: 11px; font-weight: 400; line-height: 1.8; }
.pending-tip { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) minmax(160px, .8fr); align-items: start; gap: 22px; padding: 21px 0; border-top: 1px solid var(--line); }
.pending-person { display: flex; align-items: flex-start; gap: 11px; }
.pending-person strong { display: block; color: var(--ink); font-size: 13px; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
.pending-person small { display: block; color: var(--dim); font-size: 11px; line-height: 1.7; margin-top: 5px; }
.pending-person .status { margin-top: 10px; }
.pending-amount { display: flex; flex-direction: column; gap: 10px; margin: 0; }
.pending-amount > div { display: flex; justify-content: space-between; gap: 13px; font-size: 12px; line-height: 1.6; }
.pending-amount dt { flex-shrink: 0; color: var(--muted); }
.pending-amount dd { max-width: 70%; margin: 0; color: var(--ink); text-align: right; overflow-wrap: anywhere; }
.pending-amount > div:first-child dd { color: var(--yellow); font-size: 13px; font-weight: 600; }
.pending-expiry { display: flex; flex-direction: column; align-items: flex-end; color: var(--muted); font-size: 11px; line-height: 1.7; text-align: right; }
.pending-expiry strong { color: #efdb91; font-size: 12px; font-weight: 500; margin-top: 4px; }
.pending-expiry small { color: var(--dim); font-size: 10px; }
.pending-expiry .button { margin-top: 13px; font-size: 11px; }
.pending-footnote { border-top: 1px solid var(--line); padding-top: 15px; margin: 0; color: var(--dim); font-size: 11px; line-height: 1.9; }

/* Reviews, confirmations, settings, and errors keep their full contrast. */
dialog { width: min(510px, calc(100% - 32px)); max-height: calc(100% - 40px); padding: 0; border: 1px solid var(--pink); color: var(--ink); background: #100b19; overflow-x: hidden; overflow-y: auto; box-shadow: 0 20px 100px #000b; scrollbar-color: var(--line-bright) var(--panel); scrollbar-width: thin; }
dialog::backdrop { background: #050209d9; backdrop-filter: blur(3px); }
.dialog-content { position: relative; padding: 31px; border-top: 3px solid var(--pink); }
.dialog-close { position: absolute; top: 13px; right: 13px; width: 26px; height: 26px; }
.dialog-close svg { width: 17px; height: 17px; }
.modal-icon { display: grid; place-items: center; width: 43px; height: 43px; margin-bottom: 20px; border: 1px solid #7f2d75; color: var(--pink); background: #2a0f2b; }
.modal-icon svg { width: 23px; height: 23px; }
.modal-icon.success { border-color: #317d52; color: var(--lime); background: #102b1c; }
.dialog-content h2 { color: #f7def4; font-size: 22px; font-weight: 650; line-height: 1.35; letter-spacing: -.5px; text-transform: uppercase; margin: 0 0 14px; }
.modal-copy { color: #b5a4c7; font-size: 13px; line-height: 1.9; margin: 0 0 18px; overflow-wrap: anywhere; }
.modal-copy strong { color: var(--cyan); font-weight: 500; }
.modal-copy code { border: 1px solid #453050; padding: 3px 5px; color: var(--cyan); background: #0a0810; font: inherit; font-size: 12px; line-height: 2; overflow-wrap: anywhere; }
.modal-breakdown { padding: 16px; margin: 21px 0; border: 1px solid var(--line); border-left: 2px solid var(--cyan); background: var(--deep); }
.modal-breakdown .fee-line { font-size: 12px; padding: 6px 0; }
.modal-breakdown .fee-line.total { padding-top: 13px; margin-top: 8px; }
.modal-breakdown .fee-line.total strong { font-size: 16px; }
.modal-note { color: var(--muted); font-size: 11px; line-height: 1.9; margin: 15px 0; overflow-wrap: anywhere; }
.modal-footer { display: flex; align-items: stretch; gap: 9px; margin-top: 23px; }
.modal-footer > * { flex: 1; min-width: 0; }
.modal-footer .button { padding: 10px 11px; font-size: 12px; }
.inline-error { border-left: 2px solid var(--red); padding-left: 10px; color: #ffacc3; font-size: 12px; line-height: 1.8; margin: 13px 0; }
.toast { position: fixed; left: 50%; bottom: 23px; z-index: 60; width: max-content; max-width: min(600px, calc(100% - 32px)); transform: translateX(-50%); border: 1px solid var(--cyan); border-left: 3px solid var(--cyan); padding: 13px 20px; color: #c2f7ff; background: #0b1720; font-size: 12px; line-height: 1.8; box-shadow: 0 10px 40px #0008; overflow-wrap: anywhere; }
.help-step { display: flex; align-items: flex-start; gap: 13px; margin-top: 17px; color: var(--muted); font-size: 12px; line-height: 1.9; }
.help-step > span { display: grid; place-items: center; flex-shrink: 0; width: 24px; height: 24px; border: 1px solid #663176; color: var(--pink); background: #25102d; font-size: 12px; }
.help-step strong { color: #ead0f5; font-weight: 600; }
.about-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 13px 0; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; line-height: 1.7; }
.about-row strong { max-width: 64%; color: var(--cyan); font-weight: 500; text-align: right; overflow-wrap: anywhere; }
.mobile-only { display: none; }

/* Responsive rules change the grid, never the account's financial semantics. */
@media (min-width: 1600px) {
  .sidebar, .topbar, .terminal-ticker { padding-left: max(28px, calc((100vw - 1384px) / 2)); padding-right: max(28px, calc((100vw - 1384px) / 2)); }
  main { padding-top: 27px; }
  .summary-grid { gap: 18px; }
  .balance-card, .asset-summary, .telegram-card { min-height: 151px; }
  .main-grid { gap: 20px; }
}
@media (max-width: 1120px) {
  .sidebar { gap: 17px; padding-left: 22px; padding-right: 22px; }
  .brand { font-size: 22px; gap: 9px; }
  .brand-tagline { font-size: 10px; letter-spacing: .7px; }
  .nav-link { padding-left: 10px; padding-right: 10px; }
  .sidebar-link { padding-left: 8px; padding-right: 8px; }
  .topbar, .terminal-ticker { padding-left: 22px; padding-right: 22px; }
  main { padding-left: 22px; padding-right: 22px; }
  .main-grid { grid-template-columns: minmax(0, 1.4fr) minmax(300px, 1fr); gap: 16px; }
  .summary-grid { gap: 12px; }
  .balance-card, .asset-summary, .telegram-card { padding-left: 17px; padding-right: 17px; }
  .balance-amount { font-size: 33px; }
  .asset-summary-line strong { font-size: 14px; }
  .telegram-card h3 { font-size: 15px; }
  .compose-card { padding-left: 18px; padding-right: 18px; }
  .compose-card > .section-heading { margin-left: -18px; margin-right: -18px; }
  .network-option { gap: 5px; }
  .network-row { gap: 9px; }
  .network-balance { font-size: 13px; }
  .community-card h3 { font-size: 15px; }
  .pending-tip { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .pending-expiry { grid-column: 1 / -1; flex-direction: row; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 9px; text-align: left; }
  .pending-expiry strong { margin: 0; }
  .pending-expiry .button { margin: 0 0 0 auto; }
}
@media (max-width: 900px) {
  .sidebar { flex-wrap: wrap; gap: 12px 18px; padding: 13px 20px; }
  .sidebar nav { order: 4; width: 100%; margin-left: 0; }
  .sidebar nav > * { flex: 1; }
  .sidebar-bottom { margin-left: auto; }
  .topbar, .terminal-ticker { padding-left: 20px; padding-right: 20px; }
  .topbar-actions { gap: 12px; }
  main { padding: 21px 20px 0; }
  .heading-decoration { display: none; }
  .summary-grid { gap: 10px; }
  .balance-card, .asset-summary, .telegram-card { padding: 16px 14px; min-height: 145px; }
  .card-label { font-size: 10px; letter-spacing: .1px; }
  .balance-amount { font-size: 31px; }
  .asset-summary-name { font-size: 11px; gap: 6px; }
  .asset-summary-line strong { font-size: 13px; }
  .asset-summary-line strong small { margin-left: 3px; font-size: 10px; }
  .telegram-card h3 { max-width: 100%; font-size: 14px; }
  .telegram-card p { max-width: 100%; }
  .telegram-art { display: none; }
  .main-grid { grid-template-columns: minmax(0, 1.35fr) minmax(285px, 1fr); }
  .section-heading { padding-left: 13px; padding-right: 13px; }
  .section-heading h2 { font-size: 12px; letter-spacing: .2px; }
  .subtle-tag { padding-left: 4px; padding-right: 4px; }
  .segment { font-size: 11px; }
  .field-label .hint { font-size: 10px; }
  .network-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .network-option { font-size: 12px; padding: 8px; }
  .portfolio-card { padding-left: 16px; padding-right: 16px; }
  .portfolio-card .section-heading { margin-left: -16px; margin-right: -16px; }
  .network-name strong { font-size: 11px; }
  .network-name small { font-size: 10px; }
  .network-icon { width: 26px; height: 26px; }
  .network-balance { font-size: 12px; }
  .network-balance small { font-size: 10px; }
  .community-card { padding: 18px 16px; }
  .community-card h3 { max-width: 100%; font-size: 14px; }
  .community-card p { max-width: 100%; }
  .community-graphic { display: none; }
  .wallet-actions { gap: 7px; }
  .wallet-actions .button { padding-left: 8px; padding-right: 8px; font-size: 11px; }
  .activity-table th:nth-child(2), .activity-table td:nth-child(2) { display: none; }
  .activity-table th:first-child { width: 43%; }
  .activity-name strong, .activity-amount { font-size: 11px; }
  .activity-time { font-size: 10px; }
}
@media (max-width: 700px) {
  .sidebar { padding-left: 16px; padding-right: 16px; gap: 11px 12px; }
  .brand { font-size: 23px; gap: 8px; }
  .brand-mark, .brand-mark img { width: 30px; height: 30px; }
  .sidebar-bottom .utility-label { display: none; }
  .sidebar-link { min-width: 31px; padding: 7px; gap: 0; }
  .nav-link { min-height: 37px; font-size: 11px; }
  .topbar { min-height: 47px; padding-left: 16px; padding-right: 16px; gap: 12px; }
  .breadcrumb { font-size: 10px; gap: 7px; }
  .breadcrumb strong { font-size: 10px; }
  .topbar-actions { gap: 10px; }
  .topbar-divider, .account-text, .account-button > span:last-child, .terminal-fee { display: none; }
  .demo-pill { font-size: 10px; padding: 4px 6px; letter-spacing: 0; }
  .avatar-account { width: 27px; height: 27px; font-size: 11px; }
  .terminal-ticker { padding-left: 16px; padding-right: 16px; }
  .ticker-label { margin-right: 12px; }
  .ticker-item { padding-left: 13px; padding-right: 13px; }
  main { padding: 20px 16px 0; }
  .page-heading { padding-bottom: 16px; margin-bottom: 17px; }
  .eyebrow { letter-spacing: .7px; }
  h1 { font-size: 26px; }
  .summary-grid { grid-template-columns: 1.1fr 1fr; gap: 10px; margin-bottom: 17px; }
  .telegram-card { display: none; }
  .balance-card, .asset-summary { min-height: 146px; padding: 17px 16px; }
  .balance-amount { margin-top: 17px; font-size: 31px; }
  .balance-caption { margin-top: 17px; }
  .asset-summary-line { margin-top: 19px; }
  .asset-summary-line + .asset-summary-line { margin-top: 13px; }
  .main-grid { grid-template-columns: minmax(0, 1fr); gap: 17px; }
  .compose-card { padding: 20px 20px 18px; }
  .compose-card > .section-heading { margin-left: -20px; margin-right: -20px; }
  .section-heading h2 { font-size: 13px; letter-spacing: .35px; }
  .segment { font-size: 12px; }
  .field-label .hint { font-size: 11px; }
  .network-options { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .network-option { font-size: 11px; padding: 9px 5px; }
  .portfolio-card { padding-left: 20px; padding-right: 20px; }
  .portfolio-card .section-heading { margin-left: -20px; margin-right: -20px; }
  .network-row { padding: 14px 0; }
  .network-icon { width: 30px; height: 30px; }
  .network-name strong { font-size: 13px; }
  .network-name small { font-size: 11px; }
  .network-balance { font-size: 14px; }
  .network-balance small { font-size: 11px; }
  .wallet-actions .button { padding: 10px 12px; font-size: 12px; }
  .community-card { padding: 19px 20px; }
  .community-card h3 { font-size: 16px; }
  .community-card h3 br { display: none; }
  .community-card p { font-size: 12px; }
  .pixel-floor { margin-top: 17px; }
  .pixel-scene > img, .pixel-scene > svg { width: 140%; max-width: none; max-height: 240px; margin-left: -20%; object-fit: contain; }
  .pixel-floor-label { padding-left: 12px; padding-right: 12px; font-size: 10px; }
  .activity-card { margin-top: 17px; padding: 20px 18px 0; }
  .activity-card .section-heading { margin-left: -18px; margin-right: -18px; }
  .activity-table th:nth-child(4), .activity-table td:nth-child(4) { display: none; }
  .activity-table th:first-child { width: 47%; }
  .activity-user { gap: 9px; padding-right: 10px; }
  .activity-amount { padding-right: 8px; }
  .activity-symbol { width: 25px; height: 25px; }
  .status { font-size: 10px; padding: 3px 4px; }
  .wallet-grid { grid-template-columns: minmax(0, 1fr); gap: 17px; }
  .wallet-network-card { padding: 20px; }
  .pending-tips-card { padding: 20px; margin-bottom: 17px; }
  .pending-tips-card .section-heading { margin-left: -20px; margin-right: -20px; }
  .pending-intro { font-size: 11px; }
  .pending-tip { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .pending-expiry { grid-column: auto; justify-content: flex-start; gap: 6px 9px; }
  .pending-expiry > span { width: 100%; }
  .pending-expiry .button { margin-left: auto; }
  .pending-amount > div:first-child dd { font-size: 14px; }
  .pending-empty { padding: 20px 16px; }
  .page-footer { justify-content: center; padding-bottom: 20px; text-align: center; }
}
@media (max-width: 480px) {
  .sidebar { gap: 11px 8px; padding: 12px; }
  .brand { font-size: 21px; gap: 8px; }
  .brand-tagline { font-size: 10px; letter-spacing: .3px; }
  .brand-mark, .brand-mark img { width: 29px; height: 29px; }
  .brand-desk { font-size: 19px; }
  .sidebar-bottom { margin-left: auto; }
  .sidebar nav { gap: 5px; }
  .nav-link { gap: 7px; padding: 8px 7px; font-size: 11px; }
  .nav-link svg { width: 14px; height: 14px; }
  .topbar { padding-left: 13px; padding-right: 13px; }
  .breadcrumb > span:first-child, .crumb-divider { display: none; }
  .breadcrumb strong { font-size: 11px; }
  .topbar-actions { gap: 10px; }
  .terminal-ticker { padding-left: 13px; padding-right: 13px; }
  main { padding: 18px 13px 0; }
  h1 { font-size: 25px; }
  .page-heading p { font-size: 11px; line-height: 1.8; }
  .summary-grid { gap: 9px; grid-template-columns: 1.1fr 1fr; }
  .balance-card, .asset-summary { min-height: 154px; padding: 15px 12px; }
  .card-label { font-size: 10px; letter-spacing: 0; gap: 5px; }
  .card-label svg { width: 11px; height: 11px; }
  .balance-amount { margin-top: 21px; font-size: 27px; letter-spacing: -1px; }
  .balance-amount > span { font-size: 21px; margin-right: 2px; }
  .balance-caption { margin-top: 19px; gap: 5px; font-size: 10px; line-height: 1.6; }
  .asset-summary-line { gap: 7px; }
  .asset-summary-name { font-size: 11px; gap: 5px; }
  .asset-summary-line .token-icon { width: 19px; height: 19px; }
  .asset-summary-line .token-icon svg { width: 13px; height: 13px; }
  .asset-summary-line strong { font-size: 13px; }
  .asset-summary-line strong small { display: block; font-size: 10px; margin: 1px 0 0; }
  .compose-card { padding: 20px 16px 17px; }
  .compose-card > .section-heading { margin-left: -16px; margin-right: -16px; }
  .section-heading { gap: 9px; padding-left: 12px; padding-right: 12px; }
  .section-heading h2 { gap: 6px; font-size: 12px; letter-spacing: 0; }
  .section-heading h2 svg { width: 15px; height: 15px; }
  .subtle-tag { letter-spacing: 0; }
  .segment { padding-left: 6px; padding-right: 6px; font-size: 11px; }
  .field-label { gap: 3px 8px; }
  .field-label .hint { font-size: 10px; }
  .amount-shell { padding-left: 12px; padding-right: 10px; }
  .amount-shell > input { font-size: 27px; }
  .currency-select { gap: 5px; }
  .currency-select select { font-size: 13px; max-width: 83px; }
  .suggestions { gap: 6px; }
  .suggestion { font-size: 11px; padding-right: 6px; gap: 5px; }
  .network-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .network-option { min-height: 38px; font-size: 12px; }
  .fee-preview { padding: 12px; }
  .fee-line { font-size: 11px; gap: 11px; }
  .fee-line strong { max-width: 62%; }
  .fee-line.total { font-size: 12px; }
  .fee-line.total strong { font-size: 15px; }
  .fee-line.recipient-note { font-size: 11px; }
  .form-footer { align-items: flex-start; font-size: 10px; line-height: 1.8; }
  .form-footer svg { margin-top: 3px; }
  .portfolio-card { padding-left: 16px; padding-right: 16px; }
  .portfolio-card .section-heading { margin-left: -16px; margin-right: -16px; }
  .network-name strong { font-size: 12px; }
  .network-balance { font-size: 13px; }
  .network-balance small { font-size: 10px; }
  .community-card { padding: 17px 16px; }
  .community-card h3 { font-size: 15px; }
  .community-card p { font-size: 11px; }
  .pixel-floor-label { align-items: flex-start; flex-direction: column; gap: 7px; }
  .pixel-floor-tools { width: 100%; justify-content: space-between; gap: 8px; }
  .pixel-room-caption { font-size: 10px; letter-spacing: .1px; }
  .room-motion-toggle { min-height: 31px; font-size: 10px; }
  .pixel-scene > img, .pixel-scene > svg { width: 190%; margin-left: -45%; max-height: 220px; }
  .activity-card { padding-left: 13px; padding-right: 13px; }
  .activity-card .section-heading { margin-left: -13px; margin-right: -13px; flex-wrap: wrap; }
  .activity-card .text-button { font-size: 10px; }
  .activity-table th { letter-spacing: .25px; }
  .activity-table td { padding-top: 14px; padding-bottom: 14px; }
  .activity-table th:first-child { width: 47%; }
  .activity-user { align-items: flex-start; gap: 7px; padding-right: 8px; }
  .activity-symbol { width: 22px; height: 22px; }
  .activity-symbol svg { width: 12px; height: 12px; }
  .activity-name strong, .activity-amount { font-size: 11px; }
  .activity-name small { font-size: 10px; }
  .status { font-size: 10px; padding-left: 3px; padding-right: 3px; }
  .pending-tips-card { padding-left: 16px; padding-right: 16px; }
  .pending-tips-card .section-heading { margin-left: -16px; margin-right: -16px; }
  .pending-heading-actions { gap: 9px; }
  .pending-empty { font-size: 12px; padding: 18px 13px; }
  .pending-person strong { font-size: 12px; }
  .pending-person .status { font-size: 10px; }
  .pending-amount > div { font-size: 11px; }
  .pending-amount > div:first-child dd { font-size: 13px; }
  .pending-expiry .button { padding-left: 8px; padding-right: 8px; }
  dialog { width: calc(100% - 24px); max-height: calc(100% - 24px); }
  .dialog-content { padding: 28px 22px; }
  .dialog-content h2 { font-size: 20px; }
  .modal-copy { font-size: 12px; }
  .modal-copy code { font-size: 11px; }
  .modal-breakdown { padding: 13px; }
  .modal-breakdown .fee-line { font-size: 11px; }
  .modal-breakdown .fee-line.total strong { font-size: 14px; }
  .modal-footer { gap: 7px; }
  .modal-footer .button { padding: 10px 8px; font-size: 11px; }
  .about-row { font-size: 11px; }
  .help-step { font-size: 12px; gap: 10px; }
  .toast { bottom: 13px; max-width: calc(100% - 26px); padding: 12px 15px; font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *:not(.pixel-scene):not(.pixel-scene *), *:not(.pixel-scene):not(.pixel-scene *)::before, *:not(.pixel-scene):not(.pixel-scene *)::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .terminal-cursor { opacity: 1; }
}
/* Sign-in choices and the Telegram Mini App (docs/MINIAPP_SIGNIN.md). */
.sign-in-choices .wallet-actions { flex-wrap: wrap; }
.sign-in-choices .wallet-actions > .button { flex: 1 1 180px; }
a.button { text-decoration: none; }
.sign-in-fallback { margin: -6px 0 4px; }
.sign-in-fallback .text-button { color: var(--dim); }
.agree-note { color: var(--muted); font-size: 11px; line-height: 1.8; }
.sign-in-progress { border-left: 2px solid var(--cyan); padding-left: 10px; color: var(--cyan); font-size: 12px; line-height: 1.8; margin: 13px 0; }
.tg-miniapp #telegram-signin { display: none; }
/* The Mini App safe areas live in the site UX section at the end of this file. */

/* Website v2: coin logos, the live tip desk, the portfolio and Transactions. Same palette and square corners as the
   desk; the cards carry a thin neon edge and a soft glow so the money surfaces read first. Phone width and the
   Telegram Mini App: everything stacks, nothing scrolls sideways. */
.coin-logo { display: block; flex-shrink: 0; border-radius: 50%; }
.token-icon:has(img) { border: 0; background: none; }
.token-icon img { display: block; width: 100%; height: 100%; border-radius: 50%; }

.tipdesk { position: relative; margin-bottom: 20px; padding: 22px 24px 20px; border: 1px solid #5d2a63; border-top: 2px solid var(--pink);
  background: radial-gradient(120% 140% at 100% 0%, rgba(255, 60, 218, .13), transparent 55%),
              radial-gradient(90% 120% at 0% 100%, rgba(41, 220, 255, .08), transparent 60%), var(--panel);
  box-shadow: 0 0 0 1px rgba(255, 60, 218, .06), 0 18px 48px -28px rgba(255, 60, 218, .55); }
.tipdesk.live { border-color: #74306d; }
.tipdesk-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.tipdesk-kicker { display: block; color: var(--pink); font-size: 10px; font-weight: 700; letter-spacing: 1.4px; }
.tipdesk-head h2 { margin: 6px 0 4px; color: var(--ink); font-size: 24px; font-weight: 750; letter-spacing: -.4px; text-transform: uppercase; }
.tipdesk-head p { max-width: 520px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.tipdesk-badge { display: inline-flex; align-items: center; gap: 7px; flex-shrink: 0; padding: 4px 9px; border: 1px solid #4b325e; color: var(--muted); background: #130e1d; font-size: 10px; font-weight: 700; letter-spacing: 1px; }
.tipdesk-badge.live { border-color: #2f7a51; color: var(--lime); background: #0d2116; }
.tipdesk-badge i { width: 7px; height: 7px; background: var(--lime); box-shadow: 0 0 8px var(--lime); animation: tip-pulse 1.6s ease-in-out infinite; }
@keyframes tip-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }
.tipdesk-note { margin: 0 0 12px; color: var(--muted); font-size: 12px; line-height: 1.7; }
.tipdesk-commands { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: baseline; gap: 8px 14px; margin: 0 0 4px; padding: 14px; border: 1px solid var(--line); background: var(--deep); }
.tipdesk-commands code { color: var(--cyan); font-size: 12px; user-select: all; overflow-wrap: anywhere; }
.tipdesk-commands small { color: var(--dim); font-size: 11px; }
#live-tip-form { display: grid; max-width: 780px; }
.tipdesk.live .tipdesk-telegram { max-width: 780px; }
.tip-recipient-shell { min-height: 50px; }
.tip-recipient-shell > span { color: var(--pink); font-size: 20px; font-weight: 700; }
.tip-recipient-shell input { font-size: 17px; }
.tip-asset-label { margin-top: 16px; }
.tip-assets { display: grid; grid-template-columns: repeat(auto-fit, minmax(165px, 1fr)); gap: 8px; }
.tip-asset { display: flex; align-items: center; gap: 9px; min-width: 0; min-height: 52px; padding: 8px 10px; border: 1px solid var(--line); color: var(--muted); background: var(--deep); text-align: left; }
.tip-asset span { display: grid; min-width: 0; flex: 1; }
.tip-asset strong { color: var(--ink); font-size: 13px; font-weight: 700; }
.tip-asset small { color: var(--dim); font-size: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tip-asset em { color: var(--muted); font-size: 11px; font-style: normal; max-width: 45%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tip-asset:hover { border-color: var(--line-bright); }
.tip-asset.active { border-color: var(--pink); background: #22102a; box-shadow: inset 0 0 0 1px rgba(255, 60, 218, .35); }
.tip-asset.active em { color: var(--lime); }
#live-tip-form .field-label[for="tip-amount"] { margin-top: 16px; }
.tip-amount-shell { min-height: 64px; }
.tip-amount-shell > input { color: var(--lime); font-size: 30px; }
.tip-unit { display: inline-flex; align-items: center; gap: 7px; flex-shrink: 0; color: var(--ink) !important; font-size: 14px !important; font-weight: 700; }
.tip-preview { display: grid; gap: 8px; margin: 16px 0 4px; padding: 14px 16px; border: 1px dashed #4b325e; background: linear-gradient(180deg, #120c1c, #0b0812); }
.tip-line { display: flex; justify-content: space-between; align-items: baseline; gap: 14px; color: var(--muted); font-size: 12px; }
.tip-line em { color: var(--dim); font-style: normal; font-size: 11px; margin-left: 4px; }
.tip-line strong { color: #e5d6f2; font-weight: 600; text-align: right; overflow-wrap: anywhere; }
.tip-line.total { padding-top: 9px; border-top: 1px solid var(--line); color: var(--ink); font-weight: 700; }
.tip-line.total strong { color: var(--lime); font-size: 19px; }
.tip-send { min-height: 50px; margin-top: 8px; font-size: 14px; letter-spacing: .8px; box-shadow: 0 10px 30px -16px var(--pink); }
.tipdesk-foot { display: flex; align-items: flex-start; gap: 8px; margin: 12px 0 0; color: var(--dim); font-size: 11px; line-height: 1.6; }
.tipdesk-foot svg { width: 13px; height: 13px; margin-top: 2px; }
.tipdesk-telegram { margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--line); }
.tipdesk-telegram > span { color: var(--dim); font-size: 10px; font-weight: 700; letter-spacing: 1.2px; }
.tipdesk-telegram p { margin: 6px 0 0; color: var(--muted); font-size: 11px; line-height: 1.7; }
.tipdesk-telegram code { color: var(--cyan); }
.tip-outcome { display: flex; align-items: flex-start; gap: 11px; margin: 0 0 16px; padding: 12px 14px; border: 1px solid #6b5e27; background: #1d190b; }
.tip-outcome strong { display: block; color: var(--ink); font-size: 13px; overflow-wrap: anywhere; }
.tip-outcome small { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; line-height: 1.6; }
.tip-outcome-icon { display: grid; place-items: center; flex-shrink: 0; width: 28px; height: 28px; border: 1px solid currentColor; color: var(--yellow); }
.tip-outcome-icon svg { width: 15px; height: 15px; }
.tip-outcome.sent { border-color: #2f7a51; background: #0c1f15; }
.tip-outcome.sent .tip-outcome-icon { color: var(--lime); }
.tip-outcome.held .tip-outcome-icon { color: var(--cyan); }
.tip-outcome.held { border-color: #215368; background: #0b1d26; }
.tip-outcome.refused, .tip-outcome.unconfirmed { border-color: #7a2f45; background: #22101a; }
.tip-outcome.refused .tip-outcome-icon, .tip-outcome.unconfirmed .tip-outcome-icon { color: var(--red); }
.tip-modal-icon { border-color: #7f2d75; }
.tip-following { display: flex; align-items: center; gap: 10px; }

.portfolio-v2 { margin-top: 20px; padding: 22px 24px 18px; border-top: 2px solid var(--cyan);
  background: radial-gradient(110% 120% at 100% 0%, rgba(41, 220, 255, .09), transparent 55%), var(--panel); }
.portfolio-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.portfolio-head .tipdesk-kicker { color: var(--cyan); }
.portfolio-head h2 { margin: 6px 0 4px; color: var(--ink); font-size: clamp(28px, 4vw, 38px); font-weight: 750; letter-spacing: -1px; overflow-wrap: anywhere; }
.portfolio-head small { display: block; max-width: 560px; color: var(--dim); font-size: 11px; line-height: 1.6; }
.portfolio-count { flex-shrink: 0; padding: 3px 8px; border: 1px solid #215368; color: var(--cyan); background: #0b2530; font-size: 10px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase; }
.portfolio-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.portfolio-row { display: flex; align-items: center; gap: 13px; min-height: 64px; padding: 11px 2px; border-bottom: 1px solid #23172f; }
.portfolio-row.empty { opacity: .55; }
.coin-id { display: flex; align-items: center; flex-wrap: wrap; gap: 5px 8px; flex: 1; min-width: 0; }
.coin-id strong { color: var(--ink); font-size: 15px; font-weight: 700; }
.chain-chip, .gas-chip { display: inline-flex; align-items: center; padding: 1px 6px; border: 1px solid #3b455c; color: #afc4ff; background: #131828; font-size: 10px; line-height: 1.5; white-space: nowrap; }
.chain-chip.bnb { color: var(--yellow); background: #25210e; border-color: #5c5120; }
.chain-chip.robinhood { color: var(--lime); background: #10291e; border-color: #275f41; }
.chain-chip.arc { color: #d496ff; background: #241332; border-color: #55316f; }
.gas-chip { border-color: #7a5a1e; color: #ffc95c; background: #2a1e08; font-weight: 700; letter-spacing: .6px; }
.coin-balance { display: grid; justify-items: end; gap: 2px; max-width: 55%; text-align: right; }
.coin-balance strong { color: var(--lime); font-size: 15px; font-weight: 650; overflow-wrap: anywhere; }
.portfolio-row.empty .coin-balance strong { color: var(--muted); }
.coin-balance [data-usd] { color: var(--muted); font-size: 11px; }
.coin-balance small { color: #ffc95c; font-size: 10px; }
.portfolio-gas { margin-top: 14px; padding: 12px 14px; border: 1px solid #5e461a; border-left: 2px solid #ffc95c; background: #19140a; }
.portfolio-gas > span { color: #ffc95c; font-size: 10px; font-weight: 700; letter-spacing: 1px; }
.portfolio-gas p { margin: 5px 0 0; color: var(--muted); font-size: 11px; line-height: 1.7; }
.portfolio-v2 + .withdraw-card { margin-top: 20px; }

.tx-card { padding-bottom: 6px; }
.tx-heading-actions { display: inline-flex; align-items: center; gap: 12px; }
.tx-notice { margin: 8px 0 4px; padding: 8px 10px; border-left: 2px solid var(--yellow); color: #e9dc9b; background: #1b170b; font-size: 11px; line-height: 1.6; }
.tx-list { display: grid; margin: 0; padding: 0; list-style: none; }
.tx-row { display: flex; align-items: center; gap: 13px; padding: 13px 0; border-bottom: 1px solid #261933; }
.tx-row:last-child { border-bottom: 0; }
.tx-icon { position: relative; flex-shrink: 0; width: 34px; height: 34px; }
.tx-icon .coin-logo { width: 34px; height: 34px; }
.tx-icon i { position: absolute; right: -5px; bottom: -4px; display: grid; place-items: center; width: 17px; height: 17px; border: 1px solid #5c2961; color: var(--pink); background: #241027; }
.tx-icon.in i { border-color: #25603d; color: var(--lime); background: #0e2419; }
.tx-icon i svg { width: 11px; height: 11px; stroke-width: 2.2; }
.tx-main { flex: 1; min-width: 0; }
.tx-main strong { display: block; color: #e7d8f3; font-size: 13px; font-weight: 600; overflow-wrap: anywhere; }
.tx-main small { display: block; margin-top: 2px; color: var(--dim); font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }
.tx-main .tx-note { color: var(--muted); }
.tx-side { display: grid; justify-items: end; gap: 5px; flex-shrink: 0; max-width: 46%; text-align: right; }
.tx-amount { color: #f1d3f0; font-size: 13px; font-weight: 700; overflow-wrap: anywhere; }
.tx-amount.in { color: var(--lime); }
.tx-link { display: inline-flex; align-items: center; gap: 4px; color: var(--cyan); font-size: 10px; font-weight: 600; letter-spacing: .3px; text-transform: uppercase; }
.tx-link svg { width: 11px; height: 11px; }
.tx-link:hover { color: #b4f5ff; text-decoration: underline; text-underline-offset: 3px; }
.status.sent { border-color: #215368; color: var(--cyan); background: #0b2530; }
.status.failed { border-color: #7a2f45; color: var(--red); background: #22101a; }
.tx-more { display: flex; justify-content: center; padding: 12px 0 10px; }

@media (max-width: 700px) {
  .tipdesk, .portfolio-v2 { padding: 18px 16px 16px; }
  .tipdesk-head { flex-direction: column-reverse; gap: 10px; }
  .tipdesk-head h2 { font-size: 21px; }
  .tip-assets { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tip-asset em { display: none; }
  .tipdesk-commands { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .tipdesk-commands small { margin-bottom: 8px; }
  .portfolio-head { flex-direction: column; align-items: flex-start; }
  .tx-row { flex-wrap: wrap; }
  .tx-side { max-width: none; width: 100%; grid-auto-flow: column; justify-content: space-between; align-items: center; padding-left: 47px; }
}
@media (max-width: 380px) {
  .tip-assets { grid-template-columns: minmax(0, 1fr); }
  .tip-amount-shell > input { font-size: 24px; }
}
.tg-miniapp .tipdesk { margin-bottom: 16px; }
@media (prefers-reduced-motion: reduce) { .tipdesk-badge i { animation: none; } }
/* X tips (migration 016): the claim page (#x). */
.x-claim { max-width: 640px; }
.x-claim p { color: var(--muted); font-size: 13px; line-height: 1.7; }
.x-claim .x-waiting .fee-line > span:first-child { display: inline-flex; align-items: center; gap: 8px; color: var(--ink); }
.x-claim .x-link-note { font-size: 12px; margin: 6px 0; }
.x-claim .x-note { margin-top: 18px; font-size: 11px; opacity: .8; }
.x-claim .sign-in-progress { display: flex; align-items: center; gap: 10px; }
.x-claim .wallet-actions { flex-wrap: wrap; }

/* --- Site UX: Tips on X, safe areas, touch targets and the phone tab bar ------------------------------------------
   One layout for browsers and the Telegram Mini App: fluid from 320 px phones to 1920 px desktops, never wider than the
   screen, every control at least 44 px tall, and clear of the notch, the home bar and Telegram's own buttons. */
:root {
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-right: env(safe-area-inset-right, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left: env(safe-area-inset-left, 0px);
  --tabbar-height: 0px;
}
/* Inside Telegram: the device's safe area plus, in full screen, Telegram's own controls (telegram-app.js watchLayout). */
.tg-miniapp {
  --safe-top: max(env(safe-area-inset-top, 0px), calc(var(--tg-safe-top, 0px) + var(--tg-content-safe-top, 0px)));
  --safe-right: max(env(safe-area-inset-right, 0px), calc(var(--tg-safe-right, 0px) + var(--tg-content-safe-right, 0px)));
  --safe-bottom: max(env(safe-area-inset-bottom, 0px), calc(var(--tg-safe-bottom, 0px) + var(--tg-content-safe-bottom, 0px)));
  --safe-left: max(env(safe-area-inset-left, 0px), calc(var(--tg-safe-left, 0px) + var(--tg-content-safe-left, 0px)));
}
body { padding: var(--safe-top) var(--safe-right) calc(var(--tabbar-height) + var(--safe-bottom)) var(--safe-left); }

/* Touch targets: 44 px at every width for buttons, links that act as buttons, fields and the navigation. */
.button { min-height: 44px; }
.primary-button { min-height: 46px; }
.brand, .nav-link, .sidebar-link, .telegram-signin .auth-button, .room-motion-toggle, .segment, .network-option { min-height: 44px; }
.sidebar-link { min-width: 44px; }
.account-button { justify-content: center; min-width: 44px; min-height: 44px; }
.icon-button { width: 44px; height: 44px; }
.dialog-close { top: 8px; right: 8px; width: 44px; height: 44px; }
.input-shell { min-height: 48px; }
.input-shell input { min-height: 44px; }
.group-select { min-height: 46px; }
.tip-asset { min-height: 56px; }
.room-motion-toggle { padding: 8px 12px; }
@media (max-width: 900px), (pointer: coarse) {
  .text-button, .amount-helper button, .tx-link, .suggestion { min-width: 44px; min-height: 44px; align-items: center; }
  .amount-helper { align-items: center; }
}

/* The header: five destinations. Tablets and small laptops (below the ~1240 px one row needs) put them on their own row;
   phones get a tab bar at the bottom, where the two long labels give way to short ones (Activity, Leaders) so all five
   fit a 320 px screen. */
.nav-short { display: none; }
@media (max-width: 1259px) {
  .sidebar { flex-wrap: wrap; gap: 12px 18px; }
  .sidebar nav { order: 4; width: 100%; margin-left: 0; }
  .sidebar nav > * { flex: 1; }
  .sidebar-bottom { margin-left: auto; }
}
@media (max-width: 700px) {
  :root { --tabbar-height: 64px; }
  .sidebar nav { position: fixed; left: 0; right: 0; bottom: 0; z-index: 45; order: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 2px; width: auto; margin: 0;
    padding: 4px max(6px, var(--safe-right)) calc(4px + var(--safe-bottom)) max(6px, var(--safe-left)); border-top: 1px solid var(--pink); background: rgba(13, 8, 19, .97); box-shadow: 0 -12px 32px rgba(0, 0, 0, .5); }
  .nav-link { flex-direction: column; gap: 4px; min-width: 0; min-height: 54px; padding: 6px 2px; border: 0; color: var(--muted); background: transparent; font-size: 10px; letter-spacing: 0; }
  .nav-link svg { width: 20px; height: 20px; }
  .nav-text, .nav-short { display: block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .nav-long { display: none; }
  .nav-link:hover { color: var(--pink); border-color: transparent; }
  .nav-link.active { color: var(--pink); background: #22102a; box-shadow: inset 0 2px 0 var(--pink); }
  .terminal-ticker { display: none; }
  .sidebar-link { padding: 0; }
  .toast { bottom: calc(var(--tabbar-height) + var(--safe-bottom) + 12px); }
}
@media (max-width: 420px) { .brand-dot, .brand-desk { display: none; } }
@media (max-width: 360px) { .brand-tagline { display: none; } }
.tg-miniapp .brand-tagline { display: none; }

/* Tips on X: the desk's card, the guide on #x and the X mark (icons/x.svg, self-hosted). */
.x-mark-tile { display: inline-grid; place-items: center; flex-shrink: 0; width: 48px; height: 48px; border: 1px solid #3d4146; background: #000; }
.x-mark-tile img { display: block; width: 100%; height: 100%; }
.x-promo { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 16px 20px; margin-top: 20px; padding: 20px 22px; border-top: 2px solid #e7e9ea;
  background: linear-gradient(115deg, rgba(231, 233, 234, .07), transparent 55%), var(--panel); }
.x-promo .tipdesk-kicker, .x-guide .tipdesk-kicker { color: #e7e9ea; }
.x-promo h2, .x-guide-head h2 { margin: 5px 0 6px; color: var(--ink); font-size: 20px; font-weight: 750; line-height: 1.3; letter-spacing: -.3px; text-transform: uppercase; }
.x-promo p, .x-guide-head p { margin: 0; max-width: 640px; color: var(--muted); font-size: 12px; line-height: 1.7; }
.x-promo code, .x-guide code, .help-step code, .tipdesk-telegram code, .tipdesk-commands code { color: var(--cyan); overflow-wrap: anywhere; user-select: all; }
.x-promo-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.x-promo-actions .button { flex: 1 1 auto; width: auto; min-width: 160px; }
.x-guide { margin-top: 20px; padding: 22px 24px; border-top: 2px solid #e7e9ea; }
.x-guide-head { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 18px; }
.x-guide-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
.x-guide-steps li { display: flex; flex-direction: column; gap: 8px; min-width: 0; padding: 16px; border: 1px solid var(--line); background: var(--deep); }
.x-step { align-self: flex-start; padding: 2px 7px; border: 1px solid #4b4f54; color: #e7e9ea; font-size: 10px; font-weight: 700; letter-spacing: 1px; }
.x-guide-steps strong { color: var(--ink); font-size: 14px; }
.x-guide-steps p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.7; }
.x-guide-steps code { display: block; padding: 9px 10px; border: 1px solid var(--line); background: #0a0810; font-size: 12px; }
.nav-link [data-icon="x"] svg { width: 14px; height: 14px; }
@media (max-width: 900px) {
  .x-promo { grid-template-columns: auto minmax(0, 1fr); }
  .x-promo-actions { grid-column: 1 / -1; }
  .x-guide-steps { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 700px) {
  .x-promo, .x-guide { margin-top: 17px; padding: 18px 16px; }
  .x-promo h2, .x-guide-head h2 { font-size: 18px; }
  .x-claim { max-width: none; }
  .nav-link [data-icon="x"] svg { width: 18px; height: 18px; }
}
@media (max-width: 480px) {
  .x-promo { grid-template-columns: minmax(0, 1fr); }
  .x-promo .x-mark-tile, .x-guide-head .x-mark-tile { width: 40px; height: 40px; }
  .x-promo-actions .button { min-width: 0; flex-basis: 100%; }
}

/* The coins a tip can be sent in. */
.coins-section { margin-top: 20px; }
.coins-title { margin: 0 0 10px; color: var(--dim); font-size: 11px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; }
.coins-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 130px), 1fr)); gap: 12px; }
.account-network-status .coin-list { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 0; }
.coin-pill { display: inline-flex; align-items: center; gap: 6px; padding: 3px 8px 3px 4px; border: 1px solid var(--line); color: var(--ink); background: var(--deep); font-size: 11px; font-weight: 600; }

/* @JTipbot's commands in the Telegram dialog. */
.command-list { display: grid; gap: 8px; margin: 18px 0 0; padding: 0; list-style: none; }
.command-list li { display: grid; gap: 3px; min-width: 0; padding: 10px 12px; border: 1px solid var(--line); border-left: 2px solid var(--cyan); background: var(--deep); }
.command-list code { color: var(--cyan); font-size: 12px; overflow-wrap: anywhere; user-select: all; }
.command-list span { color: var(--muted); font-size: 11px; line-height: 1.6; }
@media (max-width: 480px) {
  .dialog-content { padding: 26px 18px; }
  .command-list code { font-size: 11px; }
}
/* Two actions side by side where they fit, stacked on narrow phones rather than squeezed. */
.verified-account .wallet-actions { flex-wrap: wrap; }
.verified-account .wallet-actions > .button { flex: 1 1 170px; }
/* Tablets: the coin ticker wraps instead of hiding its end in a side scroller. */
@media (max-width: 1023px) { .terminal-ticker { flex-wrap: wrap; overflow-x: visible; } .ticker-item { padding-top: 6px; padding-bottom: 6px; } .ticker-note { padding-top: 6px; padding-bottom: 6px; } }

/* --- Wallet v3: a MetaMask-style hero (total, address chip, round actions), the coin list and a calmer desk ---------
   Signed in, the desk is the wallet hero beside the tip desk and the wallet view is the hero beside the coins; phones
   (and the Telegram Mini App) stack them, hero first. Explanations stay out; only states and safety lines are shown. */
.desk-grid, .wallet-page { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: 16px; }
.desk-side, .desk-main, .wallet-side { display: grid; align-content: start; gap: 16px; min-width: 0; }
.desk-grid .card, .wallet-page .card { margin: 0; }
.desk-grid + .x-promo { margin-top: 20px; }
@media (min-width: 1024px) {
  .desk-grid { grid-template-columns: minmax(0, 1.45fr) minmax(330px, 1fr); grid-template-areas: "main side"; gap: 20px; }
  .desk-grid > .desk-main { grid-area: main; }
  .desk-grid > .desk-side { grid-area: side; }
  .wallet-page { grid-template-columns: minmax(340px, 1fr) minmax(0, 1.3fr); gap: 20px; }
}

.wallet-hero { position: relative; padding: 18px 20px 20px; border: 1px solid #22465a; border-top: 2px solid var(--cyan);
  background: radial-gradient(120% 130% at 100% 0%, rgba(41, 220, 255, .12), transparent 55%),
              radial-gradient(90% 120% at 0% 100%, rgba(255, 60, 218, .08), transparent 60%), var(--panel);
  box-shadow: 0 18px 48px -30px rgba(41, 220, 255, .6); }
.hero-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 12px; min-height: 34px; }
.wallet-hero .hero-head h2 { margin: 0; color: var(--ink); font-size: 15px; font-weight: 700; line-height: 1.4; letter-spacing: .2px; overflow-wrap: anywhere; }
.address-chip { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 34px; padding: 4px 10px; border: 1px solid #215368; color: var(--cyan); background: #0b1d26; font-size: 12px; line-height: 1.4; }
.address-chip code { font: inherit; letter-spacing: .3px; }
.address-chip svg { width: 14px; height: 14px; }
.address-chip:hover { border-color: var(--cyan); color: #b4f5ff; }
.address-chip[data-copied] code, .address-chip[data-copied] svg { display: none; }
.address-chip[data-copied]::after { content: attr(data-copied); color: var(--lime); }
.hero-total { display: grid; justify-items: center; gap: 3px; margin: 16px 0 2px; text-align: center; }
.hero-total > span { color: var(--dim); font-size: 10px; font-weight: 700; letter-spacing: 1.4px; }
.hero-total strong { color: var(--ink); font-size: clamp(36px, 9vw, 50px); font-weight: 800; line-height: 1.1; letter-spacing: -1.5px; overflow-wrap: anywhere; text-shadow: 0 0 26px rgba(41, 220, 255, .28); }
.hero-total small { color: var(--dim); font-size: 11px; line-height: 1.5; }
.wallet-hero .hero-message { margin: 12px 0 0; color: #e9dc9b; font-size: 12px; line-height: 1.6; text-align: center; max-width: none; }
.hero-note { display: flex; align-items: flex-start; gap: 10px; margin: 12px 0 0; padding: 10px 12px; border: 1px solid #6b5e27; border-left: 2px solid var(--yellow); background: #1d190b; color: #efdb91; font-size: 12px; line-height: 1.6; }
.hero-note strong { font-weight: 500; overflow-wrap: anywhere; }
.hero-note.review { border-color: #7a2f45; border-left-color: var(--red); background: #22101a; color: #ffc0cc; }
.hero-note.setup { border-color: #215368; border-left-color: var(--cyan); background: #0b1d26; color: #bdeefa; }
.hero-note .loading-spinner { flex-shrink: 0; margin-top: 3px; }
.wallet-hero .wallet-actions { margin: 14px 0 0; }

.quick-actions { display: flex; justify-content: center; gap: 26px; margin: 18px 0 0; }
.quick-action { display: grid; justify-items: center; gap: 7px; min-width: 60px; min-height: 44px; padding: 0; color: var(--ink); background: none; font-size: 11px; font-weight: 650; line-height: 1.3; letter-spacing: .4px; text-transform: uppercase; }
.quick-icon { display: grid; place-items: center; width: 50px; height: 50px; border: 1px solid #8a2f7c; border-radius: 50%; color: var(--pink); background: #22102a;
  box-shadow: 0 0 0 3px rgba(255, 60, 218, .06), 0 10px 24px -14px var(--pink); transition: background-color .15s, color .15s, border-color .15s; }
.quick-icon svg { width: 22px; height: 22px; stroke-width: 1.9; }
.quick-action:hover:not(:disabled) .quick-icon { border-color: var(--pink); background: #3a1240; }
.quick-action.open .quick-icon { border-color: var(--pink); color: #180917; background: var(--pink); }
.quick-action:disabled { opacity: .38; }
.quick-action:active:not(:disabled) { transform: none; }
.quick-action:active:not(:disabled) .quick-icon { transform: translateY(1px); }
.quick-action:focus-visible { outline: none; }
.quick-action:focus-visible .quick-icon { outline: 2px solid var(--cyan); outline-offset: 3px; }

.deposit-panel { display: grid; gap: 10px; margin: 18px 0 0; padding: 14px; border: 1px solid var(--cyan); background: #071820; }
.panel-label { color: var(--cyan); font-size: 10px; font-weight: 700; letter-spacing: 1.2px; }
/* The full address breaks anywhere, in lines of even length (never a two-character orphan). */
.deposit-panel code { color: var(--ink); font-size: clamp(12px, 3.4vw, 15px); line-height: 1.6; overflow-wrap: anywhere; word-break: break-all; text-wrap: balance; user-select: all; }
.deposit-panel p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.deposit-panel p.paused { color: var(--yellow); }
.deposit-panel .button { justify-self: start; }
.deposit-panel .button svg { width: 15px; height: 15px; }

.wallet-hero .live-wallet-balances { margin: 18px 0 0; padding: 0; border: 0; background: none; gap: 8px; justify-items: center; text-align: center; }
/* Two chips to a row at most (one on the narrowest phones), so an amount and its network never squeeze into a third. */
.hero-tokens { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, max(140px, calc(50% - 4px))), 1fr)); gap: 8px; width: 100%; margin: 0; padding: 0; list-style: none; }
.hero-tokens li { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 6px 12px 6px 8px; border: 1px solid var(--line); background: rgba(9, 7, 16, .72); text-align: left; }
.hero-tokens li > span { display: grid; min-width: 0; line-height: 1.3; }
.hero-tokens strong { color: var(--ink); font-size: 13px; font-weight: 650; overflow-wrap: anywhere; }
.hero-tokens small { color: var(--dim); font-size: 10px; }
.hero-tokens li.more { justify-content: center; padding: 0; }
.hero-tokens li.more .text-button { justify-content: center; width: 100%; min-height: 44px; }
.balances-note { margin: 0; color: var(--dim); font-size: 11px; line-height: 1.6; }
.wallet-hero .gas-low-line { max-width: none; }
.gas-low-line { margin: 14px 0 0; padding: 8px 12px; border: 1px solid #5e461a; border-left: 2px solid #ffc95c; background: #19140a; color: #ffd98a; font-size: 12px; line-height: 1.6; }
.gas-low-inline { color: #ffc95c; }
.wallet-hero .live-wallet-deposits { margin: 16px 0 0; padding: 12px; background: rgba(7, 24, 32, .8); }
.wallet-hero .live-wallet-deposits li { font-size: 12px; }
/* The paused or held line under incoming deposits is a safety line: readable on the hero's tinted panel. */
.wallet-hero .live-wallet-deposits small { color: var(--muted); }

/* A coin's logo with its network as a small badge. */
.coin-stack { position: relative; display: inline-grid; place-items: center; flex-shrink: 0; width: 38px; height: 38px; }
.coin-stack.sm { width: 24px; height: 24px; }
.coin-stack > .coin-logo { width: 100%; height: 100%; }
.coin-fallback { display: grid; place-items: center; width: 100%; height: 100%; border-radius: 50%; color: var(--ink); background: var(--raised); font-size: 12px; font-weight: 700; }
.chain-badge { position: absolute; right: -4px; bottom: -3px; display: grid; place-items: center; width: 17px; height: 17px; border: 1px solid #3b455c; color: #afc4ff; background: #131828; box-shadow: 0 0 0 2px var(--panel); }
.coin-stack.sm .chain-badge { right: -5px; bottom: -4px; width: 14px; height: 14px; }
.chain-badge svg { width: 11px; height: 11px; stroke-width: 1.8; }
.coin-stack.sm .chain-badge svg { width: 9px; height: 9px; }
.chain-badge.bnb { color: var(--yellow); background: #25210e; border-color: #5c5120; }
.chain-badge.robinhood { color: var(--lime); background: #10291e; border-color: #275f41; }
.chain-badge.arc { color: #d496ff; background: #241332; border-color: #55316f; }

/* The coin list. */
.wallet-page .portfolio-v2 { padding: 16px 20px 10px; }
.portfolio-v2 .portfolio-head { flex-direction: row; align-items: center; justify-content: space-between; margin-bottom: 4px; min-height: 34px; }
.portfolio-v2 .portfolio-head h2 { margin: 0; color: var(--cyan); font-size: 12px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; }
.portfolio-v2 .portfolio-list { border-top: 0; }
.portfolio-v2 .portfolio-row { gap: 14px; min-height: 66px; padding: 12px 2px; }
.portfolio-v2 .portfolio-row:last-child { border-bottom: 0; }
.portfolio-v2 .coin-id { display: grid; gap: 2px; }
.portfolio-v2 .coin-id strong { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 4px 8px; }
.portfolio-v2 .coin-id small { color: var(--dim); font-size: 11px; }
.portfolio-v2 .coin-balance strong { color: var(--ink); }
.portfolio-v2 .portfolio-row.empty .coin-balance strong { color: var(--muted); }
/* Empty coins (behind Show all) fade their logo, not their text: names, networks and a gas mark stay readable. */
.portfolio-v2 .portfolio-row.empty { opacity: 1; }
.portfolio-v2 .portfolio-row.empty .coin-stack { opacity: .5; }
.portfolio-v2 .portfolio-row.empty .coin-id strong { color: var(--muted); }
.gas-low { display: inline-flex; align-items: center; padding: 1px 6px; border: 1px solid #7a5a1e; color: #ffc95c; background: #2a1e08; font-size: 10px; font-weight: 700; line-height: 1.5; letter-spacing: .4px; text-transform: uppercase; white-space: nowrap; }
.portfolio-empty { margin: 0; padding: 22px 0 18px; color: var(--muted); font-size: 12px; text-align: center; }
.portfolio-note { margin: 8px 0 6px; color: var(--dim); font-size: 11px; line-height: 1.6; }

/* The withdraw card, opened from the hero: the rules in one line, then coin, amount and address. */
.withdraw-heading-actions { display: inline-flex; align-items: center; gap: 6px; }
.withdraw-heading-actions .icon-button { margin: -8px -8px -8px 0; border-color: transparent; }
.withdraw-card .withdraw-intro { margin: 0 0 16px; padding: 9px 12px; border-left: 2px solid var(--yellow); background: #1d190b; color: #efdb91; font-size: 12px; line-height: 1.6; }
.withdraw-asset-fixed .coin-stack { margin-right: 2px; }
.withdraw-asset-select { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; padding-left: 12px; border: 1px solid #4b325e; background: var(--deep); }
.withdraw-asset-select #withdraw-asset { flex: 1; margin: 0; padding-left: 4px; border: 0; background: transparent; }
.withdrawals-block > .text-button { justify-self: start; }

/* Tips on X: one slim row on the desk. */
.x-promo { gap: 12px 16px; padding: 16px 20px; }
.x-promo .x-mark-tile { width: 40px; height: 40px; }
.x-promo h2 { margin: 0 0 4px; font-size: 16px; }
.x-promo p { font-size: 12px; }
.x-promo-actions { align-items: center; }
.x-promo-actions .button { flex: 0 1 auto; min-width: 0; }
.x-promo-actions .text-button { padding: 0 6px; }

/* The Telegram ways on the live tip desk fold away. */
details.tipdesk-telegram { margin-top: 14px; padding-top: 2px; }
details.tipdesk-telegram summary { display: flex; align-items: center; gap: 8px; min-height: 44px; color: var(--dim); font-size: 11px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; cursor: pointer; list-style: none; }
details.tipdesk-telegram summary::-webkit-details-marker { display: none; }
details.tipdesk-telegram summary::before { content: '+'; color: var(--pink); font-size: 15px; }
details.tipdesk-telegram[open] summary::before { content: '\2212'; }
details.tipdesk-telegram summary:focus-visible { outline: 2px solid var(--cyan); outline-offset: 2px; }
details.tipdesk-telegram p { display: grid; gap: 6px; margin: 0 0 4px; }

@media (max-width: 700px) {
  .wallet-hero { padding: 16px 16px 18px; }
  .quick-actions { gap: 22px; }
  .wallet-page .portfolio-v2 { padding: 14px 16px 8px; }
  .x-promo { padding: 14px 16px; }
}
@media (max-width: 900px), (pointer: coarse) {
  .address-chip { min-height: 44px; }
}
/* The chosen coin's network stays readable on its pink-tinted chip. */
.tip-asset.active small { color: var(--muted); }
/* The tip desk's coins: two to a row on phones, one only on the narrowest. */
@media (max-width: 380px) { .tip-assets { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 340px) { .tip-assets { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 360px) {
  .quick-actions { gap: 14px; }
  .hero-total strong { font-size: 32px; }
}

/* Inside Telegram: the tab bar and the breadcrumb name the view, so the page heading goes; the desk starts at once. */
.tg-miniapp .page-heading { display: none; }
.tg-miniapp main { padding-top: 14px; }

@media (max-width: 1120px) {
  .sidebar-link[data-community] { gap: 0; }
  .sidebar-link[data-community] .utility-label { display: none; }
}

/* --- Leaderboards (#top): Global and Mine, three boards each -----------------------------------------------------------
   Square 1 px cards like the rest of the desk; uppercase board titles with the pink cursor; a row is the rank (medals for
   the first three), the name on one line (user-controlled text, isolated and cut with an ellipsis) and the board's figure
   with the other one smaller. The signed-in account's own rows on Global are marked "you". */
:root {
  --lb-head: #140c1e;
  --lb-rule: #241834;
  --lb-you: #0b1d26;
}
.guest-account + .lb-page { margin-top: 20px; }
.lb-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 18px; margin-bottom: 16px; }
.lb-tabs { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; flex: 1 1 320px; min-width: 0; }
.lb-tabs .segment { flex: 0 0 auto; min-width: 120px; padding-left: 16px; padding-right: 16px; }
.lb-signin { flex: 1 1 230px; min-width: 0; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.lb-signin .text-button { display: inline-flex; vertical-align: middle; font-size: 12px; }
.lb-asof { color: var(--dim); font-size: 10px; font-weight: 700; letter-spacing: 1px; white-space: nowrap; }
.lb-boards { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: 16px; }
.lb-board { padding-bottom: 4px; border-top: 2px solid var(--pink); }
.lb-board-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 46px; padding: 9px 16px; border-bottom: 1px solid var(--line); background: var(--lb-head); }
.lb-board-head h2 { margin: 0; color: var(--ink); font-size: 13px; font-weight: 750; line-height: 1.5; letter-spacing: .7px; text-transform: uppercase; }
.lb-board-head h2 > span { margin-left: 2px; color: var(--pink); animation: cursor-blink 1.2s steps(1) infinite; }
.lb-me-tag { flex-shrink: 0; padding: 2px 7px; border: 1px solid #215368; color: var(--cyan); background: var(--lb-you); font-size: 10px; font-weight: 700; line-height: 1.4; letter-spacing: .6px; white-space: nowrap; }
.lb-list { margin: 0; padding: 2px 0; list-style: none; }
.lb-row { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 10px; min-height: 46px; padding: 6px 16px; border-top: 1px solid var(--lb-rule); }
.lb-row:first-child { border-top: 0; }
.lb-rank { color: var(--dim); font-size: 12px; font-weight: 700; line-height: 1; text-align: center; font-variant-numeric: tabular-nums; }
.lb-row.medal .lb-rank { font-size: 19px; }
.lb-who { display: flex; align-items: center; gap: 8px; min-width: 0; }
.lb-name { display: block; min-width: 0; overflow: hidden; color: var(--ink); font-size: 13px; line-height: 1.5; text-overflow: ellipsis; white-space: nowrap; unicode-bidi: isolate; }
.lb-row.medal .lb-name { font-weight: 650; }
.lb-you { flex-shrink: 0; padding: 0 6px; border: 1px solid var(--cyan); color: var(--cyan); font-size: 10px; font-weight: 700; line-height: 1.6; letter-spacing: .6px; text-transform: uppercase; }
.lb-row.you { background: var(--lb-you); box-shadow: inset 2px 0 0 var(--cyan); }
.lb-metric { display: grid; justify-items: end; gap: 1px; line-height: 1.3; text-align: right; white-space: nowrap; }
.lb-metric strong { color: var(--lime); font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums; }
.lb-metric small { color: var(--dim); font-size: 10px; }
.lb-empty { margin: 0; padding: 24px 16px; color: var(--muted); font-size: 12px; text-align: center; }
.lb-toggle { margin: 4px 16px 6px; }
.lb-state { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 12px 16px; padding: 30px 20px; border-top: 2px solid var(--pink); color: var(--muted); font-size: 13px; line-height: 1.6; text-align: center; }
.lb-state .button { flex: 0 0 auto; }
@media (min-width: 1024px) {
  .lb-boards { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
}
@media (max-width: 480px) {
  .lb-tabs .segment { min-width: 100px; }
  .lb-board-head, .lb-row { padding-left: 12px; padding-right: 12px; }
  .lb-row { grid-template-columns: 28px minmax(0, 1fr) auto; gap: 8px; }
  .lb-toggle { margin-left: 12px; margin-right: 12px; }
}
@media (prefers-reduced-motion: reduce) { .lb-board-head h2 > span { animation: none; } }

/* Solana (ux-8): its network colour on icons, chips and badges, and the Solana address chip beside the EVM one. */
.network-icon.solana, .chain-chip.solana, .chain-badge.solana { color: #14f195; background: #0f1f24; border-color: #2b5a52; }
.hero-chips { display: inline-flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
.address-chip.sol-chip { color: #14f195; border-color: #2b5a52; background: #0f1f24; }
.address-chip.sol-chip:hover { border-color: #14f195; color: #b6ffe0; }
