:root { color-scheme: dark; --bg:#07111f; --panel:#0c1a2d; --line:#1c314d; --text:#edf4ff; --muted:#8fa4c0; --cyan:#52d8ff; --green:#4ee4a2; --red:#ff7183; }
* { box-sizing:border-box; } body { margin:0; background:radial-gradient(circle at 8% 0,#10284a 0,transparent 33rem),var(--bg); color:var(--text); font:14px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,"Noto Sans TC",sans-serif; }
[hidden] { display:none!important; }
body.modal-open { overflow:hidden; }
.dashboard-tabs { display:flex; gap:8px; margin:24px 0 14px; padding:5px; background:rgba(7,21,36,.72); border:1px solid var(--line); border-radius:12px; }
.dashboard-tab { min-height:44px; flex:0 1 220px; padding:9px 16px; color:var(--muted); background:transparent; border-color:transparent; font-weight:700; }
.dashboard-tab:hover { color:var(--text); background:rgba(82,216,255,.05); }
.dashboard-tab.is-active { color:var(--text); background:#12304e; border-color:#2c5b7c; box-shadow:0 4px 14px rgba(0,0,0,.18); }
.tab-count { display:inline-grid; min-width:23px; height:23px; place-items:center; margin-left:5px; padding:0 6px; color:#081525; background:#ffd76a; border-radius:999px; font-size:11px; }
.dashboard-tab-panel:focus { outline:none; }
.star-dashboard-state { min-height:220px; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:18px; text-align:center; }
.star-dashboard-state h2 { margin:0; font-size:20px; }
.star-dashboard-state p { max-width:580px; margin:8px auto 0; color:var(--muted); }
.star-dashboard-state button,.saved-favorites-head button { min-height:44px; }
.star-kpis { margin-top:0; }
.star-charts { margin-top:14px; }
.context-hint { color:var(--muted); font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
.tracking-panel { margin-top:14px; }
.tracking-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:10px; max-height:440px; overflow:auto; }
.tracking-card { min-width:0; padding:12px; background:rgba(7,21,36,.7); border:1px solid var(--line); border-radius:9px; }
.tracking-card p { margin:7px 0 0; font-size:12px; color:var(--muted); overflow-wrap:anywhere; }
.tracking-address { font-family:ui-monospace,monospace; }
.tracking-card-head { display:flex; align-items:center; flex-wrap:wrap; gap:4px 8px; }
.tracking-card-compact .tracking-address { min-height:40px; padding:5px 0; }
.tracking-membership { color:var(--muted); font-size:11px; white-space:nowrap; }
.tracking-data-warning { color:#ffd9a0; font-size:11px; white-space:nowrap; }
.tracking-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:8px 0 0; }
.tracking-metrics > div { min-width:0; }
.tracking-metrics dt { color:var(--muted); font-size:11px; }
.tracking-metrics dd { margin:4px 0 0; font-size:14px; font-weight:650; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.shell { max-width:1440px; margin:auto; padding:36px 24px 56px; }.hero,.panel-head,.updated { display:flex; justify-content:space-between; gap:24px; align-items:flex-start; }.hero-copy { min-width:0; }.brand-row { display:flex; align-items:center; gap:14px; margin-bottom:10px; }.brand-lockup { display:inline-flex; align-items:center; gap:9px; color:var(--text); font-size:21px; font-weight:800; letter-spacing:-.035em; }.brand-lockup img { width:44px; height:44px; border-radius:12px; box-shadow:0 6px 18px rgba(0,0,0,.24); }.eyebrow { margin:0; font-size:11px; letter-spacing:.16em; color:var(--cyan); }.hero h1 { margin:0; font-size:30px; letter-spacing:-.04em; }.subtitle,.panel-head p,.kpi small { color:var(--muted); margin:7px 0 0; }.hero-controls { display:flex; align-items:flex-start; gap:24px; }.updated,.profile-summary { min-width:175px; display:flex; flex-direction:column; gap:3px; align-items:flex-end; color:var(--muted); font-size:12px; }.updated strong,.profile-summary > span { color:var(--text); font-weight:700; }.profile-summary small { max-width:230px; text-align:right; }.profile-summary small.is-success { color:var(--green); }.profile-summary small.is-pending { color:#ffd9a0; }.profile-summary small.is-error { color:var(--red); }.updated button,.profile-summary button { min-height:44px; margin-top:4px; } button { border:1px solid var(--line); color:var(--text); background:#10233c; padding:7px 10px; border-radius:7px; cursor:pointer; } button:hover { border-color:var(--cyan); } button:disabled { opacity:.55; cursor:not-allowed; }.notice { background:#3b2130; border:1px solid #8f4055; color:#ffc5cf; padding:12px; margin:22px 0; border-radius:8px; }.kpis { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:30px 0 14px; }.kpi,.panel { background:linear-gradient(145deg,rgba(18,42,72,.94),rgba(10,24,42,.94)); border:1px solid var(--line); border-radius:12px; }.kpi { padding:18px; }.kpi span { color:var(--muted); display:block; }.kpi strong { display:block; margin-top:8px; font-size:24px; letter-spacing:-.04em; }.charts { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.panel { padding:20px; }.panel h2 { margin:0; font-size:16px; }.panel-head > span { color:var(--cyan); font-weight:700; }.chart-wrap { height:250px; position:relative; margin-top:12px; } canvas { width:100%; height:100%; }.empty-chart { position:absolute; inset:0; display:grid; place-items:center; color:var(--muted); }.table-panel { margin-top:14px; }.search { color:var(--muted); display:flex; align-items:center; gap:8px; }.search input { background:#071524; border:1px solid var(--line); border-radius:7px; color:var(--text); padding:7px 9px; width:180px; }.table-scroll { overflow-x:auto; margin:14px -20px -20px; } table { border-collapse:collapse; min-width:1050px; width:100%; } th,td { text-align:right; padding:12px 20px; border-top:1px solid var(--line); white-space:nowrap; } th { color:var(--muted); font-size:11px; letter-spacing:.06em; text-transform:uppercase; } th:nth-child(3),td:nth-child(3),th:nth-child(4),td:nth-child(4) { text-align:left; }.address { color:var(--cyan); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }.long { color:var(--green); }.short { color:var(--red); }.muted { color:var(--muted); }.positive { color:var(--green); }.negative { color:var(--red); }
.profile-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:6px; }
.profile-actions button { margin-top:4px; }
.push-toggle { min-height:34px!important; padding:5px 9px; font-size:12px; white-space:nowrap; }
.push-toggle[aria-pressed="true"] { color:#07111f; background:var(--green); border-color:var(--green); }
.push-toggle.is-error { color:#ffc5cf; border-color:#8f4055; }
.favorite-hint { margin:12px 0 0; color:var(--muted); font-size:12px; }
.panel-head > span.positive,.kpi small.positive { color:var(--green); }
.panel-head > span.negative,.kpi small.negative { color:var(--red); }
.panel-head > span.neutral,.kpi small.neutral { color:var(--muted); }
.btc-price-panel { grid-column:1 / -1; }
.panel-head > span.btc-price-value { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:4px 9px; text-align:right; }
.btc-price-change { font-size:12px; }
#btcPriceSource.is-stale { color:#ffd9a0; }
.favorite-hint span { color:#ffd76a; }
.favorite-heading,.favorite-cell { width:56px; padding-left:8px; padding-right:8px; text-align:center!important; }
.favorite-button { width:44px; height:44px; padding:0; border-color:transparent; background:transparent; color:var(--muted); font-size:25px; line-height:1; }
.favorite-button:hover,.favorite-button:focus-visible { color:#ffd76a; border-color:#806b32; }
.favorite-button.is-starred { color:#ffd76a; background:rgba(255,215,106,.09); }
tr.is-starred { background:rgba(255,215,106,.035); }
.saved-favorites-panel { margin-top:14px; border-color:#5e522d; background:linear-gradient(145deg,rgba(46,42,29,.96),rgba(10,24,42,.96)); }
.saved-favorites-head { align-items:center; }
.saved-favorites-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:14px; }
.saved-favorite-card { display:flex; min-width:0; justify-content:space-between; align-items:center; gap:14px; padding:12px; background:rgba(7,21,36,.72); border:1px solid rgba(128,107,50,.62); border-radius:10px; }
.saved-favorite-main { min-width:0; flex:1; }
.saved-favorite-address { display:block; width:100%; max-width:100%; padding:6px 7px; font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace; overflow-wrap:anywhere; }
.saved-favorite-note { margin:4px 7px 0; color:#d4def0; font-size:12px; overflow-wrap:anywhere; }
.saved-favorite-note.is-empty { color:var(--muted); }
.saved-favorite-position { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:11px 7px 0; }
.saved-favorite-position > div { min-width:0; padding:8px; background:rgba(82,216,255,.045); border-radius:7px; }
.saved-favorite-position dt { color:var(--muted); font-size:10px; }
.saved-favorite-position dd { margin:3px 0 0; font-size:12px; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.saved-favorite-actions { flex:0 0 auto; display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:7px; }
.saved-favorite-status { flex-basis:100%; color:var(--muted); font-size:11px; text-align:right; }
.saved-favorite-status.is-current { color:var(--green); }
.saved-favorite-copy,.saved-favorite-remove { min-height:44px; }
.saved-favorite-remove { color:#ffd76a; border-color:#806b32; background:rgba(255,215,106,.08); }
button:focus-visible,input:focus-visible,textarea:focus-visible { outline:2px solid var(--cyan); outline-offset:2px; }
.mobile-holdings { display:none; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.clipboard-helper { position:fixed; left:-9999px; top:0; }
.address-button { min-height:44px; padding:7px 9px; border-color:transparent; background:transparent; color:var(--cyan); text-align:left; text-decoration:underline; text-decoration-color:rgba(82,216,255,.32); text-underline-offset:3px; }
.address-button:hover,.address-button:focus-visible { border-color:var(--cyan); background:rgba(82,216,255,.07); text-decoration-color:var(--cyan); }
.address-cell-wrap { display:flex; max-width:260px; flex-direction:column; align-items:flex-start; }
.address-note { display:block; max-width:100%; color:#d4def0; font-size:11px; line-height:1.4; white-space:normal; overflow-wrap:anywhere; }
.address-cell-wrap .address-note { padding:0 9px 6px; }
.card-note { margin:-4px 2px 12px; padding:8px 10px; background:rgba(255,215,106,.07); border-left:2px solid #806b32; border-radius:0 7px 7px 0; }
.trade-modal[hidden] { display:none; }
.trade-modal { position:fixed; z-index:1000; inset:0; display:grid; place-items:center; padding:24px; }
.trade-modal-backdrop { position:absolute; inset:0; width:100%; height:100%; padding:0; border:0; border-radius:0; background:rgba(1,8,17,.78); cursor:default; }
.trade-modal-backdrop:hover,.trade-modal-backdrop:focus { border:0; }
.trade-modal-panel { position:relative; display:flex; flex-direction:column; width:min(900px,100%); max-height:calc(100vh - 48px); max-height:min(760px,calc(100dvh - 48px)); overflow:auto; padding:22px; background:linear-gradient(145deg,#122a48,#09182a 76%); border:1px solid #294a70; border-radius:16px; box-shadow:0 28px 80px rgba(0,0,0,.55); }
.trade-modal-panel:focus { outline:none; }
.trade-modal-head { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; }
.trade-modal-heading { flex:1; min-width:0; }
.trade-modal-actions { display:flex; flex:0 0 auto; gap:6px; }
.trade-modal-actions .favorite-button { flex:0 0 44px; border-color:var(--line); }
.trade-modal-head h2 { margin:0; font-size:22px; }
.trade-modal-address { display:block; max-width:100%; margin-top:7px; color:var(--cyan); font-size:12px; overflow-wrap:anywhere; user-select:all; }
.trade-modal-close { flex:0 0 44px; width:44px; height:44px; padding:0; font-size:29px; line-height:1; }
.address-performance { min-width:0; margin-top:16px; padding:14px; background:rgba(7,21,36,.72); border:1px solid var(--line); border-radius:12px; }
.performance-title-row { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; }
.performance-title-row h3,.performance-cohort h4 { margin:0; font-size:15px; }
.performance-title-row p { margin:3px 0 0; color:var(--muted); font-size:11px; }
.performance-title-row > span { flex:0 0 auto; color:var(--cyan); font:11px ui-monospace,SFMono-Regular,Menlo,monospace; }
.performance-status,.performance-cohort-empty { margin:11px 0 0; padding:11px 12px; color:var(--muted); background:#071524; border:1px solid var(--line); border-radius:8px; }
.performance-status.is-error { color:#ffc5cf; border-color:#8f4055; background:rgba(59,33,48,.52); }
.performance-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin:12px 0 0; }
.performance-grid > div { min-width:0; padding:11px 12px; background:rgba(82,216,255,.045); border:1px solid rgba(28,49,77,.72); border-radius:9px; }
.performance-grid dt { color:var(--muted); font-size:11px; }
.performance-grid dd { margin:5px 0 0; color:var(--text); font-size:17px; font-weight:700; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.performance-grid dd.positive { color:var(--green); }
.performance-grid dd.negative { color:var(--red); }
.performance-grid dd.muted { color:var(--muted); }
.performance-cohort { margin-top:14px; padding-top:13px; border-top:1px solid var(--line); }
.performance-cohort h4 { color:#d4def0; }
.performance-cohort-grid dd { font-size:14px; }
.performance-cohort-empty { color:#ffd9a0; font-size:12px; }
.risk-notice { padding:10px 12px; margin:12px 0; border:1px solid var(--line); border-radius:8px; color:var(--muted); font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
.risk-notice.is-uncertain { color:#ffd9a0; border-color:#695537; background:rgba(100,75,29,.12); }
.risk-notice.has-risk { color:#ffc5cf; border-color:#804557; background:rgba(100,35,55,.12); }
.performance-grid .performance-wide { grid-column:span 2; }
.performance-grid .risk-range { font-size:12px; font-weight:500; line-height:1.6; }
.paper-detail-summary { border-left:2px solid var(--cyan); padding-left:12px; }
.paper-detail-summary p { color:var(--muted); font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
.trade-status { display:grid; min-height:280px; place-items:center; margin-top:16px; padding:24px; color:var(--muted); text-align:center; background:rgba(7,21,36,.58); border:1px solid var(--line); border-radius:12px; }
.trade-status.is-error { color:#ffc5cf; background:rgba(59,33,48,.7); border-color:#8f4055; }
.trade-chart-content { min-width:0; margin-top:14px; }
.trade-legend { display:flex; flex-wrap:wrap; align-items:center; gap:9px 18px; color:var(--muted); font-size:12px; }
.trade-legend > span { display:flex; align-items:center; gap:6px; }
.trade-legend strong { color:var(--text); }
.trade-legend-note { margin-left:auto; }
.trade-dot { display:inline-block; width:9px; height:9px; border-radius:50%; }
.buy-dot { background:var(--green); }
.sell-dot { background:var(--red); }
.trade-chart-wrap { height:360px; min-width:0; margin-top:10px; padding:4px; background:rgba(7,21,36,.58); border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.trade-chart-wrap canvas { display:block; width:100%; height:100%; touch-action:manipulation; }
.trade-warning { margin:10px 0 0; padding:9px 11px; color:#ffd9a0; background:rgba(128,92,35,.17); border:1px solid #725730; border-radius:8px; font-size:12px; }
.trade-selected-fill { min-height:44px; margin:10px 0 0; padding:11px 12px; color:var(--muted); background:#071524; border:1px solid var(--line); border-radius:8px; font-variant-numeric:tabular-nums; }
.address-note-editor { min-width:0; margin-top:14px; padding:14px; background:rgba(7,21,36,.58); border:1px solid var(--line); border-radius:12px; }
.address-note-title-row,.address-note-actions { display:flex; align-items:center; gap:10px; }
.address-note-title-row { justify-content:space-between; margin-bottom:9px; }
.address-note-title-row h3 { margin:0; font-size:15px; }
.address-note-title-row span,.address-note-actions span { color:var(--muted); font-size:11px; }
.address-note-login { display:flex; justify-content:space-between; align-items:center; gap:12px; color:var(--muted); }
.address-note-login button,.address-note-actions button { min-height:44px; }
.address-note-editor textarea { display:block; width:100%; min-width:0; max-width:100%; min-height:86px; resize:vertical; padding:10px 12px; color:var(--text); background:#071524; border:1px solid var(--line); border-radius:8px; font:inherit; font-size:16px; line-height:1.45; }
.address-note-actions { justify-content:flex-end; margin-top:9px; }
.address-note-actions span { margin-right:auto; }
.recent-trades { min-width:0; margin-top:18px; }
.recent-trades-title-row { display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin-bottom:9px; }
.recent-trades-title-row h3 { margin:0; font-size:15px; }
.recent-trades-title-row span { color:var(--muted); font-size:11px; }
.recent-trades-header,.recent-trade-row { display:grid; grid-template-columns:minmax(132px,1.2fr) minmax(72px,.65fr) minmax(112px,1fr) minmax(92px,.8fr) minmax(88px,.75fr) minmax(105px,.85fr); gap:12px; align-items:center; }
.recent-trades-header { padding:8px 12px; color:var(--muted); font-size:11px; }
.recent-trades-header span:nth-child(n+4),.recent-trade-row > :nth-child(n+4) { text-align:right; }
.recent-trades-list { overflow:hidden; background:rgba(7,21,36,.58); border:1px solid var(--line); border-radius:10px; }
.recent-trade-row { min-width:0; padding:11px 12px; border-top:1px solid var(--line); font-size:12px; font-variant-numeric:tabular-nums; }
.recent-trade-row:first-child { border-top:0; }
.recent-trade-row > * { min-width:0; }
.recent-trade-time,.recent-trade-direction { color:var(--muted); }
.recent-trade-direction { overflow-wrap:anywhere; }
.recent-trade-side { font-weight:700; }
.recent-trade-side.buy { color:var(--green); }
.recent-trade-side.sell { color:var(--red); }
.recent-trades-empty { margin:0; padding:22px 12px; color:var(--muted); text-align:center; background:rgba(7,21,36,.58); border:1px solid var(--line); border-radius:10px; }
.profile-modal[hidden] { display:none; }
.profile-modal { position:fixed; z-index:1100; inset:0; display:grid; place-items:center; padding:24px; -webkit-user-select:none; user-select:none; }
.profile-modal-backdrop { position:absolute; z-index:0; inset:0; width:100%; height:100%; background:rgba(1,8,17,.82); cursor:default; -webkit-user-select:none; user-select:none; }
.profile-modal-panel { position:relative; z-index:1; width:min(520px,100%); max-height:calc(100dvh - 48px); overflow:auto; padding:22px; background:linear-gradient(145deg,#122a48,#09182a 76%); border:1px solid #294a70; border-radius:16px; box-shadow:0 28px 80px rgba(0,0,0,.55); -webkit-user-select:none; user-select:none; }
.profile-modal-head { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; }
.profile-modal-head h2 { margin:0; font-size:22px; }
.profile-modal-close { flex:0 0 44px; width:44px; height:44px; padding:0; font-size:29px; line-height:1; }
.profile-explanation { color:var(--muted); }
.profile-http-warning { padding:10px 12px; color:#ffd9a0; background:rgba(128,92,35,.17); border:1px solid #725730; border-radius:8px; }
.profile-modal form { display:grid; gap:10px; margin-top:16px; }
.profile-modal label { color:var(--muted); font-size:12px; }
.profile-key-row { display:flex; min-width:0; gap:8px; }
.profile-key-row input { position:relative; z-index:2; min-width:0; min-height:44px; flex:1; padding:9px 11px; color:var(--text); background:#071524; border:1px solid var(--line); border-radius:8px; font:16px ui-monospace,SFMono-Regular,Menlo,monospace; -webkit-user-select:text; user-select:text; pointer-events:auto; touch-action:manipulation; }
.profile-key-row button,.profile-copy,.profile-submit { min-height:44px; }
.profile-copy { justify-self:start; }
.profile-submit { width:100%; margin-top:2px; background:#123b58; border-color:#2f789a; }
.profile-login-status { min-height:20px; margin:0; color:#ffd9a0; font-size:12px; }
@media (max-width:850px) {
  .hero { flex-direction:column; }
  .hero-controls { width:100%; justify-content:space-between; }
  .updated,.profile-summary { min-width:0; align-items:flex-start; }
  .profile-summary small { text-align:left; }
  .profile-actions { justify-content:flex-start; }
  .updated button { min-height:44px; }
  .kpis,.charts { grid-template-columns:1fr 1fr; }
  .saved-favorites-list { grid-template-columns:1fr; }
  .dashboard-tab { flex:1; }
}
@media (max-width:700px) {
  .shell { padding:22px 12px calc(40px + env(safe-area-inset-bottom)); }
  .hero { gap:16px; }
  .hero h1 { font-size:26px; }
  .brand-row { gap:10px; margin-bottom:9px; }
  .brand-lockup { gap:8px; font-size:19px; }
  .brand-lockup img { width:38px; height:38px; border-radius:10px; }
  .subtitle { font-size:13px; }
  .hero-controls { gap:12px; }
  .kpis { grid-template-columns:1fr 1fr; gap:10px; margin-top:20px; }
  .kpi { min-width:0; padding:14px; }
  .kpi strong { font-size:20px; }
  .charts { grid-template-columns:1fr; gap:10px; }
  .panel { padding:14px; }
  .dashboard-tabs { position:sticky; z-index:20; top:0; margin:18px -2px 12px; background:rgba(7,17,31,.94); backdrop-filter:blur(12px); }
  .dashboard-tab { min-width:0; padding:8px 7px; }
  .saved-favorite-card { align-items:stretch; flex-direction:column; gap:10px; }
  .saved-favorite-address { min-height:44px; }
  .saved-favorite-actions { display:grid; grid-template-columns:1fr 1fr; }
  .saved-favorite-status { grid-column:1/-1; text-align:left; }
  .saved-favorite-copy,.saved-favorite-remove { width:100%; }
  .saved-favorite-position { grid-template-columns:1fr 1fr; }
  .chart-wrap { height:210px; }
  .table-panel { padding:14px 0 0; background:transparent; border:0; }
  .holdings-head,.favorite-hint { margin-left:2px; margin-right:2px; }
  .holdings-head { padding:0 0 4px; gap:14px; flex-direction:column; }
  .search { width:100%; align-items:stretch; flex-direction:column; gap:5px; }
  .search input { width:100%; min-height:44px; padding:10px 12px; font-size:16px; }
  .desktop-holdings { display:none; }
  .mobile-holdings { display:grid; gap:10px; margin-top:14px; }
  .holding-card { position:relative; overflow:hidden; padding:14px; background:linear-gradient(145deg,rgba(18,42,72,.98),rgba(10,24,42,.98)); border:1px solid var(--line); border-radius:12px; box-shadow:0 7px 20px rgba(0,0,0,.14); }
  .holding-card.is-starred { border-color:#806b32; box-shadow:inset 3px 0 #ffd76a,0 7px 20px rgba(0,0,0,.14); }
  .holding-card-head { display:flex; justify-content:space-between; align-items:center; gap:12px; }
  .rank-label { display:block; color:var(--muted); font-size:11px; }
  .card-rank { display:block; margin-top:1px; color:var(--text); font-size:22px; }
  .card-actions { display:flex; align-items:center; gap:8px; }
  .card-side { min-width:44px; padding:5px 10px; border-radius:999px; text-align:center; font-weight:700; background:rgba(143,164,192,.1); }
  .card-side.long { background:rgba(78,228,162,.1); }
  .card-side.short { background:rgba(255,113,131,.1); }
  .card-address-row { display:flex; align-items:center; gap:8px; margin:12px 0; padding:9px 9px 9px 11px; background:#071524; border:1px solid var(--line); border-radius:9px; }
  .card-address-button { min-width:0; flex:1; padding:8px 4px; }
  .card-address { display:block; min-width:0; color:var(--cyan); font:11px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace; overflow-wrap:anywhere; user-select:all; }
  .copy-button { flex:0 0 auto; min-width:58px; min-height:44px; padding:8px; }
  .card-primary,.card-details { display:grid; margin:0; }
  .card-primary { grid-template-columns:1fr 1fr; gap:8px; padding-bottom:12px; border-bottom:1px solid var(--line); }
  .card-primary > div { min-width:0; padding:10px; background:rgba(82,216,255,.045); border-radius:8px; }
  .card-primary dt,.card-details dt { color:var(--muted); font-size:11px; }
  .card-primary dd,.card-details dd { margin:4px 0 0; color:var(--text); font-variant-numeric:tabular-nums; }
  .card-primary dd { font-size:18px; font-weight:700; }
  .card-primary dd.positive,.card-details dd.positive { color:var(--green); }
  .card-details dd.negative { color:var(--red); }
  .card-details { grid-template-columns:1fr 1fr; column-gap:16px; }
  .card-details > div { display:flex; justify-content:space-between; gap:8px; min-width:0; padding:10px 0; border-bottom:1px solid rgba(28,49,77,.7); }
  .card-details > div:last-child { grid-column:1/-1; }
  .card-details dd { text-align:right; }
  .holdings-empty { margin:16px 0; padding:28px 14px; color:var(--muted); text-align:center; background:var(--panel); border:1px solid var(--line); border-radius:12px; }
  .trade-modal { align-items:end; padding:0; }
  .trade-modal-panel { width:100%; max-height:100vh; max-height:calc(100dvh - env(safe-area-inset-top)); min-height:92vh; min-height:min(92dvh,760px); padding:18px 12px calc(18px + env(safe-area-inset-bottom)); border-radius:16px 16px 0 0; }
  .trade-modal-head { gap:10px; }
  .trade-modal-head h2 { font-size:20px; }
  .trade-modal-address { font-size:11px; }
  .address-performance { padding:12px; }
  .performance-title-row { gap:8px; }
  .performance-title-row > span { max-width:42%; text-align:right; overflow-wrap:anywhere; }
  .performance-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .performance-grid > div { padding:10px; }
  .performance-grid dd { font-size:15px; }
  .trade-chart-wrap { height:310px; }
  .trade-legend-note { flex-basis:100%; margin-left:0; }
  .trade-status { min-height:250px; }
  .address-note-login { align-items:flex-start; flex-direction:column; }
  .address-note-login button { width:100%; }
  .address-note-actions { display:grid; grid-template-columns:1fr 1fr; }
  .address-note-actions span { grid-column:1/-1; margin:0; }
  .address-note-actions button { width:100%; }
  .recent-trades-header { display:none; }
  .recent-trades-list { display:grid; gap:8px; overflow:visible; background:transparent; border:0; border-radius:0; }
  .recent-trade-row { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 12px; padding:12px; background:rgba(7,21,36,.68); border:1px solid var(--line); border-radius:10px; }
  .recent-trade-row:first-child { border-top:1px solid var(--line); }
  .recent-trade-row > * { display:grid; gap:3px; text-align:left!important; overflow-wrap:anywhere; }
  .recent-trade-row > *::before { content:attr(data-label); color:var(--muted); font-size:10px; font-weight:400; }
  .recent-trade-time,.recent-trade-direction { color:var(--text); }
  .profile-modal { align-items:end; padding:0; }
  .profile-modal-panel { width:100%; max-height:calc(100dvh - env(safe-area-inset-top)); padding:18px 12px calc(18px + env(safe-area-inset-bottom)); border-radius:16px 16px 0 0; }
}
@media (max-width:390px) {
  .shell { padding-left:10px; padding-right:10px; }
  .kpis { grid-template-columns:1fr; }
  .card-primary { grid-template-columns:1fr; }
  .card-details { grid-template-columns:1fr; }
  .card-details > div:last-child { grid-column:auto; }
  .hero-controls { flex-direction:column; }
  .updated,.profile-summary { width:100%; }
  .profile-actions { width:100%; }
  .performance-grid { grid-template-columns:1fr; }
  .performance-grid .performance-wide { grid-column:auto; }
}
