/* Portfolio — trenches design system, descoped for the live app. */
#portfolio {
  --nt-void:#080a0c; --nt-panel:#0d1013; --nt-panel-2:#11151a;
  --nt-line:rgba(220,232,226,.09); --nt-text:#edf2ef; --nt-muted:#89948f; --nt-faint:#5e6964;
  --nt-green:#66d99c; --nt-red:#f06b79; --nt-violet:#7a6cf0; --nt-amber:#e6b969; --nt-blue:#68a1ff;
  --pf-sans:'Geist','IBM Plex Sans',system-ui,sans-serif; --pf-mono:'Geist Mono','IBM Plex Mono',monospace;
  font-family:var(--pf-sans);
  background:var(--nt-void); min-height:100vh; padding:84px 20px 40px;
}
.nt-pf-bar { display: grid; grid-template-columns: minmax(230px,1fr) auto auto; align-items: center; gap: 18px; min-height: 68px; padding: 0 18px; border-bottom: 1px solid var(--pf-line); background: rgba(10,11,13,.92); }
.nt-pf-title { display: flex; align-items: center; gap: 11px; min-width: 0; }
.nt-pf-title .nt-brand-glyph { width: 29px; height: 29px; color: #e6e8e9; }
.nt-pf-title-copy { min-width: 0; }
.nt-pf-title strong { display: block; font-size: 18px; font-weight: 650; letter-spacing: -.025em; }
.nt-pf-title span { display: flex; align-items: center; gap: 6px; margin-top: 3px; color: #8b9198; font-size: 11px; }
.nt-pf-title span i { width: 6px; height: 6px; border-radius: 50%; background: #66d99c; box-shadow: 0 0 8px rgba(102,217,156,.45); }
.nt-pf-periods { display: flex; gap: 2px; padding: 3px; border: 1px solid var(--pf-line); border-radius: 7px; background: #0d0f12; }
.nt-pf-periods button { min-width: 42px; min-height: 30px; padding: 0 9px; border: 0; border-radius: 4px; color: #858b92; background: transparent; font: 600 11px/14px var(--pf-sans); cursor: pointer; }
.nt-pf-periods button:hover { color: #c9cdd1; }
.nt-pf-periods button[data-active='true'] { color: #eef0f1; background: #1a1d21; box-shadow: inset 0 0 0 1px #30343a; }
.nt-pf-wallet { display: flex; align-items: center; gap: 10px; min-height: 38px; padding: 0 11px; border: 1px solid var(--pf-line); border-radius: 7px; background: #0e1013; }
.nt-pf-wallet-icon { display: grid; place-items: center; width: 23px; height: 23px; border-radius: 6px; color: #0a0d0b; background: #76dfa5; }
.nt-pf-wallet-icon svg { width: 13px; height: 13px; }
.nt-pf-wallet-copy span { display: block; color: #858b92; font-size: 9px; letter-spacing: .04em; text-transform: uppercase; }
.nt-pf-wallet-copy strong { display: block; margin-top: 1px; color: #d6d9dc; font: 500 11px/14px var(--pf-mono); }
.nt-pf-body { padding: 20px; }
.nt-pf-hero { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(300px,.66fr); overflow: hidden; border: 1px solid var(--pf-line); border-radius: 8px; background: var(--pf-panel); box-shadow: 0 18px 45px rgba(0,0,0,.14); }
.nt-pf-performance { min-width: 0; padding: 22px 24px 15px; border-right: 1px solid var(--pf-line); }
.nt-pf-performance-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.nt-pf-eyebrow { display: flex; align-items: center; gap: 7px; color: #969ca3; font-size: 12px; font-weight: 500; }
.nt-pf-eyebrow i { width: 7px; height: 7px; border: 1px solid #66d99c; border-radius: 50%; box-shadow: inset 0 0 0 2px #0c0e11; background: #66d99c; }
.nt-pf-value-row { display: flex; align-items: baseline; flex-wrap: wrap; gap: 12px; margin-top: 8px; }
.nt-pf-total { color: #f2f3f4; font: 520 43px/48px var(--pf-mono); letter-spacing: -.055em; }
.nt-pf-delta { display: inline-flex; align-items: center; gap: 5px; color: #75dfa3; font: 600 13px/17px var(--pf-mono); }
.nt-pf-delta::before { content: '↗'; font-family: var(--pf-sans); }
.nt-pf-performance-note { margin: 6px 0 0; color: #858b92; font-size: 11px; }
.nt-pf-performance-note b { color: #b8bdc2; font-weight: 550; }
.nt-pf-sync { display: inline-flex; align-items: center; gap: 7px; color: #858b92; font-size: 10px; white-space: nowrap; }
.nt-pf-sync i { width: 6px; height: 6px; border-radius: 50%; background: #66d99c; box-shadow: 0 0 7px rgba(102,217,156,.42); }
.nt-pf-chart { position: relative; height: 210px; margin-top: 8px; }
.nt-pf-chart svg { display: block; width: 100%; height: 100%; overflow: visible; }
.nt-pf-chart-grid line { stroke: #1d2024; stroke-width: 1; stroke-dasharray: 3 5; vector-effect: non-scaling-stroke; shape-rendering: crispEdges; }
.nt-pf-chart-area { fill: url(#nt-pf-area-gradient); }
.nt-pf-chart-line { fill: none; stroke: #72dda1; stroke-width: 2.3; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; filter: drop-shadow(0 0 5px rgba(102,217,156,.18)); }
.nt-pf-chart-guide { stroke: #4a5158; stroke-width: 1; stroke-dasharray: 4 4; }
.nt-pf-chart-marker { fill: #090a0c; stroke: #78e2a6; stroke-width: 3; }
.nt-pf-chart-axis { fill: #7f868d; font: 500 10px var(--pf-mono); }
.nt-pf-chart-caption { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: -2px; color: #7f868d; font-size: 10px; }
.nt-pf-chart-caption b { color: #aeb3b8; font-weight: 550; }
.nt-pf-allocation { padding: 22px 22px 18px; background: linear-gradient(180deg,rgba(255,255,255,.012),transparent); }
.nt-pf-section-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.nt-pf-section-title strong { color: #e2e4e6; font-size: 13px; font-weight: 620; letter-spacing: -.01em; }
.nt-pf-section-title span { color: #858b92; font: 500 10px/14px var(--pf-mono); }
.nt-pf-donut { position: relative; display: grid; place-items: center; width: 152px; height: 152px; margin: 20px auto 17px; border-radius: 50%; background: conic-gradient(#72dda1 0 45.4%,#8f8fe8 45.4% 61.6%,#3e72ff 61.6% 73.8%,#66d99c 73.8% 84.6%,#e6b969 84.6% 93.2%,#68a1ff 93.2% 100%); box-shadow: 0 0 0 1px #202328,0 14px 32px rgba(0,0,0,.24); }
.nt-pf-donut::before { content: ''; position: absolute; inset: 13px; border: 1px solid #262a2f; border-radius: 50%; background: #0d0f12; }
.nt-pf-donut-copy { position: relative; text-align: center; }
.nt-pf-donut-copy strong { display: block; color: #e8eaec; font: 600 20px/24px var(--pf-mono); letter-spacing: -.03em; }
.nt-pf-donut-copy span { display: block; margin-top: 3px; color: #858b92; font-size: 10px; }
.nt-pf-allocation-list { display: grid; gap: 9px; }
.nt-pf-allocation-row { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 8px; }
.nt-pf-allocation-row > i { width: 7px; height: 7px; border-radius: 2px; background: var(--pf-chain); box-shadow: 0 0 7px color-mix(in srgb,var(--pf-chain) 34%,transparent); }
.nt-pf-allocation-row span { color: #a5aab0; font-size: 11px; }
.nt-pf-allocation-row b { color: #d1d5d8; font: 500 11px/15px var(--pf-mono); }
.nt-pf-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 14px; border: 1px solid var(--pf-line); border-radius: 7px; background: var(--pf-panel); }
.nt-pf-metric { min-width: 0; min-height: 86px; padding: 15px 17px; border-right: 1px solid var(--pf-line); }
.nt-pf-metric:last-child { border-right: 0; }
.nt-pf-metric span { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: #858b92; font-size: 11px; }
.nt-pf-metric span em { color: #737a81; font: 500 9px/12px var(--pf-mono); font-style: normal; }
.nt-pf-metric strong { display: block; margin-top: 8px; overflow: hidden; color: #e4e6e8; font: 540 18px/22px var(--pf-mono); letter-spacing: -.025em; text-overflow: ellipsis; white-space: nowrap; }
.nt-pf-metric strong[data-positive='true'] { color: #77dda3; }
.nt-pf-content { display: grid; grid-template-columns: minmax(0,1fr) 326px; gap: 14px; margin-top: 14px; }
.nt-pf-panel { min-width: 0; overflow: hidden; border: 1px solid var(--pf-line); border-radius: 7px; background: var(--pf-panel); }
.nt-pf-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 55px; padding: 0 15px; border-bottom: 1px solid var(--pf-line); }
.nt-pf-panel-head strong { font-size: 13px; font-weight: 620; }
.nt-pf-panel-head > span { color: #858b92; font: 500 10px/14px var(--pf-mono); }
.nt-pf-position-tools { display: flex; align-items: center; gap: 8px; }
.nt-pf-position-tools > span { color: #858b92; font: 500 10px/14px var(--pf-mono); white-space: nowrap; }
.nt-pf-filters { display: flex; gap: 2px; }
.nt-pf-filters button { min-height: 30px; padding: 0 9px; border: 0; border-radius: 4px; color: #858b92; background: transparent; font-size: 10px; cursor: pointer; }
.nt-pf-filters button:hover { color: #c3c7cb; }
.nt-pf-filters button[data-active='true'] { color: #e3e5e7; background: #1a1d21; }
.nt-pf-tablewrap { overflow-x: auto; }
.nt-pf-table { width: 100%; min-width: 790px; border-collapse: collapse; table-layout: fixed; }
.nt-pf-table th { height: 35px; padding: 0 12px; border-bottom: 1px solid var(--pf-line); color: #858b92; background: #0a0c0f; font: 600 10px/13px var(--pf-sans); text-align: right; }
.nt-pf-table th:first-child { width: 25%; text-align: left; }
.nt-pf-table th:nth-child(2) { width: 12%; text-align: left; }
/* Trade column: two buttons need ~120px; at 11% of the 790px minimum the Sell
   button was clipped ("Se"). */
.nt-pf-table th:last-child { width: 17%; min-width: 124px; }
.nt-pf-table td { height: 62px; padding: 0 12px; border-bottom: 1px solid var(--pf-line-soft); color: #c6cace; font: 500 11px/16px var(--pf-mono); text-align: right; font-variant-numeric: tabular-nums lining-nums; }
.nt-pf-table tr:last-child td { border-bottom: 0; }
.nt-pf-table tbody tr { transition: background .14s ease; }
.nt-pf-table tbody tr:hover { background: rgba(255,255,255,.018); }
.nt-pf-table td:first-child,
 .nt-pf-table td:nth-child(2) { text-align: left; }
.nt-pf-asset { display: flex; align-items: center; gap: 10px; min-width: 0; }
.nt-pf-asset-art { position: relative; display: grid; place-items: center; flex: 0 0 auto; width: 34px; height: 34px; border: 1px solid color-mix(in srgb,var(--asset) 28%,#282c31); border-radius: 9px; color: #ecf0ed; background: color-mix(in srgb,var(--asset) 20%,#111419); font: 650 10px var(--pf-sans); }
.nt-pf-asset-art i { position: absolute; right: -4px; bottom: -4px; display: grid; place-items: center; width: 15px; height: 15px; border: 2px solid #0c0e11; border-radius: 50%; color: #fff; background: var(--chain); font: 700 6px var(--pf-sans); font-style: normal; }
.nt-pf-asset-copy { min-width: 0; }
.nt-pf-asset-copy strong { display: block; overflow: hidden; color: #e0e3e5; font: 620 12px/16px var(--pf-sans); text-overflow: ellipsis; white-space: nowrap; }
.nt-pf-asset-copy span { display: block; margin-top: 2px; color: #858b92; font: 500 9px/12px var(--pf-mono); }
.nt-pf-chain-pill { display: inline-flex; align-items: center; gap: 6px; min-height: 23px; padding: 0 7px; border: 1px solid #282c31; border-radius: 5px; color: #aeb3b8; background: #111317; font: 550 10px/13px var(--pf-sans); }
.nt-pf-chain-pill i { width: 6px; height: 6px; border-radius: 50%; background: var(--chain); }
.nt-pf-pnl { color: #74dba0; }
.nt-pf-pnl[data-negative='true'] { color: #ee7a86; }
.nt-pf-trade { width: 30px; height: 30px; border: 1px solid #2b2f34; border-radius: 5px; color: #aeb3b8; background: #121418; cursor: pointer; }
.nt-pf-trade:hover { border-color: rgba(102,217,156,.34); color: #8de3b2; background: rgba(102,217,156,.05); }
.nt-pf-side { display: grid; align-content: start; gap: 14px; }
.nt-pf-chain-list { display: grid; }
.nt-pf-chain-row { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 9px; min-height: 54px; padding: 0 14px; border-bottom: 1px solid var(--pf-line-soft); }
.nt-pf-chain-row:last-child { border-bottom: 0; }
.nt-pf-chain-mark { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 7px; color: #fff; background: var(--chain); font: 700 8px var(--pf-sans); }
.nt-pf-chain-copy strong { display: block; color: #cdd1d4; font-size: 11px; font-weight: 600; }
.nt-pf-chain-copy span { display: block; margin-top: 4px; width: 100%; height: 2px; overflow: hidden; border-radius: 2px; background: #25292e; }
.nt-pf-chain-copy span i { display: block; width: var(--share); height: 100%; background: var(--chain); }
.nt-pf-chain-value { color: #c7cbcf; font: 500 11px/15px var(--pf-mono); text-align: right; }
.nt-pf-chain-value span { display: block; margin-top: 2px; color: #858b92; font-size: 9px; }
.nt-pf-activity-list { display: grid; }
.nt-pf-activity { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 9px; min-height: 61px; padding: 8px 14px; border-bottom: 1px solid var(--pf-line-soft); }
.nt-pf-activity:last-child { border-bottom: 0; }
.nt-pf-activity-icon { display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid rgba(102,217,156,.18); border-radius: 50%; color: #80dfa9; background: rgba(102,217,156,.045); font-size: 12px; }
.nt-pf-activity-icon[data-sell='true'] { border-color: rgba(240,107,121,.18); color: #ef7c88; background: rgba(240,107,121,.04); }
.nt-pf-activity-copy strong { display: block; color: #cdd1d4; font-size: 11px; font-weight: 600; }
.nt-pf-activity-copy span { display: block; margin-top: 3px; overflow: hidden; color: #858b92; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.nt-pf-activity-value { color: #d4d7da; font: 500 10px/14px var(--pf-mono); text-align: right; }
.nt-pf-activity-value span { display: block; margin-top: 2px; color: #858b92; font-size: 9px; }
.nt-pf-table tr[hidden] { display: none; }
/* Portfolio v2 — live performance, not decorative allocation. */
 .nt-pf-hero { grid-template-columns: minmax(0,1.55fr) 360px; }
.nt-pf-total { font-size: 38px; line-height: 44px; letter-spacing: -.04em; }
.nt-pf-chart { height: 228px; margin-top: 10px; touch-action: pan-y; cursor: crosshair; }
.nt-pf-chart svg { height: 194px; }
.nt-pf-chart-guide,
 .nt-pf-chart-marker { opacity: 0; transition: opacity .12s ease; }
.nt-pf-chart-guide[data-active='true'],
 .nt-pf-chart-marker[data-active='true'] { opacity: 1; }
.nt-pf-chart-time { display: flex; align-items: center; justify-content: space-between; min-height: 28px; padding: 7px 2px 0; color: #858b92; font: 500 10px/13px var(--pf-mono); }
.nt-pf-chart-tooltip { position: absolute; z-index: 4; top: 10px; left: 50%; min-width: 116px; padding: 8px 10px; border: 1px solid #343940; border-radius: 6px; color: #9299a0; background: rgba(13,15,18,.96); box-shadow: 0 10px 28px rgba(0,0,0,.28); font: 500 9px/13px var(--pf-mono); pointer-events: none; transform: translateX(-50%); }
.nt-pf-chart-tooltip strong { display: block; margin-top: 2px; color: #edf0f1; font: 600 12px/16px var(--pf-mono); }
.nt-pf-chart-tooltip[hidden] { display: none; }
.nt-pf-crosshair { position: absolute; z-index: 2; top: 8px; bottom: 34px; width: 1px; background: repeating-linear-gradient(180deg,#555c64 0 4px,transparent 4px 8px); pointer-events: none; transform: translateX(-.5px); }
.nt-pf-hover-dot { position: absolute; z-index: 3; width: 10px; height: 10px; border: 3px solid #72dda1; border-radius: 50%; background: #0c0e11; box-shadow: 0 0 0 3px rgba(102,217,156,.08); pointer-events: none; transform: translate(-50%,-50%); }
.nt-pf-crosshair[hidden],
 .nt-pf-hover-dot[hidden] { display: none; }
.nt-pf-chart-caption { margin-top: 2px; font-size: 11px; }
.nt-pf-daily { display: grid; grid-template-rows: auto 1fr 1fr auto; min-width: 0; padding: 22px 20px 14px; background: #0c0e11; }
.nt-pf-daily-hero { margin-top: 18px; padding-bottom: 16px; border-bottom: 1px solid var(--pf-line); }
.nt-pf-daily-label { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #8f969d; font-size: 11px; }
.nt-pf-daily-label b { color: #74dba0; font: 600 10px/13px var(--pf-mono); }
.nt-pf-daily-amount { display: block; margin-top: 7px; color: #79e2a7; font: 600 28px/33px var(--pf-mono); letter-spacing: -.04em; }
.nt-pf-daily-asset { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 11px; }
.nt-pf-daily-asset > span { display: flex; align-items: center; gap: 9px; min-width: 0; }
.nt-pf-daily-asset strong { display: block; color: #d8dcdf; font-size: 12px; font-weight: 650; }
.nt-pf-daily-asset small { display: block; margin-top: 2px; color: #858b92; font: 500 9px/12px var(--pf-mono); }
.nt-pf-daily-asset > b { color: #7de3aa; font: 600 12px/16px var(--pf-mono); }
.nt-pf-daily-mark,
 .nt-pf-leader-mark { display: grid; place-items: center; flex: 0 0 auto; width: 32px; height: 32px; border: 1px solid color-mix(in srgb,var(--leader) 30%,#292d32); border-radius: 9px; color: #eff4f1; background: color-mix(in srgb,var(--leader) 18%,#111419); font: 700 9px var(--pf-sans); }
.nt-pf-daily-mark svg,
 .nt-pf-leader-mark svg { width: 19px; height: 19px; }
.nt-pf-daily-list { display: grid; margin-top: 10px; }
.nt-pf-leader { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 9px; min-height: 48px; border-bottom: 1px solid var(--pf-line-soft); }
.nt-pf-leader:last-child { border-bottom: 0; }
.nt-pf-leader-mark { width: 27px; height: 27px; border-radius: 7px; }
.nt-pf-leader-mark svg { width: 16px; height: 16px; }
.nt-pf-leader-copy { min-width: 0; }
.nt-pf-leader-copy strong { display: block; color: #c7cbcf; font-size: 11px; font-weight: 600; }
.nt-pf-leader-copy span { display: block; margin-top: 4px; width: 100%; height: 2px; overflow: hidden; border-radius: 2px; background: #25292e; }
.nt-pf-leader-copy span i { display: block; width: var(--leader-share); height: 100%; background: var(--leader); }
.nt-pf-leader-value { color: #75dda2; font: 550 11px/15px var(--pf-mono); text-align: right; }
.nt-pf-leader-value[data-negative='true'] { color: #ee7a86; }
.nt-pf-leader-value span { display: block; margin-top: 2px; color: #858b92; font-size: 9px; }
.nt-pf-daily-net { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 43px; margin-top: 8px; padding-top: 10px; border-top: 1px solid var(--pf-line); color: #8f969d; font-size: 11px; }
.nt-pf-daily-net strong { color: #dfe3e5; font: 600 13px/17px var(--pf-mono); }
.nt-pf-mover { display: grid; grid-template-columns: 38px minmax(0,1fr) minmax(108px,auto); align-items: center; gap: 10px; min-height: 108px; padding: 13px 0; border-bottom: 1px solid var(--pf-line-soft); }
.nt-pf-mover-kind { grid-column: 1 / -1; color: #8c939a; font: 650 9px/12px var(--pf-sans); letter-spacing: .045em; text-transform: uppercase; }
.nt-pf-mover-logo { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid #2a2e33; border-radius: 9px; color: #eef2ef; background: color-mix(in srgb,var(--leader) 16%,#121418); font: 700 9px var(--pf-sans); font-style: normal; }
.nt-pf-mover-logo svg { width: 21px; height: 21px; }
.nt-pf-mover-copy strong { display: block; overflow: hidden; color: #d4d8db; font: 620 12px/16px var(--pf-sans); text-overflow: ellipsis; white-space: nowrap; }
.nt-pf-mover-copy span { display: block; margin-top: 3px; color: #858b92; font: 500 9px/12px var(--pf-mono); }
.nt-pf-mover-value { text-align: right; }
.nt-pf-mover-value strong { display: block; color: #76dfa3; font: 600 16px/20px var(--pf-mono); letter-spacing: -.025em; }
.nt-pf-mover-value span { display: block; margin-top: 3px; color: #75d9a0; font: 550 10px/14px var(--pf-mono); }
.nt-pf-mover[data-direction='loss'] .nt-pf-mover-value strong,
 .nt-pf-mover[data-direction='loss'] .nt-pf-mover-value span { color: #ee7a86; }
.nt-pf-asset-art svg { width: 23px; height: 23px; }
.nt-pf-pnl { display: inline-grid; justify-items: end; }
.nt-pf-pnl b { color: inherit; font: 550 11px/14px var(--pf-mono); }
.nt-pf-pnl small { margin-top: 2px; color: #858b92; font: 500 9px/12px var(--pf-mono); }
.nt-pf-chain-mark svg { width: 16px; height: 16px; }
.nt-pf-body { min-width: 0; }
.nt-pf-hero { box-shadow: none; }
.nt-pf-side { grid-template-columns: 1fr; }
.nt-pf-activity-panel { height: fit-content; }
.nt-pf-tablewrap:focus-visible {
  outline: 1px solid rgba(102,217,156,.48);
  outline-offset: -1px;
}
.nt-pf-chart:focus-visible {
  outline: 1px solid rgba(102,217,156,.48);
  outline-offset: 4px;
}
.nt-pf-asset-copy strong { font-size: 13px; }
.nt-pf-activity-copy strong { font-size: 12px; }
.nt-pf-activity-copy span,
 .nt-pf-activity-value span { font-size: 10px; }
.nt-pf-activity-value { font-size: 11px; }
:is(
  .nt-token-price,
  .nt-token-stats,
  .nt-term-last,
  .nt-term-watch-price,
  .nt-term-stat strong,
  .nt-term-table td,
  .nt-term-balance strong,
  .nt-term-payrow input,
  .nt-term-receive-value,
  .nt-pf-total,
  .nt-pf-delta,
  .nt-pf-table td,
  .nt-pf-metric strong,
  .nt-lp-wallet-value,
  .nt-lp-cost-row strong,
  .nt-lp-devbuy-input input
) { font-variant-numeric: tabular-nums lining-nums; font-feature-settings: 'tnum' 1,'lnum' 1; }
@media (max-width: 1120px)  {
.nt-pf-content { grid-template-columns: 1fr; }
.nt-pf-side { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 900px)  {
.nt-pf-bar { grid-template-columns: minmax(220px,1fr) auto; }
.nt-pf-wallet { display: none; }
.nt-pf-hero { grid-template-columns: 1fr; }
.nt-pf-performance { border-right: 0; border-bottom: 1px solid var(--pf-line); }
.nt-pf-daily { padding: 18px; }
}
@media (max-width: 720px)  {
.nt-pf-bar { grid-template-columns: 1fr; gap: 10px; padding: 13px 12px; }
.nt-pf-periods { justify-self: stretch; }
.nt-pf-periods button { flex: 1; min-height: 40px; }
.nt-pf-body { padding: 12px; }
.nt-pf-performance { padding: 18px 15px 13px; }
.nt-pf-performance-head { align-items: start; flex-direction: column; gap: 8px; }
.nt-pf-total { font-size: 36px; line-height: 42px; }
.nt-pf-chart { height: 205px; }
.nt-pf-chart svg { height: 170px; }
.nt-pf-daily { padding: 18px 15px; }
.nt-pf-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
.nt-pf-metric:nth-child(2) { border-right: 0; }
.nt-pf-metric:nth-child(-n+2) { border-bottom: 1px solid var(--pf-line); }
.nt-pf-side { grid-template-columns: 1fr; }
.nt-pf-panel-head { align-items: flex-start; flex-direction: column; padding: 12px; }
.nt-pf-position-tools { width: 100%; overflow-x: auto; }
.nt-pf-filters button { min-height: 40px; }
}
@media (pointer: coarse)  {
.nt-pf-filters button,
   .nt-pf-trade { min-width: 44px; min-height: 44px; }
}
@media (max-width: 1180px)  {
.nt-pf-content { grid-template-columns: 1fr; }
.nt-pf-side { grid-template-columns: 1fr; }
}
@media (max-width: 1120px)  {
.nt-pf-hero { grid-template-columns: 1fr; }
.nt-pf-performance { border-right: 0; border-bottom: 1px solid var(--pf-line); }
.nt-pf-daily { grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: auto auto auto; gap: 0 18px; }
.nt-pf-daily .nt-pf-section-title,
   .nt-pf-daily-net { grid-column: 1 / -1; }
.nt-pf-mover { min-height: 96px; }
}
@media (max-width: 720px)  {
.nt-pf-daily { grid-template-columns: 1fr; }
.nt-pf-daily .nt-pf-section-title,
   .nt-pf-daily-net { grid-column: auto; }
.nt-pf-table th:first-child,
   .nt-pf-table td:first-child { position: sticky; z-index: 2; left: 0; background: #0c0e11; box-shadow: 1px 0 #24272c; }
.nt-pf-table th:first-child { z-index: 3; background: #0a0c0f; }
}
@media (min-width: 1600px) and (min-height: 900px)  {
/* Portfolio */
   .nt-pf-bar { min-height: 76px; padding-inline: 24px; }
.nt-pf-title strong { font-size: 21px; }
.nt-pf-title span { font-size: 12px; }
.nt-pf-periods button { min-width: 50px; min-height: 36px; font-size: 12px; }
.nt-pf-wallet { min-height: 44px; padding-inline: 14px; }
.nt-pf-body { padding: 28px; }
.nt-pf-hero { grid-template-columns: minmax(0,1fr) 430px; }
.nt-pf-performance { padding: 28px 30px 19px; }
.nt-pf-eyebrow { font-size: 13px; }
.nt-pf-total { font-size: 47px; line-height: 53px; }
.nt-pf-delta { font-size: 15px; }
.nt-pf-chart { height: 286px; }
.nt-pf-chart svg { height: 250px; }
.nt-pf-chart-time,
   .nt-pf-chart-caption { font-size: 11px; }
.nt-pf-daily { padding: 28px 25px 18px; }
.nt-pf-section-title strong { font-size: 15px; }
.nt-pf-mover { min-height: 128px; }
.nt-pf-mover-logo { width: 42px; height: 42px; }
.nt-pf-mover-copy strong { font-size: 14px; }
.nt-pf-mover-value strong { font-size: 18px; }
.nt-pf-summary { margin-top: 18px; }
.nt-pf-metric { min-height: 100px; padding: 18px 21px; }
.nt-pf-metric span { font-size: 12px; }
.nt-pf-metric strong { font-size: 21px; }
.nt-pf-content { grid-template-columns: minmax(0,1fr) 380px; gap: 18px; margin-top: 18px; }
.nt-pf-panel-head { min-height: 62px; padding-inline: 18px; }
.nt-pf-panel-head strong { font-size: 14px; }
.nt-pf-table th { height: 42px; padding-inline: 15px; font-size: 11px; }
.nt-pf-table td { height: 70px; padding-inline: 15px; font-size: 12px; }
.nt-pf-asset-art { width: 39px; height: 39px; }
.nt-pf-activity { min-height: 70px; padding-inline: 17px; }
}
@media (min-width: 2560px) and (min-height: 1400px)  {
.nt-pf-bar { min-height: 88px; padding-inline: 34px; }
.nt-pf-body { padding: 38px; }
.nt-pf-hero { grid-template-columns: minmax(0,1fr) 530px; }
.nt-pf-performance { padding: 36px 40px 24px; }
.nt-pf-total { font-size: 57px; line-height: 64px; }
.nt-pf-chart { height: 378px; }
.nt-pf-chart svg { height: 338px; }
.nt-pf-daily { padding: 36px 32px 24px; }
.nt-pf-mover { min-height: 158px; }
.nt-pf-summary { margin-top: 24px; }
.nt-pf-metric { min-height: 120px; padding: 24px 28px; }
.nt-pf-metric strong { font-size: 25px; }
.nt-pf-content { grid-template-columns: minmax(0,1fr) 470px; gap: 24px; margin-top: 24px; }
.nt-pf-panel-head { min-height: 72px; }
.nt-pf-table th { height: 48px; font-size: 12px; }
.nt-pf-table td { height: 82px; font-size: 14px; }
.nt-pf-asset-art { width: 46px; height: 46px; }
.nt-pf-asset-copy strong { font-size: 15px; }
.nt-pf-activity { min-height: 82px; }
}
@media (min-width: 3400px) and (min-height: 1800px)  {
.nt-pf-body { width: 100%; max-width: 3400px; margin-inline: auto; padding: 52px; }
.nt-pf-hero { grid-template-columns: minmax(0,1fr) 640px; }
.nt-pf-total { font-size: 68px; line-height: 76px; }
.nt-pf-chart { height: 500px; }
.nt-pf-chart svg { height: 456px; }
.nt-pf-content { grid-template-columns: minmax(0,1fr) 560px; }
}
@media (min-width: 2400px) and (min-height: 1200px)  {
.nt-term-layout,
   .nt-lp-layout,
   .nt-pf-body { flex: 1 1 auto; min-height: 0; }
.nt-pf-bar { min-height: 72px; padding-inline: 24px; }
.nt-pf-title strong { font-size: 20px; }
.nt-pf-body { width: 100%; max-width: 3000px; margin-inline: auto; padding: 28px; overflow: auto; }
.nt-pf-hero { grid-template-columns: minmax(0,1fr) 420px; }
.nt-pf-performance { padding: 26px 28px 18px; }
.nt-pf-total { font-size: 44px; line-height: 50px; }
.nt-pf-chart { height: clamp(250px,22dvh,420px); }
.nt-pf-chart svg { height: calc(100% - 34px); }
.nt-pf-daily { padding: 25px 22px 17px; }
.nt-pf-mover { min-height: 116px; }
.nt-pf-summary { margin-top: 18px; }
.nt-pf-metric { min-height: 94px; padding: 17px 20px; }
.nt-pf-metric strong { font-size: 20px; }
.nt-pf-content { grid-template-columns: minmax(0,1fr) 380px; gap: 18px; margin-top: 18px; }
.nt-pf-panel-head { min-height: 58px; }
.nt-pf-table th { height: 38px; font-size: 11px; }
.nt-pf-table td { height: 64px; font-size: 12px; }
.nt-pf-asset-art { width: 38px; height: 38px; }
.nt-pf-activity { min-height: 66px; }
}
@media (min-width: 3400px) and (min-height: 1800px)  {
.nt-pf-body { max-width: 3200px; padding: 34px; }
.nt-pf-hero { grid-template-columns: minmax(0,1fr) 480px; }
.nt-pf-total { font-size: 46px; line-height: 52px; }
.nt-pf-chart { height: 300px; }
.nt-pf-content { grid-template-columns: minmax(0,1fr) 420px; }
}

/* ---- app-rendered rows in the nt visual language ---- */
#portfolio .nt-pf-bar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 auto 18px; max-width:1240px; }
#portfolio .nt-pf-bartotal { display:flex; flex-direction:column; align-items:flex-end; gap:2px; }
#portfolio .nt-pf-bartotal span { font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--nt-faint); }
#portfolio .nt-pf-bartotal strong { font:600 22px/1 var(--pf-mono); color:var(--nt-text); }
#portfolio .nt-pf-body { max-width:1240px; margin:0 auto; display:flex; flex-direction:column; gap:16px; }
#portfolio .nt-pf-content { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:16px; align-items:start; }
@media (max-width: 980px) { #portfolio .nt-pf-content { grid-template-columns:1fr; } }
#portfolio .nt-pf-maincol { display:flex; flex-direction:column; gap:16px; min-width:0; }
#portfolio .nt-pf-tablewrap { overflow-x:auto; }
#portfolio .nt-pf-table { width:100%; border-collapse:collapse; font-family:var(--pf-mono); font-size:12.5px; }
#portfolio .nt-pf-table th { text-align:left; font:500 10.5px/1 var(--pf-sans); letter-spacing:.12em; text-transform:uppercase; color:var(--nt-faint); padding:10px 12px; border-bottom:1px solid var(--nt-line); }
#portfolio .nt-pf-table td { padding:11px 12px; border-bottom:1px solid var(--nt-line); color:var(--nt-text); white-space:nowrap; }
#portfolio .nt-pf-table tr:last-child td { border-bottom:0; }
#portfolio .nt-pf-table tr.pf-row { cursor:pointer; transition:background .15s; }
#portfolio .nt-pf-table tr.pf-row:hover { background:rgba(220,232,226,.035); }
#portfolio .pf-asset { display:flex; align-items:center; gap:10px; }
#portfolio .pf-ico img, #portfolio .pf-ico .token-avatar { width:28px; height:28px; border-radius:9px; }
#portfolio .pf-nm { display:flex; flex-direction:column; line-height:1.15; }
#portfolio .pf-nm b { font:600 13px var(--pf-sans); color:var(--nt-text); }
#portfolio .pf-nm small { color:var(--nt-faint); font:400 11px var(--pf-sans); max-width:180px; overflow:hidden; text-overflow:ellipsis; }
#portfolio .pf-chain { display:inline-flex; align-items:center; gap:6px; padding:3px 9px; border-radius:999px; border:1px solid var(--nt-line); background:var(--nt-panel-2); font:500 10.5px var(--pf-sans); letter-spacing:.06em; color:var(--nt-muted); }
#portfolio .pf-up { color:var(--nt-green); } #portfolio .pf-down { color:var(--nt-red); }
#portfolio .pf-neutral { color:var(--nt-muted); }
#portfolio .pf-actions { display:inline-flex; gap:6px; }
#portfolio .pf-act { border:1px solid var(--nt-line); background:var(--nt-panel-2); color:var(--nt-text); font:600 11px var(--pf-sans); padding:5px 12px; border-radius:8px; cursor:pointer; transition:all .15s; }
#portfolio .pf-act.buy:hover { border-color:var(--nt-green); color:var(--nt-green); }
#portfolio .pf-act.sell:hover { border-color:var(--nt-red); color:var(--nt-red); }
#portfolio .pf-actions-locked { justify-content:flex-end; }
#portfolio .pf-route-state { display:inline-flex; align-items:center; min-height:28px; padding:0 9px; border:1px solid var(--nt-line); border-radius:7px; color:var(--nt-faint); background:var(--nt-panel-2); font:700 9px/1 var(--pf-sans); letter-spacing:.05em; text-transform:uppercase; cursor:default; }
#portfolio .pf-actions-locked[data-route-state="checking"] .pf-route-state { color:#a59a72; border-color:rgba(230,185,105,.18); }
#portfolio .pf-state-banner { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:16px 18px; border:1px solid var(--nt-line); border-radius:14px; background:var(--nt-panel); color:var(--nt-muted); font:400 13.5px var(--pf-sans); }
#portfolio .nt-pf-cta { border:1px solid var(--nt-green); background:transparent; color:var(--nt-green); font:600 12.5px var(--pf-sans); padding:8px 16px; border-radius:10px; cursor:pointer; }
#portfolio .nt-pf-alloc { padding:14px 16px; border:1px solid var(--nt-line); border-radius:14px; background:var(--nt-panel); display:flex; flex-direction:column; gap:10px; }
#portfolio .nt-pf-alloc-bar { display:flex; height:10px; border-radius:999px; overflow:hidden; background:var(--nt-panel-2); }
#portfolio .nt-pf-alloc-bar .pf-alloc-seg { height:100%; }
#portfolio .nt-pf-alloc-legend { display:flex; flex-wrap:wrap; gap:8px 14px; font:500 11px var(--pf-sans); color:var(--nt-muted); }
#portfolio .nt-pf-alloc-note { font:400 10.5px var(--pf-sans); color:var(--nt-faint); }
#portfolio .nt-pf-activity-list { display:flex; flex-direction:column; }
#portfolio [hidden] { display:none !important; }
#portfolio .pf-act-item { display:flex; align-items:center; gap:10px; padding:11px 4px; border-bottom:1px solid var(--nt-line); font-family:var(--pf-sans); }
#portfolio .pf-act-item:last-child { border-bottom:0; }
#portfolio .pf-act-ico { width:30px; height:30px; border-radius:10px; display:grid; place-items:center; background:var(--nt-panel-2); border:1px solid var(--nt-line); color:var(--nt-green); font-size:14px; flex:none; }
#portfolio .pf-act-ico.sell { color:var(--nt-red); }
#portfolio .pf-act-body { min-width:0; flex:1; display:flex; flex-direction:column; gap:2px; }
#portfolio .pf-act-line { font:600 12.5px var(--pf-sans); color:var(--nt-text); display:flex; gap:6px; align-items:center; flex-wrap:wrap; }
#portfolio .pf-act-sub { font:400 11px var(--pf-sans); color:var(--nt-faint); }
#portfolio .pf-act-badge { font:700 9.5px var(--pf-sans); letter-spacing:.1em; padding:2px 7px; border-radius:999px; }
#portfolio .pf-act-badge.buy { color:var(--nt-green); background:rgba(102,217,156,.12); }
#portfolio .pf-act-badge.sell { color:var(--nt-red); background:rgba(240,107,121,.12); }
#portfolio .pf-act-usd { font:600 12.5px var(--pf-mono); color:var(--nt-text); text-align:right; }
#portfolio .pf-act-tx, #portfolio .pf-act-route { color:var(--nt-faint); }
#portfolio .pf-act-arrow { color:var(--nt-faint); }

/* Mobile: the sticky asset column covered the Trade column even at full
   horizontal scroll, so Buy/Sell were untappable. Let the table scroll freely
   and keep the Trade cell pinned on the right instead. */
@media (max-width: 720px) {
  #portfolio .nt-pf-table th:first-child,
  #portfolio .nt-pf-table td:first-child { position: static; box-shadow: none; }
  #portfolio .nt-pf-table th:last-child,
  #portfolio .nt-pf-table td:last-child { position: sticky; right: 0; z-index: 2; background: #0c0e11; box-shadow: -1px 0 #24272c; }
}
