:root {
    --mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
    --radius: 12px;
    color-scheme: dark;
    --bg: #090e12; --card: #111b22; --panel: #111b22; --panel-2: #1a2832;
    --ink: #f3f6f5; --mute: #acb9c0; --muted: #acb9c0; --line: #2d3b43;
    --soft: #1a2832; --accent: #89d0c1; --link: #89d0c1; --navy: #111b22;
    --coral: #89d0c1; --cream: #111b22; --mint: #6dbaa9; --rev: #d9b676;
    --serif: Inter, "Helvetica Neue", Helvetica, Arial, sans-serif;
    --sans: Inter, "Helvetica Neue", Helvetica, Arial, sans-serif;
    --gutter: clamp(1rem, 4vw, 4rem);
    --section-pad: clamp(1.5rem, 4vw, 4rem);
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 1rem
}

body {
    margin: 0;
    font: 0.9375rem/1.55 var(--sans);
    color: var(--ink);
    background: var(--bg);
    -webkit-font-smoothing: antialiased
}

a {
    color: var(--link);
    text-underline-offset: .2em
}

:focus-visible {
    outline: .1875rem solid #a74620;
    outline-offset: .25rem
}

.skip-link {
    position: fixed;
    top: 1rem;
    left: 1rem;
    z-index: 100;
    padding: .75rem 1rem;
    background: var(--card);
    transform: translateY(-200%)
}

.skip-link:focus {
    transform: none
}

.wrap {
    width: calc(100% - 2 * var(--gutter));
    max-width: 99rem;
    margin: 0 auto;
}

h1, h2, h3, h4 {
    font-family: var(--serif);
    font-weight: 400;
    letter-spacing: -.025em;
    color: inherit;
    text-wrap: balance
}

p, dl.method dd, .notes, .resp, .caveat, ol.updates div {
    font-family: var(--serif)
}

h1 {
    font-size: clamp(2.75rem, 5.4vw, 5.5rem);
    line-height: 1.03;
    margin: 1.75rem 0 1.5rem
}

h2 {
    font-size: clamp(2rem, 3.2vw, 3.25rem);
    line-height: 1.1;
    margin: 0 0 .875rem;
    display: flex;
    align-items: baseline;
    gap: 1rem
}

h2 .num {
    font: 500 .75rem var(--sans);
    color: inherit;
    border: .0625rem solid currentColor;
    border-radius: 50%;
    min-width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transform: translateY(-.3rem);
    flex-shrink: 0;
    letter-spacing: 0
}

h3 {
    font-size: 1.625rem;
    line-height: 1.2;
    margin: 2rem 0 .75rem
}

h4 {
    font-size: 1.25rem;
    line-height: 1.25;
    margin: 1.25rem 0 .5rem
}

.masthead {
    padding: var(--gutter) 0
}

.topbar {
    min-height: 6.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem
}

.report-brand {
    font: 400 1.75rem/1 var(--serif);
    letter-spacing: -.04em
}

.brand-dot {
    color: #a74620
}

.report-link {
    background: var(--coral);
    color: var(--navy);
    border-radius: 3rem;
    padding: .875rem 1.25rem;
    font-size: .875rem;
    font-weight: 500;
    text-decoration: none;
    white-space: nowrap
}

.report-link span {
    margin-left: .75rem
}

.report-link:hover {
    background: #f19971
}

.hero {
    padding: clamp(2rem, 5vw, 5rem);
    background: var(--navy);
    border-radius: var(--radius);
    color: var(--ink)
}

.hero-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem
}

.hero-logo {
    display: block;
    width: clamp(7.5rem, 22vw, 14rem);
    max-width: 100%;
    margin-left: auto;
    flex-shrink: 0
}

.hero-logo img {
    display: block;
    width: 100%;
    height: auto
}

.eyebrow {
    display: inline-block;
    font-size: .75rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--navy);
    background: var(--bg);
    border-radius: 3rem;
    padding: .625rem 1rem;
    font-weight: 500
}

.lede {
    font-size: clamp(1.125rem, 1.8vw, 1.625rem);
    line-height: 1.5;
    margin: 0 0 1.5rem
}

.meta {
    font-size: .75rem;
    color: var(--mute);
    overflow-wrap: anywhere
}

.hero .meta {
    color: #c2d1d5;
    border-top: .0625rem solid #496575;
    padding-top: 1.25rem
}

.toc {
    padding: 1.5rem .25rem .5rem;
    display: flex;
    flex-wrap: wrap;
    gap: .75rem 1.5rem;
    font-size: .8125rem
}

.toc a {
    text-decoration: none;
    color: var(--ink);
    border-bottom: .0625rem solid transparent;
    padding: .25rem 0
}

.toc a:hover {
    border-color: var(--accent)
}

main {
    padding-bottom: 3rem;
    display: flex;
    flex-direction: column;
    gap: 1.25rem
}

.chapter {
    padding: var(--section-pad);
    background: var(--card);
    border-radius: var(--radius);
    min-width: 0
}

#why, #found, #sure, #updates {
    background: var(--cream)
}

#glance {
    background: var(--coral);
    --line: #96af9c;
    --mute: #3c4245
}

#contribute {
    background: var(--card)
}

#conclude {
    background: #142630;
    color: var(--ink);
    --link: var(--ink)
}

#conclude .prose p {
    color: inherit
}

.chapter > h2 {
    margin-bottom: 1.5rem
}

.prose p {
    margin: 0 0 1rem;
    font-size: 1.25rem;
    line-height: 1.65;
    color: var(--ink)
}

.prose p:last-child {
    margin-bottom: 0
}

/* Template-owned editorial sections. */
.section-kicker {
    margin: 0 0 .75rem;
    font: 500 .75rem/1.4 var(--sans);
    text-transform: uppercase;
    letter-spacing: .12em
}

.editorial-grid {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: clamp(1.5rem, 4vw, 4rem);
    align-items: start
}

.editorial-grid > * {
    min-width: 0
}

.editorial-lead {
    margin: 0;
    font: 400 clamp(1.5rem, 2.8vw, 2.5rem)/1.3 var(--serif);
    letter-spacing: -.02em;
    text-wrap: balance
}

.editorial-grid .prose p {
    font-size: 1.125rem;
    line-height: 1.65
}

#why .editorial-lead {
    font-size: clamp(1.375rem, 2.4vw, 2.125rem)
}

.scope-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
    margin-top: 2rem
}

.scope-card {
    min-width: 0;
    padding: clamp(1.25rem, 2.5vw, 2rem);
    background: var(--card);
    border-radius: 1rem;
    color: var(--ink)
}

.scope-card h3 {
    margin: 0 0 .75rem;
    font-size: 1.5rem;
    color: var(--ink);
}

.scope-card p {
    margin: 0;
    font-size: 1.0625rem;
    line-height: 1.6;
    color: var(--ink);
}

.conclusion-intro {
    margin-bottom: 2rem
}

.conclusion-intro .editorial-lead {
    max-width: none;
    font-size: clamp(1.375rem, 2vw, 2rem);
    text-wrap: pretty
}

.conclusion-takeaways {
    padding-inline-start: 1.2em
}

.conclusion-takeaways li {
    padding-inline-start: .25em
}

.conclusion-takeaways li + li {
    margin-top: 1rem
}

