@layer corpus {
/* The frontier: a readable observatory for possibilities, evidence, and next moves. */
.frontier-section {
  --ft-ink: #f0edf9;
  --ft-copy: #c8cbdf;
  --ft-muted: #afb5d0;
  --ft-ice: #b5e2ee;
  --ft-lilac: #d4bafa;
  --ft-line: #c2c6ec2b;
  --ft-surface: #11192df0;
  position: relative;
  padding: 60px 24px 88px;
  scroll-margin-top: 0;
  color: var(--ft-ink);
  background: radial-gradient(ellipse 64% 35% at 25% 35%, #2343651b, transparent 78%), radial-gradient(ellipse 60% 38% at 90% 72%, #51416f1d, transparent 76%);
}
.ft-wrap { width: min(1240px, 100%); margin: 0 auto; min-width: 0; }
.ft-heading { max-width: 810px; margin: 0 auto 46px; text-align: center; }
.ft-eyebrow { margin: 0 0 15px; font: 500 12px/1.65 var(--mono); letter-spacing: .105em; color: var(--ft-ice); }
.ft-heading h2 { margin: 0 0 23px; font: 550 clamp(38px, 5.4vw, 67px)/1.09 var(--voice); letter-spacing: -.046em; text-wrap: balance; background: linear-gradient(120deg, #f3edf9 8%, #d8bdf5 54%, #b5e1ef); background-clip: text; -webkit-background-clip: text; color: transparent; }
.ft-lead { max-width: 660px; margin: 0 auto; color: var(--ft-copy); font-size: 17px; line-height: 1.8; text-wrap: pretty; }
.ft-filters { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 9px; margin: 0 0 20px; }
.ft-filter { appearance: none; min-height: 44px; padding: 10px 17px; font: 500 12px/1.5 var(--voice); color: #c4c8df; border: 1px solid #b6c4e62b; border-radius: 15px; background: #151c315c; cursor: pointer; transition: border-color .18s ease, background .18s ease, color .18s ease; }
.ft-filter:hover { color: #e5e9fa; background: #27344b70; border-color: #bbd2eb5c; }
.ft-filter[aria-pressed=true] { color: #d5f0f5; border-color: #a7dbe47c; background: linear-gradient(135deg, #4560794a, #2b3d5545); box-shadow: inset 0 1px 0 #ffffff14; }
.ft-search { display: block; width: min(100%, 480px); min-height: 48px; margin: 0 auto 30px; padding: 12px 16px; border: 1px solid #bac3e538; border-radius: 15px; background: #0e162b; color: var(--ft-ink); font: 400 14px/1.6 var(--voice); }
.ft-search::placeholder { color:#c3c5db; opacity: 1; }
.ft-search:focus { outline: 2px solid #a7dbe4; outline-offset: 3px; }
.ft-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 17px; align-items: stretch; }
.ft-card { appearance: none; position: relative; display: flex; flex-direction: column; min-width: 0; min-height: 322px; padding: 23px 24px 22px; text-align: left; color: var(--ft-ink); border: 1px solid var(--ft-line); border-radius: 25px; background: linear-gradient(145deg, #24233ae8, #11192def 64%); box-shadow: inset 0 1px 0 #ffffff09, 0 18px 35px -28px #020615; cursor: pointer; overflow: hidden; isolation: isolate; transition: transform .2s ease, border-color .2s ease, background .2s ease; }
.ft-card::before { content: ''; position: absolute; top: 0; left: 24px; right: 24px; height: 1px; background: linear-gradient(90deg, transparent, #d4e7ff45, #d1bdf149, transparent); pointer-events: none; }
.ft-card:hover { border-color: #bad2ea69; background: linear-gradient(145deg, #2b2a44, #172038 64%); transform: translateY(-2px); }
.ft-card[aria-pressed=true], .ft-card[aria-selected=true] { border-color: #c5b1f293; background: linear-gradient(145deg, #382d4dc9, #162039f2 70%); box-shadow: inset 0 1px 0 #ffffff14, 0 15px 34px -29px #a994cf; }
.ft-cardtop { display: flex; align-items: center; justify-content: space-between; gap: 8px 12px; flex-wrap: wrap; margin-bottom: 17px; }
.ft-stage { display: inline-flex; align-items: center; width: fit-content; padding: 5px 8px; min-height: 25px; font: 500 12px/1.35 var(--mono); letter-spacing: .025em; color: #c1e2ea; background: #799dae13; border: 1px solid #a6ccd529; border-radius: 8px; }
.ft-stage[data-stage=emerging] { color: #d9c8f4; border-color: #bfaae840; background: #b69bc013; }
.ft-stage[data-stage=established] { color: #bddfdf; border-color: #96d6ce38; }
.ft-stage[data-stage=speculative] { color: #e6cfdd; border-color: #deb3cb3d; background: #b789a310; }
.ft-family { font: 400 12px/1.5 var(--voice); color:#bec5de; }
.ft-glyph { display: block; width: 100%; height: 89px; margin: 0 0 23px; overflow: visible; color: #b3d8e7; }
.ft-glyph path, .ft-glyph line, .ft-glyph polyline, .ft-glyph circle { vector-effect: non-scaling-stroke; }
.ft-card h3 { font: 500 22px/1.32 var(--voice); letter-spacing: -.024em; color: #ede6fa; margin: 0 0 13px; text-wrap: balance; }
.ft-summary { color: #c3c9dc; font: 400 14px/1.75 var(--font); margin: 0 0 18px; text-wrap: pretty; }
.ft-small { display: block; color: var(--ft-muted); font: 400 12px/1.7 var(--font); margin: 0; }
.ft-card > .ft-small:last-child { margin-top: auto; padding-top: 16px; color: #c4dbe9; border-top: 1px solid #b4c1de20; }
.ft-card[hidden], .ft-detail[hidden] { display: none !important; }
.ft-detail { position: relative; display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(280px, 1fr); margin-top: 26px; overflow: hidden; border: 1px solid #c3c7ee3e; border-radius: 29px; background: linear-gradient(145deg, #21223ae8, #0e182bf5 65%); box-shadow: inset 0 1px 0 #ffffff12, 0 28px 58px -45px #020515; scroll-margin-top: 0; }
.ft-detail-main, .ft-detail-side { min-width: 0; padding: 32px; }
.ft-detail-side { background: #1820376b; border-left: 1px solid #b9bee524; }
.ft-detail h3 { font: 500 clamp(25px, 3vw, 35px)/1.25 var(--voice); letter-spacing: -.03em; color: #e8def7; margin: 0 0 20px; }
.ft-detail h4 { font: 500 16px/1.5 var(--voice); letter-spacing: -.01em; color: #d2e7ef; margin: 25px 0 12px; }
.ft-detail p, .ft-detail li { font-size: 14px; line-height: 1.8; color: #c9cee0; }
.ft-detail ul, .ft-detail ol { padding-left: 21px; }
.ft-detail li + li { margin-top: 9px; }
.ft-detail .ft-small { font-size: 12px; color: var(--ft-muted); }
.ft-detail .ft-eyebrow { font-size: 12px; color: #b9deec; }
.ft-diagram { display: block; width: 100%; height: auto; min-height: 170px; max-height: 340px; margin: 26px 0 24px; border: 1px solid #a7bddb24; border-radius: 21px; background: radial-gradient(ellipse at 50% 50%, #44527521, transparent 75%), #09132990; color: #b6d7ec; }
.ft-diagram text { font-family: var(--voice); fill: #e6e0f2; }
.ft-diagram path, .ft-diagram line, .ft-diagram rect, .ft-diagram circle { vector-effect: non-scaling-stroke; }
.ft-button { appearance: none; display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 46px; padding: 11px 17px; font: 500 12px/1.5 var(--voice); color: #e0dbf0; text-decoration: none; text-align: center; border: 1px solid #c1bbec40; border-radius: 14px; background: #25263f; cursor: pointer; transition: background .18s ease, border-color .18s ease; }
.ft-button:hover { color: #f5f1fd; background: #33354f; border-color: #d3caed73; }
.ft-button:disabled { opacity: .6; cursor: wait; }
.ft-primary { background: linear-gradient(120deg, #b7a6e8, #a3bde4); color: #11162c; border-color: #e8dcff7d; box-shadow: inset 0 1px 0 #ffffff30; }
.ft-primary:hover { background: linear-gradient(120deg, #c5b4f1, #b3caee); color: #0c1123; }
.ft-tabs { display: flex; gap: 4px; margin: 20px 0 25px; padding: 0 0 1px; border-bottom: 1px solid #afb6dc29; overflow-x: auto; }
.ft-tab { appearance: none; min-height: 46px; padding: 12px 15px; flex-shrink: 0; color:#c0c5dc; border: 0; border-bottom: 2px solid transparent; border-radius: 9px 9px 0 0; background: transparent; font: 500 12px/1.55 var(--voice); cursor: pointer; }
.ft-tab[aria-selected=true], .ft-tab[aria-pressed=true] { color: #dce4fa; background: linear-gradient(0deg, #a9b8df10, transparent); border-bottom-color: #bdd9f0; }
.ft-tab:hover { color: #f2eafb; background: #a4b6dd0a; }
.ft-sources { display: grid; gap: 12px; margin: 27px 0 0; padding-top: 22px; border-top: 1px solid #b8c1e52a; }
.ft-sources a { color: #b7dce9; font-size: 12px; line-height: 1.75; overflow-wrap: anywhere; text-decoration-color: #b7dce961; }
.ft-sources a:hover { color: #e6f4fb; text-decoration-color: #e6f4fb; }
.ft-sources p, .ft-sources li { font-size: 12px; line-height: 1.75; }
.ft-horizons { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; margin: 28px 0; }
.ft-horizon { position: relative; padding: 24px 20px; min-width: 0; border: 1px solid #b8c1e52a; border-radius: 19px; background: linear-gradient(145deg, #2229408c, #151c317d); }
.ft-horizon::before { content: ''; display: block; width: 31px; height: 2px; background: linear-gradient(90deg, #c8b8ed, #afdae9); margin-bottom: 18px; border-radius: 1px; }
.ft-horizon h3, .ft-horizon h4 { margin: 0 0 12px; font: 500 17px/1.4 var(--voice); color: #ddd9ef; }
.ft-horizon p { color: #c0c7db; font-size: 13px; line-height: 1.75; margin: 0; }
.ft-horizon .ft-eyebrow { font-size: 12px; margin-bottom: 11px; color: #b8d9e8; }
.ft-stack { display: flex; flex-direction: column; gap: 13px; }
.ft-combo { padding: 23px 24px; background: linear-gradient(135deg, #4a36652b, #28466122); border: 1px solid #c5bde43d; border-radius: 21px; min-width: 0; }
.ft-combo h3, .ft-combo h4 { font: 500 20px/1.35 var(--voice); letter-spacing: -.02em; color: #e3d9f3; margin: 0 0 13px; }
.ft-combo p { font-size: 14px; line-height: 1.8; color: #cbd0e1; }
.ft-combo .ft-button { margin-top: 12px; }
.frontier-section :is(button, a, input):focus-visible { outline: 2px solid #b7e6f4; outline-offset: 4px; }
.frontier-section :is(button, a) { touch-action: manipulation; -webkit-tap-highlight-color: #b9dff326; }

/* The research surface, including source boundaries and readable exchanges. */
.ft-status { margin: 15px 0; font-size: 14px; line-height: 1.75; color: #bae2e9; }
.ft-status:empty { display: none; }
.ft-researchline { margin: 23px 0 0; font: 400 12px/1.8 var(--mono); color:#bfc5db; }
.ft-thesis { max-width: 870px; margin: 0 auto 42px; padding: 27px 35px; text-align: center; border: 1px solid #b9c8df29; border-radius: 23px; background: linear-gradient(130deg, #26364c41, #31283f44); }
.ft-thesis > .ft-eyebrow { font-size: 12px; margin-bottom: 13px; }
.ft-thesis > p:not(.ft-eyebrow) { margin: 0 0 14px; font: 500 25px/1.4 var(--voice); letter-spacing: -.025em; color: #e4e1f3; text-wrap: balance; }
.ft-thesis > span { display: block; color:#bcc6da; font-size: 13px; line-height: 1.7; }
.ft-panel { min-width: 0; }
.ft-panel[hidden] { display: none !important; }
.ft-controls { display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, 350px); gap: 18px; align-items: center; margin: 23px 0 19px; }
.ft-controls .ft-filters { justify-content: flex-start; margin: 0; gap: 7px; }
.ft-controls .ft-search { width: 100%; margin: 0; }
.ft-controls .ft-filter { padding-inline: 14px; }
.ft-count { margin: 0 0 20px; font: 400 12px/1.65 var(--font); color:#c0c5d9; }
.ft-empty { grid-column: 1 / -1; padding: 27px; border: 1px dashed #bdc6e441; border-radius: 18px; background: #121b2e99; font-size: 15px; }
.ft-more { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 52px; margin: 22px 0 30px; padding: 13px 22px; border: 1px solid #bdc7e13f; border-radius: 16px; background: #1a26394d; color: #d1dff0; font: 500 13px/1.6 var(--voice); cursor: pointer; }
.ft-more:hover { background: #28384b7a; border-color: #badcea73; }
.ft-more[hidden] { display: none; }
.ft-back { display: inline-flex; align-items: center; min-height: 44px; margin: -7px 0 19px; padding: 8px 0; border: 0; border-radius: 5px; background: transparent; color: #bfd5e9; font: 500 12px/1.5 var(--voice); cursor: pointer; }
.ft-back:hover { color: #ecf2ff; background: transparent; }
.ft-mechanism { color: #d3d6e8 !important; }
.ft-detail-main > .ft-filters { justify-content: flex-start; gap: 9px; margin-top: 27px; }
.ft-detail-main > .ft-filters .ft-filter { font-size: 12px; padding-inline: 12px; }
.ft-caption { margin: 0 0 22px; color:#bdc6da !important; font: 400 12px/1.8 var(--mono) !important; }
.ft-diagram-scroll { width: 100%; max-width: 100%; margin: 24px 0 16px; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: #879ec966 #0c14277a; border-radius: 21px; }
.ft-diagram-scroll > .ft-diagram { min-width: 620px; width: 100%; margin: 0 0 8px; max-height: none; }
.ft-diagram-scroll > .ft-diagram-vertical { display: none; }
.ft-diagramnode > rect { fill: #1c2942; stroke: #c5b7e86b; stroke-width: 1; }
.ft-diagramnode > text { font: 500 12px/1.4 var(--voice); fill: #eee8f8; }
.ft-diagramnode > .ft-diagramindex { fill: #b4dfe7; font: 500 12px var(--mono); letter-spacing: .07em; }
.ft-diagramnode tspan { dominant-baseline: auto; }
.ft-exchanges, .ft-practice, .ft-method { border: 1px solid #b4c2df32; border-radius: 17px; padding: 0 18px; background: #141e3257; margin: 20px 0; }
.ft-exchanges > summary, .ft-practice > summary, .ft-sources > summary, .ft-method > summary { min-height: 52px; padding: 16px 0; color: #d7e0f0; font: 500 12px/1.6 var(--voice); cursor: pointer; }
.ft-exchanges[open], .ft-practice[open], .ft-method[open] { padding-bottom: 20px; }
.ft-exchanges[open] > summary, .ft-practice[open] > summary, .ft-method[open] > summary { color: #c7ecf2; }
.ft-exchanges ol { list-style: none; padding: 0; margin: 3px 0 0; counter-reset: ft-exchange; }
.ft-exchanges li { position: relative; counter-increment: ft-exchange; padding: 16px 0 14px 27px; border-top: 1px solid #b5bfdb21; }
.ft-exchanges li::before { content: counter(ft-exchange, decimal-leading-zero); position: absolute; top: 17px; left: 0; color: #a5cddb; font: 500 12px/1.7 var(--mono); }
.ft-exchanges li strong { display: block; color: #e0dbee; font: 500 13px/1.7 var(--voice); }
.ft-exchanges li p { margin: 8px 0 0; color: #bdc8de; font-size: 13px; line-height: 1.8; }
.ft-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 26px 0 0; }
.ft-actions .ft-primary { flex: 1 1 100%; }
.ft-actions .ft-button:not(.ft-primary) { flex: 1; min-width: 130px; }
.ft-detail-side > h4:first-child { margin-top: 0; }
.ft-practice { margin-block: 26px; }
.ft-practice h4 { margin-top: 17px; font-size: 14px; color: #d7d3ed; }
.ft-practice p { font-size: 13px; }
.ft-sources { display: block; padding: 0 18px; border: 1px solid #a9c6d434; border-radius: 17px; background: linear-gradient(150deg, #28455926, #18223850); margin-top: 24px; }
.ft-sources[open] { padding-bottom: 17px; }
.ft-sources > p { font-size: 12px; line-height: 1.9; color: #c0cbdb; }
.ft-source { padding: 15px 0 12px; border-top: 1px solid #aac5d627; }
.ft-source:last-child { padding-bottom: 2px; }
.ft-source a { display: block; font-size: 12px; line-height: 1.75; color: #c2e1ed; }
.ft-source small { display: block; margin-top: 8px; color:#bcc6d9; font: 400 12px/1.7 var(--mono); }
.ft-components { display: flex; flex-wrap: wrap; gap: 8px; margin: 23px 0 25px; }
.ft-components .ft-filter { border-radius: 11px; padding: 9px 12px; font-size: 12px; text-align: left; color: #c7dcee; }
.ft-panel > .ft-lead { max-width: 780px; text-align: left; margin: 28px 0 30px; font-size: 16px; }
.ft-combo > h4 { font-size: 14px; color: #b5d9e3; margin: 24px 0 11px; }
.ft-combo > p:not(.ft-eyebrow) { max-width: 960px; }
.ft-combo .ft-actions { max-width: 620px; }
.ft-combo .ft-actions .ft-primary { flex-basis: auto; }
.ft-horizon h4 { margin: 23px 0 10px; font-size: 13px; color: #b1d7e1; }
.ft-horizon .ft-button { margin-top: 25px; width: 100%; }
.ft-method { margin-top: 35px; border-color: #b4c2df24; background: #111a2b45; }
.ft-method > p { max-width: 950px; font-size: 13px; line-height: 1.85; color: #bfc6dc; }
.page-nav .nav-frontier { color: #c1deeb; }

@media (max-width: 1080px) {
  .ft-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ft-detail { grid-template-columns: minmax(0, 1.25fr) minmax(280px, 1fr); }
  .ft-detail-main, .ft-detail-side { padding: 25px; }
  .ft-horizons { grid-template-columns: 1fr; gap: 12px; }
  .ft-horizon { padding: 21px 23px; }
  .ft-controls { grid-template-columns: 1fr; gap: 15px; }
  .ft-controls .ft-search { max-width: 100%; }
}
@media (max-width: 900px) {
  nav.top:has(.nav-frontier) .page-nav { grid-template-columns: .67fr 1.1fr 1fr .87fr .86fr; gap: 3px; }
  nav.top:has(.nav-frontier) .page-nav a { padding-inline: 3px; }
}
@media (max-width: 760px) {
  .frontier-section { padding: 46px 18px 62px; scroll-margin-top: 0; }
  .ft-heading { margin-bottom: 30px; }
  .ft-heading h2 { font-size: clamp(34px, 8.4vw, 47px); line-height: 1.12; }
  .ft-eyebrow { font-size: 12px; letter-spacing: .07em; }
  .ft-lead { font-size: 16px; line-height: 1.75; }
  .ft-filters { justify-content: flex-start; gap: 8px; margin-bottom: 18px; }
  .ft-filter { min-height: 44px; font-size: 12px; padding: 10px 13px; border-radius: 13px; }
  .ft-search { width: 100%; font-size: 16px; margin-bottom: 23px; }
  .ft-grid { gap: 13px; }
  .ft-card { padding: 20px; border-radius: 21px; min-height: 310px; }
  .ft-card h3 { font-size: 21px; }
  .ft-summary { font-size: 14px; }
  .ft-detail { grid-template-columns: 1fr; border-radius: 23px; scroll-margin-top: 0; }
  .ft-detail-main, .ft-detail-side { padding: 24px 21px; }
  .ft-detail-side { border-left: 0; border-top: 1px solid #b9bee524; }
  .ft-detail h3 { font-size: 28px; }
  .ft-detail h4 { font-size: 17px; }
  .ft-detail p, .ft-detail li { font-size: 15px; }
  .ft-detail .ft-small, .ft-sources p, .ft-sources li { font-size: 12px; }
  .ft-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2px; margin-top: 15px; overflow: visible; }
  .ft-tab { min-width: 0; min-height: 56px; padding: 10px 8px; font-size: 12px; white-space: normal; text-wrap: balance; }
  .ft-button { min-height: 48px; font-size: 12px; }
  .ft-detail .ft-primary { width: 100%; }
  .ft-diagram { margin-block: 22px; min-height: 160px; border-radius: 17px; }
  .ft-horizons { margin-block: 23px; }
  .ft-horizon { border-radius: 17px; }
  .ft-horizon h3, .ft-horizon h4 { font-size: 18px; }
  .ft-horizon p { font-size: 14px; }
  .ft-combo { padding: 22px 19px; border-radius: 19px; }
  .ft-combo .ft-button { width: 100%; }
  .ft-thesis { padding: 24px 21px; margin-bottom: 31px; }
  .ft-thesis > p:not(.ft-eyebrow) { font-size: 22px; line-height: 1.45; }
  .ft-researchline { font-size: 12px; }
  .ft-controls { margin-top: 17px; }
  .ft-controls .ft-filters { gap: 7px; }
  .ft-controls .ft-filter { padding-inline: 12px; font-size: 12px; }
  .ft-more { margin: 18px 0 25px; min-height: 52px; }
  .ft-detail-main > .ft-filters { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .ft-detail-main > .ft-filters .ft-filter { padding: 9px 10px; font-size: 12px; text-align: center; }
  .ft-diagram-scroll { margin-top: 21px; border-radius: 17px; overflow: hidden; }
  .ft-diagram-scroll > .ft-diagram-horizontal { display: none; }
  .ft-diagram-scroll > .ft-diagram-vertical { display: block; width: 100%; min-width: 0; min-height: 0; max-height: none; margin: 0; }
  .ft-diagram-scroll + .ft-caption::before { content: 'Follow the numbered modules. Open the exchanges for details. '; display: block; margin-bottom: 4px; color: #b9d8e5; }
  .ft-exchanges, .ft-practice, .ft-sources, .ft-method { padding-inline: 15px; border-radius: 15px; }
  .ft-exchanges li strong { font-size: 13px; }
  .ft-exchanges li p { font-size: 14px; }
  .ft-exchanges > summary, .ft-practice > summary, .ft-sources > summary, .ft-method > summary { font-size: 12px; }
  .ft-actions { margin-top: 24px; }
  .ft-actions .ft-button:not(.ft-primary) { min-width: 110px; font-size: 12px; }
  .ft-source a { font-size: 13px; }
  .ft-components { gap: 7px; }
  .ft-combo .ft-actions .ft-primary { flex-basis: 100%; }
  .ft-combo .ft-actions .ft-button { margin-top: 0; }
}
@media (max-width: 540px) {
  .ft-grid { grid-template-columns: 1fr; }
  .ft-card { min-height: 0; padding: 23px; }
  .ft-glyph { height: 84px; margin-bottom: 22px; }
  .ft-card h3 { font-size: 24px; }
  .ft-cardtop { gap: 8px; }
  .ft-card .ft-small:last-child { margin-top: 4px; }
  .ft-family { font-size: 12px; }
  nav.top:has(.nav-frontier) .page-nav a { font-size: 12px; min-height: 44px; }
}
@media (max-width: 360px) {
  .frontier-section { padding-inline: 14px; }
  .ft-heading h2 { font-size: 34px; }
  .ft-card { padding: 21px 19px; }
  .ft-card h3 { font-size: 22px; }
  .ft-detail-main, .ft-detail-side { padding-inline: 17px; }
  .ft-filter { padding-inline: 11px; }
  .ft-tab { padding-inline: 7px; font-size: 12px; }
  nav.top:has(.nav-frontier) .page-nav { gap: 2px; }
  nav.top:has(.nav-frontier) .page-nav a { font-size: 12px; padding-inline: 2px; }
}
@media (prefers-reduced-motion: reduce) {
  .ft-card, .ft-filter, .ft-button { transition: none; }
  .ft-card:hover { transform: none; }
}
}
