.hub-card{--hub-bg:var(--surface-1);--hub-bg-elevated:var(--surface-2);--hub-border:var(--border-1);--hub-text-primary:var(--text-primary);--hub-text-secondary:var(--text-secondary);--hub-text-muted:var(--text-muted);--hub-accent:var(--accent-primary);--hub-positive:var(--price-up);--hub-negative:var(--price-down);background:var(--hub-bg);border:1px solid var(--hub-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;margin:1.5rem 0;padding:1.5rem;position:relative;overflow:hidden}.hub-card:before{content:"";background:var(--brand-gradient);opacity:.9;height:3px;position:absolute;top:0;left:0;right:0}.hub-card--buy:before{background:linear-gradient(90deg,#10b981,#34d399,#10b981)}.hub-card--sell:before{background:linear-gradient(90deg,#ef4444,#f87171,#ef4444)}.hub-card--hold:before{background:linear-gradient(90deg,#f59e0b,#fbbf24,#f59e0b)}.hub-card--loading{justify-content:center;align-items:center;min-height:200px;display:flex}.hub-card__loading-spinner{border:3px solid var(--hub-border);border-top-color:var(--hub-accent);border-radius:50%;width:32px;height:32px;animation:1s linear infinite hub-spin}@keyframes hub-spin{to{transform:rotate(360deg)}}.hub-card__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.hub-card__identity{align-items:center;gap:.875rem;display:flex}.hub-card__icon-fallback{background:var(--hub-bg-elevated);width:48px;height:48px;color:var(--hub-accent);border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;font-weight:700;display:flex}.hub-card__name{flex-direction:column;gap:.125rem;display:flex}.hub-card__symbol{color:var(--hub-text-primary);margin:0;font-size:1.75rem;font-weight:700;line-height:1.1}.hub-card__subtitle{color:var(--hub-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.hub-card__price-section{background:var(--hub-bg-elevated);border:1px solid var(--hub-border);border-radius:16px;margin-bottom:1rem;padding:1.25rem}.hub-card__price-section--loading{min-height:100px}.hub-card__price-skeleton{background:var(--hub-border);border-radius:8px;width:180px;height:36px;animation:1.5s ease-in-out infinite hub-pulse}@keyframes hub-pulse{0%,to{opacity:1}50%{opacity:.5}}.hub-card__price-main{flex-wrap:wrap;align-items:center;gap:.875rem;margin-bottom:1rem;display:flex}.hub-card__price-value{color:var(--hub-text-primary);font-variant-numeric:tabular-nums;font-size:2.25rem;font-weight:700;line-height:1}.hub-card__price-change{color:var(--hub-text-secondary);background:#64748b26;border-radius:8px;align-items:center;gap:.25rem;padding:.375rem .75rem;font-size:1rem;font-weight:600;display:inline-flex}.hub-card__price-change.positive{color:var(--hub-positive);background:#10b98126}.hub-card__price-change.negative{color:var(--hub-negative);background:#ef444426}.hub-card__change-arrow{font-size:.875rem}.hub-card__live-badge{color:var(--hub-positive);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.375rem;font-size:.6875rem;font-weight:600;display:inline-flex}.hub-card__live-dot{background:var(--hub-positive);border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite hub-live-pulse}@keyframes hub-live-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.hub-card__range{margin-top:.75rem}.hub-card__range-bar{height:8px;margin-bottom:.5rem;position:relative}.hub-card__range-track{background:linear-gradient(90deg,var(--hub-negative),var(--hub-border)50%,var(--hub-positive));opacity:.3;border-radius:4px;height:100%;position:absolute;top:0;left:0;right:0;overflow:visible}.hub-card__range-fill{background:var(--brand-gradient);border-radius:4px;height:100%;transition:width .3s}.hub-card__range-indicator{z-index:2;transition:left .3s;position:absolute;top:50%;transform:translate(-50%,-50%)}.hub-card__range-dot{background:var(--hub-text-primary);border:3px solid var(--hub-accent);width:16px;height:16px;box-shadow:0 0 12px var(--accent-glow);border-radius:50%}.hub-card__range-labels{justify-content:space-between;margin-top:.5rem;display:flex}.hub-card__range-low,.hub-card__range-high{flex-direction:column;gap:.125rem;display:flex}.hub-card__range-high{text-align:right}.hub-card__range-title{color:var(--hub-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.625rem;font-weight:500}.hub-card__range-value{color:var(--hub-text-secondary);font-variant-numeric:tabular-nums;font-size:.875rem;font-weight:600}.hub-card__sentiment-row{background:var(--hub-bg-elevated);border:1px solid var(--hub-border);border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.875rem 1rem;display:flex}.hub-card__sentiment-label{color:var(--hub-text-muted);text-transform:uppercase;letter-spacing:.1em;font-size:.6875rem;font-weight:600}.hub-card__sentiment{border-radius:20px;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.8125rem;font-weight:600;transition:transform .2s;display:inline-flex}.hub-card__sentiment:hover{transform:scale(1.02)}.hub-card__sentiment-icon{font-size:.75rem}.hub-card__sentiment--very-bullish{color:#34d399;background:linear-gradient(135deg,#10b98140,#05966933);border:1px solid #10b9814d}.hub-card__sentiment--bullish{color:#10b981;background:#10b98126;border:1px solid #10b98140}.hub-card__sentiment--slightly-bullish{color:#34d399;background:#10b9811a;border:1px solid #10b98133}.hub-card__sentiment--neutral{color:var(--hub-text-secondary);background:#64748b26;border:1px solid #64748b40}.hub-card__sentiment--slightly-bearish{color:#f87171;background:#ef44441a;border:1px solid #ef444433}.hub-card__sentiment--bearish{color:#ef4444;background:#ef444426;border:1px solid #ef444440}.hub-card__sentiment--very-bearish{color:#f87171;background:linear-gradient(135deg,#ef444440,#dc262633);border:1px solid #ef44444d}.hub-card__chart-row{background:var(--hub-bg-elevated);border:1px solid var(--hub-border);border-radius:12px;align-items:center;gap:1.25rem;margin-bottom:1rem;padding:1rem;display:flex}.hub-card__chart{flex-shrink:0}.hub-card__scores{flex-wrap:wrap;flex:1;gap:.75rem;display:flex}.hub-card__score{background:var(--hub-bg);border:1px solid var(--hub-border);border-radius:10px;flex-direction:column;align-items:center;min-width:70px;padding:.625rem 1rem;display:flex}.hub-card__score-label{color:var(--hub-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-size:.625rem;font-weight:500}.hub-card__score-value{font-variant-numeric:tabular-nums;font-size:1.125rem;font-weight:700}.hub-card__score--positive .hub-card__score-value{color:var(--hub-positive)}.hub-card__score--negative .hub-card__score-value{color:var(--hub-negative)}.hub-card__correlation{background:var(--hub-bg-elevated);border:1px solid var(--hub-border);border-radius:10px;align-items:center;gap:.625rem;margin-bottom:1rem;padding:.625rem 1rem;font-size:.875rem;display:flex}.hub-card__correlation-label{color:var(--hub-text-muted);font-weight:500}.hub-card__correlation-value{font-variant-numeric:tabular-nums;font-weight:700}.hub-card__correlation-value--green{color:var(--hub-positive)}.hub-card__correlation-value--red{color:var(--hub-negative)}.hub-card__correlation-value--yellow{color:#f59e0b}.hub-card__correlation-tag{color:var(--hub-text-muted);background:var(--hub-bg);border-radius:6px;padding:.125rem .5rem;font-size:.75rem}.hub-card__analysis{background:var(--hub-bg-elevated);border:1px solid var(--hub-border);border-radius:16px;margin-bottom:1rem;padding:1.25rem}.hub-card__analysis-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.hub-card__ai-badge{background:var(--brand-gradient);color:#fff;box-shadow:0 2px 8px var(--accent-glow);border-radius:20px;align-items:center;gap:.375rem;padding:.375rem .875rem;font-size:.75rem;font-weight:600;display:inline-flex}.hub-card__ai-badge svg{opacity:.9;flex-shrink:0}.hub-card__article-count{color:var(--hub-text-muted);font-size:.8125rem;font-weight:500}.hub-card__overview{color:var(--hub-text-secondary);border-bottom:1px solid var(--hub-border);margin:0 0 1rem;padding-bottom:1rem;font-size:.9375rem;line-height:1.6}.hub-card__summary{color:var(--hub-text-secondary);font-size:1rem;line-height:1.8}.hub-card__summary-intro{margin:0 0 1rem}.hub-card__summary-heading{text-transform:uppercase;letter-spacing:.06em;color:var(--hub-accent,var(--accent));margin:1.25rem 0 .5rem;font-size:.75rem;font-weight:700}.hub-card__summary-heading:first-of-type{margin-top:0}.hub-card__summary-paragraph{margin:0 0 .25rem}.hub-card__link{color:var(--hub-accent);font-weight:500;text-decoration:none;transition:color .2s}.hub-card__link:hover{color:var(--accent-secondary,#3b82f6);text-decoration:underline}.hub-card__reasoning{border-top:1px solid var(--hub-border);margin-top:1rem;padding-top:1rem}.hub-card__reasoning-label{color:var(--hub-text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem;font-size:.6875rem;font-weight:600;display:block}.hub-card__reasoning p{color:var(--hub-text-secondary);margin:0;font-size:.9375rem;line-height:1.6}.hub-card__section{background:var(--hub-bg-elevated);border:1px solid var(--hub-border);border-radius:12px;margin-bottom:.75rem;overflow:hidden}.hub-card__section:last-child{margin-bottom:0}.hub-card__section>summary{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--hub-text-primary);align-items:center;gap:.5rem;padding:1rem 1.25rem;font-size:.875rem;font-weight:600;list-style:none;transition:background .2s;display:flex}.hub-card__section>summary::-webkit-details-marker{display:none}.hub-card__section>summary:hover{background:var(--hub-bg)}.hub-card__section-count{color:var(--hub-text-muted);background:var(--hub-bg);border-radius:10px;margin-left:.25rem;padding:.125rem .5rem;font-size:.6875rem;font-weight:500}.hub-card__chevron{color:var(--hub-text-muted);margin-left:auto;transition:transform .2s}.hub-card__section[open]>summary .hub-card__chevron{transform:rotate(180deg)}.hub-card__section-content{padding:0 1.25rem 1.25rem}.hub-card .tech-indicators{grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1rem;display:grid}.hub-card .tech-indicator{background:var(--hub-bg);border:1px solid var(--hub-border);border-radius:12px;padding:1.25rem;box-shadow:0 2px 8px #0000000a}.hub-card .tech-indicator__header{border-bottom:1px solid var(--hub-border);justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.75rem;display:flex}.hub-card .tech-indicator__title{align-items:center;gap:.5rem;display:flex}.hub-card .tech-indicator__icon{color:var(--hub-accent);opacity:.8}.hub-card .tech-indicator__label{color:var(--hub-text-primary);font-size:.8125rem;font-weight:600}.hub-card .tech-indicator__value{font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:700}.hub-card .tech-indicator__badge{text-transform:uppercase;letter-spacing:.03em;border-radius:6px;align-items:center;margin-top:.75rem;padding:.25rem .625rem;font-size:.6875rem;font-weight:600;display:inline-flex}.hub-card .tech-indicator__badge--oversold,.hub-card .tech-indicator__badge--bullish{color:#10b981;background:#10b98126;border:1px solid #10b98140}.hub-card .tech-indicator__badge--overbought,.hub-card .tech-indicator__badge--bearish{color:#ef4444;background:#ef444426;border:1px solid #ef444440}.hub-card .tech-indicator__badge--neutral,.hub-card .tech-indicator__badge--weak,.hub-card .tech-indicator__badge--strong{color:var(--hub-text-secondary);background:#64748b26;border:1px solid #64748b40}.hub-card .rsi-gauge{margin:.75rem 0}.hub-card .rsi-gauge__track{background:linear-gradient(90deg,#10b9814d 0% 30%,#64748b33 30% 70%,#ef44444d 70% 100%);border-radius:4px;height:8px;position:relative}.hub-card .rsi-gauge__dot{background:var(--hub-text-primary);border:3px solid var(--hub-accent);width:14px;height:14px;box-shadow:0 0 8px var(--accent-glow);z-index:2;border-radius:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.hub-card .rsi-gauge__marker{color:var(--hub-text-muted);margin-top:4px;font-size:.625rem;position:absolute;top:100%;transform:translate(-50%)}.hub-card .macd-display,.hub-card .bollinger-display,.hub-card .trend-display{background:var(--hub-bg-elevated);border-radius:8px;flex-direction:column;gap:.375rem;margin-top:.5rem;padding:.75rem;display:flex}.hub-card .macd-display__row,.hub-card .bollinger-display__row,.hub-card .trend-display__row{justify-content:space-between;align-items:center;display:flex}.hub-card .macd-display__label,.hub-card .bollinger-display__label,.hub-card .trend-display__label{color:var(--hub-text-muted);font-size:.75rem}.hub-card .macd-display__value,.hub-card .bollinger-display__value,.hub-card .trend-display__value{color:var(--hub-text-primary);font-variant-numeric:tabular-nums;font-size:.875rem;font-weight:600}.hub-card .tech-indicator__trend-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:6px;align-items:center;padding:.25rem .75rem;font-size:.6875rem;font-weight:700;display:inline-flex}.hub-card .tech-indicator__trend-badge--bullish{color:#10b981;background:#10b98126;border:1px solid #10b98140}.hub-card .tech-indicator__trend-badge--bearish{color:#ef4444;background:#ef444426;border:1px solid #ef444440}.hub-card .tech-indicator__trend-badge--neutral{color:var(--hub-text-secondary);background:#64748b26;border:1px solid #64748b40}.hub-card .tech-indicator__trend-icon{justify-content:center;align-items:center;display:flex}.hub-card .tech-indicator__trend-icon--bullish{color:#10b981}.hub-card .tech-indicator__trend-icon--bearish{color:#ef4444}.hub-card .tech-indicator--levels{grid-column:span 2}.hub-card .levels-display{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.hub-card .level-chip{border-radius:8px;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.8125rem;display:inline-flex}.hub-card .level-chip--resistance{color:#ef4444;background:#ef44441a;border:1px solid #ef444433}.hub-card .level-chip--support{color:#10b981;background:#10b9811a;border:1px solid #10b98133}.hub-card .level-chip__label{opacity:.8;font-weight:500}.hub-card .level-chip__value{font-variant-numeric:tabular-nums;font-weight:600}.hub-card .chart-patterns{background:var(--hub-bg);border:1px solid var(--hub-border);border-radius:12px;margin-bottom:1rem;padding:1rem}.hub-card .chart-patterns__title{color:var(--hub-text-primary);border-bottom:1px solid var(--hub-border);margin-bottom:.75rem;padding-bottom:.5rem;font-size:.8125rem;font-weight:600}.hub-card .chart-pattern{border-bottom:1px solid var(--hub-border);justify-content:space-between;align-items:center;padding:.625rem 0;display:flex}.hub-card .chart-pattern:last-child{border-bottom:none;padding-bottom:0}.hub-card .chart-pattern__info{align-items:center;gap:.625rem;display:flex}.hub-card .chart-pattern__icon{background:var(--hub-bg-elevated);border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.hub-card .chart-pattern__name{color:var(--hub-text-primary);font-size:.875rem;font-weight:600}.hub-card .chart-pattern__description{color:var(--hub-text-muted);font-size:.75rem}.hub-card .chart-pattern__confidence{color:var(--hub-accent);font-size:.875rem;font-weight:600}.hub-card .news-events{background:var(--hub-bg);border:1px solid var(--hub-border);border-radius:12px;padding:1rem}.hub-card .news-events__empty{text-align:center;color:var(--hub-text-muted);padding:1rem 0;font-size:.875rem}.hub-card .related-news{flex-direction:column;gap:.5rem;display:flex}.hub-card .related-news__item{background:var(--hub-bg);border:1px solid var(--hub-border);border-radius:8px;flex-direction:column;gap:.25rem;padding:.75rem;text-decoration:none;transition:background .2s,border-color .2s;display:flex}.hub-card .related-news__item:hover{background:var(--hub-bg-elevated);border-color:var(--hub-accent)}.hub-card .related-news__title{color:var(--hub-text-primary);font-size:.875rem;font-weight:500;line-height:1.4}.hub-card .related-news__source{color:var(--hub-text-muted);font-size:.75rem}.hub-card .chart-patterns__count,.hub-card .news-events__count,.hub-card .related-news__count{background:var(--hub-accent);color:#fff;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 .375rem;font-size:.625rem;font-weight:600;display:flex}:root:not(.dark) .hub-card .chart-patterns__count,:root:not(.dark) .hub-card .news-events__count,:root:not(.dark) .hub-card .related-news__count{background:var(--hub-text-secondary);color:#fff}.light .hub-card .chart-patterns__count,.light .hub-card .news-events__count,.light .hub-card .related-news__count,html:not(.dark) .hub-card .chart-patterns__count,html:not(.dark) .hub-card .news-events__count,html:not(.dark) .hub-card .related-news__count{color:var(--hub-text-primary);background:#0000001a}@media (max-width:768px){.hub-card{border-radius:16px;margin:1rem 0;padding:1.25rem}.hub-card__header{flex-direction:column;align-items:flex-start;gap:.75rem}.hub-card__symbol{font-size:1.5rem}.hub-card__price-value{font-size:1.875rem}.hub-card__price-main{flex-direction:column;align-items:flex-start;gap:.5rem}.hub-card__chart-row{flex-direction:column;align-items:stretch}.hub-card__chart{width:100%}.hub-card__chart svg{width:100%;height:auto}.hub-card__scores{justify-content:space-between}.hub-card__score{flex:1;min-width:0}.hub-card .tech-indicators{grid-template-columns:1fr}.hub-card .tech-indicator--levels{grid-column:span 1}}@media (max-width:480px){.hub-card{border-radius:12px;padding:1rem}.hub-card__identity{gap:.625rem}.hub-card__icon-fallback{width:40px;height:40px;font-size:1.25rem}.hub-card__symbol{font-size:1.25rem}.hub-card__price-section{padding:1rem}.hub-card__price-value{font-size:1.5rem}.hub-card__sentiment-row{text-align:center;flex-direction:column;gap:.5rem}.hub-card__analysis{padding:1rem}.hub-card__overview,.hub-card__summary{font-size:.875rem}.hub-card__section>summary{padding:.875rem 1rem}.hub-card__section-content{padding:0 1rem 1rem}.hub-card__position-row{flex-wrap:wrap}}.hub-card__signal-area{flex-direction:column;align-items:flex-end;gap:.25rem;display:flex}.hub-card__bot-label{text-transform:uppercase;letter-spacing:.04em;color:var(--hub-text-muted);font-size:.675rem;font-weight:600}.hub-card__position-row{background:var(--hub-bg-elevated);border:1px solid var(--hub-border);border-radius:10px;align-items:center;gap:1rem;margin-bottom:.75rem;padding:.75rem 1rem;display:flex}.hub-card__position-entry,.hub-card__position-sl,.hub-card__position-tp,.hub-card__position-pnl{flex-direction:column;gap:.125rem;display:flex}.hub-card__position-label{text-transform:uppercase;letter-spacing:.04em;color:var(--hub-text-muted);font-size:.65rem;font-weight:600}.hub-card__position-value{color:var(--hub-text-primary);font-size:.875rem;font-weight:600;font-family:var(--font-mono,monospace)}.hub-card__position-pnl--positive .hub-card__position-value{color:var(--hub-positive)}.hub-card__position-pnl--negative .hub-card__position-value{color:var(--hub-negative)}
