.nova-fg-modal{width:min(920px,94vw)}
.nova-fg-root,.nova-fg-root *{box-sizing:border-box}
.nova-fg-root{
  --surface:#09172a;
  --surface-2:#0d2038;
  --code-bg:#050b14;
  --line:rgba(146,178,218,.18);
  --ink:#eef5ff;
  --ink-soft:#8fa4bd;
  --ink-faint:#6d8299;
  --brass:#e8be63;
  --brass-ink:#e8be63;
  --teal:#69b9f4;
  --teal-soft:rgba(105,185,244,.12);
  --tag-bg:rgba(232,190,99,.12);
  --tag-ink:#e8be63;
  --pill-live-bg:rgba(105,214,168,.16);
  --pill-live-ink:#69d6a8;
  --pill-soon-bg:rgba(232,190,99,.16);
  --pill-soon-ink:#e8be63;
  --pill-ref-bg:rgba(143,164,189,.14);
  --pill-ref-ink:#8fa4bd;
  --code-kw:#69b9f4;
  --code-str:#69d6a8;
  --code-com:#6d8299;
  --focus:#69b9f4;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:15px;
  line-height:1.6;
  color:var(--ink);
}

.nova-fg-mono{font-family:ui-monospace,"SF Mono","Cascadia Code","Roboto Mono",Menlo,Consolas,monospace}

.nova-fg-wrap{max-width:100%;margin:0;padding:4px 2px 12px}

header.nova-fg-masthead{margin-bottom:40px}
.nova-fg-eyebrow{
  font-family:ui-monospace,"SF Mono","Cascadia Code","Roboto Mono",Menlo,Consolas,monospace;
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--brass-ink);
  margin:0 0 14px;
}
.nova-fg-h1{
  font-family:ui-monospace,"SF Mono","Cascadia Code","Roboto Mono",Menlo,Consolas,monospace;
  font-weight:700;
  font-size:clamp(22px,4vw,28px);
  line-height:1.15;
  letter-spacing:-.01em;
  margin:0 0 14px;
  text-wrap:balance;
  color:var(--ink);
}
.nova-fg-lede{
  font-size:18px;
  color:var(--ink-soft);
  max-width:62ch;
  margin:0 0 14px;
}
.nova-fg-lede + .nova-fg-lede{margin-top:10px}
.nova-fg-lede b{color:var(--ink);font-weight:600}

.nova-fg-index-card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:10px;
  padding:20px 22px;
  margin-top:28px;
}
.nova-fg-index-card .nova-fg-index-title{
  font-family:ui-monospace,"SF Mono","Cascadia Code","Roboto Mono",Menlo,Consolas,monospace;
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--ink-faint);
  margin:0 0 12px;
}
.nova-fg-index-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(230px,1fr));
  gap:6px 24px;
}
@media (max-width:600px){.nova-fg-index-grid{grid-template-columns:1fr}}
.nova-fg-index-grid a{
  display:flex;
  gap:10px;
  align-items:baseline;
  color:var(--ink-soft);
  text-decoration:none;
  font-size:14px;
  padding:3px 0;
  border-radius:4px;
}
.nova-fg-index-grid a:hover,.nova-fg-index-grid a:focus-visible{color:var(--teal)}
.nova-fg-index-grid a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.nova-fg-index-num{
  font-family:ui-monospace,"SF Mono","Cascadia Code","Roboto Mono",Menlo,Consolas,monospace;
  color:var(--ink-faint);
  font-variant-numeric:tabular-nums;
  min-width:20px;
}

section.nova-fg-cat{
  border-top:1px solid var(--line);
  padding:44px 0 8px;
  scroll-margin-top:20px;
}
section.nova-fg-cat:first-of-type{border-top:none;padding-top:52px}

