.pf-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.pf-tabs{background:var(--chip-bg);border-radius:9px;gap:2px;padding:3px;display:inline-flex}.pf-tab{font-family:var(--font-body);color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:7px 20px;font-size:.85rem;font-weight:600;transition:background-color .15s,color .15s}.pf-tab:hover{color:var(--text)}.pf-tab[aria-selected=true]{background:var(--surface);color:var(--heading)}.pf-updated{font-family:var(--font-mono);color:var(--muted);font-size:.74rem}.pf-note{border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--surface);color:var(--muted);border-radius:4px;margin-bottom:16px;padding:10px 14px;font-size:.85rem}.pf-stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}.pf-stat{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.pf-stat-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-size:.62rem;font-weight:500}.pf-stat-value{font-family:var(--font-mono);color:var(--heading);font-size:1.3rem;font-weight:600}.pf-stat-sub{color:var(--muted);font-size:.76rem}.pf-disclaimer{color:var(--muted);margin-top:10px;font-size:.78rem}.pf-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-top:18px;overflow:hidden}.pf-card-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:12px;padding:14px 18px;display:flex}.pf-card-head h2{font-family:var(--font-heading);color:var(--heading);font-size:1.05rem}.pf-card-head .pf-sub{font-family:var(--font-mono);color:var(--muted);font-size:.72rem}.pf-chart-body{height:clamp(350px,38vw,520px)}.pf-chart-body svg{width:100%;height:100%;display:block}.pf-legend{border-top:1px solid var(--border);flex-wrap:wrap;gap:6px 20px;padding:14px 18px;list-style:none;display:flex}.pf-legend li{color:var(--text);align-items:center;gap:7px;font-size:.8rem;display:inline-flex}.pf-legend .pf-swatch{border-radius:3px;flex:none;width:10px;height:10px}.pf-legend .pf-legend-ticker{font-family:var(--font-mono);font-weight:500}.pf-legend .pf-legend-pct{font-family:var(--font-mono);color:var(--muted)}.pf-table-wrap{overflow-x:auto}.pf-table{border-collapse:collapse;width:100%;font-size:.92rem}.pf-table thead th{text-align:left;white-space:nowrap;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.09em;color:var(--muted);border-bottom:1px solid var(--border);padding:11px 16px;font-size:.66rem;font-weight:500}.pf-table th[data-sort]{cursor:pointer;user-select:none}.pf-table th[data-sort]:hover{color:var(--heading)}.pf-table tbody tr{border-bottom:1px solid var(--border)}.pf-table tbody tr:last-child{border-bottom:0}.pf-table tbody tr:hover{background:var(--chip-bg)}.pf-table td{vertical-align:middle;color:var(--text);padding:12px 16px}.pf-table .pf-num{font-family:var(--font-mono);text-align:right;white-space:nowrap}.pf-table .pf-name{color:var(--muted);margin-top:2px;font-size:.82rem;display:block}.pf-ticker{font-family:var(--font-mono);color:var(--heading);align-items:center;gap:8px;font-weight:500;display:flex}.pf-ticker .pf-swatch{border-radius:3px;flex:none;width:9px;height:9px}.pf-livesym{color:var(--muted);font-weight:400}.pf-tag{font-family:var(--font-mono);color:var(--muted);background:var(--chip-bg);border-radius:4px;padding:2px 7px;font-size:.7rem}.pf-up{color:var(--pnl-up)}.pf-down{color:var(--pnl-down)}.pf-none{color:var(--muted)}.pf-empty{text-align:center;color:var(--muted);padding:40px 16px;font-size:.88rem}@media (width<=955px){.pf-chart-body{height:320px}}@media (width<=700px){.pf-table .pf-col-market,.pf-table .pf-col-alloc{display:none}.pf-table{font-size:.85rem}.pf-table .pf-name{white-space:nowrap;text-overflow:ellipsis;max-width:28vw;overflow:hidden}.pf-table td,.pf-table thead th{padding:9px 8px}.pf-stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.pf-tabs{width:100%}.pf-tab{flex:1}}
