@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";:root,[data-theme=light]{--tca-blue:#3b82f6;--tca-blue-hover:#2563eb;--tca-blue-soft:#dbeafe;--tca-blue-bright:#60a5fa;--buy-up:#10b981;--sell-down:#ef4444;--hold:#6b7280;--warn:#f59e0b;--bg-base:#fff;--bg-subtle:#f9fafb;--bg-card:#fff;--bg-hover:#f3f4f6;--text-primary:#111827;--text-secondary:#4b5563;--text-tertiary:#9ca3af;--border-light:#e5e7eb;--border-medium:#d1d5db;--shadow-sm:0 1px 2px #1118270a;--shadow-md:0 4px 12px #11182714;--shadow-lg:0 12px 32px #1118271f;--shadow-focus:0 0 0 3px #3b82f626;--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-pill:9999px;--ease:cubic-bezier(.4, 0, .2, 1);--t-fast:.15s;--t-medium:.2s;--t-slow:.25s}[data-theme=dark]{--bg-base:#1a2332;--bg-subtle:#243349;--bg-card:#1e2a3d;--bg-hover:#2d3d54;--text-primary:#f1f5f9;--text-secondary:#cbd5e1;--text-tertiary:#94a3b8;--border-light:#344155;--border-medium:#475569;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 12px 32px #00000080;--shadow-focus:0 0 0 3px #56b4ff40;--tca-blue:#56b4ff;--tca-blue-hover:#3b82f6;--tca-blue-soft:#56b4ff26}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-base);-webkit-font-smoothing:antialiased;letter-spacing:-.005em;font-size:14px;line-height:1.5}body,.tx-card,.tx-cardtile,.tx-btn,.tx-input,.tx-badge,.tx-kpi-card,.tx-tabs,.tx-tab,.tx-table,.tx-modal,.tx-modal-backdrop,.tx-topbar{transition:background-color var(--t-medium) var(--ease), color var(--t-medium) var(--ease), border-color var(--t-medium) var(--ease)}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}a{color:var(--tca-blue);text-decoration:none}a:hover{color:var(--tca-blue-hover);text-decoration:underline}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:99px}.num,.nums,table td.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.t-h1{letter-spacing:-.02em;font-size:36px;font-weight:700;line-height:1.2}.t-h2{letter-spacing:-.015em;font-size:24px;font-weight:600;line-height:1.25}.t-h3{letter-spacing:-.01em;font-size:18px;font-weight:600;line-height:1.3}.t-h4{font-size:16px;font-weight:600;line-height:1.35}.t-body{font-size:14px;font-weight:400}.t-body-sm{color:var(--text-secondary);font-size:13px;font-weight:400}.t-label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary);font-size:12px;font-weight:500}.t-num-lg{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:32px;font-weight:600}.t-num-md{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:20px;font-weight:500}.t-num-sm{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:14px;font-weight:500}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.tx-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);transition:transform var(--t-medium) var(--ease), box-shadow var(--t-medium) var(--ease), border-color var(--t-medium) var(--ease);padding:24px}.tx-card.tx-card-clickable{cursor:pointer}.tx-card.tx-card-clickable:hover{box-shadow:var(--shadow-md);border-color:var(--border-medium);transform:translateY(-2px)}.tx-card.tx-card-elevated{box-shadow:var(--shadow-sm)}.tx-card.tx-card-compact{padding:16px}@media (width<=640px){.tx-card{padding:16px}}.tx-btn{border-radius:var(--radius-sm);transition:background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), color var(--t-fast) var(--ease);white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;display:inline-flex}.tx-btn-primary{background:var(--tca-blue);color:#fff}.tx-btn-primary:hover{background:var(--tca-blue-hover)}.tx-btn-secondary{background:var(--bg-card);color:var(--text-primary);border-color:var(--border-medium)}.tx-btn-secondary:hover{background:var(--bg-hover);border-color:var(--text-tertiary)}.tx-btn-tertiary{color:var(--tca-blue);background:0 0;padding:6px 8px}.tx-btn-tertiary:hover{text-decoration:underline}.tx-btn-destructive{background:var(--sell-down);color:#fff}.tx-btn-destructive:hover{background:#dc2626}.tx-btn-sm{padding:6px 12px;font-size:13px}.tx-btn-lg{padding:12px 24px;font-size:15px}.tx-btn:disabled{opacity:.5;cursor:not-allowed}.tx-badge{border-radius:var(--radius-xs);letter-spacing:.02em;background:var(--bg-subtle);color:var(--text-secondary);border:1px solid var(--border-light);align-items:center;padding:3px 8px;font-size:12px;font-weight:500;display:inline-flex}.tx-badge-blue{background:var(--tca-blue-soft);color:var(--tca-blue-hover);border-color:#0000}.tx-badge-green{color:#047857;background:#10b9811a;border-color:#0000}.tx-badge-red{color:#b91c1c;background:#ef44441a;border-color:#0000}.tx-badge-amber{color:#92400e;background:#f59e0b1a;border-color:#0000}.tx-badge-purple{color:#6d28d9;background:#ede9fe;border-color:#0000}.tx-badge-gray{background:var(--bg-subtle);color:var(--text-secondary)}.tx-badge-psa-10{background:var(--accent);color:#fff;border-color:#0000;font-weight:600}.tx-badge-psa-9{color:#059669;background:#d1fae5;border-color:#0000;font-weight:600}.tx-badge-psa-8{color:#92400e;background:#fef3c7;border-color:#0000;font-weight:500}.tx-badge-psa-low{color:#4b5563;background:#f3f4f6;border-color:#0000}.tx-badge-pop1{color:#6d28d9;letter-spacing:.03em;background:#ede9fe;border-color:#0000;font-weight:600}[data-theme=dark] .tx-badge-green{color:#6ee7b7}[data-theme=dark] .tx-badge-red{color:#fca5a5}[data-theme=dark] .tx-badge-amber{color:#fcd34d}[data-theme=dark] .tx-badge-purple,[data-theme=dark] .tx-badge-pop1{color:#ddd6fe;background:#8b5cf633}[data-theme=dark] .tx-badge-psa-10{background:var(--accent);color:#0a0f17}[data-theme=dark] .tx-badge-psa-9{color:#a7f3d0;background:#10b98133}[data-theme=dark] .tx-badge-psa-8{color:#fcd34d;background:#f59e0b33}[data-theme=dark] .tx-badge-psa-low{color:#cbd5e1;background:#94a3b82e}.tx-badge-pill{border-radius:var(--radius-pill);padding:3px 12px}.tx-badge-sm{padding:2px 6px;font-size:11px}.tx-input{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-medium);border-radius:var(--radius-sm);width:100%;transition:border-color var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);padding:10px 14px;font-size:14px}.tx-input::placeholder{color:var(--text-tertiary)}.tx-input:focus{border-color:var(--tca-blue);box-shadow:var(--shadow-focus);outline:none}.tx-input.tx-input-error{border-color:var(--sell-down)}.tx-input.tx-input-error:focus{box-shadow:0 0 0 3px #ef444426}.tx-input-error-text{color:var(--sell-down);margin-top:4px;font-size:12px}.tx-search-wrap{position:relative}.tx-search-wrap>svg{color:var(--text-tertiary);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.tx-search-wrap>input{padding-left:38px}.tx-table{border-collapse:collapse;width:100%;font-size:14px}.tx-table thead{background:var(--bg-card);border-bottom:1px solid var(--border-medium);z-index:1;position:sticky;top:0}.tx-table thead th{text-align:left;letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;padding:10px 12px;font-size:12px;font-weight:500}.tx-table thead th .tx-table-sort-arrow{color:var(--tca-blue);opacity:.7;margin-left:4px;font-size:11px}.tx-table tbody tr{border-bottom:1px solid var(--border-light);transition:background var(--t-fast) var(--ease)}.tx-table tbody tr:hover{background:var(--bg-hover)}.tx-table tbody tr:last-child{border-bottom:none}.tx-table td{vertical-align:middle;color:var(--text-primary);padding:10px 12px}.tx-table td.num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.tx-table td.center{text-align:center}.tx-modal-backdrop{z-index:100;animation:tx-fade-in var(--t-slow) var(--ease);background:#0f172a99;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.tx-modal{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:1024px;max-height:90vh;animation:tx-modal-in var(--t-slow) var(--ease);overflow-y:auto}.tx-modal-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.tx-modal-body{padding:24px}.tx-modal-close{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;transition:background var(--t-fast) var(--ease);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.tx-modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}@keyframes tx-fade-in{0%{opacity:0}to{opacity:1}}@keyframes tx-modal-in{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.tx-kpi-card{background:linear-gradient(180deg, #3b82f60d 0%, transparent 60%), var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);transition:transform var(--t-medium) var(--ease), box-shadow var(--t-medium) var(--ease), border-color var(--t-medium) var(--ease);flex-direction:column;gap:6px;padding:20px;display:flex}.tx-kpi-card:hover{border-color:var(--border-medium);box-shadow:var(--shadow-sm)}[data-theme=dark] .tx-kpi-card{background:linear-gradient(180deg, #60a5fa14 0%, transparent 60%), var(--bg-card)}.tx-kpi-label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary);font-size:12px;font-weight:500}.tx-kpi-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-primary);font-size:28px;font-weight:600;line-height:1.2}.tx-kpi-delta{font-family:var(--font-mono);font-variant-numeric:tabular-nums;align-items:center;gap:4px;font-size:13px;font-weight:500;display:inline-flex}.tx-kpi-delta-up{color:var(--buy-up)}.tx-kpi-delta-down{color:var(--sell-down)}.tx-kpi-delta-flat{color:var(--text-tertiary)}.tx-tabs{border-bottom:1px solid var(--border-light);gap:0;display:flex}.tx-tab{color:var(--text-secondary);cursor:pointer;transition:color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 16px;font-size:14px;font-weight:500}.tx-tab:hover{color:var(--text-primary)}.tx-tab.tx-tab-active{color:var(--tca-blue);border-bottom-color:var(--tca-blue)}.tx-skeleton{background:linear-gradient(90deg, var(--bg-subtle) 0%, var(--bg-hover) 50%, var(--bg-subtle) 100%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s ease-in-out infinite tx-shimmer}.tx-skeleton-text{width:100%;height:14px;margin-bottom:6px}.tx-skeleton-title{width:60%;height:24px;margin-bottom:12px}.tx-skeleton-card-image{aspect-ratio:5/7;width:100%}@keyframes tx-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.tx-fresh{color:var(--text-tertiary);align-items:center;gap:6px;font-size:12px;font-weight:500;display:inline-flex}.tx-fresh-dot{background:var(--buy-up);border-radius:50%;width:6px;height:6px;display:inline-block}.tx-fresh-pulse .tx-fresh-dot{animation:tx-fresh-pulse 2s var(--ease) infinite}@keyframes tx-fresh-pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.tx-fresh-pulse .tx-fresh-dot{animation:none}}.tx-price{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-primary);font-weight:500}.tx-price-up{color:var(--buy-up)}.tx-price-down{color:var(--sell-down)}.tx-price-flat{color:var(--text-secondary)}.tx-price-lg{font-size:32px;font-weight:600}.tx-price-md{font-size:20px}.tx-price-sm{font-size:14px}.tx-cardtile{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer;transition:transform var(--t-medium) var(--ease), border-color var(--t-medium) var(--ease), box-shadow var(--t-medium) var(--ease);flex-direction:column;display:flex;overflow:hidden}.tx-cardtile:hover{border-color:var(--border-medium);box-shadow:var(--shadow-md);transform:translateY(-2px)}.tx-cardtile-image{aspect-ratio:5/7;background:var(--bg-subtle);justify-content:center;align-items:center;display:flex;overflow:hidden}.tx-cardtile-image img{object-fit:contain;width:100%;height:100%;transition:transform var(--t-medium) var(--ease)}.tx-cardtile:hover .tx-cardtile-image img{transform:scale(1.05)}.tx-cardtile-body{flex-direction:column;gap:4px;padding:12px 14px;display:flex}.tx-cardtile-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;line-height:1.3;overflow:hidden}.tx-cardtile-meta{color:var(--text-tertiary);font-size:12px}.tx-cardtile-price{font-family:var(--font-mono);color:var(--text-primary);margin-top:4px;font-size:16px;font-weight:600}.tx-stack{flex-direction:column;gap:16px;display:flex}.tx-row{align-items:center;gap:12px;display:flex}.tx-grid{gap:16px;display:grid}.tx-grid-cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.tx-grid-kpis{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.tx-spacer{flex:1}.tx-divider{border:none;border-top:1px solid var(--border-light);margin:24px 0}.tx-topbar{background:var(--bg-base);border-bottom:1px solid var(--border-light);z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);align-items:center;gap:24px;height:56px;padding:0 24px;display:flex;position:sticky;top:0}.tx-topbar-logo{font-family:var(--font-sans);letter-spacing:-.01em;color:var(--text-primary);font-size:18px;font-weight:600}.tx-topbar-search{flex:1;max-width:480px}.tx-topbar-tools{align-items:center;gap:8px;margin-left:auto;display:flex}.tx-container{max-width:1440px;margin:0 auto;padding:32px 24px}@media (width<=768px){.tx-container{padding:16px}}
