.install-prompt[data-v-fa7f40a6]{position:fixed;bottom:16px;left:16px;right:16px;max-width:480px;margin:0 auto;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:500;box-shadow:0 -4px 24px #0006}.install-content[data-v-fa7f40a6]{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.install-icon[data-v-fa7f40a6]{font-size:28px;flex-shrink:0}.install-title[data-v-fa7f40a6]{font-size:14px;font-weight:700}.install-sub[data-v-fa7f40a6]{font-size:12px;color:var(--text-secondary);margin-top:2px;line-height:1.4}.install-actions[data-v-fa7f40a6]{display:flex;gap:6px;flex-shrink:0;align-items:center}.ios-share-icon[data-v-fa7f40a6]{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:1px solid var(--border);border-radius:4px;font-size:12px;vertical-align:middle}.ios-steps[data-v-fa7f40a6]{display:flex;flex-direction:column;gap:16px}.ios-step[data-v-fa7f40a6]{display:flex;gap:14px;align-items:flex-start}.ios-step-num[data-v-fa7f40a6]{width:28px;height:28px;border-radius:50%;background:var(--accent-dim);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}.ios-step strong[data-v-fa7f40a6]{font-size:14px;display:block;margin-bottom:2px}.ios-step p[data-v-fa7f40a6]{font-size:13px;color:var(--text-secondary);line-height:1.5}.slide-up-enter-active[data-v-fa7f40a6]{transition:all .3s ease-out}.slide-up-leave-active[data-v-fa7f40a6]{transition:all .2s ease-in}.slide-up-enter-from[data-v-fa7f40a6]{opacity:0;transform:translateY(40px)}.slide-up-leave-to[data-v-fa7f40a6]{opacity:0;transform:translateY(20px)}@media(max-width:640px){.install-prompt[data-v-fa7f40a6]{bottom:12px;left:12px;right:12px}}.tour-overlay[data-v-efc121b4]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px}.tour-modal[data-v-efc121b4]{position:relative;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;width:min(960px,calc(100vw - 48px));box-shadow:0 20px 60px #00000080}.tour-close[data-v-efc121b4]{position:absolute;top:8px;right:8px;z-index:10;width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:#0d1117d9;color:var(--text-muted);font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.tour-close[data-v-efc121b4]:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--accent)}.tour-video-wrap[data-v-efc121b4]{width:100%;position:relative;padding-bottom:56.25%;background:#000;overflow:hidden}.tour-video[data-v-efc121b4]{position:absolute;top:0;left:0;width:100%;height:100%;display:block;object-fit:cover}.tour-footer[data-v-efc121b4]{padding:12px 20px;display:flex;justify-content:center;align-items:center;gap:16px;min-height:52px}.tour-hint[data-v-efc121b4]{font-size:14px;color:var(--text-muted)}.tour-replay[data-v-efc121b4],.tour-done[data-v-efc121b4]{animation:pulse-in-efc121b4 .3s ease}@keyframes pulse-in-efc121b4{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@media(max-width:768px){.tour-overlay[data-v-efc121b4]{padding:12px;align-items:center}.tour-modal[data-v-efc121b4]{width:100%;max-width:100%;border-radius:var(--radius-lg)}.tour-close[data-v-efc121b4]{top:10px;right:10px;width:38px;height:38px;font-size:18px}.tour-footer[data-v-efc121b4]{padding:14px 20px;gap:20px}.tour-footer .btn[data-v-efc121b4]{min-height:48px;font-size:16px;padding:12px 24px}}.fade-enter-active[data-v-efc121b4],.fade-leave-active[data-v-efc121b4]{transition:opacity .25s ease}.fade-enter-active .tour-modal[data-v-efc121b4],.fade-leave-active .tour-modal[data-v-efc121b4]{transition:transform .25s ease}.fade-enter-from[data-v-efc121b4],.fade-leave-to[data-v-efc121b4]{opacity:0}.fade-enter-from .tour-modal[data-v-efc121b4]{transform:translateY(20px) scale(.97)}.fade-leave-to .tour-modal[data-v-efc121b4]{transform:translateY(10px) scale(.98)}.app-layout[data-v-035ab313]{display:flex;height:100vh;overflow:hidden}.sidebar[data-v-035ab313]{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;flex-shrink:0;transition:transform .25s ease;position:relative}.sidebar-logo[data-v-035ab313]{display:flex;align-items:center;gap:10px;padding:20px 16px 16px;border-bottom:1px solid var(--border);text-decoration:none;cursor:pointer;transition:opacity .15s}.sidebar-logo[data-v-035ab313]:hover{opacity:.8}.logo-icon[data-v-035ab313]{color:var(--accent);display:inline-flex;animation:logo-float-035ab313 3s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.logo-icon[data-v-035ab313]{animation:none}.sidebar[data-v-035ab313]{transition:none}}@keyframes logo-float-035ab313{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.logo-text[data-v-035ab313]{font-size:18px;font-weight:700;color:var(--text-primary);flex:1}.sidebar-close[data-v-035ab313]{display:none;align-items:center;justify-content:center;width:44px;height:44px;padding:12px}.sidebar-nav[data-v-035ab313]{display:flex;flex-direction:column;padding:8px;gap:2px}.nav-item[data-v-035ab313]{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius);color:var(--text-secondary);text-decoration:none;font-size:13px;font-weight:500;border:none;background:none;cursor:pointer;transition:all .15s;width:100%;text-align:left}.nav-item[data-v-035ab313]:hover{background:var(--bg-hover);color:var(--text-primary);text-decoration:none}.nav-item.router-link-active[data-v-035ab313]{background:var(--accent-dim);color:var(--accent)}.nav-icon[data-v-035ab313]{width:18px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-section-label[data-v-035ab313]{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);padding:12px 18px 4px}.portfolios-nav[data-v-035ab313]{max-height:none;flex:1}.portfolio-nav-item[data-v-035ab313]{justify-content:flex-start}.portfolio-dot[data-v-035ab313]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.portfolio-nav-name[data-v-035ab313]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portfolio-nav-count[data-v-035ab313]{font-size:11px;background:var(--bg-hover);padding:1px 6px;border-radius:10px;color:var(--text-muted);flex-shrink:0}.add-portfolio-btn[data-v-035ab313]{color:var(--text-muted);font-size:12px}.add-portfolio-btn[data-v-035ab313]:hover{color:var(--accent)}.sidebar-bottom[data-v-035ab313]{padding:8px;border-top:1px solid var(--border);margin-top:auto}.main-wrapper[data-v-035ab313]{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.topbar[data-v-035ab313]{height:var(--header-height);background:var(--bg-secondary);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 20px;gap:12px;flex-shrink:0}@supports (padding-top: env(safe-area-inset-top)){.topbar[data-v-035ab313]{padding-top:env(safe-area-inset-top);min-height:calc(var(--header-height) + env(safe-area-inset-top))}}.topbar-breadcrumb[data-v-035ab313]{flex:1;font-size:15px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.tour-info-btn[data-v-035ab313]{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--text-muted);background:transparent;color:var(--text-muted);font-size:12px;font-weight:700;cursor:pointer;transition:all .15s;flex-shrink:0;line-height:1}.tour-info-btn[data-v-035ab313]:hover{background:var(--accent-dim);color:var(--accent);border-color:var(--accent)}.hamburger[data-v-035ab313]{display:none}.main-content[data-v-035ab313]{flex:1;overflow-y:auto;padding:24px}.app-footer[data-v-035ab313]{display:flex;align-items:center;justify-content:center;gap:8px;padding:24px 0 8px;margin-top:16px}.app-footer-link[data-v-035ab313]{font-size:11px;color:var(--text-muted);text-decoration:none}.app-footer-link[data-v-035ab313]:hover{color:var(--text-secondary);text-decoration:none}.app-footer-dot[data-v-035ab313]{font-size:11px;color:var(--text-muted)}.color-picker-row[data-v-035ab313]{display:flex;gap:8px;flex-wrap:wrap}.color-swatch[data-v-035ab313]{width:28px;height:28px;border-radius:50%;border:3px solid transparent;cursor:pointer;transition:transform .15s}.color-swatch[data-v-035ab313]:hover{transform:scale(1.15)}.color-swatch.active[data-v-035ab313]{border-color:#fff;transform:scale(1.1)}@media(max-width:768px){.sidebar[data-v-035ab313]{position:fixed;left:0;top:0;bottom:0;z-index:200;transform:translate(-100%);width:260px;min-width:260px}.sidebar.open[data-v-035ab313]{transform:translate(0)}.sidebar-close[data-v-035ab313],.hamburger[data-v-035ab313]{display:flex}.main-content[data-v-035ab313]{padding:16px}}@supports (padding-top: env(safe-area-inset-top)){.sidebar-logo[data-v-035ab313]{padding-top:env(safe-area-inset-top)}.main-content[data-v-035ab313]{padding-bottom:env(safe-area-inset-bottom,0)}}:root{--bg-primary: #0d1117;--bg-secondary: #161b22;--bg-card: #21262d;--bg-hover: #2d333b;--border: #30363d;--border-subtle: #21262d;--text-primary: #e6edf3;--text-secondary: #8b949e;--text-muted: #484f58;--accent: #f5a623;--accent-dim: rgba(245, 166, 35, .12);--accent-hover: #f5b842;--success: #3fb950;--success-dim: rgba(63, 185, 80, .12);--danger: #f85149;--danger-dim: rgba(248, 81, 73, .12);--info: #58a6ff;--info-dim: rgba(88, 166, 255, .12);--purple: #bc8cff;--sidebar-width: 240px;--header-height: 60px;--radius: 8px;--radius-lg: 12px;--shadow: 0 4px 20px rgba(0,0,0,.4)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif;background:var(--bg-primary);color:var(--text-primary);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;touch-action:manipulation;overscroll-behavior:none}img,button,a,.card-result,.set-card,.card-img-wrap,.set-logo-wrap,.card-detail-panel,.bottom-sheet,.card-overlay,.card-img-placeholder{-webkit-user-drag:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:var(--radius);font-size:13px;font-weight:500;border:1px solid transparent;cursor:pointer;transition:all .15s;white-space:nowrap;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#0d1117;border-color:var(--accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border-color:var(--border)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover)}.btn-danger{background:var(--danger-dim);color:var(--danger);border-color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger);color:#fff}.btn-ghost{background:transparent;color:var(--text-secondary);border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.btn-sm{padding:4px 10px;font-size:12px}.btn-lg{padding:10px 20px;font-size:15px}.btn-icon{padding:7px;min-width:32px;justify-content:center}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px}.card-sm{padding:14px}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge-success{background:var(--success-dim);color:var(--success)}.badge-danger{background:var(--danger-dim);color:var(--danger)}.badge-accent{background:var(--accent-dim);color:var(--accent)}.badge-info{background:var(--info-dim);color:var(--info)}.input,.select,.textarea{width:100%;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-size:13px;padding:8px 12px;outline:none;transition:border-color .15s;font-family:inherit}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent)}.input::placeholder{color:var(--text-muted)}.select option{background:var(--bg-card)}.textarea{resize:vertical;min-height:80px}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.form-label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:560px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0;margin-bottom:20px}.modal-header h3{font-size:16px;font-weight:600}.modal-body{padding:0 24px}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:20px 24px;border-top:1px solid var(--border);margin-top:20px}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.text-accent{color:var(--accent)}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.items-center{align-items:center}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mb-4{margin-bottom:16px}.w-full{width:100%}.text-right{text-align:right}.text-center{text-align:center}.font-bold{font-weight:700}.font-mono{font-family:SF Mono,Fira Code,monospace}.spinner{width:24px;height:24px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite}.spinner-sm{width:16px;height:16px}.spinner-lg{width:40px;height:40px;border-width:3px}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;gap:12px}.empty-state .icon{font-size:48px;opacity:.3}.empty-state h3{font-size:18px;color:var(--text-secondary)}.empty-state p{font-size:13px;color:var(--text-muted);max-width:300px}.divider{border:none;border-top:1px solid var(--border);margin:16px 0}.fade-enter-active,.fade-leave-active{transition:opacity .2s}.fade-enter-from,.fade-leave-to{opacity:0}.slide-up-enter-active{transition:all .25s ease-out}.slide-up-leave-active{transition:all .2s ease-in}.slide-up-enter-from{opacity:0;transform:translateY(20px)}.slide-up-leave-to{opacity:0;transform:translateY(-10px)}[data-tooltip]{position:relative;cursor:default}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--bg-hover);color:var(--text-primary);font-size:11px;padding:4px 8px;border-radius:4px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s;z-index:100;border:1px solid var(--border)}[data-tooltip]:hover:after{opacity:1}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-title{font-size:16px;font-weight:600}.section-subtitle{font-size:12px;color:var(--text-muted);margin-top:2px}.stat-tile{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 20px}.stat-tile .label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:6px}.stat-tile .value{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums}.stat-tile .sub{font-size:12px;color:var(--text-secondary);margin-top:4px}.table{width:100%;border-collapse:collapse}.table th{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding:10px 12px;text-align:left;border-bottom:1px solid var(--border)}.table td{padding:12px;border-bottom:1px solid var(--border-subtle);vertical-align:middle}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--bg-hover)}.table .actions{opacity:0;transition:opacity .15s}.table tr:hover .actions{opacity:1}@media(max-width:768px){:root{--sidebar-width: 0px}.grid-3,.grid-4,.form-row-3{grid-template-columns:1fr 1fr}.btn{min-height:36px}}@media(max-width:640px){:root{--header-height: 52px}.stat-tile .value{font-size:20px}.section-title{font-size:15px}.form-row,.form-row-3,.grid-2,.grid-3{grid-template-columns:1fr}.grid-4{grid-template-columns:1fr 1fr}.modal-overlay{padding:12px;align-items:flex-end}.modal{max-height:95vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.card{padding:14px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.table{min-width:560px}.btn{min-height:40px}.btn-sm{min-height:36px}.input,.select,.textarea{font-size:16px}}@media(max-width:480px){.stat-tile .value{font-size:18px}.stat-tile{padding:12px 14px}}
