* { box-sizing: border-box; }
:root { --color-bg: #f7f6f3; --color-surface: #fff; --color-text: #1f2328; --color-text-muted: #3a414a; --color-secondary: #56616d; --color-border: rgba(31,35,40,.1); --color-border-strong: rgba(31,35,40,.16); --color-accent: #274f57; --color-accent-soft: #eef5f6; color: var(--color-text); background: var(--color-bg); color-scheme: light; font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif; }
:root[data-theme="dark"] { --color-bg: #20272a; --color-surface: #293235; --color-text: #edf1ef; --color-text-muted: #d0d9d6; --color-secondary: #b2c0bc; --color-border: rgba(237,241,239,.18); --color-border-strong: rgba(237,241,239,.32); --color-accent: #9ccbd0; --color-accent-soft: #2f4245; color-scheme: dark; }
body { margin: 0; min-height: 100vh; background: var(--color-bg); color: var(--color-text); }
a { color: var(--color-accent); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 3px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.sr-only:focus, .sr-only:focus-visible { position: fixed; z-index: 60; width: auto; height: auto; margin: 0; overflow: visible; clip: auto; white-space: normal; }
.skip-link { position: absolute; left: 1rem; top: -4rem; z-index: 60; padding: .65rem 1rem; border-radius: .5rem; background: #1f2328; color: white; }
.skip-link:focus { top: 1rem; }
.site-header, .site-footer { border-color: var(--color-border); }
.site-header, body > header.border-b { position: sticky; top: 0; z-index: 40; border-bottom: 1px solid var(--color-border); background: color-mix(in srgb, var(--color-bg) 97%, transparent); }
.site-footer { border-top: 1px solid var(--color-border); margin-top: 3rem; }
.shell { width: min(100% - 2.5rem, 72rem); margin: 0 auto; }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 0; }
.brand { color: var(--color-text); text-decoration: none; }
.brand strong, .brand small { display: block; text-transform: uppercase; letter-spacing: .16em; }
.brand strong { font-size: .875rem; }
.brand small { margin-top: .125rem; color: var(--color-secondary); font-size: .625rem; font-weight: 600; }
.site-nav { display: flex; align-items: center; gap: 1.5rem; font-size: .875rem; }
.site-nav a, .site-nav button { color: var(--color-secondary); text-decoration: none; }
.site-nav a[aria-current="page"], .mobile-nav a[aria-current="page"] { color: var(--color-text); font-weight: 700; }
.site-nav a:hover, .site-nav button:hover, .site-footer a:hover { color: var(--color-text); }
.header-more { position: relative; }
.header-more-toggle { border: 0; background: transparent; cursor: pointer; color: inherit; font: inherit; padding: 0; }
.header-more-menu { position: absolute; top: calc(100% + .75rem); right: 0; z-index: 60; display: grid; min-width: 10.5rem; gap: .15rem; border: 1px solid var(--color-border-strong); border-radius: .55rem; background: var(--color-surface); box-shadow: 0 8px 22px rgba(0,0,0,.16); padding: .45rem; }
.header-more-menu[hidden] { display: none; }
.header-more-menu a { display: block; border-radius: .35rem; padding: .55rem .65rem; color: var(--color-text-muted); font-size: .85rem; text-decoration: none; }
.header-more-menu a:hover, .header-more-menu a:focus-visible { background: var(--color-accent-soft); color: var(--color-text); }
.header-support { white-space: nowrap; }
.support-link { padding: .4rem .85rem; border: 1px solid rgba(31,35,40,.15); border-radius: 999px; }
.mobile-menu-button { display: none; border: 0; background: transparent; color: var(--color-text-muted); font-size: 1.35rem; }
.mobile-nav { display: none; padding: .5rem 0 1rem; border-top: 1px solid var(--color-border); }
.mobile-nav a { display: block; padding: .65rem .35rem; color: var(--color-text-muted); text-decoration: none; }
.mobile-more { border-top: 1px solid rgba(31,35,40,.1); }
.mobile-more .header-more-toggle { width: 100%; padding: .65rem 0; text-align: left; }
.mobile-more .header-more-menu { position: static; min-width: 0; border: 0; border-radius: 0; box-shadow: none; padding: 0 0 0 .75rem; }
#mobile-menu > a { display: block; padding: .625rem .35rem; border-bottom: 1px solid rgba(31,35,40,.05); color: #3a414a; text-decoration: none; }
#mobile-menu > a[aria-current="page"] { color: #1f2328; font-weight: 700; }
html[data-theme="dark"] body #mobile-menu > a { color: var(--color-text-muted); }
html[data-theme="dark"] body #mobile-menu > a[aria-current="page"] { color: var(--color-text); }
.content { width: min(100% - 2.5rem, 46rem); margin: 0 auto; padding: 2.5rem 0 5rem; }
.content h1 { margin: 0; font-size: clamp(1.8rem, 5vw, 2.35rem); line-height: 1.15; }
.content h2 { margin: 2rem 0 0; font-size: 1.15rem; line-height: 1.35; }
.content h3 { margin: 1.4rem 0 0; font-size: 1rem; }
.content p, .content li { color: var(--color-text-muted); font-size: 1rem; line-height: 1.7; }
.content .intro { margin-top: 1rem; font-size: 1.15rem; }
.content ul, .content ol { padding-left: 1.4rem; }
.content details { margin-top: .75rem; border: 1px solid var(--color-border); border-radius: .75rem; background: var(--color-surface); padding: 1rem 1.25rem; }
.content summary { cursor: pointer; color: var(--color-text); font-weight: 600; }
.content details p { margin-bottom: 0; }
.notice { margin-top: 1.5rem; border: 1px solid rgba(31,35,40,.1); border-radius: .75rem; background: rgba(31,35,40,.02); padding: 1rem 1.25rem; }
.notice p { margin: 0; }
.accessibility-settings { display: grid; gap: 1rem; }
.setting-control { display: grid; gap: .35rem; max-width: 28rem; }
.setting-control label { color: #2a2f36; font-size: .9rem; font-weight: 600; }
.setting-control select { width: 100%; min-height: 2.75rem; border: 1px solid #4b5460; border-radius: .45rem; background: #fff; color: #1f2328; padding: .55rem .7rem; font: inherit; }
.accessibility-settings .support-link { justify-self: start; margin-top: .1rem; cursor: pointer; background: #fff; color: #2a2f36; font: inherit; }
.link-list { display: grid; gap: .5rem; margin-top: .75rem; }
.site-footer .footer-inner { padding: 2rem 0; }
.footer-grid { display: flex; align-items: flex-start; justify-content: space-between; gap: 1.5rem; }
.footer-nav { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; font-size: .875rem; }
.footer-nav a { color: #4b5460; text-decoration: none; }
.footer-meta { margin: 1.5rem 0 0; color: #56616d; font-size: .75rem; }
.consent-banner { position: fixed; right: 1rem; bottom: 1rem; left: 1rem; z-index: 50; display: flex; justify-content: center; }
.consent-card { width: min(100%, 40rem); border: 1px solid rgba(31,35,40,.1); border-radius: 1rem; background: white; box-shadow: 0 12px 40px rgba(31,35,40,.18); padding: 1.25rem; }
.consent-card h2 { margin: 0; font-size: .95rem; }
.consent-card p { margin: .5rem 0 0; color: #3a414a; font-size: .875rem; line-height: 1.55; }
.consent-actions { display: flex; gap: .75rem; margin-top: 1rem; }
.consent-actions button { flex: 1; cursor: pointer; border-radius: 999px; padding: .65rem 1rem; font-weight: 600; }
.necessary-button { border: 1px solid rgba(31,35,40,.15); background: white; color: #2a2f36; }
.analytics-button { border: 1px solid #274f57; background: #274f57; color: white; }
.consent-more { margin-top: .75rem; padding: 0; border: 0; background: transparent; color: #56616d; cursor: pointer; text-decoration: underline; }
.accessibility-link { color: var(--color-secondary) !important; text-decoration: none; font-size: .8rem; font-weight: 650; letter-spacing: .02em; }
.display-toggle { border: 0; background: transparent; cursor: pointer; font: inherit; }
.accessibility-link:hover { color: var(--color-text) !important; }
.display-menu { position: absolute; top: calc(100% + .75rem); right: 0; z-index: 65; display: grid; width: min(18rem, calc(100vw - 2rem)); gap: .9rem; border: 1px solid var(--color-border-strong); border-radius: .6rem; background: var(--color-surface); box-shadow: 0 8px 22px rgba(0,0,0,.18); padding: 1rem; color: var(--color-text); }
.display-menu[hidden] { display: none; }
.display-menu h2 { margin: 0; font-size: 1rem; }
.display-menu fieldset { display: grid; gap: .45rem; margin: 0; border: 0; border-top: 1px solid var(--color-border); padding: .75rem 0 0; }
.display-menu legend { padding: 0; color: var(--color-secondary); font-size: .68rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.display-menu label { display: flex; align-items: center; gap: .55rem; color: var(--color-text-muted); font-size: .85rem; }
.display-menu input { accent-color: var(--color-accent); }
.resume-notice { position: fixed; top: 50%; left: 50%; z-index: 70; width: max-content; max-width: min(34rem, calc(100vw - 2rem)); transform: translate(-50%, -50%); margin: 0; border: 2px solid var(--color-accent); border-radius: .65rem; background: var(--color-accent); box-shadow: 0 12px 32px rgba(0,0,0,.3); color: #fff !important; padding: 1rem 1.25rem; font-size: 1rem !important; font-weight: 700; line-height: 1.45 !important; text-align: center; }
.new-test-link { margin-left: .85rem; border: 0; background: transparent; color: var(--color-secondary); cursor: pointer; padding: .35rem .1rem; font: inherit; font-size: .8rem; text-decoration: underline; text-underline-offset: .2rem; }
.new-test-link:hover, .new-test-link:focus-visible { color: var(--color-text); }
.site-nav, .mobile-nav, body > header nav:not(#mobile-menu):not(#mobile-nav) { position: relative; }
.mobile-nav .display-toggle { display: block; width: 100%; border-bottom: 1px solid var(--color-border); padding: .65rem .35rem; color: var(--color-text-muted) !important; font-size: 1rem; font-weight: 400; letter-spacing: 0; text-align: left; }
.mobile-nav .display-toggle[aria-expanded="true"] { color: var(--color-text) !important; font-weight: 700; }
#mobile-menu .display-toggle { display: block; width: 100%; border-bottom: 1px solid var(--color-border); padding: .625rem .35rem; color: var(--color-text-muted) !important; font-size: 1rem; font-weight: 400; letter-spacing: 0; text-align: left; }
#mobile-menu .display-toggle[aria-expanded="true"] { color: var(--color-text) !important; font-weight: 700; }
.mobile-nav .display-menu { position: static; width: 100%; margin-top: .5rem; box-shadow: none; }
html[data-theme="dark"] body { background: var(--color-bg) !important; color: var(--color-text) !important; }
html[data-theme="dark"] body h1, html[data-theme="dark"] body h2, html[data-theme="dark"] body h3, html[data-theme="dark"] body h4 { color: var(--color-text) !important; }
html[data-theme="dark"] body .text-ink-900, html[data-theme="dark"] body .text-ink-800 { color: var(--color-text) !important; }
html[data-theme="dark"] body .text-ink-700, html[data-theme="dark"] body .text-ink-600, html[data-theme="dark"] body .text-ink-500 { color: var(--color-text-muted) !important; }
html[data-theme="dark"] body .border-ink-900\/10, html[data-theme="dark"] body .border-ink-900\/5 { border-color: var(--color-border) !important; }
html[data-theme="dark"] body .bg-white, html[data-theme="dark"] body .bg-ink-900\/5 { background: var(--color-surface) !important; }
html[data-theme="dark"] body .bg-ink-900 { background: #edf1ef !important; color: #20272a !important; }
.source-guide { max-width: 54rem; }
.ideology-guide { max-width: 54rem; }
.media-guide { max-width: 58rem; }
.media-warning { margin-top: 2rem; border-left: 3px solid #82b2bb; padding: .2rem 0 .2rem 1rem; }
.media-warning strong { color: #1f2328; font-size: 1.05rem; }
.media-warning p { margin-top: .6rem; }
.media-context { margin-top: 4.5rem; }
.media-controls { margin: 1.25rem 0 1.5rem; }
.media-controls > label { display: block; color: #1f2328; font-size: .85rem; font-weight: 650; }
.media-controls input { display: block; width: min(100%, 30rem); min-height: 2.75rem; margin-top: .4rem; border: 1px solid #4b5460; border-radius: .45rem; background: #fff; color: #1f2328; padding: .55rem .7rem; font: inherit; }
.media-filters { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.media-filters button { cursor: pointer; border: 1px solid rgba(31,35,40,.16); border-radius: 999px; background: #fff; color: #3a414a; padding: .5rem .75rem; font: inherit; font-size: .78rem; }
.media-filters button:hover, .media-filters button:focus-visible, .media-filters button[aria-pressed="true"] { border-color: #274f57; background: #eef5f6; color: #1f2328; }
.media-count { min-height: 1.5rem; color: #56616d !important; font-size: .82rem !important; }
.media-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.media-card { border: 1px solid rgba(31,35,40,.13); border-radius: .7rem; background: #fff; padding: 1.25rem; box-shadow: 0 2px 8px rgba(31,35,40,.04); }
.media-card-head { display: flex; min-height: 10rem; flex-direction: column; justify-content: space-between; gap: 1rem; }
.media-card h3 { margin: 0; color: #1f2328; font-size: 1.2rem; }
.media-meta { margin-top: .3rem !important; color: #56616d !important; font-size: .8rem !important; }
.media-classification { margin-top: .9rem !important; color: #274f57 !important; font-size: .9rem !important; font-weight: 650; }
.media-classification span { display: block; margin-bottom: .2rem; color: #56616d; font-size: .7rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.media-classification-block { border-bottom: 1px solid rgba(31,35,40,.08); padding: .85rem 0; }
.media-classification-block h4, .media-classification-block h5 { margin: 0; color: #274f57; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.media-classification-block h5 { margin-top: .8rem; color: #56616d; font-size: .68rem; }
.media-classification-block p { margin-top: .4rem !important; font-size: .9rem !important; }
.media-classification-block .media-label { color: #1f2328 !important; font-weight: 700; }
.media-own-classification { border-left: 3px solid #82b2bb; padding-left: .9rem; }
.media-own-note { color: #3a414a !important; font-style: italic; }
.media-classification-block a { color: #274f57; font-size: .82rem; font-weight: 650; text-decoration: none; }
.media-classification-block a:hover { text-decoration: underline; }
.media-operator { margin-top: .65rem !important; color: #3a414a !important; font-size: .9rem !important; }
.media-details-toggle { align-self: flex-start; cursor: pointer; border: 0; background: transparent; color: #274f57; padding: 0; font: inherit; font-size: .85rem; font-weight: 700; }
.media-details-toggle:hover { text-decoration: underline; }
.media-detail { margin-top: 1rem; border-top: 1px solid rgba(31,35,40,.1); padding-top: 1rem; }
.media-detail-section { border-bottom: 1px solid rgba(31,35,40,.08); padding: .75rem 0; }
.media-detail h4, .media-sources h4 { margin: 0; color: #1f2328; font-size: .85rem; }
.media-detail p { margin-top: .35rem !important; font-size: .9rem !important; }
.media-source-label { color: #274f57 !important; font-weight: 650; }
.media-sources { padding-top: 1rem; }
.media-sources a { display: block; border-bottom: 1px solid rgba(31,35,40,.08); padding: .55rem 0; color: #274f57; font-size: .85rem; text-decoration: none; }
.media-sources a:hover { text-decoration: underline; }
.media-muted, .media-noscript { color: #56616d !important; font-size: .9rem !important; }
.media-context-note { margin-top: 4rem; border-top: 1px solid rgba(31,35,40,.1); padding-top: 1.5rem; }
.media-context-note h2 { margin-top: 0; font-size: 1.25rem; }
.media-context-note a { color: #274f57; font-weight: 700; text-decoration: none; }
.media-context-note a:hover { text-decoration: underline; }
.page-outline { margin: 2rem 0 3rem; border-top: 1px solid rgba(31,35,40,.1); border-bottom: 1px solid rgba(31,35,40,.1); padding: 1.1rem 0; }
.page-outline__links { display: flex; flex-wrap: wrap; gap: .65rem 1.4rem; }
.page-outline__links a { display: inline-flex; align-items: baseline; gap: .45rem; color: #3a414a; font-size: .85rem; text-decoration: none; }
.page-outline__links a:hover, .page-outline__links a:focus-visible { color: #274f57; text-decoration: underline; }
.page-outline__links span { color: #274f57; font-weight: 700; }
.section-nav { position: fixed; top: var(--site-header-height, 70px); right: 0; left: 0; z-index: 30; display: none; border-bottom: 1px solid rgba(31,35,40,.1); background: rgba(247,246,243,.97); transform: translateY(-110%); transition: transform .2s ease; }
.section-nav--visible { display: block; transform: translateY(0); }
body.submenu-open .section-nav { visibility: hidden; }
.section-nav::before, .section-nav::after { position: absolute; top: 0; bottom: 2px; z-index: 1; width: 2.5rem; content: ""; pointer-events: none; }
.section-nav::before { left: 0; background: linear-gradient(90deg, rgba(247,246,243,.98), rgba(247,246,243,0)); }
.section-nav::after { right: 0; background: linear-gradient(270deg, rgba(247,246,243,.98), rgba(247,246,243,0)); }
.section-nav__inner { position: relative; z-index: 2; display: flex; align-items: center; gap: 1rem; width: min(100% - 2.5rem, 72rem); margin: 0 auto; overflow-x: auto; padding: .7rem 2.25rem; white-space: nowrap; scrollbar-width: none; }
.section-nav__inner::-webkit-scrollbar { display: none; }
.section-nav__inner strong { flex: 0 0 auto; color: #56616d; font-size: .78rem; font-weight: 600; }
.section-nav__inner a { flex: 0 0 auto; color: #4b5460; font-size: .78rem; text-decoration: none; }
.section-nav__inner a:hover, .section-nav__inner a:focus-visible { color: #274f57 !important; }
.section-nav__link--active { color: #274f57 !important; font-weight: 700; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .3rem; }
.reading-progress { height: 2px; background: rgba(31,35,40,.08); }
.reading-progress span { display: block; height: 100%; width: 0; background: #5a969f; transition: width .15s linear; }
.orientation-section { scroll-margin-top: 4rem; }
.permalink-button { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 1.5rem; height: 1.5rem; margin-left: .45rem; border: 0; background: transparent; color: #84909a; cursor: pointer; font: inherit; font-size: .78em; font-weight: 600; line-height: 1; vertical-align: middle; opacity: .65; }
.permalink-button img { width: .85rem; height: .85rem; object-fit: contain; opacity: .7; }
.permalink-button:hover, .permalink-button:focus-visible { color: #274f57; opacity: 1; }
.permalink-tooltip { position: absolute; bottom: calc(100% + .45rem); left: 50%; z-index: 10; width: max-content; max-width: 14rem; transform: translateX(-50%); border: 1px solid rgba(31,35,40,.14); border-radius: .4rem; background: #1f2328; color: #fff; padding: .4rem .55rem; font-size: .72rem; font-weight: 500; line-height: 1.2; white-space: nowrap; }
@media (prefers-reduced-motion: reduce) { .section-nav { transition: none; } .reading-progress span { transition: none; } }
.media-perspectives { margin-top: 2rem; border-top: 1px solid rgba(31,35,40,.1); padding-top: 1.25rem; }
.media-perspectives h3 { margin-top: 0; }
.media-perspectives > div { display: grid; gap: .35rem; margin-top: 1.1rem; border-top: 1px solid rgba(31,35,40,.08); padding-top: .9rem; }
.media-perspectives > div strong, .media-perspectives > div span { display: block; }
.media-perspectives > div strong { color: #274f57; font-size: .78rem; letter-spacing: .08em; line-height: 1.35; }
.media-perspectives > div span { color: #3a414a; font-size: .95rem; line-height: 1.55; }
.media-perspectives .source-note { margin-top: 1.25rem !important; }
.ideology-teaser { max-width: 42rem; margin: 4rem 0 0; border-top: 1px solid rgba(31,35,40,.1); padding-top: 2rem; }
.ideology-teaser h2 { margin-top: 0; font-size: clamp(1.35rem, 3vw, 1.8rem); }
.ideology-teaser p { max-width: 40rem; margin-top: .75rem; }
.ideology-teaser a { display: inline-block; margin-top: 1rem; color: #274f57; font-weight: 700; text-decoration: none; }
.ideology-teaser a:hover { text-decoration: underline; }
.test-entry { margin-top: 3.5rem; border-top: 1px solid rgba(31,35,40,.12); border-bottom: 1px solid rgba(31,35,40,.12); padding: 2.5rem 0; }
.test-entry h2, .knowledge-offers h2, .method-home h2, .transparency-home h2 { margin-top: 0; color: #1f2328; font-size: clamp(1.45rem, 3vw, 2rem); }
.test-entry p { max-width: 48rem; margin-top: .75rem; }
.knowledge-offers, .method-home, .transparency-home { margin-top: 5rem; }
.knowledge-intro { max-width: 46rem; margin-top: .75rem; }
.knowledge-grid, .method-home-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 2rem; }
.knowledge-grid article, .method-home-grid article { padding: .5rem 1.5rem 0; border-left: 1px solid rgba(31,35,40,.12); }
.knowledge-grid article:first-child, .method-home-grid article:first-child { border-left: 0; padding-left: 0; }
.knowledge-grid article:last-child, .method-home-grid article:last-child { padding-right: 0; }
.knowledge-grid article > span { display: block; margin-bottom: 1.25rem; color: rgba(39,79,87,.35); font-size: 2rem; font-weight: 700; line-height: 1; }
.knowledge-grid .eyebrow { margin-bottom: .5rem; }
.knowledge-grid h3, .method-home-grid h3 { margin-top: 0; color: #1f2328; font-size: 1.1rem; }
.knowledge-grid p:not(.eyebrow), .method-home-grid p { margin-top: .6rem; font-size: .92rem !important; }
.knowledge-grid a, .method-home-link { display: inline-block; margin-top: 1rem; color: #274f57; font-weight: 700; text-decoration: none; }
.knowledge-grid a:hover, .method-home-link:hover { text-decoration: underline; }
.method-home-grid article > strong { color: #274f57; font-size: .75rem; letter-spacing: .12em; }
.method-home > p, .transparency-home > p { max-width: 48rem; margin-top: .75rem; }
.method-home .source-note, .transparency-home .source-note { margin-top: 2rem !important; }
.transparency-home { border-top: 1px solid rgba(31,35,40,.1); padding-top: 2.5rem; }
.value-line { color: #274f57 !important; font-weight: 700; letter-spacing: .02em; }
.influence-list { display: grid; gap: .85rem; margin: 1.5rem 0; }
.influence-list div { border-top: 1px solid rgba(31,35,40,.1); padding: .85rem 0 0; }
.influence-list strong, .influence-list span { display: block; }
.influence-list strong { color: #1f2328; font-size: .85rem; letter-spacing: .03em; }
.influence-list span { margin-top: .3rem; color: #3a414a; font-size: .95rem; line-height: 1.55; }
.concept-display { margin: 1.5rem 0 !important; border-left: 3px solid #82b2bb; padding-left: 1rem; }
.concept-display strong, .concept-display span { display: block; }
.concept-display strong { color: #1f2328; font-size: 1.25rem; letter-spacing: .04em; }
.concept-display span { margin-top: .25rem; color: #274f57; font-size: .95rem; font-style: italic; }
.question-highlight { margin: 2rem 0 !important; border-left: 3px solid #274f57; padding: .25rem 0 .25rem 1rem; color: #1f2328 !important; }
.question-highlight strong { display: inline-block; margin-top: .45rem; }
.debate-levels { margin-top: 4.5rem; border: 1px solid rgba(31,35,40,.12); border-radius: .75rem; background: #fff; padding: 1.5rem; }
.debate-levels h2 { margin-top: 0; }
.debate-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; margin-top: 1.5rem; }
.debate-grid div { border-top: 3px solid #82b2bb; padding: .8rem 0 0; }
.debate-grid strong { color: #274f57; font-size: .75rem; letter-spacing: .1em; }
.debate-grid h3 { margin-top: .6rem; }
.debate-grid p { margin-top: .35rem; font-size: .9rem !important; }
.numbered-principles { display: grid; gap: .75rem; margin-top: 1.5rem; padding-left: 2rem !important; }
.numbered-principles li { padding-left: .35rem; }
.source-hero { padding-bottom: 1rem; }
.eyebrow { margin: 0 0 .65rem; color: #274f57 !important; font-size: .72rem !important; font-weight: 700; letter-spacing: .14em; line-height: 1.4 !important; text-transform: uppercase; }
.source-hero h1 { max-width: 42rem; }
.source-hero .intro { max-width: 44rem; }
.source-lead { margin-top: 1.4rem !important; color: #1f2328 !important; font-weight: 650; }
.source-map { position: sticky; top: 0; z-index: 5; display: flex; align-items: center; gap: .65rem; overflow-x: auto; margin: 1.8rem 0 3rem; border-top: 1px solid rgba(31,35,40,.1); border-bottom: 1px solid rgba(31,35,40,.1); background: rgba(247,246,243,.96); padding: .85rem 0; white-space: nowrap; }
.source-map a { color: #3a414a; font-size: .8rem; font-weight: 650; text-decoration: none; }
.source-map a:hover { color: #274f57; text-decoration: underline; }
.source-map span { color: #56616d; }
.source-chapter { scroll-margin-top: 5rem; margin-top: 4.5rem; padding-top: 1rem; border-top: 1px solid rgba(31,35,40,.1); }
.source-chapter h2, .source-levels h2, .source-closing h2, .source-example h2 { margin-top: 0; font-size: clamp(1.45rem, 4vw, 2rem); }
.source-note { margin: 1.5rem 0 !important; border-left: 3px solid #82b2bb; padding: .1rem 0 .1rem 1rem; color: #1f2328 !important; font-weight: 600; }
.source-checks { display: flex; flex-wrap: wrap; gap: .35rem 1.35rem; margin: 1.5rem 0 0 !important; padding: 0 !important; list-style: none; }
.source-checks li { font-size: .9rem !important; }
.source-checks li::before { content: "·"; margin-right: .55rem; color: #274f57; font-weight: 700; }
.quiet-note { margin-top: 2rem; border-top: 1px solid rgba(31,35,40,.08); padding-top: 1rem; }
.quiet-note h3 { margin-top: 0; }
.quiet-note p { font-size: .92rem !important; }
.source-chain, .check-sequence { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem; margin: 1.5rem 0; padding: .2rem 0 .5rem; }
.source-chain span:not([aria-hidden]), .check-sequence span:not([aria-hidden]) { max-width: 100%; border: 1px solid rgba(31,35,40,.13); border-radius: .5rem; background: white; padding: .65rem .8rem; color: #2a2f36; font-size: .85rem; font-weight: 600; line-height: 1.4; text-align: center; white-space: normal; }
.source-chain span[aria-hidden], .check-sequence span[aria-hidden] { color: #56616d; }
.comparison-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; margin: 1.5rem 0; }
.comparison-list div { border-bottom: 1px solid rgba(31,35,40,.1); padding: .7rem 0; color: #2a2f36; font-size: .95rem; }
.comparison-list strong { margin: 0 .35rem; color: #274f57; }
.context-example { margin: 1.5rem 0; border-left: 3px solid #82b2bb; padding: .2rem 0 .2rem 1rem; }
.context-example strong { display: block; color: #1f2328; font-size: clamp(2.3rem, 8vw, 4.5rem); line-height: 1; }
.context-example span, .context-example b { display: block; margin-top: .5rem; color: #3a414a; font-size: .95rem; }
.context-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 2rem; margin-top: 1.5rem; }
.context-grid h3 { margin-top: 0; }
.context-grid p { margin-top: .35rem; font-size: .92rem !important; }
.source-example, .source-check-highlight { margin-top: 4.5rem; border: 1px solid rgba(31,35,40,.12); border-radius: .75rem; background: white; padding: 1.5rem; }
.source-example blockquote { margin: 1rem 0; border-left: 3px solid #82b2bb; padding-left: 1rem; color: #1f2328; font-weight: 650; }
.example-options { display: grid; gap: .65rem; margin-top: 1rem; }
.example-options button { display: flex; align-items: baseline; gap: .65rem; cursor: pointer; border: 1px solid rgba(31,35,40,.16); border-radius: .5rem; background: #fff; color: #1f2328; padding: .75rem .85rem; text-align: left; font: inherit; }
.example-options button:hover, .example-options button:focus-visible { border-color: #274f57; background: #eef5f6; }
.example-options button > span { color: #3a414a; font-size: .92rem; }
.example-feedback { min-height: 3.2rem; margin-bottom: 0 !important; padding-top: 1rem; color: #1f2328 !important; font-weight: 600; }
.quick-check { margin-top: 3rem; border: 1px solid rgba(31,35,40,.12); border-radius: .75rem; background: #fff; padding: 1.35rem 1.5rem; }
.quick-check h2 { margin-top: 0; font-size: 1.25rem; }
.quick-check blockquote { margin: 1rem 0; border-left: 3px solid #82b2bb; padding-left: 1rem; color: #1f2328; font-weight: 650; }
.quick-check-options { display: grid; gap: .65rem; margin-top: 1rem; }
.quick-check-options button { display: flex; align-items: baseline; gap: .65rem; width: 100%; cursor: pointer; border: 1px solid rgba(31,35,40,.16); border-radius: .5rem; background: #fff; color: #1f2328; padding: .75rem .85rem; text-align: left; font: inherit; }
.quick-check-options button:hover, .quick-check-options button:focus-visible, .quick-check-options button[aria-pressed="true"] { border-color: #274f57; background: #eef5f6; }
.quick-check-options button[aria-pressed="true"]::before { content: "✓"; color: #274f57; font-weight: 700; }
.quick-check-options button > span { color: #3a414a; font-size: .92rem; }
.quick-check-feedback { min-height: 3.5rem; margin-bottom: 0 !important; padding-top: 1rem; color: #1f2328 !important; }
.quick-check-feedback strong { display: block; margin-bottom: .35rem; }
.quick-check-visual { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 1rem; color: #2a2f36; font-size: .9rem; font-weight: 650; }
.quick-check-visual[hidden] { display: none; }
.quote-display { margin: 1.5rem 0 !important; color: #1f2328 !important; font-size: clamp(1.5rem, 5vw, 2.4rem) !important; font-weight: 700; line-height: 1.2 !important; }
.evidence-spectrum { display: flex; align-items: stretch; gap: .6rem; margin: 1.5rem 0; }
.evidence-spectrum div { min-height: 7rem; border-top: 3px solid #82b2bb; background: white; padding: .75rem; }
.evidence-spectrum div { flex: 1 1 0; }
.evidence-spectrum strong, .evidence-spectrum span { display: block; }
.evidence-spectrum strong { color: #1f2328; font-size: .85rem; }
.evidence-spectrum span { margin-top: .45rem; color: #3a414a; font-size: .82rem; line-height: 1.45; }
.evidence-spectrum > span { color: #56616d; text-align: center; }
.source-levels { margin-top: 4.5rem; }
.level-grid { display: grid; gap: .75rem; margin-top: 1.5rem; }
.level-grid div { border-top: 1px solid rgba(31,35,40,.14); padding: 1rem 0; }
.level-grid strong { color: #274f57; font-size: .75rem; letter-spacing: .08em; }
.level-grid p { margin: .45rem 0 0; }
.source-check-highlight { margin-top: 4.5rem; border-color: #274f57; background: #eef5f6; }
.quick-check-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.5rem; }
.quick-check-grid div { display: grid; grid-template-columns: 2.2rem 1fr; column-gap: .65rem; }
.quick-check-grid b { grid-row: span 2; color: #274f57; font-size: 1.25rem; }
.quick-check-grid strong { color: #1f2328; font-size: .8rem; line-height: 1.35; }
.quick-check-grid span { grid-column: 2; margin-top: .2rem; color: #3a414a; font-size: .88rem; line-height: 1.45; }
.closing-line { margin: 2rem 0 0 !important; color: #1f2328 !important; font-size: 1.2rem !important; font-weight: 700; line-height: 1.45 !important; }
.source-closing { margin-top: 4.5rem; padding-top: 1rem; border-top: 1px solid rgba(31,35,40,.1); }
.source-actions { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; margin-top: 1.5rem; }
.embed-page { max-width: 58rem; }
.embed-hero { padding-bottom: 1rem; }
.embed-hero h1 { max-width: 48rem; }
.embed-hero .intro { max-width: 48rem; }
.embed-entry { margin-top: 4.5rem; border-top: 1px solid rgba(31,35,40,.1); padding-top: 1.25rem; }
.embed-entry h2 { margin-top: 0; font-size: clamp(1.45rem, 4vw, 2rem); }
.embed-preview { margin-top: 1.5rem; overflow: hidden; border: 1px solid rgba(31,35,40,.13); background: #f7f6f3; }
.embed-preview iframe { display: block; width: 100%; min-height: 700px; border: 0; }
.embed-entry:nth-of-type(2) .embed-preview iframe { min-height: 980px; }
.embed-entry:nth-of-type(3) .embed-preview iframe { min-height: 850px; }
.embed-code { display: grid; gap: .6rem; margin-top: 1.25rem; }
.embed-code label { color: #1f2328; font-size: .8rem; font-weight: 700; }
.embed-code textarea { width: 100%; resize: vertical; border: 1px solid rgba(31,35,40,.16); border-radius: .45rem; background: #1f2328; color: #f7f6f3; padding: .8rem; font: .78rem/1.5 ui-monospace, SFMono-Regular, Consolas, monospace; }
.embed-copy { justify-self: start; cursor: pointer; border: 1px solid #274f57; border-radius: .4rem; background: #274f57; color: #fff; padding: .65rem .85rem; font: inherit; font-size: .85rem; font-weight: 700; }
.embed-copy:hover, .embed-copy:focus-visible { background: #1f4148; }
.embed-copy-status { min-height: 1.25rem; color: #274f57; font-size: .8rem; font-weight: 650; }
.embed-notes { border-left: 3px solid #82b2bb; background: rgba(130,178,187,.08); padding: 1.25rem 1.5rem; }
.embed-notes h2 { margin-top: 0; }
.personal-section { margin-top: 4rem; border-top: 1px solid rgba(31,35,40,.12); padding-top: 1.5rem; }
.personal-section h2 { margin-top: 0; }
.personal-principle { margin: 1.75rem 0 !important; border-left: 3px solid #82b2bb; padding: .25rem 0 .25rem 1rem; color: #1f2328 !important; font-size: 1.2rem !important; font-weight: 700; line-height: 1.45 !important; }
.personal-closing { margin-top: 2rem !important; border-top: 1px solid rgba(31,35,40,.1); padding-top: 1.25rem; color: #1f2328 !important; font-size: 1.2rem !important; font-weight: 700; line-height: 1.45 !important; }
.support-page { max-width: 54rem; }
.support-hero { padding-bottom: 1rem; }
.support-hero h1 { max-width: 42rem; }
.support-hero .intro { max-width: 42rem; }
.support-cta { display: inline-flex; align-items: center; gap: .5rem; margin-top: 1.25rem; border: 1px solid #274f57; border-radius: .45rem; background: #274f57; color: #fff; padding: .75rem 1rem; font-weight: 700; line-height: 1.35; text-decoration: none; }
.support-cta:hover, .support-cta:focus-visible { background: #1f4148; color: #fff; }
.support-section { margin-top: 4.5rem; border-top: 1px solid rgba(31,35,40,.1); padding-top: 1.25rem; }
.support-section h2 { margin-top: 0; font-size: clamp(1.45rem, 4vw, 2rem); }
.support-pillars { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 2rem; }
.support-pillars article { border-left: 1px solid rgba(31,35,40,.12); padding: .5rem 1.5rem 0; }
.support-pillars article:first-child { border-left: 0; padding-left: 0; }
.support-pillars article:last-child { padding-right: 0; }
.support-pillars article > strong { display: block; margin-bottom: 1.25rem; color: rgba(39,79,87,.45); font-size: 2rem; line-height: 1; }
.support-pillars .eyebrow { margin-bottom: .5rem; }
.support-pillars h3 { margin-top: 0; color: #1f2328; font-size: 1.1rem; }
.support-pillars p:not(.eyebrow) { margin-top: .6rem; font-size: .92rem !important; }
.support-independence { border-left: 3px solid #82b2bb; background: rgba(130,178,187,.08); padding: 1.25rem 1.5rem; }
.support-independence h2 { margin-top: 0; }
.support-principle { margin: 2rem 0 .25rem !important; color: #1f2328 !important; font-size: 1.2rem !important; font-weight: 700; line-height: 1.45 !important; }
.support-closing { border-top: 1px solid rgba(31,35,40,.12); }
.support-note { margin-top: 1.25rem !important; color: #56616d !important; font-size: .85rem !important; }
@media (max-width: 760px) { .support-pillars { grid-template-columns: 1fr; } .support-pillars article, .support-pillars article:first-child, .support-pillars article:last-child { border-left: 0; border-top: 1px solid rgba(31,35,40,.12); padding: 1.25rem 0 0; margin-top: 1.25rem; } .support-pillars article:first-child { border-top: 0; padding-top: 0; margin-top: 0; } .support-independence { padding: 1.1rem 1rem; } }
.source-actions a { color: #274f57; font-weight: 700; text-decoration: none; }
.source-actions a:hover { text-decoration: underline; }
body[data-font-size="large"] { font-size: 118%; }
body[data-contrast="high"] { background: var(--color-bg); color: var(--color-text); }
body[data-contrast="high"] a, body[data-contrast="high"] .site-nav a, body[data-contrast="high"] .footer-nav a { color: var(--color-accent); text-decoration: underline; }
body[data-contrast="high"] .site-header, body[data-contrast="high"] .site-footer, body[data-contrast="high"] .content details, body[data-contrast="high"] .notice { border-color: var(--color-text); }
body[data-contrast="high"] .content p, body[data-contrast="high"] .content li, body[data-contrast="high"] .footer-meta { color: var(--color-text); }
body[data-contrast="high"] .consent-card { border-color: var(--color-text); }
html[data-theme="dark"] body .content h1, html[data-theme="dark"] body .content h2, html[data-theme="dark"] body .content h3, html[data-theme="dark"] body .media-card h3, html[data-theme="dark"] body .media-detail h4, html[data-theme="dark"] body strong { color: var(--color-text); }
html[data-theme="dark"] body .content p, html[data-theme="dark"] body .content li, html[data-theme="dark"] body .media-detail p, html[data-theme="dark"] body .media-operator, html[data-theme="dark"] body .media-own-note { color: var(--color-text-muted); }
html[data-theme="dark"] body .content details, html[data-theme="dark"] body .notice, html[data-theme="dark"] body .media-card, html[data-theme="dark"] body .source-example, html[data-theme="dark"] body .source-check-highlight, html[data-theme="dark"] body .quick-check, html[data-theme="dark"] body .debate-levels, html[data-theme="dark"] body .consent-card { background: var(--color-surface); border-color: var(--color-border); color: var(--color-text); }
html[data-theme="dark"] body input, html[data-theme="dark"] body select, html[data-theme="dark"] body textarea { background: var(--color-surface); border-color: var(--color-border-strong); color: var(--color-text); }
html[data-theme="dark"] body .media-filters button, html[data-theme="dark"] body .example-options button, html[data-theme="dark"] body .quick-check-options button { background: var(--color-surface); border-color: var(--color-border-strong); color: var(--color-text); }
html[data-theme="dark"] body .media-filters button:hover, html[data-theme="dark"] body .media-filters button:focus-visible, html[data-theme="dark"] body .media-filters button[aria-pressed="true"], html[data-theme="dark"] body .example-options button:hover, html[data-theme="dark"] body .quick-check-options button:hover { background: var(--color-accent-soft); color: var(--color-text); }
html[data-theme="dark"] body .section-nav { background: color-mix(in srgb, var(--color-bg) 97%, transparent); border-color: var(--color-border); }
html[data-theme="dark"] body .section-nav__inner strong, html[data-theme="dark"] body .section-nav__inner a, html[data-theme="dark"] body .page-outline__links a { color: var(--color-secondary); }
html[data-theme="dark"] body .section-nav__link--active, html[data-theme="dark"] body .page-outline__links span { color: var(--color-accent) !important; }
html[data-theme="dark"] body .support-cta { background: #467b82; border-color: #9ccbd0; color: #fff; }
html[data-theme="dark"] body .support-independence, html[data-theme="dark"] body .embed-notes { background: rgba(156,203,208,.1); }
html[data-theme="dark"] body .source-chain span:not([aria-hidden]), html[data-theme="dark"] body .check-sequence span:not([aria-hidden]), html[data-theme="dark"] body .evidence-spectrum div { background: var(--color-surface); color: var(--color-text); }
html[data-theme="dark"] body .example-options button, html[data-theme="dark"] body .quick-check-options button { background: var(--color-surface); border-color: var(--color-border-strong); color: var(--color-text); }
html[data-theme="dark"] body .source-map { background: color-mix(in srgb, var(--color-bg) 96%, transparent); border-color: var(--color-border); }
html[data-theme="dark"] body .source-map a, html[data-theme="dark"] body .source-map span { color: var(--color-text-muted); }
html[data-theme="dark"] body .source-lead, html[data-theme="dark"] body .source-note, html[data-theme="dark"] body .quote-display, html[data-theme="dark"] body .closing-line, html[data-theme="dark"] body .quick-check-feedback, html[data-theme="dark"] body .example-feedback, html[data-theme="dark"] body .personal-principle, html[data-theme="dark"] body .personal-closing, html[data-theme="dark"] body .support-principle { color: var(--color-text) !important; }
html[data-theme="dark"] body .comparison-list div, html[data-theme="dark"] body .quick-check-visual, html[data-theme="dark"] body .quick-check-options button > span { color: var(--color-text-muted); }
html[data-theme="dark"] body .source-check-highlight { background: var(--color-accent-soft); }
html[data-theme="dark"] body .question-highlight, html[data-theme="dark"] body .media-label { color: var(--color-text) !important; }
html[data-theme="dark"] body .context-example span, html[data-theme="dark"] body .context-example b, html[data-theme="dark"] body .influence-list span, html[data-theme="dark"] body .media-perspectives > div span, html[data-theme="dark"] body .example-options button > span, html[data-theme="dark"] body .quick-check-options button > span, html[data-theme="dark"] body .evidence-spectrum span, html[data-theme="dark"] body .quick-check-grid span { color: var(--color-secondary) !important; }
html[data-theme="dark"] body .quick-check blockquote, html[data-theme="dark"] body .source-example blockquote { color: var(--color-text) !important; }
html[data-theme="dark"] body .media-meta, html[data-theme="dark"] body .media-count, html[data-theme="dark"] body .media-muted, html[data-theme="dark"] body .media-noscript, html[data-theme="dark"] body .media-operator, html[data-theme="dark"] body .support-note, html[data-theme="dark"] body .footer-meta, html[data-theme="dark"] body .source-chain span[aria-hidden], html[data-theme="dark"] body .check-sequence span[aria-hidden], html[data-theme="dark"] body .evidence-spectrum > span { color: var(--color-secondary) !important; }
html[data-theme="dark"] body .page-outline__links a, html[data-theme="dark"] body .source-map a, html[data-theme="dark"] body .section-nav__inner a { color: var(--color-text-muted) !important; }
html[data-theme="dark"] body .page-outline__links span, html[data-theme="dark"] body .section-nav__link--active, html[data-theme="dark"] body .source-actions a, html[data-theme="dark"] body .media-sources a, html[data-theme="dark"] body .media-classification-block a { color: var(--color-accent) !important; }
body[data-motion="reduced"] *, body[data-motion="reduced"] *::before, body[data-motion="reduced"] *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; } }
@media (max-width: 640px) { .shell { width: min(100% - 2rem, 72rem); } .site-nav { display: none; } .mobile-menu-button { display: block; } .mobile-nav.is-open { display: block; } .footer-grid { flex-direction: column; } .consent-actions { flex-direction: column; } }
@media (max-width: 900px) { .evidence-spectrum { flex-direction: column; } .evidence-spectrum > span { transform: rotate(90deg); align-self: center; } }
@media (max-width: 640px) { .comparison-list, .context-grid, .quick-check-grid { grid-template-columns: 1fr; } .source-example, .source-check-highlight { padding: 1.2rem; } }
@media (max-width: 760px) { .debate-grid { grid-template-columns: 1fr; } .debate-levels { padding: 1.2rem; } }
@media (max-width: 760px) { .media-list { grid-template-columns: 1fr; } .media-filters { flex-wrap: nowrap; overflow-x: auto; padding-bottom: .35rem; } .media-filters button { flex: 0 0 auto; } }
@media (max-width: 760px) { .knowledge-grid, .method-home-grid { grid-template-columns: 1fr; } .knowledge-grid article, .method-home-grid article { border-left: 0; border-top: 1px solid rgba(31,35,40,.12); padding: 1.5rem 0 0; margin-top: 1.5rem; } .knowledge-grid article:first-child, .method-home-grid article:first-child { border-top: 0; padding-top: 0; margin-top: 0; } }
