/* Analysis pages: modern research look on the existing light theme.
   Graphite text and borders, glass header, violet only for focus and accents. */
:root {
  --text: #111116; --soft: #5b5966; --accent: #6f5fe6; --accent-2: #8b7cff; --navy: #262331;
  --line: rgba(38, 35, 49, 0.09); --line-2: rgba(38, 35, 49, 0.16); --radius: 16px;
  --violet-soft: rgba(139, 124, 255, 0.1);
}
html, body { background: #f6f6f8; }
body { letter-spacing: -0.003em; }
.ta-top { background: rgba(246, 246, 248, 0.72); -webkit-backdrop-filter: blur(14px) saturate(1.3); backdrop-filter: blur(14px) saturate(1.3); }
.ta-kicker { color: var(--accent); letter-spacing: 0.14em; }
.ta-title { font-weight: 600; letter-spacing: -0.02em; }
.ta-meta { gap: 6px; }
.ta-meta div { background: #fff; border: 1px solid var(--line); border-radius: 999px; padding: 4px 12px; font-size: 13px; }
.ta-chart, .ta-mapbox, .ta-card, .ta-price, .ta-lib a {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0.78));
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset, 0 1px 2px rgba(17, 17, 22, 0.04), 0 18px 40px -28px rgba(38, 35, 49, 0.28);
}
.ta-card h2, .ta-mapbox h2 { font-size: 17px; letter-spacing: -0.01em; display: flex; align-items: center; gap: 10px; }
.ta-card h2::before, .ta-mapbox h2::before { content: ''; width: 3px; height: 16px; border-radius: 3px; background: linear-gradient(var(--accent-2), var(--accent)); }
.ta-card h3 { color: var(--soft); text-transform: uppercase; font-size: 11.5px; letter-spacing: 0.1em; }
.ta-tag { border-radius: 6px; font-weight: 500; }
.ta-tag--karim { background: var(--navy); border-color: var(--navy); }
.ta-tag--ai { background: var(--violet-soft); color: var(--accent); }
.ta-tabs button[aria-selected='true'], .ta-chips a.is-on { background: var(--navy); border-color: var(--navy); }
.ta-tabs button:hover, .ta-chips a:hover { border-color: rgba(139, 124, 255, 0.45); color: var(--text); }
.ta-level { border-radius: 12px; background: #fff; font-variant-numeric: tabular-nums; transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s; }
.ta-level:hover, .ta-level.is-on { background: #fff; border-color: rgba(139, 124, 255, 0.45); box-shadow: 0 0 0 3px var(--violet-soft); }
.ta-level__price { font-size: 17px; }
.ta-scn { border-radius: 14px; background: #fff; }
.ta-scn.is-on { box-shadow: 0 0 0 3px var(--violet-soft); }
.ta-conclusion { border-inline-start: 3px solid var(--accent-2); }
.ta-history li { border-bottom-style: dashed; }
.ta-filter input { border-radius: 12px; border-color: var(--line-2); box-shadow: 0 1px 2px rgba(17, 17, 22, 0.04); }
.ta-filter input:focus { outline: none; border-color: var(--accent-2); box-shadow: 0 0 0 3px var(--violet-soft); }
.ta-lib { gap: 14px; }
.ta-lib a { position: relative; padding: 20px 20px 18px; gap: 8px; overflow: hidden; }
.ta-lib a::before { content: ''; position: absolute; inset: 0 0 auto 0; height: 3px; background: linear-gradient(90deg, var(--navy), var(--accent-2)); opacity: 0.85; }
.ta-lib a:hover { transform: translateY(-2px); border-color: rgba(139, 124, 255, 0.35); box-shadow: 0 22px 44px -26px rgba(38, 35, 49, 0.4); }
.ta-lib strong { font-size: 17px; letter-spacing: -0.01em; }
.ta-lib small { padding-top: 10px; border-top: 1px solid var(--line); }
@media (hover: none) { .ta-lib a:hover { transform: none; } }
