    :root {
      --bg:#081018;
      --bg-2:#0b1420;
      --panel:rgba(12,22,33,.86);
      --panel-strong:rgba(10,18,28,.94);
      --line:rgba(118,154,191,.20);
      --line-soft:rgba(118,154,191,.12);
      --text:#d8e5f1;
      --muted:#8fa5bc;
      --soft:#a9bfd3;
      --blue:#7bc5ff;
      --blue-2:#4fa9ff;
      --cyan:#68e3ff;
      --green:#67e39b;
      --amber:#ffc96b;
      --red:#ff7e8a;
      --purple:#c19cff;
      --radius:18px;
      --max:1260px;
      --shadow:0 22px 64px rgba(0,0,0,.34);
      --glow-blue:0 0 0 1px rgba(123,197,255,.08), 0 18px 44px rgba(47,124,196,.12);
      --glow-green:0 0 0 1px rgba(103,227,155,.08), 0 18px 44px rgba(39,127,82,.14);
      --mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
      --sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      --topbar-h: 168px;
    }
    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; max-width: 100%; overflow-x: hidden; }
    body {
      margin: 0;
      color: var(--text);
      font: 15px/1.55 var(--sans);
      background:
        radial-gradient(circle at top left, rgba(108,176,255,.14), transparent 26%),
        radial-gradient(circle at top right, rgba(88,229,201,.08), transparent 22%),
        linear-gradient(180deg, #081018, #0b1420 44%, #081018 100%);
      min-height: 100vh;
      max-width: 100%;
      overflow-x: hidden;
    }
    body::before {
      content: "";
      position: fixed;
      inset: 0;
      pointer-events: none;
      background-image:
        linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
      background-size: 34px 34px;
      mask-image: radial-gradient(circle at center, rgba(0,0,0,.8), transparent 88%);
      opacity: .35;
    }
    a { color: var(--blue); text-decoration: none; }
    a:hover { text-decoration: underline; }
    .wrap { width: min(var(--max), calc(100% - 28px)); margin: 0 auto; }

    .topbar {
      position: fixed !important;
      top: 0; left: 0; right: 0;
      width: 100%;
      z-index: 140;
      transform: none !important;
      box-shadow: 0 10px 26px rgba(0,0,0,.22);
      backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
      background: rgba(8,16,24,.72);
      border-bottom: 1px solid var(--line-soft);
    }
    .topbar-inner {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto auto;
      grid-template-areas:
        'brand lang live'
        'ticker ticker ticker'
        'shortcuts shortcuts shortcuts';
      gap: 14px;
      align-items: center;
      padding: 14px 0;
    }
    .brand { grid-area: brand; display: flex; align-items: center; gap: 12px; min-width: 0; max-width: 100%; }
    .brand-copy { display:flex; flex-direction:column; gap:8px; min-width:0; }
    .brand-mark {
      width: 42px; height: 42px; border-radius: 12px; border: 1px solid var(--line);
      background: linear-gradient(180deg, #eaf6ff, #d5e8ff); display: grid; place-items: center;
      box-shadow: var(--glow-blue); overflow: hidden; flex-shrink: 0;
    }
    .brand-mark img { width: 28px; height: 28px; display: block; }
    .brand-title h1 {
      margin: 0; font-size: 1rem; line-height: 1.05; letter-spacing: .08em; text-transform: uppercase; color: #f7fbff;
    }
    .brand-title p {
      margin: 3px 0 0; color: var(--muted); font-size: .77rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 58ch;
    }
    .ticker {
      grid-area: ticker;
      min-height: 44px; border-radius: 16px; border: 1px solid var(--line); background: rgba(12,22,33,.84);
      display: flex; align-items: center; gap: 12px; padding: 10px 14px; min-width: 0; box-shadow: var(--shadow);
    }
    .ticker strong {
      flex-shrink: 0; font-size: .72rem; letter-spacing: .07em; text-transform: uppercase; color: var(--cyan);
    }
    .ticker-viewport { position: relative; overflow: hidden; flex: 1; min-width: 0; height: 22px; }
    .ticker-track { display: flex; flex-direction: column; transition: transform .45s ease; }
    .ticker-item {
      display: block; height: 22px; line-height: 22px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
      color: var(--soft); font-size: .87rem;
    }
    .ticker-item:hover { color: #fff; }

.topbar-shortcuts {
  grid-area: shortcuts;
  display:flex; gap:8px; align-items:center; flex-wrap:wrap;
  min-width:0; padding: 0 2px 2px;
}
.topbar-shortcuts a {
  display:inline-flex; align-items:center; justify-content:center;
  min-height: 34px; padding: 8px 12px; border-radius: 999px;
  border:1px solid var(--line); background: rgba(12,22,33,.84); color: var(--soft);
  text-decoration:none; font-size:.8rem; font-weight:700; letter-spacing:.01em;
  box-shadow: var(--shadow);
  white-space: nowrap;
}
.topbar-shortcuts a:hover { color:#fff; border-color: rgba(123,197,255,.34); text-decoration:none; }
    .lang-switch { grid-area: lang; display:flex; gap:10px; justify-content:flex-end; align-items:center; flex-wrap:nowrap; }
    .lang-btn {
      width:48px; height:48px; display:inline-flex; align-items:center; justify-content:center; padding:0; border-radius:999px;
      border:1px solid var(--line); background: rgba(12,22,33,.84); color: var(--text);
      text-decoration:none; box-shadow: var(--shadow); flex:0 0 48px;
      transition: border-color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease;
    }
    .lang-btn:hover { text-decoration:none; border-color: rgba(123,197,255,.34); transform: translateY(-1px); }
    .lang-btn.active { background: rgba(123,197,255,.12); border-color: rgba(123,197,255,.34); color:#fff; box-shadow: var(--shadow), var(--glow-blue); }
    .lang-flag { display:block !important; width:24px; height:24px; line-height:1; }
    .lang-flag svg { display:block; width:24px; height:24px; }
    .sr-only {
      position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
      clip:rect(0,0,0,0); white-space:nowrap; border:0;
    }

    .live-chip {
      grid-area: live;
      justify-self: end;
      display: flex; align-items: center; gap: 10px; padding: 9px 14px; border-radius: 999px;
      border: 1px solid var(--line); background: rgba(12,22,33,.9); box-shadow: var(--shadow); white-space: nowrap;
    }
    .dot { width: 9px; height: 9px; border-radius: 50%; background: #657b91; box-shadow: 0 0 0 0 rgba(103,227,155,0); }
    .dot.live { background: var(--green); animation: pulse 2s infinite; }
    .dot.warn { background: var(--amber); }
    .dot.off { background: #657b91; }
    @keyframes pulse {
      0% { box-shadow: 0 0 0 0 rgba(103,227,155,.42); }
      70% { box-shadow: 0 0 0 10px rgba(103,227,155,0); }
      100% { box-shadow: 0 0 0 0 rgba(103,227,155,0); }
    }
    .live-chip .price { color: #fff; font: 800 1rem var(--mono); }
    .live-chip .change { color: var(--muted); font-size: .82rem; font-weight: 700; }
    .market-badge {
      display:inline-flex; align-items:center; gap:8px; padding:6px 10px; border-radius:999px;
      border:1px solid var(--line); font-size:.74rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
    }
    .market-badge.live { color:#dfffe9; background:rgba(39,127,82,.18); border-color:rgba(103,227,155,.28); }
    .market-badge.off { color:#d8e5f1; background:rgba(101,123,145,.16); border-color:rgba(143,165,188,.22); }
    .market-badge.warn { color:#fff0ce; background:rgba(255,201,107,.14); border-color:rgba(255,201,107,.24); }

    main { padding: calc(var(--topbar-h) + 26px) 0 42px; position: relative; z-index: 1; }
    section, article { scroll-margin-top: calc(var(--topbar-h) + 18px); }
    .section { margin-top: 18px; }
    .section-head { margin-bottom: 14px; }
    .section-head h3 { margin: 0 0 6px; font-size: 1.38rem; color: #fff; letter-spacing: -.02em; }
    .section-head p { margin: 0; color: var(--muted); }

    .card {
      position: relative; background: linear-gradient(180deg, rgba(13,24,36,.96), rgba(10,18,28,.94));
      border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden;
    }
    .card::before {
      content: ""; position: absolute; inset: 0; pointer-events: none;
      background: linear-gradient(180deg, rgba(255,255,255,.03), transparent 35%);
    }
    .card.pad, .info-card, .hero-main, .meta-card, .chart-card { padding: 22px; }
    .eyebrow, .label {
      display: inline-flex; align-items: center; gap: 8px; padding: 5px 10px; border-radius: 999px;
      border: 1px solid rgba(123,197,255,.22); background: rgba(123,197,255,.10); color: var(--blue);
      font-size: .73rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;
    }
    .label { padding: 4px 8px; font-size: .69rem; }
    .hero { display: grid; grid-template-columns: 1.03fr .97fr; gap: 18px; }
    .hero h2 { margin: 0 0 12px; color: #f7fbff; font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1.02; letter-spacing: -.04em; max-width: 12ch; }
    .hero p { margin: 0; color: var(--muted); max-width: 64ch; }
    .hero-actions, .badges, .toolbar, .row, .source-meta, .tabs, .periods { display: flex; flex-wrap: wrap; gap: 10px; }
    .hero-actions { margin-top: 20px; }
    .btn {
      appearance: none; border: 1px solid var(--line); background: rgba(255,255,255,.02); color: var(--text);
      padding: 10px 14px; border-radius: 12px; font-weight: 700; cursor: pointer; transition: .18s ease;
    }
    .btn:hover { background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.18); text-decoration: none; }
    .btn.primary { background: linear-gradient(180deg, rgba(123,197,255,.95), rgba(79,169,255,.92)); color: #07111b; border-color: rgba(123,197,255,.4); box-shadow: var(--glow-blue); }
    .btn.ghost { color: var(--blue); border-color: rgba(123,197,255,.22); background: rgba(123,197,255,.07); }
    .btn.small { padding: 8px 11px; font-size: .88rem; border-radius: 10px; }
    .period-btn, .tab-btn, .source-filter {
      appearance: none; border: 1px solid var(--line); background: rgba(255,255,255,.02); color: var(--muted);
      padding: 9px 13px; border-radius: 999px; font: inherit; font-weight: 800; cursor: pointer;
      transition: .18s ease; letter-spacing: .02em;
    }
    .period-btn.active, .tab-btn.active, .source-filter.active {
      background: linear-gradient(180deg, rgba(123,197,255,.95), rgba(79,169,255,.92)); color: #07111b; border-color: rgba(123,197,255,.44);
      box-shadow: var(--glow-blue);
    }
    .period-btn:hover, .tab-btn:hover, .source-filter:hover { color: #fff; }

    .hero-stats, .grid.metrics, .spark-meta, .value-grid, .field-grid, .grid.cards {
      display: grid; gap: 12px;
    }
    .hero-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 22px; }
    .stat-soft, .value-box, .source, .note {
      border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.02);
    }
    .stat-soft { padding: 14px 14px 12px; min-height: 102px; }
    .stat-soft small, .value-box h4, .metric small, .mini-chip small, .meta-stat small {
      display: block; color: var(--muted); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;
    }
    .stat-soft strong, .value-box strong, .metric .value, .mini-chip strong, .meta-stat strong {
      display: block; color: #fff; font: 800 1.28rem var(--mono); margin-top: 6px;
    }
    .stat-soft span, .value-box span, .metric .sub, .mini-chip span, .meta-stat span { display: block; margin-top: 5px; color: var(--muted); font-size: .87rem; }

    .chart-card { display: flex; flex-direction: column; }
    .chart-head { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; margin-bottom: 12px; }
    .chart-head h3 { margin: 0; font-size: 1.12rem; color: #fff; }
    .chart-head p { margin: 5px 0 0; color: var(--muted); font-size: .92rem; }
    .status-badge {
      display: inline-flex; align-items: center; gap: 8px; padding: 8px 10px; border-radius: 999px;
      border: 1px solid var(--line); background: rgba(255,255,255,.03); color: var(--soft); font-size: .8rem; font-weight: 700;
    }
    .spark-shell {
      position: relative; border-radius: 16px; border: 1px solid var(--line); background:
        radial-gradient(circle at top right, rgba(123,197,255,.10), transparent 28%),
        linear-gradient(180deg, rgba(255,255,255,.018), rgba(255,255,255,.01));
      padding: 14px; min-height: 360px; display: grid; align-content: start;
    }
    #sparkline { width: 100%; height: 272px; display: block; border-radius: 12px; background: linear-gradient(180deg, rgba(8,16,24,.32), rgba(8,16,24,.04)); }
    .spark-meta { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 12px; }
    .mini-chip { padding: 10px 12px; border-radius: 12px; border: 1px solid var(--line); background: rgba(255,255,255,.03); }

    .grid { display: grid; gap: 18px; }
    .grid.two { grid-template-columns: 1.1fr .9fr; }
    .grid.cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .grid.metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .grid-3 { display: grid; grid-template-columns: 1.12fr .88fr .88fr; gap: 18px; align-items: stretch; }
    .metrics-grid { display: grid; gap: 18px; grid-template-columns: repeat(4, minmax(0, 1fr)); }

    .metric { padding: 18px; }
    .metric .value { font-size: 1.52rem; line-height: 1.1; letter-spacing: -.01em; }

    .stack { display: grid; gap: 12px; }
    .metric-row {
      padding: 14px 0; border-top: 1px solid var(--line-soft); display: flex; justify-content: space-between; align-items: flex-start; gap: 12px;
    }
    .metric-row:first-child { border-top: 0; padding-top: 0; }
    .metric-row strong { color: #fff; }
    .metric-row .muted { color: var(--muted); }
    .metric-copy { min-width: 0; }
    .metric-copy .source-strip { margin-top: 10px; }
    .metric-copy .source-pill { font-size: .7rem; padding: 5px 9px; }

    .tag, .badge, .pill {
      display: inline-flex; align-items: center; gap: 6px; border-radius: 999px; padding: 5px 9px; font-size: .78rem; font-weight: 800;
      border: 1px solid var(--line);
    }
    .tag.official, .badge.source { background: rgba(103,227,155,.10); color: var(--green); border-color: rgba(103,227,155,.22); }
    .tag.context, .badge.warn { background: rgba(255,201,107,.10); color: var(--amber); border-color: rgba(255,201,107,.22); }
    .badge.model { background: rgba(123,197,255,.10); color: var(--blue); border-color: rgba(123,197,255,.22); }
    .pill { background: rgba(255,255,255,.03); color: var(--soft); }
    .pill.up { background: rgba(103,227,155,.12); border-color: rgba(103,227,155,.22); color: var(--green); }
    .pill.down { background: rgba(255,126,138,.12); border-color: rgba(255,126,138,.22); color: var(--red); }
    .pill.warn { background: rgba(255,201,107,.12); border-color: rgba(255,201,107,.22); color: var(--amber); }

    .bar-shell { margin-top: 10px; }
    .bar-label { display: flex; justify-content: space-between; gap: 10px; color: var(--muted); font-size: .84rem; margin-bottom: 6px; }
    .bar { height: 12px; border-radius: 999px; background: rgba(255,255,255,.05); border: 1px solid var(--line); overflow: hidden; position: relative; }
    .bar > span {
      display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, rgba(104,227,255,.88), rgba(103,227,155,.88));
      box-shadow: inset 0 0 18px rgba(255,255,255,.18); width: 0%; transition: width .45s ease;
    }
    .bar.trigger > span { background: linear-gradient(90deg, rgba(255,201,107,.9), rgba(255,126,138,.9)); }
    .mono { font-family: var(--mono); }
    .muted { color: var(--muted); }
    .small { font-size: .92rem; }
    .up { color: var(--green); }
    .down { color: var(--red); }
    .warn { color: var(--amber); }

    .tabs { margin: 0 0 14px; }
    .panel { display: none; }
    .panel.active { display: block; }
    .info-card h4 { margin: 8px 0 4px; color: #fff; font-size: 1.08rem; }
    .tight p { margin: .15rem 0 0; }
    .sep { height: 1px; background: linear-gradient(90deg, transparent, rgba(123,197,255,.2), transparent); margin: 12px 0; }
    details { border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.02); overflow: hidden; }
    details + details { margin-top: 10px; }
    summary { cursor: pointer; list-style: none; padding: 16px 18px; font-weight: 760; color: #fff; }
    summary::-webkit-details-marker { display: none; }
    details > div { padding: 0 18px 18px; }

    .field-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .field { display: grid; gap: 6px; }
    .field label { font-size: .9rem; font-weight: 700; color: var(--soft); }
    .field input {
      width: 100%; padding: 11px 12px; border: 1px solid rgba(123,197,255,.16); border-radius: 12px; font: inherit;
      color: #fff; background: rgba(255,255,255,.03); outline: none;
    }
    .field input:focus { border-color: rgba(123,197,255,.36); box-shadow: 0 0 0 3px rgba(123,197,255,.10); }
    .field small { color: var(--muted); }
    .value-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 14px; }
    .value-box { padding: 16px; }

    .source-list { display: grid; gap: 10px; }
    .source { padding: 16px; display: grid; gap: 8px; }
    .source-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
    .source-title { font-weight: 760; color: #fff; }

    .news-list { display: grid; gap: 10px; }
    .news-row { display: flex; gap: 12px; align-items: baseline; padding: 10px 0; border-top: 1px solid var(--line-soft); }
    .news-row:first-child { border-top: 0; padding-top: 0; }
    .news-row b { color: var(--cyan); font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; flex-shrink: 0; }
    .note { padding: 14px 16px; color: var(--soft); }
    .note .small a { color: var(--accent); text-decoration: none; }
    .note .small a:hover { text-decoration: underline; }
    .meta-grid { display: grid; gap: 12px; }
    .meta-stat { padding: 14px; border-radius: 14px; border: 1px solid var(--line); background: rgba(255,255,255,.02); }
    .footer { padding: 28px 0 40px; }
    .kpi { display: grid; gap: 6px; }
    .kpi b { font-size: 1.08rem; color: #fff; }

    .mobile-only { display: none; }
    .desktop-only { display: inherit; }

    .section-toggle { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:12px; }
    .section-toggle::-webkit-details-marker { display:none; }
    .section-toggle .toggle-copy { display:grid; gap:4px; }
    .section-toggle h3 { margin:0; font-size:1.18rem; color:#fff; }
    .section-toggle p { margin:0; color:var(--muted); font-size:.94rem; }
    .toggle-pill { display:inline-flex; align-items:center; justify-content:center; min-width:36px; height:36px; padding:0 12px; border-radius:999px; border:1px solid var(--line); background:rgba(255,255,255,.03); color:var(--soft); font-weight:800; }
    details.mobile-fold[open] .toggle-pill::before { content:'−'; }
    details.mobile-fold:not([open]) .toggle-pill::before { content:'+'; }
    details.mobile-fold .fold-body { margin-top:14px; }

.offer-hero-section { display:grid; gap:18px; grid-template-columns: 1.06fr .94fr; align-items:start; }
    .offer-spotlight h3 { margin: 0; font-size: clamp(1.7rem, 3.2vw, 2.5rem); line-height: 1.05; letter-spacing: -.03em; max-width: 14ch; color:#f7fbff; }
    .offer-spotlight p { margin: 12px 0 0; color: var(--muted); max-width: 72ch; }
    .offer-hero-grid { display:grid; gap:12px; grid-template-columns: repeat(2, minmax(0,1fr)); margin-top: 18px; }
    .offer-tile {
      border:1px solid var(--line);
      border-radius:16px;
      background: linear-gradient(180deg, rgba(13,24,36,.88), rgba(8,16,24,.92));
      padding:16px;
      box-shadow: var(--glow-blue);
    }
    .offer-tile small { display:block; color:var(--muted); text-transform:uppercase; letter-spacing:.12em; font-size:.72rem; margin-bottom:8px; }
    .offer-tile strong { display:block; font-size:1.5rem; line-height:1.05; color:#f7fbff; font-family: var(--mono); }
    .offer-tile span { display:block; margin-top:7px; color:var(--muted); font-size:.92rem; }
    .offer-tree-card img {
      width:100%;
      display:block;
      border-radius:18px;
      border:1px solid var(--line);
      background:#f4f6f8;
      box-shadow:0 20px 50px rgba(0,0,0,.28);
      margin-top:14px;
    }

    .org-figure{margin:0;display:flex;flex-direction:column;gap:10px}
    .org-figure img{width:100%;display:block;border-radius:18px;border:1px solid var(--line);background:#f4f6f8;box-shadow:0 20px 50px rgba(0,0,0,.28)}
    .org-figure figcaption{margin:0}

    .offer-grid { display:grid; gap:18px; grid-template-columns: 1.08fr .92fr; align-items:start; }
    .offer-side { display:grid; gap:18px; }
    .offer-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .org-card img {
      width: 100%;
      display: block;
      border-radius: 18px;
      border: 1px solid var(--line);
      background: #eef3f7;
      box-shadow: 0 20px 50px rgba(0,0,0,.28);
    }
    .org-card figcaption { margin-top: 12px; }
    .org-list { display:grid; gap:10px; grid-template-columns: repeat(2, minmax(0,1fr)); margin-top: 14px; }
    .offer-note {
      padding: 14px 16px;
      border-radius: 14px;
      border: 1px solid var(--line);
      background: rgba(255,255,255,.03);
      color: var(--soft);
    }
    .tabs {
      overflow-x: auto;
      flex-wrap: nowrap;
      padding-bottom: 6px;
      scrollbar-width: thin;
      -webkit-overflow-scrolling: touch;
    }
    .tabs::-webkit-scrollbar { height: 6px; }
    .tabs::-webkit-scrollbar-thumb { background: rgba(143,165,188,.28); border-radius: 999px; }
    .tab-btn { flex: 0 0 auto; }



    .offer-layout { display:grid; grid-template-columns: 1.06fr .94fr; gap:18px; align-items:start; }
    .offer-compact { display:grid; gap:16px; }
    .offer-compact h3 { margin:0; font-size:clamp(1.5rem, 2.8vw, 2.3rem); line-height:1.06; letter-spacing:-.03em; color:#f7fbff; }
    .offer-compact p { margin:0; color:var(--muted); max-width:70ch; }
    .offer-quick-grid { display:grid; gap:12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .offer-simple-grid { display:grid; gap:12px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .simple-box { padding:14px 16px; border-radius:16px; border:1px solid var(--line); background:rgba(255,255,255,.03); }
    .simple-box strong { display:block; color:#fff; margin-bottom:6px; }
    .org-stage { margin-top:14px; border-radius:18px; border:1px solid var(--line); background:#eef3f7; overflow:hidden; display:flex; justify-content:center; align-items:center; padding:10px; min-height:160px; max-height:220px; }
    .org-stage img { width:100%; max-width:100%; height:auto; max-height:190px; display:block; min-width:0; object-fit:contain; margin:0 auto; cursor:zoom-in; }
    .org-summary { display:grid; gap:10px; grid-template-columns: repeat(2, minmax(0,1fr)); margin-top:14px; }
    .offer-callout { border-left:3px solid rgba(123,197,255,.5); padding-left:14px; color:var(--soft); }
    .offer-kpi-row { display:grid; gap:12px; grid-template-columns: repeat(4, minmax(0,1fr)); }
    .spacerless.section { margin-top: 14px; }

  

    .image-modal[hidden] { display:none; }
    .image-modal { position:fixed; inset:0; z-index:2100; display:grid; place-items:center; padding:18px; background:rgba(5,10,16,.82); backdrop-filter: blur(6px); overflow:hidden; }
    .image-modal-card { width:min(1100px, 94vw); max-width:94vw; max-height:90vh; border-radius:20px; border:1px solid var(--line); background:linear-gradient(180deg, rgba(13,24,36,.98), rgba(8,16,24,.98)); box-shadow:0 28px 80px rgba(0,0,0,.45); overflow:hidden; }
    .image-modal-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; border-bottom:1px solid var(--line); }
    .image-modal-head h4 { margin:0; font-size:1rem; color:#f7fbff; }
    .image-modal-actions { display:flex; gap:10px; align-items:center; justify-content:flex-end; }
    .image-modal-body { padding:10px; display:flex; align-items:center; justify-content:center; min-height:0; max-height:calc(90vh - 72px); overflow:hidden; background:#eef3f7; }
    .image-modal-body img { display:block; width:100%; height:auto; max-width:100%; max-height:calc(90vh - 120px); object-fit:contain; margin:0 auto; }
    @media (max-width:640px) {
      .image-modal { padding:10px; }
      .image-modal-card { width:96vw; max-width:96vw; }
      .image-modal-head { padding:12px; flex-direction:column; align-items:stretch; }
      .image-modal-actions { justify-content:flex-end; }
      .image-modal-body { padding:8px; max-height:calc(88vh - 88px); }
      .image-modal-body img { width:100%; max-width:100%; height:auto; max-height:calc(88vh - 120px); }
    }

    
    html.disclaimer-ok .gate { display:none !important; }
    html.disclaimer-ok body.disclaimer-locked { overflow:auto !important; }
body.disclaimer-locked, body.modal-open { overflow: hidden !important; }
    .gate {
      position: fixed; inset: 0; z-index: 2000; display: grid; place-items: center;
      background: rgba(4,10,16,.82); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
      padding: 20px;
    }
    .gate[hidden] { display: none; }
    .gate-card {
      width: min(680px, 100%); background: #edf2f7; color: #132235; border-radius: 24px;
      padding: 26px; box-shadow: 0 32px 90px rgba(0,0,0,.45); border: 1px solid rgba(19,34,53,.12);
    }
    .gate-card h2 { margin: 0 0 12px; font-size: clamp(1.8rem, 4vw, 2.4rem); line-height: 1.1; color: #102033; }
    .gate-card p { margin: 0 0 14px; font-size: 1.02rem; line-height: 1.7; color: #22354a; }
    .gate-icon { font-size: 2rem; margin-bottom: 10px; }
    .gate-note {
      margin: 16px 0 18px; padding: 18px 20px; border-radius: 16px; background: #dfe6ee;
      border: 1px solid rgba(16,32,51,.12); color: #516d8c; line-height: 1.6;
    }
    .gate-btn {
      width: 100%; appearance: none; border: 0; border-radius: 14px; cursor: pointer;
      background: linear-gradient(180deg, #3b82f6, #2563eb); color: #fff; font: 800 1rem var(--sans);
      padding: 16px 18px; box-shadow: 0 18px 40px rgba(37,99,235,.30);
    }
    .gate-btn:hover { filter: brightness(1.02); }

    /* v29 responsive cleanup */
    @media (max-width: 1180px) {
      .hero, .grid.two, .grid-3, .offer-layout { grid-template-columns: 1fr; }
      .hero-stats, .grid.metrics, .spark-meta, .value-grid, .field-grid, .grid.cards, .offer-kpi-row, .offer-simple-grid, .org-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
      .offer-layout > article { min-width: 0; }
    }

    @media (max-width: 920px) {
      .topbar-inner {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
      }
      .brand { justify-content: center; }
      .brand-copy { align-items: center; }
      .brand-title { text-align: center; }
      .brand-title p { white-space: normal; text-align: center; }
      .lang-switch { justify-content: center; }
      .ticker, .live-chip { width: 100%; }
      .topbar-shortcuts { width:100%; justify-content:center; }
      .toolbar, .source-head, .metric-row, .news-row {
        flex-direction: column;
        align-items: stretch;
      }
      .offer-layout { grid-template-columns: 1fr; }
      .offer-kpi-row, .offer-simple-grid, .org-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
      .org-stage { min-height: 180px; max-height: 260px; }
      .org-stage img { width: 100%; max-width: 100%; max-height: 220px; object-fit: contain; }
    }

    @media (max-width: 640px) {
      .wrap { width: calc(100% - 20px); }
      main { padding-top: calc(var(--topbar-h) + 16px); }
      .topbar { position: fixed !important; top: 0; left: 0; right: 0; z-index: 140; width: 100%; }
      .section { margin-top: 22px; }
      .hero-main, .meta-card, .info-card, .chart-card, .metric, .offer-tile, .simple-box, .offer-note, .note {
        padding: 16px;
      }
      .hero-actions { flex-direction: column; }
      .btn { width: 100%; justify-content: center; text-align: center; }
      input, select, textarea { width: 100%; box-sizing: border-box; }
      .tabs.desktop-only { display: none !important; }
      .mobile-only { display: block !important; }
      .desktop-only { display: none !important; }
      .mobile-panel-select { display: block; margin-bottom: 12px; }
      .mobile-panel-select label { display: block; margin-bottom: 8px; color: var(--muted); font-size: .84rem; font-weight: 700; }
      .mobile-panel-select select {
        width: 100%; appearance: none; border: 1px solid var(--line); background: rgba(255,255,255,.03); color: #fff;
        padding: 13px 14px; border-radius: 14px; font: inherit; font-weight: 700;
      }
      .mobile-quicknav {
        display: flex !important; gap: 10px; overflow-x: auto; padding-bottom: 4px; margin: 14px 0 2px;
        scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch;
      }
      .mobile-quicknav a { flex: 0 0 auto; scroll-snap-align: start; text-decoration: none; }
      .periods { display: flex; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 6px; -webkit-overflow-scrolling: touch; }
      .period-btn, .source-filter { flex: 0 0 auto; }
      .hero, .grid.two, .grid-3, .offer-layout,
      .hero-stats, .grid.metrics, .spark-meta, .value-grid, .field-grid, .grid.cards, .offer-kpi-row, .offer-simple-grid, .org-summary {
        grid-template-columns: 1fr !important;
      }
      .offer-layout { gap: 14px; }
      .offer-layout > article { min-width: 0; }
      .offer-kpi-row, .offer-simple-grid, .org-summary { display: grid !important; }
      .offer-tile strong { font-size: clamp(1.8rem, 8vw, 2.35rem); line-height: 1.02; }
      .offer-tile span, .offer-callout, .offer-note, .simple-box, .note { overflow-wrap: anywhere; word-break: break-word; }
      .org-stage { padding: 10px; min-height: 0; max-height: none; }
      .org-stage img, .offer-tree-card img, .org-figure img {
        display: block; width: 100%; max-width: 100%; height: auto; max-height: 220px; object-fit: contain; margin: 0 auto;
      }
      .news-row { flex-direction: column; gap: 4px; }
      .ticker { min-height: 48px; }
      .lang-switch { justify-content: center; }
      .topbar-shortcuts { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; justify-content:flex-start; padding-bottom: 4px; }
      .topbar-shortcuts a { flex: 0 0 auto; scroll-snap-align: start; }
      details.mobile-fold { padding: 16px; }
      details.mobile-fold[open] { padding-bottom: 16px; }
      details.mobile-fold .section-toggle { margin: 0; }
      details.mobile-fold:not([open]) .fold-body { display: none; }
    }

    @media (min-width: 641px) {
      .mobile-panel-select, .mobile-quicknav { display: none; }
    }

  
    .tip{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:6px;border-radius:999px;border:1px solid var(--line);color:var(--muted);font-size:.72rem;font-weight:800;cursor:pointer;position:relative;vertical-align:middle;background:rgba(255,255,255,.03);user-select:none;transition:border-color .18s ease,background .18s ease,color .18s ease}
    .tip:hover,.tip.active{color:#fff;border-color:rgba(255,255,255,.24);background:rgba(255,255,255,.07)}
    .tipbox{position:absolute;left:50%;top:calc(100% + 10px);z-index:80;width:min(280px,calc(100vw - 40px));padding:12px 14px;border-radius:14px;background:rgba(7,17,27,.98);border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 40px rgba(0,0,0,.40);color:#d9e4ee;font-size:.82rem;line-height:1.5;font-weight:600;text-transform:none;letter-spacing:normal;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(-50%) translateY(-4px);transition:opacity .16s ease,transform .16s ease,visibility .16s ease;text-align:left}
    .tipbox::before{content:"";position:absolute;left:50%;top:-7px;width:12px;height:12px;background:rgba(7,17,27,.98);border-left:1px solid rgba(255,255,255,.12);border-top:1px solid rgba(255,255,255,.12);transform:translateX(-50%) rotate(45deg)}
    @media (hover:hover){.tip:hover .tipbox{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}}
    .tip.active .tipbox,.tip:focus-within .tipbox{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
    @media (max-width:640px){.tipbox{position:fixed;left:16px;right:16px;top:auto;bottom:16px;width:auto;max-width:none;transform:translateY(8px);padding:14px 16px;font-size:.9rem}.tipbox::before{display:none}.tip.active .tipbox,.tip:focus-within .tipbox{transform:translateY(0)}}
    .fact-card .note strong{color:#fff}


    .contact-quick{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--muted);font-size:.82rem;font-weight:700;line-height:1;text-decoration:none;max-width:max-content}
    .contact-quick:hover{color:#fff;border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.05)}
    .contact-quick .mail{color:#fff;font-weight:800}
    @media (max-width: 920px){.contact-quick{font-size:.8rem}}


    .source-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
    .source-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--soft);font-size:.75rem;font-weight:700;text-decoration:none}
    .source-pill:hover{text-decoration:none;color:#fff;border-color:rgba(123,197,255,.34);background:rgba(123,197,255,.08)}


    html { color-scheme: dark; }
    a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, .lang-btn:focus-visible, .btn:focus-visible, .source-pill:focus-visible {
      outline: 2px solid rgba(123,197,255,.9);
      outline-offset: 2px;
    }
    .ticker-item {
      mask-image: linear-gradient(90deg, transparent 0, #000 18px, #000 calc(100% - 18px), transparent 100%);
      -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 18px, #000 calc(100% - 18px), transparent 100%);
    }
    .source-pill {
      transition: border-color .18s ease, background .18s ease, transform .18s ease;
    }
    .source-pill:hover { transform: translateY(-1px); }
    .back-top {
      position: fixed;
      right: 18px;
      bottom: 18px;
      z-index: 170;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      min-width: 46px;
      height: 46px;
      padding: 0 14px;
      border-radius: 999px;
      border: 1px solid rgba(123,197,255,.22);
      background: rgba(12,22,33,.92);
      color: #fff;
      box-shadow: var(--shadow);
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      opacity: 0;
      visibility: hidden;
      transform: translateY(10px);
      transition: opacity .18s ease, transform .18s ease, visibility .18s ease, border-color .18s ease;
    }
    .back-top.show {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }
    .back-top:hover {
      text-decoration: none;
      border-color: rgba(123,197,255,.38);
      transform: translateY(-1px);
    }
    .back-top span:last-child {
      font-weight: 800;
      letter-spacing: .02em;
    }
    @media (max-width: 640px) {
      .back-top { right: 12px; bottom: 12px; padding: 0 12px; }
      .back-top span:last-child { display: none; }
    }
    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      .dot.live { animation: none; }
      .back-top, .lang-btn, .btn, .source-pill, .ticker-track { transition: none !important; }
    }


/* v51 performance, accessibility and resilience */
html { -webkit-text-size-adjust: 100%; }
body { padding-bottom: env(safe-area-inset-bottom, 0px); }
.topbar { padding-top: env(safe-area-inset-top, 0px); }
.brand-title h1, .hero h2, .section-head h3 { text-wrap: balance; }
.contact-quick .mail, .source a, .note a { overflow-wrap: anywhere; word-break: break-word; }
.skip-link {
  position: fixed; left: 12px; top: 12px; z-index: 250;
  padding: 10px 14px; border-radius: 12px; background: #eaf6ff; color: #07111b;
  font-weight: 800; border: 1px solid rgba(7,17,27,.12); transform: translateY(-140%);
  transition: transform .18s ease;
  box-shadow: 0 12px 30px rgba(0,0,0,.22);
}
.skip-link:focus { transform: translateY(0); text-decoration: none; }
@supports not ((backdrop-filter: blur(14px)) or (-webkit-backdrop-filter: blur(14px))) {
  .topbar { background: rgba(8,16,24,.96); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
@supports (content-visibility: auto) {
  .section:not(.hero-wrap), .sources-shell, .timeline-shell, .org-shell {
    content-visibility: auto;
    contain-intrinsic-size: 1px 960px;
  }
}
@media (max-width: 640px) {
  .topbar-inner { padding-top: max(14px, env(safe-area-inset-top, 0px)); }
  .live-chip { max-width: 100%; overflow: hidden; }
  .live-chip .price, .live-chip .change, .market-badge { text-overflow: ellipsis; overflow: hidden; }
}


/* v53 report dashboard prep */
.report-module[hidden]{display:none!important}
.report-shell{display:grid;gap:18px}
.report-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.95fr);gap:18px}
.report-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:18px;background:rgba(6,17,31,.48)}
.report-table{width:100%;border-collapse:collapse;min-width:720px}
.report-table th,.report-table td{padding:14px 16px;border-bottom:1px solid rgba(141,161,195,.12);text-align:left;vertical-align:middle}
.report-table th{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:800;background:rgba(255,255,255,.02)}
.report-table tbody tr:last-child td{border-bottom:0}
.report-table td strong{color:#fff}
.report-table td small{display:block;margin-top:3px;color:var(--muted)}
.report-table td.delta-up{color:var(--green);font-weight:800}
.report-table td.delta-down{color:#ff8b8b;font-weight:800}
.report-table td.delta-flat{color:var(--amber);font-weight:800}
.report-table td.delta-neutral{color:var(--muted);font-weight:700}
.report-status-card{display:grid;gap:14px}
.report-kpi-stack{display:grid;gap:12px}
.report-kpi{padding:14px 16px;border-radius:18px;border:1px solid var(--line);background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.02))}
.report-kpi small{display:block;color:var(--muted);margin-bottom:6px}
.report-kpi strong{display:block;color:#fff;font-size:1.05rem}
.report-kpi span{display:block;margin-top:4px;color:var(--muted);font-size:.92rem}
.report-alert{padding:14px 16px;border-radius:18px;border:1px solid var(--line);background:rgba(255,255,255,.02)}
.report-alert.good{border-color:rgba(103,227,155,.24);background:rgba(103,227,155,.08)}
.report-alert.neutral{border-color:rgba(255,201,107,.24);background:rgba(255,201,107,.08)}
.report-alert.caution{border-color:rgba(255,139,139,.24);background:rgba(255,139,139,.08)}
.report-alert.pending{border-color:rgba(141,161,195,.22);background:rgba(255,255,255,.03)}
.report-alert strong{display:block;color:#fff;margin-bottom:5px}
.status-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:1px solid var(--line);font-weight:800;font-size:.88rem}
.status-chip::before{content:'';width:9px;height:9px;border-radius:50%;background:currentColor;opacity:.9}
.status-chip.confirmed,.status-chip.live{color:var(--green);border-color:rgba(103,227,155,.24);background:rgba(103,227,155,.10)}
.status-chip.pending,.status-chip.shadow{color:var(--amber);border-color:rgba(255,201,107,.24);background:rgba(255,201,107,.10)}
.status-chip.delayed,.status-chip.off{color:#ff8b8b;border-color:rgba(255,139,139,.24);background:rgba(255,139,139,.10)}
.status-chip.preview,.status-chip.context{color:#9cc8ff;border-color:rgba(116,192,255,.24);background:rgba(116,192,255,.10)}
.report-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.report-shadow-note{padding:12px 14px;border-radius:16px;border:1px dashed rgba(141,161,195,.26);color:var(--muted)}
.report-sync-note{margin:12px 0 0}
.report-mini-list{display:grid;gap:10px}
.report-mini-list .note{margin:0}
.report-links{display:flex;flex-wrap:wrap;gap:8px}
.report-links .source-pill[hidden]{display:none!important}
.report-table-caption{margin:0 0 10px;color:var(--muted);font-size:.92rem}
.report-toolbar-right{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
@media (max-width: 900px){
  .report-grid{grid-template-columns:1fr}
}


/* v54 pre-IFRS hardening */
.tag.prelim{
  background: rgba(123,197,255,.10);
  color: #9cc8ff;
  border-color: rgba(123,197,255,.24);
}
.tag.model, .status-chip.model{
  background: rgba(255,255,255,.05);
  color: #d9e3f1;
  border-color: rgba(141,161,195,.24);
}
.calc-support-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}
.calc-support-card{display:grid;gap:12px}
.calc-mini-fields{grid-template-columns:repeat(3,minmax(0,1fr))}
.value-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.value-grid.compact .value-box{padding:14px}
.data-inline-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.calc-kv{display:grid;gap:10px}
.calc-kv .rowline{display:flex;justify-content:space-between;gap:12px;border-top:1px solid rgba(141,161,195,.12);padding-top:10px}
.calc-kv .rowline:first-child{border-top:0;padding-top:0}
.calc-kv .rowline strong{color:#fff}
.calc-kv .rowline span:last-child{font-weight:700;color:#fff;text-align:right}
.calc-subnote{color:var(--muted);font-size:.9rem}
.calc-error{color:#ff8b8b}
.data-bridge{margin-top:8px}
@media (max-width: 900px){
  .calc-support-grid{grid-template-columns:1fr}
  .calc-mini-fields{grid-template-columns:1fr}
  .value-grid.compact{grid-template-columns:1fr}
}


/* =========================================================
   v67 — Group & SOTP Stress Test polish
   Keeps the terminal identity, but shifts the visual hierarchy
   from offer mechanics to reports, group structure and models.
   ========================================================= */
:root{
  --bg:#0f172a;
  --bg-2:#111827;
  --panel:rgba(15,23,42,.78);
  --panel-strong:rgba(17,24,39,.94);
  --line:rgba(148,163,184,.22);
  --line-soft:rgba(148,163,184,.14);
  --text:#f8fafc;
  --muted:#cbd5e1;
  --soft:#e2e8f0;
  --blue:#38bdf8;
  --blue-2:#0ea5e9;
  --cyan:#67e8f9;
  --green:#22c55e;
  --amber:#f59e0b;
  --red:#fb7185;
}
body{
  background:
    radial-gradient(circle at 12% 2%, rgba(56,189,248,.13), transparent 28%),
    radial-gradient(circle at 88% 8%, rgba(34,197,94,.08), transparent 22%),
    linear-gradient(180deg, #0f172a 0%, #111827 48%, #0b1120 100%);
}
.card, .metric, .source, .offer-tile, .simple-box, .offer-note, .note{
  background: linear-gradient(180deg, rgba(15,23,42,.82), rgba(17,24,39,.72));
}
.section-head h3, .hero h2, .info-card h4{letter-spacing:-.025em;}
.badge.model, .tag.model { background: rgba(245,158,11,.11); color: #fbbf24; border-color: rgba(245,158,11,.26); }
.badge.source, .tag.official { background: rgba(34,197,94,.11); color: #86efac; border-color: rgba(34,197,94,.25); }
.badge.warn, .tag.context { background: rgba(56,189,248,.10); color: #7dd3fc; border-color: rgba(56,189,248,.24); }
.report-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px;}
.report-tile{padding:16px;border:1px solid var(--line);border-radius:18px;background:rgba(15,23,42,.72);}
.report-tile small{display:block;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;}
.report-tile strong{display:block;color:#fff;font-size:1.28rem;line-height:1.1;margin-top:6px;}
.report-tile span{display:block;color:var(--muted);font-size:.84rem;margin-top:5px;}
.sotp-layout{display:grid;grid-template-columns:minmax(0,1.26fr) minmax(320px,.74fr);gap:18px;align-items:start;}
.sotp-card{border-color:rgba(245,158,11,.28);box-shadow:0 0 0 1px rgba(245,158,11,.05),0 22px 54px rgba(0,0,0,.24);}
.sotp-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0;}
.sotp-scenario{min-height:64px;border:1px solid var(--line);border-radius:16px;background:rgba(15,23,42,.62);color:var(--soft);font-weight:900;cursor:pointer;transition:all .16s ease;text-align:left;padding:12px;}
.sotp-scenario strong{display:block;color:#fff;font-size:1rem;}
.sotp-scenario span{display:block;color:var(--muted);font-size:.78rem;margin-top:2px;}
.sotp-scenario.active{border-color:rgba(245,158,11,.55);background:rgba(245,158,11,.13);box-shadow:0 0 0 2px rgba(245,158,11,.10) inset;}
.sotp-range-row{display:grid;grid-template-columns:1fr 96px;gap:14px;align-items:center;margin:16px 0;}
.sotp-range-row label{display:block;color:#fff;font-weight:900;margin-bottom:6px;}
.sotp-range-row input[type=range]{width:100%;accent-color:var(--amber);}
.sotp-discount-box{border:1px solid rgba(245,158,11,.28);border-radius:16px;padding:12px;text-align:center;background:rgba(245,158,11,.10);}
.sotp-discount-box strong{display:block;color:#fff;font-size:1.32rem;font-family:var(--mono);}
.sotp-result-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px;}
.sotp-result{border:1px solid var(--line);border-radius:18px;padding:14px;background:rgba(15,23,42,.70);}
.sotp-result small{display:block;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:.70rem;}
.sotp-result strong{display:block;color:#fff;font-family:var(--mono);font-size:1.25rem;margin-top:6px;}
.sotp-result span{display:block;color:var(--muted);font-size:.8rem;margin-top:3px;}
.sotp-table{width:100%;border-collapse:separate;border-spacing:0 8px;font-size:.88rem;}
.sotp-table th{color:var(--muted);font-weight:900;text-align:right;padding:0 8px;font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;}
.sotp-table th:first-child{text-align:left;}
.sotp-table td{padding:10px 8px;background:rgba(15,23,42,.58);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);text-align:right;color:var(--soft);}
.sotp-table td:first-child{text-align:left;border-left:1px solid var(--line-soft);border-radius:12px 0 0 12px;color:#fff;font-weight:800;}
.sotp-table td:last-child{border-right:1px solid var(--line-soft);border-radius:0 12px 12px 0;}
.cluster-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:14px;}
.cluster-card{border:1px solid var(--line);border-radius:18px;padding:14px;background:rgba(15,23,42,.62);}
.cluster-card small{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:900;font-size:.7rem;}
.cluster-card strong{display:block;color:#fff;margin-top:5px;}
.cluster-card span{display:block;color:var(--muted);font-size:.82rem;margin-top:5px;}
.legacy-model-card{margin-top:18px;opacity:.94;}
.legacy-model-card summary{cursor:pointer;color:#fff;font-weight:900;}
.legacy-model-card[open]{border-color:rgba(56,189,248,.24);}
.capital-history{border-left:3px solid rgba(56,189,248,.55);padding-left:14px;}
.source-strip.tight{gap:6px;margin-top:10px;}
@media (max-width:980px){
  .sotp-layout{grid-template-columns:1fr;}
  .sotp-result-grid,.report-strip{grid-template-columns:repeat(2,minmax(0,1fr));}
  .cluster-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:640px){
  .sotp-controls{grid-template-columns:1fr;}
  .sotp-range-row{grid-template-columns:1fr;}
  .sotp-result-grid,.report-strip,.cluster-grid{grid-template-columns:1fr;}
  .sotp-table{font-size:.78rem;}
}


/* v67.1 live portfolio valuation */
.portfolio-live-strip{margin-top:14px;border:1px solid rgba(56,189,248,.24);border-radius:20px;padding:14px;background:linear-gradient(135deg,rgba(56,189,248,.10),rgba(15,23,42,.72));}
.portfolio-live-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:12px;}
.portfolio-live-head strong{display:block;color:#fff;font-size:1rem;}
.portfolio-live-head span{display:block;margin-top:3px;max-width:760px;}
.live-toggle{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;border:1px solid var(--line);border-radius:999px;padding:8px 10px;background:rgba(15,23,42,.62);color:var(--soft);font-weight:800;font-size:.82rem;}
.live-toggle input{accent-color:var(--accent);}
.portfolio-live-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.portfolio-live-quote{border:1px solid var(--line-soft);border-radius:16px;padding:12px;background:rgba(2,6,23,.36);}
.portfolio-live-quote small{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.68rem;font-weight:900;}
.portfolio-live-quote strong{display:block;color:#fff;font-family:var(--mono);font-size:1.05rem;margin-top:4px;}
.portfolio-live-quote span{display:block;color:var(--muted);font-size:.76rem;margin-top:3px;}
.portfolio-live-quote.stale strong,.portfolio-live-quote.warn strong{color:#fbbf24;}
.portfolio-live-quote.live strong{color:#dff9ff;}
@media (max-width:760px){.portfolio-live-head{display:block}.live-toggle{margin-top:10px}.portfolio-live-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:480px){.portfolio-live-grid{grid-template-columns:1fr;}}


/* v67.2 market/language polish */
.market-badge.warn, .portfolio-live-quote.warn{border-color:rgba(245,158,11,.45);background:rgba(245,158,11,.10);}
#hero-updated, #chart-status, #pf-live-updated{overflow-wrap:anywhere;}
@media (max-width:720px){
  .table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px;}
  .sotp-table{min-width:560px;}
  .metric-row{gap:10px;}
  .metric-row .mono{word-break:break-word;text-align:right;}
  .hero-actions{gap:8px;}
  .hero-actions .btn{width:100%;justify-content:center;}
}
@media (max-width:520px){
  .tabs{gap:6px;}
  .tab-btn{font-size:.78rem;padding:8px 9px;}
  .section-head p,.muted{line-height:1.55;}
}

/* v67.4 — Forensic SOTP bridge and methodology correction */
.method-correction {
  margin: 14px 0 16px;
  border-color: rgba(245, 158, 11, .32);
  background: rgba(245, 158, 11, .08);
}
.forensic-bridge {
  margin-top: 18px;
}
.forensic-toolbar {
  align-items: flex-start;
  gap: 16px;
}
.forensic-toolbar h4 {
  margin: 8px 0 4px;
  color: #f8fafc;
  line-height: 1.3;
}
.forensic-grid {
  margin-top: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.forensic-results {
  margin-top: 14px;
}
.forensic-note {
  margin-top: 12px;
  border-left: 3px solid rgba(245, 158, 11, .55);
  padding-left: 12px;
}
@media (max-width: 720px) {
  .forensic-grid { grid-template-columns: 1fr; }
  .forensic-toolbar { display:block; }
  .forensic-toolbar .tag { margin-top: 10px; display:inline-flex; }
}

/* v67.6 facts/correction layer */
.badge.corrected, .tag.corrected { background: rgba(251,146,60,.12); color: #fdba74; border-color: rgba(251,146,60,.30); }
.correction-layer { border-color: rgba(251,146,60,.28); background: linear-gradient(180deg, rgba(251,146,60,.10), rgba(12,20,32,.72)); }
.correction-layer .label { color:#fdba74; }
