:root{--bg-primary:#0a0e17;--bg-secondary:#111827;--bg-card:#131a2b;--bg-card-hover:#1a2340;--bg-input:#0d1322;--border:#1e2d4a;--border-light:#2a3d5c;--text:#e8edf5;--text-secondary:#8899b0;--text-dim:#5a6b85;--text-link:#4d9eff;--up:#e74c3c;--up-bg:#e74c3c1f;--down:#2ecc71;--down-bg:#2ecc711f;--flat:#8899b0;--accent:#4d9eff;--accent-hover:#3a7be0;--gold:#f0b429;--gold-bg:#f0b4291f;--sidebar-w:220px;--header-h:48px;--radius:8px;--radius-sm:4px;--radius-lg:12px;--shadow:0 1px 3px #0000004d;--shadow-lg:0 4px 16px #0006}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-primary);color:var(--text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.6}a{color:var(--text-link);text-decoration:none}a:hover{opacity:.85}.market-bar{height:var(--header-h);background:var(--bg-secondary);border-bottom:1px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-overflow-scrolling:touch;scrollbar-width:none;align-items:center;gap:28px;padding:0 20px;display:flex;overflow:auto hidden}.market-bar::-webkit-scrollbar{display:none}.market-item{cursor:pointer;border-radius:var(--radius-sm);align-items:center;gap:8px;padding:4px 8px;font-size:13px;transition:background .15s;display:flex}.market-item:hover{background:var(--bg-card)}.market-item .name{color:var(--text-dim);font-weight:500}.market-item .price{font-variant-numeric:tabular-nums;font-weight:600}.market-item .change{font-variant-numeric:tabular-nums;font-size:12px;font-weight:500}.market-item .up{color:var(--up)}.market-item .down{color:var(--down)}.market-item .flat{color:var(--flat)}.market-divider{background:var(--border);flex-shrink:0;width:1px;height:20px}.market-time{color:var(--text-dim);margin-left:auto;font-size:12px}.layout{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);background:var(--bg-secondary);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-logo{border-bottom:1px solid var(--border);align-items:center;gap:10px;margin-bottom:8px;padding:16px 16px 20px;display:flex}.sidebar-logo img{border-radius:6px;width:32px;height:32px}.sidebar-logo .logo-text{flex-direction:column;display:flex}.sidebar-logo .logo-text .title{color:var(--text);font-size:15px;font-weight:700;line-height:1.2}.sidebar-logo .logo-text .subtitle{color:var(--text-dim);letter-spacing:2px;font-size:10px}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:0 8px;display:flex}.sidebar-nav a{color:var(--text-secondary);border-radius:6px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.sidebar-nav a:hover{background:var(--bg-card);color:var(--text)}.sidebar-nav a.active{background:var(--up-bg);color:var(--up);font-weight:600}.sidebar-nav a .nav-icon{text-align:center;width:20px;font-size:15px}.sidebar-footer{border-top:1px solid var(--border);color:var(--text-dim);text-align:center;padding:12px 16px;font-size:11px}.content-area{flex-direction:column;flex:1;min-width:0;display:flex}.main-content{flex:1;width:100%;max-width:1200px;padding:24px 32px}.bottom-nav{background:var(--bg-secondary);border-top:1px solid var(--border);z-index:1000;padding:4px 0 env(safe-area-inset-bottom,4px) 0;justify-content:space-around;display:none;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{color:var(--text-dim);flex-direction:column;flex:1;align-items:center;gap:1px;min-width:0;padding:6px 4px;font-size:10px;text-decoration:none;transition:color .15s;display:flex}.bottom-nav a .nav-icon{font-size:18px;line-height:1}.bottom-nav a.active{color:var(--accent)}.bottom-nav a span:last-child{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}@media (width<=1024px){.main-content{padding:20px}.market-dashboard,.home-stats-grid,.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.sidebar{display:none}.bottom-nav{display:flex}.layout{padding-bottom:56px}.main-content{padding:16px 12px}.market-bar{gap:12px;height:40px;padding:0 12px;font-size:12px}.market-item{gap:4px;padding:2px 4px;font-size:12px}.market-time{font-size:10px}.market-dashboard{grid-template-columns:repeat(2,1fr);gap:8px}.mkt-card{padding:12px}.mkt-card .mkt-price{font-size:18px}.home-stats-grid{grid-template-columns:repeat(2,1fr);gap:8px}.home-stat-card{padding:14px}.home-stat-card .stat-num{font-size:26px}.home-profile{text-align:center;flex-direction:column;gap:12px;padding:16px}.home-profile img{width:48px;height:48px}.home-profile .profile-info h2{font-size:18px}.page-title{margin-bottom:14px;font-size:17px}.review-card{padding:12px 14px}.review-card .review-header{flex-wrap:wrap;gap:6px}.review-card .review-title{order:-1;width:100%;margin-bottom:2px;font-size:14px}.review-card .review-content{font-size:13px}.review-form{padding:14px}.form-row{flex-direction:column;gap:8px}.data-table-wrap{-webkit-overflow-scrolling:touch}.data-table{min-width:800px;font-size:12px}.data-table th,.data-table td{padding:8px 10px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:8px}.stat-card{padding:12px 14px}.stat-card .stat-value{font-size:20px}.chat-container{height:calc(100vh - var(--header-h) - 160px)}.chat-msg .bubble{max-width:88%;padding:10px 14px;font-size:13px}.chat-messages{padding:10px}.import-area{padding:16px}.watcher-bar{flex-direction:column;align-items:flex-start;gap:8px;padding:12px 14px}.btn{padding:6px 14px;font-size:12px}.flex-between{flex-direction:column;align-items:flex-start;gap:8px}}@media (width<=400px){.market-dashboard{grid-template-columns:repeat(2,1fr);gap:6px}.mkt-card{padding:10px}.mkt-card .mkt-price{font-size:16px}.mkt-card .mkt-name{font-size:10px}.home-stats-grid,.stats-grid{grid-template-columns:1fr 1fr}.bottom-nav a{font-size:9px}.bottom-nav a .nav-icon{font-size:16px}}.page-title{align-items:center;gap:8px;margin-bottom:20px;font-size:20px;font-weight:700;display:flex}.page-title .badge{color:var(--text-dim);background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:2px 10px;font-size:12px;font-weight:400}.mkt-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;transition:border-color .2s}.mkt-card:hover{border-color:var(--border-light)}.mkt-card .mkt-name{color:var(--text-dim);margin-bottom:4px;font-size:12px}.mkt-card .mkt-price{margin-bottom:2px;font-size:22px;font-weight:700}.mkt-card .mkt-price.up{color:var(--up)}.mkt-card .mkt-price.down{color:var(--down)}.mkt-card .mkt-change{font-size:13px;font-weight:500}.mkt-card .mkt-change.up{color:var(--up)}.mkt-card .mkt-change.down{color:var(--down)}.home-stats-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px;display:grid}.home-stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);text-align:center;padding:20px;transition:border-color .2s}.home-stat-card:hover{border-color:var(--border-light)}.home-stat-card .stat-num{color:var(--accent);font-size:32px;font-weight:700;line-height:1.2}.home-stat-card .stat-label{color:var(--text-dim);margin-top:4px;font-size:12px}.home-stat-card .stat-icon{margin-bottom:8px;font-size:24px}.home-profile{background:linear-gradient(135deg, var(--bg-card) 0%, #0d1a30 100%);border:1px solid var(--border);border-radius:var(--radius-lg);align-items:center;gap:24px;margin-bottom:24px;padding:24px 28px;display:flex}.home-profile img{border:2px solid var(--border);border-radius:12px;width:64px;height:64px}.home-profile .profile-info h2{margin-bottom:4px;font-size:22px;font-weight:700}.home-profile .profile-info p{color:var(--text-dim);font-size:13px}.home-profile .home-cta{margin-top:10px}.home-profile .cta-weibo{color:#0a0e17;background:linear-gradient(135deg,#f0b429,#e8962e);border-radius:20px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:700;text-decoration:none;transition:opacity .15s;display:inline-flex}.home-profile .cta-weibo:hover{opacity:.85}.review-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;margin-bottom:10px;padding:16px 20px;transition:all .15s}.review-card:hover{border-color:var(--border-light);background:var(--bg-card-hover)}.review-card .review-header{align-items:center;gap:12px;display:flex}.review-card .review-date{color:var(--text-dim);white-space:nowrap;font-size:12px}.review-card .review-title{flex:1;font-size:15px;font-weight:600}.review-card .review-mood{white-space:nowrap;border-radius:10px;padding:2px 10px;font-size:11px;font-weight:500}.review-card .review-mood.mood-开心{background:var(--up-bg);color:var(--up)}.review-card .review-mood.mood-焦虑{color:#f87171;background:#e74c3c26}.review-card .review-mood.mood-平静{background:var(--down-bg);color:var(--down)}.review-card .review-mood.mood-后悔{background:var(--gold-bg);color:var(--gold)}.review-card .review-mood.mood-中性{color:var(--flat);background:#8899b01f}.review-card .review-content{color:var(--text-secondary);white-space:pre-wrap;border-top:1px solid var(--border);margin-top:12px;padding-top:12px;font-size:14px;line-height:1.8}.review-card .review-actions{gap:8px;margin-top:12px;display:flex}.review-form{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:20px;padding:20px}.form-row{gap:12px;margin-bottom:12px;display:flex}.form-row input,.form-row select{flex:1}.review-form input,.review-form textarea,.review-form select{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:10px 12px;font-family:inherit;font-size:13px;transition:border-color .15s}.review-form input:focus,.review-form textarea:focus,.review-form select:focus{border-color:var(--accent);outline:none}.review-form textarea{resize:vertical;width:100%;min-height:200px;margin-bottom:12px;font-family:Courier New,monospace}.btn{border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;gap:6px;padding:8px 18px;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-danger{background:var(--up);color:#fff}.btn-danger:hover:not(:disabled){background:#c0392b}.btn-success{background:var(--down);color:#fff}.btn-success:hover:not(:disabled){background:#27ae60}.btn-outline{border:1px solid var(--border);color:var(--text-secondary);background:0 0}.btn-outline:hover:not(:disabled){border-color:var(--border-light);color:var(--text);background:var(--bg-card)}.btn-sm{padding:5px 12px;font-size:12px}.data-table-wrap{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);-webkit-overflow-scrolling:touch;overscroll-behavior-x:none;overflow-x:auto}.data-table-wrap::-webkit-scrollbar{height:6px}.data-table-wrap::-webkit-scrollbar-track{background:var(--bg-primary);border-radius:3px}.data-table-wrap::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}.data-table{border-collapse:collapse;width:100%;min-width:700px;font-size:13px}@media (width<=768px){.data-table{min-width:800px}}.data-table thead{background:var(--bg-secondary)}.data-table th{text-align:left;color:var(--text-dim);text-transform:none;border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 14px;font-size:12px;font-weight:600}.data-table td{border-bottom:1px solid var(--border);color:var(--text);padding:10px 14px}.data-table tbody tr{transition:background .1s}.data-table tbody tr:hover{background:var(--bg-card-hover)}.data-table tbody tr:last-child td{border-bottom:none}.data-table .num{font-variant-numeric:tabular-nums;text-align:right}.data-table .center{text-align:center}.up-color{color:var(--up)}.down-color{color:var(--down)}.flat-color{color:var(--flat)}.up-bg{background:var(--up-bg)}.down-bg{background:var(--down-bg)}.type-buy{color:var(--up);font-weight:600}.type-sell{color:var(--down);font-weight:600}.pagination{border-top:1px solid var(--border);justify-content:center;align-items:center;gap:8px;padding:16px;display:flex}.pagination .page-info{color:var(--text-dim);padding:0 8px;font-size:12px}.import-area{background:var(--bg-card);border:2px dashed var(--border);border-radius:var(--radius);text-align:center;margin-bottom:20px;padding:24px;transition:border-color .2s}.import-area:hover{border-color:var(--accent)}.import-area .import-icon{margin-bottom:8px;font-size:28px}.import-area .import-text{color:var(--text-dim);margin-bottom:12px;font-size:13px}.import-input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;min-height:100px;color:var(--text);resize:vertical;margin-bottom:12px;padding:10px;font-family:Courier New,monospace;font-size:12px}.import-input:focus{border-color:var(--accent);outline:none}.chat-container{height:calc(100vh - var(--header-h) - 120px);flex-direction:column;min-height:400px;display:flex}.chat-messages{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);flex:1;margin-bottom:12px;padding:16px;overflow-y:auto}.chat-msg{margin-bottom:16px;display:flex}.chat-msg.user{justify-content:flex-end}.chat-msg.ai{justify-content:flex-start}.chat-msg .bubble{border-radius:var(--radius);white-space:pre-wrap;max-width:75%;padding:12px 16px;font-size:14px;line-height:1.7}.chat-msg.user .bubble{background:var(--up-bg);color:var(--text);border:1px solid #e74c3c33;border-bottom-right-radius:4px}.chat-msg.ai .bubble{background:var(--bg-input);border:1px solid var(--border);color:var(--text-secondary);border-bottom-left-radius:4px}.chat-msg.ai .bubble h1,.chat-msg.ai .bubble h2,.chat-msg.ai .bubble h3{color:var(--text);margin:8px 0 4px;font-size:14px;font-weight:700}.chat-msg.ai .bubble h1{font-size:15px}.chat-msg.ai .bubble p{margin:4px 0}.chat-msg.ai .bubble ul,.chat-msg.ai .bubble ol{margin:4px 0;padding-left:20px}.chat-msg.ai .bubble li{margin:2px 0}.chat-msg.ai .bubble strong{color:var(--text)}.chat-msg.ai .bubble code{background:var(--bg-primary);border:1px solid var(--border);border-radius:3px;padding:1px 5px;font-size:12px}.chat-msg.system .bubble{background:var(--gold-bg);color:var(--gold);text-align:center;border:1px solid #f0b42933;max-width:100%}.chat-input-row{gap:8px;display:flex}.chat-input-row input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);flex:1;padding:10px 14px;font-family:inherit;font-size:14px}.chat-input-row input:focus{border-color:var(--accent);outline:none}.chat-loading{text-align:center;color:var(--text-dim);padding:12px;font-size:13px}.stats-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px;transition:border-color .2s}.stat-card:hover{border-color:var(--border-light)}.stat-card .stat-value{font-size:24px;font-weight:700;line-height:1.2}.stat-card .stat-label{color:var(--text-dim);margin-top:2px;font-size:12px}.section-title{border-bottom:1px solid var(--border);color:var(--text-secondary);margin-top:24px;margin-bottom:12px;padding-bottom:8px;font-size:15px;font-weight:600}.watcher-bar{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);justify-content:space-between;align-items:center;margin-bottom:20px;padding:14px 20px;display:flex}.watcher-bar .status-info{align-items:center;gap:12px;display:flex}.watcher-bar .status-dot{border-radius:50%;width:8px;height:8px}.watcher-bar .status-dot.running{background:var(--down);box-shadow:0 0 8px #2ecc7180}.watcher-bar .status-dot.stopped{background:var(--text-dim)}.flex-between{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.flex-center{align-items:center;gap:8px;display:flex}.mr-8{margin-right:8px}.mt-12{margin-top:12px}.mb-12{margin-bottom:12px}.ml-auto{margin-left:auto}.tag{border-radius:10px;align-items:center;padding:2px 10px;font-size:11px;font-weight:500;display:inline-flex}.tag-up{background:var(--up-bg);color:var(--up)}.tag-down{background:var(--down-bg);color:var(--down)}.ai-page{height:calc(100vh - var(--header-h) - 48px);flex-direction:column;min-height:500px;display:flex}.ai-header{flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.ai-header-actions{gap:8px;display:flex}.ai-header-actions .btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.ai-layout{flex:1;gap:12px;min-height:0;display:flex}.ai-context-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;flex-shrink:0;gap:8px;width:260px;padding:12px;display:flex;overflow-y:auto}.ai-panel-section{margin-bottom:4px}.ai-panel-title{color:var(--text-dim);border-bottom:1px solid var(--border);margin-bottom:8px;padding-bottom:4px;font-size:12px;font-weight:600}.ai-panel-row{border-radius:4px;align-items:center;gap:6px;padding:4px 6px;font-size:12px;transition:background .1s;display:flex}.ai-panel-row:hover{background:var(--bg-card-hover)}.ai-panel-label{white-space:nowrap;text-overflow:ellipsis;color:var(--text-secondary);flex:1;font-weight:500;overflow:hidden}.ai-panel-code{color:var(--text-dim);margin-left:4px;font-size:10px;font-weight:400}.ai-panel-value{font-variant-numeric:tabular-nums;text-align:right;min-width:60px;font-weight:600}.ai-panel-change{font-variant-numeric:tabular-nums;text-align:right;min-width:70px;font-size:11px;font-weight:500}.ai-preset-btn{text-align:left;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-secondary);cursor:pointer;margin-bottom:4px;padding:7px 10px;font-family:inherit;font-size:12px;transition:all .12s;display:block}.ai-preset-btn:hover{border-color:var(--accent);color:var(--text);background:var(--bg-card-hover)}.ai-preset-btn.active{border-color:var(--accent);color:var(--accent);background:#4d9eff1a}.ai-layout .chat-container{flex-direction:column;flex:1;min-width:0;display:flex}.chat-welcome{text-align:center;max-width:480px;margin:20px auto;padding:40px 20px}.chat-welcome-icon{margin-bottom:16px;font-size:48px}.chat-welcome h3{color:var(--text);margin-bottom:8px;font-size:18px;font-weight:700}.chat-welcome p{color:var(--text-dim);margin-bottom:24px;font-size:13px;line-height:1.8}.chat-welcome-presets{flex-direction:column;align-items:center;gap:8px;display:flex}.chat-welcome-presets .btn{text-align:center;width:280px;padding:10px 16px}.chat-msg{align-items:flex-start;gap:10px;margin-bottom:20px;display:flex}.chat-avatar{background:var(--bg-card);border:1px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;display:flex}.chat-msg .bubble{border-radius:var(--radius);white-space:pre-wrap;word-break:break-word;max-width:calc(100% - 50px);padding:12px 16px;font-size:14px;line-height:1.7}.chat-msg.user .bubble{background:var(--up-bg);color:var(--text);border:1px solid #e74c3c33}.chat-msg.assistant .bubble{background:var(--bg-input);border:1px solid var(--border);color:var(--text-secondary)}.chat-msg.assistant .bubble h1,.chat-msg.assistant .bubble h2,.chat-msg.assistant .bubble h3{color:var(--text);margin:12px 0 6px;font-size:14px;font-weight:700}.chat-msg.assistant .bubble h1{font-size:15px}.chat-msg.assistant .bubble h2{border-bottom:1px solid var(--border);padding-bottom:4px}.chat-msg.assistant .bubble p{margin:6px 0}.chat-msg.assistant .bubble ul,.chat-msg.assistant .bubble ol{margin:6px 0;padding-left:20px}.chat-msg.assistant .bubble li{margin:3px 0}.chat-msg.assistant .bubble strong{color:var(--text)}.chat-msg.assistant .bubble code{background:var(--bg-primary);border:1px solid var(--border);border-radius:3px;padding:1px 5px;font-size:12px}.chat-msg.assistant .bubble pre{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);margin:8px 0;padding:12px;overflow-x:auto}.chat-msg.assistant .bubble pre code{background:0 0;border:none;padding:0;font-size:12px}.chat-msg.assistant .bubble table{border-collapse:collapse;width:100%;margin:8px 0;font-size:12px}.chat-msg.assistant .bubble th,.chat-msg.assistant .bubble td{border:1px solid var(--border);text-align:left;padding:4px 10px}.chat-msg.assistant .bubble th{background:var(--bg-secondary);color:var(--text-dim);font-weight:600}.chat-msg.assistant .bubble blockquote{border-left:3px solid var(--accent);color:var(--text-dim);margin:8px 0;padding-left:12px}.chat-typing{align-items:center;gap:2px;display:inline-flex}.chat-dot{color:var(--text-dim);font-size:24px;line-height:1;animation:1.4s infinite both chatBlink}.chat-dot:nth-child(2){animation-delay:.2s}.chat-dot:nth-child(3){animation-delay:.4s}@keyframes chatBlink{0%,80%,to{opacity:.2}40%{opacity:1}}.nav-group{flex-direction:column;display:flex}.nav-group-header{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.nav-group-header:hover{background:var(--bg-card);color:var(--text)}.nav-group-header.active{background:var(--up-bg);color:var(--up);font-weight:600}.nav-arrow{color:var(--text-dim);margin-left:auto;font-size:9px;transition:transform .2s}.nav-arrow.expanded{transform:rotate(90deg)}.nav-children{flex-direction:column;gap:1px;margin-bottom:4px;padding-left:24px;display:flex}.nav-children a{color:var(--text-dim);border-radius:6px;align-items:center;gap:8px;padding:7px 12px;font-size:12px;font-weight:400;text-decoration:none;transition:all .15s;display:flex}.nav-children a:hover{background:var(--bg-card);color:var(--text-secondary)}.nav-children a.active{color:var(--accent);background:#4d9eff14;font-weight:500}.quote-card{background:linear-gradient(135deg, var(--bg-card) 0%, #0d1a30 100%);border:1px solid var(--gold);border-radius:var(--radius-lg);text-align:center;margin-bottom:20px;padding:24px 28px}.quote-card .quote-text{color:var(--gold);margin-bottom:8px;font-size:18px;font-weight:600;line-height:1.6}.quote-card .quote-author{color:var(--text-dim);font-size:13px;font-style:italic}.guide-toggle-row{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.guide-toggle-btn{border:2px solid var(--border);background:var(--bg-input);color:var(--text-secondary);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:10px 20px;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.guide-toggle-btn:hover{border-color:var(--border-light);color:var(--text)}.guide-toggle-btn.active{border-color:var(--accent);color:var(--accent);background:#4d9eff1a}.guide-toggle-btn .guide-badge{background:var(--bg-card);color:var(--text-dim);border-radius:8px;padding:1px 6px;font-size:10px}.guide-toggle-btn.active .guide-badge{background:var(--accent);color:#fff}.mark-row{gap:8px;margin:8px 0;display:flex}.mark-btn{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:12px;padding:4px 14px;font-family:inherit;font-size:12px;transition:all .12s}.mark-btn:hover{border-color:var(--border-light)}.mark-btn.mark-right{border-color:var(--down);color:var(--down);background:var(--down-bg)}.mark-btn.mark-wrong{border-color:var(--up);color:var(--up);background:var(--up-bg)}.analysis-result{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);white-space:pre-wrap;color:var(--text-secondary);margin-top:16px;padding:20px;font-size:14px;line-height:1.8}.status-tag{border-radius:10px;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:500;display:inline-flex}.status-tag.has-data{background:var(--down-bg);color:var(--down)}.status-tag.no-data{color:var(--flat);background:#8899b01f}@media (width<=768px){.guide-toggle-row{flex-direction:column}.guide-toggle-btn{justify-content:center;width:100%}.quote-card .quote-text{font-size:15px}}@media (width<=1024px){.ai-layout{flex-direction:column}.ai-context-panel{flex-flow:wrap;gap:4px;width:100%;max-height:200px;padding:8px;overflow-x:auto}.ai-panel-section{flex:1;min-width:200px}.ai-page{height:calc(100vh - var(--header-h) - 56px)}}.home{max-width:900px;margin:0 auto}.home-hero{border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(135deg,#0f1a2e 0%,#1a2a45 100%);margin-bottom:24px;padding:28px 32px}.hero-brand{align-items:center;gap:14px;margin-bottom:12px;display:flex}.hero-logo{background:linear-gradient(135deg,#4d9eff,#7c3aed);border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;font-size:26px;display:flex}.hero-title{color:var(--text);font-size:22px;font-weight:800;line-height:1.2}.hero-subtitle{color:var(--text-dim);letter-spacing:1px;margin-top:2px;font-size:12px}.hero-desc{color:var(--text-secondary);margin-bottom:16px;font-size:13px;line-height:1.7}.hero-cta{margin-bottom:8px}.cta-weibo{background:#ff6b001f;border:1px solid #ff6b004d;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:13px;transition:all .2s;display:inline-flex;color:#ff8c42!important}.cta-weibo:hover{background:#ff6b0033;border-color:#ff6b0080}.cta-hint{opacity:.7;margin-left:4px;font-size:11px}.hero-quote{background:var(--bg-card);border-left:3px solid var(--gold);color:var(--text-secondary);border-radius:4px;margin-top:12px;padding:10px 16px;font-size:13px;font-style:italic;line-height:1.6}.section-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.section-title{color:var(--text);font-size:15px;font-weight:700}.section-more{color:var(--text-link);cursor:pointer;font-size:12px}.section-more:hover{opacity:.8}.home-performance{margin-bottom:24px}.perf-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.perf-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:16px 18px;transition:all .15s}.perf-card:hover{background:var(--bg-card-hover);border-color:var(--border-light)}.perf-card-main{border-color:var(--border-light);background:linear-gradient(135deg,#131a2b,#1a2340);grid-column:1/-1}.perf-label{color:var(--text-dim);margin-bottom:6px;font-size:12px;font-weight:500}.perf-value{font-variant-numeric:tabular-nums;margin-bottom:4px;font-size:28px;font-weight:800;line-height:1.1}.perf-value.up{color:var(--up)}.perf-value.down{color:var(--down)}.perf-sub{color:var(--text-secondary);font-size:11px}.home-review-preview{cursor:pointer;margin-bottom:24px}.review-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px;transition:all .15s}.review-card:hover{background:var(--bg-card-hover);border-color:var(--border-light)}.review-card-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.review-card-title{color:var(--text);font-size:14px;font-weight:700}.review-card-date{color:var(--text-dim);font-size:11px}.review-card-body{color:var(--text-secondary);white-space:pre-wrap;font-size:13px;line-height:1.7}.quick-grid{grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:24px;display:grid}.quick-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;flex-direction:column;align-items:center;gap:8px;padding:20px 12px;transition:all .15s;display:flex}.quick-card:hover{background:var(--bg-card-hover);border-color:var(--border-light);transform:translateY(-1px)}.quick-icon{font-size:24px;line-height:1}.quick-label{color:var(--text-secondary);text-align:center;font-size:12px;font-weight:500}.market-dashboard{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:24px;display:grid}.mkt-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);text-align:center;padding:16px}.mkt-card.loading{opacity:.5}.mkt-name{color:var(--text-dim);margin-bottom:6px;font-size:12px;font-weight:500}.mkt-price{font-variant-numeric:tabular-nums;margin-bottom:4px;font-size:22px;font-weight:700}.mkt-up{color:var(--up)}.mkt-down{color:var(--down)}.mkt-flat{color:var(--flat)}.mkt-change{font-size:12px;font-weight:500}@media (width<=768px){.home-hero{padding:20px}.hero-title{font-size:19px}.hero-logo{width:40px;height:40px;font-size:22px}.perf-grid{grid-template-columns:1fr 1fr;gap:6px}.perf-card{padding:12px 14px}.perf-value{font-size:22px}.quick-grid{grid-template-columns:repeat(3,1fr);gap:6px}.quick-card{padding:14px 8px}.quick-icon{font-size:20px}.market-dashboard{gap:6px}.mkt-card{padding:12px}.mkt-price{font-size:18px}}.chart-area{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;overflow:hidden}.tech-bubble{flex-wrap:wrap;gap:3px;margin-top:4px;display:flex}.tech-tag{white-space:nowrap;border-radius:3px;padding:1px 6px;font-size:10px;font-weight:600;line-height:1.5;display:inline-block}.tech-bull{color:#e74c3c;background:#e74c3c26}.tech-bear{color:#2ecc71;background:#2ecc7126}.tech-neutral{color:#8899b0;background:#8999b026}.tech-overbought{color:#ff6b6b;background:#e74c3c33}.tech-oversold{color:#2ecc71;background:#2ecc7133}@media (width<=768px){.chart-area{padding:10px}}.watch-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:all .15s;overflow:hidden}.watch-card:hover{border-color:var(--border-light)}.watch-card-header{cursor:pointer;justify-content:space-between;align-items:center;padding:14px 18px;transition:background .1s;display:flex}.watch-card-header:hover{background:var(--bg-card-hover)}.watch-name-row{align-items:center;gap:10px;display:flex}.watch-star{font-size:16px}.watch-name{color:var(--text);font-size:14px}.watch-code{color:var(--text-dim);font-size:12px}.watch-actions{align-items:center;gap:8px;display:flex}.expand-arrow{color:var(--text-dim);margin-left:4px;font-size:10px;transition:transform .15s}.watch-meta{flex-wrap:wrap;align-items:center;gap:6px;margin-top:3px;display:flex}.watch-price{color:var(--text);font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.watch-sector{color:var(--text-dim);background:var(--bg-primary);border:1px solid var(--border);border-radius:3px;padding:1px 6px;font-size:10px}.watch-pct{font-size:11px;font-weight:600}.watch-periods{flex-wrap:wrap;gap:4px;display:flex}.watch-pct-tag{white-space:nowrap;border-radius:3px;padding:1px 5px;font-size:10px;font-weight:600;line-height:1.5;display:inline-block}.watch-pct-tag.up{color:#e74c3c;background:#e74c3c1f}.watch-pct-tag.down{color:#2ecc71;background:#2ecc711f}.watch-detail{border-top:1px solid var(--border);padding:16px 18px;animation:.15s fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.watch-detail-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.watch-detail-item{background:var(--bg-primary);border-radius:6px;padding:12px}.wd-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;font-size:11px;font-weight:700}.wd-value{color:var(--text-secondary);font-size:12px;line-height:1.7}.wd-num{color:var(--text);font-weight:600}.wd-tag{border-radius:4px;padding:2px 10px;font-size:13px;font-weight:700;display:inline-block}.wd-bull{color:#e74c3c;background:#e74c3c26}.wd-bear{color:#2ecc71;background:#2ecc7126}.wd-neutral{color:#8899b0;background:#8999b026}.wd-danger{color:#ff6b6b;background:#e74c3c33}.wd-success{color:#2ecc71;background:#2ecc7133}@media (width<=768px){.watch-detail-grid{grid-template-columns:repeat(2,1fr);gap:8px}.watch-card-header,.watch-detail{padding:12px 14px}.watch-detail-item{padding:10px}}.search-bar{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:8px;padding:8px 14px;transition:border-color .15s;display:flex}.search-bar:focus-within{border-color:var(--accent)}.search-icon{flex-shrink:0;font-size:14px}.search-input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:13px}.search-input::placeholder{color:var(--text-dim);font-size:12px}.search-clear{color:var(--text-dim);cursor:pointer;border-radius:3px;padding:2px 4px;font-size:14px}.search-clear:hover{color:var(--text);background:var(--bg-card)}.search-hl{color:var(--gold);background:#f0b4294d;border-radius:2px;padding:0 2px}.watch-ai-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.ai-result-box{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);padding:14px 16px;font-size:13px;line-height:1.8;animation:.2s fadeIn}.ai-result-content{white-space:pre-wrap}.ai-result-content strong{color:var(--text)}@media (width<=768px){.watch-ai-actions{flex-direction:column;align-items:stretch}.watch-ai-actions button{width:100%}}