@media (max-width: 53.75rem) {
    .editorial-grid, .scope-grid {
        grid-template-columns: minmax(0, 1fr)
    }

    .scope-grid {
        gap: .875rem;
        margin-top: 1.5rem
    }
}

.sub {
    color: var(--mute);
    font-size: .8125rem
}

.preview {
    background: #fff8e6;
    border: .0625rem solid #e9c46a;
    border-left: .3125rem solid #b07d00;
    border-radius: .375rem;
    padding: .75rem 1rem;
    font-size: .875rem;
    margin: .25rem 0 1.25rem
}

/* at-a-glance awards */
.glance {
    display: grid;
    grid-template-columns:repeat(auto-fit, minmax(15rem, 1fr));
    gap: 1.25rem;
    margin-top: 1.25rem
}

.award {
    background: var(--card);
    border: 0;
    border-radius: 1rem;
    padding: 1.75rem;
    display: flex;
    flex-direction: column;
    gap: .5rem;
    break-inside: avoid
}

.award .aw-k {
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--accent);
    font-weight: 600
}

.award .aw-v {
    font-family: var(--serif);
    font-size: 1.75rem;
    font-weight: 400;
    line-height: 1.15;
    color: var(--ink);
    overflow-wrap: anywhere
}

.award .aw-why {
    font-family: var(--serif);
    font-size: 1rem;
    line-height: 1.5;
    color: var(--mute)
}

.award > a {
    color: var(--ink);
    font-size: .8125rem;
    text-decoration: none;
    margin-top: auto
}

.award .aw-v a {
    color: inherit;
    font: inherit;
    text-decoration: none
}

.award a:hover {
    text-decoration: underline
}

.conclusion-picks {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 1.75rem
}

.recommendation {
    border-top: .25rem solid #28543a;
    color: var(--ink);
    --link: var(--ink)
}

.recommendation-method {
    margin: 1rem 0 2rem;
}

.recommendation-method summary {
    cursor: pointer;
    font: 500 .8125rem/1.5 var(--sans)
}

.recommendation-method p {
    font-size: 1rem;
    line-height: 1.6
}

@media (max-width: 37.5rem) {
    .glance {
        grid-template-columns:1fr
    }
}

.cols2 {
    display: grid;
    grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
    gap: 1.75rem
}

.cols2.wide-left {
    grid-template-columns:minmax(0, 1.3fr) minmax(0, 1fr)
}

.cols2 > * {
    min-width: 0
}

@media (max-width: 53.75rem) {
    .cols2, .cols2.wide-left {
        grid-template-columns:minmax(0, 1fr)
    }
}

table {
    border-collapse: collapse;
    font-size: .84375rem;
    width: 100%
}

th, td {
    padding: .375rem .5625rem;
    border-bottom: .0625rem solid var(--line);
    text-align: left;
    vertical-align: top
}

th {
    font-weight: 600;
    font-size: .78125rem;
    color: var(--mute);
    background: var(--soft)
}

table.dense th, table.dense td {
    padding: .25rem .4375rem;
    font-size: .78125rem
}

td.num, th.num {
    text-align: right;
    font-variant-numeric: tabular-nums;
    white-space: nowrap
}

.tbl-wrap {
    overflow: auto;
    max-width: 100%
}

.pill {
    display: inline-block;
    font-size: .6875rem;
    border-radius: 62.5rem;
    padding: 0 .4375rem;
    border: .0625rem solid var(--line);
    color: var(--mute);
    white-space: nowrap;
    vertical-align: .0625rem
}

.pill.part {
    color: #8a5a00;
    border-color: #e9c46a;
    background: #fff8e6
}

.mk {
    display: inline-block;
    width: 1.1em;
    text-align: center;
    font-size: .8125rem
}

#method {
    background: var(--cream)
}

#method > p, .method-card {
    font: 400 1.125rem/1.6 var(--serif)
}

.method-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem
}

.method-prompts {
    margin-top: 1.25rem
}

.method-prompts > .method-card {
    grid-column: 1 / -1
}

.method-card {
    min-width: 0;
    padding: clamp(1.25rem, 2.5vw, 2rem);
    background: var(--card);
    border-radius: 1rem
}

.method-card h3 {
    font: inherit;
    font-weight: 700;
    letter-spacing: 0;
    margin: 0 0 .75rem
}

.method-card p {
    margin: 0;
    font: inherit
}

@media (max-width: 37.5rem) {
    .method-grid {
        grid-template-columns: minmax(0, 1fr)
    }
}

.findings {
    display: grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
    margin-top: 1.25rem
}

@media (max-width: 56.25rem) {
    .findings {
        grid-template-columns:1fr
    }
}

.finding {
    background: var(--card);
    border: 0;
    border-radius: 1rem;
    padding: 1.75rem;
    display: flex;
    flex-direction: column;
    break-inside: avoid
}

.finding .fh {
    display: flex;
    gap: .625rem;
    align-items: baseline
}

.finding h3 {
    margin: 0 0 .75rem;
    font-size: 1.625rem
}

.finding p.ft {
    margin: 0 0 1rem;
    font-size: 1.125rem;
    line-height: 1.55
}

.finding .chart {
    margin: .25rem 0 .125rem
}

.finding .cap {
    font-size: .75rem;
    color: var(--mute);
    margin: .25rem 0 0
}

.finding .unc {
    font-size: .78125rem;
    color: var(--mute);
    background: var(--soft);
    border-radius: .375rem;
    padding: .375rem .5625rem;
    margin-top: .625rem
}

.finding .unc b {
    color: var(--ink)
}

.finding .go {
    margin-top: .5rem;
    font-size: .8125rem
}

.finding .go a {
    cursor: pointer;
    text-decoration: none
}

.finding .go a:hover {
    text-decoration: underline
}

ul.notes {
    padding-left: 1.25rem;
}

ul.notes li {
    margin: .625rem 0;
    font-size: 1.125rem;
    line-height: 1.6
}

ul.warn {
    padding-left: 1.25rem;
    font-size: .8125rem;
    color: var(--mute);
}

ul.warn li {
    margin: .1875rem 0
}

.flag-bad {
    background: #f6d5c8
}

.flag-warn {
    background: #fbecc8
}

.sysprompt {
    font: .875rem/1.6 var(--mono);
    color: var(--ink);
    background: var(--panel-2);
    padding: 1rem;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    margin: 0
}

.filterbar {
    position: sticky;
    top: 0;
    z-index: 20;
    background: var(--cream);
    border: .0625rem solid var(--line);
    border-radius: .5rem;
    padding: .5rem .75rem;
    margin: .875rem 0 .375rem;
    display: flex;
    flex-wrap: wrap;
    gap: .375rem 1rem;
    align-items: center;
    font-size: .8125rem
}

.filterbar > span {
    display: inline-flex;
    flex-wrap: wrap;
    gap: .25rem;
    align-items: center
}

.filterbar b {
    font-weight: 600;
    margin-right: .125rem
}

.chip {
    display: inline-flex;
    align-items: center;
    gap: .3125rem;
    border: .0625rem solid var(--line);
    border-radius: 62.5rem;
    padding: .0625rem .5625rem;
    cursor: pointer;
    user-select: none;
    background: var(--card);
    white-space: nowrap
}

.chip.off {
    background: var(--soft);
    color: var(--mute);
    text-decoration: line-through
}

.chip.part::after {
    content: "partial";
    font-size: .625rem;
    color: #f0ce94;
    border: .0625rem solid #7d653c;
    border-radius: .25rem;
    padding: 0 .1875rem
}

