/* Guides: one reading column, sources next to claims, interactive code inline. */
.article { width: min(100% - 2 * var(--gutter), var(--text)); margin: clamp(20px, 5vw, 56px) auto 0; }
.crumbs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 20px; padding: 0; list-style: none; font-size: 15px; color: var(--sec); }
.crumbs li + li::before { content: "/"; margin-right: 8px; color: var(--ter); }
.article h1 { font-size: clamp(38px, 6vw, 60px); font-weight: 700; letter-spacing: -0.03em; line-height: 1.04; }
.article .lede { margin-top: 20px; }
.byline { margin: 18px 0 0; font-size: 15px; color: var(--sec); }
.article h2 { margin-top: 64px; font-size: clamp(28px, 3.4vw, 36px); scroll-margin-top: 24px; }
.article h3 { margin-top: 36px; }
.article p, .article li { color: var(--ink); }
.article p { margin: 16px 0 0; }
.article ul, .article ol { margin: 16px 0 0; padding-left: 24px; }
.article li + li { margin-top: 8px; }
.article .src { color: var(--sec); font-size: 15px; }
.answer { margin-top: 32px; padding: 22px 24px; border-radius: 20px; background: var(--tile); }
.answer p:first-child { margin-top: 0; }

/* Chart: tap a tile to hear it */
.article .chart { display: grid; grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)); gap: 8px; margin: 24px 0 0; padding: 0; list-style: none; }
.chart .code { --u: 5px; }
.article .chart li { margin: 0; }
.chart .tile { width: 100%; min-height: 104px; }
.chart .say { font-size: 13px; line-height: 1.2; color: var(--sec); }
.chart .tile.on .say { color: var(--on-y); }
.article .chart.digits { grid-template-columns: repeat(auto-fill, minmax(116px, 1fr)); }
.article .chart.wide { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
.chart .name { font-size: 15px; font-weight: 600; }

.table { width: 100%; margin-top: 24px; border-collapse: collapse; font-size: 16px; }
.table th, .table td { padding: 12px 10px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; }
.table th { font-size: 15px; color: var(--sec); font-weight: 600; }
.table-scroll { overflow-x: auto; }

/* Signal widget: capsule, lamp and the two ways to play */
.signal { display: grid; gap: 18px; justify-items: start; margin: 28px 0 0; padding: 24px; border-radius: var(--r-panel); background: var(--panel); box-shadow: var(--shadow); }
.signal .row { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.signal .cap .seq { --u: 10px; }
.signal .cap .code i { opacity: 1; }
.signal.playing .cap .code i { opacity: 0.32; }
.signal.playing .cap .code i.lit { opacity: 1; }
.signal .hint { margin: 0; font-size: 15px; color: var(--sec); }

.cta { display: grid; gap: 16px; justify-items: start; margin-top: 72px; padding: 28px; border-radius: var(--r-panel); background: var(--tile); }
.cta h2 { margin: 0; font-size: 28px; }
.cta p { margin: 0; color: var(--sec); }
.cta .row { display: flex; flex-wrap: wrap; gap: 10px; }

.related { margin-top: 64px; }
.related h2 { font-size: 24px; margin: 0 0 8px; }
.related ul { list-style: none; padding: 0; }
.sources { margin-top: 64px; padding-top: 24px; border-top: 1px solid var(--line); font-size: 15px; color: var(--sec); }
.sources h2 { margin: 0; font-size: 20px; color: var(--ink); }
.sources li { color: var(--sec); }

.legal h2 { font-size: 26px; }
.analytics-control { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin-top: 20px; padding: 16px 18px; border-radius: 18px; background: var(--tile); }
.analytics-control p { margin: 0; }
.article code { font-size: 0.9em; }
.code.inline { --u: 5px; height: 1em; margin: 0 2px; vertical-align: -0.12em; }

/* Lesson order: pairs of letters with their codes */
.article .pairs { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0 0; padding: 0; list-style: none; }
.article .pairs li { margin: 0; }
.pair { display: inline-flex; gap: 14px; padding: 10px 14px; border-radius: var(--r-tile); background: var(--tile); }
.pair-ch { display: grid; justify-items: center; gap: 8px; }
.pair-ch b { font-size: 24px; line-height: 1; font-weight: 300; font-feature-settings: "ss06" 1; }
.pair .code { --u: 5px; }