.nova-fg-cat-head{
  display:flex;
  gap:16px;
  align-items:flex-start;
  margin-bottom:14px;
}
.nova-fg-cat-num{
  font-family:ui-monospace,"SF Mono","Cascadia Code","Roboto Mono",Menlo,Consolas,monospace;
  font-size:14px;
  font-weight:700;
  color:var(--brass);
  background:var(--surface-2);
  border:1px solid var(--line);
  border-radius:6px;
  padding:4px 8px;
  font-variant-numeric:tabular-nums;
  flex:none;
  margin-top:2px;
}
.nova-fg-cat-head h2{
  font-size:22px;
  margin:0;
  line-height:1.25;
  text-wrap:balance;
  flex:1;
}
.nova-fg-pill{
  font-family:ui-monospace,"SF Mono","Cascadia Code","Roboto Mono",Menlo,Consolas,monospace;
  font-size:10.5px;
  letter-spacing:.06em;
  text-transform:uppercase;
  padding:4px 9px;
  border-radius:100px;
  white-space:nowrap;
  flex:none;
  margin-top:3px;
}
.nova-fg-pill.nova-fg-live{background:var(--pill-live-bg);color:var(--pill-live-ink)}
.nova-fg-pill.nova-fg-soon{background:var(--pill-soon-bg);color:var(--pill-soon-ink)}
.nova-fg-pill.nova-fg-ref{background:var(--pill-ref-bg);color:var(--pill-ref-ink)}

.nova-fg-cat-why{
  color:var(--ink-soft);
  font-size:15px;
  max-width:64ch;
  margin:0 0 18px 52px;
}
@media (max-width:600px){.nova-fg-cat-why{margin-left:0}}

.nova-fg-cap-list{
  list-style:none;
  margin:0 0 20px 52px;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:11px;
}
@media (max-width:600px){.nova-fg-cap-list{margin-left:0}}
.nova-fg-cap-list li{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:2px 10px;
  font-size:15px;
  padding-left:16px;
  position:relative;
}
.nova-fg-cap-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:9px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--teal);
  opacity:.6;
}
.nova-fg-cap-list .nova-fg-term{
  font-family:ui-monospace,"SF Mono","Cascadia Code","Roboto Mono",Menlo,Consolas,monospace;
  font-size:11.5px;
  color:var(--tag-ink);
  background:var(--tag-bg);
  border-radius:5px;
  padding:2px 7px;
  white-space:nowrap;
}

.nova-fg-example{
  margin:0 0 4px 52px;
  border:1px solid var(--line);
  border-radius:10px;
  overflow:hidden;
  background:var(--surface);
}
@media (max-width:600px){.nova-fg-example{margin-left:0}}
.nova-fg-example-head{
  display:flex;
  align-items:baseline;
  gap:10px;
  padding:10px 16px;
  background:var(--surface-2);
  border-bottom:1px solid var(--line);
}
.nova-fg-example-label{
  font-family:ui-monospace,"SF Mono","Cascadia Code","Roboto Mono",Menlo,Consolas,monospace;
  font-size:10.5px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--ink-faint);
  flex:none;
}
.nova-fg-example-ask{
  font-size:13.5px;
  color:var(--ink-soft);
  font-style:italic;
}
.nova-fg-example-code{
  margin:0;
  padding:14px 16px;
  background:var(--code-bg);
  overflow-x:auto;
}
.nova-fg-example-code code{
  font-family:ui-monospace,"SF Mono","Cascadia Code","Roboto Mono",Menlo,Consolas,monospace;
  font-size:13px;
  line-height:1.6;
  color:var(--ink);
  white-space:pre;
}
.nova-fg-example-code .nova-fg-k{color:var(--code-kw);font-weight:600}
.nova-fg-example-code .nova-fg-s{color:var(--code-str)}
.nova-fg-example-code .c{color:var(--code-com);font-style:italic}
.nova-fg-example-note{
  padding:12px 16px;
  font-size:13.5px;
  color:var(--ink-soft);
}
.nova-fg-example-plain{
  padding:13px 16px 15px;
  border-top:1px solid var(--line);
  font-size:13.5px;
  color:var(--ink-soft);
  line-height:1.6;
}
.nova-fg-example-plain b{color:var(--ink);font-weight:600}
.nova-fg-example-plain .nova-fg-plain-label{
  display:block;
  font-family:ui-monospace,"SF Mono","Cascadia Code","Roboto Mono",Menlo,Consolas,monospace;
  font-size:10.5px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--ink-faint);
  margin-bottom:6px;
}
.nova-fg-example-plain code{
  font-family:ui-monospace,"SF Mono","Cascadia Code","Roboto Mono",Menlo,Consolas,monospace;
  font-size:12px;
  background:var(--tag-bg);
  color:var(--tag-ink);
  border-radius:4px;
  padding:1px 5px;
}
.nova-fg-mini-tables{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  padding:14px 16px 16px;
  border-top:1px solid var(--line);
  background:var(--surface-2);
}
.nova-fg-mini-table-block{flex:1;min-width:170px}
.nova-fg-mini-table-label{
  font-family:ui-monospace,"SF Mono","Cascadia Code","Roboto Mono",Menlo,Consolas,monospace;
  font-size:10.5px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--ink-faint);
  margin:0 0 6px;
}
.nova-fg-mini-table{width:100%;border-collapse:collapse;font-size:12.5px}
.nova-fg-mini-table th,.nova-fg-mini-table td{
  border:1px solid var(--line);
  padding:5px 8px;
  text-align:left;
  color:var(--ink-soft);
}
.nova-fg-mini-table th{background:var(--surface);color:var(--ink-faint);font-weight:600}
.nova-fg-mini-table tr.nova-fg-new-row td{background:var(--pill-live-bg);color:var(--pill-live-ink);font-weight:600}

