.home-view[data-v-01738a12]{min-height:100vh;background:var(--bg-primary)}.hero[data-v-01738a12]{position:relative;padding:80px 20px 90px;text-align:center;overflow:hidden}.hero[data-v-01738a12]:before{content:"";position:absolute;top:-60px;left:50%;transform:translate(-50%);width:600px;height:400px;background:radial-gradient(ellipse at center,rgba(155,138,255,.08) 0%,transparent 70%);pointer-events:none}.hero-title[data-v-01738a12]{font-family:var(--font-display);font-size:3.8rem;font-weight:800;letter-spacing:3px;color:var(--text-primary);text-shadow:var(--glow-text);margin-bottom:10px;animation:heroIn-01738a12 .5s ease both}.hero-subtitle[data-v-01738a12]{font-size:1.1rem;color:var(--accent);font-family:var(--font-mono);letter-spacing:2px;margin-bottom:20px;opacity:.85;animation:heroIn-01738a12 .5s .1s ease both}.hero-desc[data-v-01738a12]{font-size:1rem;line-height:1.9;color:var(--text-secondary);margin-bottom:36px;animation:heroIn-01738a12 .5s .2s ease both}@keyframes heroIn-01738a12{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.hero-actions[data-v-01738a12]{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;animation:heroIn-01738a12 .5s .3s ease both}.btn[data-v-01738a12]{padding:11px 28px;border-radius:var(--radius);font-size:.95rem;font-weight:600;font-family:var(--font-sans);text-decoration:none;cursor:pointer;border:1px solid transparent;transition:background-color .18s ease,box-shadow .18s ease,border-color .18s ease,color .18s ease;display:inline-flex;align-items:center;position:relative;overflow:hidden}.btn-primary[data-v-01738a12]{background:var(--accent);color:var(--bg-void);box-shadow:0 0 16px #9b8aff40}.btn-primary[data-v-01738a12]:hover{background:var(--accent-hover);box-shadow:var(--glow-md)}.btn-secondary[data-v-01738a12]{background:transparent;color:var(--text-primary);border-color:var(--border-strong)}.btn-secondary[data-v-01738a12]:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.btn-github[data-v-01738a12]{background:var(--bg-elevated);color:var(--text-secondary);border-color:var(--border-color);display:inline-flex}.btn-github[data-v-01738a12]:hover{border-color:var(--border-strong);color:var(--text-primary);background:var(--bg-surface-hover)}.section-title[data-v-01738a12]{font-family:var(--font-display);font-size:1.6rem;font-weight:700;text-align:center;margin-bottom:36px;color:var(--text-primary);letter-spacing:.5px}section[data-v-01738a12]{padding:60px 20px;max-width:1200px;margin:0 auto}.feature-grid[data-v-01738a12]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.feature-card[data-v-01738a12]{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:28px;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;animation:cardIn-01738a12 .4s ease both}.feature-card[data-v-01738a12]:nth-child(2){animation-delay:.08s}.feature-card[data-v-01738a12]:nth-child(3){animation-delay:.16s}@keyframes cardIn-01738a12{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.feature-card[data-v-01738a12]:hover{transform:translateY(-4px);box-shadow:var(--glow-sm),var(--shadow-md);border-color:var(--border-strong)}.feature-icon[data-v-01738a12]{font-size:1.6rem;color:var(--accent);text-shadow:var(--glow-sm);margin-bottom:14px;font-family:var(--font-mono);display:block}.feature-card h3[data-v-01738a12]{font-size:1.15rem;margin-bottom:12px;color:var(--text-primary);font-family:var(--font-display)}.feature-card p[data-v-01738a12]{color:var(--text-secondary);line-height:1.7;margin-bottom:14px;font-size:.9rem}.feature-link[data-v-01738a12]{color:var(--accent);text-decoration:none;font-weight:600;font-size:.875rem;font-family:var(--font-mono);transition:color .15s ease,text-shadow .15s ease}.feature-link[data-v-01738a12]:hover{color:var(--accent-hover);text-shadow:var(--glow-text)}.about-content[data-v-01738a12],.local-deploy[data-v-01738a12],.community[data-v-01738a12],.contact-content[data-v-01738a12]{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:36px}.local-deploy[data-v-01738a12]{margin:0 auto 60px;max-width:1200px}.community[data-v-01738a12]{text-align:center}.about-text p[data-v-01738a12],.deploy-text p[data-v-01738a12],.community-content p[data-v-01738a12]{color:var(--text-secondary);line-height:1.85;margin-bottom:14px;font-size:.95rem}.about-text ul[data-v-01738a12],.deploy-features[data-v-01738a12]{list-style:none;padding:0;margin-bottom:20px}.about-text li[data-v-01738a12],.deploy-features li[data-v-01738a12]{padding:7px 0 7px 22px;position:relative;color:var(--text-secondary);font-size:.95rem}.about-text li[data-v-01738a12]:before{content:"▸";position:absolute;left:0;color:var(--accent);font-weight:700}.deploy-features li[data-v-01738a12]:before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:700}.about-note[data-v-01738a12]{margin-top:22px;padding:13px 16px;background:var(--amber-dim);border-left:3px solid var(--amber);color:var(--amber);font-size:.875rem;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.deploy-badge[data-v-01738a12]{display:flex;align-items:center;gap:12px;margin-bottom:18px}.badge-coming[data-v-01738a12]{display:inline-flex;align-items:center;padding:4px 10px;font-size:.75rem;font-weight:600;font-family:var(--font-mono);letter-spacing:.5px;background:var(--accent-dim);color:var(--accent);border:1px solid var(--accent-border);border-radius:var(--radius-sm)}.deploy-note[data-v-01738a12]{margin-top:12px;font-size:.8rem;color:var(--text-muted);font-family:var(--font-mono)}.deploy-actions[data-v-01738a12]{margin-top:20px;display:flex;flex-direction:column;gap:8px}.community-content p[data-v-01738a12]{font-size:1rem;margin-bottom:22px}.contact-content[data-v-01738a12]{display:flex;flex-direction:column;gap:18px}.contact-item[data-v-01738a12]{display:flex;align-items:center;gap:14px}.contact-label[data-v-01738a12]{font-weight:600;color:var(--text-muted);font-family:var(--font-mono);font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;min-width:56px}.contact-item a[data-v-01738a12]{color:var(--accent);text-decoration:none;transition:color .15s ease,text-shadow .15s ease}.contact-item a[data-v-01738a12]:hover{color:var(--accent-hover);text-shadow:var(--glow-text)}.footer[data-v-01738a12]{background:var(--bg-secondary);border-top:1px solid var(--border-subtle);color:var(--text-muted);text-align:center;padding:28px 20px;margin-top:40px}.footer p[data-v-01738a12]{font-size:.85rem;font-family:var(--font-mono)}@media (max-width: 768px){.hero-title[data-v-01738a12]{font-size:2.6rem}.hero-subtitle[data-v-01738a12]{font-size:.9rem}section[data-v-01738a12]{padding:40px 16px}.section-title[data-v-01738a12]{font-size:1.3rem}.about-content[data-v-01738a12],.local-deploy[data-v-01738a12],.contact-content[data-v-01738a12]{padding:20px}}.chart-container[data-v-1bcbd3dd]{position:relative;height:250px;width:100%}.community-view[data-v-94df777c]{padding:20px;max-width:1200px;margin:0 auto}.page-header[data-v-94df777c]{text-align:center;margin-bottom:30px}.page-header h1[data-v-94df777c]{font-size:2rem;color:var(--text-primary);margin-bottom:10px}.page-header p[data-v-94df777c]{color:var(--text-secondary);font-size:1rem}.leaderboard-tabs[data-v-94df777c]{display:flex;gap:10px;margin-bottom:25px;flex-wrap:wrap}.tab-btn[data-v-94df777c]{flex:1;min-width:150px;padding:15px 20px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:4px}.tab-btn[data-v-94df777c]:hover{border-color:var(--accent);background:var(--bg-surface-hover)}.tab-btn.active[data-v-94df777c]{border-color:var(--accent);background:var(--accent-bg)}.tab-btn .tab-desc[data-v-94df777c]{font-size:12px;color:var(--text-muted)}.leaderboard-list[data-v-94df777c]{display:flex;flex-direction:column;gap:15px}.leaderboard-item[data-v-94df777c]{display:flex;align-items:center;gap:20px;background:var(--bg-surface);padding:20px;border-radius:12px;border:1px solid var(--border-color);box-shadow:var(--shadow-sm);transition:all .2s}.leaderboard-item[data-v-94df777c]:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.leaderboard-item.top-three[data-v-94df777c]{border-left:3px solid var(--accent)}.rank[data-v-94df777c]{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;background:var(--bg-elevated);color:var(--text-muted)}.rank-1[data-v-94df777c]{background:linear-gradient(135deg,gold,#ffb700);color:#fff}.rank-2[data-v-94df777c]{background:linear-gradient(135deg,silver,#a8a8a8);color:#fff}.rank-3[data-v-94df777c]{background:linear-gradient(135deg,#cd7f32,#b87333);color:#fff}.item-content[data-v-94df777c]{flex:1}.item-header[data-v-94df777c]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.item-name[data-v-94df777c]{font-weight:600;font-size:1.1rem;color:var(--text-primary)}.item-code[data-v-94df777c]{font-family:monospace;color:var(--text-muted);font-size:.9rem}.item-metrics[data-v-94df777c]{display:flex;gap:25px}.metric[data-v-94df777c]{display:flex;flex-direction:column;gap:2px}.metric-label[data-v-94df777c]{font-size:12px;color:var(--text-muted)}.metric-value[data-v-94df777c]{font-weight:600;color:var(--text-primary)}.metric-value.positive[data-v-94df777c]{color:var(--green)}.metric-value.negative[data-v-94df777c]{color:var(--red)}.item-actions[data-v-94df777c]{display:flex;gap:10px}.btn-action[data-v-94df777c]{padding:8px 16px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;transition:all .2s}.btn-action[data-v-94df777c]:hover{background:var(--bg-surface-hover);border-color:var(--border-strong)}.btn-action.btn-primary[data-v-94df777c]{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-action.btn-primary[data-v-94df777c]:hover{background:var(--accent-hover)}.empty-state[data-v-94df777c]{text-align:center;padding:60px;color:var(--text-muted)}.modal-overlay[data-v-94df777c]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-94df777c]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal-header[data-v-94df777c]{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border-color)}.modal-header h2[data-v-94df777c]{font-size:1.3rem;color:var(--text-primary)}.modal-close[data-v-94df777c]{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-muted);width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:background-color var(--transition),color var(--transition)}.modal-close[data-v-94df777c]:hover{background:var(--bg-surface);color:var(--text-primary)}.modal-body[data-v-94df777c]{padding:20px}.detail-section[data-v-94df777c]{margin-bottom:20px}.detail-section[data-v-94df777c]:last-child{margin-bottom:0}.detail-section h3[data-v-94df777c]{font-size:1rem;color:var(--text-primary);margin-bottom:12px}.detail-grid[data-v-94df777c]{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.detail-item[data-v-94df777c]{display:flex;flex-direction:column;gap:4px}.detail-label[data-v-94df777c]{font-size:12px;color:var(--text-muted)}.detail-value[data-v-94df777c]{font-weight:500;color:var(--text-primary)}.detail-value.positive[data-v-94df777c]{color:var(--green)}.detail-value.negative[data-v-94df777c]{color:var(--red)}.modal-footer[data-v-94df777c]{display:flex;justify-content:flex-end;gap:10px;padding:20px;border-top:1px solid var(--border-color)}@media (max-width: 768px){.leaderboard-item[data-v-94df777c]{flex-direction:column;align-items:flex-start}.item-metrics[data-v-94df777c]{flex-wrap:wrap;gap:15px}.item-actions[data-v-94df777c]{width:100%;justify-content:flex-end}.detail-grid[data-v-94df777c]{grid-template-columns:repeat(2,1fr)}.tab-btn[data-v-94df777c]{min-width:unset;padding:12px 14px;min-height:44px}}.chart-container[data-v-ccc4aeae]{position:relative;height:300px;width:100%}.chart-container[data-v-57c1fdaa]{position:relative;height:250px;width:100%}.compare-main-content[data-v-33a6595d]{display:flex;overflow:hidden}@media (max-width: 768px){.compare-main-content[data-v-33a6595d]{display:block;overflow:visible}}.cart-overlay[data-v-bd14f743]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;display:flex;justify-content:flex-end}.cart-drawer[data-v-bd14f743]{width:380px;max-width:100vw;height:100%;background:var(--bg-primary);border-left:1px solid var(--border-color);display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}.drawer-header[data-v-bd14f743]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.drawer-header h2[data-v-bd14f743]{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.btn-close[data-v-bd14f743]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-muted);font-size:14px;cursor:pointer;transition:all .15s ease}.btn-close[data-v-bd14f743]:hover{background:var(--bg-elevated);border-color:var(--border-strong);color:var(--text-primary)}.cart-empty[data-v-bd14f743]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.empty-icon[data-v-bd14f743]{font-size:48px;margin-bottom:16px;opacity:.5}.empty-title[data-v-bd14f743]{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.empty-hint[data-v-bd14f743]{font-size:13px;color:var(--text-muted);margin-bottom:20px}.cart-content[data-v-bd14f743]{flex:1;display:flex;flex-direction:column;overflow:hidden}.cart-items[data-v-bd14f743]{flex:1;overflow-y:auto;padding:12px}.cart-item[data-v-bd14f743]{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius);padding:12px;margin-bottom:10px;transition:border-color .15s ease}.cart-item[data-v-bd14f743]:hover{border-color:var(--border-strong)}.item-info[data-v-bd14f743]{margin-bottom:12px}.item-name[data-v-bd14f743]{display:block;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.item-code[data-v-bd14f743]{display:block;font-size:12px;font-family:var(--font-mono);color:var(--text-muted);margin-bottom:8px}.item-tags[data-v-bd14f743]{display:flex;gap:6px}.tag[data-v-bd14f743]{padding:2px 8px;border-radius:4px;font-size:11px}.tag-type[data-v-bd14f743]{background:var(--accent-dim);color:var(--accent)}.tag-region[data-v-bd14f743]{background:var(--green-dim);color:var(--green)}.item-weight[data-v-bd14f743]{display:flex;flex-direction:column;gap:8px}.weight-label[data-v-bd14f743]{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}.weight-control[data-v-bd14f743]{display:flex;align-items:center;gap:12px}.weight-slider[data-v-bd14f743]{flex:1;height:4px;background:var(--bg-elevated);border-radius:2px;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.weight-slider[data-v-bd14f743]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:var(--accent);border-radius:50%;cursor:pointer;transition:transform .15s ease}.weight-slider[data-v-bd14f743]::-webkit-slider-thumb:hover{transform:scale(1.1)}.weight-value[data-v-bd14f743]{font-size:13px;font-weight:600;font-family:var(--font-mono);color:var(--text-primary);min-width:48px;text-align:right}.btn-remove[data-v-bd14f743]{align-self:flex-start;padding:4px 10px;font-size:11px;color:var(--red);background:var(--red-dim);border:1px solid rgba(248,113,113,.25);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease}.btn-remove[data-v-bd14f743]:hover{background:#f871712e;border-color:#f8717173}.cart-summary[data-v-bd14f743]{padding:16px 20px;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.summary-row[data-v-bd14f743]{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--text-secondary);margin-bottom:8px}.summary-total[data-v-bd14f743]{font-size:16px;font-weight:700;color:var(--accent);font-family:var(--font-mono)}.summary-note[data-v-bd14f743]{font-size:11px;color:var(--text-muted);margin:0}.cart-actions[data-v-bd14f743]{display:flex;gap:10px;padding:16px 20px;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.btn[data-v-bd14f743]{flex:1;padding:10px 16px;border-radius:var(--radius);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease;text-align:center;text-decoration:none}.btn-primary[data-v-bd14f743]{background:var(--accent);color:var(--bg-void);border:1px solid transparent}.btn-primary[data-v-bd14f743]:hover{background:var(--accent-hover)}.btn-secondary[data-v-bd14f743]{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color)}.btn-secondary[data-v-bd14f743]:hover{background:var(--bg-elevated);border-color:var(--border-strong)}.btn-secondary[data-v-bd14f743]:disabled{opacity:.5;cursor:not-allowed}.drawer-enter-active[data-v-bd14f743],.drawer-leave-active[data-v-bd14f743]{transition:opacity .2s ease}.drawer-enter-active .cart-drawer[data-v-bd14f743],.drawer-leave-active .cart-drawer[data-v-bd14f743]{transition:transform .2s ease}.drawer-enter-from[data-v-bd14f743],.drawer-leave-to[data-v-bd14f743]{opacity:0}.drawer-enter-from .cart-drawer[data-v-bd14f743],.drawer-leave-to .cart-drawer[data-v-bd14f743]{transform:translate(100%)}@media (max-width: 480px){.cart-drawer[data-v-bd14f743]{width:100%}}.chart-container[data-v-3c648144]{position:relative;height:300px;width:100%}.index-view[data-v-2aa5e4d8]{padding:20px;max-width:1400px;margin:0 auto}.filter-bar[data-v-2aa5e4d8]{display:flex;flex-wrap:wrap;gap:15px;align-items:center;margin-bottom:20px;padding:15px;background:var(--bg-surface, #232326);border:1px solid var(--border-color, rgba(255, 255, 255, .07));border-radius:8px}.search-box[data-v-2aa5e4d8]{flex:1;min-width:200px}.search-input[data-v-2aa5e4d8]{width:100%;padding:10px 15px;border:1px solid var(--border-color, rgba(255, 255, 255, .07));border-radius:6px;font-size:14px;background:var(--bg-primary, #18181b);color:var(--text-primary, #F1F5F9)}.search-input[data-v-2aa5e4d8]:focus{outline:none;border-color:var(--accent, #9b8aff)}.filter-group[data-v-2aa5e4d8]{display:flex;gap:10px}.filter-select[data-v-2aa5e4d8]{padding:10px 15px;border:1px solid var(--border-color, rgba(255, 255, 255, .07));border-radius:6px;font-size:14px;background:var(--bg-primary, #18181b);color:var(--text-primary, #F1F5F9);cursor:pointer}.filter-select[data-v-2aa5e4d8]:focus{outline:none;border-color:var(--accent, #9b8aff)}.filter-actions[data-v-2aa5e4d8]{display:flex;align-items:center;gap:15px;margin-left:auto}.result-count[data-v-2aa5e4d8]{color:var(--text-muted, #52525e);font-size:14px}.btn-cart[data-v-2aa5e4d8]{position:relative;padding:8px 12px;border:1px solid var(--border-color, rgba(255, 255, 255, .07));border-radius:6px;background:var(--bg-primary, #18181b);color:var(--text-primary, #F1F5F9);cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.btn-cart[data-v-2aa5e4d8]:hover{background:var(--bg-elevated, #2f2f33);border-color:var(--accent, #9b8aff)}.cart-icon[data-v-2aa5e4d8]{font-size:16px}.cart-count[data-v-2aa5e4d8]{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;background:var(--accent, #9b8aff);color:#fff;font-size:11px;font-weight:600;border-radius:9px;display:flex;align-items:center;justify-content:center}.table-container[data-v-2aa5e4d8]{background:var(--bg-surface, #232326);border:1px solid var(--border-color, rgba(255, 255, 255, .07));border-radius:8px;overflow:hidden}.index-table[data-v-2aa5e4d8]{width:100%;border-collapse:collapse}.index-table th[data-v-2aa5e4d8],.index-table td[data-v-2aa5e4d8]{padding:12px 15px;text-align:left;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .07))}.index-table th[data-v-2aa5e4d8]{background:var(--bg-elevated, #2f2f33);font-weight:600;color:var(--text-secondary, #8c8c99);font-size:13px}.index-table th.numeric[data-v-2aa5e4d8],.index-table td.numeric[data-v-2aa5e4d8]{text-align:right;font-variant-numeric:tabular-nums}.index-row[data-v-2aa5e4d8]{cursor:pointer;transition:background .2s}.index-row[data-v-2aa5e4d8]:hover{background:var(--bg-surface-hover, #2a2a2e)}.index-row.row-expanded[data-v-2aa5e4d8]{background:var(--accent-dim, rgba(155, 138, 255, .12))}.col-name[data-v-2aa5e4d8]{display:flex;align-items:center;gap:8px;font-weight:500;color:var(--text-primary, #F1F5F9)}.expand-icon[data-v-2aa5e4d8]{color:var(--text-muted, #52525e);font-size:12px}.col-code[data-v-2aa5e4d8]{font-family:var(--font-mono, monospace);color:var(--text-muted, #52525e)}.tag[data-v-2aa5e4d8]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px}.tag-type[data-v-2aa5e4d8]{background:var(--accent-dim, rgba(155, 138, 255, .12));color:var(--accent, #9b8aff)}.tag-region[data-v-2aa5e4d8]{background:#4ade801f;color:var(--green, #4ade80)}.col-return.positive[data-v-2aa5e4d8]{color:var(--green, #4ade80)}.col-return.negative[data-v-2aa5e4d8],.col-drawdown.negative[data-v-2aa5e4d8]{color:var(--red, #f87171)}.col-metric[data-v-2aa5e4d8]{color:var(--text-secondary, #8c8c99)}.action-buttons[data-v-2aa5e4d8]{display:flex;gap:8px}.btn-expand[data-v-2aa5e4d8]{padding:4px 10px;border:1px solid var(--border-color, rgba(255, 255, 255, .07));border-radius:4px;background:var(--bg-primary, #18181b);color:var(--text-secondary, #8c8c99);font-size:12px;cursor:pointer;transition:all .2s}.btn-expand[data-v-2aa5e4d8]:hover{background:var(--bg-elevated, #2f2f33);border-color:var(--border-strong, rgba(255, 255, 255, .13))}.btn-add-cart[data-v-2aa5e4d8]{padding:4px 10px;border:1px solid var(--accent-border, rgba(155, 138, 255, .22));border-radius:4px;background:var(--accent-bg, rgba(155, 138, 255, .08));color:var(--accent, #9b8aff);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.btn-add-cart[data-v-2aa5e4d8]:hover:not(:disabled){background:var(--accent-dim, rgba(155, 138, 255, .12));border-color:var(--accent, #9b8aff)}.btn-add-cart.in-cart[data-v-2aa5e4d8]{background:var(--green-dim, rgba(74, 222, 128, .1));border-color:#4ade8040;color:var(--green, #4ade80);cursor:default}.detail-row[data-v-2aa5e4d8]{background:var(--bg-secondary, #1c1c1f)}.detail-content[data-v-2aa5e4d8]{padding:20px}.detail-section[data-v-2aa5e4d8]{margin-bottom:20px}.detail-section[data-v-2aa5e4d8]:last-child{margin-bottom:0}.detail-section h4[data-v-2aa5e4d8]{font-size:14px;font-weight:600;color:var(--text-primary, #F1F5F9);margin-bottom:12px}.metrics-grid[data-v-2aa5e4d8]{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.metric-card[data-v-2aa5e4d8]{background:var(--bg-surface, #232326);border:1px solid var(--border-color, rgba(255, 255, 255, .07));padding:12px;border-radius:6px;display:flex;flex-direction:column;gap:4px}.metric-label[data-v-2aa5e4d8]{font-size:12px;color:var(--text-muted, #52525e)}.metric-value[data-v-2aa5e4d8]{font-size:14px;font-weight:600;color:var(--text-primary, #F1F5F9)}.metric-value.positive[data-v-2aa5e4d8]{color:var(--green, #4ade80)}.metric-value.negative[data-v-2aa5e4d8]{color:var(--red, #f87171)}.data-range[data-v-2aa5e4d8]{color:var(--text-muted, #52525e);font-size:13px}.chart-tabs[data-v-2aa5e4d8]{display:flex;gap:8px;margin-bottom:15px}.tab-btn[data-v-2aa5e4d8]{padding:6px 16px;border:1px solid var(--border-color, rgba(255, 255, 255, .07));border-radius:4px;background:var(--bg-primary, #18181b);color:var(--text-secondary, #8c8c99);font-size:13px;cursor:pointer;transition:all .2s}.tab-btn[data-v-2aa5e4d8]:hover{background:var(--bg-surface-hover, #2a2a2e)}.tab-btn.active[data-v-2aa5e4d8]{background:var(--accent, #9b8aff);border-color:var(--accent, #9b8aff);color:#fff}.chart-wrapper[data-v-2aa5e4d8]{background:var(--bg-surface, #232326);border:1px solid var(--border-color, rgba(255, 255, 255, .07));border-radius:6px;padding:15px}.chart-loading[data-v-2aa5e4d8],.chart-empty[data-v-2aa5e4d8]{text-align:center;padding:40px;color:var(--text-muted, #52525e);font-size:14px}.pagination[data-v-2aa5e4d8]{display:flex;justify-content:center;align-items:center;gap:15px;margin-top:20px}.page-btn[data-v-2aa5e4d8]{padding:8px 16px;border:1px solid var(--border-color, rgba(255, 255, 255, .07));border-radius:6px;background:var(--bg-surface, #232326);color:var(--text-secondary, #8c8c99);cursor:pointer;transition:all .2s}.page-btn[data-v-2aa5e4d8]:hover:not(:disabled){background:var(--bg-elevated, #2f2f33)}.page-btn[data-v-2aa5e4d8]:disabled{opacity:.5;cursor:not-allowed}.page-info[data-v-2aa5e4d8]{color:var(--text-muted, #52525e);font-size:14px}.loading[data-v-2aa5e4d8],.error[data-v-2aa5e4d8]{text-align:center;padding:40px;color:var(--text-muted, #52525e)}.error[data-v-2aa5e4d8]{color:var(--red, #f87171)}.empty-state[data-v-2aa5e4d8]{text-align:center;padding:40px;color:var(--text-muted, #52525e)}.empty-hint[data-v-2aa5e4d8]{font-size:13px;margin-top:8px}@media (max-width: 768px){.filter-bar[data-v-2aa5e4d8]{flex-direction:column;align-items:stretch}.filter-group[data-v-2aa5e4d8]{flex-wrap:wrap}.filter-select[data-v-2aa5e4d8]{flex:1;min-width:100px}.filter-actions[data-v-2aa5e4d8]{margin-left:0;justify-content:space-between}.mobile-hide[data-v-2aa5e4d8]{display:none}.table-container[data-v-2aa5e4d8]{overflow-x:auto;-webkit-overflow-scrolling:touch}.index-table[data-v-2aa5e4d8]{min-width:unset;width:100%}.col-name[data-v-2aa5e4d8]{max-width:160px;white-space:normal;word-break:break-all}.action-buttons[data-v-2aa5e4d8]{flex-direction:column;gap:4px}}.delta-chart[data-v-87d32071]{background:var(--bg-surface, #232326);border:1px solid var(--border-color, rgba(255, 255, 255, .07));border-radius:12px;padding:16px}.chart-header[data-v-87d32071]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.chart-title[data-v-87d32071]{font-size:1rem;font-weight:600;color:var(--text-primary, #F1F5F9);margin:0}.chart-legend[data-v-87d32071]{display:flex;gap:16px}.legend-item[data-v-87d32071]{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary, #94A3B8)}.legend-color[data-v-87d32071]{width:12px;height:3px;border-radius:2px}.legend-color.price[data-v-87d32071]{background:#9b8aff}.legend-color.total[data-v-87d32071]{background:#10b981}.legend-color.delta[data-v-87d32071]{background:#f59e0b;width:12px;border-bottom:2px dashed #F59E0B;height:0}.chart-container[data-v-87d32071]{position:relative;height:280px;width:100%}.metrics-summary[data-v-87d32071]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color, rgba(255, 255, 255, .07))}.metric-card[data-v-87d32071]{display:flex;flex-direction:column;gap:4px;padding:12px;background:var(--bg-elevated, #1E2A40);border-radius:8px}.metric-card.highlight[data-v-87d32071]{background:linear-gradient(135deg,#10b98126,#05966926);border:1px solid rgba(16,185,129,.3)}.metric-label[data-v-87d32071]{font-size:12px;color:var(--text-muted, #4E6181)}.metric-value[data-v-87d32071]{font-size:18px;font-weight:700;color:var(--text-primary, #F1F5F9)}.metric-value.positive[data-v-87d32071]{color:var(--green, #10B981)}.metric-value.negative[data-v-87d32071]{color:var(--red, #EF4444)}.metric-desc[data-v-87d32071]{font-size:11px;color:var(--text-muted, #4E6181)}.loading-state[data-v-87d32071],.error-state[data-v-87d32071]{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-muted, #4E6181)}.error-state[data-v-87d32071]{color:var(--red, #EF4444)}@media (max-width: 768px){.chart-header[data-v-87d32071]{flex-direction:column;align-items:flex-start;gap:12px}.chart-legend[data-v-87d32071]{flex-wrap:wrap}.metrics-summary[data-v-87d32071]{grid-template-columns:repeat(2,1fr)}}.returns-view[data-v-c317c775]{padding:20px;max-width:1400px;margin:0 auto}.page-header[data-v-c317c775]{text-align:center;margin-bottom:30px}.page-header h1[data-v-c317c775]{font-size:2rem;color:var(--text-primary, #F1F5F9);margin-bottom:10px}.page-header p[data-v-c317c775]{color:var(--text-secondary, #94A3B8);font-size:1rem}.info-banner[data-v-c317c775]{display:flex;gap:15px;background:var(--bg-surface, #232326);border:1px solid var(--border-color, rgba(255, 255, 255, .07));border-radius:12px;padding:20px;margin-bottom:25px}.info-icon[data-v-c317c775]{font-size:1.5rem;flex-shrink:0}.info-content h3[data-v-c317c775]{font-size:1rem;color:var(--accent-hover, #818CF8);margin-bottom:8px}.info-content p[data-v-c317c775]{color:var(--text-secondary, #94A3B8);line-height:1.6;font-size:.95rem;margin:0}.filter-bar[data-v-c317c775]{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px;padding:15px;background:var(--bg-surface, #232326);border:1px solid var(--border-color, rgba(255, 255, 255, .07));border-radius:8px}.search-box[data-v-c317c775]{flex:1;max-width:400px}.search-input[data-v-c317c775]{width:100%;padding:10px 15px;border:1px solid var(--border-color, rgba(255, 255, 255, .07));border-radius:6px;font-size:14px;background:var(--bg-primary, #0A0E1A);color:var(--text-primary, #F1F5F9)}.search-input[data-v-c317c775]:focus{outline:none;border-color:var(--accent, #9b8aff)}.result-count[data-v-c317c775]{color:var(--text-muted, #4E6181);font-size:14px}.table-container[data-v-c317c775]{background:var(--bg-surface, #232326);border:1px solid var(--border-color, rgba(255, 255, 255, .07));border-radius:8px;overflow:hidden}.index-table[data-v-c317c775]{width:100%;border-collapse:collapse}.index-table th[data-v-c317c775],.index-table td[data-v-c317c775]{padding:12px 15px;text-align:left;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .07))}.index-table th[data-v-c317c775]{background:var(--bg-elevated, #1E2A40);font-weight:600;color:var(--text-secondary, #94A3B8);font-size:13px}.index-table th.numeric[data-v-c317c775],.index-table td.numeric[data-v-c317c775]{text-align:right;font-variant-numeric:tabular-nums}.index-row[data-v-c317c775]{cursor:pointer;transition:background .2s ease;color:var(--text-primary, #F1F5F9)}.index-row[data-v-c317c775]:hover{background:var(--bg-surface-hover, #1A2338)}.index-row[data-v-c317c775]:focus-visible{outline:2px solid var(--accent, #9b8aff);outline-offset:-2px}.index-row.row-expanded[data-v-c317c775]{background:var(--accent-bg, rgba(99, 102, 241, .08))}.col-name[data-v-c317c775]{display:flex;align-items:center;gap:8px;font-weight:500}.expand-icon[data-v-c317c775]{color:var(--text-muted, #4E6181);font-size:12px;width:16px;display:inline-block}.badge-total[data-v-c317c775]{display:inline-block;padding:2px 8px;background:linear-gradient(135deg,var(--green, #10B981),#059669);color:#fff;font-size:11px;font-weight:600;border-radius:4px;margin-left:8px}.col-code[data-v-c317c775]{font-family:monospace;color:var(--text-muted, #4E6181)}.tag[data-v-c317c775]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px}.tag-type[data-v-c317c775]{background:#6366f126;color:var(--accent-hover, #818CF8)}.tag-region[data-v-c317c775]{background:#10b98126;color:var(--green, #10B981)}.col-return.positive[data-v-c317c775]{color:var(--green, #10B981)}.col-return.negative[data-v-c317c775],.col-drawdown.negative[data-v-c317c775]{color:var(--red, #EF4444)}.btn-expand[data-v-c317c775]{padding:4px 10px;border:1px solid var(--border-color, rgba(255, 255, 255, .07));border-radius:4px;background:var(--bg-primary, #0A0E1A);color:var(--text-secondary, #94A3B8);font-size:12px;cursor:pointer;transition:all .2s ease}.btn-expand[data-v-c317c775]:hover{background:var(--bg-elevated, #1E2A40);border-color:var(--border-strong, rgba(255, 255, 255, .14))}.btn-expand[data-v-c317c775]:focus-visible{outline:2px solid var(--accent, #9b8aff);outline-offset:2px}.detail-row[data-v-c317c775]{background:var(--bg-secondary, #0F1624)}.detail-content[data-v-c317c775]{padding:20px}.comparison-section[data-v-c317c775]{background:var(--bg-surface, #232326);border:1px solid rgba(99,102,241,.2);border-radius:8px;padding:20px;margin-bottom:20px}.comparison-section h4[data-v-c317c775]{font-size:14px;font-weight:600;color:var(--text-primary, #F1F5F9);margin-bottom:15px}.comparison-grid[data-v-c317c775]{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.comparison-card[data-v-c317c775]{background:var(--bg-elevated, #1E2A40);padding:15px;border-radius:8px;text-align:center}.comparison-card.highlight[data-v-c317c775]{background:linear-gradient(135deg,#10b98126,#05966926);border:1px solid rgba(16,185,129,.3)}.comparison-label[data-v-c317c775]{display:block;font-size:12px;color:var(--text-muted, #4E6181);margin-bottom:5px}.comparison-value[data-v-c317c775]{font-size:18px;font-weight:700;color:var(--text-primary, #F1F5F9)}.comparison-value.positive[data-v-c317c775]{color:var(--green, #10B981)}.comparison-note[data-v-c317c775]{margin-top:15px;font-size:13px;color:var(--text-muted, #4E6181);font-style:italic}.detail-section[data-v-c317c775]{margin-bottom:20px}.detail-section[data-v-c317c775]:last-child{margin-bottom:0}.detail-section h4[data-v-c317c775]{font-size:14px;font-weight:600;color:var(--text-primary, #F1F5F9);margin-bottom:12px}.metrics-grid[data-v-c317c775]{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.metric-card[data-v-c317c775]{background:var(--bg-surface, #232326);border:1px solid var(--border-color, rgba(255, 255, 255, .07));padding:12px;border-radius:6px;display:flex;flex-direction:column;gap:4px}.metric-label[data-v-c317c775]{font-size:12px;color:var(--text-muted, #4E6181)}.metric-value[data-v-c317c775]{font-size:14px;font-weight:600;color:var(--text-primary, #F1F5F9)}.data-range[data-v-c317c775]{color:var(--text-muted, #4E6181);font-size:13px}.empty-state[data-v-c317c775]{text-align:center;padding:60px 20px;color:var(--text-muted, #4E6181)}.empty-hint[data-v-c317c775]{font-size:14px;color:var(--text-muted, #4E6181);margin-top:10px}.pagination[data-v-c317c775]{display:flex;justify-content:center;align-items:center;gap:15px;margin-top:20px}.page-btn[data-v-c317c775]{padding:8px 16px;border:1px solid var(--border-color, rgba(255, 255, 255, .07));border-radius:6px;background:var(--bg-surface, #232326);color:var(--text-secondary, #94A3B8);cursor:pointer;transition:all .2s ease;font-size:14px}.page-btn[data-v-c317c775]:hover:not(:disabled){background:var(--bg-elevated, #1E2A40)}.page-btn[data-v-c317c775]:disabled{opacity:.5;cursor:not-allowed}.page-btn[data-v-c317c775]:focus-visible{outline:2px solid var(--accent, #9b8aff);outline-offset:2px}.page-info[data-v-c317c775]{color:var(--text-muted, #4E6181);font-size:14px;font-variant-numeric:tabular-nums}.loading[data-v-c317c775]{text-align:center;padding:40px;color:var(--text-muted, #4E6181)}@media (max-width: 768px){.filter-bar[data-v-c317c775]{flex-direction:column;align-items:stretch}.search-box[data-v-c317c775]{max-width:none}.comparison-grid[data-v-c317c775]{grid-template-columns:1fr}.mobile-hide[data-v-c317c775]{display:none}.table-container[data-v-c317c775]{overflow-x:auto;-webkit-overflow-scrolling:touch}.index-table[data-v-c317c775]{min-width:unset;width:100%}.col-name[data-v-c317c775]{max-width:160px;white-space:normal;word-break:break-all}}.empty-config[data-v-4637e1e5]{display:flex;flex-direction:column;align-items:center;padding:20px 0;text-align:center}.empty-icon[data-v-4637e1e5]{font-size:32px;margin-bottom:12px;opacity:.6}.empty-hint[data-v-4637e1e5]{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.empty-desc[data-v-4637e1e5]{font-size:12px;color:var(--text-muted);margin-bottom:16px}.config-source[data-v-4637e1e5]{display:flex;flex-direction:column;gap:12px}.source-item[data-v-4637e1e5]{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border-subtle)}.source-item[data-v-4637e1e5]:last-of-type{border-bottom:none}.source-label[data-v-4637e1e5]{font-size:12px;color:var(--text-muted)}.source-value[data-v-4637e1e5]{font-size:13px;font-weight:600;color:var(--text-primary);font-family:var(--font-mono)}.weight-total[data-v-4637e1e5]{color:var(--accent)}.config-list[data-v-4637e1e5]{margin-top:8px;padding-top:12px;border-top:1px solid var(--border-color)}.config-list-header[data-v-4637e1e5]{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.config-item[data-v-4637e1e5]{display:flex;justify-content:space-between;align-items:center;padding:6px 0}.config-name[data-v-4637e1e5]{font-size:12px;color:var(--text-secondary)}.config-weight[data-v-4637e1e5]{font-size:12px;font-family:var(--font-mono);font-weight:600;color:var(--text-primary)}.config-actions[data-v-4637e1e5]{display:flex;flex-direction:column;gap:8px;margin-top:16px}.btn[data-v-4637e1e5]{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;font-family:var(--font-sans);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease;text-decoration:none}.btn-primary[data-v-4637e1e5]{background:var(--accent);color:var(--bg-void);border:1px solid transparent}.btn-primary[data-v-4637e1e5]:hover{background:var(--accent-hover)}.btn-secondary[data-v-4637e1e5]{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color)}.btn-secondary[data-v-4637e1e5]:hover{background:var(--bg-elevated);border-color:var(--border-strong)}.btn-clear[data-v-4637e1e5]{background:transparent;color:var(--red);border:1px solid rgba(248,113,113,.25)}.btn-clear[data-v-4637e1e5]:hover{background:var(--red-dim);border-color:#f8717173}.btn-edit-link[data-v-4637e1e5]{background:transparent;color:var(--accent);border:1px solid var(--accent-border)}.btn-edit-link[data-v-4637e1e5]:hover{background:var(--accent-dim);border-color:var(--accent)}.btn-danger[data-v-4637e1e5]{background:var(--red);color:#fff;border:1px solid transparent}.btn-danger[data-v-4637e1e5]:hover{background:#ef4444}.modal-overlay[data-v-4637e1e5]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200}.modal[data-v-4637e1e5]{width:360px;max-width:calc(100vw - 40px);background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.modal-header[data-v-4637e1e5]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color)}.modal-header h3[data-v-4637e1e5]{font-size:14px;font-weight:600;color:var(--text-primary);margin:0}.modal-close[data-v-4637e1e5]{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-muted);font-size:14px;cursor:pointer;transition:all .15s ease}.modal-close[data-v-4637e1e5]:hover{background:var(--bg-elevated);border-color:var(--border-strong);color:var(--text-primary)}.modal-body[data-v-4637e1e5]{padding:16px 20px}.modal-body p[data-v-4637e1e5]{font-size:13px;color:var(--text-secondary);margin:0 0 8px;line-height:1.6}.modal-body p[data-v-4637e1e5]:last-child{margin-bottom:0}.modal-warning[data-v-4637e1e5]{color:var(--amber);font-size:12px}.modal-actions[data-v-4637e1e5]{display:flex;gap:10px;padding:16px 20px;border-top:1px solid var(--border-color)}.modal-actions .btn[data-v-4637e1e5]{flex:1}.treemap-container[data-v-2862fe2f]{width:100%;height:100%;min-height:400px;background-color:transparent;position:relative}.empty-state[data-v-2862fe2f]{display:flex;align-items:center;justify-content:center;height:100%;font-size:13px;color:var(--text-muted)}.treemap-area[data-v-2862fe2f]{width:100%;height:100%;position:relative}.treemap-block[data-v-2862fe2f]{position:absolute;box-sizing:border-box;padding:12px;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;overflow:hidden;cursor:pointer;border:1px solid rgba(255,255,255,.07);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);backdrop-filter:blur(4px) saturate(140%);-webkit-backdrop-filter:blur(4px) saturate(140%);transition:border-color var(--transition),box-shadow var(--transition)}.treemap-block[data-v-2862fe2f]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(255,255,255,.055) 0%,transparent 55%);pointer-events:none;border-radius:inherit}.treemap-block[data-v-2862fe2f]:hover{border-color:#ffffff2e;box-shadow:var(--shadow-md),inset 0 0 0 1px #ffffff1a;z-index:10}.block-name[data-v-2862fe2f]{font-size:13px;font-weight:600;font-family:var(--font-sans);color:#ffffffe6;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;margin-bottom:3px;text-shadow:0 1px 3px rgba(0,0,0,.45)}.block-pct[data-v-2862fe2f]{font-size:20px;font-weight:800;font-family:var(--font-mono);color:#fffffff2;text-shadow:0 1px 3px rgba(0,0,0,.45);line-height:1}.block-amount[data-v-2862fe2f]{font-family:var(--font-mono);font-size:11px;color:#ffffff80;margin-top:auto}.size-large .block-name[data-v-2862fe2f]{font-size:15px;margin-bottom:6px}.size-large .block-pct[data-v-2862fe2f]{font-size:28px}.size-large .block-amount[data-v-2862fe2f]{font-size:12px}.size-medium .block-name[data-v-2862fe2f]{font-size:13px}.size-medium .block-pct[data-v-2862fe2f]{font-size:20px}.size-small[data-v-2862fe2f]{padding:8px}.size-small .block-name[data-v-2862fe2f]{font-size:11px;margin-bottom:2px}.size-small .block-pct[data-v-2862fe2f]{font-size:14px}.size-small .block-amount[data-v-2862fe2f]{display:none}.size-tiny[data-v-2862fe2f]{padding:4px;justify-content:center;align-items:center}.size-tiny .block-name[data-v-2862fe2f]{font-size:10px;margin:0;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.size-tiny .block-pct[data-v-2862fe2f],.size-tiny .block-amount[data-v-2862fe2f]{display:none}.treemap-tooltip[data-v-2862fe2f]{min-width:180px}.tip-name[data-v-2862fe2f]{font-weight:600;font-size:13px;color:var(--text-primary);margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.tip-pct[data-v-2862fe2f]{color:var(--accent)}.touch-info-panel[data-v-2862fe2f]{position:absolute;bottom:12px;left:12px;right:12px;background:#232326f5;backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:14px;z-index:50;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease}.touch-info-panel.visible[data-v-2862fe2f]{opacity:1;pointer-events:all;transform:translateY(0)}.touch-info-header[data-v-2862fe2f]{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--border-color)}.touch-info-name[data-v-2862fe2f]{font-size:14px;font-weight:700;color:var(--text-primary)}.touch-info-close[data-v-2862fe2f]{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-size:14px}.touch-info-row[data-v-2862fe2f]{display:flex;justify-content:space-between;font-size:13px;color:var(--text-secondary);padding:4px 0;line-height:1.5}.touch-info-val[data-v-2862fe2f]{font-family:var(--font-mono);font-weight:600;color:var(--text-primary)}.touch-info-actions[data-v-2862fe2f]{margin-top:12px}.touch-edit-btn[data-v-2862fe2f]{width:100%;padding:10px 16px;background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:var(--radius-sm);color:var(--accent);font-size:13px;font-weight:600;cursor:pointer;transition:background-color var(--transition)}.touch-edit-btn[data-v-2862fe2f]:hover,.touch-edit-btn[data-v-2862fe2f]:active{background:var(--accent-dim)}@media (pointer: fine){.touch-info-panel[data-v-2862fe2f]{display:none!important}}@media (pointer: coarse){.treemap-tooltip[data-v-2862fe2f]{display:none!important}}.btn-sm[data-v-83625aaf]{padding:4px 10px;font-size:11px}.btn-secondary[data-v-83625aaf]{background:transparent;border:1px solid var(--border-color);color:var(--text-primary);border-radius:4px;cursor:pointer}.btn-secondary[data-v-83625aaf]:hover{border-color:var(--border-glow)}.inflation-chart[data-v-571fbe2e]{background:var(--bg-surface, #232326);border:1px solid var(--border-color, rgba(255, 255, 255, .07));border-radius:12px;padding:16px}.chart-header[data-v-571fbe2e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.chart-title[data-v-571fbe2e]{font-size:1rem;font-weight:600;color:var(--text-primary, #F1F5F9);margin:0}.chart-legend[data-v-571fbe2e]{display:flex;gap:16px}.legend-item[data-v-571fbe2e]{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary, #94A3B8)}.legend-color[data-v-571fbe2e]{width:12px;height:3px;border-radius:2px}.legend-color.nominal[data-v-571fbe2e]{background:#9b8aff}.legend-color.real[data-v-571fbe2e]{background:#10b981}.legend-color.inflation[data-v-571fbe2e]{background:#ef444466;width:12px;height:8px}.chart-container[data-v-571fbe2e]{position:relative;height:280px;width:100%}.metrics-summary[data-v-571fbe2e]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color, rgba(255, 255, 255, .07))}.metric-item[data-v-571fbe2e]{display:flex;flex-direction:column;gap:4px}.metric-label[data-v-571fbe2e]{font-size:12px;color:var(--text-muted, #4E6181)}.metric-value[data-v-571fbe2e]{font-size:14px;font-weight:600;color:var(--text-primary, #F1F5F9)}.metric-value.positive[data-v-571fbe2e]{color:var(--green, #10B981)}.metric-value.negative[data-v-571fbe2e]{color:var(--red, #EF4444)}.loading-state[data-v-571fbe2e],.error-state[data-v-571fbe2e]{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-muted, #4E6181)}.error-state[data-v-571fbe2e]{color:var(--red, #EF4444)}@media (max-width: 768px){.chart-header[data-v-571fbe2e]{flex-direction:column;align-items:flex-start;gap:12px}.chart-legend[data-v-571fbe2e]{flex-wrap:wrap}.metrics-summary[data-v-571fbe2e]{grid-template-columns:repeat(2,1fr)}}.mobile-panel-tabs[data-v-23d1be0c]{display:none}.display-header[data-v-23d1be0c]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.display-header h2[data-v-23d1be0c]{font-size:1.25rem;font-weight:600;color:var(--text-primary, #F1F5F9);margin:0}.header-actions[data-v-23d1be0c]{display:flex;gap:12px}.btn[data-v-23d1be0c]{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease;text-decoration:none}.btn-compare[data-v-23d1be0c]{background:var(--accent, #9b8aff);color:var(--bg-void, #0A0E1A);border:1px solid transparent}.btn-compare[data-v-23d1be0c]:hover:not(:disabled){background:var(--accent-hover, #818CF8)}.btn-compare[data-v-23d1be0c]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-23d1be0c]{background:var(--accent, #9b8aff);color:var(--bg-void, #0A0E1A);border:1px solid transparent;padding:10px 20px}.btn-primary[data-v-23d1be0c]:hover{background:var(--accent-hover, #818CF8)}.empty-state[data-v-23d1be0c]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.empty-icon[data-v-23d1be0c]{font-size:48px;margin-bottom:16px;opacity:.5}.empty-title[data-v-23d1be0c]{font-size:18px;font-weight:600;color:var(--text-primary, #F1F5F9);margin-bottom:8px}.empty-desc[data-v-23d1be0c]{font-size:14px;color:var(--text-muted, #4E6181);margin-bottom:20px}.inflation-section[data-v-23d1be0c]{margin-top:24px;padding-top:24px;border-top:1px solid var(--border-color, rgba(255, 255, 255, .07))}.section-header[data-v-23d1be0c]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header h3[data-v-23d1be0c]{font-size:1rem;font-weight:600;color:var(--text-primary, #F1F5F9);margin:0}.asset-selector[data-v-23d1be0c]{display:flex;gap:8px}.asset-select[data-v-23d1be0c]{padding:6px 12px;background:var(--bg-surface, #232326);border:1px solid var(--border-color, rgba(255, 255, 255, .07));border-radius:6px;color:var(--text-primary, #F1F5F9);font-size:13px;cursor:pointer}.asset-select[data-v-23d1be0c]:focus{outline:none;border-color:var(--accent, #9b8aff)}.chart-placeholder[data-v-23d1be0c]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;background:var(--bg-surface, #232326);border:1px dashed var(--border-color, rgba(255, 255, 255, .14));border-radius:12px;text-align:center;padding:40px 20px}.chart-placeholder p[data-v-23d1be0c]{color:var(--text-muted, #4E6181);font-size:14px;margin:0}.chart-placeholder .hint[data-v-23d1be0c]{font-size:12px;margin-top:8px}.dimension-tabs[data-v-23d1be0c]{display:flex;gap:8px;margin-bottom:16px}.tab[data-v-23d1be0c]{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-surface, #232326);border:1px solid var(--border-color, rgba(255, 255, 255, .07));border-radius:6px;color:var(--text-secondary, #94A3B8);font-size:13px;cursor:pointer;transition:all .15s ease}.tab[data-v-23d1be0c]:hover{border-color:var(--border-strong, rgba(255, 255, 255, .14));color:var(--text-primary, #F1F5F9)}.tab.active[data-v-23d1be0c]{background:var(--accent-dim, rgba(155, 138, 255, .15));border-color:var(--accent, #9b8aff);color:var(--accent, #9b8aff)}.tab-badge[data-v-23d1be0c]{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--bg-elevated, #1E2A40);border-radius:10px;font-size:11px;font-weight:600}@media (max-width: 768px){.mobile-panel-tabs[data-v-23d1be0c]{display:flex}.mobile-hidden[data-v-23d1be0c]{display:none!important}.sidebar[data-v-23d1be0c]{overflow-y:visible;height:auto}.display[data-v-23d1be0c]{padding:12px 14px;min-height:460px}.display-header[data-v-23d1be0c]{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:16px}.header-actions[data-v-23d1be0c]{width:100%}.btn-compare[data-v-23d1be0c]{width:100%;justify-content:center}.inflation-section[data-v-23d1be0c]{margin-top:16px;padding-top:16px}.section-header[data-v-23d1be0c]{flex-direction:column;align-items:flex-start;gap:12px}.chart-placeholder[data-v-23d1be0c]{min-height:160px;padding:30px 16px}}.sentiment-view[data-v-2d576107]{display:flex;flex-direction:column;gap:2rem;padding:2rem;height:100%}.title-group[data-v-2d576107]{display:flex;align-items:center;gap:1rem}.page-badge[data-v-2d576107]{background:var(--accent);color:#fff;padding:.2rem .5rem;border-radius:4px;font-size:.8rem;font-weight:700}.coming-soon-container[data-v-2d576107]{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-secondary);border:1px solid rgba(255,255,255,.05);border-radius:12px;padding:4rem;margin-top:2rem;text-align:center}.coming-soon-icon[data-v-2d576107]{font-size:4rem;margin-bottom:1rem}.features-list[data-v-2d576107]{text-align:left;margin-top:2rem;display:flex;flex-direction:column;gap:.5rem;color:#ffffffb3}.features-list strong[data-v-2d576107]{color:var(--text-primary)}:root{--bg-void: #111113;--bg-primary: #18181b;--bg-secondary: #1c1c1f;--bg-surface: #232326;--bg-surface-hover: #2a2a2e;--bg-elevated: #2f2f33;--bg-glass: rgba(28, 28, 31, .82);--border-color: rgba(255, 255, 255, .07);--border-subtle: rgba(255, 255, 255, .04);--border-strong: rgba(255, 255, 255, .13);--border-glow: rgba(255, 255, 255, .2);--text-primary: #ececec;--text-secondary: #8c8c99;--text-muted: #52525e;--text-code: #a78bfa;--accent: #9b8aff;--accent-hover: #b3a6ff;--accent-dim: rgba(155, 138, 255, .12);--accent-bg: rgba(155, 138, 255, .08);--accent-border: rgba(155, 138, 255, .22);--blue: #60a5fa;--blue-dim: rgba(96, 165, 250, .1);--green: #4ade80;--green-dim: rgba(74, 222, 128, .1);--red: #f87171;--red-dim: rgba(248, 113, 113, .1);--amber: #f59e0b;--amber-dim: rgba(245, 158, 11, .1);--glow-sm: 0 1px 3px rgba(0, 0, 0, .4);--glow-md: 0 2px 8px rgba(0, 0, 0, .5);--glow-text: none;--font-display: "Inter", "SF Pro Display", -apple-system, sans-serif;--font-sans: "Inter", "Noto Sans SC", -apple-system, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "IBM Plex Mono", monospace;--radius: 8px;--radius-sm: 6px;--radius-lg: 12px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .45), 0 0 0 1px rgba(255, 255, 255, .04);--shadow-md: 0 4px 16px rgba(0, 0, 0, .55), 0 1px 3px rgba(0, 0, 0, .4), 0 0 0 1px rgba(255, 255, 255, .06);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .7), 0 4px 12px rgba(0, 0, 0, .5), 0 0 0 1px rgba(255, 255, 255, .07);--transition: .15s ease}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow-y:auto}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;position:relative}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='1'/%3E%3C/svg%3E");background-size:128px 128px;opacity:.028;pointer-events:none;z-index:0}#app{position:relative;z-index:1}.app{display:flex;flex-direction:column;height:100vh;max-height:100vh}.main-content{flex:1;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column}.portfolio-layout{display:flex;flex-direction:row;flex:1;overflow:hidden;height:100%}.header{display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:52px;background:#18181bbf;backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);border-bottom:1px solid var(--border-color);box-shadow:0 1px #ffffff0a,0 4px 20px #00000059;flex-shrink:0;position:relative;z-index:10}.header-brand{display:flex;align-items:center;gap:10px}.header-logo{font-size:18px;color:var(--accent)}@keyframes logoPulse{0%,to{opacity:1}50%{opacity:.7}}.header h1{font-size:15px;font-weight:700;letter-spacing:.5px;color:var(--text-primary);font-family:var(--font-display)}.header-sub{font-size:12px;color:var(--text-muted);letter-spacing:.2px}.main{display:flex;flex:1;overflow:hidden}.sidebar{width:260px;min-width:260px;display:flex;flex-direction:column;gap:10px;padding:14px;border-right:1px solid var(--border-color);background:var(--bg-secondary);overflow-y:auto}.panel{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius);overflow:hidden;transition:border-color .15s ease}.panel:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.panel-header{display:flex;align-items:center;gap:8px;padding:9px 13px;font-size:11px;font-weight:600;letter-spacing:.6px;color:var(--text-muted);border-bottom:1px solid var(--border-subtle);text-transform:uppercase;background:var(--bg-elevated);border-left:2px solid var(--accent)}.panel-indicator{width:5px;height:5px;border-radius:50%;background:var(--accent);opacity:.7}.panel-body{padding:13px;display:flex;flex-direction:column;gap:10px}.form-group{display:flex;flex-direction:column;gap:5px}.form-group label{font-size:11px;font-weight:500;color:var(--text-muted);letter-spacing:.2px}.form-group input,.form-group select{padding:7px 10px;font-size:13px;font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);outline:none;transition:border-color var(--transition),box-shadow var(--transition)}.form-group input:focus,.form-group select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);outline:none}.form-group input:disabled,.form-group select:disabled{opacity:.35;cursor:not-allowed}.btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;font-family:var(--font-sans);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background-color .18s ease,box-shadow .18s ease,color .18s ease,border-color .18s ease;margin-top:2px}.btn-primary{background:var(--accent);color:#fff;border:1px solid transparent;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.btn-primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:var(--shadow-md)}.btn:disabled{opacity:.35;cursor:not-allowed}.btn-icon{font-size:15px;font-weight:700}.btn-save{background:#4ade8026;color:var(--green);border:1px solid rgba(74,222,128,.25);box-shadow:var(--shadow-sm);width:100%}.btn-save:hover:not(:disabled){background:#4ade8038;border-color:#4ade8066;box-shadow:var(--shadow-md)}.btn-save:disabled{opacity:.4}.save-status{font-size:11px;font-family:var(--font-mono);text-align:center;min-height:16px;line-height:16px;transition:opacity .3s ease}.save-status.save-ok{color:var(--green)}.save-status.save-err{color:var(--red)}.panel-summary .panel-body{gap:6px}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:5px 0;border-bottom:1px solid var(--border-subtle)}.summary-item:last-child{border-bottom:none}.summary-label{font-size:12px;color:var(--text-muted)}.summary-value{font-size:13px;font-weight:600;font-family:var(--font-mono);color:var(--text-primary)}.display{flex:1;display:flex;flex-direction:column;padding:16px 20px;overflow:hidden}.display-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;flex-shrink:0}.display-header h2{font-size:14px;font-weight:600;color:var(--text-secondary);letter-spacing:.2px}.dimension-tabs{display:flex;gap:2px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:3px}.tab{position:relative;padding:5px 13px;font-size:12px;font-weight:500;font-family:var(--font-sans);color:var(--text-muted);background:transparent;border:none;border-radius:4px;cursor:pointer;transition:color .18s ease,background-color .18s ease;letter-spacing:.2px;display:flex;align-items:center;gap:5px}.tab:hover{color:var(--text-secondary);background:var(--bg-elevated)}.tab.active{color:var(--text-primary);background:var(--bg-elevated);box-shadow:var(--shadow-sm)}.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;padding:0 4px;font-size:10px;font-weight:700;font-family:var(--font-mono);border-radius:8px;background:#ffffff14;color:var(--text-muted);transition:background-color .18s ease,color .18s ease}.tab.active .tab-badge{background:var(--accent-dim);color:var(--accent)}.treemap-wrapper{flex:1;position:relative;overflow:hidden;border:1px solid var(--border-color);border-radius:var(--radius);background:var(--bg-secondary)}.treemap-container{position:absolute;top:0;left:0;right:0;bottom:0;transition:opacity .2s ease}.treemap-container.fading-out{opacity:0}.treemap-container.fading-in{opacity:0;animation:fadeIn .3s ease forwards}@keyframes fadeIn{to{opacity:1}}.treemap-block{position:absolute;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;overflow:hidden;cursor:pointer;border:1px solid rgba(255,255,255,.07);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);transition:border-color var(--transition),box-shadow var(--transition);opacity:0;transform:scale(.94);animation:blockIn .35s ease forwards}.treemap-block:hover{border-color:#ffffff2e;box-shadow:var(--shadow-md),inset 0 0 0 1px #ffffff1a;z-index:10}.treemap-block .block-name,.treemap-block .block-pct,.treemap-block .block-amount{pointer-events:none}@keyframes blockIn{to{opacity:1;transform:scale(1)}}.treemap-tooltip{position:fixed;padding:10px 14px;background:#232326eb;backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border:1px solid var(--border-strong);border-radius:var(--radius);pointer-events:none;z-index:1000;opacity:0;transition:opacity .12s ease;box-shadow:var(--shadow-lg)}.treemap-tooltip.visible{opacity:1}.treemap-tooltip .tip-name{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:6px}.treemap-tooltip .tip-row{display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--text-secondary);line-height:1.6}.treemap-tooltip .tip-val{font-family:var(--font-mono);color:var(--text-primary);font-weight:600}.detail-bar{display:flex;flex-wrap:wrap;gap:4px 8px;padding:10px 2px 0;flex-shrink:0}.detail-chip{display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border-color);font-size:12px;color:var(--text-secondary);cursor:default;transition:border-color .18s ease,background-color .18s ease;opacity:0;animation:chipIn .25s ease forwards}.detail-chip:hover{border-color:var(--border-strong);background:var(--bg-elevated)}.detail-dot{width:7px;height:7px;border-radius:2px;flex-shrink:0}.detail-name{font-weight:600;color:var(--text-primary)}.detail-pct{font-family:var(--font-mono);font-weight:700;color:var(--text-primary);font-size:11px}.detail-amt{font-family:var(--font-mono);color:var(--text-muted);font-size:11px}@keyframes chipIn{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.treemap-tooltip .tip-items{margin-top:7px;padding-top:7px;border-top:1px solid var(--border-color)}.treemap-tooltip .tip-items-title{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:4px}.treemap-tooltip .tip-item{display:flex;justify-content:space-between;gap:14px;font-size:11px;color:var(--text-secondary);line-height:1.7}.treemap-tooltip .tip-item-val{font-family:var(--font-mono);color:var(--text-muted);font-size:10px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;-webkit-backdrop-filter:blur(8px) saturate(120%);backdrop-filter:blur(8px) saturate(120%);display:flex;align-items:center;justify-content:center;z-index:100;opacity:0;pointer-events:none;transition:opacity .18s ease}.modal-overlay.visible{opacity:1;pointer-events:auto}.modal{width:500px;max-height:80vh;background:#232326eb;backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;transform:scale(.97) translateY(6px);transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.modal-overlay.visible .modal{transform:scale(1) translateY(0)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border-color);flex-shrink:0}.modal-title{font-size:14px;font-weight:600;color:var(--text-primary)}.modal-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-muted);font-size:16px;cursor:pointer;transition:color .18s ease,border-color .18s ease,background-color .18s ease;line-height:1}.modal-close:hover{color:var(--text-primary);border-color:var(--border-strong);background:var(--bg-elevated)}.modal-body{overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.modal-empty{text-align:center;color:var(--text-muted);padding:24px;font-size:13px}.modal-asset{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius);padding:12px 14px;transition:border-color var(--transition)}.modal-asset:hover{border-color:var(--border-strong)}.modal-asset-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.modal-asset-info{flex:1;min-width:0}.modal-asset-name{font-size:14px;font-weight:600;color:var(--text-primary);line-height:1.3}.modal-asset-meta{display:flex;align-items:center;gap:10px;margin-top:3px;font-size:12px}.modal-asset-code{font-family:var(--font-mono);color:var(--text-muted);font-size:11px}.modal-asset-amount{font-family:var(--font-mono);color:var(--text-primary);font-weight:600;font-size:12px}.modal-asset-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px}.modal-tag{padding:2px 7px;font-size:10px;font-weight:500;border-radius:4px;background:var(--bg-surface);color:var(--text-secondary);border:1px solid var(--border-color);letter-spacing:.1px}.modal-asset-actions{display:flex;gap:6px;flex-shrink:0;padding-top:2px}.btn-edit,.btn-delete{padding:4px 11px;font-size:11px;font-weight:600;font-family:var(--font-sans);border-radius:var(--radius-sm);cursor:pointer;transition:background-color .18s ease,border-color .18s ease;border:1px solid;background:none}.btn-edit{color:var(--accent);border-color:var(--accent-border);background:var(--accent-bg);transition:background-color .18s ease,border-color .18s ease}.btn-edit:hover{background:var(--accent-dim);border-color:var(--border-strong)}.btn-delete{color:var(--red);border-color:#ef444440;background:var(--red-dim)}.btn-delete:hover{background:#ef44442e;border-color:#ef444473}.btn-delete.confirming{background:#ef444447;border-color:#ef44448c;animation:pulse-red 1s ease infinite}@keyframes pulse-red{0%,to{box-shadow:0 0 #f8717100}50%{box-shadow:0 0 0 3px #f871712e}}.modal-edit-form{margin-top:10px;padding-top:10px;border-top:1px solid var(--border-color)}.edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.edit-grid .form-group label{font-size:10px}.edit-grid .form-group input,.edit-grid .form-group select{width:100%;padding:6px 8px;font-size:12px}.edit-actions{display:flex;gap:8px;margin-top:10px;justify-content:flex-end}.btn-save-action{background:#4ade8026!important;color:var(--green)!important;border:1px solid rgba(74,222,128,.3)!important;margin-top:0!important;padding:5px 16px;box-shadow:var(--shadow-sm)}.btn-save-action:hover{background:#4ade8038!important;border-color:#4ade8073!important;box-shadow:var(--shadow-md)!important}.btn-cancel-action{background:transparent!important;color:var(--text-muted)!important;border:1px solid var(--border-color)!important;margin-top:0!important;padding:5px 16px}.btn-cancel-action:hover{color:var(--text-secondary)!important;border-color:var(--border-strong)!important;background:var(--bg-elevated)!important}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff38}tbody tr{position:relative;transition:background-color .12s ease}tbody tr:hover{background:var(--bg-surface-hover)}.page-enter-active{animation:pageIn .22s ease both}.page-leave-active{animation:pageOut .14s ease both}@keyframes pageIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pageOut{0%{opacity:1;transform:translateY(0)}to{opacity:0}}@keyframes cardIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-height: 800px){.header{height:44px;padding:0 20px}.header-logo{font-size:16px}.header h1{font-size:14px}.sidebar{padding:10px;gap:8px}.panel-header{padding:7px 12px;font-size:10px}.panel-body{padding:10px;gap:7px}.form-group{gap:3px}.form-group label{font-size:10px}.form-group input,.form-group select{padding:5px 8px;font-size:12px}.btn{padding:6px 12px;font-size:12px;margin-top:1px}.summary-item{padding:3px 0}.summary-label{font-size:11px}.summary-value{font-size:12px}.display{padding:10px 16px}.display-header{margin-bottom:8px}.display-header h2{font-size:13px}.detail-bar{padding:6px 2px 0;max-height:64px;overflow-y:auto}.detail-chip{padding:3px 8px;font-size:11px}}@media (max-width: 1440px){.sidebar{width:230px;min-width:230px}.detail-chip{padding:3px 7px;gap:5px}.detail-pct,.detail-amt{font-size:10px}.detail-name{font-size:11px}.tab{padding:4px 10px;font-size:11px}.tab-badge{min-width:15px;height:15px;font-size:9px}}@media (max-width: 1440px) and (max-height: 800px){.sidebar{width:220px;min-width:220px;padding:8px;gap:6px}.panel-body{padding:8px;gap:6px}.form-group input,.form-group select{padding:4px 7px}.detail-bar{max-height:56px}}.modal{max-width:calc(100vw - 40px)}@media (max-height: 800px){.modal{max-height:75vh}.modal-header{padding:10px 14px}.modal-title{font-size:13px}.modal-body{padding:10px;gap:6px}.modal-asset{padding:10px 12px}.modal-asset-name{font-size:13px}.edit-grid{gap:6px}.edit-grid .form-group input,.edit-grid .form-group select{padding:4px 7px;font-size:11px}}@media (max-width: 1440px){.modal{width:460px}}.view-nav{display:flex;gap:2px;background:#00000040;border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:3px}.view-tab{position:relative;padding:5px 16px;font-size:12px;font-weight:500;font-family:var(--font-sans);color:var(--text-muted);background:transparent;border:none;border-radius:3px;cursor:pointer;transition:color .18s ease,background-color .18s ease;letter-spacing:.1px;text-decoration:none;display:inline-block}.view-tab:hover{color:var(--text-secondary);background:var(--bg-surface)}.view-tab.active{color:var(--text-primary);background:var(--bg-elevated);font-weight:600}.view-tab.active:after{content:"";position:absolute;bottom:0;left:4px;right:4px;height:2px;background:var(--accent);border-radius:1px;transform-origin:center;animation:tabLineIn .18s ease forwards}@keyframes tabLineIn{0%{transform:scaleX(.15);opacity:0}to{transform:scaleX(1);opacity:1}}.view-panel{display:none;flex:1;overflow:hidden}.view-panel.active{display:flex}#view-templates{overflow-y:auto;flex-direction:column}.templates-layout{display:flex;flex-direction:column;padding:20px 24px;gap:16px;min-height:100%}.templates-header-row{flex-shrink:0}.section-title{font-size:16px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.section-desc{font-size:13px;color:var(--text-secondary);margin-bottom:8px}.metrics-disclaimer{font-size:11px;color:var(--text-muted);font-family:var(--font-mono);padding:5px 10px;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-sm);display:inline-block}.templates-loading{color:var(--text-muted);font-size:13px;padding:24px;text-align:center}.templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:14px;align-content:start}.template-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:0;transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition);overflow:hidden;cursor:pointer}.template-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.tcard-header{padding:14px 16px 12px;border-bottom:1px solid var(--border-subtle)}.tcard-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.tcard-name{font-size:15px;font-weight:700;color:var(--text-primary)}.risk-badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:4px;border:1px solid;letter-spacing:.2px;flex-shrink:0}.tcard-tagline{font-size:12px;color:var(--text-secondary);margin-bottom:3px;font-weight:500}.tcard-audience{font-size:11px;color:var(--text-muted);line-height:1.4}.tcard-alloc{padding:10px 16px;border-bottom:1px solid var(--border-subtle)}.alloc-bar{display:flex;height:6px;border-radius:4px;overflow:hidden;gap:1px;margin-bottom:8px}.alloc-bar-seg{height:100%;border-radius:2px;min-width:3px;transition:filter var(--transition)}.alloc-bar-seg:hover{filter:brightness(1.25)}.alloc-chips{display:flex;flex-wrap:wrap;gap:4px}.alloc-chip{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:4px;padding:2px 6px}.alloc-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.alloc-chip-pct{font-family:var(--font-mono);font-weight:600;color:var(--text-primary)}.tcard-metrics{display:grid;grid-template-columns:repeat(4,1fr);padding:10px 16px;gap:6px;border-bottom:1px solid var(--border-subtle);background:var(--bg-elevated)}.metric-item{display:flex;flex-direction:column;gap:3px}.metric-label{font-size:9px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px}.metric-value{font-size:13px;font-weight:700;font-family:var(--font-mono);color:var(--text-primary)}.metric-pos{color:var(--green)}.metric-neg{color:var(--red)}.tcard-personality{padding:10px 16px;border-bottom:1px solid var(--border-subtle)}.ptags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.ptag{font-size:10px;font-weight:500;padding:2px 8px;border-radius:4px;background:var(--accent-bg);color:var(--accent);border:1px solid var(--accent-border);letter-spacing:.1px}.personality-desc{font-size:11px;color:var(--text-secondary);line-height:1.6}.tcard-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 16px}.data-period{font-size:10px;font-family:var(--font-mono);color:var(--text-muted)}.data-period-real{color:var(--green)}.data-period-est{color:var(--text-muted)}.btn-compare-from-card{padding:5px 13px;font-size:11px;font-weight:600;font-family:var(--font-sans);background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background-color .18s ease,box-shadow .18s ease;box-shadow:var(--shadow-sm)}.btn-compare-from-card:hover{background:var(--accent-hover);box-shadow:var(--shadow-md)}#view-compare{overflow:hidden;flex-direction:row}.compare-layout{display:flex;flex:1;overflow:hidden}.compare-sidebar{width:260px;min-width:260px;display:flex;flex-direction:column;gap:12px;padding:14px;border-right:1px solid var(--border-color);background:var(--bg-secondary);overflow-y:auto}.compare-select{width:100%;padding:7px 10px;font-size:12px;font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);outline:none;transition:border-color var(--transition)}.compare-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.panel-ai .panel-indicator-ai{background:var(--accent-hover)}.ai-hint{font-size:11px;color:var(--text-muted);line-height:1.5;margin-bottom:4px}.btn-ai{background:var(--accent-bg);color:var(--accent);border:1px solid var(--accent-border);border-radius:var(--radius-sm);padding:7px 14px;font-size:12px;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:background-color .15s ease,border-color .15s ease;width:100%;box-shadow:var(--shadow-sm)}.btn-ai:hover:not(:disabled){background:var(--accent-dim);border-color:var(--accent)}.btn-ai:disabled{opacity:.4;cursor:not-allowed}.ai-result{margin-top:8px;font-size:11px;color:var(--text-secondary);line-height:1.7;max-height:0;overflow:hidden;transition:max-height .4s ease}.ai-result.ai-result-visible{max-height:400px}.compare-display{flex:1;overflow-y:auto;padding:20px 24px}.compare-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:var(--text-muted)}.compare-empty-icon{font-size:36px;opacity:.25}.compare-empty p{font-size:13px}.compare-loading{padding:24px;text-align:center;font-size:13px;color:var(--text-muted)}.compare-error{padding:32px 24px;text-align:center}.compare-error-icon{font-size:28px;color:var(--amber);margin-bottom:12px}.compare-error p{font-size:13px;color:var(--text-muted);background:var(--amber-dim);border-radius:var(--radius-sm);padding:10px 14px;display:inline-block}.compare-result{display:flex;flex-direction:column;gap:14px}.compare-summary-row{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius);padding:12px 16px}.compare-summary-text{display:flex;align-items:center;gap:8px;margin-bottom:8px}.compare-vs-label{font-size:13px;font-weight:600;color:var(--text-primary)}.compare-vs-sep{font-size:11px;color:var(--text-muted);font-family:var(--font-mono)}.compare-tmpl-label{font-size:13px;font-weight:600;color:var(--text-secondary)}.compare-summary{font-size:12px;color:var(--text-secondary);line-height:1.6}.metrics-tabs{display:flex;gap:8px;margin:16px 0}.metrics-tabs .tab-btn{padding:8px 20px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-secondary);font-size:13px;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease}.metrics-tabs .tab-btn:hover{background:var(--bg-surface-hover);border-color:var(--border-strong)}.metrics-tabs .tab-btn.active{background:var(--bg-elevated);border-color:var(--border-strong);color:var(--text-primary);box-shadow:var(--shadow-sm)}.total-return-note{font-size:12px;color:var(--amber);margin-bottom:16px;padding:8px 12px;background:var(--amber-dim);border-radius:var(--radius-sm)}.compare-charts-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.compare-metrics-row{display:flex;gap:14px}.chart-panel{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius);padding:12px 14px;flex:1}.chart-panel-wide{flex:1}.chart-panel-title{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.chart-canvas-wrap{position:relative}.metrics-note{font-size:10px;color:var(--text-muted);margin-top:8px;font-family:var(--font-mono)}.metrics-data-source.data-period-real{color:var(--green)}.metrics-data-source.data-period-est{color:var(--text-muted)}.metrics-delta-table{width:100%;border-collapse:collapse;font-size:12px;margin-bottom:2px}.metrics-delta-table th{text-align:left;padding:5px 8px;color:var(--text-muted);font-size:10px;text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--border-color)}.metrics-delta-table td{padding:7px 8px;border-bottom:1px solid var(--border-subtle)}.metrics-delta-table tr:last-child td{border-bottom:none}.mdelta-label{font-weight:600;color:var(--text-primary);width:30%}.mdelta-num{font-family:var(--font-mono);font-size:11px;color:var(--text-secondary);width:25%}.mdelta-tmpl{color:var(--text-muted)}.mdelta-diff{font-family:var(--font-mono);font-size:11px;font-weight:700;width:20%}.mdelta-good{color:var(--green)}.mdelta-bad{color:var(--red)}.mdelta-neutral{color:var(--text-muted)}.compare-table-section{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius);padding:12px 14px}.diff-table{width:100%;border-collapse:collapse;font-size:12px}.diff-table th{text-align:left;padding:6px 8px;color:var(--text-muted);font-size:10px;text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--border-color)}.diff-table td{padding:6px 8px;border-bottom:1px solid var(--border-subtle);color:var(--text-secondary)}.diff-table tr:last-child td{border-bottom:none}.diff-cat{font-weight:600;color:var(--text-primary)!important}.diff-num{font-family:var(--font-mono);font-size:11px}.diff-dev{font-family:var(--font-mono);font-weight:700;font-size:11px}.dev-over{color:var(--red)}.dev-under{color:var(--green)}.dev-neutral{color:var(--text-muted)}@media (max-width: 1440px){.compare-charts-row{grid-template-columns:1fr}.templates-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}@media (max-height: 800px){.templates-layout{padding:12px 16px;gap:10px}.compare-display{padding:12px 16px}}@media (max-width: 768px){.app{height:auto;min-height:100vh;max-height:none}.main-content{overflow-y:visible;overflow-x:hidden}.header{padding:0 16px;height:52px;position:sticky;top:0;z-index:100}.header-sub{display:none}.mobile-menu-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:18px;transition:background-color var(--transition),color var(--transition);flex-shrink:0}.mobile-menu-btn:hover{background:var(--bg-surface);color:var(--text-primary)}.view-nav{display:none}.mobile-nav-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:200;opacity:0;pointer-events:none;transition:opacity .2s ease}.mobile-nav-overlay.open{opacity:1;pointer-events:all}.mobile-nav-drawer{position:fixed;top:0;right:0;bottom:0;width:240px;background:var(--bg-secondary);border-left:1px solid var(--border-color);box-shadow:var(--shadow-lg);z-index:201;display:flex;flex-direction:column;padding:16px;gap:4px;transform:translate(100%);transition:transform .25s cubic-bezier(.32,.72,0,1)}.mobile-nav-drawer.open{transform:translate(0)}.mobile-nav-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;margin-bottom:8px;border-bottom:1px solid var(--border-color)}.mobile-nav-title{font-size:13px;font-weight:700;color:var(--text-primary);letter-spacing:.3px}.mobile-nav-close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-size:16px;transition:background-color var(--transition),color var(--transition)}.mobile-nav-close:hover{background:var(--bg-surface);color:var(--text-primary)}.mobile-nav-link{display:flex;align-items:center;padding:10px 12px;font-size:14px;font-weight:500;color:var(--text-secondary);text-decoration:none;border-radius:var(--radius-sm);transition:background-color var(--transition),color var(--transition);min-height:44px}.mobile-nav-link:hover{background:var(--bg-surface);color:var(--text-primary)}.mobile-nav-link.active{background:var(--accent-bg);color:var(--accent);font-weight:600;border:1px solid var(--accent-border)}.portfolio-layout{flex-direction:column;height:auto;overflow:visible}.sidebar{width:100%;min-width:unset;border-right:none;border-bottom:1px solid var(--border-color)}.mobile-panel-tabs{display:flex;gap:0;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);flex-shrink:0}.mobile-panel-tab{flex:1;padding:12px 16px;font-size:13px;font-weight:500;color:var(--text-muted);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color var(--transition),border-color var(--transition);min-height:44px}.mobile-panel-tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.display{overflow:visible;height:auto}.treemap-wrapper{height:360px;flex:none}.compare-layout{flex-direction:column!important;overflow:visible!important;height:auto!important}.compare-sidebar{width:100%!important;min-width:unset!important;border-right:none!important;border-bottom:1px solid var(--border-color)}.compare-display{overflow:visible!important;height:auto!important}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.btn{min-height:44px;padding:10px 16px}.btn-save{min-height:44px}.form-group input,.form-group select{min-height:44px;padding:10px 12px;font-size:14px}.modal-close{width:44px!important;height:44px!important;font-size:20px}.modal{width:calc(100vw - 32px)!important;max-width:none}.btn-edit,.btn-delete{min-height:36px;padding:6px 14px;font-size:12px}.tcard-metrics{grid-template-columns:repeat(2,1fr)!important}.templates-grid{grid-template-columns:1fr!important}.compare-charts-row{grid-template-columns:1fr}.compare-metrics-row{flex-direction:column}}.mobile-menu-btn[data-v-04b48cbb],.mobile-nav-overlay[data-v-04b48cbb],.mobile-nav-drawer[data-v-04b48cbb]{display:none}@media (max-width: 768px){.mobile-menu-btn[data-v-04b48cbb]{display:flex}.mobile-nav-overlay[data-v-04b48cbb],.mobile-nav-drawer[data-v-04b48cbb]{display:flex;flex-direction:column}}
