@layer fc.base {
html {
-webkit-text-size-adjust: 100%;
text-size-adjust: 100%;
scroll-behavior: auto;
}
body {
background-color: var(--fc-color-bg-canvas);
color: var(--fc-color-text-default);
font: var(--fc-type-body);
letter-spacing: var(--fc-type-body-tracking);
font-kerning: normal;
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
max-inline-size: var(--fc-size-content-max);
margin-inline: auto;
padding-inline: var(--fc-space-4);
}
:where(h1, h2, h3, h4, h5, h6) {
font-weight: var(--fc-font-weight-semibold);
line-height: var(--fc-line-height-tight);
text-wrap: balance;
}
:where(h1) {
font: var(--fc-type-heading-1);
letter-spacing: var(--fc-type-heading-1-tracking);
margin-block-end: var(--fc-space-4);
}
:where(h2) {
font: var(--fc-type-heading-2);
letter-spacing: var(--fc-type-heading-2-tracking);
margin-block-end: var(--fc-space-3);
}
:where(h3) {
font: var(--fc-type-heading-3);
letter-spacing: var(--fc-type-heading-3-tracking);
margin-block-end: var(--fc-space-3);
}
:where(h4) {
font: var(--fc-type-heading-4);
letter-spacing: var(--fc-type-heading-4-tracking);
margin-block-end: var(--fc-space-2);
}
:where(h5) {
font: var(--fc-type-heading-5);
letter-spacing: var(--fc-type-heading-5-tracking);
margin-block-end: var(--fc-space-2);
}
:where(h6) {
font: var(--fc-type-heading-6);
letter-spacing: var(--fc-type-heading-6-tracking);
color: var(--fc-color-text-muted);
}
:where(p, li) {
text-wrap: pretty;
}
:where(p, ul, ol, dl, blockquote, pre, table, figure) {
margin-block-end: var(--fc-space-4);
}
:where(a) {
color: var(--fc-color-accent-text);
text-decoration: underline;
text-underline-offset: 0.2em;
text-decoration-thickness: from-font;
}
:where(a:hover) {
text-decoration-thickness: var(--fc-border-width-thick);
}
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
outline: var(--fc-border-width-focus) solid var(--fc-color-focus-ring);
outline-offset: var(--fc-space-0-5);
box-shadow: 0 0 0 var(--fc-space-0-5) var(--fc-color-focus-ring-offset);
}
:where(a, button, input, select, textarea, summary, [tabindex]):focus:not(:focus-visible) {
outline: none;
}
:where(code, kbd, samp, pre) {
font-family: var(--fc-font-family-mono);
font-size: 0.9375em;
}
:where(code):not(pre code) {
background-color: var(--fc-color-bg-subtle);
padding-inline: 0.25em;
border-radius: var(--fc-radius-sm);
}
:where(blockquote) {
border-inline-start: var(--fc-border-width-thick) solid var(--fc-color-border-default);
padding-inline-start: var(--fc-space-4);
color: var(--fc-color-text-muted);
font-style: italic;
}
:where(hr) {
border: 0;
border-block-start: var(--fc-border-width-thin) solid var(--fc-color-border-default);
margin-block: var(--fc-space-6);
}
:where(table) {
border-collapse: collapse;
inline-size: 100%;
max-inline-size: 100%;
}
:where(caption) {
color: var(--fc-color-text-muted);
text-align: start;
padding-block-end: var(--fc-space-2);
}
:where(th, td) {
padding: var(--fc-space-2) var(--fc-space-3);
text-align: start;
border-block-end: var(--fc-border-width-thin) solid var(--fc-color-border-subtle);
vertical-align: top;
}
:where(thead th) {
font-weight: var(--fc-font-weight-semibold);
color: var(--fc-color-text-muted);
border-block-end-color: var(--fc-color-border-default);
}
:where(tbody tr:last-child td) {
border-block-end: 0;
}
:where(input, textarea, select) {
background-color: var(--fc-color-bg-surface);
border: var(--fc-border-width-thin) solid var(--fc-color-border-interactive);
border-radius: var(--fc-radius-md);
padding: var(--fc-space-2) var(--fc-space-3);
inline-size: 100%;
}
:where(textarea) {
min-block-size: 6lh;
resize: vertical;
}
:where(::placeholder) {
color: var(--fc-color-text-subtle);
opacity: 1;
}
:where(input, textarea, select):user-invalid {
border-color: var(--fc-color-danger-border);
}
:where(summary) {
cursor: pointer;
font-weight: var(--fc-font-weight-medium);
}
:where(abbr[title]) {
text-decoration: underline dotted;
cursor: help;
}
::selection {
background-color: var(--fc-color-accent-bg-subtle);
color: var(--fc-color-accent-text);
}
}