select, input[type=search] {
    font: inherit;
    font-size: .8125rem;
    border: .0625rem solid var(--line);
    border-radius: .375rem;
    padding: .5rem .625rem;
    background: var(--card);
    color: var(--ink);
    max-width: 100%
}

input[type=search] {
    width: 14.375rem
}

.btn {
    font: inherit;
    font-size: .75rem;
    border: .0625rem solid var(--line);
    background: var(--card);
    border-radius: .375rem;
    padding: .375rem .625rem;
    cursor: pointer;
    color: var(--ink)
}

.panel-block {
    scroll-margin-top: 13rem;
    background: var(--bg);
    border: 0;
    border-radius: 1rem;
    padding: clamp(1rem, 2.5vw, 2rem);
    margin: 1.5rem 0;
    min-width: 0
}

.bh {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    flex-wrap: wrap;
    gap: .5rem
}

.bh h3 {
    margin: 0 0 .5rem
}

.ctl {
    font-size: .8125rem;
    color: var(--mute)
}

.legend {
    display: flex;
    gap: .375rem 1rem;
    font-size: .78125rem;
    color: var(--mute);
    flex-wrap: wrap;
    align-items: center;
    margin: .125rem 0 .5rem
}

.legend svg {
    vertical-align: middle;
    margin-right: .25rem
}

.legend .sw {
    display: inline-block;
    width: 1.25rem;
    height: .6875rem;
    vertical-align: middle;
    margin-right: .1875rem;
    border-radius: .125rem;
    border: .0625rem solid rgba(0, 0, 0, .06)
}

.grid-sm {
    display: grid;
    grid-template-columns:repeat(auto-fill, minmax(22.5rem, 1fr));
    gap: .875rem
}

@media (max-width: 32.5rem) {
    .grid-sm {
        grid-template-columns:1fr
    }
}

.panel {
    border: .0625rem solid var(--line);
    border-radius: .5rem;
    padding: .5rem .625rem;
    break-inside: avoid
}

.panel h4 {
    margin: 0 0 .125rem
}

.panel .poles {
    display: flex;
    justify-content: space-between;
    font-size: .71875rem;
    color: var(--mute);
    gap: .625rem
}

svg text {
    font-family: var(--sans)
}

/* Keep each PCA explanation beside the corresponding end of its axis. */
.pca-map {
    display: grid;
    grid-template-columns: minmax(16rem, .85fr) minmax(0, 1.5fr);
    grid-template-rows: 1fr 1fr auto;
    column-gap: clamp(1.25rem, 3vw, 3rem);
    row-gap: 1.25rem;
    margin-block: 1rem 2rem;
    align-items: start;
}
.pca-map > *, .pca-x-ends > * {min-width: 0}
.pca-chart {grid-column: 2; grid-row: 1 / 3; align-self: center}
.pca-chart svg {display: block}
.pca-pc2-high {grid-column: 1; grid-row: 1; padding-top: clamp(2rem, 3.5vw, 4rem)}
.pca-pc2-low {grid-column: 1; grid-row: 2; align-self: end; padding-bottom: clamp(1.5rem, 3vw, 3rem)}
.pca-x-ends {grid-column: 2; grid-row: 3; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem}
.pca-endpoint h4 {font-size: .9375rem; font-weight: 600; letter-spacing: 0; margin: 0 0 .75rem}
.pca-endpoint ul {padding-left: 1.125rem; margin: 0; font-size: .875rem; line-height: 1.6}
.pca-endpoint li + li {margin-top: .625rem}
.pca-endpoint a {overflow-wrap: anywhere}
@media (max-width: 60rem) {
    .pca-map {grid-template-columns: minmax(0, 1fr); grid-template-rows: auto; gap: 1.5rem}
    .pca-pc2-high {grid-column: 1; grid-row: 1; padding: 0}
    .pca-chart {grid-column: 1; grid-row: 2}
    .pca-pc2-low {grid-column: 1; grid-row: 3; padding: 0}
    .pca-x-ends {grid-column: 1; grid-row: 4}
}
@media (max-width: 37.5rem) {
    .pca-x-ends {grid-template-columns: minmax(0, 1fr); gap: 1.5rem}
}

.hm {
    width: auto
}

.hm td.stmt {
    min-width: 18.75rem;
    max-width: 29.375rem
}

.hm td.c {
    text-align: center;
    font-variant-numeric: tabular-nums;
    min-width: 4rem;
    cursor: pointer;
    border: .125rem solid #fff;
    padding: .1875rem .25rem
}

.hm td.c:hover {
    outline: .125rem solid #111
}

.hm td.c svg {
    display: block;
    margin: .125rem auto 0
}

.hm th {
    text-align: center;
    text-transform: capitalize;
    vertical-align: bottom;
    padding: 0.15rem;
    font-family: ovo;
}

.hm td.rowh {
    white-space: nowrap
}

.narrowchart {
    max-width: 40rem;
    margin-top: .875rem
}

#browser .layout {
    display: grid;
    grid-template-columns:20.625rem minmax(0, 1fr);
    gap: .875rem
}

@media (max-width: 56.25rem) {
    #browser .layout {
        grid-template-columns:1fr
    }

    .qlist {
        max-height: 20rem !important;
        position: static !important
    }
}

.qlist {
    max-height: 80vh;
    overflow: auto;
    border: .0625rem solid var(--line);
    border-radius: .5rem;
    position: sticky;
    top: 4.375rem
}

.qitem {
    padding: .4375rem .625rem;
    border-bottom: .0625rem solid var(--line);
    cursor: pointer;
    font-size: .8125rem
}

.qitem:hover {
    background: var(--soft)
}

.qitem.sel {
    background: var(--cream);
    box-shadow: inset .1875rem 0 var(--accent)
}

.qitem .meta {
    font-size: .71875rem;
    color: var(--mute)
}

.strip {
    display: flex;
    gap: .125rem;
    margin-top: .1875rem
}

.strip span {
    width: .875rem;
    height: .5rem;
    border-radius: .125rem;
    background: #eee
}

.qhead {
    border: .0625rem solid var(--line);
    border-radius: .5rem;
    padding: .625rem .75rem;
    margin-bottom: .625rem;
    background: var(--soft)
}

.qhead .stmt {
    font-family: var(--serif);
    font-size: 1.375rem;
    font-weight: 400
}

.tags span {
    display: inline-block;
    font-size: .71875rem;
    border: .0625rem solid var(--line);
    border-radius: .25rem;
    padding: 0 .3125rem;
    margin: .25rem .25rem 0 0;
    background: var(--card)
}

.cards {
    display: grid;
    grid-template-columns:repeat(auto-fill, minmax(18.125rem, 1fr));
    gap: .625rem
}

.card {
    border: .0625rem solid var(--line);
    border-radius: .5rem;
    padding: .5625rem .6875rem;
    border-top: .25rem solid #999;
    display: flex;
    flex-direction: column;
    break-inside: avoid;
    background: var(--card)
}

.card .ch {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: .375rem;
    margin-bottom: .375rem
}

.card .mname {
    font-weight: 600;
    font-size: .84375rem
}

.badge {
    font-size: .75rem;
    font-weight: 600;
    border-radius: .3125rem;
    padding: .0625rem .4375rem;
    white-space: nowrap
}

.choice-label {
    position: relative;
    white-space: nowrap
}

