:root {
    --ink: #11162a;
    --muted: #667085;
    --line: #e3e7ef;
    --paper: #ffffff;
    --canvas: #f4f6fb;
    --purple: #5424c9;
    --purple-dark: #35108e;
    --purple-soft: #eee8ff;
    --blue: #1268d7;
    --green: #138b52;
    --green-soft: #ecfaf3;
    --amber: #c97800;
    --amber-soft: #fff8ec;
    --shadow: 0 16px 42px rgba(34, 39, 58, .08);
    --radius: 22px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--canvas); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.55; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
img { display: block; max-width: 100%; }

.site-header { position: sticky; top: 0; z-index: 50; background: rgba(255, 255, 255, .95); border-bottom: 1px solid var(--line); backdrop-filter: blur(16px); }
.header-inner { max-width: 1480px; min-height: 78px; margin: 0 auto; padding: 0 28px; display: flex; align-items: center; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--purple-dark); font-size: 25px; font-weight: 850; letter-spacing: -.7px; white-space: nowrap; }
.brand-mark { width: 35px; height: 35px; display: grid; place-items: center; color: #fff; background: linear-gradient(145deg, #6c3be0, #361093); border-radius: 11px; font-size: 19px; box-shadow: 0 7px 18px rgba(84, 36, 201, .25); }
.main-nav { display: flex; align-items: stretch; gap: 2px; height: 78px; }
.main-nav > a, .nav-group > a, .nav-more { height: 100%; padding: 0 12px; display: flex; align-items: center; border: 0; color: #252a3a; background: transparent; font-weight: 650; cursor: pointer; }
.main-nav a:hover, .nav-more:hover, .main-nav .active { color: var(--purple); }
.main-nav .active { box-shadow: inset 0 -3px var(--purple); }
.nav-group { position: relative; }
.nav-dropdown { position: absolute; top: 66px; left: 0; min-width: 210px; padding: 9px; display: none; background: #fff; border: 1px solid var(--line); border-radius: 15px; box-shadow: var(--shadow); }
.nav-dropdown-right { right: 0; left: auto; }
.nav-dropdown a { display: block; padding: 9px 11px; border-radius: 9px; color: #34394a; white-space: nowrap; }
.nav-dropdown a:hover { color: var(--purple); background: var(--purple-soft); }
.nav-group:hover .nav-dropdown, .nav-group:focus-within .nav-dropdown { display: block; }
.header-search { margin-left: auto; width: min(330px, 25vw); height: 46px; display: flex; align-items: center; gap: 9px; padding: 0 14px; border: 1px solid #d7dce7; border-radius: 14px; background: #fff; }
.header-search span { color: var(--muted); font-size: 24px; transform: rotate(-20deg); }
.header-search input { min-width: 0; width: 100%; border: 0; outline: 0; color: var(--ink); background: transparent; }
.mobile-menu-button, .mobile-nav { display: none; }

.news-strip { max-width: 1480px; min-height: 44px; margin: 14px auto 0; padding: 0 28px; display: flex; align-items: center; gap: 20px; overflow: hidden; }
.live-label { display: inline-flex; align-items: center; gap: 7px; color: var(--purple); font-size: 12px; font-weight: 850; text-transform: uppercase; letter-spacing: 1px; }
.live-label i { width: 8px; height: 8px; border-radius: 50%; background: #f04455; box-shadow: 0 0 0 5px #ffe9ec; }
.news-strip-items { min-width: 0; display: flex; align-items: center; gap: 24px; overflow: hidden; white-space: nowrap; font-size: 13px; color: #3e4455; }
.news-strip-items a { max-width: 360px; overflow: hidden; text-overflow: ellipsis; }
.news-strip-items a + a { padding-left: 24px; border-left: 1px solid #ccd2de; }

.page-shell { width: min(1424px, calc(100% - 48px)); margin: 0 auto; }
.home-shell { padding: 18px 0 80px; }
.lead-grid { display: grid; grid-template-columns: minmax(0, 1fr) 370px; gap: 22px; align-items: stretch; }
.lead-story, .covered-panel, .latest-section, .category-block, .empty-home { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.lead-story { overflow: hidden; }
.story-card { min-width: 0; overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 18px; transition: transform .18s ease, box-shadow .18s ease; }
.story-card:hover { transform: translateY(-2px); box-shadow: 0 14px 28px rgba(25, 31, 50, .09); }
.story-card-image { position: relative; height: 190px; display: grid; place-items: center; overflow: hidden; background: linear-gradient(135deg, #ddd6fb, #e9f1ff); }
.story-card-image img { width: 100%; height: 100%; object-fit: cover; position: relative; z-index: 2; }
.story-card-image img.portrait-image, .brief-image img.portrait-image { object-fit: contain; transform: none !important; padding: 8px; background: #eef0f5; }
.image-placeholder { position: absolute; inset: 0; display: grid; place-items: center; color: rgba(69, 31, 164, .32); font-size: 30px; font-weight: 900; letter-spacing: -1px; }
.story-card-body { padding: 17px 18px 18px; }
.story-meta { display: flex; align-items: center; gap: 9px; color: var(--muted); font-size: 12px; font-weight: 600; }
.story-meta a { color: var(--purple); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .6px; }
.story-meta a::after { content: ""; width: 3px; height: 3px; margin-left: 9px; display: inline-block; vertical-align: middle; border-radius: 50%; background: #aeb5c2; }
.story-card h3 { margin: 10px 0 15px; font-size: 19px; line-height: 1.22; letter-spacing: -.35px; }
.story-card h3 a:hover { color: var(--purple); }
.story-card p { margin: 0 0 18px; color: #4f5669; font-size: 15px; }
.coverage-line { display: flex; align-items: center; gap: 6px; color: var(--muted); font-size: 12px; }
.coverage-line strong { color: var(--purple); }
.source-dots { display: flex; padding-right: 2px; }
.source-dots i { width: 17px; height: 17px; margin-left: -5px; border: 2px solid white; border-radius: 50%; background: #875ce7; }
.source-dots i:nth-child(2) { background: #2596d8; }
.source-dots i:nth-child(3) { background: #2daf82; }
.story-card-featured { height: 100%; display: grid; grid-template-columns: minmax(320px, 46%) 1fr; border: 0; border-radius: 0; }
.story-card-featured:hover { transform: none; box-shadow: none; }
.story-card-featured .story-card-image { height: 100%; min-height: 460px; }
.story-card-featured .story-card-body { padding: 42px 38px; display: flex; flex-direction: column; justify-content: center; }
.story-card-featured h3 { margin: 15px 0; font-size: clamp(31px, 3vw, 50px); line-height: 1.04; letter-spacing: -1.8px; }
.story-card-featured p { font-size: 16px; line-height: 1.65; }
.covered-panel { padding: 27px 27px 20px; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 25px; margin-bottom: 24px; }
.section-heading h2 { margin: 2px 0 0; font-size: clamp(25px, 2.2vw, 34px); line-height: 1.05; letter-spacing: -1px; }
.section-heading p { max-width: 430px; margin: 0; color: var(--muted); font-size: 14px; }
.eyebrow { color: var(--purple); font-size: 11px; font-weight: 850; text-transform: uppercase; letter-spacing: 1.2px; }
.compact-heading { margin-bottom: 8px; }
.compact-heading h2 { font-size: 25px; }
.covered-list { margin: 0; padding: 0; list-style: none; }
.covered-list li { display: grid; grid-template-columns: 34px 1fr; gap: 12px; padding: 17px 0; border-bottom: 1px solid var(--line); }
.covered-list li:last-child { border: 0; }
.rank { width: 32px; height: 32px; display: grid; place-items: center; color: var(--purple); background: var(--purple-soft); border-radius: 10px; font-size: 13px; font-weight: 800; }
.covered-list a { display: block; font-size: 14px; font-weight: 750; line-height: 1.3; }
.covered-list a:hover { color: var(--purple); }
.covered-list small { display: block; margin-top: 6px; color: var(--purple); font-weight: 700; }
.latest-section, .category-block { margin-top: 22px; padding: 32px; }
.story-grid { display: grid; gap: 18px; }
.story-grid-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.story-grid-four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.category-heading { padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.category-heading > div { display: flex; align-items: baseline; gap: 12px; }
.category-heading .eyebrow { color: #a1a8b6; }
.text-link { color: var(--purple); font-size: 13px; font-weight: 800; }
.text-link span { margin-left: 5px; transition: margin .2s; }
.text-link:hover span { margin-left: 9px; }
.category-story-grid { display: grid; grid-template-columns: 1.2fr repeat(2, minmax(0, 1fr)); gap: 18px; }
.category-story-grid .story-card:first-child { grid-row: auto; }
.category-story-grid .story-card:first-child .story-card-image { height: 290px; }
.category-story-grid .story-card:nth-child(n+4) { display: grid; grid-template-columns: 130px 1fr; }
.category-story-grid .story-card:nth-child(n+4) .story-card-image { height: 100%; min-height: 145px; }
.category-story-grid .story-card:nth-child(n+4) .story-card-body { padding: 14px; }
.category-story-grid .story-card:nth-child(n+4) h3 { font-size: 16px; }
.empty-home { margin-top: 24px; padding: 100px 28px; text-align: center; }
.empty-icon { width: 74px; height: 74px; margin: 0 auto 22px; display: grid; place-items: center; color: white; background: linear-gradient(145deg, #7147dd, #37118e); border-radius: 24px; font-size: 38px; font-weight: 900; box-shadow: 0 18px 40px rgba(84, 36, 201, .25); }
.empty-home h1 { max-width: 720px; margin: 7px auto 18px; font-size: clamp(34px, 5vw, 58px); line-height: 1; letter-spacing: -2px; }
.empty-home > p:not(.eyebrow) { max-width: 700px; margin: 0 auto; color: var(--muted); font-size: 17px; }
.empty-steps { margin-top: 34px; display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; }
.empty-steps span { padding: 10px 15px; color: #43495b; background: #f7f5ff; border: 1px solid #ded5fa; border-radius: 999px; font-size: 13px; font-weight: 650; }
.empty-steps b { color: var(--purple); margin-right: 5px; }

.listing-page { padding: 58px 0 80px; }
.listing-header { margin-bottom: 34px; }
.listing-header h1 { margin: 5px 0 0; font-size: clamp(38px, 5vw, 62px); letter-spacing: -2px; }
.empty-list { grid-column: 1 / -1; padding: 70px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); text-align: center; }
.pagination { margin-top: 30px; }
.pagination nav > div:first-child { display: none; }
.pagination nav > div:last-child { display: flex; justify-content: space-between; align-items: center; }
.pagination span[aria-current="page"] span, .pagination a { display: inline-flex; min-width: 38px; min-height: 38px; align-items: center; justify-content: center; padding: 7px 11px; background: #fff; border: 1px solid var(--line); }

.brief-page { padding: 48px 0 90px; }
.brief-header { max-width: 1180px; margin-bottom: 30px; }
.brief-kicker { display: flex; align-items: center; gap: 12px; color: var(--muted); font-size: 13px; }
.brief-kicker a { color: var(--purple); font-weight: 850; text-transform: uppercase; letter-spacing: .7px; }
.brief-kicker span { padding-left: 12px; border-left: 1px solid #cbd1dc; }
.brief-kicker strong { padding: 6px 10px; color: var(--purple); background: var(--purple-soft); border-radius: 8px; }
.brief-header h1 { margin: 18px 0 0; font-size: clamp(40px, 5.8vw, 76px); line-height: .98; letter-spacing: -3.2px; }
.brief-byline { margin: 15px 0 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
.brief-byline a { color: var(--purple); font-weight: 800; }
.brief-layout { display: grid; grid-template-columns: minmax(0, 1fr) 350px; gap: 24px; align-items: start; }
.brief-main { min-width: 0; }
.brief-intro { display: grid; grid-template-columns: minmax(300px, .9fr) 1.1fr; gap: 18px; }
.brief-figure { min-width: 0; margin: 0; display: grid; align-content: start; gap: 8px; }
.image-credit { margin: 0 4px; color: var(--muted); font-size: 12px; line-height: 1.4; }
.image-credit a { color: var(--purple); font-weight: 700; }
.publisher-page .listing-header p { max-width: 760px; color: var(--muted); line-height: 1.65; }
.brief-image, .news-brief-card, .confidence-card, .timeline-card, .share-card, .source-section, .related-section { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.brief-image { position: relative; min-height: 420px; overflow: hidden; display: grid; place-items: center; background: linear-gradient(135deg, #dcd4fb, #e4efff); }
.brief-image img { width: 100%; height: 100%; object-fit: cover; position: absolute; z-index: 2; }
.brief-image .image-placeholder { color: rgba(65, 31, 150, .35); }
.news-brief-card { padding: 36px; background: linear-gradient(145deg, #f7f3ff, #fff); }
.card-label { display: inline-flex; color: var(--purple); font-weight: 850; }
.news-brief-card p { margin: 24px 0 0; font-size: 18px; line-height: 1.75; }
.brief-sidebar { display: grid; gap: 16px; position: sticky; top: 96px; }
.confidence-card, .timeline-card, .share-card { padding: 24px; }
.confidence-card { display: grid; grid-template-columns: 78px 1fr; gap: 18px; align-items: center; }
.confidence-score { position: relative; width: 78px; height: 78px; display: grid; align-content: center; justify-content: center; color: var(--purple); background: conic-gradient(var(--purple) calc(var(--score, 75) * 1%), #e8e3f7 0); border: 0; border-radius: 50%; line-height: 1; }
.confidence-score::before { content: ""; position: absolute; inset: 8px; background: #fff; border-radius: 50%; }
.confidence-score span, .confidence-score small { position: relative; z-index: 1; }
.confidence-score span { font-size: 24px; font-weight: 900; }
.confidence-score small { font-size: 9px; text-align: center; }
.confidence-card h2 { margin: 2px 0; font-size: 21px; }
.confidence-card p { margin: 5px 0 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.timeline-card h2, .share-card h2 { margin: 0 0 18px; font-size: 19px; }
.timeline-card ol { margin: 0; padding: 0; list-style: none; }
.timeline-card li { position: relative; padding: 0 0 18px 21px; display: grid; gap: 3px; border-left: 1px dashed #bba9ec; }
.timeline-card li:last-child { padding-bottom: 0; }
.timeline-card li::before { content: ""; position: absolute; top: 4px; left: -5px; width: 9px; height: 9px; background: var(--purple); border: 2px solid white; border-radius: 50%; box-shadow: 0 0 0 1px var(--purple); }
.timeline-card time { color: var(--muted); font-size: 11px; }
.timeline-card span { font-size: 12px; }
.share-card > div { display: flex; gap: 8px; }
.share-card button { flex: 1; padding: 9px; color: var(--purple); background: #fff; border: 1px solid #d9d0f3; border-radius: 10px; font-weight: 750; cursor: pointer; }
.share-card button:hover { background: var(--purple-soft); }
.share-card small { display: block; min-height: 18px; margin-top: 8px; color: var(--green); }
.evidence-stack { margin-top: 20px; display: grid; gap: 12px; }
.evidence-panel { min-height: 140px; padding: 27px 30px; display: grid; grid-template-columns: 240px 1fr; gap: 32px; align-items: start; background: #fff; border: 1px solid var(--line); border-radius: 18px; }
.evidence-title { display: flex; align-items: center; gap: 11px; }
.evidence-title span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; color: white; background: var(--blue); font-size: 18px; font-weight: 900; }
.evidence-title h2 { margin: 0; color: var(--blue); font-size: 18px; line-height: 1.2; }
.evidence-panel ul { margin: 0; padding-left: 20px; columns: 2; column-gap: 42px; }
.evidence-panel li { margin: 0 0 12px; padding-left: 4px; break-inside: avoid; }
.agree-panel { background: var(--green-soft); border-color: #b8e2cc; }
.agree-panel .evidence-title span { background: var(--green); }
.agree-panel .evidence-title h2, .agree-panel li::marker { color: var(--green); }
.unclear-panel { background: var(--amber-soft); border-color: #ecd2a9; }
.unclear-panel .evidence-title span { background: var(--amber); }
.unclear-panel .evidence-title h2, .unclear-panel li::marker { color: var(--amber); }
.source-section { margin-top: 20px; padding: 30px; }
.source-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.source-card { padding: 18px; border: 1px solid var(--line); border-radius: 15px; background: #fff; }
.source-card-top { display: grid; grid-template-columns: 40px 1fr auto; gap: 10px; align-items: center; }
.publisher-avatar { width: 40px; height: 40px; display: grid; place-items: center; color: #fff; background: linear-gradient(145deg, #7549dc, #3f1a9e); border-radius: 12px; font-weight: 850; }
.source-card-top strong, .source-card-top small { display: block; }
.source-card-top strong a:hover { color: var(--purple); }
.source-card-top small { color: var(--muted); font-size: 10px; }
.source-card-top time { color: var(--muted); font-size: 10px; }
.source-card h3 { margin: 17px 0; font-size: 15px; line-height: 1.35; }
.source-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--muted); font-size: 11px; }
.source-card-footer a { color: var(--purple); font-weight: 750; }
.related-section { margin-top: 24px; padding: 30px; }

.site-footer { max-width: 1424px; margin: 0 auto 24px; padding: 34px; display: flex; align-items: center; justify-content: space-between; gap: 30px; color: #d9d2ef; background: #171127; border-radius: var(--radius); }
.footer-brand { color: #fff; }
.site-footer p { margin: 10px 0 0; color: #aaa2c1; font-size: 13px; }
.footer-note { max-width: 480px; display: grid; gap: 4px; text-align: right; font-size: 13px; }
.footer-note span { color: #aaa2c1; }
.footer-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px 16px; }
.footer-links a { color: #fff; font-size: 13px; }
.trust-page { max-width: 980px; padding-top: 58px; padding-bottom: 70px; }
.trust-page > header { padding: 42px; color: #fff; background: linear-gradient(135deg, #241638, #5523c9); border-radius: 22px; }
.trust-page h1 { margin: 8px 0 12px; font-size: clamp(38px, 6vw, 68px); }
.trust-page > header p { max-width: 760px; margin: 0; color: #e7def8; font-size: 18px; line-height: 1.7; }
.trust-page-sections { margin-top: 18px; display: grid; gap: 14px; }
.trust-page-sections section { padding: 28px 32px; background: #fff; border: 1px solid var(--line); border-radius: 16px; }
.trust-page-sections h2 { margin: 0 0 10px; }
.trust-page-sections p { margin: 0; color: #535a6c; line-height: 1.75; }
.correction-notice { margin: 20px 0; padding: 18px 20px; border: 1px solid #e6c276; border-left: 4px solid #c17a00; border-radius: 12px; background: #fff9ec; }
.correction-notice p { margin: 6px 0; }

@media (max-width: 1200px) {
    .main-nav { display: none; }
    .mobile-menu-button { display: block; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 12px; background: #fff; cursor: pointer; }
    .mobile-nav { padding: 10px 24px 18px; grid-template-columns: repeat(4, 1fr); gap: 6px; background: #fff; border-top: 1px solid var(--line); }
    .mobile-nav:not([hidden]) { display: grid; }
    .mobile-nav a { padding: 9px; border-radius: 8px; }
    .mobile-nav a:hover { color: var(--purple); background: var(--purple-soft); }
    .lead-grid { grid-template-columns: 1fr 310px; }
    .story-card-featured { grid-template-columns: 42% 1fr; }
    .story-card-featured h3 { font-size: 35px; }
    .category-story-grid { grid-template-columns: 1.2fr 1fr; }
    .category-story-grid .story-card:nth-child(n) { display: block; }
    .category-story-grid .story-card:nth-child(n+5) { display: none; }
    .brief-layout { grid-template-columns: minmax(0, 1fr) 310px; }
    .brief-intro { grid-template-columns: 1fr; }
    .brief-image { min-height: 440px; }
    .evidence-panel { grid-template-columns: 210px 1fr; }
}

@media (max-width: 900px) {
    .page-shell { width: min(100% - 28px, 720px); }
    .lead-grid, .brief-layout { grid-template-columns: 1fr; }
    .covered-panel { order: 2; }
    .story-card-featured { grid-template-columns: 1fr; }
    .story-card-featured .story-card-image { min-height: 390px; }
    .story-card-featured .story-card-body { padding: 30px; }
    .story-grid-three, .story-grid-four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .category-story-grid { grid-template-columns: repeat(2, 1fr); }
    .category-story-grid .story-card:first-child { grid-row: auto; }
    .category-story-grid .story-card:first-child .story-card-image { height: 190px; }
    .brief-sidebar { position: static; grid-template-columns: repeat(3, 1fr); }
    .confidence-card { grid-template-columns: 1fr; }
    .source-card-grid { grid-template-columns: 1fr; }
    .evidence-panel { grid-template-columns: 1fr; gap: 20px; }
    .evidence-panel ul { columns: 1; }
}

@media (max-width: 640px) {
    .header-inner { min-height: 68px; padding: 0 14px; gap: 10px; }
    .brand { font-size: 21px; }
    .brand-mark { width: 32px; height: 32px; }
    .header-search { margin-left: auto; width: 46px; padding: 0 12px; }
    .header-search input { display: none; }
    .mobile-nav:not([hidden]) { grid-template-columns: repeat(2, 1fr); }
    .news-strip { padding: 0 15px; }
    .latest-section, .category-block, .source-section, .related-section { padding: 20px; }
    .section-heading { align-items: start; flex-direction: column; gap: 8px; }
    .story-grid-three, .story-grid-four, .category-story-grid { grid-template-columns: 1fr; }
    .category-story-grid .story-card:nth-child(n+5) { display: block; }
    .story-card-featured .story-card-image { min-height: 290px; }
    .story-card-featured .story-card-body { padding: 24px; }
    .story-card-featured h3 { font-size: 31px; }
    .brief-page { padding-top: 28px; }
    .brief-kicker { align-items: flex-start; flex-wrap: wrap; }
    .brief-header h1 { font-size: 42px; letter-spacing: -1.7px; }
    .brief-image { min-height: 300px; }
    .news-brief-card { padding: 24px; }
    .news-brief-card p { font-size: 16px; }
    .brief-sidebar { grid-template-columns: 1fr; }
    .confidence-card { grid-template-columns: 78px 1fr; }
    .evidence-panel { padding: 22px; }
    .source-card-top { grid-template-columns: 38px 1fr; }
    .source-card-top time { grid-column: 2; }
    .source-card-footer { align-items: flex-start; flex-direction: column; }
    .site-footer { margin: 0 14px 14px; align-items: flex-start; flex-direction: column; border-radius: 18px; }
    .footer-note { text-align: left; }
}

/* RealNews public design refresh — v0.4 */
:root {
    --ink: #17192b;
    --muted: #6d7486;
    --line: #e4e6ed;
    --paper: #fff;
    --canvas: #f6f7f9;
    --purple: #5b2dcc;
    --purple-dark: #35127f;
    --purple-soft: #f0ebff;
    --shadow: 0 13px 38px rgba(28, 30, 47, .065);
    --radius: 20px;
}

body {
    background:
        radial-gradient(circle at 8% 8%, rgba(109, 67, 214, .055), transparent 22rem),
        linear-gradient(180deg, #fafafd 0, var(--canvas) 28rem);
    font-feature-settings: "kern" 1, "liga" 1;
}
.site-header { background: rgba(255, 255, 255, .9); border-color: rgba(224, 226, 234, .95); box-shadow: 0 5px 22px rgba(31, 33, 49, .035); }
.header-inner { max-width: 1390px; min-height: 74px; padding: 0 24px; gap: 24px; }
.brand { color: #24113f; font-size: 24px; }
.brand-mark { width: 37px; height: 37px; background: linear-gradient(145deg, #7042dd, #3b148f); border-radius: 12px; box-shadow: 0 9px 22px rgba(84, 36, 201, .3); }
.main-nav { height: 74px; }
.main-nav > a, .nav-group > a, .nav-more { padding: 0 11px; color: #35394b; font-size: 13px; }
.main-nav .active { box-shadow: inset 0 -2px var(--purple); }
.nav-dropdown { top: 62px; padding: 8px; border-color: #e5e2ed; box-shadow: 0 18px 48px rgba(34, 29, 50, .14); }
.header-search { height: 43px; background: #f8f8fb; border-color: #e0e2e9; border-radius: 12px; transition: width .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease; }
.header-search:focus-within { background: #fff; border-color: #9f83de; box-shadow: 0 0 0 3px #f0ecfb; }
.header-search input::placeholder { color: #999eac; }

.news-strip {
    max-width: 1360px;
    min-height: 42px;
    margin-top: 16px;
    padding: 0 17px;
    color: #3d4354;
    background: rgba(255, 255, 255, .72);
    border: 1px solid #e7e8ee;
    border-radius: 12px;
}
.live-label { font-size: 10px; letter-spacing: 1.2px; }
.news-strip-items { font-size: 12px; }
.news-strip-items a:hover { color: var(--purple); }

.page-shell { width: min(1360px, calc(100% - 42px)); }
.home-shell { padding: 18px 0 84px; }
.lead-grid { grid-template-columns: minmax(0, 1fr) 350px; gap: 18px; }
.lead-story, .covered-panel, .latest-section, .category-block, .empty-home { border-color: #e4e5eb; box-shadow: var(--shadow); }
.lead-story { border-radius: 22px; }
.story-card { border-color: #e5e7ed; border-radius: 16px; box-shadow: 0 4px 14px rgba(31, 34, 51, .025); }
.story-card:hover { transform: translateY(-3px); border-color: #d8d2e6; box-shadow: 0 15px 34px rgba(31, 32, 50, .1); }
.story-card-image { height: 200px; background: linear-gradient(135deg, #e4dcfa, #e8f0fb); }
.story-card-image::after { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; box-shadow: inset 0 -45px 55px rgba(14, 14, 24, .08); }
.story-card-image img { transition: transform .35s ease; }
.story-card:hover .story-card-image img { transform: scale(1.025); }
.story-card-body { padding: 18px 19px 19px; }
.story-meta { color: #858b9a; font-size: 11px; }
.story-meta a { font-size: 10px; letter-spacing: .75px; }
.story-card h3 { margin: 10px 0 16px; color: #202437; font-size: 19px; line-height: 1.28; }
.coverage-line { padding-top: 13px; border-top: 1px solid #edf0f4; }
.story-card-featured { grid-template-columns: minmax(310px, 47%) 1fr; }
.story-card-featured .story-card-image { min-height: 475px; }
.story-card-featured .story-card-body { padding: 40px; }
.story-card-featured h3 { max-width: 720px; font-size: clamp(32px, 3.2vw, 51px); line-height: 1.05; }
.story-card-featured p { color: #555c6e; font-size: 15px; }

.covered-panel { padding: 27px 25px 19px; color: #ece8f5; background: linear-gradient(155deg, #211830, #171120); border-color: #2d223d; }
.covered-panel .eyebrow { color: #b99cfb; }
.covered-panel .section-heading h2 { color: #fff; }
.covered-list li { border-color: rgba(255, 255, 255, .09); }
.covered-list a { color: #eeeaf5; line-height: 1.38; }
.covered-list a:hover { color: #c8afff; }
.covered-list small { color: #aa95d5; }
.covered-list .rank { color: #d8c8ff; background: rgba(140, 95, 233, .2); }

.latest-section, .category-block { margin-top: 18px; padding: 30px; }
.section-heading { margin-bottom: 22px; }
.section-heading h2 { color: #202336; font-size: clamp(25px, 2.2vw, 32px); letter-spacing: -.85px; }
.eyebrow { font-size: 10px; letter-spacing: 1.35px; }
.category-heading { padding-bottom: 17px; }
.category-story-grid { gap: 16px; }
.text-link { padding: 7px 10px; background: var(--purple-soft); border-radius: 9px; font-size: 11px; }

.listing-page { padding-top: 52px; }
.listing-header { padding-bottom: 22px; border-bottom: 1px solid #dfe2e9; }
.listing-header h1 { color: #1a1e31; }
.empty-home { padding: 94px 28px; }

.brief-page { padding-top: 43px; }
.brief-header { margin-bottom: 27px; }
.brief-header h1 { max-width: 1120px; color: #161a2c; font-size: clamp(40px, 5.4vw, 72px); line-height: 1.01; letter-spacing: -2.8px; }
.brief-kicker strong { color: #4d28ac; background: #ede7fb; }
.brief-layout { grid-template-columns: minmax(0, 1fr) 340px; gap: 20px; }
.brief-intro { gap: 16px; }
.brief-image, .news-brief-card, .confidence-card, .timeline-card, .share-card, .source-section, .related-section { border-color: #e4e6ec; box-shadow: 0 12px 34px rgba(29, 31, 47, .06); }
.news-brief-card { padding: 34px; background: linear-gradient(145deg, #f5f1ff, #fff 68%); }
.news-brief-card p { color: #34394c; font-size: 17px; line-height: 1.78; }
.brief-sidebar { gap: 13px; top: 91px; }
.confidence-card, .timeline-card, .share-card { padding: 22px; border-radius: 17px; }
.evidence-stack { gap: 10px; }
.evidence-panel { padding: 25px 27px; border-radius: 17px; }
.evidence-panel li { color: #3f4659; font-size: 14px; line-height: 1.55; }
.source-section { padding: 28px; }
.source-card { border-color: #e7e9ef; border-radius: 13px; transition: border-color .15s, box-shadow .15s; }
.source-card:hover { border-color: #d4c9ec; box-shadow: 0 9px 24px rgba(34, 31, 50, .07); }
.publisher-avatar { background: linear-gradient(145deg, #7144db, #401797); }
.source-card-footer a { padding: 5px 8px; background: #f1ecfc; border-radius: 7px; }
.source-card-summary { border-color: #cfc2ef; box-shadow: inset 3px 0 0 #6d3bd1; }
.source-role-badge { display: inline-flex; align-items: center; padding: 5px 8px; color: #5330a7; background: #f0eafa; border-radius: 999px; font-size: 10px; font-weight: 800; }
.source-role-additional { color: #536070; background: #eef1f5; }
.additional-coverage-section { padding-top: 7px; }

.site-footer { max-width: 1360px; padding: 32px 34px; background: linear-gradient(145deg, #1d1629, #14101d); box-shadow: 0 16px 38px rgba(22, 17, 31, .14); }

@media (max-width: 1200px) {
    .lead-grid { grid-template-columns: 1fr 310px; }
    .story-card-featured { grid-template-columns: 43% 1fr; }
}

@media (max-width: 900px) {
    .page-shell { width: min(100% - 28px, 740px); }
    .news-strip { margin-right: 14px; margin-left: 14px; }
    .lead-grid { grid-template-columns: minmax(0, 1fr); }
    .covered-panel { order: 2; }
    .story-card-featured { grid-template-columns: 1fr; }
    .brief-layout { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
    .site-header { box-shadow: 0 5px 18px rgba(31, 33, 49, .05); }
    .header-inner { min-height: 66px; }
    .brand { font-size: 20px; }
    .header-search:focus-within { position: absolute; right: 60px; width: calc(100% - 140px); background: #fff; }
    .header-search:focus-within input { display: block; }
    .news-strip { min-height: 39px; }
    .page-shell { width: min(100% - 24px, 740px); }
    .latest-section, .category-block, .source-section, .related-section { padding: 18px; border-radius: 17px; }
    .story-card-featured .story-card-body { padding: 23px; }
    .story-card-featured h3 { font-size: 30px; }
    .brief-header h1 { font-size: 39px; letter-spacing: -1.5px; }
    .news-brief-card { padding: 22px; }
    .evidence-panel { padding: 20px; }
}

/* RealNews v0.9 — brand, continuous latest-news ticker and headline semantics */
.brand-logo {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    object-fit: contain;
}

.news-strip {
    width: min(1424px, calc(100% - 48px));
    min-height: 48px;
    margin-top: 14px;
    padding: 0;
    gap: 0;
    background: #fff;
    border: 1px solid #e2e4eb;
    border-radius: 15px;
    box-shadow: 0 7px 22px rgba(31, 34, 51, .055);
}
.news-strip .live-label {
    position: relative;
    z-index: 2;
    min-height: 46px;
    padding: 0 18px;
    flex: 0 0 auto;
    background: #fff;
    border-right: 1px solid #e3e5eb;
    border-radius: 14px 0 0 14px;
}
.ticker-viewport {
    min-width: 0;
    flex: 1;
    overflow: hidden;
    white-space: nowrap;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 24px, #000 calc(100% - 24px), transparent);
    mask-image: linear-gradient(90deg, transparent, #000 24px, #000 calc(100% - 24px), transparent);
}
.ticker-track {
    width: max-content;
    display: flex;
    align-items: center;
    animation: realnews-ticker 62s linear infinite;
    will-change: transform;
}
.ticker-group {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
}
.ticker-group a {
    min-height: 46px;
    padding: 0 28px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #34394a;
    font-size: 13px;
    font-weight: 650;
}
.ticker-group a:hover,
.ticker-group a:focus-visible {
    color: var(--purple);
    outline: none;
    text-decoration: underline;
    text-underline-offset: 4px;
}
.ticker-group a span {
    width: 20px;
    height: 20px;
    display: inline-grid;
    place-items: center;
    color: #6641be;
    background: #f0ebfc;
    border-radius: 50%;
    font-size: 9px;
    font-weight: 900;
}
.ticker-group a + a {
    border-left: 1px solid #e1e4ea;
}
.ticker-viewport:hover .ticker-track,
.ticker-viewport:focus-within .ticker-track {
    animation-play-state: paused;
}
.ticker-empty {
    min-height: 46px;
    padding: 0 24px;
    display: inline-flex;
    align-items: center;
    color: var(--muted);
    font-size: 13px;
}
@keyframes realnews-ticker {
    from { transform: translate3d(0, 0, 0); }
    to { transform: translate3d(-50%, 0, 0); }
}

.story-card h2,
.story-card h3 {
    margin: 10px 0 16px;
    color: #202437;
    font-size: 19px;
    line-height: 1.28;
    letter-spacing: -.35px;
}
.story-card h2 a:hover,
.story-card h3 a:hover { color: var(--purple); }
.story-card-featured h2 {
    max-width: 720px;
    margin: 15px 0;
    font-size: clamp(32px, 3.2vw, 51px);
    line-height: 1.05;
    letter-spacing: -1.8px;
}

@media (prefers-reduced-motion: reduce) {
    .ticker-viewport {
        overflow-x: auto;
        -webkit-mask-image: none;
        mask-image: none;
        scrollbar-width: thin;
    }
    .ticker-track { animation: none; }
    .ticker-clone { display: none; }
}

@media (max-width: 900px) {
    .news-strip { width: calc(100% - 28px); }
}

@media (max-width: 640px) {
    .brand-logo {
        width: 38px;
        height: 38px;
        flex-basis: 38px;
    }
    .news-strip {
        width: calc(100% - 24px);
        min-height: 46px;
        margin: 10px 12px 0;
        border-radius: 14px;
    }
    .news-strip .live-label {
        min-height: 44px;
        padding: 0 13px;
        font-size: 10px;
        letter-spacing: .9px;
    }
    .ticker-group a {
        min-height: 44px;
        max-width: 360px;
        padding: 0 22px;
        overflow: hidden;
        text-overflow: ellipsis;
        font-size: 12px;
    }
    .ticker-group a span { display: none; }
    .story-card-featured h2 { font-size: 30px; }
}

.home-seo-intro {
    max-width: 850px;
    margin: 34px 0 26px;
}
.home-seo-intro h1 {
    margin: 7px 0 10px;
    color: #171a2c;
    font-size: clamp(32px, 4.2vw, 52px);
    line-height: 1.03;
    letter-spacing: -1.9px;
}
.home-seo-intro p:not(.eyebrow) { max-width: 760px; margin: 0; color: var(--muted); font-size: 16px; line-height: 1.65; }

/* RealNews v0.10 — production branding, category fallbacks, sharing and source regions */
.brand-logo.brand-wordmark {
    width: 210px;
    height: auto;
    flex: 0 0 auto;
    object-fit: contain;
}

.footer-wordmark { width: 230px; }

.story-share-strip {
    margin-top: 18px;
    padding: 16px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    background: linear-gradient(120deg, #fff, #f6f2ff);
    border: 1px solid #e2d9f6;
    border-radius: 16px;
    box-shadow: 0 10px 28px rgba(49, 30, 90, .05);
}

.story-share-label { display: grid; gap: 1px; }
.story-share-label strong { color: #27223a; font-size: 15px; }
.story-share-actions { display: flex; align-items: center; gap: 8px; }
.story-share-actions a {
    min-height: 46px;
    padding: 6px 10px 6px 7px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #39334a;
    background: #fff;
    border: 1px solid #e5e1ed;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 750;
    transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.story-share-actions a:hover {
    transform: translateY(-1px);
    border-color: #c7b8e8;
    box-shadow: 0 7px 18px rgba(63, 37, 119, .1);
}
.story-share-actions img { width: 32px; height: 32px; object-fit: contain; border-radius: 50%; }

.region-card {
    padding: 22px;
    background: #fff;
    border: 1px solid #e4e6ec;
    border-radius: 17px;
    box-shadow: 0 12px 34px rgba(29, 31, 47, .06);
}
.region-card h2 { margin: 0 0 18px; font-size: 19px; }
.region-summary { display: grid; grid-template-columns: 108px minmax(0, 1fr); gap: 18px; align-items: center; }
.region-donut {
    position: relative;
    width: 108px;
    height: 108px;
    display: grid;
    place-content: center;
    text-align: center;
    background: var(--region-chart);
    border-radius: 50%;
}
.region-donut::before { content: ""; position: absolute; inset: 18px; background: #fff; border-radius: 50%; }
.region-donut span, .region-donut small { position: relative; z-index: 1; }
.region-donut span { color: #22253a; font-size: 26px; font-weight: 900; line-height: 1; }
.region-donut small { margin-top: 4px; color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .5px; }
.region-summary ul { margin: 0; padding: 0; display: grid; gap: 9px; list-style: none; }
.region-summary li { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #45495c; font-size: 12px; }
.region-summary li > span { min-width: 0; display: flex; align-items: center; gap: 8px; }
.region-summary li i { width: 9px; height: 9px; flex: 0 0 9px; background: var(--region-color); border-radius: 50%; }
.region-summary li strong { color: #24283a; }

@media (max-width: 760px) {
    .story-share-strip { align-items: flex-start; flex-direction: column; }
    .story-share-actions { width: 100%; justify-content: space-between; }
    .story-share-actions a { min-width: 45px; padding: 6px; justify-content: center; }
    .story-share-actions a span { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
}

@media (max-width: 640px) {
    .brand-logo.brand-wordmark { width: 156px; height: auto; flex-basis: auto; }
    .footer-wordmark { width: 210px; }
    .story-share-strip { padding: 14px; }
    .story-share-actions img { width: 30px; height: 30px; }
}