.nova-fg-pattern{
  margin:0 0 14px 52px;
  border:1px solid var(--line);
  border-radius:10px;
  overflow:hidden;
  background:var(--surface);
}
@media (max-width:600px){.nova-fg-pattern{margin-left:0}}
.nova-fg-pattern-head{
  padding:10px 16px;
  background:var(--surface-2);
  border-bottom:1px solid var(--line);
}
.nova-fg-pattern-label{
  font-family:ui-monospace,"SF Mono","Cascadia Code","Roboto Mono",Menlo,Consolas,monospace;
  font-size:10.5px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--brass-ink);
}
.nova-fg-pattern-code{
  margin:0;
  padding:14px 16px;
  background:var(--code-bg);
  overflow-x:auto;
}
.nova-fg-pattern-code code{
  font-family:ui-monospace,"SF Mono","Cascadia Code","Roboto Mono",Menlo,Consolas,monospace;
  font-size:13px;
  line-height:1.6;
  color:var(--ink-soft);
  white-space:pre;
}
.nova-fg-pattern-legend{
  padding:12px 16px 14px;
  border-top:1px solid var(--line);
  display:flex;
  flex-direction:column;
  gap:5px;
}
.nova-fg-legend-item{
  font-size:13px;
  color:var(--ink-soft);
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.nova-fg-legend-item .nova-fg-ph{
  font-family:ui-monospace,"SF Mono","Cascadia Code","Roboto Mono",Menlo,Consolas,monospace;
  font-size:11.5px;
  color:var(--tag-ink);
  background:var(--tag-bg);
  border-radius:5px;
  padding:1px 7px;
  flex:none;
}

.nova-fg-solves{
  padding:13px 16px 15px;
  border-top:1px solid var(--line);
  background:var(--teal-soft);
  font-size:13.5px;
  color:var(--ink);
  line-height:1.6;
}
.nova-fg-solves .nova-fg-solves-label{
  display:block;
  font-family:ui-monospace,"SF Mono","Cascadia Code","Roboto Mono",Menlo,Consolas,monospace;
  font-size:10.5px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--teal);
  margin-bottom:6px;
}

footer.nova-fg-note{
  margin-top:56px;
  padding-top:28px;
  border-top:1px solid var(--line);
  color:var(--ink-faint);
  font-size:13.5px;
  max-width:64ch;
}
footer.nova-fg-note p{margin:0 0 8px}
footer.nova-fg-note .nova-fg-key{
  display:flex;
  flex-wrap:wrap;
  gap:14px 20px;
  margin-top:14px;
  margin-bottom:18px;
}
footer.nova-fg-note .nova-fg-key span{display:flex;align-items:center;gap:7px}

.nova-fg-tiny-things{
  margin-top:36px;
  padding-top:28px;
  border-top:1px solid var(--line);
}
.nova-fg-tiny-things h3{
  font-size:15px;
  color:var(--ink);
  margin:0 0 12px;
}
.nova-fg-tiny-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.nova-fg-tiny-list li{
  font-size:13.5px;
  color:var(--ink-soft);
  padding-left:14px;
  position:relative;
}
.nova-fg-tiny-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:7px;
  width:4px;
  height:4px;
  border-radius:50%;
  background:var(--ink-faint);
}
.nova-fg-tiny-list code{
  font-family:ui-monospace,"SF Mono","Cascadia Code","Roboto Mono",Menlo,Consolas,monospace;
  font-size:12px;
  background:var(--tag-bg);
  color:var(--tag-ink);
  border-radius:4px;
  padding:1px 5px;
}

@media (prefers-reduced-motion:no-preference){
  .nova-fg-index-grid a{transition:color .12s ease}
}
