@import "https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@400;500;700;900&display=swap";:root{--cyan:#7cb8d9;--cyan-light:#c5e0ef;--cyan-dark:#4a93b8;--cyan-glow:#7cb8d92e;--cyan-subtle:#7cb8d914;--cyan-bg:#7cb8d91a;--pink:#e8927c;--pink-light:#f5c8bd;--pink-dark:#d06b55;--pink-glow:#e8927c2e;--pink-subtle:#e8927c14;--silver:#9badb8;--silver-light:#d3dde3;--silver-dark:#6b8290;--green:#6baf8d;--green-bg:#6baf8d1a;--signal-buy:#149a5d;--signal-buy-dark:#0e7b4a;--signal-buy-bg:#149a5d24;--signal-buy-soft:#149a5d14;--signal-buy-border:#149a5d47;--signal-buy-glow:#149a5d38;--signal-sell:#e05561;--signal-sell-dark:#be394a;--signal-sell-bg:#e0556124;--signal-sell-soft:#e0556114;--signal-sell-border:#e0556147;--signal-sell-glow:#e0556138;--trade-up:var(--signal-buy);--trade-up-bg:var(--signal-buy-bg);--trade-down:var(--signal-sell);--trade-down-bg:var(--signal-sell-bg);--bg-primary:#fff9f5;--bg-secondary:#fff;--bg-tertiary:#f5f0eb;--bg-card:#ffffffe0;--glass-bg:#fffdfabf;--glass-border:#b4aa9b33;--glass-border-hover:#7cb8d966;--text-primary:#3d3428;--text-secondary:#7a6e5f;--text-muted:#a8a08f;--gradient-main:linear-gradient(135deg, #7cb8d9 0%, #d4a0c0 50%, #e8927c 100%);--gradient-bg:linear-gradient(170deg, #fff9f5 0%, #e8f0f8 35%, #fff0ea 65%, #f0e8f5 100%);--sidebar-width:196px;--radius:16px;--radius-sm:12px;--radius-lg:20px;--shadow-sm:0 2px 6px #7864460f, 0 1px 2px #7864460a;--shadow-md:0 4px 16px #78644612, 0 2px 6px #7864460a;--shadow-lg:0 8px 32px #78644617;--ease:cubic-bezier(.4, 0, .2, 1);--duration:.25s}[data-theme=dark]{--bg-primary:#1a1a2e;--bg-secondary:#242440;--bg-tertiary:#2d2d4a;--bg-card:#242440eb;--glass-bg:#242440bf;--glass-border:#64649640;--glass-border-hover:#7cb8d973;--text-primary:#ece8e0;--text-secondary:#9b95a8;--text-muted:#6b6680;--cyan-subtle:#7cb8d91f;--cyan-bg:#7cb8d926;--cyan-glow:#7cb8d938;--pink-subtle:#e8927c1f;--pink-glow:#e8927c38;--green-bg:#6baf8d24;--signal-buy-bg:#149a5d2e;--signal-buy-soft:#149a5d1f;--signal-buy-border:#149a5d5c;--signal-buy-glow:#149a5d4d;--signal-sell-bg:#e055612e;--signal-sell-soft:#e055611f;--signal-sell-border:#e055615c;--signal-sell-glow:#e055614d;--silver-light:#4a4a6a;--gradient-bg:linear-gradient(170deg, #1a1a2e 0%, #1e2040 35%, #2a1e2e 65%, #1a2030 100%);--shadow-sm:0 1px 3px #0003, 0 1px 2px #00000026;--shadow-md:0 4px 12px #00000040, 0 2px 4px #0003;--shadow-lg:0 8px 24px #0000004d}[data-theme=dark] .search-box,[data-theme=dark] .num-input{background:var(--bg-tertiary);color:var(--text-primary)}[data-theme=dark] .filter-tab{background:var(--bg-tertiary);color:var(--text-secondary);border-color:var(--glass-border)}[data-theme=dark] .filter-tab.active{background:var(--gradient-main);color:#fff;border-color:#0000}[data-theme=dark] .market-status-card,[data-theme=dark] .sticky-controls-shell,[data-theme=dark] .fetch-state-banner,[data-theme=dark] .coachmark-card,[data-theme=dark] .coachmark-point,[data-theme=dark] .coachmark-close,[data-theme=dark] .coachmark-btn.secondary,[data-theme=dark] .view-help-btn,[data-theme=dark] .coachmark-inline-chip,[data-theme=dark] .weight-preset-btn,[data-theme=dark] .weight-preset-status,[data-theme=dark] .weight-guide-details,[data-theme=dark] .weight-guide-chip,[data-theme=dark] .detail-trade-cta{background:#242440d1}[data-theme=dark] .btn-secondary{background:var(--bg-tertiary);color:var(--text-secondary);border-color:var(--glass-border)}[data-theme=dark] .tip-box{background:linear-gradient(135deg,#00b8d91a,#f062920f);border-color:#00b8d933}[data-theme=dark] .pair-toggle{background:var(--bg-tertiary)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:15px}body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Zen Maru Gothic,Inter,-apple-system,sans-serif;line-height:1.65;overflow-x:hidden}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:1200;color:#fff;transition:transform var(--duration) var(--ease);background:#111827eb;border-radius:12px;padding:10px 14px;font-size:.82rem;font-weight:700;text-decoration:none;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #149a5d57}#app{min-height:100vh;display:flex;position:relative}.bg-gradient{background:var(--gradient-bg);z-index:-2;position:fixed;inset:0}.bg-orbs{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.orb{filter:blur(100px);border-radius:50%;animation:25s ease-in-out infinite orbFloat;position:absolute}.orb-1{background:var(--cyan-light);opacity:.3;width:500px;height:500px;top:-150px;right:-100px}.orb-2{background:var(--pink-light);opacity:.25;width:400px;height:400px;animation-delay:-8s;bottom:-100px;left:15%}.orb-3{background:var(--silver-light);opacity:.15;width:300px;height:300px;animation-delay:-16s;top:40%;left:55%}@keyframes orbFloat{0%,to{transform:translate(0)scale(1)}50%{transform:translate(-15px,25px)scale(.97)}}.sidebar{width:var(--sidebar-width);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:100;background:#fffdf8eb;border-right:1px solid #c8beaa33;flex-direction:column;flex-shrink:0;align-self:flex-start;height:100vh;display:flex;position:sticky;top:0;box-shadow:1px 0 12px #7864460a}.sidebar-header{border-bottom:1px solid #c8beaa26;padding:20px 16px}.logo{align-items:center;gap:12px;display:flex}.logo-icon{width:42px;height:42px;box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#7cb8d926,#e8927c26);border:1px solid #7cb8d933;border-radius:14px;justify-content:center;align-items:center;display:flex}.logo-text{background:var(--gradient-main);-webkit-text-fill-color:transparent;letter-spacing:.01em;-webkit-background-clip:text;background-clip:text;font-size:1.2rem;font-weight:900}.sidebar-nav{flex-direction:column;flex:1;gap:4px;padding:14px 10px;display:flex}.nav-item{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--duration) var(--ease);text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:10px;width:100%;padding:12px 14px;font-family:inherit;font-size:.9rem;font-weight:500;display:flex}.nav-item:hover{color:var(--text-primary);background:#7cb8d90f}.nav-item.active{color:var(--cyan-dark);box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#7cb8d91a,#d4a0c014);border:1px solid #7cb8d933;font-weight:600}.sidebar-footer{border-top:1px solid #c8beaa26;padding:12px 16px}.sidebar-art{padding:0;overflow:hidden}.sidebar-art img{opacity:.85;mix-blend-mode:multiply;width:100%;display:block}.version-badge{color:var(--text-muted);text-align:center;letter-spacing:.05em;font-size:.72rem}.main-content{flex:1;min-width:0;min-height:100vh;padding:28px 28px 32px 24px;overflow-x:hidden}.view{display:none}.view.active{animation:fadeIn .35s var(--ease);display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.view-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.view-title{letter-spacing:-.03em;background:var(--gradient-main);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.6rem;font-weight:800}.view-subtitle{color:var(--text-secondary);margin-top:4px;font-size:.88rem}.view-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.view-help-btn{border:1px solid var(--glass-border);color:var(--text-secondary);cursor:pointer;box-shadow:var(--shadow-sm);background:#ffffffc7;border-radius:999px;padding:8px 14px;font-family:inherit;font-size:.78rem;font-weight:700}.view-help-btn:hover{color:var(--text-primary);border-color:#7cb8d952}.live-indicator{background:#0596690f;border:1px solid #05966926;border-radius:20px;align-items:center;gap:8px;padding:8px 16px;display:flex}.live-dot{background:var(--green);border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite livePulse}@keyframes livePulse{0%,to{opacity:1;box-shadow:0 0 #05966966}50%{opacity:.6;box-shadow:0 0 0 6px #0000}}.live-text{color:var(--green);letter-spacing:.08em;font-size:.75rem;font-weight:800}.update-timer{color:var(--text-muted);font-size:.72rem}.filter-tabs{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.filter-tab{border:1px solid var(--glass-border);color:var(--text-secondary);cursor:pointer;transition:all var(--duration) var(--ease);background:#fff;border-radius:20px;padding:8px 18px;font-family:inherit;font-size:.82rem;font-weight:600}.filter-tab:hover{border-color:var(--glass-border-hover);color:var(--text-primary)}.filter-tab.active{background:var(--gradient-main);color:#fff;border-color:#0000;box-shadow:0 3px 10px #00b8d933}[hidden]{display:none!important}.signal-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.signal-card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:2px solid var(--glass-border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration) var(--ease);box-shadow:var(--shadow-sm);padding:20px;position:relative;overflow:hidden}.signal-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.signal-card.buy{border-color:var(--signal-buy-border);background:linear-gradient(160deg,#149a5d33 0%,#149a5d1f 55%,#ecf9f3fa 100%)}.signal-card.buy:hover{box-shadow:0 10px 26px var(--signal-buy-glow)}.signal-card.sell{border-color:var(--signal-sell-border);background:linear-gradient(160deg,#e0556130 0%,#e055611c 55%,#fef1f2fa 100%)}.signal-card.sell:hover{box-shadow:0 10px 26px var(--signal-sell-glow)}.signal-card.neutral{background:#ffffffe6;border-color:#90a4ae40}.signal-card.fresh-change{border-width:1.5px;box-shadow:0 14px 28px #0f172a14}.signal-card.buy.fresh-change{box-shadow:0 14px 28px #10b98129}.signal-card.sell.fresh-change{box-shadow:0 14px 28px #ef444424}.signal-card-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.signal-pair{align-items:center;gap:10px;display:flex}.signal-pair-flag{font-size:1.4rem}.signal-pair-info{flex-direction:column;display:flex}.signal-pair-label{color:var(--text-primary);font-size:.95rem;font-weight:700}.signal-pair-code{color:var(--text-muted);letter-spacing:.04em;font-size:.72rem;font-weight:500}.signal-badge{border-radius:20px;align-items:center;gap:6px;padding:6px 14px;font-size:.78rem;font-weight:700;display:inline-flex}.signal-badge.buy{background:var(--signal-buy-bg);color:var(--signal-buy-dark);border:1px solid var(--signal-buy-border);box-shadow:inset 0 1px #ffffff4d}.signal-badge.sell{background:var(--signal-sell-bg);color:var(--signal-sell-dark);border:1px solid var(--signal-sell-border);box-shadow:inset 0 1px #ffffff4d}.signal-badge.neutral{color:var(--silver-dark);background:#90a4ae14;border:1px solid #90a4ae33}.signal-price-row{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.signal-reason-line{color:var(--text-secondary);background:#64748b0f;border-radius:10px;margin-bottom:10px;padding:8px 10px;font-size:.74rem;font-weight:600;line-height:1.45}.signal-card.buy .signal-reason-line{color:#22543d;background:#ffffff75;border:1px solid #149a5d29}.signal-card.sell .signal-reason-line{color:#7f1d1d;background:#ffffff75;border:1px solid #e0556129}.signal-invalidation-line{color:var(--text-secondary);margin-bottom:10px;font-size:.72rem;font-weight:700;line-height:1.45}.signal-card.buy .signal-invalidation-line{color:#166534}.signal-card.sell .signal-invalidation-line{color:#991b1b}.signal-price{letter-spacing:-.02em;font-size:1.5rem;font-weight:800}.signal-change{border-radius:6px;padding:2px 8px;font-size:.88rem;font-weight:800}.signal-change.up{color:var(--trade-up);background:var(--trade-up-bg)}.signal-change.down{color:var(--trade-down);background:var(--trade-down-bg)}.signal-indicators{flex-wrap:wrap;gap:5px;margin-bottom:12px;display:flex}.mini-indicator{color:var(--text-muted);background:#64748b0a;border-radius:4px;align-items:center;gap:3px;padding:1px 4px;font-size:.65rem;font-weight:500;display:flex}.signal-card.buy .mini-indicator,.signal-card.sell .mini-indicator{background:#fff6}.mini-indicator .dot{border-radius:50%;width:7px;height:7px}.mini-indicator .dot.buy{background:var(--signal-buy);box-shadow:0 0 0 3px var(--signal-buy-soft)}.mini-indicator .dot.sell{background:var(--signal-sell);box-shadow:0 0 0 3px var(--signal-sell-soft)}.mini-indicator .dot.neutral{background:var(--silver)}.mini-indicator.more{color:var(--text-tertiary);opacity:.7;font-size:.6rem;font-weight:600}.signal-confidence{align-items:center;gap:10px;display:flex}.signal-confidence-label{color:var(--text-muted);white-space:nowrap;font-size:.72rem;font-weight:500}.signal-confidence-bar{background:var(--bg-tertiary);border-radius:3px;flex:1;height:6px;overflow:hidden}.signal-card.buy .signal-confidence-bar,.signal-card.sell .signal-confidence-bar{background:#ffffff8c}.signal-confidence-fill{width:0;height:100%;transition:width .5s var(--ease);border-radius:3px}.signal-confidence-fill.buy{background:linear-gradient(135deg, var(--signal-buy), var(--signal-buy-dark))}.signal-confidence-fill.sell{background:linear-gradient(135deg, var(--signal-sell), var(--signal-sell-dark))}.signal-confidence-fill.neutral{background:var(--silver)}.signal-confidence-value{text-align:right;min-width:32px;font-size:.75rem;font-weight:700}.signal-card.buy .signal-confidence-value{color:var(--signal-buy-dark)}.signal-card.sell .signal-confidence-value{color:var(--signal-sell-dark)}.signal-card.buy .signal-price{color:#0f5132}.signal-card.sell .signal-price{color:#8a1c2b}.signal-card.buy .signal-pair-label{color:#15553c}.signal-card.sell .signal-pair-label{color:#7f1d1d}.signal-card.buy:before{content:"";background:linear-gradient(135deg, var(--signal-buy), var(--signal-buy-dark));border-radius:var(--radius-lg) var(--radius-lg) 0 0;height:3px;position:absolute;top:-1px;left:-1px;right:-1px}.signal-card.sell:before{content:"";background:linear-gradient(135deg, var(--signal-sell), var(--signal-sell-dark));border-radius:var(--radius-lg) var(--radius-lg) 0 0;height:3px;position:absolute;top:-1px;left:-1px;right:-1px}[data-theme=dark] .signal-card.buy{background:linear-gradient(160deg,#149a5d4d 0%,#149a5d38 58%,#243436f5 100%)}[data-theme=dark] .signal-card.sell{background:linear-gradient(160deg,#e0556147 0%,#e0556133 58%,#38252cf5 100%)}[data-theme=dark] .signal-card.neutral{background:#242440eb}[data-theme=dark] .signal-card.buy .signal-reason-line,[data-theme=dark] .signal-card.sell .signal-reason-line,[data-theme=dark] .signal-card.buy .mini-indicator,[data-theme=dark] .signal-card.sell .mini-indicator,[data-theme=dark] .signal-card.buy .signal-confidence-bar,[data-theme=dark] .signal-card.sell .signal-confidence-bar{background:#1418226b}[data-theme=dark] .signal-card.buy .signal-price,[data-theme=dark] .signal-card.buy .signal-pair-label{color:#d9fbe8}[data-theme=dark] .signal-card.sell .signal-price,[data-theme=dark] .signal-card.sell .signal-pair-label{color:#ffe0e3}.big-signal-card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:2px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);align-items:center;gap:24px;margin-bottom:20px;padding:28px 32px;display:flex}.big-signal-card.buy{border-color:var(--signal-buy-border);background:linear-gradient(135deg, var(--signal-buy-soft), var(--bg-card) 72%)}.big-signal-card.sell{border-color:var(--signal-sell-border);background:linear-gradient(135deg, var(--signal-sell-soft), var(--bg-card) 72%)}.big-signal-icon{font-size:3rem}.big-signal-info{flex:1}.big-signal-label{margin-bottom:4px;font-size:1.1rem;font-weight:800}.big-signal-label.buy{color:var(--signal-buy-dark)}.big-signal-label.sell{color:var(--signal-sell-dark)}.big-signal-label.neutral{color:var(--silver-dark)}.big-signal-summary{color:var(--text-secondary);font-size:.88rem;line-height:1.5}.big-signal-confidence{text-align:center;min-width:140px}.confidence-label{color:var(--text-muted);margin-bottom:8px;font-size:.72rem;font-weight:600;display:block}.confidence-bar{background:var(--bg-tertiary);border-radius:4px;width:100%;height:8px;margin-bottom:6px;overflow:hidden}.confidence-fill{background:var(--silver);width:0;height:100%;transition:width .5s var(--ease);border-radius:4px}.confidence-value{color:var(--silver-dark);font-size:1rem;font-weight:800}.big-signal-card.buy .confidence-fill{background:linear-gradient(135deg, var(--signal-buy), var(--signal-buy-dark))}.big-signal-card.buy .confidence-value{color:var(--signal-buy-dark)}.big-signal-card.sell .confidence-fill{background:linear-gradient(135deg, var(--signal-sell), var(--signal-sell-dark))}.big-signal-card.sell .confidence-value{color:var(--signal-sell-dark)}.trend-meter-card{margin-bottom:20px;padding:20px}.trend-meter-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.trend-meter-title{color:var(--text-primary);font-size:.95rem;font-weight:600}.trend-meter-score{font-size:1.5rem;font-weight:700}.trend-meter-bar{background:var(--bg-secondary);border-radius:4px;width:100%;height:8px;margin-bottom:8px;overflow:hidden}.trend-meter-fill{border-radius:4px;width:0;height:100%;transition:width .6s,background .6s}.trend-meter-label{margin-bottom:4px;font-size:.9rem;font-weight:600}.trend-tone-buy-strong,.trend-tone-buy,.trend-tone-buy-soft{color:var(--signal-buy-dark)}.trend-tone-sell-strong,.trend-tone-sell,.trend-tone-sell-soft{color:var(--signal-sell-dark)}.trend-tone-neutral{color:var(--silver-dark)}.trend-meter-fill.trend-tone-buy-strong{background:#10b981}.trend-meter-fill.trend-tone-buy{background:#34d399}.trend-meter-fill.trend-tone-buy-soft{background:#6ee7b7}.trend-meter-fill.trend-tone-sell-strong{background:#ef4444}.trend-meter-fill.trend-tone-sell{background:#f87171}.trend-meter-fill.trend-tone-sell-soft{background:#fca5a5}.trend-meter-fill.trend-tone-neutral{background:#94a3b8}.trend-meter-detail{color:var(--text-tertiary);font-size:.8rem}.indicator-detail-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px;display:grid}.indicator-detail-card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:border-color var(--duration) var(--ease);padding:18px 22px}.indicator-detail-card.buy{border-left:3px solid var(--signal-buy);background:linear-gradient(135deg, var(--signal-buy-soft), transparent 45%), var(--bg-card)}.indicator-detail-card.sell{border-left:3px solid var(--signal-sell);background:linear-gradient(135deg, var(--signal-sell-soft), transparent 45%), var(--bg-card)}.indicator-detail-card.neutral{border-left:3px solid var(--silver)}.indicator-detail-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.indicator-detail-name{font-size:.92rem;font-weight:700}.indicator-detail-badge{border-radius:12px;padding:3px 10px;font-size:.7rem;font-weight:700}.indicator-detail-badge.buy{background:var(--signal-buy-bg);color:var(--signal-buy-dark);border:1px solid var(--signal-buy-border)}.indicator-detail-badge.sell{background:var(--signal-sell-bg);color:var(--signal-sell-dark);border:1px solid var(--signal-sell-border)}.indicator-detail-badge.neutral{color:var(--silver-dark);background:#90a4ae1a}.indicator-detail-reason{color:var(--text-secondary);font-size:.82rem;line-height:1.5}.stats-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;display:grid}.stat-card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:all var(--duration) var(--ease);align-items:center;gap:14px;padding:18px;display:flex}.stat-card:hover{border-color:var(--glass-border-hover);transform:translateY(-2px)}.stat-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.stat-icon.cyan{background:var(--cyan-bg);color:var(--cyan-dark);border:1px solid #00b8d926}.stat-icon.pink{background:var(--pink-subtle);color:var(--pink-dark);border:1px solid #f0629226}.stat-icon.silver{color:var(--silver-dark);background:#90a4ae14;border:1px solid #90a4ae26}.stat-icon.gradient{background:linear-gradient(135deg, var(--cyan-subtle), var(--pink-subtle));color:var(--cyan-dark)}.stat-label{color:var(--text-muted);font-size:.75rem;font-weight:500;display:block}.stat-value{margin-top:2px;font-size:1.3rem;font-weight:700;display:block}.stat-value.up{color:var(--trade-up)}.stat-value.down{color:var(--trade-down)}.card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:20px}.card-header{border-bottom:1px solid #90a4ae1f;justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.card-title{font-size:.95rem;font-weight:700}.card-body{padding:22px}.chart-body{position:relative}.chart-body-fixed{min-height:320px}.tradingview-card-header{align-items:flex-start;gap:16px}.tradingview-subtitle{color:var(--text-secondary);margin-top:6px;font-size:.82rem}.tradingview-host{background:#ffffffad;border:1px solid #94a3b82e;border-radius:18px;min-height:560px;overflow:hidden}.tradingview-widget-container,.tradingview-widget-container__widget{width:100%;min-height:560px}.tradingview-widget-copyright{color:var(--text-muted);background:#94a3b814;padding:10px 14px;font-size:.74rem}.tradingview-widget-copyright a{color:inherit;text-decoration:none}.tradingview-widget-copyright .blue-text{color:#2962ff}.tradingview-note{color:var(--text-secondary);margin-top:12px;font-size:.78rem;line-height:1.6}.tradingview-empty{text-align:center;min-height:560px;color:var(--text-secondary);background:linear-gradient(135deg,#ffffffb8,#dbeafe94);justify-content:center;align-items:center;padding:24px;display:flex}.chart-body canvas{max-height:100%}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration) var(--ease);border:none;align-items:center;gap:8px;padding:12px 26px;font-family:inherit;font-size:.9rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--gradient-main);color:#fff;box-shadow:0 4px 14px #00b8d940}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00b8d94d}.btn-secondary{color:var(--text-secondary);border:1px solid var(--glass-border);box-shadow:var(--shadow-sm);background:#fff}.btn-secondary:hover{background:var(--bg-tertiary);color:var(--text-primary)}.settings-layout{max-width:700px}.usage-analytics-panel{flex-direction:column;gap:12px;display:flex}.analytics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.analytics-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-stat-card{background:var(--bg-card);border:1px solid var(--glass-border);box-shadow:var(--shadow-sm);border-radius:16px;padding:14px}.analytics-stat-card.compact{padding:12px 14px}.analytics-stat-label{color:var(--text-muted);margin-bottom:6px;font-size:.72rem;display:block}.analytics-stat-value{color:var(--text-primary);font-size:1.35rem;font-weight:800}.analytics-market-row{flex-wrap:wrap;gap:8px;display:flex}.analytics-market-chip{color:var(--text-secondary);background:#64748b14;border-radius:999px;align-items:center;padding:5px 10px;font-size:.7rem;font-weight:700;display:inline-flex}.telemetry-status-panel{border:1px solid var(--glass-border);box-shadow:var(--shadow-sm);background:#ffffffb8;border-radius:16px;flex-direction:column;gap:10px;margin-bottom:14px;padding:14px;display:flex}.telemetry-status-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.telemetry-status-badge{border-radius:999px;align-items:center;padding:5px 10px;font-size:.72rem;font-weight:800;display:inline-flex}.telemetry-status-badge.ok{color:var(--trade-up);background:#10b9811f}.telemetry-status-badge.warn{color:#b45309;background:#f59e0b29}.telemetry-status-badge.info{color:#2563eb;background:#3b82f61f}.telemetry-status-copy{color:var(--text-secondary);font-size:.76rem}.telemetry-status-error{color:var(--trade-down);font-size:.78rem}.tip-box{border-radius:var(--radius-sm);color:var(--text-secondary);background:linear-gradient(135deg,#00b8d90f,#f062920a);border:1px solid #00b8d91f;margin-bottom:20px;padding:14px 18px;font-size:.85rem;line-height:1.6}.tip-box strong{color:var(--cyan-dark)}.helper-text{color:var(--text-secondary);font-size:.82rem}.helper-text code{background:#64748b14;border-radius:6px;padding:2px 6px;font-size:.78rem}.watchlist-sync-panel,.cta-experiment-panel,.push-status-panel{flex-direction:column;gap:10px;margin-bottom:14px;display:flex}.settings-group{border-bottom:1px solid var(--glass-border);margin-bottom:24px;padding-bottom:20px}.settings-group:last-of-type{border-bottom:none}.settings-group-title{color:var(--text-primary);margin-bottom:12px;font-size:.9rem;font-weight:700}.settings-row{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.settings-row label{color:var(--text-secondary);font-size:.85rem}.num-input{border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text-primary);transition:all var(--duration) var(--ease);box-shadow:var(--shadow-sm);background:#fff;padding:10px 14px;font-family:inherit;font-size:.88rem;font-weight:500}.num-input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px var(--cyan-glow);outline:none}.num-input-sm{text-align:center;width:90px}.pair-toggle-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;display:grid}.pair-toggle{border-radius:var(--radius-sm);background:var(--bg-tertiary);cursor:pointer;transition:all var(--duration) var(--ease);align-items:center;gap:10px;padding:10px 14px;font-size:.85rem;display:flex}.pair-toggle:hover{background:#00b8d90f}.pair-toggle input{accent-color:var(--cyan);cursor:pointer;width:16px;height:16px}@media (width<=1024px){.stats-grid,.indicator-detail-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.sidebar{width:60px;overflow:hidden}.sidebar .logo-text,.sidebar .nav-item span,.sidebar .version-badge{display:none}.sidebar-header{justify-content:center;padding:16px 10px;display:flex}.nav-item{justify-content:center;padding:12px}.main-content{margin-left:60px;padding:16px}.stats-grid,.signal-grid{grid-template-columns:1fr}.big-signal-card{text-align:center;flex-direction:column}}.loading-screen{flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:60vh;animation:.5s 15s forwards safeHideLoading;display:flex}@keyframes safeHideLoading{to{opacity:0;pointer-events:none;visibility:hidden}}.loading-spinner{width:80px;height:80px;position:relative}.spinner-ring{border:3px solid #0000;border-radius:50%;animation:1.5s linear infinite spinRing;position:absolute;inset:0}.spinner-ring:first-child{border-top-color:var(--cyan);animation-duration:1.5s}.spinner-ring:nth-child(2){border-right-color:var(--pink);animation-duration:2s;animation-direction:reverse;inset:8px}.spinner-ring:nth-child(3){border-bottom-color:var(--silver);animation-duration:2.5s;inset:16px}@keyframes spinRing{to{transform:rotate(360deg)}}.loading-text{background:var(--gradient-main);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.1rem;font-weight:700}.loading-sub{color:var(--text-muted);font-size:.85rem}.sticky-controls-shell{z-index:60;border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow-sm);background:#ffffffd1;border-radius:22px;flex-direction:column;gap:10px;margin-bottom:16px;padding:12px;display:flex;position:sticky;top:12px}.sticky-controls-shell.mobile-filters-open{z-index:140}.sticky-controls-shell .signal-summary-banner,.sticky-controls-shell .toolbar{margin-bottom:0}.toolbar{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:16px;display:flex}.toolbar-primary .search-box{flex:1;min-width:280px}.toolbar-secondary{align-items:flex-start}.mobile-filter-trigger{border:1px solid var(--glass-border);width:100%;color:var(--text-secondary);box-shadow:var(--shadow-sm);text-align:left;background:#ffffffdb;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;font-family:inherit;font-size:.78rem;font-weight:700;display:none}.mobile-filter-trigger-icon{background:#7cb8d91f;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.mobile-filter-trigger-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.mobile-filter-trigger-title{color:var(--text-primary);font-size:.76rem;font-weight:800}.mobile-filter-trigger-summary{min-width:0;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.66rem;overflow:hidden}.mobile-filter-trigger-meta{color:var(--text-secondary);background:#64748b14;border-radius:999px;flex-shrink:0;padding:5px 9px;font-size:.68rem;font-weight:800}.mobile-filter-trigger.has-active{border-color:#10b98138;box-shadow:0 8px 18px #10b9811a}.mobile-filter-trigger.has-active .mobile-filter-trigger-icon,.mobile-filter-trigger.has-active .mobile-filter-trigger-meta{color:var(--signal-buy-dark);background:#10b9811f}.mobile-filter-trigger.is-open{background:#fffffffa;border-color:#7cb8d947}.mobile-filter-sheet{display:block}.mobile-filter-sheet-head{display:none}.mobile-filter-sheet-title{color:var(--text-primary);font-size:.95rem;font-weight:800}.mobile-filter-close{color:var(--text-secondary);background:#64748b14;border:none;border-radius:999px;width:34px;height:34px;font-family:inherit;font-size:1rem;font-weight:700}.mobile-filter-backdrop,.mobile-only-toolbar-btn{display:none}body.mobile-filters-active{overflow:hidden}.search-box{border:1px solid var(--glass-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);min-width:280px;transition:border-color var(--duration) var(--ease);background:#fff;align-items:center;gap:10px;padding:10px 16px;display:flex}.search-box:focus-within{border-color:var(--cyan);box-shadow:0 0 0 3px var(--cyan-glow)}.search-box svg{color:var(--text-muted);flex-shrink:0}.search-box input{color:var(--text-primary);background:0 0;border:none;outline:none;width:100%;font-family:inherit;font-size:.88rem}.search-box input::placeholder{color:var(--text-muted)}.coin-count{color:var(--text-muted);margin-bottom:12px;font-size:.78rem}.controls-meta-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.coin-count-badge{color:var(--text-secondary);font-size:.76rem;font-weight:700}.sort-btn-compact{font-size:.72rem}.settings-action-wrap{text-align:center;margin-top:20px}.settings-action-wrap.compact{margin-top:16px}.coin-icon{border-radius:50%;flex-shrink:0;width:32px;height:32px}.load-more-wrap{text-align:center;margin-top:20px;margin-bottom:20px}.market-summary{flex-wrap:wrap;gap:12px;margin-bottom:20px;display:flex}.summary-card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);min-width:130px;transition:all var(--duration) var(--ease);flex:1;align-items:center;gap:10px;padding:14px 18px;display:flex}.summary-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.summary-card.buy-summary{border-left:4px solid var(--signal-buy);background:linear-gradient(135deg, var(--signal-buy-soft), transparent 42%), var(--bg-card)}.summary-card.sell-summary{border-left:4px solid var(--signal-sell);background:linear-gradient(135deg, var(--signal-sell-soft), transparent 42%), var(--bg-card)}.summary-card.neutral-summary{border-left:3px solid var(--silver)}.summary-card.confidence-summary{border-left:3px solid var(--cyan-dark)}.summary-card.volume-summary{border-left:3px solid #f59e0b}.summary-icon{flex-shrink:0;font-size:1.4rem}.summary-info{flex-direction:column;display:flex}.summary-value{letter-spacing:-.02em;font-size:1.25rem;font-weight:800;line-height:1.2}.summary-card.buy-summary .summary-value,.summary-card.buy-summary .summary-icon{color:var(--signal-buy-dark)}.summary-card.sell-summary .summary-value,.summary-card.sell-summary .summary-icon{color:var(--signal-sell-dark)}.summary-label{color:var(--text-muted);font-size:.7rem;font-weight:500}.signal-meta-row{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.market-context-badge{color:var(--text-secondary);background:#64748b14;border:1px solid #64748b24;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:.66rem;font-weight:700;display:inline-flex}.timeframe-badge{color:var(--text-secondary);background:#64748b12;border:1px solid #64748b1a;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:.68rem;font-weight:600;display:inline-flex}.hold-badge{color:var(--cyan-dark);background:#00b8d90f;border:1px solid #00b8d91f;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:.68rem;font-weight:600;display:inline-flex}.volume-alert-badge{color:#d97706;background:#f59e0b14;border:1px solid #f59e0b26;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:.68rem;font-weight:700;animation:2s ease-in-out infinite volumePulse;display:inline-flex}@keyframes volumePulse{0%,to{opacity:1}50%{opacity:.7}}.signal-card-actions{align-items:center;gap:8px;display:flex}.watchlist-btn{cursor:pointer;width:32px;height:32px;transition:all var(--duration) var(--ease);color:var(--text-muted);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;font-size:1.1rem;display:flex}.watchlist-btn:hover{color:#f59e0b;background:#f59e0b14;transform:scale(1.15)}.watchlist-btn.active{color:#f59e0b;text-shadow:0 0 8px #f59e0b4d}.detail-timeframe{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.detail-timeframe-tag{color:var(--text-secondary);background:#64748b0f;border:1px solid #64748b1f;border-radius:8px;align-items:center;gap:4px;padding:5px 12px;font-size:.78rem;font-weight:600;display:inline-flex}.detail-timeframe-tag.hold{color:var(--cyan-dark);background:#00b8d90f;border-color:#00b8d926}.toggle-row{justify-content:space-between;align-items:center;display:flex}.toggle-switch{flex-shrink:0;width:44px;height:24px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;background:var(--silver-light);transition:all var(--duration) var(--ease);border-radius:24px;position:absolute;inset:0}.toggle-slider:before{content:"";width:18px;height:18px;transition:all var(--duration) var(--ease);background:#fff;border-radius:50%;position:absolute;bottom:3px;left:3px;box-shadow:0 1px 3px #00000026}.toggle-switch input:checked+.toggle-slider{background:var(--cyan)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}@media (width<=1024px){.market-summary{flex-wrap:wrap}.summary-card{min-width:calc(33% - 10px)}}@media (width<=768px){.market-summary{gap:8px}.summary-card{min-width:calc(50% - 6px);padding:10px 14px}.weight-slider-top,.weight-slider-control{flex-direction:column;align-items:stretch}.weight-slider-default{align-self:flex-start}.weight-value{align-self:flex-end}.summary-value{font-size:1rem}.signal-meta-row{gap:4px}}.theme-toggle{cursor:pointer;color:var(--text-secondary);transition:all var(--duration) var(--ease);border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;gap:8px;width:100%;margin-bottom:8px;padding:8px 16px;font-family:inherit;font-size:.82rem;display:flex}.theme-toggle:hover{color:var(--text-primary);background:#00b8d914}.theme-toggle-icon{font-size:1.1rem}.sort-select{background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;transition:all var(--duration) var(--ease);box-shadow:var(--shadow-sm);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;min-width:150px;padding:8px 30px 8px 12px;font-family:inherit;font-size:.82rem;font-weight:500}[data-theme=dark] .sort-select{background-color:var(--bg-tertiary);color:var(--text-primary)}.sort-select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px var(--cyan-glow);outline:none}.signal-change-badge{box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;gap:3px;padding:4px 9px;font-size:.66rem;font-weight:700;animation:1.5s ease-in-out 3 changeFlash;display:inline-flex}.signal-change-badge.changed-to-buy{background:var(--signal-buy-bg);color:var(--signal-buy-dark);border:1px solid var(--signal-buy-border)}.signal-change-badge.changed-to-sell{background:var(--signal-sell-bg);color:var(--signal-sell-dark);border:1px solid var(--signal-sell-border)}.signal-change-badge.changed-to-neutral{color:var(--silver-dark);background:#64748b1a;border:1px solid #64748b26}@keyframes changeFlash{0%,to{opacity:1}50%{opacity:.5;transform:scale(1.05)}}.fng-card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex:1.3;align-items:center;gap:10px;min-width:180px;padding:14px 18px;display:flex}.fng-gauge{width:44px;height:44px;transition:all var(--duration) var(--ease);border:3px solid;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;font-weight:800;display:flex}.fng-gauge.extreme-fear{color:#dc2626;background:#dc262614;border-color:#dc2626}.fng-gauge.fear{color:#f59e0b;background:#f59e0b14;border-color:#f59e0b}.fng-gauge.neutral{border-color:var(--silver);color:var(--silver-dark);background:#90a4ae14}.fng-gauge.greed{color:#10b981;background:#10b98114;border-color:#10b981}.fng-gauge.extreme-greed{color:#059669;background:#05966914;border-color:#059669}.fng-info{flex-direction:column;display:flex}.fng-label{color:var(--text-muted);font-size:.7rem;font-weight:500}.fng-text{color:var(--text-primary);font-size:.82rem;font-weight:700}.toolbar-extras{align-items:center;gap:8px;margin-left:auto;display:flex}.toolbar-btn{border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:all var(--duration) var(--ease);box-shadow:var(--shadow-sm);align-items:center;gap:5px;padding:8px 14px;font-family:inherit;font-size:.78rem;font-weight:600;display:inline-flex}.toolbar-btn:hover{border-color:var(--cyan);color:var(--cyan-dark);transform:translateY(-1px)}[data-theme=dark] .toolbar-btn{background:var(--bg-tertiary)}body,.sidebar,.main-content,.signal-card,.summary-card,.card,.search-box,.filter-tab,.btn,.stat-card,.fng-card,.toolbar-btn{transition:background-color .3s,color .3s,border-color .3s,box-shadow .3s}.chart-tabs{gap:4px;display:flex}.chart-tab{border:1px solid var(--glass-border);color:var(--text-muted);cursor:pointer;transition:all var(--duration) var(--ease);background:0 0;border-radius:8px;padding:6px 14px;font-family:inherit;font-size:.75rem;font-weight:600}.chart-tab:hover{border-color:var(--cyan);color:var(--cyan-dark)}.chart-tab.active{background:var(--gradient-main);color:#fff;border-color:#0000}.card-header{justify-content:space-between;align-items:center;display:flex}.chart-loading{background:var(--bg-card);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:var(--radius);color:var(--text-secondary);z-index:5;justify-content:center;align-items:center;gap:10px;font-size:.85rem;display:flex;position:absolute;inset:0}.spinner-ring.small{border:3px solid var(--glass-border);border-top-color:var(--cyan);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.mini-sparkline-wrap{opacity:.85;width:100%;height:36px;margin:4px 0 6px}.mini-sparkline-wrap canvas{width:100%!important;height:36px!important}.fib-header{margin-bottom:12px}.fib-title{color:var(--text-primary);font-size:.9rem;font-weight:700}.fib-grid{gap:3px;display:grid}.fib-row{background:var(--bg-tertiary);transition:all var(--duration) var(--ease);border-radius:8px;justify-content:space-between;align-items:center;padding:8px 14px;font-size:.8rem;display:flex}.fib-row.near{background:var(--cyan-bg);border-left:3px solid var(--cyan);font-weight:600}.fib-label{color:var(--text-secondary);min-width:50px;font-weight:700}.fib-price{color:var(--text-primary);font-family:Inter,monospace;font-weight:600}.fib-dist{text-align:right;min-width:60px;font-size:.72rem;font-weight:600}.fib-dist.up{color:var(--cyan-dark)}.fib-dist.down{color:var(--pink-dark)}.trade-section{margin-bottom:20px}.trade-btn{color:#fff;border-radius:var(--radius);transition:all var(--duration) var(--ease);background:linear-gradient(135deg,#5b21b6 0%,#7c3aed 50%,#a855f7 100%);align-items:center;gap:8px;padding:14px 28px;font-family:inherit;font-size:.95rem;font-weight:700;text-decoration:none;display:inline-flex;box-shadow:0 4px 15px #7c3aed4d}.trade-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #7c3aed66}.trade-info{margin-top:10px}.trade-help{color:var(--text-secondary);cursor:pointer;font-size:.82rem}.trade-help summary{color:var(--text-muted);padding:6px 0;font-weight:600;list-style:none}.trade-help summary::-webkit-details-marker{display:none}.trade-help summary:before{content:"▶ ";font-size:.7rem}.trade-help[open] summary:before{content:"▼ "}.trade-help p{margin:8px 0;line-height:1.6}.trade-help ul{flex-direction:column;gap:6px;padding:0;list-style:none;display:flex}.trade-help li{background:var(--bg-tertiary);border-radius:8px;padding:6px 10px;font-size:.8rem}.toolbar-btn.active{background:var(--cyan-bg);border-color:var(--cyan);color:var(--cyan-dark)}.market-tabs-wrap{background:var(--bg-secondary);border-radius:var(--radius);border:1px solid var(--glass-border);box-sizing:border-box;grid-template-columns:repeat(4,1fr);gap:6px;max-width:100%;margin-bottom:16px;padding:4px;display:grid}.market-tab{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--duration) var(--ease);white-space:nowrap;text-align:center;text-overflow:ellipsis;background:0 0;border:none;padding:10px 20px;font-family:inherit;font-size:.85rem;font-weight:600;overflow:hidden}.market-tab:hover{color:var(--text-primary);background:#00b8d914}.market-tab.active{background:var(--gradient-main);color:#fff;box-shadow:0 2px 8px #00b8d94d}.market-loading{color:var(--text-secondary);justify-content:center;align-items:center;gap:10px;padding:20px;font-size:.85rem;display:flex}.market-status-panel{margin-bottom:10px}.market-status-shell{flex-direction:column;gap:10px;display:flex}.market-status-summary-bar{border:1px solid var(--glass-border);width:100%;box-shadow:var(--shadow-sm);text-align:left;cursor:pointer;background:#ffffffc2;border-radius:16px;align-items:center;gap:12px;padding:12px 14px;font-family:inherit;display:flex}.market-status-summary-copy{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.market-status-summary-title{color:var(--text-primary);font-size:.86rem;font-weight:800}.market-status-summary-text{color:var(--text-secondary);font-size:.72rem}.market-status-summary-pill{border-radius:999px;flex-shrink:0;padding:5px 10px;font-size:.68rem;font-weight:800}.market-status-summary-pill.ok{color:var(--trade-up);background:#10b9811f}.market-status-summary-pill.warn{color:#b45309;background:#f59e0b24}.market-status-summary-pill.info{color:#2563eb;background:#3b82f61f}.market-status-summary-arrow{color:var(--text-muted);flex-shrink:0;font-size:1.1rem}.market-status-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.market-status-shell.collapsed .market-status-grid{display:none}.market-status-card{appearance:none;text-align:left;border:1px solid var(--glass-border);width:100%;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;transition:transform var(--duration) var(--ease), border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);background:#ffffffbd;border-radius:16px;padding:12px 14px}.market-status-card:hover{border-color:#7cb8d959;transform:translateY(-1px)}.market-status-card:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.market-status-card.active{border-color:#7cb8d973;box-shadow:0 10px 26px #7cb8d924}.market-status-card.error{border-color:#dc262633}.market-status-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.market-status-market{color:var(--text-primary);font-size:.84rem;font-weight:800}.market-status-badge{background:var(--bg-tertiary);color:var(--text-secondary);border-radius:999px;padding:4px 8px;font-size:.68rem;font-weight:700}.market-status-badge.active{color:var(--trade-up);background:#10b9811f}.market-status-badge.loaded{color:var(--text-secondary);background:#64748b14}.market-status-badge.refreshing{color:#2563eb;background:#3b82f61f}.market-status-badge.stale{color:#b45309;background:#f59e0b1f}.market-status-badge.error{color:var(--trade-down);background:#ef44441f}.market-status-kpis{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:6px;display:flex}.market-status-main{color:var(--text-primary);font-size:.98rem;font-weight:800}.market-status-sub{color:var(--text-muted);text-align:right;font-size:.72rem}.market-status-meta{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.market-status-meta-item{max-width:100%;color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;background:#64748b0f;border-radius:999px;align-items:center;padding:4px 8px;font-size:.68rem;line-height:1.3;display:inline-flex;overflow:hidden}.market-status-meta-item.ok{color:var(--trade-up)}.market-status-meta-item.warn{color:#b45309}.market-status-health{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.market-status-health-chip{color:var(--text-secondary);background:#64748b14;border-radius:999px;align-items:center;padding:4px 8px;font-size:.67rem;font-weight:700;display:inline-flex}.market-status-health-chip.ok{color:var(--trade-up);background:#10b9811f}.market-status-health-chip.warn{color:#b45309;background:#f59e0b24}.market-status-health-chip.danger{color:var(--trade-down);background:#e055611f}.market-status-validation{color:var(--text-secondary);border-top:1px solid #b4aa9b29;justify-content:space-between;align-items:center;gap:8px;padding-top:8px;font-size:.74rem;display:flex}.market-status-validation.ok{color:var(--trade-up)}.market-status-validation.warn{color:#d97706}.market-status-validation.pending{color:var(--text-secondary)}.market-status-error{color:var(--trade-down);margin-top:8px;font-size:.72rem}.today-focus-section{margin-bottom:16px}.today-focus-card{box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#10b98114,#fffffff0 55%);border:1px solid #10b98124;border-radius:22px;padding:16px 18px}.today-focus-head{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.today-focus-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--signal-buy-dark);margin-bottom:4px;font-size:.68rem;font-weight:800;display:inline-block}.today-focus-title{color:var(--text-primary);font-size:1rem;font-weight:800}.today-focus-subtitle{color:var(--text-secondary);margin-top:4px;font-size:.76rem;line-height:1.5}.today-focus-note{color:var(--signal-buy-dark);background:#10b9811f;border-radius:999px;flex-shrink:0;padding:5px 10px;font-size:.68rem;font-weight:800}.today-focus-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.today-focus-item{border:1px solid var(--glass-border);box-shadow:var(--shadow-sm);text-align:left;cursor:pointer;transition:transform var(--duration) var(--ease), box-shadow var(--duration) var(--ease), border-color var(--duration) var(--ease);background:#ffffffeb;border-radius:18px;padding:14px;font-family:inherit}.today-focus-item:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.today-focus-item.buy{border-color:var(--signal-buy-border)}.today-focus-item.sell{border-color:var(--signal-sell-border)}.today-focus-item-head,.today-focus-price-row,.today-focus-meta{justify-content:space-between;align-items:center;gap:8px;display:flex}.today-focus-item-head{margin-bottom:10px}.today-focus-name-wrap{min-width:0}.today-focus-name{color:var(--text-primary);font-size:.84rem;font-weight:800;display:block}.today-focus-symbol{color:var(--text-muted);margin-top:2px;font-size:.68rem;display:block}.today-focus-signal{border-radius:999px;flex-shrink:0;padding:4px 9px;font-size:.68rem;font-weight:800}.today-focus-signal.buy{background:var(--signal-buy-bg);color:var(--signal-buy-dark)}.today-focus-signal.sell{background:var(--signal-sell-bg);color:var(--signal-sell-dark)}.today-focus-signal.neutral{color:var(--text-secondary);background:#64748b14}.today-focus-price-row{margin-bottom:10px}.today-focus-price{color:var(--text-primary);font-size:1.05rem;font-weight:800}.today-focus-score{color:var(--signal-buy-dark);font-size:.68rem;font-weight:800}.today-focus-reason{color:var(--text-secondary);margin-bottom:10px;font-size:.72rem;line-height:1.45}.today-focus-meta{color:var(--text-muted);font-size:.68rem}body.dark-mode .market-status-summary-bar,body.dark-mode .today-focus-card,body.dark-mode .today-focus-item{background:var(--bg-card);border-color:var(--glass-border)}body.dark-mode .today-focus-note,body.dark-mode .market-status-summary-pill.ok{background:#10b98129}.coachmark-card{box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(135deg,#7cb8d92e,#e8927c1f);border:1px solid #7cb8d92e;border-radius:18px;margin-bottom:12px;padding:12px 14px}.coachmark-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.coachmark-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--cyan-dark);margin-bottom:4px;font-size:.7rem;font-weight:800;display:inline-block}.coachmark-title{color:var(--text-primary);font-size:.96rem;font-weight:800}.coachmark-close{width:30px;height:30px;color:var(--text-secondary);cursor:pointer;background:#ffffffb8;border:none;border-radius:999px;font-size:1rem}.coachmark-inline-text{color:var(--text-secondary);margin-bottom:10px;font-size:.74rem;line-height:1.5}.coachmark-body.compact{flex-wrap:wrap;gap:8px;display:flex}.coachmark-inline-chip{color:var(--text-primary);background:#ffffffad;border:1px solid #fff6;border-radius:999px;align-items:center;padding:6px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.coachmark-actions{justify-content:flex-end;gap:10px;margin-top:12px;display:flex}.coachmark-btn{border:1px solid var(--glass-border);cursor:pointer;border-radius:12px;padding:10px 16px;font-family:inherit;font-size:.8rem;font-weight:700}.coachmark-btn.secondary{color:var(--text-primary);background:#ffffffb8}.coachmark-btn.primary{background:var(--gradient-main);color:#fff;border-color:#0000}.fetch-state-banner{box-shadow:var(--shadow-sm);background:#ffffffc7;border:1px solid #7cb8d929;border-radius:16px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;padding:12px 14px;display:flex}.fetch-state-banner.info{background:linear-gradient(135deg,#3b82f614,#ffffffd1);border-color:#3b82f62e}.fetch-state-banner.warn{background:linear-gradient(135deg,#f59e0b1a,#ffffffd1);border-color:#f59e0b3d}.fetch-state-banner.danger{background:linear-gradient(135deg,#e0556114,#ffffffd1);border-color:#e055613d}.fetch-state-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.fetch-state-title{color:var(--text-primary);font-size:.84rem}.fetch-state-text{color:var(--text-secondary);font-size:.74rem;line-height:1.45}.fetch-state-metrics{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.fetch-state-metric{color:var(--text-secondary);background:#ffffff9e;border-radius:999px;align-items:center;padding:4px 8px;font-size:.68rem;font-weight:700;display:inline-flex}.fetch-state-actions{flex-shrink:0;gap:8px;display:flex}.fetch-state-btn{padding:9px 14px;font-size:.76rem}body.dark-mode .telemetry-status-panel{background:#242440d1}body.dark-mode .push-status-panel{color:var(--text-primary)}body.dark-mode .fetch-state-metric{background:#1a1a2eb8}.sector-badge{color:#7c3aed;background:#8b5cf61a;border:1px solid #8b5cf626;border-radius:6px;padding:2px 8px;font-size:.62rem;font-weight:600}.funding-badge{border-radius:6px;padding:2px 8px;font-size:.62rem;font-weight:600}.funding-badge.up{background:var(--signal-buy-bg);color:var(--signal-buy-dark);border:1px solid var(--signal-buy-border)}.funding-badge.down{background:var(--signal-sell-bg);color:var(--signal-sell-dark);border:1px solid var(--signal-sell-border)}@media (width<=768px){.market-tabs-wrap{gap:4px;padding:3px}.market-tab{padding:8px 12px;font-size:.75rem}}.theme-tracker{margin-bottom:24px}.theme-tracker-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.theme-tracker-title{color:var(--text-primary);align-items:center;gap:8px;font-size:1.15rem;font-weight:800;display:flex}.sector-heatmap{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:4px;margin-bottom:20px;display:grid}.heatmap-cell{border-radius:var(--radius-sm);text-align:center;min-height:80px;transition:all var(--duration) var(--ease);cursor:default;border:1px solid #ffffff1a;flex-direction:column;justify-content:center;align-items:center;padding:16px 8px;display:flex;position:relative}.heatmap-cell:hover{z-index:1;box-shadow:var(--shadow-lg);transform:scale(1.04)}.heatmap-cell-name{color:#fff;text-shadow:0 1px 3px #0000004d;margin-bottom:4px;font-size:.88rem;font-weight:700;line-height:1.3}.heatmap-cell-change{color:#fff;text-shadow:0 1px 3px #0000004d;font-size:1rem;font-weight:800}.heatmap-cell-count{color:#ffffffb3;margin-top:2px;font-size:.62rem}.theme-tracker-columns{grid-template-columns:1fr 1fr;gap:24px;display:grid}.theme-column-label{letter-spacing:.06em;margin-bottom:12px;padding-left:4px;font-size:.85rem;font-weight:800}.theme-column-label.top{color:var(--cyan-dark)}.theme-column-label.bottom{color:var(--pink-dark)}.theme-list{flex-direction:column;gap:8px;display:flex}.theme-card{background:var(--bg-card);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--glass-border);border-radius:var(--radius-sm);transition:all var(--duration) var(--ease);box-shadow:var(--shadow-sm);align-items:center;gap:12px;padding:14px 16px;display:flex}.theme-card:hover{box-shadow:var(--shadow-md);transform:translate(4px)}.theme-card.top-theme{border-left:4px solid var(--cyan)}.theme-card.bottom-theme{border-left:4px solid var(--pink)}.theme-rank{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.82rem;font-weight:800;display:flex}.top-theme .theme-rank{background:var(--cyan-bg);color:var(--cyan-dark)}.bottom-theme .theme-rank{background:var(--pink-subtle);color:var(--pink-dark)}.theme-info{flex:1;min-width:0}.theme-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:700;overflow:hidden}.theme-count{color:var(--text-secondary);margin-top:2px;font-size:.72rem}.theme-sparkline{flex-shrink:0;width:72px;height:28px}.theme-change{text-align:right;flex-shrink:0;min-width:65px;font-size:1rem;font-weight:800}.theme-change.up{color:var(--signal-buy-dark)}.theme-change.down{color:var(--signal-sell-dark)}.heatmap-cell.heat-up-4{background:#10b981d9}.heatmap-cell.heat-up-3{background:#10b981b3}.heatmap-cell.heat-up-2{background:#10b98180}.heatmap-cell.heat-up-1{background:#10b9814d}.heatmap-cell.heat-down-1{background:#ef44444d}.heatmap-cell.heat-down-2{background:#ef444480}.heatmap-cell.heat-down-3{background:#ef4444b3}.heatmap-cell.heat-down-4{background:#ef4444d9}@media (width<=900px){.theme-tracker-columns{grid-template-columns:1fr;gap:16px}.sector-heatmap{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}}.sl-tp-grid{grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:12px;display:grid}.sl-tp-item{text-align:center;background:#64748b0d;border-radius:12px;padding:16px 8px}.sl-tp-item.stop-loss{background:#ef444414;border:1px solid #ef444433}.sl-tp-item.entry{background:#64748b0f;border:1px solid #64748b26}.sl-tp-item.take-profit{background:#10b98114;border:1px solid #10b98133}.sl-tp-label{margin-bottom:6px;font-size:.75rem;font-weight:600}.sl-tp-price{margin-bottom:2px;font-size:1.1rem;font-weight:700}.sl-tp-item.stop-loss .sl-tp-price{color:#ef4444}.sl-tp-item.take-profit .sl-tp-price{color:#10b981}.sl-tp-pct{color:var(--text-muted);font-size:.7rem;font-weight:500}.sl-tp-note{color:var(--text-tertiary);text-align:center;background:#64748b0a;border-radius:8px;padding:8px;font-size:.7rem}.sr-bar{border-radius:12px;align-items:stretch;gap:2px;display:flex;overflow:hidden}.sr-level,.sr-current{text-align:center;flex:1;padding:14px 8px}.sr-level.support{background:#10b98114}.sr-current{background:#64748b0f}.sr-level.resistance{background:#ef444414}.sr-label{color:var(--text-muted);margin-bottom:4px;font-size:.7rem;font-weight:600;display:block}.sr-price{font-size:1rem;font-weight:700;display:block}.sr-level.support .sr-price{color:#10b981}.sr-level.resistance .sr-price{color:#ef4444}.sr-dist{color:var(--text-tertiary);margin-top:2px;font-size:.65rem;display:block}.ranking-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.ranking-col-title{border-bottom:2px solid #64748b1a;margin-bottom:10px;padding-bottom:6px;font-size:.85rem;font-weight:700}.ranking-col-title.up-title{color:#10b981}.ranking-col-title.down-title{color:#ef4444}.ranking-item{cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;transition:background .15s;display:flex}.ranking-item:hover{background:#64748b14}.ranking-rank{color:var(--text-muted);text-align:center;width:20px;font-size:.75rem;font-weight:800}.ranking-icon-wrap,.ranking-icon,.ranking-icon-fallback{width:24px;height:24px}.ranking-icon-wrap,.ranking-icon-fallback{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.ranking-icon{object-fit:cover;border-radius:50%;flex-shrink:0;display:block}.ranking-icon-fallback{color:var(--text-primary);background:#64748b1f;font-size:.9rem;font-weight:700}.ranking-name{flex:1;font-size:.8rem;font-weight:600}.ranking-signal{font-size:.75rem}.ranking-score{text-align:right;min-width:32px;font-size:.75rem;font-weight:700}.ranking-score.up{color:#10b981}.ranking-score.down{color:#ef4444}.ranking-conf{color:var(--text-muted);text-align:right;min-width:28px;font-size:.65rem}.history-item{border-bottom:1px solid #64748b0f;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.history-item:last-child{border-bottom:none}.history-icon{font-size:.9rem}.history-name{flex:1;font-size:.8rem;font-weight:600}.history-change{color:var(--text-muted);font-size:.75rem;font-weight:500}.history-time{color:var(--text-tertiary);text-align:right;min-width:70px;font-size:.65rem}.history-empty{text-align:center;color:var(--text-tertiary);padding:20px;font-size:.8rem}.accuracy-card{background:linear-gradient(135deg, var(--signal-buy-soft), #fff0 68%), var(--bg-card);border:1px solid var(--signal-buy-border);border-radius:12px;align-items:center;gap:16px;margin-bottom:12px;padding:14px 18px;display:flex}.accuracy-title{font-size:.8rem;font-weight:600}.accuracy-rate{color:var(--signal-buy-dark);font-size:1.5rem;font-weight:800}.accuracy-detail{color:var(--text-muted);font-size:.7rem}.export-btn{color:var(--cyan);cursor:pointer;background:#00b8d91a;border:none;border-radius:8px;padding:6px 14px;font-size:.75rem;font-weight:600;transition:background .15s}.export-btn:hover{background:#00b8d933}@media (width<=768px){.sl-tp-grid{grid-template-columns:1fr;gap:8px}.ranking-grid{grid-template-columns:1fr;gap:16px}.sr-bar{flex-direction:column}}.divergence-item{border-radius:10px;align-items:center;gap:10px;margin-bottom:8px;padding:12px 14px;font-size:.8rem;display:flex}.divergence-item.bullish{background:linear-gradient(135deg,#10b98114,#10b98105);border:1px solid #10b98133}.divergence-item.bearish{background:linear-gradient(135deg,#ef444414,#ef444405);border:1px solid #ef444433}.divergence-icon{font-size:1.2rem}.divergence-type{font-weight:700}.divergence-item.bullish .divergence-type{color:#10b981}.divergence-item.bearish .divergence-type{color:#ef4444}.divergence-indicator{background:#64748b1a;border-radius:6px;padding:2px 8px;font-size:.7rem;font-weight:600}.divergence-desc{color:var(--text-muted);text-align:right;flex:1;font-size:.75rem}.divergence-note{color:var(--text-tertiary);text-align:center;background:#64748b0a;border-radius:8px;margin-top:4px;padding:8px;font-size:.7rem}@keyframes skeleton-pulse{0%{opacity:.6}50%{opacity:.3}to{opacity:.6}}.skeleton-card{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--glass-border);padding:20px}.skeleton-row{align-items:center;gap:12px;margin-bottom:14px;display:flex}.skeleton-grow{flex:1}.skeleton-line{background:linear-gradient(90deg, var(--bg-tertiary) 25%, #c8beaf4d 50%, var(--bg-tertiary) 75%);background-size:200% 100%;border-radius:7px;height:14px;margin-bottom:10px;animation:1.5s ease-in-out infinite skeleton-pulse}.skeleton-line.short{width:40%}.skeleton-line.medium{width:65%}.skeleton-line.long{width:85%}.skeleton-line.full{width:100%}.skeleton-line.title{width:50%;height:22px;margin-bottom:14px}.skeleton-line.price{width:35%;height:28px}.skeleton-line.chart{border-radius:8px;width:100%;height:60px;margin:12px 0}.skeleton-circle{background:var(--bg-tertiary);border-radius:50%;width:40px;height:40px;animation:1.5s ease-in-out infinite skeleton-pulse}.weight-preset-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 10px;display:grid}.weight-preset-btn{border:1px solid var(--glass-border);color:var(--text-primary);text-align:left;cursor:pointer;transition:all var(--duration) var(--ease);background:#ffffffd1;border-radius:14px;flex-direction:column;gap:4px;padding:12px 14px;font-family:inherit;display:flex}.weight-preset-btn:hover{border-color:#7cb8d947;transform:translateY(-1px)}.weight-preset-btn.active{border-color:var(--signal-buy-border);background:linear-gradient(135deg, var(--signal-buy-soft), #ffffffeb);box-shadow:0 8px 22px #149a5d14}.weight-preset-title{font-size:.8rem;font-weight:800}.weight-preset-desc{color:var(--text-secondary);font-size:.7rem;line-height:1.45}.weight-preset-status{color:var(--text-secondary);background:#64748b0d;border-radius:14px;justify-content:center;align-items:center;padding:0 10px;font-size:.72rem;font-weight:700;display:flex}.weight-preset-status.custom{color:#d97706;background:#f59e0b14}.weight-slider-group{border-bottom:1px solid #0000000d;padding:14px 0}.weight-slider-group:last-child{border-bottom:none}.weight-slider-top{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.weight-slider-title-wrap{flex-direction:column;gap:4px;min-width:0;display:flex}.weight-slider-label{color:var(--text-primary);font-size:.88rem;font-weight:700}.weight-slider-summary{color:var(--text-secondary);font-size:.74rem;line-height:1.55}.weight-slider-default{color:var(--cyan-dark);background:#7cb8d914;border-radius:999px;flex-shrink:0;padding:4px 10px;font-size:.68rem;font-weight:700}.weight-slider-control{align-items:center;gap:10px;display:flex}.weight-slider{-webkit-appearance:none;background:var(--bg-tertiary);cursor:pointer;border-radius:3px;outline:none;flex:1;height:6px}.weight-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--cyan);width:18px;height:18px;box-shadow:var(--shadow-sm);cursor:pointer;border:2px solid #fff;border-radius:50%;transition:transform .15s}.weight-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.weight-value{text-align:center;min-width:30px;color:var(--cyan-dark);font-size:.8rem;font-weight:600}.weight-guide-details{background:#7cb8d90d;border:1px solid #7cb8d91f;border-radius:14px;margin-top:10px;overflow:hidden}.weight-guide-toggle{cursor:pointer;color:var(--cyan-dark);align-items:center;gap:8px;padding:10px 12px;font-size:.76rem;font-weight:700;list-style:none;display:flex}.weight-guide-toggle::-webkit-details-marker{display:none}.weight-guide-toggle:before{content:"＋";width:18px;height:18px;color:var(--cyan-dark);background:#7cb8d91f;border-radius:999px;justify-content:center;align-items:center;font-size:.8rem;line-height:1;display:inline-flex}.weight-guide-details[open] .weight-guide-toggle:before{content:"－"}.weight-guide-body{padding:0 12px 12px}.weight-guide-desc{color:var(--text-secondary);margin:0 0 10px;font-size:.75rem;line-height:1.65}.weight-guide-meta{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.weight-guide-chip{color:var(--text-secondary);background:#ffffffb8;border:1px solid #b4aa9b29;border-radius:999px;align-items:center;padding:5px 10px;font-size:.7rem;display:inline-flex}.weight-guide-note{color:var(--text-muted);margin-top:10px;font-size:.72rem;line-height:1.6}.alert-rule{background:var(--bg-card);border-radius:var(--radius-sm);border:1px solid var(--glass-border);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;padding:10px 12px;display:flex}.alert-rule select,.alert-rule input{border:1px solid var(--glass-border);background:var(--bg-secondary);color:var(--text-primary);border-radius:8px;padding:6px 10px;font-size:.8rem}.alert-rule-value-input{width:60px}.alert-rule-coin-input{width:84px}.alert-rule .btn-remove-alert{color:#ef4444;cursor:pointer;background:#ef44441a;border:none;border-radius:6px;padding:4px 8px;font-size:.75rem}.alert-rules-list{margin-top:10px}.btn-add-alert{background:var(--cyan-bg);color:var(--cyan-dark);border:1px dashed var(--cyan);cursor:pointer;border-radius:10px;align-items:center;gap:6px;margin-top:8px;padding:8px 16px;font-size:.8rem;transition:background .2s;display:inline-flex}.btn-add-alert:hover{background:#7cb8d933}.correlation-grid{gap:2px;margin-top:10px;font-size:.65rem;display:grid;overflow-x:auto}.corr-cell{aspect-ratio:1;color:#fff;text-shadow:0 1px 2px #0000004d;cursor:pointer;border-radius:4px;justify-content:center;align-items:center;width:100%;font-weight:600;transition:transform .15s;display:flex}.corr-self{background:#3b82f6}.corr-pos-strong{background:#10b981d9}.corr-pos{background:#10b9818c}.corr-neg-strong{background:#ef4444d9}.corr-neg{background:#ef44448c}.corr-cell:hover{z-index:2;transform:scale(1.15)}.corr-header{color:var(--text-primary);text-overflow:ellipsis;justify-content:center;align-items:center;font-size:.6rem;font-weight:700;display:flex;overflow:hidden}.corr-positive{background:#10b981}.corr-negative{background:#ef4444}.corr-neutral{background:#94a3b8}.backtest-summary{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:16px;display:grid}.backtest-stat{text-align:center;background:var(--bg-card);border-radius:var(--radius-sm);border:1px solid var(--glass-border);padding:14px}.backtest-stat-value{background:var(--gradient-main);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.5rem;font-weight:800}.backtest-stat-value.positive,.backtest-trade-pnl.positive{-webkit-text-fill-color:initial;color:var(--signal-buy-dark);background:0 0}.backtest-stat-value.negative,.backtest-trade-pnl.negative{-webkit-text-fill-color:initial;color:var(--signal-sell-dark);background:0 0}.backtest-stat-label{color:var(--text-muted);margin-top:4px;font-size:.7rem}.backtest-trades{max-height:300px;overflow-y:auto}.backtest-trade{border-bottom:1px solid #0000000a;align-items:center;gap:10px;padding:8px 12px;font-size:.8rem;display:flex}.backtest-trade.win{border-left:3px solid #10b981}.backtest-trade.loss{border-left:3px solid #ef4444}.backtest-trade-pnl{font-weight:700}.section-footnote{text-align:center;color:var(--text-muted);margin-top:8px;font-size:.7rem;line-height:1.5}.section-footnote.compact{font-size:.65rem}.section-intro-note{color:var(--text-muted);margin-bottom:12px;font-size:.7rem;line-height:1.55}.mtf-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px;display:grid}.mtf-card{text-align:center;background:var(--bg-card);border-radius:var(--radius-sm);border:1px solid var(--glass-border);padding:10px}.mtf-card.buy{border-color:var(--cyan);background:var(--cyan-bg)}.mtf-card.sell{border-color:var(--pink);background:var(--pink-subtle)}.mtf-tf{color:var(--text-muted);font-size:.7rem;font-weight:600}.mtf-signal{margin-top:4px;font-size:.9rem;font-weight:700}.mtf-score{color:var(--text-secondary);font-size:.7rem}@media (width<=768px){.announcement-banner{border-radius:16px;width:auto;max-width:none;top:10px;left:10px;right:10px;transform:none}.sidebar{z-index:120;height:auto;padding:0 10px calc(8px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffbf5eb;border-top:1px solid #c8beaa40;border-right:none;border-radius:0;flex-direction:row;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 28px #0f172a14;width:100%!important}.sidebar-header,.sidebar-footer{display:none}.sidebar-nav{flex-direction:row;justify-content:space-between;gap:8px;width:100%;padding:8px 0 0;display:flex}.nav-item{text-align:center;border-radius:18px;flex-direction:column;flex:1;justify-content:center;gap:4px;min-width:0;min-height:58px;padding:8px 6px;font-size:.66rem}.nav-item svg{width:18px;height:18px}.nav-item.active{background:#fffffff5;box-shadow:0 10px 22px #7cb8d92e}.main-content{padding:12px 12px calc(104px + env(safe-area-inset-bottom))!important;width:100%!important;margin-left:0!important}.signal-grid{gap:12px;grid-template-columns:1fr!important}.market-tabs-wrap{scrollbar-width:none;scroll-snap-type:x proximity;gap:8px;margin:0 -2px 14px;padding:4px 2px 6px;display:flex;overflow-x:auto}.market-tabs-wrap::-webkit-scrollbar{display:none}.market-status-grid::-webkit-scrollbar{display:none}.chart-tabs::-webkit-scrollbar{display:none}.market-status-grid{gap:10px;margin:0 -2px 10px;padding:0 2px 4px;display:flex;overflow-x:auto}.market-status-summary-bar{gap:10px;padding:12px 13px}.market-status-summary-pill{order:3}.market-status-summary-arrow{order:2}.market-status-card{scroll-snap-align:start;flex:0 0 min(86vw,280px);padding:13px}.coachmark-card{padding:14px}.coachmark-body.compact{flex-direction:column}.sticky-controls-shell{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffcf8f0;border-radius:20px;gap:10px;margin-bottom:14px;padding:12px;top:68px}.coachmark-actions{flex-direction:column;justify-content:stretch}.coachmark-btn{width:100%}.market-tab{white-space:nowrap;scroll-snap-align:start;flex:none;min-width:max-content;padding:10px 16px;font-size:.78rem}.view-header{gap:12px;margin-bottom:14px}.view-header-actions{justify-content:space-between;align-items:center;gap:10px;width:100%}.view-help-btn{padding:8px 12px;font-size:.72rem}.live-indicator{gap:6px;padding:8px 12px}.update-timer{white-space:nowrap;text-overflow:ellipsis;max-width:104px;overflow:hidden}.toolbar{margin-bottom:0}.toolbar-primary{flex-flow:row;align-items:stretch;gap:10px}.toolbar-primary .search-box{flex:1;min-width:0}.search-box{min-width:0;min-height:46px}.sort-dropdown{flex-shrink:0}.sort-btn{justify-content:center;min-height:46px;padding:8px 14px}.mobile-filter-trigger{background:linear-gradient(135deg,#fffffff5,#f8fafcf0);border-radius:16px;min-height:44px;padding:11px 12px;display:inline-flex}.mobile-filter-sheet{z-index:130;max-height:min(76vh,620px);padding:14px 16px calc(18px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);opacity:0;visibility:hidden;pointer-events:none;transition:transform .24s var(--ease), opacity .24s var(--ease), visibility .24s var(--ease);background:#fffbf5fa;border:1px solid #c8beaa47;border-radius:24px 24px 0 0;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(calc(100% + 24px));box-shadow:0 -16px 40px #0f172a2e}.sticky-controls-shell.mobile-filters-open .mobile-filter-sheet{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.mobile-filter-sheet-head{z-index:2;background:#fffbf5f5;justify-content:space-between;align-items:center;gap:12px;margin:-2px 0 12px;padding-bottom:12px;display:flex;position:sticky;top:0}.mobile-filter-sheet-head:before{content:"";background:#94a3b859;border-radius:999px;width:44px;height:4px;position:absolute;top:-8px;left:50%;transform:translate(-50%)}.toolbar-secondary{flex-direction:column;align-items:stretch;gap:14px;margin-bottom:0;display:flex}.filter-tabs{scrollbar-width:none;flex-wrap:nowrap;margin-bottom:0;padding-bottom:2px;overflow-x:auto}.filter-tab{white-space:nowrap;flex:none;padding:8px 12px;font-size:.76rem}.toolbar-extras{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;margin-left:0;display:grid}.toolbar-btn,.mobile-only-toolbar-btn{justify-content:center;width:100%;min-height:42px}.mobile-only-toolbar-btn{grid-column:1/-1;display:inline-flex}.sector-chips{margin-top:12px;padding-bottom:2px}.mobile-filter-backdrop{z-index:125;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a52;border:none;display:block;position:fixed;inset:0}.controls-meta-row{justify-content:space-between;align-items:center;gap:8px}.coin-count-badge{font-size:.72rem}#btn-csv-export{display:none}.fetch-state-banner,.detail-trade-cta{flex-direction:column;align-items:flex-start}.fetch-state-actions{flex-wrap:wrap;width:100%}.detail-trade-link{width:100%}.weight-preset-row{grid-template-columns:1fr 1fr}.stats-grid{gap:10px;grid-template-columns:repeat(2,1fr)!important}.stat-card{padding:14px}.sl-tp-grid,.sr-grid{grid-template-columns:1fr!important}.indicator-detail-grid{gap:10px;grid-template-columns:1fr!important}.big-signal-card{text-align:left;flex-direction:column;align-items:flex-start;gap:14px;padding:18px}.big-signal-info,.big-signal-confidence{width:100%;min-width:0}.big-signal-confidence{text-align:left}.confidence-bar{height:10px}.detail-timeframe{margin-top:10px}.settings-layout{padding:0}.mtf-grid{grid-template-columns:repeat(2,1fr)}.correlation-grid{font-size:.55rem}.backtest-summary{grid-template-columns:repeat(2,1fr)}.signal-card{border-radius:22px;padding:16px}.today-focus-card{border-radius:20px;padding:14px}.today-focus-head{flex-direction:column;margin-bottom:12px}.today-focus-note{align-self:flex-start}.today-focus-grid{grid-template-columns:1fr}.signal-card-header{align-items:flex-start;gap:10px}.signal-card-actions{flex-direction:column-reverse;align-items:flex-end}.signal-pair,.signal-pair-info{min-width:0}.signal-pair-label{font-size:.9rem}.signal-price{font-size:1.36rem}.signal-reason-line{font-size:.72rem}.signal-confidence{gap:8px}.chart-tabs{scrollbar-width:none;padding-bottom:2px;overflow-x:auto}#view-detail .view-header{z-index:70;border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow-sm);background:#fffcf8f0;border-radius:20px;margin-bottom:14px;padding:14px;position:sticky;top:68px}#view-detail .view-title{font-size:1.28rem}#view-detail .view-subtitle{font-size:.78rem}#btn-back-signals{justify-content:center;width:100%}.analytics-grid,.analytics-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.fetch-state-metrics{gap:6px}.telemetry-status-head{flex-direction:column;align-items:flex-start}}@media (width<=480px){.main-content{padding-left:10px!important;padding-right:10px!important}.view-title{font-size:1.32rem}.view-header-actions{align-items:stretch}.market-tab{padding:9px 13px;font-size:.7rem}.market-status-card{flex-basis:min(90vw,260px)}.market-status-summary-bar{flex-wrap:wrap}.toolbar-primary{flex-direction:column}.sort-dropdown,.sort-btn{width:100%}.toolbar-extras{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr!important}.big-signal-card,.signal-card{padding:14px}.today-focus-item{padding:12px}.mtf-grid,.analytics-grid,.analytics-grid.compact{grid-template-columns:1fr}.fetch-state-actions{flex-direction:column;width:100%}.fetch-state-btn{width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.pattern-item{border-radius:var(--radius-sm);background:var(--bg-card);border:1px solid var(--glass-border);align-items:center;gap:10px;margin-bottom:8px;padding:10px 14px;display:flex}.pattern-item.bullish{border-left:3px solid #10b981}.pattern-item.bearish{border-left:3px solid #ef4444}.pattern-emoji{font-size:1.3rem}.pattern-name{font-size:.85rem;font-weight:700}.pattern-desc{color:var(--text-muted);margin-top:2px;font-size:.72rem}.pattern-bias{margin-left:auto;font-size:.7rem;font-weight:600}.pattern-bias.bullish{color:#10b981}.pattern-bias.bearish{color:#ef4444}.target-list{margin:0;padding:0;list-style:none}.target-item{border-bottom:1px solid #0000000a;justify-content:space-between;align-items:center;padding:8px 12px;font-size:.8rem;display:flex}.target-item:last-child{border-bottom:none}.target-label{color:var(--text-secondary)}.target-price{font-weight:700}.target-trend-note{color:var(--text-muted);font-size:.7rem;font-weight:700}.target-trend-note.positive{color:var(--signal-buy-dark)}.target-trend-note.negative{color:var(--signal-sell-dark)}.target-pct{margin-left:8px;font-size:.7rem}.target-pct.positive{color:#10b981}.target-pct.negative{color:#ef4444}.target-confidence{border-radius:4px;padding:2px 6px;font-size:.65rem}.target-confidence.high{color:#10b981;background:#10b98126}.target-confidence.medium{color:#d97706;background:#eab30826}.target-confidence.low{color:#94a3b8;background:#94a3b826}.vol-profile-row{align-items:center;gap:8px;padding:3px 0;font-size:.7rem;display:flex}.vol-profile-label{text-align:right;min-width:90px;color:var(--text-muted)}.vol-profile-bar-wrap{background:var(--bg-tertiary);border-radius:3px;flex:1;height:14px;overflow:hidden}.vol-profile-bar{background:var(--cyan);border-radius:3px;width:0;height:100%;transition:width .3s}.vol-profile-bar.high{background:var(--pink)}.vol-profile-pct{min-width:36px;color:var(--text-primary);font-weight:600}.kbd-help{z-index:90;background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:var(--shadow-lg);max-width:280px;padding:16px 20px;font-size:.78rem;display:none;position:fixed;bottom:16px;right:16px}.kbd-help.show{display:block}.kbd-help h3{margin:0 0 10px;font-size:.9rem}.kbd-row{justify-content:space-between;padding:4px 0;display:flex}kbd{background:var(--bg-tertiary);border:1px solid var(--glass-border);border-radius:4px;padding:2px 7px;font-family:monospace;font-size:.75rem;display:inline-block}.btn-export-report{background:var(--gradient-main);color:#fff;cursor:pointer;border:none;border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-size:.78rem;font-weight:600;transition:opacity .2s;display:inline-flex}.btn-export-report:hover{opacity:.85}.sector-flow-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;display:grid}.sector-flow-card{text-align:center;border-radius:var(--radius-sm);border:1px solid var(--glass-border);background:var(--bg-card);padding:10px}.sector-flow-name{color:var(--text-muted);font-size:.72rem;font-weight:600}.sector-flow-value{margin-top:4px;font-size:1.1rem;font-weight:800}.sector-flow-value.positive{color:#10b981}.sector-flow-value.negative{color:#ef4444}body.dark-mode .pattern-item{background:var(--bg-card);border-color:var(--glass-border)}body.dark-mode .target-item{border-color:#ffffff0f}body.dark-mode .vol-profile-bar-wrap{background:#ffffff14}body.dark-mode .corr-header{color:var(--text-primary)}body.dark-mode .backtest-stat{background:var(--bg-card);border-color:var(--glass-border)}body.dark-mode .backtest-trade{border-color:#ffffff0f}body.dark-mode .mtf-card,body.dark-mode .alert-rule{background:var(--bg-card);border-color:var(--glass-border)}body.dark-mode .alert-rule select,body.dark-mode .alert-rule input{background:var(--bg-tertiary);border-color:var(--glass-border);color:var(--text-primary)}body.dark-mode .weight-slider{background:#ffffff1a}body.dark-mode .skeleton-line{background:linear-gradient(90deg,#ffffff0f 25%,#ffffff1f 50%,#ffffff0f 75%)}body.dark-mode .skeleton-circle{background:#ffffff14}body.dark-mode .kbd-help{background:var(--bg-card);border-color:var(--glass-border)}body.dark-mode kbd{background:var(--bg-tertiary);border-color:var(--glass-border);color:var(--text-primary)}body.dark-mode .sector-flow-card{background:var(--bg-card);border-color:var(--glass-border)}.progress-bar-container{z-index:9999;background:0 0;height:3px;position:fixed;top:0;left:0;right:0}.progress-bar-fill{background:var(--gradient-main);border-radius:0 2px 2px 0;width:0;height:100%;transition:width .3s;box-shadow:0 0 8px #4facfe80}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.signal-card{animation:.35s both cardFadeIn}@keyframes viewFadeIn{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}.view-container.active{animation:.25s viewFadeIn}.splash-screen{z-index:99999;background:var(--bg-main);flex-direction:column;justify-content:center;align-items:center;transition:opacity .5s;animation:.8s 15s forwards safeHideSplash;display:flex;position:fixed;inset:0}@keyframes safeHideSplash{to{opacity:0;pointer-events:none;z-index:-1}}.splash-screen.fade-out{opacity:0;pointer-events:none}.splash-logo{margin-bottom:12px;font-size:3rem;animation:1.5s infinite splashPulse}@keyframes splashPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.splash-title{background:var(--gradient-main);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:8px;font-size:1.3rem;font-weight:800}.splash-sub{color:var(--text-muted);font-size:.75rem}.splash-dots{gap:6px;margin-top:20px;display:flex}.splash-dot{background:var(--cyan);border-radius:50%;width:8px;height:8px;animation:1.2s infinite splashDot}.splash-dot:nth-child(2){animation-delay:.2s}.splash-dot:nth-child(3){animation-delay:.4s}@keyframes splashDot{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.empty-state{text-align:center;color:var(--text-muted);padding:48px 20px}.empty-state-icon{opacity:.6;margin-bottom:12px;font-size:3rem}.empty-state-title{color:var(--text-secondary);margin-bottom:6px;font-size:1rem;font-weight:700}.empty-state-desc{font-size:.8rem;line-height:1.5}.empty-state-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:16px;display:flex}.empty-state-error{padding:56px 20px}.signal-summary-banner{border-radius:var(--radius);background:var(--bg-card);border:1px solid var(--glass-border);justify-content:center;align-items:center;gap:12px;margin-bottom:12px;padding:10px 16px;font-size:.8rem;display:flex}.summary-chip{border-radius:20px;align-items:center;gap:4px;padding:4px 10px;font-size:.78rem;font-weight:700;display:inline-flex}.summary-chip.buy{background:var(--signal-buy-bg);color:var(--signal-buy-dark);border:1px solid var(--signal-buy-border)}.summary-chip.sell{background:var(--signal-sell-bg);color:var(--signal-sell-dark);border:1px solid var(--signal-sell-border)}.summary-chip.hold{color:#94a3b8;background:#94a3b81f}.summary-chip.new{color:#0369a1;background:#0ea5e91a;border:1px solid #0ea5e92e}.summary-total{color:var(--text-muted);font-size:.72rem}.sort-dropdown{display:inline-block;position:relative}.sort-btn{border:1px solid var(--glass-border);background:var(--bg-card);color:var(--text-primary);cursor:pointer;border-radius:8px;align-items:center;gap:4px;padding:6px 12px;font-size:.75rem;display:flex}.sort-menu{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);z-index:100;min-width:160px;margin-top:4px;display:none;position:absolute;top:100%;right:0}.sort-menu.show{display:block}.sort-option{text-align:left;width:100%;color:var(--text-primary);cursor:pointer;background:0 0;border:none;padding:8px 14px;font-size:.78rem;display:block}.sort-option:hover{background:var(--bg-tertiary)}.sort-option.active{color:var(--cyan);font-weight:700}.detail-tabs{border-bottom:2px solid var(--glass-border);gap:0;margin-bottom:16px;display:flex;overflow-x:auto}.detail-tab{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:10px 16px;font-size:.8rem;font-weight:600;transition:all .2s}.detail-tab:hover{color:var(--text-primary)}.detail-tab.active{color:var(--cyan);border-bottom-color:var(--cyan)}.detail-tab-panel{display:none}.detail-tab-panel.active{animation:.2s viewFadeIn;display:block}.btn-load-more{border-radius:var(--radius);border:1px dashed var(--glass-border);width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;margin-top:12px;padding:14px;font-size:.85rem;font-weight:600;transition:all .2s;display:block}.btn-load-more:hover{background:var(--bg-tertiary);color:var(--text-primary);border-style:solid}body.dark-mode .signal-summary-banner,body.dark-mode .sort-btn,body.dark-mode .sort-menu{background:var(--bg-card);border-color:var(--glass-border)}body.dark-mode .sort-option:hover{background:var(--bg-tertiary)}body.dark-mode .detail-tabs{border-color:#ffffff14}body.dark-mode .btn-load-more{border-color:#ffffff26}body.dark-mode .splash-screen{background:var(--bg-main)}.portfolio-summary{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;display:grid}.portfolio-stat{text-align:center;border-radius:var(--radius-sm);background:var(--bg-tertiary);border:1px solid var(--glass-border);padding:10px}.portfolio-stat-label{color:var(--text-muted);font-size:.65rem}.portfolio-stat-value{margin-top:2px;font-size:1.1rem;font-weight:800}.portfolio-trade{border-bottom:1px solid #0000000a;align-items:center;gap:8px;padding:8px 10px;font-size:.75rem;display:flex}.portfolio-trade:last-child{border-bottom:none}.portfolio-trade .badge-sm{border-radius:4px;padding:1px 6px;font-size:.65rem;font-weight:700}.portfolio-trade .badge-buy{background:var(--signal-buy-bg);color:var(--signal-buy-dark);border:1px solid var(--signal-buy-border)}.portfolio-trade .badge-sell{background:var(--signal-sell-bg);color:var(--signal-sell-dark);border:1px solid var(--signal-sell-border)}.accuracy-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.accuracy-card{text-align:center;border-radius:var(--radius-sm);background:var(--bg-tertiary);border:1px solid var(--glass-border);padding:12px}.accuracy-card.buy-card{background:linear-gradient(135deg, var(--signal-buy-soft), #fff0 65%), var(--bg-tertiary);border-color:var(--signal-buy-border)}.accuracy-card.sell-card{background:linear-gradient(135deg, var(--signal-sell-soft), #fff0 65%), var(--bg-tertiary);border-color:var(--signal-sell-border)}.accuracy-card.buy-card .accuracy-label:first-child{color:var(--signal-buy-dark)}.accuracy-card.sell-card .accuracy-label:first-child{color:var(--signal-sell-dark)}.accuracy-label{color:var(--text-muted);margin-bottom:4px;font-size:.7rem}.accuracy-value{font-size:1.2rem;font-weight:800}.accuracy-value.good{color:#10b981}.accuracy-value.bad{color:#ef4444}.accuracy-value.neutral{color:#d97706}.sidebar.collapsed{width:60px}.sidebar.collapsed .nav-text,.sidebar.collapsed .sidebar-title{display:none}.sidebar.collapsed .sidebar-footer{font-size:.6rem}.sidebar.collapsed .nav-item{justify-content:center;padding:12px 0}.sidebar.collapsed .nav-icon{margin:0}.btn-sidebar-toggle{background:var(--bg-card);border:1px solid var(--glass-border);cursor:pointer;z-index:10;width:24px;height:24px;box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;font-size:.7rem;transition:transform .2s;display:flex;position:absolute;top:10px;right:-12px}.sidebar.collapsed+.main-content{margin-left:0}.announcement-banner{color:#fff;text-align:center;width:max-content;max-width:min(680px,100vw - 48px);box-shadow:var(--shadow-md);z-index:120;background:linear-gradient(135deg,#4facfe 0%,#00f2fe 100%);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:8px 44px 8px 16px;font-size:.78rem;font-weight:600;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%)}.announcement-banner .btn-close-announcement{color:#fff;cursor:pointer;opacity:.7;background:0 0;border:none;font-size:1rem;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.announcement-banner .btn-close-announcement:hover{opacity:1}.chart-tooltip{background:var(--bg-card);border:1px solid var(--glass-border);box-shadow:var(--shadow-lg);pointer-events:none;z-index:20;white-space:nowrap;border-radius:6px;padding:6px 10px;font-size:.7rem;position:absolute}.chart-zoom-controls{justify-content:center;gap:4px;margin-top:6px;display:flex}.chart-zoom-btn{border:1px solid var(--glass-border);background:var(--bg-card);color:var(--text-primary);cursor:pointer;border-radius:6px;padding:3px 10px;font-size:.7rem;transition:background .2s}.chart-zoom-btn:hover{background:var(--bg-tertiary)}.chart-zoom-btn.active{background:var(--cyan);color:#fff;border-color:var(--cyan)}.lang-toggle{border:1px solid var(--glass-border);border-radius:8px;font-size:.7rem;display:inline-flex;overflow:hidden}.lang-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px 10px;font-weight:600}.lang-btn.active{background:var(--cyan);color:#fff}body.dark-mode .portfolio-stat{background:var(--bg-card);border-color:var(--glass-border)}body.dark-mode .portfolio-trade{border-color:#ffffff0f}body.dark-mode .accuracy-card{background:var(--bg-card);border-color:var(--glass-border)}body.dark-mode .accuracy-card.buy-card{background:linear-gradient(135deg, var(--signal-buy-soft), #fff0 65%), var(--bg-card);border-color:var(--signal-buy-border)}body.dark-mode .accuracy-card.sell-card{background:linear-gradient(135deg, var(--signal-sell-soft), #fff0 65%), var(--bg-card);border-color:var(--signal-sell-border)}body.dark-mode .btn-sidebar-toggle,body.dark-mode .chart-tooltip,body.dark-mode .chart-zoom-btn{background:var(--bg-card);border-color:var(--glass-border)}body.dark-mode .announcement-banner{background:linear-gradient(135deg,#1e3a5f 0%,#0f5132 100%)}.trade-cta{color:#fff;background:linear-gradient(135deg,#10b981 0%,#06b6d4 50%,#3b82f6 100%) 0 0/200% 100%;border-radius:12px;align-items:center;gap:10px;margin:12px 14px;padding:12px 14px;text-decoration:none;transition:transform .2s,box-shadow .2s;animation:3s infinite ctaShimmer;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 15px #10b9814d}.trade-cta[hidden]{display:none}.trade-cta:hover{transform:translateY(-2px)scale(1.02);box-shadow:0 6px 20px #10b98173}@keyframes ctaShimmer{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.trade-cta-pulse{background:#fbbf24;border-radius:50%;width:10px;height:10px;animation:2s infinite ctaPulse;position:absolute;top:-2px;right:-2px}@keyframes ctaPulse{0%,to{opacity:1;transform:scale(1);box-shadow:0 0 #fbbf24b3}50%{opacity:.8;transform:scale(1.3);box-shadow:0 0 0 6px #fbbf2400}}.trade-cta-icon{flex-shrink:0;font-size:1.4rem}.trade-cta-text{flex-direction:column;display:flex}.trade-cta-main{letter-spacing:.02em;font-size:.85rem;font-weight:800}.trade-cta-sub{opacity:.85;font-size:.6rem;font-weight:500}.sidebar.collapsed .trade-cta{justify-content:center;margin:8px 6px;padding:10px}.sidebar.collapsed .trade-cta-text{display:none}.sidebar.collapsed .trade-cta-icon{font-size:1.2rem}.detail-trade-cta{box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#149a5d14,#ffffffdb);border:1px solid #149a5d2e;border-radius:18px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;padding:16px 18px;display:flex}.detail-trade-copy{flex-direction:column;gap:4px;display:flex}.detail-trade-copy-strong .detail-trade-title{font-size:1rem}.detail-trade-copy-strong .detail-trade-text{color:var(--text-primary)}.detail-trade-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--signal-buy-dark);font-size:.68rem;font-weight:800}.detail-trade-title{color:var(--text-primary);font-size:.9rem}.detail-trade-text{color:var(--text-secondary);font-size:.76rem;line-height:1.45}.detail-trade-note{color:var(--text-muted);font-size:.66rem;line-height:1.4}.detail-trade-link{color:#fff;white-space:nowrap;background:linear-gradient(135deg,#10b981 0%,#06b6d4 100%);border-radius:12px;justify-content:center;align-items:center;padding:10px 16px;font-size:.8rem;font-weight:800;text-decoration:none;display:inline-flex;box-shadow:0 10px 24px #10b9812e}.detail-trade-link-strong{padding:12px 18px;box-shadow:0 14px 32px #10b9813d}.detail-invalidation{box-shadow:var(--shadow-sm);border-radius:16px;margin-bottom:18px;padding:12px 16px;font-size:.78rem;font-weight:700;line-height:1.5}.detail-invalidation.buy{color:var(--signal-buy-dark);background:#149a5d14;border:1px solid #149a5d2e}.detail-invalidation.sell{color:var(--signal-sell-dark);background:#e0556114;border:1px solid #e055612e}.indicator-guide-list{flex-direction:column;gap:6px;display:flex}.indicator-guide-item{border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:var(--bg-tertiary);overflow:hidden}.indicator-guide-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:10px 12px;font-size:.8rem;list-style:none;display:flex}.indicator-guide-header::-webkit-details-marker{display:none}.indicator-guide-signal{font-size:.9rem}.indicator-guide-name{flex:1;font-size:.78rem;font-weight:700}.indicator-guide-badge{border-radius:10px;padding:2px 8px;font-size:.65rem;font-weight:700}.indicator-guide-badge.buy{background:var(--signal-buy-bg);color:var(--signal-buy-dark);border:1px solid var(--signal-buy-border)}.indicator-guide-badge.sell{background:var(--signal-sell-bg);color:var(--signal-sell-dark);border:1px solid var(--signal-sell-border)}.indicator-guide-badge.neutral{color:#94a3b8;background:#94a3b81f}.indicator-guide-body{padding:0 12px 12px;font-size:.75rem;line-height:1.6}.indicator-guide-desc{color:var(--text-secondary);margin:0 0 8px}.indicator-guide-rules{flex-direction:column;gap:4px;display:flex}.indicator-rule{border-radius:6px;align-items:flex-start;gap:6px;padding:4px 8px;font-size:.7rem;display:flex}.indicator-rule.buy{background:var(--signal-buy-soft);border:1px solid var(--signal-buy-border)}.indicator-rule.sell{background:var(--signal-sell-soft);border:1px solid var(--signal-sell-border)}.indicator-rule.buy .rule-label{color:var(--signal-buy-dark)}.indicator-rule.sell .rule-label{color:var(--signal-sell-dark)}.rule-label{white-space:nowrap;font-size:.65rem;font-weight:700}.rule-text{color:var(--text-secondary)}body.dark-mode .indicator-guide-item{background:var(--bg-card);border-color:var(--glass-border)}body.dark-mode .indicator-rule.buy{background:var(--signal-buy-soft)}body.dark-mode .indicator-rule.sell{background:var(--signal-sell-soft)}.sector-chips{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:6px;padding:6px 0;display:flex;overflow-x:auto}.sector-chips::-webkit-scrollbar{display:none}.sector-chip{background:var(--bg-tertiary);border:1px solid var(--glass-border);cursor:pointer;white-space:nowrap;color:var(--text-secondary);border-radius:20px;align-items:center;gap:4px;padding:5px 12px;font-size:.72rem;font-weight:600;transition:all .2s;display:flex}.sector-chip:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.sector-chip.active{background:var(--gradient-main);color:#fff;border-color:#0000}.sector-chip-count{background:#0000001a;border-radius:8px;padding:1px 5px;font-size:.6rem;font-weight:700}.sector-chip.active .sector-chip-count{background:#ffffff40}.sector-group-header{border-bottom:2px solid var(--accent-primary);color:var(--text-primary);grid-column:1/-1;align-items:center;gap:8px;margin-top:4px;padding:10px 0 4px;font-size:.85rem;font-weight:800;display:flex}.sector-group-header .sector-group-icon{font-size:1rem}.sector-group-header .sector-group-count{color:var(--text-muted);margin-left:auto;font-size:.65rem;font-weight:500}body.dark-mode .sector-chip{background:var(--bg-card);border-color:var(--glass-border)}body.dark-mode .sector-group-header{border-bottom-color:var(--accent-primary)}