.choice-emoji {
    font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
    font-size: 1.25rem;
    line-height: 1;
    vertical-align: -.1em;
    font-weight: 400
}

.choice-key {
    white-space: normal;
    margin-top: .375rem;
    line-height: 1.6
}

.choice-key .choice-emoji {
    font-size: 1rem
}

.panel-block .tbl-wrap {
    scroll-margin-top: 15rem
}

@media (max-width: 37.5rem) {
    .panel-block .tbl-wrap {
        scroll-margin-top: 1rem
    }
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0
}

.flags span {
    display: inline-block;
    font-size: .6875rem;
    border-radius: .25rem;
    padding: 0 .25rem;
    margin: 0 .25rem .125rem 0;
    background: #f1f0ec;
    color: #555
}

.flags span.w {
    background: #fbecc8;
    color: #6b4500
}

.flags span.b {
    background: #f6d5c8;
    color: #7a2a0c
}

.resp {
    white-space: pre-wrap;
    font-size: 1rem;
    line-height: 1.6;
    overflow: hidden;
    position: relative;
    overflow-wrap: anywhere
}

.resp.clamp {
    max-height: 15.5em
}

.resp.clamp::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2.5em;
    background: linear-gradient(transparent, var(--card))
}

.more {
    font: inherit;
    font-size: .75rem;
    color: var(--link);
    cursor: pointer;
    margin-top: .25rem;
    background: none;
    border: 0;
    padding: 0;
    text-align: left
}

details.think {
    margin-top: .375rem;
    font-size: .75rem;
    color: var(--mute)
}

details.think pre {
    white-space: pre-wrap;
    font: inherit;
    max-height: 20rem;
    overflow: auto;
    background: var(--soft);
    padding: .375rem;
    border-radius: .375rem
}

.small {
    font-size: .75rem;
    color: var(--mute)
}

#tip {
    position: fixed;
    pointer-events: none;
    background: #14171c;
    color: #fff;
    font-family: var(--sans);
    font-size: .75rem;
    padding: .375rem .5rem;
    border-radius: .375rem;
    max-width: 22.5rem;
    z-index: 50;
    display: none;
    line-height: 1.4
}

.empty {
    color: var(--mute);
    font-style: italic;
    padding: .875rem
}

.pairtbl td {
    white-space: nowrap
}

.pairtbl .flip {
    background: repeating-linear-gradient(45deg, #3d3424, #3d3424 .25rem, var(--card) .25rem, var(--card) .5rem)
}

kbd {
    font: .6875rem monospace;
    border: .0625rem solid #ccc;
    border-radius: .1875rem;
    padding: 0 .1875rem;
    background: var(--panel-2)
}

/* contribute + updates + footer */
.soon {
    color: var(--mute);
    font-style: italic
}

.wikilink {
    font-size: .75rem;
    font-weight: 600;
    white-space: nowrap;
    text-decoration: none;
    margin-left: .25rem
}

.wikilink:hover {
    text-decoration: underline
}

.callout {
    background: var(--card);
    border: .0625rem solid var(--line);
    border-left: .25rem solid var(--accent);
    border-radius: .375rem;
    padding: 1.125rem 1.375rem;
    margin: 1.25rem 0;
}

.callout h3 {
    margin: 0 0 .5rem;
    font-size: 1.125rem
}

.callout p {
    margin: .5rem 0;
    font-size: 1.125rem;
    line-height: 1.55;
    color: var(--ink)
}

.callout p:last-child {
    margin-bottom: 0
}

ol.updates {
    list-style: none;
    margin: 1rem 0 0;
    padding: 0;
}

ol.updates li {
    display: grid;
    grid-template-columns:8.75rem 1fr;
    gap: 1rem;
    padding: .625rem 0;
    border-bottom: .0625rem solid var(--line)
}

ol.updates li:last-child {
    border-bottom: 0
}

ol.updates time {
    font-size: .8125rem;
    color: var(--mute);
    font-variant-numeric: tabular-nums
}

ol.updates div {
    font-size: 1.125rem;
    line-height: 1.55
}

@media (max-width: 37.5rem) {
    ol.updates li {
        grid-template-columns:1fr;
        gap: .125rem
    }
}

.foot {
    font-size: .8125rem;
    color: var(--mute);
    padding: 2rem .25rem 1rem;
    overflow-wrap: anywhere;
    border-top: .0625rem solid var(--line);
    margin-top: 1rem
}

.foot .small {
    font-family: var(--sans)
}

.foot .sponsor {
    font-size: 1rem;
    color: var(--ink);
    margin: 0 0 .75rem
}

.foot .sponsor a {
    font-weight: 600
}

@media (max-width: 37.5rem) {
    .topbar {
        min-height: 5rem
    }

    .report-brand {
        font-size: 1.375rem
    }

    .report-link {
        font-size: .75rem;
        padding: .625rem .875rem
    }

    .hero {
        padding: 2rem 1.5rem
    }

    .toc {
        gap: .375rem 1rem;
        padding-top: 1rem
    }

    .chapter {
        padding: 1.5rem
    }

    h2 {
        gap: .75rem
    }

    h2 .num {
        min-width: 1.5rem;
        height: 1.5rem;
        transform: translateY(-.15rem)
    }

    .filterbar {
        position: static
    }

    .bh, .ctl {
        min-width: 0
    }

    .ctl {
        display: flex;
        flex-wrap: wrap;
        gap: .5rem;
        max-width: 100%
    }

    input[type=search] {
        width: 100%;
        min-width: 0
    }

    .cards, .caveats, .grid-sm {
        grid-template-columns:minmax(0, 1fr)
    }

    .award, .finding {
        padding: 1.25rem
    }

    .panel-block {
        scroll-margin-top: 1rem
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto
    }
}

@media print {
    @page {
        size: A4;
        margin: 14mm 12mm
    }

    body {
        background: var(--card);
        font-size: 11pt
    }

    .wrap {
        width: 100%;
        max-width: none;
        padding: 0
    }

    main {
        display: block
    }

    .topbar, .skip-link {
        display: none
    }

    .hero {
        padding: 0;
        background: var(--card);
        color: var(--ink)
    }

    h1 {
        font-size: 28pt
    }

    .hero .meta {
        color: var(--mute);
        border: 0
    }

    .eyebrow {
        padding: 0;
        background: none
    }

    .chapter, #why, #method, #glance, #found, #conclude, #sure, #contribute, #updates {
        background: var(--card);
        color: var(--ink)
    }

    .chapter {
        --mute: #53616a;
        --line: #d5d7ce;
        --link: #17384d
    }

    h2 {
        font-size: 22pt
    }

    .masthead {
        padding: 0 0 .625rem;
        border: 0
    }

    .toc, .filterbar, #browser, .ctl, #tip, .more {
        display: none !important
    }

    .chapter {
        border: 0;
        padding: .75rem 0
    }

    #method, #found, #tested, #sure, #explore, #contribute, #updates {
        break-before: page
    }

    .finding, .panel-block, .panel, .caveat, .award {
        break-inside: avoid;
        box-shadow: none
    }

    .findings {
        grid-template-columns:1fr 1fr;
        gap: .625rem
    }

    .tbl-wrap {
        overflow: visible;
        max-height: none
    }

    a {
        color: inherit;
        text-decoration: none
    }

    .finding .go {
        display: none
    }

    * {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact
    }
}

