:root{--color-bg:#0f0a1a;--color-surface:#1a1230;--color-surface-hover:#221840;--color-border:#2d2050;--color-border-control:#6b5ca0;--color-primary:#7152f0;--color-primary-hover:#9b7eff;--color-primary-muted:#432dd7;--color-primary-text:#9b7eff;--color-text:#e8e0f0;--color-text-muted:#9a8cb5;--color-text-heading:#fff;--color-success:#16a34a;--color-success-text:#4ade80;--color-warning:#d97706;--color-warning-text:#fbbf24;--color-danger:#dc2626;--color-danger-text:#f87171;--color-info:#3b82f6;--font-sans:"Inter", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--text-xs:.8125rem;--text-sm:.9375rem;--text-base:1.0625rem;--text-lg:1.3125rem;--text-xl:1.6875rem;--text-2xl:2.1875rem;--weight-normal:400;--weight-medium:500;--weight-bold:700;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--radius-sm:.375rem;--radius-md:.75rem;--radius-lg:1rem;--focus-ring:0 0 0 2px var(--color-primary)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--weight-normal);color:var(--color-text);background-color:var(--color-bg);line-height:1.5}h1,h2,h3,h4{color:var(--color-text-heading);font-weight:var(--weight-bold);line-height:1.2}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}a,button{-webkit-tap-highlight-color:transparent}a{color:var(--color-primary-text);text-decoration:none}a:hover{color:var(--color-primary-hover)}a:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-sm);outline:none}code,pre{font-family:var(--font-mono)}:focus-visible{box-shadow:var(--focus-ring);outline:none}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.empty,.loading{color:var(--color-text-muted);font-size:var(--text-sm)}.error{color:var(--color-danger-text);font-size:var(--text-sm)}.ticker-link{color:var(--color-primary-text);text-decoration:none}.ticker-link:hover{color:var(--color-primary-hover);text-decoration:underline}.skeleton{border-radius:var(--radius-md);background:linear-gradient(90deg, var(--color-surface) 25%, var(--color-surface-hover) 50%, var(--color-surface) 75%);background-size:200% 100%;animation:1.4s ease-in-out infinite skeleton-shimmer}.skeleton--chart{height:160px}.skeleton--line{height:1rem;margin:var(--space-2) 0}.skeleton--card{height:7rem}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.markdown-body{font-size:var(--text-sm);color:var(--color-text);line-height:1.7}.markdown-body h2,.markdown-body h3{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-heading);margin:var(--space-4) 0 var(--space-1)}.markdown-body h2:first-child,.markdown-body h3:first-child{margin-top:0}.markdown-body ul,.markdown-body ol{padding-left:var(--space-4);margin:var(--space-2) 0}.markdown-body li{margin-bottom:var(--space-1)}.markdown-body strong{font-weight:var(--weight-semibold);color:var(--color-text-heading)}.markdown-body p{margin:var(--space-2) 0}.markdown-body p:first-child{margin-top:0}.markdown-body table{border-collapse:collapse;width:100%;margin:var(--space-3) 0;font-size:var(--text-xs)}.markdown-body th,.markdown-body td{padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);text-align:left}.markdown-body th{background:var(--color-surface);font-weight:var(--weight-semibold);color:var(--color-text-heading)}.markdown-body tr:nth-child(2n) td{background:var(--color-surface-hover)}.markdown-body code{font-family:var(--font-mono);background:var(--color-surface);border-radius:var(--radius-sm);padding:.1em .3em;font-size:.9em}.markdown-body blockquote{border-left:3px solid var(--color-border);margin:var(--space-2) 0;padding-left:var(--space-3);color:var(--color-text-muted)}.consultation__stance[data-v-2cc4a554]{margin-left:var(--space-2);padding:0 var(--space-2);font-size:var(--text-xs);border-radius:var(--radius-sm);border:1px solid}.consultation[data-v-2cc4a554]{gap:var(--space-2);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex}.consultation--error[data-v-2cc4a554]{border-color:var(--color-danger)}.consultation__header[data-v-2cc4a554]{align-items:baseline;gap:var(--space-2);font-family:var(--font-sans);font-size:inherit;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:none;flex-wrap:wrap;padding:0;display:flex}.consultation__title[data-v-2cc4a554]{font-weight:var(--weight-medium)}.consultation__meta[data-v-2cc4a554]{font-size:var(--text-xs);color:var(--color-text-muted);margin-left:auto}.consultation__verdict[data-v-2cc4a554],.consultation__move[data-v-2cc4a554],.consultation__error[data-v-2cc4a554],.consultation__note[data-v-2cc4a554]{margin:0}.consultation__verdict[data-v-2cc4a554]{color:var(--color-text-heading)}.consultation__move[data-v-2cc4a554],.consultation__note[data-v-2cc4a554]{color:var(--color-text-muted)}.consultation__error[data-v-2cc4a554]{color:var(--color-danger-text)}.is-up[data-v-2cc4a554]{color:var(--color-success-text)}.is-down[data-v-2cc4a554]{color:var(--color-danger-text)}.consultation__question[data-v-2cc4a554]{margin-top:var(--space-2);color:var(--color-text-muted)}.consultation__question p[data-v-2cc4a554]{white-space:pre-wrap}.consultation__actions[data-v-2cc4a554]{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.rate-btn[data-v-2cc4a554]{padding:var(--space-1) var(--space-2);font-size:var(--text-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;background:0 0}.rate-btn[aria-pressed=true][data-v-2cc4a554]{background:var(--color-primary-muted);border-color:var(--color-primary)}.consultation__note-form[data-v-2cc4a554]{gap:var(--space-2);flex-wrap:wrap;display:flex}.consultation__note-form textarea[data-v-2cc4a554]{min-width:0;padding:var(--space-2) var(--space-3);font-family:var(--font-sans);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-control);border-radius:var(--radius-md);flex:100%}.consultation button[data-v-2cc4a554]:focus-visible,.consultation textarea[data-v-2cc4a554]:focus-visible{box-shadow:var(--focus-ring);outline:none}.ai-fab[data-v-a9696484]{right:var(--space-6);bottom:calc(var(--space-6) + env(safe-area-inset-bottom,0px));z-index:30;padding:var(--space-3) var(--space-4);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);color:#fff;background:var(--color-primary-muted);border:1px solid var(--color-primary);cursor:pointer;border-radius:999px;position:fixed;box-shadow:0 4px 16px #0006}.ai-fab[data-v-a9696484]:focus-visible,.ai-panel button[data-v-a9696484]:focus-visible,.ai-panel input[data-v-a9696484]:focus-visible,.ai-panel textarea[data-v-a9696484]:focus-visible{box-shadow:var(--focus-ring);outline:none}.ai-panel[data-v-a9696484]{width:min(36rem,100vw);max-width:100vw;height:100dvh;max-height:100dvh;color:var(--color-text);background:var(--color-surface);border:none;border-left:1px solid var(--color-border);margin:0 0 0 auto;padding:0}.ai-panel[data-v-a9696484]::backdrop{background:#00000080}.ai-panel__content[data-v-a9696484]{gap:var(--space-4);padding:var(--space-4) var(--space-4) var(--space-8);flex-direction:column;display:flex}.ai-panel__header[data-v-a9696484]{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.ai-panel__header h2[data-v-a9696484]{font-size:var(--text-lg);color:var(--color-text-heading);margin:0}.ai-panel__close[data-v-a9696484]{padding:var(--space-1) var(--space-2);font-size:var(--text-lg);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none}.ai-panel__presets[data-v-a9696484]{gap:var(--space-2);flex-wrap:wrap;display:flex}.ai-panel__amount[data-v-a9696484],.ai-panel__free[data-v-a9696484]{align-items:center;gap:var(--space-2);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.ai-panel__free label[data-v-a9696484]{width:100%;color:var(--color-text-muted)}.ai-panel input[data-v-a9696484],.ai-panel textarea[data-v-a9696484]{padding:var(--space-2) var(--space-3);font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border-control);border-radius:var(--radius-md)}.ai-panel input[data-v-a9696484]{width:8rem}.ai-panel textarea[data-v-a9696484]{flex:1;min-width:0}.ai-panel__status[data-v-a9696484]{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.ai-panel__error[data-v-a9696484]{color:var(--color-danger-text);margin:0}.ai-panel__history[data-v-a9696484]{gap:var(--space-3);flex-direction:column;display:flex}.ai-panel__history h3[data-v-a9696484]{font-size:var(--text-sm);color:var(--color-text-heading);margin:0}.ai-panel__all[data-v-a9696484]{font-size:var(--text-sm)}@media (width<=768px){.ai-fab[data-v-a9696484]{display:none}}@media (width<=600px){.ai-panel[data-v-a9696484]{border-left:none;width:100vw}.ai-panel__free[data-v-a9696484]{flex-direction:column;align-items:stretch}}.toasts[data-v-8538c16d]{top:var(--space-4);z-index:60;gap:var(--space-2);width:min(28rem, calc(100vw - 2 * var(--space-4)));pointer-events:none;flex-direction:column;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toasts__group[data-v-8538c16d]{display:contents}.toast[data-v-8538c16d]{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-control);border-radius:var(--radius-md);pointer-events:auto;border-left-width:4px;margin:0;display:flex;box-shadow:0 4px 16px #0006}.toast--success[data-v-8538c16d]{border-left-color:var(--color-success-text)}.toast--error[data-v-8538c16d]{border-left-color:var(--color-danger-text)}.toast__action[data-v-8538c16d]{padding:0 var(--space-2);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-primary-text);cursor:pointer;background:0 0;border:none}.toast__action[data-v-8538c16d]:focus-visible{box-shadow:var(--focus-ring);outline:none}.toast__close[data-v-8538c16d]{padding:0 var(--space-1);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none}.toast__close[data-v-8538c16d]:focus-visible{box-shadow:var(--focus-ring);outline:none}.bottom-bar[data-v-e1f1c1e4]{z-index:40;padding-bottom:env(safe-area-inset-bottom,0px);background:var(--color-surface);border-top:1px solid var(--color-border-control);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #0000004d}.bottom-bar[data-v-e1f1c1e4] .bottom-bar__item{min-width:0;min-height:3.5rem;padding:var(--space-1);font-family:var(--font-sans);font-size:var(--text-xs);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:2px;text-decoration:none;display:flex}.bottom-bar[data-v-e1f1c1e4] .bottom-bar__item .icon{font-size:1.25rem;line-height:1}.bottom-bar[data-v-e1f1c1e4] .bottom-bar__item.is-active,.bottom-bar[data-v-e1f1c1e4] .bottom-bar__item[aria-current=page]{color:var(--color-primary-text)}.bottom-bar[data-v-e1f1c1e4] .bottom-bar__item--accent .icon{color:#fff;background:var(--color-primary);border-radius:999px;place-items:center;width:2.25rem;height:2.25rem;display:grid}.bottom-bar[data-v-e1f1c1e4] .bottom-bar__item:focus-visible{box-shadow:inset var(--focus-ring);outline:none}.bottom-bar[data-v-e1f1c1e4] .bottom-bar__item:disabled{opacity:.5;cursor:not-allowed}@media (width<=768px){.bottom-bar[data-v-e1f1c1e4]{display:grid}}.more-sheet[data-v-2ac6bcb9]{width:100vw;max-width:100vw;color:var(--color-text);background:var(--color-surface);border:none;border-top:1px solid var(--color-border-control);border-radius:var(--radius-lg) var(--radius-lg) 0 0;margin:auto 0 0;padding:0}.more-sheet[data-v-2ac6bcb9]::backdrop{background:#00000080}.more-sheet__content[data-v-2ac6bcb9]{padding:var(--space-4) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom,0px))}.more-sheet__title[data-v-2ac6bcb9]{margin:0 0 var(--space-2);font-size:var(--text-lg)}.more-sheet__list[data-v-2ac6bcb9]{margin:0;padding:0;list-style:none}.more-sheet__link[data-v-2ac6bcb9]{padding:var(--space-3) 0;font-size:var(--text-base);color:var(--color-text);border-bottom:1px solid var(--color-border);display:block}.more-sheet__link.router-link-active[data-v-2ac6bcb9]{color:var(--color-primary-text)}.more-sheet__close[data-v-2ac6bcb9]{width:100%;margin-top:var(--space-3);padding:var(--space-3);font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border-control);border-radius:var(--radius-md);cursor:pointer}.more-sheet__link[data-v-2ac6bcb9]:focus-visible,.more-sheet__close[data-v-2ac6bcb9]:focus-visible{box-shadow:var(--focus-ring);outline:none}.skip-link[data-v-0a06b804]{top:var(--space-2);left:var(--space-2);z-index:100;padding:var(--space-2) var(--space-4);color:#fff;background:var(--color-primary);border-radius:var(--radius-md);position:absolute;transform:translateY(-200%)}.skip-link[data-v-0a06b804]:focus{transform:none}.app-main[data-v-0a06b804]:focus,.app-main[data-v-0a06b804] h1:focus{box-shadow:none;outline:none}.app-header[data-v-0a06b804]{align-items:center;gap:var(--space-8);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border);background:var(--color-surface);display:flex}.app-logo[data-v-0a06b804]{font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--color-primary-text)}.app-nav-desktop ul[data-v-0a06b804]{gap:var(--space-6);list-style:none;display:flex}.app-nav-desktop a[data-v-0a06b804]{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-muted);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:color .15s}.app-nav-desktop a[data-v-0a06b804]:hover{color:var(--color-text)}.app-nav-desktop a[data-v-0a06b804]:focus-visible{box-shadow:var(--focus-ring)}.app-nav-desktop a.router-link-active[data-v-0a06b804]{color:var(--color-primary-text)}.app-main[data-v-0a06b804]{padding:var(--space-6);padding-bottom:calc(var(--space-8) + 4rem);max-width:1200px;margin:0 auto}@media (width<=768px){.app-header[data-v-0a06b804]{gap:var(--space-3);padding:var(--space-3) var(--space-4)}.app-logo[data-v-0a06b804]{white-space:nowrap}.app-nav-desktop[data-v-0a06b804]{display:none}.app-main[data-v-0a06b804]{padding:var(--space-4);padding-bottom:calc(var(--space-6) + 3.5rem + env(safe-area-inset-bottom,0px))}}.skeleton-list[data-v-79640dc5]{gap:var(--space-2);flex-direction:column;display:flex}.stat-block[data-v-021b6fbc]{gap:var(--space-1);flex-direction:column;display:flex}.stat-block__label[data-v-021b6fbc]{font-size:var(--text-sm);color:var(--color-text-muted)}.stat-block__value[data-v-021b6fbc]{font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--color-text-heading);font-family:var(--font-mono)}.stat-block__change[data-v-021b6fbc]{font-size:var(--text-sm);font-family:var(--font-mono)}.stat-block__change.is-positive[data-v-021b6fbc]{color:var(--color-success-text)}.stat-block__change.is-negative[data-v-021b6fbc]{color:var(--color-danger-text)}.action-menu[data-v-c716b2d8]{display:inline-block}.action-menu__trigger[data-v-c716b2d8]{border:1px solid var(--color-border-control);border-radius:var(--radius-sm);min-width:2rem;min-height:2rem;color:var(--color-text-muted);font-size:var(--text-base);padding:var(--space-1) var(--space-2);cursor:pointer;background:0 0;line-height:1;transition:color .15s,border-color .15s}.action-menu__trigger[data-v-c716b2d8]:hover{color:var(--color-text);border-color:var(--color-text-muted)}.action-menu__trigger[data-v-c716b2d8]:focus-visible{box-shadow:var(--focus-ring);outline:none}.action-menu__dropdown[data-v-c716b2d8]{z-index:70;min-width:160px;padding:var(--space-1) 0;background:var(--color-surface);border:1px solid var(--color-border-control);border-radius:var(--radius-md);position:fixed;box-shadow:0 8px 24px #0006}@media (width<=640px){.action-menu__trigger[data-v-c716b2d8]{min-width:44px;min-height:44px}}.action-menu__dropdown [role=menuitem],.action-menu__sheet [role=menuitem]{width:100%;padding:var(--space-2) var(--space-3);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-sm);text-align:left;cursor:pointer;background:0 0;border:none;display:block}.action-menu__sheet [role=menuitem]{min-height:48px;padding:var(--space-3) 0;font-size:var(--text-base);border-bottom:1px solid var(--color-border)}.action-menu__dropdown [role=menuitem]:hover,.action-menu__dropdown [role=menuitem]:focus,.action-menu__sheet [role=menuitem]:focus-visible{background:var(--color-surface-hover);outline:none}.action-menu__dropdown [role=menuitem].danger,.action-menu__sheet [role=menuitem].danger{color:var(--color-danger-text)}.ticker-input[data-v-2f62673b]{min-width:0;position:relative}.ticker-input input[data-v-2f62673b]{width:100%}.ticker-input__list[data-v-2f62673b]{z-index:50;width:max(100%,18rem);max-height:16rem;padding:var(--space-1) 0;background:var(--color-surface);border:1px solid var(--color-border-control);border-radius:var(--radius-md);margin:0;list-style:none;position:absolute;top:calc(100% + 2px);left:0;overflow-y:auto;box-shadow:0 8px 24px #0006}.ticker-input__option[data-v-2f62673b]{gap:0 var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);cursor:pointer;grid-template-columns:auto 1fr;display:grid}.ticker-input__option.is-active[data-v-2f62673b],.ticker-input__option[data-v-2f62673b]:hover{background:var(--color-surface-hover)}.ticker-input__symbol[data-v-2f62673b]{font-family:var(--font-mono);font-weight:var(--weight-medium)}.ticker-input__name[data-v-2f62673b]{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ticker-input__meta[data-v-2f62673b]{font-size:var(--text-xs);color:var(--color-text-muted);grid-column:1/-1}.data-table-wrapper[data-v-0b5de5e1]{max-height:80vh;overflow:auto}.data-table[data-v-0b5de5e1]{border-collapse:separate;border-spacing:0;width:100%}.data-table th[data-v-0b5de5e1]{z-index:2;background:var(--color-surface);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);position:sticky;top:0}.is-sticky-col[data-v-0b5de5e1]{z-index:1;background:var(--color-surface);position:sticky;left:0}.data-table th.is-sticky-col[data-v-0b5de5e1]{z-index:3}.data-table__sort[data-v-0b5de5e1]{font:inherit;color:inherit;text-align:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:none;padding:0}.data-table__sort[data-v-0b5de5e1]:hover{color:var(--color-text)}.data-table td[data-v-0b5de5e1]{font-size:var(--text-sm);padding:var(--space-3);border-bottom:1px solid var(--color-border)}.data-table tbody tr:last-child td[data-v-0b5de5e1]{border-bottom:none}@media (hover:hover) and (width>=641px){.data-table tbody tr:hover td[data-v-0b5de5e1]{background:var(--color-surface-hover)}}.align-right[data-v-0b5de5e1]{text-align:right}.is-mono[data-v-0b5de5e1]{font-family:var(--font-mono)}.pagination[data-v-0b5de5e1]{padding:var(--space-3) var(--space-1);margin-top:var(--space-2);justify-content:space-between;align-items:center;display:flex}.pagination__size[data-v-0b5de5e1]{gap:var(--space-1);display:flex}.pagination__size button[data-v-0b5de5e1]{padding:var(--space-1) var(--space-2);font-family:var(--font-sans);font-size:var(--text-xs);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;background:0 0;transition:color .15s,border-color .15s,background .15s}.pagination__size button[data-v-0b5de5e1]:hover{color:var(--color-text);border-color:var(--color-text-muted)}.pagination__size button.active[data-v-0b5de5e1]{color:var(--color-primary-text);border-color:var(--color-primary);background:var(--color-surface-hover)}.pagination__size button[data-v-0b5de5e1]:focus-visible{box-shadow:var(--focus-ring);outline:none}.pagination__nav[data-v-0b5de5e1]{align-items:center;gap:var(--space-2);display:flex}.pagination__nav button[data-v-0b5de5e1]{padding:var(--space-1) var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;background:0 0;transition:color .15s,border-color .15s}.pagination__nav button[data-v-0b5de5e1]:hover:not(:disabled){color:var(--color-text);border-color:var(--color-text-muted)}.pagination__nav button[data-v-0b5de5e1]:disabled{opacity:.3;cursor:not-allowed}.pagination__nav button[data-v-0b5de5e1]:focus-visible{box-shadow:var(--focus-ring);outline:none}.pagination__info[data-v-0b5de5e1]{font-size:var(--text-xs);color:var(--color-text-muted);text-align:center;min-width:4rem}.mobile-sort[data-v-0b5de5e1]{display:none}@media (width<=640px){.data-table-wrapper[data-v-0b5de5e1]{max-height:none}.mobile-sort[data-v-0b5de5e1]{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);display:flex}.mobile-sort select[data-v-0b5de5e1]{min-width:0;padding:var(--space-2);font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border-control);border-radius:var(--radius-sm);flex:1}.data-table thead[data-v-0b5de5e1]{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.data-table[data-v-0b5de5e1],.data-table tbody[data-v-0b5de5e1],.data-table tr[data-v-0b5de5e1],.data-table td[data-v-0b5de5e1]{display:block}.data-table tr[data-v-0b5de5e1]{gap:var(--space-2) var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.data-table td[data-v-0b5de5e1]{text-align:left;background:0 0;border:none;padding:0;position:static}.data-table td[data-v-0b5de5e1]:before{content:attr(data-label);font-family:var(--font-sans);font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;display:block}.data-table td.is-card-title[data-v-0b5de5e1]{font-size:var(--text-base);font-weight:var(--weight-medium);grid-column:1/-1}.data-table td.is-card-title[data-v-0b5de5e1]:before,.data-table td[data-label=""][data-v-0b5de5e1]:before,.data-table td.is-mobile-hidden[data-v-0b5de5e1]{display:none}.data-table tr[data-v-0b5de5e1]{position:relative}.data-table td.is-card-actions[data-v-0b5de5e1]{top:var(--space-2);position:absolute;right:0}.data-table td.is-card-actions[data-v-0b5de5e1]:before{display:none}.data-table td.is-card-title[data-v-0b5de5e1]{padding-right:3.5rem}}.frozen-badge[data-v-1cb637b6]{margin-left:var(--space-2);padding:0 var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-primary-text);vertical-align:middle;border:1px solid;border-radius:999px}.currency-tag[data-v-1cb637b6]{margin-left:var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted)}.holding-form[data-v-1cb637b6]{padding-bottom:var(--space-4);margin-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.form-row[data-v-1cb637b6]{gap:var(--space-3);flex-wrap:wrap;display:flex}.form-field[data-v-1cb637b6]{gap:var(--space-1);flex-direction:column;display:flex}.form-field label[data-v-1cb637b6]{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.form-input[data-v-1cb637b6],[data-v-1cb637b6] .form-input{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border-control);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-family:var(--font-sans);font-size:var(--text-sm)}.form-input[data-v-1cb637b6]:focus-visible,[data-v-1cb637b6] .form-input:focus-visible{box-shadow:var(--focus-ring);outline:none}.form-actions[data-v-1cb637b6]{gap:var(--space-2);margin-top:var(--space-3);display:flex}.edit-input[data-v-1cb637b6]{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border-control);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);font-family:var(--font-sans);font-size:var(--text-sm);width:100%}.edit-input--num[data-v-1cb637b6]{text-align:right;width:80px;font-family:var(--font-mono)}.edit-input[data-v-1cb637b6]:focus-visible{box-shadow:var(--focus-ring);outline:none}.edit-actions[data-v-1cb637b6]{gap:var(--space-1);white-space:nowrap;display:flex}[data-v-1cb637b6] .is-frozen td{opacity:.5}.target-badge[data-v-1cb637b6]{margin-left:var(--space-2);padding:0 var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-warning-text);vertical-align:middle;border:1px solid;border-radius:999px}.watchlist[data-v-7d460ecd]{gap:var(--space-2);font-size:var(--text-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.watchlist__item[data-v-7d460ecd]{align-items:baseline;gap:var(--space-2);color:var(--color-text);flex-wrap:wrap;display:flex}.watchlist__icon[data-v-7d460ecd]{text-align:center;width:1.25em}.watchlist__item--above-target .watchlist__icon[data-v-7d460ecd],.watchlist__item--near-target .watchlist__icon[data-v-7d460ecd]{color:var(--color-warning)}.watchlist__item--no-target[data-v-7d460ecd]{color:var(--color-text-muted)}.watchlist__ticker[data-v-7d460ecd]{font-family:var(--font-mono);font-weight:var(--weight-medium)}.progress-bar[data-v-e3bff089]{gap:var(--space-1);flex-direction:column;display:flex}.progress-bar__header[data-v-e3bff089]{font-size:var(--text-sm);justify-content:space-between;display:flex}.progress-bar__label[data-v-e3bff089]{color:var(--color-text)}.progress-bar__value[data-v-e3bff089]{font-family:var(--font-mono);color:var(--color-text-muted)}.progress-bar__track[data-v-e3bff089]{background:var(--color-border);border-radius:var(--radius-sm);height:.5rem;position:relative;overflow:visible}.progress-bar__fill[data-v-e3bff089]{background:var(--color-primary);border-radius:var(--radius-sm);height:100%;transition:width .3s}.progress-bar__target[data-v-e3bff089]{background:var(--color-text-muted);border-radius:1px;width:2px;height:calc(100% + 4px);position:absolute;top:-2px}.allocation-bars[data-v-cd4e6107]{gap:var(--space-3);flex-direction:column;display:flex}.allocation-gap[data-v-cd4e6107],.allocation-note[data-v-cd4e6107]{margin:var(--space-1) 0 0;font-size:var(--text-xs);color:var(--color-text-muted)}.allocation-gap .is-off[data-v-cd4e6107]{color:var(--color-warning-text)}.rebalance[data-v-cd4e6107]{font-size:var(--text-sm)}.wallet-cost[data-v-4183d3c6]{align-items:center;gap:var(--space-2);width:100%;font-size:var(--text-sm);color:var(--color-text-muted);flex-wrap:wrap;margin:0;display:flex}.wallet-cost--edit label[data-v-4183d3c6]{color:var(--color-text)}.wallet-cost--edit input[data-v-4183d3c6]{width:8rem}.is-up[data-v-4183d3c6]{color:var(--color-success-text)}.is-down[data-v-4183d3c6]{color:var(--color-danger-text)}.link-btn[data-v-4183d3c6]{font:inherit;color:var(--color-primary-text);cursor:pointer;background:0 0;border:none;padding:0}.link-btn[data-v-4183d3c6]:focus-visible{box-shadow:var(--focus-ring);outline:none}.sol-price[data-v-4183d3c6]{font-size:var(--text-xs);color:var(--color-text-muted);font-family:var(--font-mono)}.wallet-form[data-v-4183d3c6]{padding-bottom:var(--space-4);margin-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.form-row[data-v-4183d3c6]{gap:var(--space-3);flex-wrap:wrap;display:flex}.form-field[data-v-4183d3c6]{gap:var(--space-1);flex-direction:column;display:flex}.form-field--grow[data-v-4183d3c6]{flex:1}.form-field label[data-v-4183d3c6]{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.form-input[data-v-4183d3c6]{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border-control);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-family:var(--font-sans);font-size:var(--text-sm)}.form-input[data-v-4183d3c6]:focus-visible{box-shadow:var(--focus-ring);outline:none}.form-actions[data-v-4183d3c6]{gap:var(--space-2);margin-top:var(--space-3);display:flex}.wallet-list[data-v-4183d3c6]{list-style:none}.wallet-item[data-v-4183d3c6]{align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.wallet-item[data-v-4183d3c6]:last-child{border-bottom:none}.wallet-label[data-v-4183d3c6]{font-size:var(--text-sm)}.wallet-address[data-v-4183d3c6]{font-size:var(--text-xs);color:var(--color-text-muted);flex:1}.wallet-balance[data-v-4183d3c6]{font-size:var(--text-xs);color:var(--color-text-muted)}.wallet-value[data-v-4183d3c6]{font-size:var(--text-sm);font-weight:var(--weight-medium)}.delete-btn[data-v-4183d3c6]{color:var(--color-text-muted);font-size:var(--text-lg);cursor:pointer;padding:0 var(--space-1);background:0 0;border:none;line-height:1;transition:color .15s}.delete-btn[data-v-4183d3c6]:hover{color:var(--color-danger-text)}.delete-btn[data-v-4183d3c6]:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-sm);outline:none}.analysis-card__cost[data-v-e7207210]{font-size:var(--text-xs);font-family:var(--font-mono);color:var(--color-text-muted);margin-left:auto}.analysis-list[data-v-e7207210]{gap:var(--space-3);flex-direction:column;display:flex}.analysis-card[data-v-e7207210]{padding:var(--space-4);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:0;overflow:hidden}.analysis-card__header[data-v-e7207210]{align-items:center;gap:var(--space-3);display:flex}.analysis-card__toggle[data-v-e7207210]{align-items:center;gap:var(--space-2);cursor:pointer;color:inherit;text-align:left;background:0 0;border:none;flex:1;padding:0;display:flex}.analysis-card__toggle[data-v-e7207210]:disabled{cursor:default}.analysis-card__toggle[data-v-e7207210]:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-sm);outline:none}.analysis-card__chevron[data-v-e7207210]{font-size:var(--text-xs);color:var(--color-text-muted);flex-shrink:0}.analysis-card__title[data-v-e7207210]{font-weight:var(--weight-medium);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.analysis-card__badge[data-v-e7207210]{font-size:var(--text-xs);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.analysis-card__badge--pending[data-v-e7207210]{color:var(--color-primary-text);background:var(--color-surface-hover)}.analysis-card__badge--error[data-v-e7207210]{color:var(--color-danger-text);background:var(--color-surface-hover)}.analysis-card__delete[data-v-e7207210]{color:var(--color-text-muted);cursor:pointer;font-size:var(--text-sm);padding:var(--space-1);border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;margin-left:auto;transition:color .15s,background .15s}.analysis-card__delete[data-v-e7207210]:hover{color:var(--color-danger-text);background:var(--color-surface-hover)}.analysis-card__delete[data-v-e7207210]:focus-visible{box-shadow:var(--focus-ring);outline:none}.analysis-card__body[data-v-e7207210]{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border);overflow-x:auto}.analysis-card__error[data-v-e7207210]{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-danger-text)}.empty[data-v-e7207210]{font-size:var(--text-sm);color:var(--color-text-muted)}.tx-select[data-v-27fad54a],.tx-input[data-v-27fad54a],[data-v-27fad54a] .tx-input{min-width:0;padding:var(--space-1) var(--space-2);font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border-control);border-radius:var(--radius-sm)}.tx-input[data-v-27fad54a],[data-v-27fad54a] .tx-input{width:100%}.tx-select[data-v-27fad54a]:focus-visible,.tx-input[data-v-27fad54a]:focus-visible,[data-v-27fad54a] .tx-input:focus-visible,.tx-delete[data-v-27fad54a]:focus-visible{box-shadow:var(--focus-ring);outline:none}.tx-form[data-v-27fad54a]{padding-bottom:var(--space-4);margin-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.tx-form__row[data-v-27fad54a]{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(min(9rem,100%),1fr));display:grid}.tx-form__row label[data-v-27fad54a]{gap:var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted);flex-direction:column;display:flex}.tx-form__note[data-v-27fad54a]{grid-column:1/-1}.tx-form__actions[data-v-27fad54a]{gap:var(--space-2);margin-top:var(--space-3);display:flex}.tx-list[data-v-27fad54a]{margin:0;padding:0;list-style:none}.tx-item[data-v-27fad54a]{gap:var(--space-2) var(--space-3);padding:var(--space-2) 0;font-size:var(--text-sm);border-bottom:1px solid var(--color-border);grid-template-columns:6rem 6rem 6rem 1fr auto auto;align-items:baseline;display:grid}.tx-date[data-v-27fad54a],.tx-detail[data-v-27fad54a]{font-family:var(--font-mono)}.tx-kind--buy[data-v-27fad54a],.tx-kind--deposit[data-v-27fad54a],.tx-kind--dividend[data-v-27fad54a]{color:var(--color-success-text)}.tx-kind--sell[data-v-27fad54a],.tx-kind--withdrawal[data-v-27fad54a],.tx-kind--fee[data-v-27fad54a]{color:var(--color-danger-text)}.tx-ticker[data-v-27fad54a]{font-weight:var(--weight-medium)}.tx-source[data-v-27fad54a],.tx-note[data-v-27fad54a]{color:var(--color-text-muted);font-size:var(--text-xs)}.tx-note[data-v-27fad54a]{grid-column:2/-1}.tx-delete[data-v-27fad54a]{padding:0 var(--space-1);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none}@media (width<=640px){.tx-item[data-v-27fad54a]{grid-template-columns:auto 1fr auto}.tx-detail[data-v-27fad54a],.tx-note[data-v-27fad54a]{grid-column:1/-1}}.hero[data-v-feb2a59c]{grid-column:1/-1}.hero__value[data-v-feb2a59c]{font-family:var(--font-mono);font-size:clamp(2rem,8vw,3rem);font-weight:var(--weight-bold);color:var(--color-text-heading);margin:0;line-height:1.1}.hero__changes[data-v-feb2a59c]{align-items:center;gap:var(--space-2) var(--space-4);margin:var(--space-2) 0 0;font-size:var(--text-sm);flex-wrap:wrap;display:flex}.hero__pill[data-v-feb2a59c]{padding:2px var(--space-3);border:1px solid;border-radius:999px}.is-up[data-v-feb2a59c]{color:var(--color-success-text)}.is-down[data-v-feb2a59c]{color:var(--color-danger-text)}.line-chart[data-v-058de318]{margin:0}.line-chart__svg[data-v-058de318]{width:100%;display:block;overflow:visible}.line-chart__svg path[data-v-058de318]{stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.tone-primary[data-v-058de318]{stroke:var(--color-primary-text);border-color:var(--color-primary-text)}.tone-muted[data-v-058de318]{stroke:var(--color-text-muted);border-color:var(--color-text-muted)}.tone-success[data-v-058de318]{stroke:var(--color-success-text);border-color:var(--color-success-text)}.tone-warning[data-v-058de318]{stroke:var(--color-warning-text);border-color:var(--color-warning-text)}.tone-info[data-v-058de318]{stroke:#22d3ee;border-color:#22d3ee}.tone-pink[data-v-058de318]{stroke:#f472b6;border-color:#f472b6}.is-dashed[data-v-058de318]{stroke-dasharray:6 4}.line-chart__legend[data-v-058de318]{gap:var(--space-1) var(--space-4);margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);flex-wrap:wrap;display:flex}.line-chart__key[data-v-058de318]{align-items:center;gap:var(--space-1);display:inline-flex}.line-chart__swatch[data-v-058de318]{border-top-style:solid;border-top-width:3px;width:1rem}.line-chart__swatch.is-dashed[data-v-058de318]{border-top-style:dashed}.line-chart__range[data-v-058de318]{font-family:var(--font-mono);margin-left:auto}.periods[data-v-ee33c0ad]{gap:2px;display:flex}.periods__btn[data-v-ee33c0ad]{min-width:2.75rem;min-height:2rem;padding:0 var(--space-2);font-family:var(--font-sans);font-size:var(--text-xs);color:var(--color-text-muted);border:1px solid var(--color-border-control);border-radius:var(--radius-sm);cursor:pointer;background:0 0}.periods__btn[aria-pressed=true][data-v-ee33c0ad]{color:#fff;background:var(--color-primary);border-color:var(--color-primary)}.periods__btn[data-v-ee33c0ad]:focus-visible{box-shadow:var(--focus-ring);outline:none}.perf-figures[data-v-ee33c0ad]{gap:var(--space-3);margin:var(--space-4) 0 0;grid-template-columns:repeat(auto-fit,minmax(min(10rem,100%),1fr));display:grid}.perf-figures dt[data-v-ee33c0ad]{font-size:var(--text-xs);color:var(--color-text-muted)}.perf-figures dd[data-v-ee33c0ad]{font-family:var(--font-mono);font-size:var(--text-lg);margin:0}.perf-note[data-v-ee33c0ad]{margin:var(--space-3) 0 0;font-size:var(--text-xs);color:var(--color-text-muted)}.is-up[data-v-ee33c0ad]{color:var(--color-success-text)}.is-down[data-v-ee33c0ad]{color:var(--color-danger-text)}.proj-inputs[data-v-46fafc4c]{gap:var(--space-3);flex-wrap:wrap;display:flex}.proj-inputs label[data-v-46fafc4c]{gap:var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted);flex-direction:column;display:flex}.proj-inputs input[data-v-46fafc4c]{width:9rem;padding:var(--space-2);font-family:var(--font-mono);font-size:var(--text-base);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border-control);border-radius:var(--radius-sm)}.proj-inputs input[data-v-46fafc4c]:focus-visible{box-shadow:var(--focus-ring);outline:none}.proj-note[data-v-46fafc4c]{margin:var(--space-2) 0 0;font-size:var(--text-xs);color:var(--color-text-muted)}.proj-table-wrapper[data-v-46fafc4c]{margin-top:var(--space-3);overflow-x:auto}.proj-table[data-v-46fafc4c]{width:100%;font-size:var(--text-sm);border-collapse:collapse}.proj-table th[data-v-46fafc4c],.proj-table td[data-v-46fafc4c]{padding:var(--space-2);text-align:right;white-space:nowrap;border-bottom:1px solid var(--color-border)}.proj-table th[scope=row][data-v-46fafc4c]{text-align:left;font-weight:var(--weight-medium)}.proj-table thead th[data-v-46fafc4c]{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-muted)}.proj-table td[data-v-46fafc4c]{font-family:var(--font-mono)}.proj-rate[data-v-46fafc4c],.proj-contributed[data-v-46fafc4c]{font-size:var(--text-xs);color:var(--color-text-muted)}.portfolio-skeleton[data-v-2eea5b46]{gap:var(--space-4);flex-direction:column;display:flex}.crypto-unpriced[data-v-2eea5b46]{margin:var(--space-2) 0 0;font-size:var(--text-xs);color:var(--color-text-muted)}.load-error[data-v-2eea5b46]{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);color:var(--color-danger-text);border:1px solid var(--color-danger);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.load-error p[data-v-2eea5b46]{margin:0}.portfolio-view[data-v-2eea5b46]{gap:var(--space-6);flex-direction:column;display:flex}.portfolio-header[data-v-2eea5b46]{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.portfolio-header__actions[data-v-2eea5b46],.portfolio-header__buttons[data-v-2eea5b46]{align-items:center;gap:var(--space-2);display:flex}.portfolio-header__menu[data-v-2eea5b46]{display:none}.portfolio-header select[data-v-2eea5b46]{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border-control);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-family:var(--font-sans);font-size:var(--text-sm)}.portfolio-header select[data-v-2eea5b46]:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (width<=768px){.portfolio-header__buttons[data-v-2eea5b46]{display:none}.portfolio-header__menu[data-v-2eea5b46]{display:inline-block}.portfolio-header select[data-v-2eea5b46]{flex:1;min-width:0}.inline-form[data-v-2eea5b46]{flex-wrap:wrap}.inline-form .form-input[data-v-2eea5b46]{flex:1;min-width:0}}.bento-grid[data-v-2eea5b46]{gap:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}.inline-form[data-v-2eea5b46]{align-items:center;gap:var(--space-2);display:flex}.form-input[data-v-2eea5b46]{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border-control);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-family:var(--font-sans);font-size:var(--text-sm)}.form-input[data-v-2eea5b46]:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (width<=768px){.bento-grid[data-v-2eea5b46]{grid-template-columns:1fr}}.crypto-list[data-v-2eea5b46]{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border);gap:var(--space-2);flex-direction:column;list-style:none;display:flex}.crypto-item[data-v-2eea5b46]{align-items:baseline;gap:var(--space-3);font-size:var(--text-sm);grid-template-columns:minmax(0,1fr) auto auto;display:grid}.crypto-ticker[data-v-2eea5b46]{font-weight:var(--weight-medium)}.crypto-value[data-v-2eea5b46]{font-family:var(--font-mono);color:var(--color-text-muted)}.crypto-pnl[data-v-2eea5b46]{font-family:var(--font-mono);font-size:var(--text-xs)}.crypto-pnl.is-positive[data-v-2eea5b46]{color:var(--color-success-text)}.crypto-pnl.is-negative[data-v-2eea5b46]{color:var(--color-danger-text)}
