/* AIGCWhy Portal Theme 1.5 — editorial AI intelligence system */
:root {
  --portal-orange: #ff5a1f;
  --portal-orange-dark: #e8450b;
  --portal-peach: #fff4eb;
  --portal-peach-2: #fff9f4;
  --portal-ink: #15171b;
  --portal-text: #34373d;
  --portal-muted: #7b7f87;
  --portal-line: #ebe5df;
  --portal-card: #fff;
  --portal-footer: #111923;
  --portal-shadow: 0 10px 35px rgba(91, 49, 21, .07);
  --portal-shadow-hover: 0 18px 45px rgba(91, 49, 21, .12);
  --container: 1220px;
  --ink: var(--portal-ink);
  --orange: var(--portal-orange);
  --acid: var(--portal-orange);
  --acid-deep: var(--portal-orange-dark);
  --paper: #fffaf6;
  --paper-2: #fff3e9;
  --white: #fff;
  --border: var(--portal-line);
}

/* GitHub AI project universe */
.github-universe-page { min-height: 70vh; background: #fff; }
.github-universe-hero { padding: 40px 0 30px; border-bottom: 1px solid var(--portal-line); background: radial-gradient(circle at 85% 30%, rgba(255,90,31,.15), transparent 24%), linear-gradient(125deg, #fff 20%, #fff8f3 100%); }
.github-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 42px; align-items: end; margin-top: 32px; }
.github-hero-grid h1 { margin: 10px 0 14px; color: var(--portal-ink); font-size: clamp(48px, 5.5vw, 78px); font-weight: 950; letter-spacing: -.07em; line-height: .98; }
.github-hero-grid > div > p:last-child { max-width: 720px; color: var(--portal-muted); font-size: 15px; line-height: 1.8; }
.github-hero-stats { display: grid; grid-template-columns: repeat(3, 120px); overflow: hidden; border: 1px solid #f0ded3; border-radius: 14px; background: rgba(255,255,255,.92); box-shadow: var(--portal-shadow); }
.github-hero-stats span { display: grid; gap: 5px; min-height: 94px; place-content: center; color: var(--portal-muted); font-size: 11px; text-align: center; }
.github-hero-stats span + span { border-left: 1px solid var(--portal-line); }
.github-hero-stats strong { color: var(--portal-ink); font-size: 27px; font-weight: 950; line-height: 1; }
.github-catalog-note { display: flex; align-items: center; gap: 9px; margin-top: 28px; color: #74787f; font-size: 11px; }
.github-catalog-note span { color: var(--portal-orange); }
.github-catalog-section { padding: 28px 0 60px; }
.github-catalog-toolbar { display: grid; grid-template-columns: minmax(0,1fr) 190px 170px; gap: 10px; align-items: end; }
.github-catalog-toolbar label { display: grid; gap: 7px; color: #73777e; font-size: 10px; font-weight: 800; }
.github-catalog-toolbar input, .github-catalog-toolbar select { width: 100%; height: 46px; padding: 0 13px; border: 1px solid #e4ded9; border-radius: 8px; outline: 0; background: #fff; color: var(--portal-ink); font-size: 12px; }
.github-catalog-toolbar input:focus, .github-catalog-toolbar select:focus { border-color: var(--portal-orange); box-shadow: 0 0 0 3px rgba(255,90,31,.09); }
.github-category-filters { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 18px; }
.github-category-filters button { min-height: 31px; padding: 0 10px; border: 1px solid #e7e2de; border-radius: 7px; background: #fafafa; color: #71757c; font-size: 10px; font-weight: 750; cursor: pointer; }
.github-category-filters button:hover, .github-category-filters button.is-active { border-color: var(--portal-orange); background: var(--portal-orange); color: #fff; }
.github-results-line { display: flex; justify-content: space-between; gap: 18px; margin: 24px 0 14px; padding-bottom: 12px; border-bottom: 1px solid var(--portal-line); color: var(--portal-muted); font-size: 11px; }
.github-results-line strong { color: var(--portal-orange); font-size: 15px; }
.github-loading { display: grid; min-height: 240px; place-content: center; justify-items: center; gap: 12px; color: var(--portal-muted); font-size: 12px; }
.github-loading[hidden] { display: none; }
.github-loading > span { width: 28px; height: 28px; border: 3px solid #fee0d2; border-top-color: var(--portal-orange); border-radius: 50%; animation: github-spin .8s linear infinite; }
@keyframes github-spin { to { transform: rotate(360deg); } }
.github-project-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.github-project-card { display: flex; min-width: 0; min-height: 290px; flex-direction: column; padding: 18px; border: 1px solid var(--portal-line); border-radius: 11px; background: #fff; box-shadow: 0 6px 24px rgba(46,36,30,.045); transition: .2s ease; }
.github-project-card:hover { transform: translateY(-3px); border-color: #ffcdb4; box-shadow: var(--portal-shadow-hover); }
.github-project-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.github-category { color: var(--portal-orange); font-size: 10px; font-weight: 850; }
.github-language { padding: 4px 7px; border-radius: 5px; background: #f4f4f4; color: #777b82; font-size: 9px; font-weight: 750; }
.github-project-card h2 { overflow-wrap: anywhere; margin: 15px 0 9px; color: var(--portal-ink); font-size: 17px; font-weight: 900; letter-spacing: -.025em; line-height: 1.25; }
.github-project-card h2 a:hover { color: var(--portal-orange); }
.github-project-description { display: -webkit-box; overflow: hidden; min-height: 58px; color: #72767d; font-size: 11px; line-height: 1.7; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.github-project-topics { display: flex; overflow: hidden; flex-wrap: wrap; gap: 5px; max-height: 48px; margin-top: 12px; }
.github-project-topics span { padding: 4px 6px; border-radius: 4px; background: #fff5ef; color: #a45733; font-size: 8px; font-weight: 700; }
.github-project-meta { display: flex; flex-wrap: wrap; gap: 7px 12px; margin-top: auto; padding-top: 15px; color: #8c8f94; font-size: 9px; }
.github-project-meta span:first-child { color: #e98218; font-weight: 850; }
.github-project-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 13px; padding-top: 12px; border-top: 1px solid #f0ece9; }
.github-project-actions a { font-size: 10px; font-weight: 850; }
.github-repo-link { color: var(--portal-ink); }
.github-guide-link, .github-repo-link:hover { color: var(--portal-orange); }
.github-empty { margin: 30px 0; padding: 40px; border: 1px dashed #e3d9d2; border-radius: 12px; background: #fffaf6; text-align: center; }
.github-empty strong { color: var(--portal-ink); }
.github-empty p { margin-top: 5px; color: var(--portal-muted); font-size: 11px; }
.github-load-more-wrap { display: flex; justify-content: center; margin-top: 28px; }
.github-load-more-wrap button { min-width: 240px; min-height: 46px; border: 1px solid var(--portal-orange); border-radius: 8px; background: #fff; color: var(--portal-orange); font-size: 12px; font-weight: 850; cursor: pointer; }
.github-load-more-wrap button:hover { background: var(--portal-orange); color: #fff; }

/* GitHub AI project detail */
.github-detail-page { min-height: 70vh; background: linear-gradient(#fffaf6 0, #fff 470px); color: var(--portal-text); }
.github-detail-hero { overflow: hidden; padding: 38px 0 46px; border-bottom: 1px solid var(--portal-line); background: radial-gradient(circle at 83% 18%, rgba(255,90,31,.2), transparent 22%), radial-gradient(circle at 69% 76%, rgba(255,177,122,.17), transparent 20%); }
.github-detail-hero-grid { display: grid; grid-template-columns: minmax(0,1fr) 390px; gap: 48px; align-items: end; margin-top: 42px; }
.github-detail-heading h1 { overflow-wrap: anywhere; max-width: 800px; margin: 13px 0 18px; color: var(--portal-ink); font-size: clamp(39px,5vw,68px); font-weight: 950; letter-spacing: -.055em; line-height: 1.04; }
.github-detail-lead { max-width: 790px; color: #565b63; font-size: 16px; line-height: 1.85; }
.github-detail-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 25px; }
.github-detail-actions a { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; padding: 0 18px; border-radius: 8px; font-size: 12px; font-weight: 850; }
.github-detail-primary { background: var(--portal-orange); color: #fff; box-shadow: 0 10px 24px rgba(255,90,31,.19); }
.github-detail-primary:hover { background: var(--portal-orange-dark); color: #fff; }
.github-detail-secondary { border: 1px solid #e6d8ce; background: rgba(255,255,255,.82); color: var(--portal-ink); }
.github-detail-secondary:hover { border-color: var(--portal-orange); color: var(--portal-orange); }
.github-detail-facts { display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; border: 1px solid #ecdcd1; border-radius: 15px; background: rgba(255,255,255,.9); box-shadow: var(--portal-shadow); }
.github-detail-facts span { display: grid; min-height: 103px; align-content: center; gap: 7px; padding: 18px; color: var(--portal-muted); font-size: 10px; }
.github-detail-facts span:nth-child(even) { border-left: 1px solid var(--portal-line); }
.github-detail-facts span:nth-child(n+3) { border-top: 1px solid var(--portal-line); }
.github-detail-facts strong { overflow-wrap: anywhere; color: var(--portal-ink); font-size: 19px; font-weight: 950; line-height: 1.15; }
.github-detail-layout { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 22px; align-items: start; padding-top: 28px; padding-bottom: 70px; }
.github-detail-main { display: grid; gap: 18px; }
.github-detail-section { padding: 32px; border: 1px solid var(--portal-line); border-radius: 13px; background: #fff; box-shadow: 0 8px 30px rgba(68,42,25,.045); }
.github-detail-kicker { margin: 0 0 8px; color: var(--portal-orange); font-size: 10px; font-weight: 900; letter-spacing: .08em; }
.github-detail-section > h2 { margin: 0 0 22px; color: var(--portal-ink); font-size: 25px; font-weight: 930; letter-spacing: -.035em; }
.github-detail-intro { margin: -9px 0 21px; color: var(--portal-muted); font-size: 12px; line-height: 1.8; }
.github-plain-summary { display: grid; grid-template-columns: 82px minmax(0,1fr); gap: 18px; align-items: start; padding: 22px; border: 1px solid #ffd7c1; border-radius: 10px; background: linear-gradient(120deg,#fff8f2,#fff); }
.github-plain-summary > span { display: inline-flex; min-height: 31px; align-items: center; justify-content: center; border-radius: 6px; background: var(--portal-orange); color: #fff; font-size: 10px; font-weight: 900; }
.github-plain-summary p { color: #33373e; font-size: 15px; line-height: 1.9; }
.github-original-description { margin-top: 18px; padding: 20px 22px; border-left: 3px solid #c8cbd0; background: #fafafa; }
.github-original-description strong { color: var(--portal-ink); font-size: 11px; }
.github-original-description p { overflow-wrap: anywhere; margin: 8px 0; color: #595e66; font-size: 12px; line-height: 1.75; }
.github-original-description small { color: #92959a; font-size: 9px; }
.github-detail-card-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.github-detail-card-grid > div { position: relative; min-height: 135px; padding: 20px 18px 17px 55px; border: 1px solid var(--portal-line); border-radius: 10px; background: #fff; }
.github-detail-card-grid span { position: absolute; top: 20px; left: 17px; color: var(--portal-orange); font-size: 11px; font-weight: 950; }
.github-detail-card-grid strong { display: block; color: var(--portal-ink); font-size: 13px; }
.github-detail-card-grid p { margin-top: 8px; color: var(--portal-muted); font-size: 10px; line-height: 1.7; }
.github-use-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.github-use-grid > div { display: flex; min-height: 61px; align-items: center; gap: 11px; padding: 13px 15px; border: 1px solid var(--portal-line); border-radius: 9px; }
.github-use-grid span { display: grid; width: 28px; height: 28px; flex: 0 0 auto; place-content: center; border-radius: 50%; background: #fff1e8; color: var(--portal-orange); font-size: 12px; font-weight: 900; }
.github-use-grid p { color: #464a51; font-size: 11px; font-weight: 750; line-height: 1.5; }
.github-first-try { margin-top: 14px; padding: 20px; border-radius: 10px; background: #161e28; color: #fff; }
.github-first-try strong { color: #ff9b70; font-size: 10px; }
.github-first-try p { margin-top: 7px; font-size: 12px; line-height: 1.75; }
.github-start-steps { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.github-start-steps li { position: relative; display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 14px; padding: 0 0 21px; }
.github-start-steps li:not(:last-child)::after { position: absolute; top: 31px; bottom: 2px; left: 15px; width: 1px; background: #f2c7b1; content: ""; }
.github-start-steps li > span { z-index: 1; display: grid; width: 31px; height: 31px; place-content: center; border-radius: 50%; background: var(--portal-orange); color: #fff; font-size: 11px; font-weight: 900; }
.github-start-steps strong { color: var(--portal-ink); font-size: 13px; }
.github-start-steps p { margin-top: 5px; color: var(--portal-muted); font-size: 11px; line-height: 1.7; }
.github-caution { padding: 18px 20px; border: 1px solid #f0d9a9; border-radius: 9px; background: #fffbec; }
.github-caution strong { color: #9e6910; font-size: 11px; }
.github-caution p { margin-top: 5px; color: #786849; font-size: 11px; line-height: 1.7; }
.github-similar-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.github-similar-grid a { display: grid; min-width: 0; min-height: 115px; align-content: center; gap: 7px; padding: 16px; border: 1px solid var(--portal-line); border-radius: 9px; transition: .2s ease; }
.github-similar-grid a:hover { transform: translateY(-2px); border-color: #ffc9ad; box-shadow: var(--portal-shadow); }
.github-similar-grid span { color: var(--portal-orange); font-size: 9px; font-weight: 850; }
.github-similar-grid strong { overflow-wrap: anywhere; color: var(--portal-ink); font-size: 12px; }
.github-similar-grid small { color: var(--portal-muted); font-size: 9px; }
.github-detail-aside { position: sticky; top: 82px; display: grid; gap: 12px; }
.github-detail-aside-card { padding: 20px; border: 1px solid var(--portal-line); border-radius: 11px; background: #fff; box-shadow: 0 7px 25px rgba(68,42,25,.04); }
.github-detail-aside-card h2 { margin: 0 0 14px; color: var(--portal-ink); font-size: 14px; }
.github-detail-aside-card dl { display: grid; gap: 0; margin: 0; }
.github-detail-aside-card dl > div { display: grid; grid-template-columns: 78px minmax(0,1fr); gap: 8px; padding: 10px 0; border-top: 1px solid #f0ece9; }
.github-detail-aside-card dt { color: var(--portal-muted); font-size: 9px; }
.github-detail-aside-card dd { overflow-wrap: anywhere; margin: 0; color: var(--portal-ink); font-size: 10px; font-weight: 750; text-align: right; }
.github-detail-topics { display: flex; flex-wrap: wrap; gap: 6px; }
.github-detail-topics span { padding: 5px 7px; border-radius: 5px; background: #fff2e9; color: #9f4c25; font-size: 9px; }
.github-detail-source p { color: var(--portal-muted); font-size: 10px; line-height: 1.7; }
.github-detail-source a { display: inline-flex; margin-top: 11px; color: var(--portal-orange); font-size: 10px; font-weight: 850; }
.github-back-catalog { padding: 14px; border: 1px solid var(--portal-line); border-radius: 9px; background: #fff; color: var(--portal-ink); font-size: 10px; font-weight: 800; text-align: center; }

@media (max-width: 1000px) {
  .github-hero-grid { grid-template-columns: 1fr; align-items: start; }
  .github-hero-stats { width: min(100%, 520px); }
  .github-catalog-toolbar { grid-template-columns: 1fr 1fr; }
  .github-search { grid-column: 1 / -1; }
  .github-project-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .github-detail-hero-grid { grid-template-columns: 1fr; }
  .github-detail-facts { width: min(100%,600px); grid-template-columns: repeat(4,1fr); }
  .github-detail-facts span { min-height: 90px; }
  .github-detail-facts span:nth-child(n) { border-top: 0; }
  .github-detail-facts span + span { border-left: 1px solid var(--portal-line); }
  .github-detail-layout { grid-template-columns: 1fr; }
  .github-detail-aside { position: static; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .github-back-catalog { grid-column: 1 / -1; }
}

@media (max-width: 600px) {
  .github-universe-hero { padding: 24px 0 26px; }
  .github-hero-grid { gap: 24px; margin-top: 26px; }
  .github-hero-grid h1 { font-size: 45px; }
  .github-hero-grid > div > p:last-child { font-size: 13px; }
  .github-hero-stats { grid-template-columns: repeat(3,1fr); }
  .github-hero-stats span { min-height: 76px; }
  .github-hero-stats strong { font-size: 20px; }
  .github-catalog-toolbar { grid-template-columns: 1fr; }
  .github-search { grid-column: auto; }
  .github-category-filters { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 7px; scrollbar-width: thin; }
  .github-category-filters button { flex: 0 0 auto; }
  .github-results-line { align-items: flex-start; flex-direction: column; gap: 4px; }
  .github-project-grid { grid-template-columns: 1fr; }
  .github-project-card { min-height: 265px; }
  .github-detail-hero { padding: 24px 0 32px; }
  .github-detail-hero-grid { gap: 25px; margin-top: 28px; }
  .github-detail-heading h1 { font-size: 38px; }
  .github-detail-lead { font-size: 14px; }
  .github-detail-facts { grid-template-columns: repeat(2,1fr); }
  .github-detail-facts span:nth-child(n+3) { border-top: 1px solid var(--portal-line); }
  .github-detail-facts span:nth-child(3) { border-left: 0; }
  .github-detail-layout { padding-top: 16px; padding-bottom: 45px; }
  .github-detail-section { padding: 23px 19px; }
  .github-detail-section > h2 { font-size: 21px; }
  .github-plain-summary { grid-template-columns: 1fr; gap: 11px; }
  .github-plain-summary > span { width: 72px; }
  .github-detail-card-grid, .github-use-grid, .github-similar-grid, .github-detail-aside { grid-template-columns: 1fr; }
  .github-back-catalog { grid-column: auto; }
}

/* AI knowledge universe */
.universe-page { min-height: 70vh; background: #fff; }
.universe-intro { overflow: hidden; padding: 40px 0 32px; border-bottom: 1px solid var(--portal-line); background: radial-gradient(circle at 87% 15%, rgba(255,90,31,.13), transparent 26%), linear-gradient(120deg, #fff 15%, #fffaf6 100%); }
.universe-title-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 40px; align-items: end; margin-top: 34px; }
.universe-title-row h1 { margin: 10px 0 10px; color: var(--portal-ink); font-size: clamp(46px, 5.4vw, 76px); font-weight: 950; letter-spacing: -.07em; line-height: .98; }
.universe-title-row > div > p:last-child { max-width: 680px; color: var(--portal-muted); font-size: 16px; line-height: 1.8; }
.universe-counts { display: grid; grid-template-columns: repeat(3, 112px); border: 1px solid #f0ded3; border-radius: 14px; background: rgba(255,255,255,.88); box-shadow: var(--portal-shadow); }
.universe-counts span { display: grid; gap: 3px; min-height: 88px; place-content: center; padding: 12px 16px; color: var(--portal-muted); font-size: 11px; text-align: center; }
.universe-counts span + span { border-left: 1px solid var(--portal-line); }
.universe-counts strong { color: var(--portal-ink); font-size: 26px; font-weight: 950; line-height: 1; }
.universe-tools { margin-top: 30px; }
.universe-tools > label { position: absolute; overflow: hidden; width: 1px; height: 1px; clip: rect(0 0 0 0); white-space: nowrap; }
.universe-tools > div { display: flex; max-width: 710px; padding: 5px; border: 1px solid #e8ded7; border-radius: 10px; background: #fff; box-shadow: 0 6px 22px rgba(91,49,21,.05); }
.universe-tools input { flex: 1; min-width: 0; height: 42px; padding: 0 14px; border: 0; outline: 0; color: var(--portal-ink); background: transparent; font-size: 13px; }
.universe-tools button { min-width: 70px; border: 0; border-radius: 7px; background: var(--portal-orange); color: #fff; font-size: 12px; font-weight: 850; cursor: pointer; }
.universe-tools button:hover { background: var(--portal-orange-dark); }
.universe-tools > p { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-top: 12px; color: var(--portal-muted); font-size: 11px; }
.universe-dot { display: inline-block; width: 7px; height: 7px; margin-left: 12px; border-radius: 50%; background: #cfd1d4; }
.universe-dot:first-child { margin-left: 0; }
.universe-dot.is-linked { background: var(--portal-orange); box-shadow: 0 0 0 4px rgba(255,90,31,.09); }
.universe-family-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.universe-family-filters button { display: inline-flex; min-height: 32px; align-items: center; gap: 6px; padding: 0 11px; border: 1px solid #eadfd8; border-radius: 7px; background: rgba(255,255,255,.75); color: #656970; font-size: 11px; font-weight: 780; cursor: pointer; }
.universe-family-filters button span { color: #a2a4a8; font-size: 9px; font-weight: 700; }
.universe-family-filters button:hover, .universe-family-filters button.is-active { border-color: var(--portal-orange); background: var(--portal-orange); color: #fff; }
.universe-family-filters button.is-active span, .universe-family-filters button:hover span { color: rgba(255,255,255,.78); }
.universe-map { padding: 20px 0 56px; }
.universe-group { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 26px; padding: 30px 0; border-bottom: 1px solid #f0ece8; }
.universe-group[hidden] { display: none; }
.universe-group header { position: relative; display: grid; grid-template-columns: auto 1fr; gap: 4px 10px; align-content: start; }
.universe-group header > span { grid-row: 1 / span 2; color: var(--portal-orange); font-size: 24px; font-weight: 950; letter-spacing: -.05em; line-height: 1; }
.universe-group h2 { margin: 0; color: var(--portal-ink); font-size: 18px; font-weight: 900; letter-spacing: -.025em; line-height: 1.2; }
.universe-group header small { color: #9b9da2; font-size: 10px; }
.universe-group header button { grid-column: 2; justify-self: start; margin-top: 9px; padding: 0; border: 0; background: transparent; color: var(--portal-orange); font-size: 10px; font-weight: 850; cursor: pointer; }
.universe-tags { display: flex; flex-wrap: wrap; gap: 9px; align-content: start; }
.universe-group.is-collapsed:not(.is-searching) .universe-tag:nth-child(n+41) { display: none; }
.universe-tag { display: inline-flex; min-height: 35px; align-items: center; gap: 7px; padding: 0 13px; border: 1px solid #e9e7e5; border-radius: 8px; background: #f7f7f7; color: #989a9f; font-size: 12px; font-weight: 690; line-height: 1; transition: .18s ease; }
.universe-tag[hidden] { display: none; }
a.universe-tag.is-linked { border-color: #ffd9c7; background: #fff8f3; color: #4d3328; font-weight: 780; }
a.universe-tag.is-linked > span { width: 6px; height: 6px; border-radius: 50%; background: var(--portal-orange); box-shadow: 0 0 0 3px rgba(255,90,31,.1); }
a.universe-tag.is-linked b { color: var(--portal-orange); font-size: 10px; font-weight: 900; }
a.universe-tag.is-linked:hover { transform: translateY(-2px); border-color: var(--portal-orange); background: var(--portal-orange); color: #fff; box-shadow: 0 8px 20px rgba(255,90,31,.2); }
a.universe-tag.is-linked:hover > span { background: #fff; box-shadow: none; }
a.universe-tag.is-linked:hover b { color: #fff; }
.universe-empty { margin: 36px 0; padding: 28px; border: 1px dashed #e5d6cd; border-radius: 12px; color: var(--portal-muted); background: #fffaf6; text-align: center; }
.universe-source-note { margin-top: 30px; padding: 15px 18px; border-left: 3px solid var(--portal-orange); color: var(--portal-muted); background: #fffaf6; font-size: 11px; line-height: 1.8; }
.universe-source-note a { margin-left: 8px; color: var(--portal-orange); font-weight: 850; }

@media (max-width: 1180px) {
  .universe-title-row { grid-template-columns: 1fr; align-items: start; }
  .universe-counts { width: min(100%, 520px); }
  .universe-group { grid-template-columns: 210px minmax(0, 1fr); }
}

@media (max-width: 760px) {
  .universe-intro { padding: 24px 0 26px; }
  .universe-title-row { gap: 24px; margin-top: 26px; }
  .universe-title-row h1 { font-size: 46px; }
  .universe-title-row > div > p:last-child { font-size: 14px; }
  .universe-counts { grid-template-columns: repeat(3, 1fr); }
  .universe-counts span { min-height: 75px; padding: 10px 5px; }
  .universe-counts strong { font-size: 22px; }
  .universe-tools > div { width: 100%; }
  .universe-tools input { padding: 0 10px; font-size: 12px; }
  .universe-map { padding-top: 4px; }
  .universe-group { grid-template-columns: 1fr; gap: 18px; padding: 26px 0; }
  .universe-group header { grid-template-columns: auto 1fr auto; align-items: center; }
  .universe-group header > span { grid-row: auto; }
  .universe-group header small { text-align: right; }
  .universe-group header button { grid-column: 2 / -1; margin-top: 4px; }
  .universe-tags { gap: 8px; }
  .universe-tag { min-height: 34px; padding: 0 11px; font-size: 11px; }
}

html { background: #fff; }
body { background: #fff; color: var(--portal-text); font-family: Inter, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif; letter-spacing: 0; }
body::before { display: none; }
a { color: inherit; }
.container { width: min(calc(100% - 44px), var(--container)); }
.card, .portal-card { border: 1px solid var(--portal-line); border-radius: 12px; background: var(--portal-card); box-shadow: var(--portal-shadow); }
.card:hover, .portal-card:hover { transform: translateY(-2px); border-color: #ffd7c2; box-shadow: var(--portal-shadow-hover); }

/* Header */
.signal-bar { display: none; }
.site-header { position: sticky; top: 0; z-index: 100; border-bottom: 1px solid var(--portal-line); background: rgba(255,255,255,.96); box-shadow: 0 3px 20px rgba(30,24,20,.035); backdrop-filter: blur(18px); }
.header-inner { min-height: 66px; gap: 26px; }
.site-logo { min-width: 130px; gap: 0; }
.site-logo-mark { display: none; }
.site-logo-text strong { color: var(--portal-ink); font-size: 24px; font-weight: 950; letter-spacing: -.055em; line-height: 1; }
.site-logo-text strong span { color: var(--portal-orange); }
.site-logo-text small { margin-top: 4px; color: #95989e; font-size: 8px; font-weight: 700; letter-spacing: .08em; }
.main-nav { flex: 1; }
.main-nav ul { gap: 3px; }
.main-nav a { position: relative; padding: 23px 11px 21px; border-radius: 0; color: #373a3f; font-size: 13px; font-weight: 760; white-space: nowrap; }
.main-nav a:hover, .main-nav a.is-active { background: transparent; color: var(--portal-orange); }
.main-nav a.is-active::after { content: ""; position: absolute; right: 11px; bottom: -1px; left: 11px; height: 2px; border-radius: 2px; background: var(--portal-orange); }
.header-actions { gap: 9px; }
.header-actions .search-form { width: 230px; height: 38px; border: 1px solid #e5e5e5; border-radius: 7px; background: #fafafa; }
.search-form input { padding-left: 13px; font-size: 12px; }
.search-form button { min-width: 48px; border-radius: 6px; background: #fff; color: var(--portal-orange); font-size: 0; }
.search-form button::after { content: "⌕"; font-size: 20px; }
.header-cta { display: inline-flex; min-height: 38px; align-items: center; padding: 0 14px; border-radius: 7px; background: var(--portal-orange); color: #fff; font-size: 12px; font-weight: 850; white-space: nowrap; }
.header-cta:hover { background: var(--portal-orange-dark); color: #fff; transform: translateY(-1px); }
.menu-toggle { border-color: var(--portal-orange); background: var(--portal-orange); }
.mobile-menu { background: #fff; }
.mobile-menu a { border-color: var(--portal-line); }

/* Shared portal primitives */
.portal-eyebrow { display: flex; align-items: center; gap: 8px; color: var(--portal-orange); font-size: 12px; font-weight: 900; letter-spacing: .08em; }
.portal-eyebrow > span { width: 18px; height: 3px; border-radius: 4px; background: var(--portal-orange); }
.portal-section { padding: 34px 0; }
.portal-section + .portal-section { border-top: 1px solid #f4efeb; }
.portal-soft { background: #fffbf8; }
.portal-section-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.portal-section-head > div { display: flex; align-items: baseline; gap: 10px; }
.portal-section-head > div > span { color: var(--portal-orange); font-size: 22px; font-weight: 950; letter-spacing: -.04em; }
.portal-section-head h2 { margin: 0; color: var(--portal-ink); font-size: 23px; font-weight: 900; letter-spacing: -.025em; }
.portal-section-head > a { color: #777b82; font-size: 12px; font-weight: 720; }
.portal-section-head > a:hover { color: var(--portal-orange); }
.portal-section-head > p { color: var(--portal-muted); font-size: 12px; }
.portal-card { transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.portal-card-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--portal-muted); font-size: 10px; }
.portal-card-top > span { color: var(--portal-orange); font-weight: 850; }
.portal-main-aside { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 18px; align-items: start; }
.portal-main-column { min-width: 0; }
.portal-sidebar { display: grid; gap: 14px; position: sticky; top: 82px; }
.portal-side-card { padding: 20px; border: 1px solid var(--portal-line); border-radius: 12px; background: #fff; box-shadow: var(--portal-shadow); }
.portal-side-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 14px; }
.portal-side-head h2 { font-size: 17px; letter-spacing: -.02em; }
.portal-side-head a { color: var(--portal-muted); font-size: 11px; }
.portal-rank-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.portal-rank-list li { display: grid; grid-template-columns: 22px minmax(0,1fr) auto; gap: 8px; align-items: start; padding: 10px 0; border-top: 1px solid #f0ece8; }
.portal-rank-list li:first-child { border-top: 0; }
.portal-rank-list li > span { display: grid; width: 20px; height: 20px; place-items: center; border-radius: 5px; background: #f3f3f3; color: #8b8d92; font-size: 10px; font-weight: 900; }
.portal-rank-list li:nth-child(-n+3) > span { background: var(--portal-orange); color: #fff; }
.portal-rank-list a { color: var(--portal-ink); font-size: 12px; font-weight: 720; line-height: 1.45; }
.portal-rank-list small { color: #aaa; font-size: 9px; white-space: nowrap; }

/* Homepage hero */
.portal-hero { position: relative; overflow: hidden; border-bottom: 1px solid #ffeadc; background: radial-gradient(circle at 78% 34%, #fff 0, #fff8f1 42%, #fff 73%); }
.portal-hero::before { content: ""; position: absolute; inset: 0; opacity: .45; background-image: linear-gradient(90deg, rgba(255,90,31,.055) 1px, transparent 1px), linear-gradient(rgba(255,90,31,.045) 1px, transparent 1px); background-size: 50px 50px; mask-image: linear-gradient(90deg, #0000 0, #000 60%, #0000 100%); }
.portal-hero-grid { position: relative; display: grid; grid-template-columns: minmax(0,1.15fr) minmax(430px,.85fr); align-items: center; min-height: 370px; }
.portal-hero-copy { position: relative; z-index: 2; padding: 44px 0 60px; }
.portal-hero-copy h1 { margin: 14px 0 0; color: var(--portal-ink); font-size: clamp(42px,3.3vw,54px); font-weight: 950; line-height: 1.12; letter-spacing: -.055em; white-space: nowrap; }
.portal-hero-copy h1 em { color: var(--portal-orange); font-style: normal; }
.portal-hero-copy > p:not(.portal-eyebrow) { max-width: 620px; margin-top: 15px; color: #5d6067; font-size: 14px; line-height: 1.75; }
.portal-hero-search { display: flex; width: min(100%,560px); height: 50px; margin-top: 21px; padding: 5px; border: 1px solid #e7dfd8; border-radius: 9px; background: #fff; box-shadow: 0 9px 30px rgba(137,75,31,.09); }
.portal-hero-search input { flex: 1; min-width: 0; padding: 0 14px; border: 0; outline: 0; color: var(--portal-ink); font: inherit; font-size: 13px; }
.portal-hero-search button { min-width: 96px; border: 0; border-radius: 7px; background: linear-gradient(135deg,#ff6b2f,var(--portal-orange-dark)); color: #fff; font-weight: 850; cursor: pointer; }
.portal-hot { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 13px; color: #777b82; font-size: 11px; }
.portal-hot strong { color: #565960; }
.portal-hot a:hover { color: var(--portal-orange); }
.portal-hero-art { position: relative; align-self: stretch; }
.portal-hero-art img { position: absolute; z-index: 1; width: 635px; max-width: none; right: -42px; bottom: -8px; filter: drop-shadow(0 22px 30px rgba(255,102,37,.12)); }

/* Metrics */
.portal-metrics-wrap { position: relative; z-index: 3; margin-top: -27px; }
.portal-metrics { display: grid; grid-template-columns: 1.15fr repeat(5,1fr); min-height: 80px; overflow: hidden; border: 1px solid var(--portal-line); border-radius: 11px; background: #fff; box-shadow: 0 14px 42px rgba(80,48,28,.09); }
.portal-metrics > div { display: grid; grid-template-columns: 38px auto; grid-template-rows: auto auto; align-content: center; column-gap: 10px; padding: 14px 18px; border-left: 1px solid #f0ebe7; }
.portal-metrics > div > i { grid-row: 1 / 3; display: grid; width: 34px; height: 34px; place-items: center; align-self: center; border-radius: 50%; background: #fff1e7; color: var(--portal-orange); font-size: 12px; font-style: normal; font-weight: 900; }
.portal-metrics > div > strong { color: var(--portal-ink); font-size: 20px; line-height: 1.1; }
.portal-metrics > div > span { color: var(--portal-muted); font-size: 10px; }
.portal-metrics .portal-metrics-title { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; border-left: 0; }
.portal-metrics-title strong { font-size: 18px !important; }
.portal-metrics-title span { margin-top: 3px; }

/* Homepage focus */
.portal-focus { padding-top: 42px; }
.portal-tabs { display: flex; gap: 24px; height: 38px; border-bottom: 1px solid var(--portal-line); }
.portal-tabs span { position: relative; color: #74777d; font-size: 15px; font-weight: 800; }
.portal-tabs .is-active { color: var(--portal-orange); }
.portal-tabs .is-active::after { content: ""; position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: var(--portal-orange); }
.portal-lead-grid { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(240px,.7fr); gap: 13px; margin-top: 14px; }
.portal-feature-card { overflow: hidden; border: 1px solid var(--portal-line); border-radius: 12px; background: #fff; box-shadow: var(--portal-shadow); }
.portal-feature-visual { position: relative; min-height: 260px; display: flex; align-items: flex-end; padding: 26px; overflow: hidden; background: radial-gradient(circle at 72% 25%,rgba(255,124,61,.75),transparent 23%), linear-gradient(135deg,#151923 0%,#2a1b18 48%,#ff5a1f 160%); }
.portal-feature-visual::before { content: ""; position: absolute; inset: 0; opacity: .3; background-image: linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px); background-size: 34px 34px; mask-image:linear-gradient(135deg,#000,transparent 80%); }
.portal-feature-visual > span { position: absolute; top: 18px; left: 18px; z-index: 1; padding: 5px 9px; border-radius: 5px; background: var(--portal-orange); color: #fff; font-size: 10px; font-weight: 900; }
.portal-feature-visual > div { position: relative; z-index: 1; max-width: 600px; }
.portal-feature-visual small { color: #ffb18e; font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.portal-feature-visual strong { display: block; margin-top: 9px; color: #fff; font-size: 28px; line-height: 1.3; }
.portal-feature-copy { padding: 19px 22px; }
.portal-feature-copy h2 { font-size: 20px; line-height: 1.4; }
.portal-feature-copy p { margin-top: 7px; color: var(--portal-muted); font-size: 12px; line-height: 1.7; }
.portal-feature-copy > div { display: flex; gap: 16px; margin-top: 12px; color: #9a9da3; font-size: 10px; }
.portal-side-stories { display: grid; overflow: hidden; border: 1px solid var(--portal-line); border-radius: 12px; background: #fff; box-shadow: var(--portal-shadow); }
.portal-side-stories article { display: grid; grid-template-columns: 32px 1fr; gap: 11px; padding: 17px; border-top: 1px solid var(--portal-line); }
.portal-side-stories article:first-child { border-top: 0; }
.story-number { color: var(--portal-orange); font-size: 12px; font-weight: 950; }
.portal-side-stories h3 { font-size: 14px; line-height: 1.5; }
.portal-side-stories p { margin-top: 5px; color: var(--portal-muted); font-size: 10px; line-height: 1.55; }
.portal-side-stories small { display: block; margin-top: 7px; color: #aaa; font-size: 9px; }
.portal-method ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.portal-method li { display: grid; grid-template-columns: 28px 1fr; gap: 8px; align-items: center; color: #585b61; font-size: 12px; }
.portal-method li span { color: var(--portal-orange); font-size: 10px; font-weight: 950; }

/* Product, update, topic and guide cards */
.portal-product-strip { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.product-card { min-width: 0; min-height: 260px; display: flex; flex-direction: column; padding: 18px; }
.product-card-head { display: flex; align-items: center; justify-content: space-between; }
.product-monogram { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 10px; background: linear-gradient(145deg,#fff1e6,#ffd9c3); color: var(--portal-orange); font-size: 12px; font-weight: 950; }
.verified-chip { padding: 4px 7px; border-radius: 999px; background: #effaf1; color: #2b8b43; font-size: 9px; font-weight: 800; }
.product-card .card-category { margin-top: 13px; color: var(--portal-orange); font-size: 9px; }
.product-card h3 { margin: 5px 0 0; font-size: 19px; line-height: 1.35; letter-spacing: -.02em; }
.product-developer { margin-top: 4px; color: #a0a2a7; font-size: 10px; }
.product-summary { margin-top: 10px; color: var(--portal-muted); font-size: 11px; line-height: 1.65; }
.product-card-meta { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.product-card-meta span { padding: 4px 6px; border-radius: 5px; background: #fff3eb; color: #a34b24; font-size: 9px; }
.product-card .text-link { margin-top: auto; padding-top: 16px; color: var(--portal-orange); font-size: 11px; font-weight: 850; }
.portal-two-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.portal-update-list { overflow: hidden; border: 1px solid var(--portal-line); border-radius: 12px; background: #fff; box-shadow: var(--portal-shadow); }
.portal-update-list article { display: grid; grid-template-columns: 84px minmax(0,1fr) 24px; gap: 14px; align-items: center; min-height: 84px; padding: 13px 16px; border-top: 1px solid var(--portal-line); }
.portal-update-list article:first-child { border-top: 0; }
.portal-update-list time { color: #999ca2; font-size: 10px; }
.portal-update-list article > div > span { color: var(--portal-orange); font-size: 9px; font-weight: 850; }
.portal-update-list h3 { margin-top: 4px; font-size: 13px; line-height: 1.45; }
.portal-update-list p { margin-top: 4px; color: var(--portal-muted); font-size: 10px; line-height: 1.5; }
.portal-update-list article > a { color: var(--portal-orange); font-weight: 900; }
.portal-topic-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.portal-topic-grid article { display: grid; grid-template-columns: 40px 1fr auto; gap: 11px; align-items: center; min-height: 91px; padding: 13px; border: 1px solid var(--portal-line); border-radius: 10px; background: #fff; box-shadow: var(--portal-shadow); }
.portal-topic-grid article > span { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 10px; background: #fff0e6; color: var(--portal-orange); font-size: 10px; font-weight: 950; }
.portal-topic-grid h3 { font-size: 14px; }
.portal-topic-grid p { margin-top: 4px; color: var(--portal-muted); font-size: 9px; line-height: 1.4; }
.portal-topic-grid small { color: #a1a3a8; font-size: 9px; }
.portal-guide-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.portal-guide-grid > article { min-height: 220px; display: flex; flex-direction: column; padding: 19px; }
.guide-icon { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 9px; background: #fff0e6; color: var(--portal-orange); font-weight: 900; }
.portal-guide-grid article > span, .article-card .card-category { margin-top: 15px; color: var(--portal-orange); font-size: 9px; font-weight: 850; }
.portal-guide-grid h3, .article-card h3 { margin-top: 8px; font-size: 17px; line-height: 1.45; }
.portal-guide-grid article > p, .article-card-body > p { margin-top: 8px; color: var(--portal-muted); font-size: 11px; line-height: 1.65; }
.portal-guide-grid article > small { margin-top: auto; padding-top: 14px; color: #a0a2a8; font-size: 9px; }
.article-card-body { height: 100%; display: flex; flex-direction: column; padding: 19px; }
.article-card .portal-card-top .card-category { margin: 0; }
.article-card .article-meta { margin-top: auto; padding-top: 14px; border-color: var(--portal-line); color: #a0a2a8; font-size: 9px; }
.portal-action-banner { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 28px 34px; border: 1px solid #ffd9c4; border-radius: 13px; background: linear-gradient(100deg,#fff8f2,#fff0e5); }
.portal-action-banner span { color: var(--portal-orange); font-size: 10px; font-weight: 900; letter-spacing: .1em; }
.portal-action-banner h2 { margin-top: 5px; font-size: 24px; }
.portal-action-banner p { margin-top: 5px; color: var(--portal-muted); font-size: 12px; }
.portal-action-banner > a { flex: 0 0 auto; padding: 12px 18px; border-radius: 7px; background: var(--portal-orange); color: #fff; font-size: 12px; font-weight: 850; }

/* Archive and taxonomy heroes */
.portal-archive-hero { position: relative; overflow: hidden; padding: 34px 0 28px; border-bottom: 1px solid #f4e7dd; background: radial-gradient(circle at 72% 30%,#fff2e9,transparent 32%),#fff; }
.portal-archive-hero::after { content: ""; position: absolute; width: 480px; height: 300px; right: 9%; bottom: -185px; border: 1px solid #ffd8c1; border-radius: 50%; box-shadow: 0 0 0 32px rgba(255,90,31,.03),0 0 0 64px rgba(255,90,31,.025); }
.portal-archive-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1fr) 240px; gap: 50px; align-items: center; }
.portal-breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; color: #999ca2; font-size: 11px; }
.portal-breadcrumbs a:hover { color: var(--portal-orange); }
.portal-archive-hero h1 { margin-top: 9px; font-size: clamp(40px,5vw,61px); letter-spacing: -.05em; }
.portal-archive-hero h1 + p { max-width: 720px; margin-top: 12px; color: var(--portal-muted); font-size: 14px; line-height: 1.75; }
.portal-archive-stat { display: grid; padding: 23px; border: 1px solid #ffe0ce; border-radius: 12px; background: rgba(255,255,255,.85); box-shadow: var(--portal-shadow); }
.portal-archive-stat > span { color: var(--portal-orange); font-size: 11px; font-weight: 850; }
.portal-archive-stat strong { margin-top: 8px; color: var(--portal-ink); font-size: 46px; line-height: 1; }
.portal-archive-stat small { margin-top: 10px; color: var(--portal-muted); font-size: 10px; }
.portal-filter-pills { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 24px; }
.portal-filter-pills a { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 0 12px; border: 1px solid var(--portal-line); border-radius: 999px; background: #fff; color: #666970; font-size: 10px; font-weight: 720; }
.portal-filter-pills a:hover, .portal-filter-pills a.is-active { border-color: var(--portal-orange); background: var(--portal-orange); color: #fff; }
.portal-filter-bar { border-bottom: 1px solid var(--portal-line); background: #fff; }
.portal-filter-bar .portal-filter-pills { margin: 0; padding: 15px 0; }
.portal-news-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.portal-news-card { min-height: 260px; display: flex; flex-direction: column; padding: 18px; }
.portal-news-icon { display: grid; width: 42px; height: 42px; place-items: center; margin-bottom: 13px; border-radius: 10px; background: #fff0e6; color: var(--portal-orange); font-size: 12px; font-weight: 950; }
.portal-news-card h2 { margin-top: 9px; font-size: 18px; line-height: 1.45; }
.portal-news-card > p { margin-top: 9px; color: var(--portal-muted); font-size: 11px; line-height: 1.65; }
.portal-news-card footer { display: flex; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 16px; color: #9b9da2; font-size: 10px; }
.portal-news-card footer a { color: var(--portal-orange); font-weight: 800; }
.portal-subscribe-card { background: linear-gradient(145deg,#fff8f2,#ffeadc); }
.portal-subscribe-card > span { color: var(--portal-orange); font-size: 9px; font-weight: 900; letter-spacing: .1em; }
.portal-subscribe-card h2 { margin-top: 8px; font-size: 20px; }
.portal-subscribe-card p { margin-top: 8px; color: var(--portal-muted); font-size: 11px; line-height: 1.6; }
.portal-subscribe-card a { display: inline-flex; margin-top: 15px; color: var(--portal-orange); font-size: 11px; font-weight: 850; }
.portal-products-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.portal-library-note { display: flex; gap: 14px; align-items: baseline; margin-top: 20px; padding: 16px 18px; border-left: 3px solid var(--portal-orange); background: var(--portal-peach-2); }
.portal-library-note strong { color: var(--portal-ink); font-size: 12px; }
.portal-library-note p { color: var(--portal-muted); font-size: 11px; }

/* Topic page */
.portal-topic-hero { padding: 28px 0 35px; border-bottom: 1px solid #f1e8e2; background: linear-gradient(110deg,#fff 0,#fff 54%,#fff4eb 100%); }
.portal-topic-hero-grid { display: grid; grid-template-columns: minmax(0,1fr) 250px; gap: 60px; align-items: center; }
.portal-topic-title { display: flex; align-items: center; gap: 17px; }
.portal-topic-title > span { display: grid; width: 62px; height: 62px; place-items: center; border-radius: 14px; background: var(--portal-orange); color: #fff; font-size: 16px; font-weight: 950; box-shadow: 0 12px 28px rgba(255,90,31,.22); }
.portal-topic-title p { color: var(--portal-orange); font-size: 10px; font-weight: 850; letter-spacing: .06em; }
.portal-topic-title h1 { margin-top: 3px; font-size: clamp(38px,5vw,58px); letter-spacing: -.05em; }
.portal-topic-description { max-width: 750px; margin-top: 16px; color: var(--portal-muted); font-size: 14px; line-height: 1.75; }
.portal-topic-traits { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 18px; color: #62656b; font-size: 11px; }
.portal-topic-traits span::before { content: "✓"; margin-right: 5px; color: var(--portal-orange); font-weight: 900; }
.portal-link-button { display: inline-flex; margin-top: 18px; padding: 9px 13px; border: 1px solid #ffd1ba; border-radius: 7px; color: var(--portal-orange); font-size: 11px; font-weight: 800; }
.portal-topic-stats { padding: 20px; border: 1px solid var(--portal-line); border-radius: 12px; background: #fff; box-shadow: var(--portal-shadow); }
.portal-topic-stats h2 { margin-bottom: 8px; font-size: 15px; }
.portal-topic-stats > div { display: flex; justify-content: space-between; align-items: center; padding: 11px 0; border-top: 1px solid var(--portal-line); }
.portal-topic-stats span { color: var(--portal-muted); font-size: 11px; }
.portal-topic-stats strong { color: var(--portal-orange); font-size: 22px; }
.portal-topic-stats small { display: block; margin-top: 9px; color: #a0a2a7; font-size: 9px; }
.portal-overview-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.portal-overview-grid article { min-height: 190px; display: flex; flex-direction: column; padding: 18px; }
.overview-icon { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 10px; background: #fff0e6; color: var(--portal-orange); font-size: 10px; font-weight: 950; }
.portal-overview-grid h3 { margin-top: 17px; font-size: 16px; }
.portal-overview-grid p { margin-top: 7px; color: var(--portal-muted); font-size: 10px; line-height: 1.6; }
.portal-overview-grid article > a { margin-top: auto; padding-top: 12px; color: var(--portal-orange); font-size: 10px; font-weight: 800; }
.portal-topic-content { margin-top: 34px; margin-bottom: 34px; }
.portal-products-grid.compact { grid-template-columns: repeat(2,minmax(0,1fr)); }
.portal-update-list.compact article { grid-template-columns: 74px minmax(0,1fr) 20px; }
.portal-update-list.compact p { display: none; }
.topic-latest-date { font-size: 13px !important; }
.portal-topic-pulse { padding: 16px 0 0; background: #fff; }
.topic-pulse-card { display: grid; grid-template-columns: minmax(0,.9fr) minmax(320px,1.1fr); gap: 24px; align-items: center; padding: 20px 22px; border: 1px solid #ffdfce; border-radius: 12px; background: linear-gradient(120deg,#fff8f3,#fff); box-shadow: 0 8px 28px rgba(68,42,25,.05); }
.topic-pulse-card.has-update { border-color: #ffb58f; background: linear-gradient(120deg,#fff1e8,#fff); }
.topic-pulse-label { color: var(--portal-orange); font-size: 10px; font-weight: 950; letter-spacing: .08em; }
.topic-pulse-card h2 { margin-top: 5px; font-size: 17px; }
.topic-pulse-card p { margin-top: 5px; color: var(--portal-muted); font-size: 11px; line-height: 1.65; }
.topic-pulse-card > a { display: grid; gap: 4px; padding: 15px 17px; border-left: 3px solid var(--portal-orange); border-radius: 7px; background: #fff; }
.topic-pulse-card > a small { color: var(--portal-muted); font-size: 9px; }
.topic-pulse-card > a strong { color: var(--portal-ink); font-size: 13px; line-height: 1.5; }
.topic-pulse-card > a span { color: var(--portal-orange); font-size: 10px; font-weight: 850; }
.portal-topic-products { margin-top: 34px; }
.portal-topic-products .portal-products-grid.compact { grid-template-columns: repeat(4,minmax(0,1fr)); }
.portal-topic-timeline { margin: 40px 0; }
.portal-topic-timeline .portal-section-head > div > p { margin: 5px 0 0 35px; color: var(--portal-muted); font-size: 10px; }
.topic-update-timeline { position: relative; display: grid; gap: 10px; }
.topic-timeline-year { position: relative; z-index: 3; width: max-content; margin: 18px 0 2px 82px; padding: 5px 12px; border: 1px solid #ffd1b9; border-radius: 999px; background: #fff7f1; color: var(--portal-orange); font-size: 12px; font-weight: 900; }
.topic-update-timeline::before { content: ""; position: absolute; top: 18px; bottom: 18px; left: 112px; width: 1px; background: #f0d9cb; }
.topic-update-entry { position: relative; display: grid; grid-template-columns: 92px minmax(0,1fr); gap: 34px; padding: 0; }
.topic-update-entry::before { content: ""; position: absolute; top: 29px; left: 108px; z-index: 2; width: 9px; height: 9px; border: 3px solid #fff; border-radius: 50%; background: #ffc3a4; box-shadow: 0 0 0 1px #f0c2aa; }
.topic-update-entry.is-today::before { background: var(--portal-orange); box-shadow: 0 0 0 4px rgba(255,90,31,.13); }
.topic-update-date { display: grid; align-content: start; justify-items: end; gap: 5px; padding-top: 22px; }
.topic-update-date span { padding: 3px 7px; border-radius: 999px; background: var(--portal-orange); color: #fff; font-size: 9px; font-weight: 900; }
.topic-update-date time { color: #878b91; font-size: 10px; font-weight: 800; }
.topic-update-body { padding: 18px 20px; border: 1px solid var(--portal-line); border-radius: 11px; background: #fff; box-shadow: 0 6px 22px rgba(68,42,25,.04); }
.topic-update-entry.is-today .topic-update-body { border-color: #ffc6a8; background: #fffaf6; }
.topic-update-meta { display: flex; flex-wrap: wrap; gap: 6px; }
.topic-update-meta span { padding: 3px 7px; border-radius: 5px; background: #fff1e8; color: var(--portal-orange); font-size: 9px; font-weight: 850; }
.topic-update-body h3 { margin-top: 8px; font-size: 15px; line-height: 1.5; }
.topic-update-body h3 a:hover { color: var(--portal-orange); }
.topic-update-body > p { max-width: 900px; margin-top: 6px; color: #62666d; font-size: 11px; line-height: 1.75; }
.topic-update-body > small { display: block; margin-top: 8px; color: #8c8f94; font-size: 9px; }
.topic-update-more { display: inline-flex; margin-top: 10px; color: var(--portal-orange); font-size: 10px; font-weight: 850; }
.major-report-intro { margin: 0 0 24px; padding: 18px 20px; border: 1px solid #ffc9ad; border-radius: 12px; background: linear-gradient(135deg,#fff8f3,#fff); }
.major-report-intro > strong { color: var(--portal-orange); font-size: 12px; }
.major-report-intro p { margin: 7px 0 0; }
.report-summary-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 18px 0 24px; }
.report-summary-grid > div { padding: 14px; border: 1px solid var(--portal-line); border-radius: 10px; background: #fffaf7; }
.report-summary-grid strong,.report-summary-grid span { display: block; }
.report-summary-grid strong { color: var(--portal-orange); }
.report-summary-grid span { margin-top: 5px; color: var(--portal-muted); }
.report-table-wrap { margin: 16px 0 22px; overflow-x: auto; border: 1px solid var(--portal-line); border-radius: 10px; }
.report-table-wrap table { width: 100%; margin: 0; border-collapse: collapse; }
.report-table-wrap th,.report-table-wrap td { padding: 11px; border-bottom: 1px solid var(--portal-line); text-align: left; vertical-align: top; }
.report-table-wrap th { background: #fff5ee; color: #713717; }
.report-use-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin: 16px 0 24px; }
.report-use-grid > div { padding: 15px; border: 1px solid var(--portal-line); border-radius: 10px; background: #fff; }
.report-use-grid strong { color: var(--portal-orange); }
.report-use-grid p { margin: 7px 0 0; }
.report-source-list a { color: var(--portal-orange); text-decoration: underline; text-underline-offset: 3px; }
.portal-topic-library { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.portal-topic-library article { min-height: 290px; display: flex; flex-direction: column; padding: 22px; }
.topic-library-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.topic-library-head > span { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 11px; background: #fff0e6; color: var(--portal-orange); font-size: 11px; font-weight: 950; }
.topic-library-head small { color: var(--portal-muted); font-size: 10px; }
.portal-topic-library h2 { margin-top: 18px; font-size: 25px; }
.portal-topic-library > article > p { margin-top: 8px; color: var(--portal-muted); font-size: 11px; line-height: 1.65; }
.portal-topic-library .topic-child-links { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 16px; }
.portal-topic-library .topic-child-links a { padding: 5px 7px; border-radius: 5px; background: #fff4ec; color: #994923; font-size: 9px; }
.portal-topic-library .text-link { margin-top: auto; padding-top: 18px; color: var(--portal-orange); font-size: 11px; font-weight: 850; }

/* Legacy channel/category/search surfaces use the new system */
.channel-hero { padding: 32px 0 0; background: #fff; }
.channel-hero-inner { min-height: 250px; align-items: center; padding: 38px 42px; border: 1px solid #ffe0cf; border-radius: 12px; background: linear-gradient(110deg,#fff,#fff5ec); }
.channel-hero-inner::after { width: 310px; height: 310px; right: 4%; top: -130px; background: #ffdfcd; opacity: .6; }
.channel-hero-copy .section-kicker { color: var(--portal-orange); }
.channel-hero-copy h1 { color: var(--portal-ink); font-size: clamp(38px,5vw,58px); }
.channel-hero-copy p:not(.section-kicker) { color: var(--portal-muted); font-size: 14px; }
.channel-stats span { border-color: #ffd9c4; color: #777; }
.channel-stats strong { color: var(--portal-orange); }
.topic-child { border-radius: 10px; box-shadow: var(--portal-shadow); }
.topic-child .topic-index, .topic-child a { color: var(--portal-orange); }
.topic-child p { font-size: 11px; }
.search-hero { padding: 46px 0 36px; background: linear-gradient(110deg,#fff,#fff3e9); }
.search-hero .section-kicker { color: var(--portal-orange); }
.search-hero h1 { color: var(--portal-ink); }
.search-hero p:not(.section-kicker) { color: var(--portal-muted); }
.search-page-form { border-color: var(--portal-line); background: #fff; box-shadow: var(--portal-shadow); }
.search-page-form input { color: var(--portal-ink); }
.search-page-form button, .error-search button { background: var(--portal-orange); color: #fff; }
.search-filters a.is-active { border-color: var(--portal-orange); background: var(--portal-orange); color: #fff; }

/* Detail pages */
.article-section { padding-top: 28px; }
.content-with-sidebar { grid-template-columns: minmax(0,1fr) 300px; gap: 18px; align-items: start; }
.article-main.content-entry { padding: 34px 40px 48px; border-radius: 12px; box-shadow: var(--portal-shadow); }
.content-entry h1 { color: var(--portal-ink); font-size: clamp(34px,4.3vw,52px); line-height: 1.16; letter-spacing: -.045em; }
.content-entry h2 { position: relative; padding-left: 14px; color: var(--portal-ink); font-size: 25px; }
.content-entry h2::before { content: ""; position: absolute; left: 0; top: .3em; width: 4px; height: 1em; border-radius: 3px; background: var(--portal-orange); }
.content-entry h3 { color: var(--portal-ink); font-size: 19px; }
.content-entry p, .content-entry li { color: #45484e; font-size: 15px; line-height: 1.9; }
.entry-breadcrumbs { margin-bottom: 18px; color: #999ca2; font-size: 10px; }
.entry-breadcrumbs a:hover { color: var(--portal-orange); }
.content-entry .card-category, .content-entry .update-kind { color: var(--portal-orange); }
.article-meta { gap: 14px; margin-top: 15px; padding-top: 13px; border-color: var(--portal-line); color: #989ba1; font-size: 10px; }
.article-summary { margin: 22px 0; padding: 18px; border: 1px solid #ffd8c2; border-radius: 9px; background: #fff9f4; }
.article-summary strong { color: var(--portal-orange); }
.article-summary p { font-size: 13px; }
.article-body a, .article-endnote a { color: var(--portal-orange); }
.article-body blockquote { border-color: var(--portal-orange); background: #fff8f3; }
.article-endnote { border-color: #ffd9c4; background: #fff8f3; }
.article-sidebar { top: 82px; gap: 12px; }
.sidebar-card { padding: 18px; border-radius: 11px; box-shadow: var(--portal-shadow); }
.sidebar-card h2 { font-size: 15px; }
.sidebar-card p { font-size: 11px; line-height: 1.65; }
.source-list a, .topic-link-list a { color: var(--portal-orange); }
.article-outline a:hover { background: #fff1e7; color: var(--portal-orange); }
.product-title-row h1 { font-size: clamp(38px,5vw,56px); }
.verified-seal { border-color: #bfe5c7; background: #effaf1; color: #2d8443; }
.product-meta-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.product-meta-grid > div { border-color: var(--portal-line); background: #fff9f5; }
.button.primary, .button.button-primary { background: var(--portal-orange); color: #fff; }
.button.secondary { border-color: var(--portal-ink); background: var(--portal-ink); color: #fff; }
.update-kind { color: var(--portal-orange); }
.status-change { background: var(--portal-footer); }
.status-change > span { color: var(--portal-orange); }

/* Unified editorial content system */
.aigcwhy-content-page { background: linear-gradient(180deg,#fffaf6 0,#fff 520px); }
.aigcwhy-content-page .article-section { padding: 24px 0 52px; }
.aigcwhy-content-page .content-with-sidebar { grid-template-columns: minmax(0,1fr) 285px; gap: 20px; }
.aigcwhy-content-page .article-main.content-entry { overflow: hidden; padding: 28px 34px 42px; border-color: #eee5de; border-radius: 13px; background: #fff; }
.aigcwhy-content-page .content-entry h1, .aigcwhy-content-page .product-title-row h1 { max-width: 900px; margin: 12px 0 0; font-size: clamp(29px,3vw,39px); line-height: 1.22; letter-spacing: -.04em; }
.aigcwhy-content-page .entry-deck { max-width: 880px; margin-top: 12px; color: #686c73; font-size: 13px; line-height: 1.75; }
.content-labels { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 4px; }
.content-labels > * { display: inline-flex; min-height: 25px; align-items: center; padding: 0 9px; border: 1px solid #f0e5dd; border-radius: 5px; background: #fff8f3; color: #9d5838; font-size: 9px; font-weight: 800; }
.content-labels > span { border-color: var(--portal-orange); background: var(--portal-orange); color: #fff; }
.editorial-detail .article-meta { display: flex; flex-wrap: wrap; gap: 7px 17px; margin-top: 15px; padding: 13px 0 0; border-top: 1px solid #f0ece8; }
.editorial-detail .article-meta span::before { margin-right: 5px; color: var(--portal-orange); content: "•"; }
.content-hero-visual { position: relative; display: flex; min-height: 232px; align-items: flex-end; overflow: hidden; margin: 20px 0 14px; padding: 28px; border-radius: 10px; background: radial-gradient(circle at 76% 43%,rgba(255,99,35,.68),transparent 16%), linear-gradient(130deg,#101723 4%,#17283a 52%,#481e12 100%); color: #fff; }
.content-hero-visual::before { position: absolute; inset: 0; opacity: .27; background-image: linear-gradient(rgba(255,255,255,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.14) 1px,transparent 1px); background-size: 34px 34px; mask-image: linear-gradient(115deg,#000,transparent 78%); content: ""; }
.content-hero-visual::after { position: absolute; width: 190px; height: 190px; right: 70px; bottom: -85px; border: 1px solid rgba(255,145,91,.7); border-radius: 50%; box-shadow: 0 0 0 24px rgba(255,90,31,.08),0 0 0 48px rgba(255,90,31,.05); content: ""; }
.content-hero-visual > div { position: relative; z-index: 2; display: grid; max-width: 74%; gap: 7px; }
.content-hero-visual > div > span { color: #ff9b70; font-size: 9px; font-weight: 900; letter-spacing: .12em; }
.content-hero-visual > div > strong { font-size: clamp(19px,2.2vw,28px); line-height: 1.35; }
.content-hero-visual > div > small { color: #ccd5df; font-size: 9px; }
.content-hero-visual > i { position: absolute; z-index: 2; right: 28px; bottom: 20px; color: #ff6b2e; font-size: 56px; font-style: normal; font-weight: 950; letter-spacing: -.08em; text-shadow: 0 10px 30px rgba(255,90,31,.28); }
.content-hero-visual.has-image { display: block; min-height: 0; padding: 0; background: #111; }
.content-hero-visual.has-image::before, .content-hero-visual.has-image::after { display: none; }
.content-hero-visual.has-image img { display: block; width: 100%; max-height: 390px; margin: 0; object-fit: cover; }
.content-hero-visual.product-visual { background: radial-gradient(circle at 75% 35%,rgba(255,138,77,.62),transparent 18%),linear-gradient(130deg,#172537,#15202d 58%,#4b2114); }
.content-hero-visual.update-visual { background: radial-gradient(circle at 77% 35%,rgba(76,133,255,.55),transparent 17%),linear-gradient(130deg,#101827,#142d4e 58%,#361e1a); }
.content-keypoints { margin: 12px 0 18px; padding: 0; }
.content-keypoints > h2, .plain-language-notes > h2 { margin: 0 0 10px; padding: 0; color: var(--portal-ink); font-size: 14px; }
.content-keypoints > h2::before, .plain-language-notes > h2::before { display: none; }
.content-keypoints > div { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
.content-keypoints a { display: grid; min-width: 0; min-height: 105px; align-content: start; gap: 5px; padding: 13px; border: 1px solid #eee5df; border-radius: 9px; background: #fff; transition: .18s ease; }
.content-keypoints a:hover { transform: translateY(-2px); border-color: #ffc7aa; box-shadow: var(--portal-shadow); }
.content-keypoints a > span { color: var(--portal-orange); font-size: 10px; font-weight: 950; }
.content-keypoints a > strong { display: -webkit-box; overflow: hidden; color: #282b30; font-size: 11px; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.content-keypoints a > small { margin-top: auto; color: #9b9ea3; font-size: 8px; }
.plain-language-notes { display: grid; gap: 8px; margin: 20px 0 26px; padding: 17px; border: 1px solid #ffd4bd; border-radius: 10px; background: linear-gradient(120deg,#fff8f2,#fff); }
.plain-language-notes > div { display: grid; grid-template-columns: 76px minmax(0,1fr); gap: 13px; align-items: start; }
.plain-language-notes > div > span { display: inline-flex; min-height: 26px; align-items: center; justify-content: center; border-radius: 5px; background: var(--portal-orange); color: #fff; font-size: 9px; font-weight: 900; }
.plain-language-notes p { margin: 0; color: #555960; font-size: 12px !important; line-height: 1.75 !important; }
.plain-language-notes p strong { color: var(--portal-ink); }
.editorial-detail .article-body { padding-top: 2px; }
.editorial-detail .article-body > h2 { scroll-margin-top: 90px; margin: 29px 0 12px; padding: 16px 0 0 16px; border-top: 1px solid #f0ece8; font-size: 20px; }
.editorial-detail .article-body > h2:first-child { border-top: 0; }
.editorial-detail .article-body > h3 { scroll-margin-top: 90px; margin: 23px 0 8px; font-size: 16px; }
.editorial-detail .article-body p, .editorial-detail .article-body li { font-size: 14px; line-height: 1.9; }
.editorial-detail .article-body table { display: block; overflow-x: auto; width: 100%; border-collapse: collapse; font-size: 11px; }
.editorial-detail .article-body th, .editorial-detail .article-body td { min-width: 120px; padding: 10px; border: 1px solid var(--portal-line); text-align: left; }
.editorial-detail .article-body th { background: #fff7f1; }
.content-bottom-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-top: 28px; padding-top: 16px; border-top: 1px solid var(--portal-line); }
.content-bottom-tags strong { margin-right: 3px; color: var(--portal-ink); font-size: 10px; }
.content-bottom-tags a { padding: 5px 9px; border-radius: 999px; background: #f4f4f4; color: #74777d; font-size: 9px; }
.content-bottom-tags a:hover { background: #fff0e7; color: var(--portal-orange); }
.content-toc { max-height: calc(100vh - 105px); overflow-y: auto; }
.content-toc ol { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; counter-reset: toc; }
.content-toc li { position: relative; border-top: 1px solid #f1ece8; counter-increment: toc; }
.content-toc li::before { position: absolute; top: 10px; left: 0; color: #babcc0; font-size: 8px; content: counter(toc,decimal-leading-zero); }
.content-toc li a { display: block; padding: 9px 2px 9px 27px; color: #5d6168; font-size: 10px; line-height: 1.45; }
.content-toc li.is-sub a { padding-left: 37px; color: #8d9095; }
.content-toc li a:hover, .content-toc li a.is-current { color: var(--portal-orange); }
.product-detail-modern .product-title-row { align-items: flex-start; }
.product-detail-modern .product-meta-grid { margin-top: 13px; }
.github-detail-page .content-toc { max-height: none; }
.github-detail-page .content-toc h2 { margin-bottom: 10px; }
.aigcwhy-content-page h1, .aigcwhy-content-page .content-entry h1, .aigcwhy-content-page .product-title-row h1, .github-detail-page h1 { font-size: 14px !important; line-height: 1.55 !important; letter-spacing: -.01em !important; }
.aigcwhy-content-page :where(h2,h3,h4,p,li,a,span,strong,small,dt,dd,label,button,input,select,textarea), .github-detail-page :where(h2,h3,h4,p,li,a,span,strong,small,dt,dd,label,button) { font-size: 12px !important; }
.content-learning-extension { margin-top: 30px; padding: 23px; border: 1px solid var(--portal-line); border-radius: 11px; background: #fffdfa; }
.content-module-number { margin: 0 0 6px !important; color: var(--portal-orange) !important; font-weight: 900; letter-spacing: .08em; }
.content-learning-extension > h2 { margin: 0 0 8px; padding: 0; border: 0; font-size: 18px; }
.content-learning-extension > h2::before { display: none; }
.content-learning-intro { color: #64686f !important; line-height: 1.8 !important; }
.content-explanation-sections { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 16px; }
.content-explanation-sections > section { padding: 18px; border: 1px solid #eee7e1; border-radius: 9px; background: #fff; }
.content-explanation-sections h3 { margin: 0 0 9px !important; color: var(--portal-ink) !important; font-weight: 900; }
.content-explanation-sections p { margin: 0; color: #555a62 !important; line-height: 1.9 !important; }
.content-explanation-analogy { background: #fff8f2 !important; }
.content-explanation-analogy p + p { margin-top: 9px; }
.content-explanation-analogy strong { color: var(--portal-orange); }
.content-explanation-takeaway { grid-column: 1 / -1; border-color: #ffd8c5 !important; background: linear-gradient(135deg,#fffaf6,#fff) !important; }
.content-learning-warning { margin-top: 10px; padding: 15px 17px; border-left: 3px solid var(--portal-orange); background: #fff5ee; }
.content-learning-warning strong { color: var(--portal-orange); font-size: 12px; }
.content-learning-warning p { margin-top: 4px; line-height: 1.7 !important; }

/* Human-readable sitemap */
.sitemap-page { min-height: 70vh; padding-bottom: 65px; }
.sitemap-hero { padding: 32px 0 27px; border-bottom: 1px solid #f1e5dd; background: radial-gradient(circle at 78% 32%,rgba(255,90,31,.14),transparent 23%),#fffaf6; }
.sitemap-hero .portal-breadcrumbs { margin-bottom: 20px; }
.sitemap-hero h1 { margin: 12px 0 7px; color: var(--portal-ink); font-weight: 950; }
.sitemap-hero > .container > p { max-width: 760px; color: var(--portal-muted); line-height: 1.8; }
.sitemap-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); max-width: 760px; overflow: hidden; margin-top: 20px; border: 1px solid var(--portal-line); border-radius: 10px; background: #fff; }
.sitemap-stats span { display: grid; min-height: 65px; align-content: center; gap: 3px; padding: 12px 15px; color: var(--portal-muted); }
.sitemap-stats span + span { border-left: 1px solid var(--portal-line); }
.sitemap-stats strong { color: var(--portal-ink); font-size: 18px; }
.sitemap-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; padding-top: 24px; }
.sitemap-card { min-width: 0; padding: 21px; border: 1px solid var(--portal-line); border-radius: 11px; background: #fff; box-shadow: 0 7px 25px rgba(68,42,25,.04); }
.sitemap-card h2 { display: flex; align-items: center; gap: 9px; margin: 0 0 13px; color: var(--portal-ink); font-size: 16px; }
.sitemap-card h2 span { color: var(--portal-orange); font-size: 12px !important; }
.sitemap-card ul { display: grid; gap: 0; max-height: 430px; overflow-y: auto; margin: 0; padding: 0; list-style: none; }
.sitemap-card li { border-top: 1px solid #f2eeeb; }
.sitemap-card li:first-child { border-top: 0; }
.sitemap-card li a { display: flex; justify-content: space-between; gap: 12px; padding: 9px 2px; color: #555960; line-height: 1.45; }
.sitemap-card li a:hover { color: var(--portal-orange); }
.sitemap-card > p { margin-bottom: 14px; color: var(--portal-muted); line-height: 1.75; }
.sitemap-github { grid-column: 1 / -1; }
.sitemap-github > div { display: flex; flex-wrap: wrap; gap: 7px; }
.sitemap-github > div a { display: inline-flex; min-height: 30px; align-items: center; gap: 6px; padding: 0 10px; border: 1px solid #eee5df; border-radius: 6px; background: #fff9f5; color: #5f6268; }
.sitemap-github > div a:hover { border-color: var(--portal-orange); color: var(--portal-orange); }
.sitemap-github small { color: var(--portal-orange); }
.sitemap-xml > a { display: inline-flex; margin-top: 5px; color: var(--portal-orange); font-weight: 850; }

/* Growth pages inherit orange portal styling */
.growth-hero { background: var(--portal-footer); }
.growth-hero .section-kicker, .assistant-status, .growth-steps li > span { color: var(--portal-orange); }
.toolkit-cover, .growth-success > span { background: var(--portal-orange); color: #fff; }
.growth-submit { background: var(--portal-orange) !important; color: #fff !important; }
.growth-dock { display: none; }

/* Footer */
.site-footer { margin-top: 30px; padding: 48px 0 20px; border: 0; background: var(--portal-footer); }
.footer-grid { grid-template-columns: 1.5fr repeat(3,.75fr) .8fr; gap: 34px; }
.site-footer .site-logo-text strong { color: #fff; font-size: 24px; }
.site-footer .site-logo-text strong span { color: var(--portal-orange); }
.footer-brand > p { max-width: 360px; margin-top: 15px; color: #9ea7b2; font-size: 11px; line-height: 1.75; }
.footer-trust { margin-top: 14px; }
.footer-trust span { border-color: rgba(255,255,255,.1); color: #aeb6c1; font-size: 9px; }
.footer-grid h3 { color: #fff; font-size: 12px; }
.footer-grid a { color: #9ea7b2; font-size: 10px; }
.footer-grid a:hover { color: #fff; }
.footer-qr img { width: 104px; height: 104px; margin-top: 10px; padding: 6px; border-radius: 8px; background: #fff; }
.footer-qr small { display: block; margin-top: 7px; color: #8f99a5; font-size: 9px; }
.footer-bottom { margin-top: 32px; padding-top: 15px; border-color: rgba(255,255,255,.08); color: #77818d; font-size: 9px; }
.back-to-top { background: var(--portal-orange); color: #fff; }

@media (max-width: 1120px) {
  .main-nav { display: none; }
  .menu-toggle { display: block; }
  .header-actions { margin-left: auto; }
  .portal-hero-grid { grid-template-columns: minmax(0,1fr) 420px; }
  .portal-hero-copy h1 { font-size: 42px; }
  .portal-hero-art img { width: 550px; right: -140px; }
  .portal-metrics { grid-template-columns: repeat(3,1fr); }
  .portal-metrics .portal-metrics-title { grid-column: 1 / -1; min-height: 58px; }
  .portal-metrics > div:nth-child(2) { border-left: 0; }
  .portal-product-strip, .portal-products-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .portal-overview-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .footer-grid { grid-template-columns: 1.4fr repeat(3,1fr); }
  .footer-qr { grid-column: 1 / -1; }
}

@media (max-width: 850px) {
  .header-actions .search-form, .header-cta { display: none; }
  .portal-hero-grid { grid-template-columns: 1fr; min-height: auto; }
  .portal-hero-copy { padding: 48px 0 280px; }
  .portal-hero-copy h1 { white-space: normal; }
  .portal-hero-art { position: absolute; right: 0; bottom: 0; left: 0; height: 300px; }
  .portal-hero-art img { width: 540px; right: -80px; bottom: -35px; }
  .portal-main-aside, .portal-two-columns, .portal-topic-hero-grid { grid-template-columns: 1fr; }
  .portal-sidebar { position: static; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .portal-product-strip, .portal-products-grid, .portal-overview-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .portal-guide-grid, .portal-topic-library { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .portal-archive-hero-grid { grid-template-columns: 1fr 200px; }
  .portal-topic-hero-grid { gap: 26px; }
  .portal-topic-products .portal-products-grid.compact { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .portal-topic-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
  .portal-topic-stats h2, .portal-topic-stats small { grid-column: 1 / -1; }
  .portal-topic-stats > div { display: grid; gap: 5px; border-top: 0; border-left: 1px solid var(--portal-line); padding-left: 14px; }
  .content-with-sidebar { grid-template-columns: 1fr; }
  .article-sidebar { position: static; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .aigcwhy-content-page .content-with-sidebar { grid-template-columns: 1fr; }
  .aigcwhy-content-page .article-sidebar { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .aigcwhy-content-page .content-toc { max-height: none; }
  .footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .footer-brand { grid-column: 1 / -1; }
  .footer-qr { grid-column: auto; }
}

@media (max-width: 600px) {
  .container { width: min(calc(100% - 28px), var(--container)); }
  .header-inner { min-height: 62px; }
  .site-logo-text strong { font-size: 22px; }
  .portal-hero-copy { padding: 38px 0 240px; }
  .portal-hero-copy h1 { font-size: 36px; line-height: 1.18; }
  .portal-hero-copy > p:not(.portal-eyebrow) { font-size: 14px; }
  .portal-hero-search { height: auto; min-height: 50px; }
  .portal-hero-search button { min-width: 72px; }
  .portal-hero-art { height: 245px; }
  .portal-hero-art img { width: 440px; right: -120px; }
  .portal-metrics-wrap { margin-top: -20px; }
  .portal-metrics { grid-template-columns: repeat(2,1fr); }
  .portal-metrics .portal-metrics-title { grid-column: 1 / -1; }
  .portal-metrics > div { min-height: 68px; padding: 10px 12px; }
  .portal-metrics > div:nth-child(2), .portal-metrics > div:nth-child(4), .portal-metrics > div:nth-child(6) { border-left: 0; }
  .portal-metrics > div > strong { font-size: 17px; }
  .portal-main-aside, .portal-lead-grid, .portal-two-columns { grid-template-columns: 1fr; }
  .portal-sidebar { grid-template-columns: 1fr; }
  .portal-feature-visual { min-height: 230px; padding: 20px; }
  .portal-feature-visual strong { font-size: 23px; }
  .portal-product-strip, .portal-products-grid, .portal-products-grid.compact, .portal-overview-grid, .portal-guide-grid, .portal-topic-library, .portal-topic-grid { grid-template-columns: 1fr; }
  .product-card { min-height: 230px; }
  .portal-section-head { align-items: flex-start; }
  .portal-section-head h2 { font-size: 20px; }
  .portal-section-head > p { display: none; }
  .portal-update-list article { grid-template-columns: 72px minmax(0,1fr) 20px; }
  .portal-update-list p { display: none; }
  .portal-action-banner { display: grid; padding: 23px; }
  .portal-action-banner > a { text-align: center; }
  .portal-archive-hero { padding-top: 22px; }
  .portal-archive-hero-grid { grid-template-columns: 1fr; gap: 20px; }
  .portal-archive-stat { grid-template-columns: 1fr auto; align-items: end; }
  .portal-archive-stat small { grid-column: 1 / -1; }
  .portal-news-grid { grid-template-columns: 1fr; }
  .portal-topic-title > span { width: 52px; height: 52px; }
  .portal-topic-title h1 { font-size: 35px; }
  .topic-pulse-card { grid-template-columns: 1fr; gap: 13px; }
  .topic-pulse-card > a { border-top: 1px solid var(--portal-line); border-left: 0; }
  .portal-topic-products .portal-products-grid.compact { grid-template-columns: 1fr; }
  .topic-update-timeline::before { left: 6px; }
  .topic-timeline-year { margin-left: 0; }
  .topic-update-entry { grid-template-columns: 1fr; gap: 5px; padding-left: 22px; }
  .topic-update-entry::before { top: 16px; left: 2px; }
  .topic-update-date { justify-items: start; grid-auto-flow: column; justify-content: start; align-items: center; padding-top: 9px; }
  .portal-topic-stats { grid-template-columns: 1fr; }
  .report-summary-grid,.report-use-grid { grid-template-columns: 1fr; }
  .portal-topic-stats > div { display: flex; border-left: 0; border-top: 1px solid var(--portal-line); padding-left: 0; }
  .article-main.content-entry { padding: 24px 20px 36px; }
  .content-entry h1 { font-size: 34px; }
  .content-entry p, .content-entry li { font-size: 15px; }
  .article-sidebar { grid-template-columns: 1fr; }
  .aigcwhy-content-page .article-main.content-entry { padding: 21px 17px 32px; }
  .aigcwhy-content-page .content-entry h1, .aigcwhy-content-page .product-title-row h1 { font-size: 28px; }
  .aigcwhy-content-page .entry-deck { font-size: 12px; }
  .content-hero-visual { min-height: 205px; margin-right: -3px; margin-left: -3px; padding: 21px; }
  .content-hero-visual > div { max-width: 82%; }
  .content-hero-visual > i { right: 20px; font-size: 42px; }
  .content-keypoints > div { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .content-keypoints a { min-height: 96px; }
  .plain-language-notes { padding: 14px; }
  .plain-language-notes > div { grid-template-columns: 1fr; gap: 8px; }
  .plain-language-notes > div > span { width: 72px; }
  .content-learning-extension { padding: 18px 15px; }
  .content-explanation-sections { grid-template-columns: 1fr; }
  .content-explanation-takeaway { grid-column: auto; }
  .aigcwhy-content-page .article-sidebar { grid-template-columns: 1fr; }
  .sitemap-stats, .sitemap-grid { grid-template-columns: 1fr; }
  .sitemap-stats span + span { border-top: 1px solid var(--portal-line); border-left: 0; }
  .sitemap-github { grid-column: auto; }
  .product-meta-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 28px 20px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-qr { grid-column: 1 / -1; }
}