/* Model detail pages share the report blocks and response renderer. */
.model-tag {
    overflow-wrap: anywhere;
    font-size: .875rem
}

.model-page .cards {
    grid-template-columns: minmax(0, 1fr)
}

.model-page #model-summary {
    margin-bottom: 2rem
}

.model-page #model-info p {
    margin-bottom: .75rem
}

.model-page #model-info {
    grid-template-columns: repeat(2, minmax(0, 1fr))
}

@media (max-width: 53.75rem) {
    .model-page #model-info {
        grid-template-columns: minmax(0, 1fr)
    }
}

.model-destinations {
    display: grid;
    gap: .75rem;
    padding-left: 1.5rem
}

.answer-link {
    color: inherit;
    display: inline-block;
    min-width: 1.5em
}

.model-page [hidden] {
    display: none !important
}

/* Language report components share the dashboard palette. */
#multilingual fieldset {border: 1px solid var(--border, #ddd); margin: 1.5rem 0; padding: 1rem}
#multilingual fieldset label {display: inline-flex; align-items: center; gap: .4rem; margin: .35rem 1rem .35rem 0}
#multilingual table {width: 100%; border-collapse: collapse; font-size: .875rem}
#multilingual th, #multilingual td {padding: .65rem; text-align: left; border-bottom: 1px solid #ddd; vertical-align: top}
#multilingual th {font-weight: 600}
#multilingual .ml-findings {display: grid; gap: .5rem; margin: 1rem 0}
#multilingual .ml-findings p {margin: 0; padding: .75rem; border-left: 3px solid #547b8c}
#multilingual .ml-cards {display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 1rem; margin: 1rem 0 2rem}
#multilingual .ml-card {padding: 1rem; background: #f4f3ef; color: #17384d; overflow-wrap: anywhere}
#multilingual pre {white-space: pre-wrap; overflow-wrap: anywhere; font-size: .8rem}
#multilingual select {max-width: 100%; padding: .5rem}
#multilingual .ml-muted {color: #666; font-size: .875rem}
#multilingual details {margin: .75rem 0}
#multilingual summary {cursor: pointer}
#multilingual .ml-shared {font-weight: 600}
@media(max-width: 800px) {#multilingual .ml-cards {grid-template-columns: 1fr}}

.hero {color: var(--ink); border: 1px solid var(--line)}
.hero .eyebrow {color: var(--accent); background: transparent; padding-left: 0}
.hero .lede {color: var(--mute)}
#conclude {color: var(--ink); --link: var(--accent)}
#conclude .award {color: var(--ink); background: var(--card)}
.chapter {border: 1px solid var(--line)}
.eyebrow {background: transparent; color: var(--accent); padding-left: 0}
h1,h2,h3,h4 {font-weight: 500; letter-spacing: -.035em}
:focus-visible {outline-color: var(--accent)}
input[type=checkbox] {accent-color: var(--accent)}
.flag-bad {background: #442d30}
.flag-warn,.pill.part,.preview {background: #3d3424; color: #f0ce94; border-color: #7d653c}
.chip,.btn,.card,.qhead,.qitem,.resp {color: var(--ink)}
.chip,.btn {background: var(--card)}
.qitem.sel {background: var(--panel-2)}
.recommendation {border-top-color: var(--accent)}
#multilingual fieldset,#multilingual td,#multilingual th {border-color: var(--line)}
#multilingual .ml-card {background: var(--panel-2); color: var(--ink); border: 1px solid var(--line); border-radius: 10px}
#multilingual .ml-muted {color: var(--mute)}
#multilingual .ml-findings p {border-left-color: var(--accent)}

/* A model page explains one model's results, with comparisons on the dashboard. */
.model-language .ml-section-head {display:flex; justify-content:space-between; align-items:flex-start; gap:2rem}
.model-language .ml-section-head>div {max-width:48rem; min-width:0}
.model-language .ml-section-head .eyebrow {padding:0; margin:0 0 .75rem}
.model-language .ml-section-head h2 {margin-bottom:1rem}
.model-language .ml-section-head p {margin-bottom:1rem}
.model-language #ml-compare {flex-shrink:0; text-align:center; margin-top:.25rem; text-decoration:none}
.model-language #ml-summary {grid-template-columns:repeat(3,minmax(0,1fr)); margin:1.5rem 0 1rem}
.model-language #ml-summary .award {min-width:0; background:var(--panel-2)}
.model-language #ml-summary .aw-v {font-variant-numeric:tabular-nums}
.model-language #ml-summary .ml-muted {font-size:.8125rem; line-height:1.5; margin-bottom:0}
.model-language #ml-coverage {max-width:65rem}
.model-language #ml-pairs td:first-child {width:40%}
.model-language .ml-pair-rate {display:grid; grid-template-columns:minmax(3rem,12rem) 4rem; align-items:center; gap:1rem; font-variant-numeric:tabular-nums}
.model-language .ml-rate-track {height:.5rem; border-radius:1rem; overflow:hidden; background:var(--line)}
.model-language .ml-rate-track>span {display:block; height:100%; background:var(--accent)}
.model-language .ml-method {padding:1rem 0; border-block:1px solid var(--line); margin-top:2rem}
.model-language .ml-method>summary {font-weight:500}
.model-language .ml-method p {max-width:65rem}
.model-language .ml-response-head {margin-top:2.5rem}
.model-language .ml-question-controls {display:flex; flex-wrap:wrap; align-items:flex-end; gap:1rem; margin-top:1.5rem}
.model-language .ml-question-controls label {display:flex; flex-direction:column; gap:.375rem; min-width:0; font-size:.8125rem}
.model-language .ml-question-picker {flex:1; min-width:min(100%,18rem)!important}
.model-language #ml-concept {width:100%}
.model-language .ml-question-nav {display:flex; gap:.5rem}
.model-language button:disabled {opacity:.45; cursor:default}
.model-language .ml-cards {align-items:start}
.model-language .ml-card h4 {margin:0 0 1rem; font-size:1.125rem}
.model-language .ml-statement {line-height:1.6; margin:0 0 1.5rem}
.model-language .ml-position {border-top:1px solid var(--line); padding-top:1rem; margin:0 0 .75rem}
.model-language .ml-position>span {display:block; color:var(--mute); font-size:.75rem; margin-bottom:.25rem}
.model-language .ml-position>strong {font-size:1.375rem; font-weight:500}
.model-language .ml-option-map {font-size:.75rem; line-height:1.6; color:var(--mute)}
.model-language .ml-sample {border-top:1px solid var(--line); padding-top:.75rem}
.model-language .ml-sample summary {font-size:.8125rem; line-height:1.6}
.model-language .ml-sample pre {margin-bottom:0}
@media(max-width:800px) {
 .model-language .ml-section-head {flex-direction:column; gap:.25rem}
 .model-language #ml-summary {grid-template-columns:1fr}
 .model-language .ml-question-controls {align-items:stretch}
 .model-language .ml-question-controls label {flex-basis:100%}
 .model-language .ml-question-nav {justify-content:space-between; width:100%}
 .model-language .ml-pair-rate {grid-template-columns:1fr; gap:.5rem}
 .model-language #ml-pairs td:first-child {width:auto}
}
.sample-answer {flex:1 0 220px; padding:8px; border:1px solid var(--line)}
.sample-answer.majority {border:2px solid var(--accent); background:var(--panel-2)}
#tested-questions {margin-top:2rem}
#tested-questions>summary {font-size:1.4rem; font-weight:500; cursor:pointer}
#tested-questions[open]>.tbl-wrap {margin-top:1rem}

@scope (.version-page, .language-decision) {
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82px}body{margin:0;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,select,a{-webkit-tap-highlight-color:transparent}button,select{color:inherit}button{cursor:pointer}a{color:inherit;text-underline-offset:4px}a:hover{color:var(--accent)}:focus-visible{outline:3px solid var(--blue);outline-offset:4px}[hidden]{display:none!important}button:hover{filter:brightness(1.15)}.container{width:min(1240px,calc(100% - 96px));margin-inline:auto}.logo{width:126px;height:auto;display:block}.skip{position:fixed;top:-100px;left:16px;z-index:100;padding:12px;background:var(--panel)}.skip:focus{top:8px}.designbar{position:sticky;top:0;z-index:20;background:#1a211c;color:#c7d1c7;border-bottom:1px solid #3a453b;font-size:11px;letter-spacing:.02em}.designbar>.container{display:flex;justify-content:space-between;align-items:center;min-height:42px;gap:20px}.designbar nav{display:flex;gap:24px}.designbar a{text-decoration:none;padding-block:10px}.designbar a[aria-current]{color:#dcf3b3;border-bottom:2px solid var(--accent)}.site-header{display:flex;justify-content:space-between;align-items:center;height:95px}.site-header nav{display:flex;align-items:center;gap:30px;font-size:12px}.site-header a{text-decoration:none}.contact{background:linear-gradient(100deg,#079bb6,#2067dd);padding:11px 18px;border-radius:6px;color:#fff!important}.eyebrow{display:block;font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;line-height:1.6;color:var(--accent);margin:0 0 24px}.hero{padding-top:66px;padding-bottom:72px;display:grid;grid-template-columns:1.18fr 1fr;gap:80px;align-items:center}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(38px,4.4vw,68px);line-height:1.08;letter-spacing:-.055em;font-weight:500;margin-bottom:28px}h1 em{font-style:normal;color:var(--accent)}h2{font-size:clamp(26px,2.8vw,40px);line-height:1.18;font-weight:500;letter-spacing:-.04em;margin-bottom:16px}h3{font-size:21px;line-height:1.35;font-weight:500;letter-spacing:-.025em}.intro{font-size:17px;color:var(--muted);line-height:1.7;max-width:640px}.actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;padding:13px 21px;background:var(--accent);border:1px solid var(--accent);border-radius:6px;color:#142014;font-size:12px;font-weight:600;text-decoration:none;line-height:1.5}.button:hover{color:#142014;filter:brightness(1.07)}.button.secondary{border-color:var(--line);background:transparent;color:var(--ink)}.hero-stat{padding:34px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.hero-stat .eyebrow{margin-bottom:18px}.range{font-size:clamp(40px,4.5vw,66px);letter-spacing:-.06em;line-height:1.2;font-weight:500;color:var(--accent);font-variant-numeric:tabular-nums}.range>span{font-size:19px;letter-spacing:0;padding:0 8px;color:var(--muted)}.hero-stat>p:not(.eyebrow):not(.fine){font-size:18px;color:var(--ink);margin:20px 0}.mini-compare{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px 0;margin-bottom:20px}.mini-compare>div{display:flex;justify-content:space-between;font-size:12px;margin:6px 0}.fine{font-size:11px;line-height:1.7;color:var(--muted);margin:14px 0 0}.scope{display:flex;gap:38px;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;font-size:11px;color:var(--muted)}.scope b{font-size:17px;color:var(--ink);font-weight:500;margin-right:5px}.scope span:last-child{margin-left:auto;align-self:center}.section{padding-block:72px}.section-head{display:grid;grid-template-columns:1.4fr 1fr;gap:80px;align-items:end;margin-bottom:32px}.section-head .eyebrow{margin-bottom:13px}.section-head h2{margin:0;max-width:700px}.section-head>p{font-size:13px;color:var(--muted);margin:0;max-width:420px}.takeaways{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding-top:20px}.takeaways article{padding:20px 0 0;border-top:1px solid var(--line)}.number{font-size:11px;color:var(--accent);display:block;margin-bottom:24px}.takeaways h3{font-size:22px;max-width:320px}.takeaways p{font-size:13px;color:var(--muted);margin-bottom:0}.comparison-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:28px 32px}.controls{display:flex;justify-content:space-between;align-items:end;gap:20px;border-bottom:1px solid var(--line);padding-bottom:24px}.controls fieldset{padding:0;border:0;margin:0;min-width:0}.controls legend,label{font-size:11px;font-weight:500;color:var(--muted);margin-bottom:9px}.segmented{display:flex;flex-wrap:wrap;gap:5px}.segmented button{border:1px solid transparent;border-radius:5px;padding:9px 11px;background:transparent;font-size:11px;color:var(--muted)}.segmented button[aria-pressed=true]{background:var(--panel-2);color:var(--ink);border-color:var(--line)}select{display:block;max-width:100%;background:var(--panel-2);border:1px solid var(--line);border-radius:5px;padding:10px 30px 10px 11px;min-height:40px;font-size:12px;cursor:pointer}label{display:block;margin:0}.controls label{min-width:170px}.chart-caption{font-size:11px;color:var(--muted);margin:24px 0 18px}.chart-axis,.chart-row{display:grid;grid-template-columns:205px minmax(0,1fr) 64px;gap:20px;align-items:center}.chart-axis{font-size:10px;color:var(--muted);margin-bottom:10px}.chart-axis>div{display:flex;justify-content:space-between}.chart-axis>span:last-child{text-align:right}.chart-row{padding:10px 0;border-bottom:1px solid color-mix(in srgb,var(--line),transparent 60%);min-height:43px}.model-drill{font-size:12px;line-height:1.4;border:0;padding:3px 0;background:transparent;text-align:left;color:var(--ink);display:flex;align-items:center;gap:10px}.model-drill>span{color:var(--muted);font-size:10px}.model-drill:hover{color:var(--accent)}.track{display:flex;height:12px;background:color-mix(in srgb,var(--line),transparent 75%);border-radius:2px;overflow:hidden}.bar{display:block;height:100%}.rev,.key.reversal{background:var(--rev)}.neither,.key.neutral{background:var(--mint)}.chart-row>b{font-size:12px;text-align:right;font-weight:500;font-variant-numeric:tabular-nums}.chart-legend{display:flex;flex-wrap:wrap;gap:24px;margin-top:22px;font-size:10px;color:var(--muted)}.chart-legend>span{display:flex;align-items:center;gap:7px}.chart-legend>span:last-child{margin-left:auto}.key{display:inline-block;height:8px;width:14px;border-radius:1px}.interpretation{font-size:11px;color:var(--muted);max-width:900px;margin:18px 0 0}.table-scroll{overflow-x:auto;margin-block:18px}table{border-collapse:collapse;min-width:680px;width:100%;font-size:11px;text-align:left}th,td{padding:15px 13px;border-bottom:1px solid var(--line);vertical-align:top}thead th{color:var(--muted);font-weight:500}tbody th{font-weight:500}td{font-variant-numeric:tabular-nums}td:not(:first-child){white-space:nowrap}th:first-child,td:first-child{padding-left:0}table a{text-decoration:none}.text-button{font-size:11px;color:var(--accent);background:transparent;border:0;padding:0;text-decoration:underline;text-underline-offset:4px}details{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}summary{font-size:12px;font-weight:500;cursor:pointer;padding:3px 0}details>p,.method-copy p{font-size:12px;color:var(--muted);max-width:920px;margin-top:20px}.experiment-panel{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--panel)}.experiment-controls{display:flex;gap:16px;padding:24px 28px;border-bottom:1px solid var(--line);align-items:end}.experiment-controls label:first-child{width:230px}.experiment-controls select{width:100%;margin-top:7px}.concept-control{flex:1;min-width:0}.next{padding:11px 0;background:transparent;border:0;color:var(--accent);font-size:11px;white-space:nowrap}.example-status{display:flex;align-items:center;gap:16px;padding:24px 28px;font-size:11px;color:var(--muted)}.status-pill{border:1px solid var(--line);border-radius:20px;padding:4px 10px;color:var(--mint);white-space:nowrap}.status-pill.changed{color:var(--rev);border-color:color-mix(in srgb,var(--rev),transparent 65%)}.language-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:0 28px 28px}.language-cards article{display:flex;flex-direction:column;padding:12px 24px 0;border-right:1px solid var(--line);min-width:0}.language-cards article:first-child{padding-left:0}.language-cards article:last-child{padding-right:0;border:0}.lang-label{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin-bottom:22px}.lang-label b{font-size:9px;color:var(--muted);border:1px solid var(--line);padding:2px 6px;border-radius:4px}.statement{font-size:17px;line-height:1.6;letter-spacing:-.02em;margin-bottom:28px}.position{margin-top:auto;padding-top:18px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:6px}.position>span{font-size:10px;color:var(--muted)}.position strong{font-size:22px;font-weight:500}.support strong{color:var(--mint)}.oppose strong{color:var(--rev)}.neither strong{color:var(--ink)}.position.neither{background:transparent}.example-foot{padding:20px 28px;background:var(--panel-2);display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:10px;color:var(--muted)}.example-foot p{margin:0;max-width:620px}.example-foot>a{max-width:300px;text-align:right}.context-band{background:#101813;border-block:1px solid var(--line)}.context-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-top:42px}.context-grid article{border-left:1px solid var(--line);padding-left:24px}.context-grid .eyebrow{margin-bottom:12px}.context-grid h3{font-size:23px}.context-grid p:not(.eyebrow){font-size:12px;color:var(--muted)}.context-grid b{color:var(--ink);font-weight:500}.context-note{padding-top:16px;border-top:1px solid var(--line)}.inline-link{display:inline-block;font-size:11px;margin-top:30px}.supporting>details{margin-top:0;padding-block:22px}.supporting>h2{margin-bottom:30px}.hash{overflow-wrap:anywhere}.cta{border:1px solid var(--line);border-radius:var(--radius);padding:32px;margin-top:60px;display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--panel)}.cta h2{font-size:27px;margin-bottom:8px}.cta p{font-size:12px;color:var(--muted);margin:0}.cta .button{white-space:nowrap}footer{border-top:1px solid var(--line);padding-block:42px;display:flex;justify-content:space-between;gap:40px;color:var(--muted);font-size:11px}footer>div:last-child{text-align:right}footer p{margin:15px 0}footer .logo{width:100px}footer a{font-size:11px}.picker .container{padding-top:60px;padding-bottom:60px}.picker .eyebrow{margin-top:80px}.picker h1{max-width:800px}.directions{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-block:50px}.direction{display:block;text-decoration:none;border:1px solid var(--line);border-radius:var(--radius);padding:30px;background:var(--panel)}.direction:hover{border-color:var(--accent)}.direction>span{font-size:12px;color:var(--accent)}.direction h2{font-size:28px;margin:45px 0 20px}.direction p{font-size:13px;color:var(--muted)}.direction strong{display:block;margin-top:36px;font-size:12px;font-weight:500;color:var(--accent)}
.decision h1{font-weight:600}.decision .designbar{background:#18242b}.decision .decision-hero{grid-template-columns:1.6fr .65fr;gap:60px;padding-bottom:40px}.decision h1{font-size:clamp(38px,4.2vw,62px)}.decision-note{border-left:2px solid var(--accent);padding-left:28px}.decision-note .eyebrow{margin-bottom:14px}.decision-note>p{font-size:25px;line-height:1.3;letter-spacing:-.025em}.decision-note>span:last-child{font-size:12px;color:var(--muted)}.candidate-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}.candidate-grid article{padding:24px;background:var(--panel);border:1px solid var(--line);border-radius:10px}.candidate-grid .eyebrow{font-size:9px;margin-bottom:20px;min-height:30px}.candidate-grid h3{font-size:23px}.candidate-grid h3>a{text-decoration:none}.candidate-grid article>p:not(.fine){font-size:11px;color:var(--muted);min-height:36px}.candidate-rate{display:flex;align-items:center;gap:12px;margin-top:20px;border-top:1px solid var(--line);padding-top:18px}.candidate-rate b{font-size:32px;line-height:1;letter-spacing:-.035em;font-weight:500}.candidate-rate span{font-size:10px;color:var(--muted);max-width:100px}.decision .section{padding-block:62px}.decision .context-band{background:#101a1e}.decision .comparison-panel{border-radius:10px}.decision .context-grid{gap:35px}
.explorer .explorer-hero{grid-template-columns:1.1fr 1fr;gap:100px;padding-top:55px;padding-bottom:44px}.explorer h1{font-weight:500;font-size:clamp(44px,5.2vw,76px)}.explorer-summary{font-size:12px;color:var(--muted);border-left:2px solid var(--accent);padding-left:18px;margin:26px 0}.explorer-summary b{font-weight:500;color:var(--ink)}.explorer #experiment{padding-top:44px}.explorer #experiment .section-head{margin-bottom:24px}.explorer #experiment h2{font-size:26px}.explorer .statement{font-size:19px}.explorer .language-cards article{min-height:260px}.explorer .context-band{background:#111c12}
@media(min-width:1500px){h1{font-size:70px}.hero{padding-top:80px;padding-bottom:85px}}
@media(max-width:1050px){.container{width:calc(100% - 56px)}.hero{gap:36px;grid-template-columns:1.2fr 1fr}h1{font-size:49px}.hero-stat{padding:25px}.range{font-size:43px!important}.range>span{font-size:14px;padding:0 4px}.section-head{gap:40px}.controls{align-items:start;flex-direction:column}.controls label{display:flex;align-items:center;gap:14px}.chart-axis,.chart-row{grid-template-columns:180px minmax(0,1fr) 55px;gap:14px}.experiment-controls{flex-wrap:wrap}.experiment-controls label:first-child{width:200px}.next{padding:0}.takeaways{gap:24px}.context-grid{gap:24px}.scope{gap:24px}.explorer .explorer-hero{gap:50px}.candidate-grid{gap:12px}.candidate-grid article{padding:20px}.candidate-grid h3{font-size:20px}.candidate-rate b{font-size:28px}}
@media(max-width:720px){html{scroll-padding-top:105px}.container{width:calc(100% - 36px)}.designbar>.container{gap:8px;flex-wrap:wrap;padding-block:8px}.designbar nav{gap:19px}.designbar a{padding-block:4px}.site-header{height:80px}.site-header .logo{width:105px}.site-header nav{gap:15px}.site-header nav>a:not(.contact){display:none}.site-header .contact{padding:9px 12px;font-size:11px}.hero,.decision .decision-hero,.explorer .explorer-hero{grid-template-columns:1fr;gap:32px;padding-block:35px 40px}.eyebrow{font-size:9px;margin-bottom:20px}h1,.editorial h1,.decision h1,.explorer h1{font-size:44px;letter-spacing:-.045em}.intro{font-size:15px;line-height:1.65}.actions{margin-top:24px;gap:10px}.button{font-size:11px;padding:12px 16px}.hero-stat{padding:25px}.range{font-size:49px!important}.hero-stat .fine{max-width:400px}.scope{gap:12px 20px;padding-block:16px}.scope b{font-size:15px}.scope span:last-child{margin-left:0;flex-basis:100%;font-size:10px}.section,.editorial .section,.decision .section{padding-block:44px}.section-head{grid-template-columns:1fr;gap:15px;margin-bottom:25px}.section-head>p{font-size:12px;max-width:none}h2{font-size:29px}.takeaways,.context-grid,.candidate-grid,.directions{grid-template-columns:1fr;gap:24px}.takeaways article{padding-top:18px}.takeaways h3{font-size:23px;max-width:none;margin-bottom:12px}.number{margin-bottom:14px}.comparison-panel{padding:20px 15px;border-radius:10px}.controls{gap:18px;padding-bottom:20px}.controls legend{margin-bottom:8px}.segmented{gap:3px}.segmented button{font-size:10px;padding:8px}.controls label{font-size:10px}.controls select{font-size:11px}.chart-caption{font-size:10px;line-height:1.7;margin-top:18px}.chart-axis,.chart-row{grid-template-columns:124px minmax(0,1fr) 42px;gap:8px}.chart-axis{font-size:8px}.model-drill{font-size:10px;gap:3px}.model-drill>span{display:none}.chart-row>b{font-size:10px}.track{height:11px}.chart-row{padding:10px 0}.chart-legend{gap:10px;font-size:9px}.chart-legend>span:last-child{flex-basis:100%;margin-left:0}.fine,.interpretation{font-size:10px}.experiment-controls{padding:18px;gap:16px}.experiment-controls label:first-child{width:100%}.concept-control{flex-basis:100%}.experiment-controls select{font-size:11px}.example-status{padding:20px 18px;flex-wrap:wrap;gap:10px}.language-cards{grid-template-columns:1fr;padding:0 18px 18px}.language-cards article,.language-cards article:first-child,.language-cards article:last-child{padding:20px 0;border:0;border-bottom:1px solid var(--line);min-height:0}.language-cards article:last-child{border:0}.lang-label{margin-bottom:15px}.statement,.explorer .statement{font-size:17px;margin-bottom:18px}.position{flex-direction:row;align-items:center;justify-content:space-between;padding-top:12px;gap:15px}.position strong{font-size:21px}.example-foot{display:block;padding:18px}.example-foot>a{display:block;text-align:left;margin-top:14px}.context-grid{margin-top:30px}.context-grid article{padding-left:18px}.context-grid h3{font-size:24px}.cta{padding:25px;flex-direction:column;align-items:start;margin-top:36px}.cta h2{font-size:26px}.cta p{font-size:12px}.supporting>details{padding-block:20px}.method-copy p,details>p{font-size:12px}.decision-note{padding-left:20px}.decision-note>p{font-size:24px;margin-bottom:10px}.candidate-grid{gap:12px;margin-top:22px}.candidate-grid .eyebrow{min-height:0;margin-bottom:12px}.candidate-grid article>p:not(.fine){min-height:0}.candidate-grid h3{font-size:24px}.candidate-rate{margin-top:16px}.candidate-rate b{font-size:36px}.candidate-grid .fine{font-size:11px}.explorer #experiment{padding-top:35px}.explorer .language-cards article{min-height:0}.explorer .explorer-hero{gap:0}.explorer-summary{margin-block:20px}.picker .container{padding-top:36px}.picker .eyebrow{margin-top:50px}.picker h1{font-size:43px}.direction h2{margin-top:25px}.directions{margin-block:35px}.direction{padding:25px}.direction strong{margin-top:25px}footer{flex-direction:column;gap:22px;padding-block:30px}footer>div:last-child{text-align:left}footer .logo{width:105px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

}

.version-page main {display:block; padding:0}
.version-page .hero {background:transparent; border:0; border-radius:0}
.version-page .hero-stat {background:var(--card)}
.version-page .hero .eyebrow {padding:0}
.version-page .eyebrow,.language-decision .eyebrow {padding:0; border-radius:0}
.version-page .section,.language-decision .section {display:block}
.version-page .section-head h2,.language-decision .section-head h2 {display:block}
.version-page .context-band {background:var(--panel)}
.language-decision {margin-block:3rem; min-width:0}
.language-decision .candidate-grid {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:24px 0}
.language-decision .candidate-grid article {padding:24px; border:1px solid var(--line); border-radius:10px; background:var(--card); min-width:0}
.language-decision .candidate-grid h3 {font-size:22px; margin:12px 0}
.language-decision .candidate-grid .eyebrow {min-height:30px; margin:0}
.language-decision .candidate-rate {display:flex; align-items:center; gap:12px; border-top:1px solid var(--line); padding-top:16px}
.language-decision .candidate-rate b {font-size:30px; font-weight:500}
.language-decision .candidate-rate span {font-size:11px; color:var(--mute)}
.language-decision .decision-pair {min-width:220px}
.language-decision .finnish-story {margin:32px 0; padding:24px; background:var(--panel-2); border-left:3px solid var(--accent); border-radius:8px}
.language-decision .finnish-story h3 {margin-top:0}
.language-decision .story-metrics {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-block:20px}
.language-decision .story-metrics b {display:block; font-size:28px; font-weight:500}
.language-decision .story-metrics span {font-size:11px; color:var(--mute)}
.language-decision #decision-chart .chart-row {grid-template-columns:205px minmax(0,1fr) 64px}
.language-decision .language-cards {grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:16px}
.language-decision .language-cards article,
.language-decision .language-cards article:first-child,
.language-decision .language-cards article:last-child {padding:16px; border:1px solid var(--line); border-radius:8px}
.language-decision .experiment-controls label:first-child {width:240px}
.language-decision .experiment-panel {margin-top:32px}
.language-decision .chart-legend {margin-bottom:20px}
@media(max-width:800px) {
 .language-decision .candidate-grid,.language-decision .story-metrics {grid-template-columns:1fr}
 .language-decision .candidate-grid .eyebrow {min-height:0}
 .language-decision #decision-chart .chart-row {grid-template-columns:124px minmax(0,1fr) 42px}
 .language-decision .experiment-controls label:first-child {width:100%}
 .language-decision .language-cards {grid-template-columns:1fr}
}
@media print {body {color:#111; background:#fff} .chapter {background:#fff; color:#111}}
@scope (.version-page) {
 .direction-preview {width:calc(100% + 60px); max-width:none; margin:-30px -30px 25px; display:block; border-bottom:1px solid var(--line); border-radius:var(--radius) var(--radius) 0 0; aspect-ratio:1.65; object-fit:cover; object-position:top}
 .direction:has(.direction-preview)>h2 {margin-top:25px}
 @media(max-width:720px) {.direction-preview {width:calc(100% + 50px); margin:-25px -25px 20px}}
}
