/* Weekly market stories (MK-03): article page, Weekly cards, master "News" tab. Prefix ws-.
   Tokens = components/pages/theme.py: panels rgba(0,0,0,0.6), chips rgba(255,255,255,0.06), radius 10px,
   text #e8e8e8, muted #9fb3c8, headings #cfefff, accent #f0a030. */

.ws-article { max-width: 860px; margin: 0 auto; padding: 8px 0 32px; color: #e8e8e8;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; line-height: 1.62; box-sizing: border-box; }
.ws-article *, .ws-weekly * { box-sizing: border-box; }
.ws-kicker { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; font-size: 12px; letter-spacing: .06em;
  text-transform: uppercase; color: #9fb3c8; }
.ws-brand { color: #f0a030; font-weight: 700; }
.ws-dot { opacity: .5; }
.ws-title { font-size: 34px; line-height: 1.18; font-weight: 750; color: #cfefff; margin: 10px 0 12px; letter-spacing: -.01em; }
.ws-lede { font-size: 18px; line-height: 1.6; color: #e8e8e8; margin: 0 0 18px; }
.ws-card { background: rgba(0,0,0,0.6); border: 1px solid rgba(255,255,255,0.08); border-radius: 10px; padding: 14px 16px; margin: 14px 0; }
.ws-h2 { font-size: 21px; color: #cfefff; margin: 26px 0 8px; font-weight: 700; }
.ws-h3 { font-size: 12px; text-transform: uppercase; letter-spacing: .07em; color: #9fb3c8; margin-bottom: 10px; font-weight: 600; }
.ws-p { font-size: 16px; margin: 0 0 12px; }
.ws-keys { display: grid; grid-template-columns: repeat(auto-fit, minmax(128px, 1fr)); gap: 8px; }
.ws-kpi { background: rgba(255,255,255,0.06); border-radius: 10px; padding: 10px 12px; cursor: default; }
.ws-kv { font-size: 21px; font-weight: 700; color: #e8e8e8; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ws-kv.up { color: #5fbf6a; }
.ws-kv.down { color: #e66767; }
.ws-kl { font-size: 12px; color: #9fb3c8; margin-top: 2px; }
.ws-chart { background: rgba(0,0,0,0.6); border: 1px solid rgba(255,255,255,0.08); border-radius: 10px; padding: 8px 10px 10px; margin: 14px 0; }
.ws-chart figcaption { font-size: 13px; color: #9fb3c8; padding: 4px 4px 0; display: flex; flex-direction: column; gap: 2px; }
.ws-src { font-size: 11px; opacity: .8; }
.ws-graph { width: 100%; }
.ws-explore { display: flex; flex-wrap: wrap; gap: 8px; }
.ws-explore-btn { background: rgba(255,255,255,0.06); color: #e8e8e8; border: 1px solid rgba(240,160,48,0.45); border-radius: 10px;
  padding: 8px 12px; font-size: 14px; cursor: pointer; }
.ws-explore-btn:hover:not([disabled]) { background: rgba(240,160,48,0.16); }
.ws-explore-btn[disabled] { cursor: default; opacity: .75; }
.ws-explore-btn i { color: #f0a030; }
.ws-mut { color: #9fb3c8; }
.ws-sources { margin: 0 0 10px; padding-left: 18px; font-size: 13px; color: #e8e8e8; }
.ws-sources li { margin: 3px 0; }
.ws-link { color: #f0a030; text-decoration: none; }
.ws-method { font-size: 12.5px; color: #9fb3c8; margin: 8px 0 6px; }
.ws-disclaimer { font-size: 12.5px; color: #9fb3c8; margin: 0; border-left: 3px solid #f0a030; padding-left: 10px; }

/* Weekly card (Home, welcome page) */
.ws-weekly { display: flex; flex-direction: column; gap: 8px; }
.ws-card-title { font-size: 20px; font-weight: 700; color: #cfefff; line-height: 1.25; }
.ws-card-lede { font-size: 14px; color: #e8e8e8; margin: 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ws-weekly .ws-kv { font-size: 17px; }
.ws-read-btn { align-self: flex-start; background: #f0a030; color: #111; border: 0; border-radius: 10px; padding: 7px 14px;
  font-weight: 700; font-size: 14px; cursor: pointer; }
.ws-weekly.compact .ws-card-title { font-size: 16px; }

/* Home: the Weekly block (components/stories/home.py) */
.ws-home-wrap { margin: 10px 0 14px; }
.ws-home { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 16px; align-items: center; }
.ws-home-text { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.ws-home-chart { min-width: 0; overflow: hidden; }
.ws-drawer.offcanvas { width: min(940px, 100vw) !important; }
.ws-drawer .offcanvas-body { padding: 8px 22px 24px; }
.ws-drawer .offcanvas-title { color: #f0a030; font-weight: 700; letter-spacing: .04em; }

@media (max-width: 760px) {
  .ws-home { grid-template-columns: 1fr; }
  .ws-home-chart { display: none; }
  .ws-drawer .offcanvas-body { padding: 6px 14px 20px; }
  .ws-title { font-size: 26px; }
  .ws-lede { font-size: 16px; }
  .ws-h2 { font-size: 19px; }
  .ws-p { font-size: 15px; }
  .ws-article { padding: 4px 0 24px; }
  .ws-chart { padding: 6px 4px 8px; }
}
