  /* ── 4. LEGO 乐高积木主题样式 ── */
  .lego {
    --bg: #F2F0EB;         /* Lego Cream/Light Tan background */
    --card-bg: #ffffff;
    --text: #111111;
    --text-secondary: #2c3e50;
    /* 相对 --bg #F2F0EB，小字号目标 ≥4.5:1 */
    --text-muted: #555f66;
    --border: #111111;
    --panel-bg: #EAECEE;   /* Lego Light Grey */
    --shadow-sm: 2px 2px 0 #111111;
    --shadow: 4px 4px 0 #111111;
    --shadow-lg: 7px 7px 0 #111111;
    --radius: 12px;
    --radius-sm: 6px;

    --header-bg: #F2CD37;  /* Lego Yellow */
    --header-text: #111111;
    --header-accent: #E60012; /* Lego Red */

    /* 乐高分类标签色 */
    --accent-pa: #0055A5;  /* Lego Blue */
    --accent-pa-bg: #e6f4ff;
    --accent-econ: #008542; /* Lego Green */
    --accent-econ-bg: #e6f9ed;
    --accent-nber: #E60012; /* Lego Red */
    --accent-nber-bg: #ffe6e6;
    --accent-hot: #E60012;  /* Red for hot */
    --accent-hot-bg: #ffe6e6;
    --accent-news: #0055A5; /* Blue for political */
    --accent-news-bg: #e6f4ff;

    --primary: #E60012;
    --primary-light: rgba(230, 0, 18, 0.1);

    --sent-vneg: #E60012;
    --sent-neg: #e67e22;
    --sent-neu: #7f8c8d;
    --sent-pos: #2ecc71;
    --sent-vpos: #27ae60;

    --font-display: "Fredoka", "Inter", sans-serif;
    --font-body: "Inter", sans-serif;
  }

  /* 3D Lego baseplate texture for background */
  body.lego {
    background-color: var(--bg) !important;
    background-image: radial-gradient(circle, #E1DDD5 20%, transparent 21%),
                      radial-gradient(circle, #FFFFFF 8%, transparent 9%) !important;
    background-size: 32px 32px !important;
    background-position: 0 0, 1px 1px !important;
  }

  /* Solid Lego Brand Header block (like red lego brick) */
  .lego .header {
    background-color: var(--header-bg) !important;
    border: 4px solid var(--border) !important;
    border-bottom: 8px solid var(--border) !important;
    box-shadow: 6px 6px 0 var(--border) !important;
    border-radius: 12px !important;
    margin: 10px 10px 20px 10px !important;
  }

  .lego .header-brand h1 {
    background: #E60012 !important;
    color: #FFFFFF !important;
    border: 3px solid var(--border) !important;
    border-radius: 8px !important;
    padding: 6px 16px !important;
    box-shadow: 3px 3px 0 var(--border) !important;
    font-family: var(--font-display) !important;
    font-weight: 900 !important;
    letter-spacing: 0.05em !important;
    position: relative !important;
    text-shadow: none !important;
    font-size: 1.3rem !important;
  }

  .lego .header-brand h1::before {
    content: "" !important;
    position: absolute !important;
    top: -9px !important;
    left: 15px !important;
    right: 15px !important;
    height: 6px !important;
    background-image:
      radial-gradient(circle at 4px 1.5px, rgba(255,255,255,0.7) 12%, transparent 16%),
      radial-gradient(circle, #E60012 35%, var(--border) 45%, transparent 50%) !important;
    background-size: 14px 6px !important;
    background-repeat: repeat-x !important;
    z-index: 5 !important;
  }

  .lego .header-date {
    color: #111111 !important;
    font-weight: 700 !important;
    font-family: var(--font-mono) !important;
  }
  body.lego .header .status-wrap,
  body.lego .header .status-wrap #statusText,
  body.lego .header #statusText {
    /* 顶栏背景 #F2CD37：禁止继承半透明白字 */
    color: #111111 !important;
    font-weight: 700 !important;
  }
  body.lego .header .header-date,
  body.lego .header #headerDate {
    color: #111111 !important;
  }

  /* Buttons & Controllers */
  .lego .btn-theme-trigger,
  .lego .btn {
    background-color: #0055A5 !important;
    color: #ffffff !important;
    border: 3px solid var(--border) !important;
    border-radius: 8px !important;
    box-shadow: 3px 3px 0 var(--border) !important;
    font-weight: 800 !important;
    font-family: var(--font-display) !important;
    transition: all 0.1s ease !important;
    text-shadow: none !important;
  }
  .lego .btn-theme-trigger {
    background-color: var(--header-accent) !important;
  }

  .lego .btn-theme-trigger:hover,
  .lego .btn:hover {
    transform: translate(-1px, -1px) !important;
    box-shadow: 4px 4px 0 var(--border) !important;
    background-color: var(--header-accent) !important;
    color: #ffffff !important;
  }
  .lego .btn:hover {
    background-color: #0055A5 !important;
  }
  .lego .btn-theme-trigger:active,
  .lego .btn:active {
    transform: translate(2px, 2px) !important;
    box-shadow: 1px 1px 0 var(--border) !important;
  }

  .lego .header-secondary {
    background: #FFFFFF !important;
    border: 3px solid var(--border) !important;
    border-radius: 8px !important;
    box-shadow: 4px 4px 0 var(--border) !important;
  }
  .lego .header-secondary .btn,
  .lego .header-secondary .btn-theme-trigger,
  .lego .header-secondary a.btn {
    box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
    color: #111111 !important;
    background: #FFFFFF !important;
  }
  .lego .header-secondary .btn:hover,
  .lego .header-secondary .btn-theme-trigger:hover,
  .lego .header-secondary a.btn:hover {
    background-color: #F2CD37 !important;
    color: #111111 !important;
    transform: none !important;
  }
  /* Dropdown theme list */
  .lego .theme-dropdown-menu {
    background: #FFFFFF !important;
    border: 3px solid var(--border) !important;
    border-radius: 8px !important;
    box-shadow: 4px 4px 0 var(--border) !important;
  }
  .lego .theme-dropdown-item {
    font-weight: 800 !important;
    color: #111111 !important;
    font-family: var(--font-display) !important;
    border: none !important;
    background: #FFFFFF !important;
  }
  .lego .theme-dropdown-item:hover {
    background-color: #F2CD37 !important;
    color: #111111 !important;
  }

  /* Tabs navigation - styled like stacked lego plates */
  .lego .tabs {
    background: #EAECEE !important;
    border: 3px solid var(--border) !important;
    border-bottom: 6px solid var(--border) !important;
    border-radius: 12px !important;
    box-shadow: 4px 4px 0 var(--border) !important;
    padding: 8px 16px !important;
    gap: 8px !important;
    margin: 0 10px 20px 10px !important;
  }
  .lego .tab {
    border: 3px solid var(--border) !important;
    border-radius: 8px 8px 0 0 !important;
    box-shadow: 2px -2px 0 var(--border) !important;
    background-color: #ffffff !important;
    color: #111111 !important;
    font-weight: 800 !important;
    padding: 10px 16px !important;
    margin-bottom: -11px !important; /* pull tabs down to sit on bottom border */
    transition: all 0.1s ease !important;
  }
  .lego .tab:hover {
    background-color: var(--header-bg) !important;
    transform: translateY(-2px) !important;
  }
  .lego .tab.active {
    background-color: var(--header-accent) !important;
    color: #ffffff !important;
    box-shadow: 2px -2px 0 var(--border) !important;
    transform: none !important;
  }

  /* Table of Contents (TOC) - Solid stack of bricks */
  .lego .field-toc {
    background: #FFFFFF !important;
    border: 3px solid var(--border) !important;
    border-radius: 12px !important;
    box-shadow: 4px 4px 0 var(--border) !important;
    padding: 14px !important;
  }
  .lego .field-toc-label {
    color: #111111 !important;
    border-bottom: 3px solid var(--border) !important;
    padding-bottom: 8px !important;
    margin-bottom: 12px !important;
    font-weight: 900 !important;
  }
  .lego .field-toc-item {
    background: #F2F0EB !important;
    border: 2.5px solid var(--border) !important;
    border-radius: 6px !important;
    margin-bottom: 8px !important;
    box-shadow: 2px 2px 0 var(--border) !important;
    color: #111111 !important;
    font-weight: 800 !important;
    padding: 8px 12px !important;
  }
  .lego .field-toc-item:hover {
    background: #F2CD37 !important; /* Yellow */
    color: #111111 !important;
    transform: translate(-1px, -1px) !important;
    box-shadow: 3px 3px 0 var(--border) !important;
  }
  .lego .field-toc-item.active {
    background: #0055A5 !important; /* Blue */
    color: #FFFFFF !important;
    transform: translate(1px, 1px) !important;
    box-shadow: 1px 1px 0 var(--border) !important;
  }
  .lego .toc-collapse-btn {
    background: #FFFFFF !important;
    border: 2px solid var(--border) !important;
    border-radius: 4px !important;
    color: #111111 !important;
    box-shadow: 1px 1px 0 var(--border) !important;
    font-weight: 800 !important;
  }
  .lego .toc-collapse-btn:hover {
    background: #E60012 !important;
    color: #FFFFFF !important;
  }
  .lego .toc-restore {
    background: #FFFFFF !important;
    border: 3px solid var(--border) !important;
    border-radius: 8px !important;
    color: #111111 !important;
    box-shadow: 3px 3px 0 var(--border) !important;
    font-weight: 800 !important;
  }
  .lego .toc-restore:hover {
    background: #0055A5 !important;
    color: #FFFFFF !important;
  }

  /* Sub-tabs selector for Journals / Field Categories */
  .lego .journal-nav {
    background: #EAECEE !important;
    border: 3px solid var(--border) !important;
    border-radius: 8px !important;
    padding: 8px !important;
    margin-bottom: 20px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    box-shadow: 3px 3px 0 var(--border) !important;
  }
  .lego .journal-nav-btn {
    background: #FFFFFF !important;
    border: 2px solid var(--border) !important;
    border-radius: 6px !important;
    color: #111111 !important;
    font-weight: 800 !important;
    padding: 6px 12px !important;
    margin-right: 0 !important;
    transition: all 0.1s ease !important;
    box-shadow: 1px 1px 0 var(--border) !important;
    font-size: 0.8rem !important;
  }
  .lego .journal-nav-btn:hover {
    background: #F2CD37 !important;
    transform: translate(-1px, -1px) !important;
    box-shadow: 2px 2px 0 var(--border) !important;
    border-bottom: 2px solid var(--border) !important;
  }
  .lego .journal-nav-btn.active {
    background: #E60012 !important;
    color: #FFFFFF !important;
    transform: translate(1px, 1px) !important;
    box-shadow: none !important;
    border-bottom: 2px solid var(--border) !important;
  }

  .lego .journal-section .journal-title {
    background: var(--header-bg) !important;
    color: var(--header-text) !important;
    border: 3px solid var(--border) !important;
    border-radius: 8px !important;
    box-shadow: 3px 3px 0 var(--border) !important;
    padding: 8px 16px !important;
    margin-bottom: 16px !important;
    font-weight: 800 !important;
  }

  /* Solid Content Cards */
  .lego .cards-wrapper {
    background: transparent !important;
    padding: 0 !important;
  }

  .lego .card,
  .lego .cards-wrapper .card {
    border: 3px solid var(--border) !important;
    box-shadow: var(--shadow-lg) !important;
    border-radius: 12px !important;
    margin-top: 15px !important;
    margin-bottom: 24px !important;
    background-color: #ffffff !important;
    padding: 20px !important;
    transition: transform 0.15s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.15s ease !important;
    position: relative !important;
    display: block !important;
    opacity: 1 !important;
  }

  .lego .card:hover,
  .lego .cards-wrapper .card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 10px 10px 0 var(--border) !important;
  }

  .lego .journal-new-badge {
    border: 2px solid #111111 !important;
    border-radius: 5px !important;
    background: #F2CD37 !important;
    color: #111111 !important;
    box-shadow: 2px 2px 0 #111111 !important;
    font-family: var(--font-display) !important;
    font-weight: 800 !important;
    letter-spacing: 0.04em;
  }

  /* 3D Studs on top of Cards */
  .lego .card::before,
  .lego .cards-wrapper .card::before {
    content: "" !important;
    position: absolute !important;
    top: -11px !important;
    left: 20px !important;
    right: 20px !important;
    height: 8px !important;
    background-image:
      radial-gradient(circle at 6px 2px, rgba(255,255,255,0.7) 12%, transparent 16%),
      radial-gradient(circle, #ffffff 35%, var(--border) 45%, transparent 50%) !important;
    background-size: 20px 8px !important;
    background-repeat: repeat-x !important;
    z-index: 5 !important;
  }

  /* Badges - Lego Solid Primary Blocks */
  .lego .badge {
    border: 2px solid var(--border) !important;
    border-radius: 6px !important;
    padding: 4px 10px !important;
    font-weight: 800 !important;
    box-shadow: 2px 2px 0 var(--border) !important;
  }
  .lego .badge-pa { background-color: #0055A5 !important; color: #FFFFFF !important; }
  .lego .badge-econ { background-color: #008542 !important; color: #FFFFFF !important; }
  .lego .badge-nber { background-color: #E60012 !important; color: #FFFFFF !important; }
  .lego .badge-hot { background-color: #F2CD37 !important; color: #111111 !important; }
  .lego .badge-news { background-color: #008542 !important; color: #FFFFFF !important; }

  .lego .card-title {
    font-size: 1.25rem !important;
    font-weight: 900 !important;
    color: #111111 !important;
  }
  .lego .card-title a:hover {
    color: var(--primary) !important;
    text-decoration: underline;
  }

  .lego .card-meta {
    color: #555555 !important;
    font-weight: 600 !important;
  }

  .lego .section-title {
    color: #111111 !important;
    font-weight: 900 !important;
  }

  .lego .section-content {
    color: #111111 !important;
  }

  /* Solid Blocks inside Card for Translation & Abstracts */
  .lego .translation {
    background: #FDF2E9 !important; /* Solid Light Tan-Orange Plate */
    border: 2.5px solid var(--border) !important;
    border-left: 6px solid #e67e22 !important;
    border-radius: 8px !important;
    padding: 12px 16px !important;
    margin-top: 14px !important;
    font-family: var(--font-display) !important;
    color: #111111 !important;
    opacity: 1 !important;
  }
  .lego .abstract-zh {
    background: #F4F6F6 !important; /* Solid Light Gray Plate */
    border: 2.5px solid var(--border) !important;
    border-left: 6px solid #7f8c8d !important;
    border-radius: 8px !important;
    padding: 12px 16px !important;
    margin-top: 14px !important;
    color: #111111 !important;
    opacity: 1 !important;
  }

  /* AI Panel */
  .lego .ai-panel {
    border: 3px solid var(--border) !important;
    border-radius: 12px !important;
    background-color: #FFFFFF !important;
    box-shadow: var(--shadow) !important;
    padding: 18px !important;
    margin-bottom: 20px !important;
  }

  .lego .ai-item {
    border-bottom: 2.5px solid var(--border) !important;
    background: #FFFFFF !important;
  }
  .lego .ai-item[open] summary {
    background: #F2F0EB !important;
  }

  .lego .sent-label {
    color: #111111 !important;
    font-weight: 850 !important;
  }

  .lego .sent-dot {
    width: 14px;
    height: 14px;
    border: 2.5px solid var(--border) !important;
    border-radius: 50% !important;
    box-shadow: inset 1px 1px 2px rgba(255,255,255,0.4) !important;
    position: relative !important;
  }
  .lego .sent-dot::before {
    content: "" !important;
    position: absolute !important;
    top: 2px !important; left: 2px !important;
    width: 4px; height: 4px;
    border-radius: 50% !important;
    background-color: rgba(255, 255, 255, 0.4) !important;
  }

  /* News Summary Cards Redesign */
  .lego .news-modebar {
    background: #EAECEE !important;
    border: 3px solid var(--border) !important;
    border-radius: 8px !important;
    padding: 6px !important;
    margin-bottom: 18px !important;
    display: flex !important;
    gap: 6px !important;
    box-shadow: 3px 3px 0 var(--border) !important;
  }
  .lego .news-mode-btn {
    background: #FFFFFF !important;
    border: 2px solid var(--border) !important;
    border-radius: 6px !important;
    color: #111111 !important;
    font-weight: 800 !important;
    padding: 6px 12px !important;
    transition: all 0.1s ease !important;
    box-shadow: 1px 1px 0 var(--border) !important;
  }
  .lego .news-mode-btn:hover {
    background: #F2CD37 !important;
    transform: translate(-1px, -1px) !important;
    box-shadow: 2px 2px 0 var(--border) !important;
  }
  .lego .news-mode-btn.active {
    background: #E60012 !important;
    color: #FFFFFF !important;
    transform: translate(1px, 1px) !important;
    box-shadow: none !important;
  }

  .lego .news-summary-card {
    background: #FFFFFF !important;
    border: 3px solid var(--border) !important;
    border-radius: 12px !important;
    box-shadow: var(--shadow) !important;
    padding: 16px 18px !important;
    min-height: 210px !important;
    text-align: left !important;
    cursor: pointer !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    transition: all 0.15s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
    opacity: 1 !important;
  }
  .lego .news-summary-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 7px 7px 0 var(--border) !important;
  }
  .lego .news-card-hot {
    --news-card-accent: #E60012 !important;
  }
  .lego .news-card-political {
    --news-card-accent: #0055A5 !important;
  }
  .lego .news-card-ai {
    --news-card-accent: #008542 !important;
  }

  .lego .news-summary-head {
    background: var(--news-card-accent) !important;
    color: #FFFFFF !important;
    margin: -16px -18px 12px -18px !important;
    padding: 10px 18px !important;
    border-bottom: 3px solid var(--border) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }
  .lego .news-summary-title {
    color: #FFFFFF !important;
    font-family: var(--font-display) !important;
    font-weight: 800 !important;
    font-size: 1.05rem !important;
    text-shadow: 1px 1px 0 #111111 !important;
  }
  .lego .news-summary-kicker {
    color: #111111 !important;
    background: #FFFFFF !important;
    border: 2px solid var(--border) !important;
    border-radius: 4px !important;
    padding: 2px 6px !important;
    font-weight: 800 !important;
    font-size: 0.7rem !important;
    box-shadow: 1px 1px 0 var(--border) !important;
  }

  .lego .news-metric {
    background: #FFFFFF !important;
    border: 2px solid var(--border) !important;
    border-radius: 6px !important;
    box-shadow: 2px 2px 0 var(--border) !important;
    font-weight: 800 !important;
    color: #111111 !important;
    padding: 3px 8px !important;
    margin-right: 6px !important;
    display: inline-flex !important;
  }

  .lego .news-preview-list {
    list-style: none !important;
    padding-left: 0 !important;
    margin: 0 !important;
  }
  .lego .news-preview-list li {
    background: #F2F0EB !important;
    border: 2px solid var(--border) !important;
    border-radius: 6px !important;
    padding: 6px 10px !important;
    margin-bottom: 6px !important;
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    color: var(--text-secondary) !important;
    position: relative !important;
    list-style-type: none !important;
  }
  .lego .news-preview-list li::before {
    display: none !important;
  }

  /* MAGI Dashboard Panel Retro-Console Mode */
  .lego .magi-dashboard-panel {
    border: 3.5px solid var(--border) !important;
    border-radius: 12px !important;
    box-shadow: 6px 6px 0 var(--border) !important;
    background-color: #C2C7C7 !important; /* Retro console plastic */
    padding: 16px !important;
  }
  .lego .magi-dashboard-panel .magi-main-title {
    font-family: var(--font-display) !important;
    font-weight: 900 !important;
    border-bottom: 3px solid var(--border) !important;
    font-size: 1.1rem !important;
    padding-bottom: 8px !important;
    color: #111111 !important;
  }
  .lego .magi-pc {
    border: 3px solid var(--border) !important;
    border-radius: 8px !important;
    background-color: #ffffff !important;
    box-shadow: 3px 3px 0 var(--border) !important;
    margin-bottom: 12px !important;
    padding: 12px !important;
  }
  .lego .magi-pc-name {
    font-weight: 900 !important;
    color: #111111 !important;
  }
  .lego .magi-pc-vote {
    border: 2px solid var(--border) !important;
    border-radius: 6px !important;
    font-weight: 900 !important;
    padding: 3px 8px !important;
    box-shadow: 1px 1px 0 var(--border) !important;
  }
  .lego .melchior .magi-pc-vote { background-color: #2ecc71 !important; color: #111111 !important; }
  .lego .balthasar .magi-pc-vote { background-color: #2ecc71 !important; color: #111111 !important; }
  .lego .caspar .magi-pc-vote { background-color: #2ecc71 !important; color: #111111 !important; }

  /* Push menu dropdown settings page link etc. */
  .lego .push-menu {
    background: #FFFFFF !important;
    border: 3px solid var(--border) !important;
    border-radius: 8px !important;
    box-shadow: 4px 4px 0 var(--border) !important;
  }
  .lego .push-menu-header {
    border-bottom: 2px solid var(--border) !important;
    font-weight: 800 !important;
    color: #555555 !important;
  }
  .lego .push-menu-item {
    color: #111111 !important;
    font-weight: 800 !important;
  }
  .lego .push-menu-item:hover {
    background: #F2CD37 !important;
    color: #111111 !important;
  }
  .lego .push-menu-all {
    border-top: 2px solid var(--border) !important;
    background: #FFFFFF !important;
  }

  /* Lectures catalog and reading box */
  .lego .lecture-list-restore {
    background: #FFFFFF !important;
    border: 3px solid var(--border) !important;
    border-radius: 8px !important;
    color: #111111 !important;
    box-shadow: 3px 3px 0 var(--border) !important;
    font-weight: 800 !important;
  }
  .lego .lecture-list-restore:hover {
    background: #0055A5 !important;
    color: #FFFFFF !important;
  }
  .lego .lecture-list-head {
    border-bottom: 3px solid var(--primary) !important;
    font-weight: 900 !important;
  }
  .lego .lecture-list-collapse {
    border: 2px solid var(--border) !important;
    background: #FFFFFF !important;
    color: #111111 !important;
    border-radius: 4px !important;
    box-shadow: 1px 1px 0 var(--border) !important;
    font-weight: 800 !important;
  }
  .lego .lecture-list-collapse:hover {
    background: #E60012 !important;
    color: #FFFFFF !important;
  }

  .lego .lecture-reader {
    background: #FFFFFF !important;
    border: 3px solid var(--border) !important;
    border-radius: 12px !important;
    box-shadow: var(--shadow-lg) !important;
    padding: 24px !important;
    opacity: 1 !important;
  }

  .lego .lecture-card {
    background: #FFFFFF !important;
    border: 2.5px solid var(--border) !important;
    border-radius: 8px !important;
    box-shadow: 2px 2px 0 var(--border) !important;
    padding: 12px 14px !important;
    margin-bottom: 8px !important;
    opacity: 1 !important;
  }
  .lego .lecture-card-title {
    font-weight: 800 !important;
    color: #111111 !important;
  }
  .lego .lecture-card-date {
    font-weight: 700 !important;
    color: #555555 !important;
  }
  .lego .lecture-card:hover {
    background: #F2CD37 !important; /* Lego Yellow */
    transform: translate(-1px, -1px) !important;
    box-shadow: 3px 3px 0 var(--border) !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  .lego .lecture-card.active {
    background: #E60012 !important; /* Lego Red */
    color: #FFFFFF !important;
    transform: translate(1px, 1px) !important;
    box-shadow: 1px 1px 0 var(--border) !important;
    padding-left: 14px !important;
  }
  .lego .lecture-card.active .lecture-card-title,
  .lego .lecture-card.active .lecture-card-date {
    color: #FFFFFF !important;
  }

  /* Directory Scrollbar Overrides (Let list expand naturally without scrollbars) */
  .lego .field-toc,
  .lego .lecture-list {
    max-height: none !important;
    overflow-y: visible !important;
  }

  /* Increase top spacing for directories and restore buttons to prevent crowding under sticky tabs */
  .lego .field-toc,
  .lego .toc-restore,
  .lego .lecture-list,
  .lego .lecture-list-restore,
  .lego .lecture-reader-outline,
  .lego .lec-outline-restore {
    top: 140px !important;
  }

  /* Make News Detail View Section Headings solid and opaque */
  .lego .news-panel-title {
    background: var(--header-bg) !important;
    color: var(--header-text) !important;
    border: 3px solid var(--border) !important;
    border-radius: 8px !important;
    box-shadow: 3px 3px 0 var(--border) !important;
    padding: 10px 16px !important;
    margin-bottom: 20px !important;
    font-weight: 900 !important;
  }
  .lego .news-block-title,
  .lego .news-cluster-heading {
    background: #0055A5 !important; /* Lego Blue */
    color: #FFFFFF !important;
    border: 3px solid var(--border) !important;
    border-radius: 8px !important;
    box-shadow: 3px 3px 0 var(--border) !important;
    padding: 10px 16px !important;
    margin-top: 18px !important;
    margin-bottom: 16px !important;
    font-weight: 900 !important;
  }

  /* Opaque Cluster Cards & Platforms Tag */
  .lego .cluster-card {
    background: #FFFFFF !important;
    border: 3px solid var(--border) !important;
    border-radius: 12px !important;
    box-shadow: var(--shadow) !important;
    padding: 18px !important;
    margin-bottom: 14px !important;
    border-left: 5px solid #E60012 !important; /* Solid red brick edge */
    transition: transform 0.15s ease, box-shadow 0.15s ease !important;
    opacity: 1 !important;
  }
  .lego .cluster-card:hover {
    transform: translateY(-2px) !important;
    box-shadow: 6px 6px 0 var(--border) !important;
    background: #FFFFFF !important;
  }
  .lego .platform-tag {
    background: #F2F0EB !important;
    color: #111111 !important;
    border: 2px solid var(--border) !important;
    border-radius: 6px !important;
    padding: 3px 8px !important;
    margin-right: 6px !important;
    font-weight: 800 !important;
    box-shadow: 1px 1px 0 var(--border) !important;
  }

  /* Hot Topic Sub-Navigation (Monitor View Tabs) */
  .lego .subtabs {
    background: #EAECEE !important;
    border: 3px solid var(--border) !important;
    border-radius: 8px !important;
    padding: 6px !important;
    margin-bottom: 20px !important;
    display: flex !important;
    gap: 6px !important;
    box-shadow: 3px 3px 0 var(--border) !important;
  }
  .lego .subtab {
    background: #FFFFFF !important;
    border: 2px solid var(--border) !important;
    border-radius: 6px !important;
    color: #111111 !important;
    font-weight: 800 !important;
    padding: 6px 12px !important;
    margin-bottom: 0 !important;
    transition: all 0.1s ease !important;
    box-shadow: 1px 1px 0 var(--border) !important;
  }
  .lego .subtab:hover {
    background: #F2CD37 !important;
    transform: translate(-1px, -1px) !important;
    box-shadow: 2px 2px 0 var(--border) !important;
  }
  .lego .subtab.active {
    background: #E60012 !important;
    color: #FFFFFF !important;
    transform: translate(1px, 1px) !important;
    box-shadow: none !important;
  }

  /* Opaque AI Morning Briefing issue headers and sections */
  .lego .ai-issue {
    background: #FFFFFF !important;
    border: 3px solid var(--border) !important;
    border-radius: 12px !important;
    box-shadow: var(--shadow) !important;
    padding: 20px !important;
    margin-bottom: 24px !important;
  }
  .lego .ai-issue-head {
    background: #EAECEE !important; /* light grey plate for issue meta */
    border: 3px solid var(--border) !important;
    border-radius: 8px !important;
    padding: 14px 16px !important;
    margin-bottom: 18px !important;
    box-shadow: 2px 2px 0 var(--border) !important;
  }
  .lego .ai-issue-title {
    font-weight: 900 !important;
    color: #111111 !important;
  }
  .lego .ai-source-line {
    color: #555555 !important;
    font-weight: 600 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px 12px !important;
  }
  .lego .ai-source-line a {
    color: #0055A5 !important;
    font-weight: 800 !important;
  }

  .lego .ai-category {
    background: #FFFFFF !important;
    border: 3px solid var(--border) !important;
    border-radius: 12px !important;
    box-shadow: var(--shadow-sm) !important;
    margin-bottom: 20px !important;
    padding: 16px !important;
  }
  .lego .ai-category-head {
    background: #E60012 !important; /* solid red header block for categories */
    border: 2.5px solid var(--border) !important;
    border-radius: 6px !important;
    padding: 8px 12px !important;
    color: #FFFFFF !important;
    margin-bottom: 14px !important;
    box-shadow: 2px 2px 0 var(--border) !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
  }
  .lego .ai-category-name {
    color: #FFFFFF !important;
    font-weight: 900 !important;
  }
  .lego .ai-category-count {
    color: #FFFFFF !important;
    font-weight: 700 !important;
  }

  /* Style the dynamically generated inner cards in category body */
  .lego .ai-category-body .card {
    background: #FFFFFF !important;
    border: 2.5px solid var(--border) !important;
    border-radius: 8px !important;
    box-shadow: var(--shadow-sm) !important;
    padding: 14px !important;
    margin-bottom: 12px !important;
    display: block !important;
    position: relative !important;
    opacity: 1 !important;
  }
  .lego .ai-category-body .card:hover {
    transform: translateY(-2px) !important;
    box-shadow: 4px 4px 0 var(--border) !important;
  }
  .lego .ai-category-body .card:last-child {
    margin-bottom: 0 !important;
  }

  .lego .ai-disclaimer {
    background: #FDF2E9 !important; /* solid warm orange tint */
    border: 2px solid var(--border) !important;
    border-radius: 6px !important;
    padding: 8px 12px !important;
    margin-top: 14px !important;
    color: #e67e22 !important;
    font-weight: 700 !important;
    font-size: 0.76rem !important;
  }
  .lego .ai-item-empty {
    background: #F4F6F6 !important;
    border: 2px solid var(--border) !important;
    border-radius: 6px !important;
    padding: 10px 14px !important;
    color: #7f8c8d !important;
    font-weight: 700 !important;
  }

  /* Back to Top and Footer */
  .lego .jump-top {
    background: #FFFFFF !important;
    border: 3px solid var(--border) !important;
    border-radius: 8px !important;
    box-shadow: 3px 3px 0 var(--border) !important;
    color: #111111 !important;
    font-weight: 900 !important;
  }
  .lego .jump-top:hover {
    background: #F2CD37 !important;
    box-shadow: 4px 4px 0 var(--border) !important;
    transform: translateY(-2px) !important;
  }

  .lego .footer {
    background: #EAECEE !important;
    border: 3px solid var(--border) !important;
    border-radius: 12px !important;
    box-shadow: 4px 4px 0 var(--border) !important;
    color: #111111 !important;
    padding: 20px !important;
    margin-top: 40px !important;
    margin-bottom: 20px !important;
    font-weight: 800 !important;
  }
  .lego .footer a {
    color: #0055A5 !important;
    font-weight: 800 !important;
  }
  .lego .footer a:hover {
    color: #E60012 !important;
    text-decoration: underline !important;
  }
