@layer cavalree {
  :where(.c-foundation) {
    all: unset;
  }

  :where(.c-foundation) {
    background-repeat: no-repeat;
    border-style: solid;
    border-width: 0px;
    box-sizing: border-box;
    display: block; /* TODO: and_chr >= 115, chrome >= 115, edge >= 115 */
    display: block flow;
    font-family: ui-sans-serif, system-ui, sans-serif;
    line-height: 1.5;
    overflow-wrap: break-word;
    tab-size: 2;
    -webkit-tap-highlight-color: transparent;
    -moz-text-size-adjust: none;
    -webkit-text-size-adjust: none;
    text-size-adjust: none;
  }

  @media (min-resolution: 2dppx) {
    :where(.c-foundation) {
      -moz-osx-font-smoothing: grayscale; /* firefox >= 128 */
      -webkit-font-smoothing: antialiased;
    }
  }

  @media (prefers-reduced-motion: no-preference) {
    :where(.c-foundation) {
      scroll-behavior: smooth;
    }
  }

  :where(.c-foundation):where(:root) {
    view-transition-name: root;
  }
}

@layer cavalree {
  :where(.c-foundation) :where(head, title, base, link, meta, style) {
    all: unset;
  }

  :where(.c-foundation) :where(head, title, base, link, meta, style) {
    background-repeat: no-repeat;
    border-style: solid;
    border-width: 0px;
    box-sizing: border-box;
    display: none;
  }
}

@layer cavalree {
  :where(.c-foundation) :where(body, article, section, nav, aside, h1, h2, h3, h4, h5, h6, hgroup, header, footer, address) {
    all: unset;
  }

  :where(.c-foundation) :where(body, article, section, nav, aside, h1, h2, h3, h4, h5, h6, hgroup, header, footer, address) {
    background-repeat: no-repeat;
    border-style: solid;
    border-width: 0px;
    box-sizing: border-box;
    display: block; /* TODO: and_chr >= 115, chrome >= 115, edge >= 115 */
    display: block flow;
  }

  :where(.c-foundation) :where(article, section, nav, aside, h1, h2, h3, h4, h5, h6, hgroup, header, footer, address) {
    unicode-bidi: isolate;
  }

  :where(.c-foundation) :where(h1, h2, h3, h4, h5, h6) {
    text-wrap-style: balance;
  }

  @supports (text-wrap: initial) and not (text-wrap-style: balance) {
    :where(.c-foundation) :where(h1, h2, h3, h4, h5, h6) {
      text-wrap: balance; /* TODO: and_chr >= 130, and_ff >= 124, chrome >= 130, edge >= 130, firefox >= 124, ios_saf >= 17.5, safari >= 17.5 */
    }
  }
}

@layer cavalree {
  :where(.c-foundation) :where(p, hr, pre, blockquote, ol, ul, menu, li, dl, dt, dd, figure, figcaption, main, search, div) {
    all: unset;
  }

  :where(.c-foundation) :where(p, hr, pre, blockquote, ol, ul, menu, li, dl, dt, dd, figure, figcaption, main, search, div) {
    background-repeat: no-repeat;
    border-style: solid;
    border-width: 0px;
    box-sizing: border-box;
    unicode-bidi: isolate;
  }

  :where(.c-foundation) :where(p, hr, pre, blockquote, ol, ul, menu, dl, dt, dd, figure, figcaption, main, search, div) {
    display: block; /* TODO: and_chr >= 115, chrome >= 115, edge >= 115 */
    display: block flow;
  }

  :where(.c-foundation) :where(p) {
    text-wrap-style: pretty;
  }

  @supports (text-wrap: initial) and not (text-wrap-style: pretty) {
    :where(.c-foundation) :where(p) {
      text-wrap: pretty; /* TODO: and_chr >= 130, and_ff >= 124, chrome >= 130, edge >= 130, firefox >= 124, ios_saf >= 17.5, safari >= 17.5 */
    }
  }

  :where(.c-foundation) :where(hr) {
    border-block-start-width: 1px;
  }

  :where(.c-foundation) :where(pre) {
    font-family: ui-monospace, monospace;
    text-wrap-mode: nowrap;
    white-space-collapse: preserve;
  }

  @supports not ((text-wrap-mode: nowrap) and (white-space-collapse: preserve)) {
    :where(.c-foundation) :where(pre) {
      white-space: pre; /* TODO: and_chr >= 130, and_ff >= 124, chrome >= 130, edge >= 130, firefox >= 124, ios_saf >= 17.4, safari >= 17.4 */
    }
  }

  :where(.c-foundation) :where(ol, ul, menu) {
    counter-reset: list-item;
    list-style-type: disc;
  }

  :where(.c-foundation) :where(ol, ul, menu):where([class]) {
    list-style-type: "";
  }

  :where(.c-foundation) :where(li) {
    display: list-item;
    display: block flow list-item;
    text-align: -webkit-match-parent;
    text-align: match-parent;
  }
}

@layer cavalree {
  :where(.c-foundation) :where(a, em, strong, small, s, cite, q, dfn, abbr, ruby, rt, rp, data, time, code, var, samp, kbd, sub, sup, i, b, u, mark, bdi, bdo, span, br, wbr) {
    all: unset;
  }

  :where(.c-foundation) :where(a, em, strong, small, s, cite, q, dfn, abbr, ruby, rt, rp, data, time, code, var, samp, kbd, sub, sup, i, b, u, mark, bdi, bdo, span, br, wbr) {
    background-repeat: no-repeat;
    border-style: solid;
    border-width: 0px;
    box-sizing: border-box;
  }

  :where(.c-foundation) :where(em, i) {
    font-style: italic;
  }

  :where(.c-foundation) :where(strong, b) {
    font-weight: bolder;
  }

  :where(.c-foundation) :where(small) {
    font-size: smaller; /* TODO: research */
  }

  :where(.c-foundation) :where(s) {
    text-decoration-line: line-through;
  }

  :where(.c-foundation) :where(q) {
    quotes: "“" "”" "‘" "’";
  }

  :where(.c-foundation) :where(q)::before {
    content: open-quote;
  }

  :where(.c-foundation) :where(q)::after {
    content: close-quote;
  }

  :where(.c-foundation) :where(ruby) {
    display: revert;
    display: inline ruby;
  }

  :where(.c-foundation) :where(rt) {
    display: revert;
    display: ruby-text;
  }

  :where(.c-foundation) :where(rp) {
    display: none;
  }

  :where(.c-foundation) :where(code, samp, kbd) {
    font-family: ui-monospace, monospace;
  }

  :where(.c-foundation) :where(sub) {
    font-variant-position: sub;
  }

  :where(.c-foundation) :where(sup) {
    font-variant-position: super;
  }

  @supports not ((font-variant-position: sub) and (font-variant-position: super)) {
    :where(.c-foundation) :where(sub) {
      font-variant: sub;
    }

    :where(.c-foundation) :where(sup) {
      font-variant: super;
    }
  }

  :where(.c-foundation) :where(u) {
    text-decoration-line: underline;
  }

  :where(.c-foundation) :where(mark) {
    background-color: yellow;
    background-color: Mark;
    color: black;
    color: MarkText;
  }

  :where(.c-foundation) :where(bdi) {
    unicode-bidi: isolate;
  }

  :where(.c-foundation) :where(bdo) {
    unicode-bidi: isolate-override;
  }
}

@layer cavalree {
  :where(.c-foundation) :where(ins, del) {
    all: unset;
  }

  :where(.c-foundation) :where(ins, del) {
    background-repeat: no-repeat;
    border-style: solid;
    border-width: 0px;
    box-sizing: border-box;
  }

  :where(.c-foundation) :where(ins) {
    text-decoration-line: underline;
  }

  :where(.c-foundation) :where(del) {
    text-decoration-line: line-through;
  }
}

@layer cavalree {
  :where(.c-foundation) :where(picture, source, img, iframe, embed, object, video, audio, track, map, area) {
    all: unset;
  }

  :where(.c-foundation) :where(picture, source, img, iframe, embed, object, video, audio, track, map, area) {
    background-repeat: no-repeat;
    border-style: solid;
    border-width: 0px;
    box-sizing: border-box;
  }

  :where(.c-foundation) :where(picture, map) {
    display: contents;
  }

  :where(.c-foundation) :where(source, track, area) {
    display: none;
  }

  :where(.c-foundation) :where(img, iframe, embed, object, video, audio) {
    display: block; /* TODO: and_chr >= 115, chrome >= 115, edge >= 115 */
    display: block flow;
    max-inline-size: 100%;
  }

  :where(.c-foundation) :where(embed):where([hidden]) {
    display: inline; /* TODO: and_chr >= 115, chrome >= 115, edge >= 115 */
    display: inline flow;
    block-size: 0px;
    inline-size: 0px;
  }

  :where(.c-foundation) :where(video) {
    object-fit: contain;
  }

  :where(.c-foundation) :where(audio) {
    inline-size: 300px; /* TODO: research */
    min-block-size: 1.5em; /* TODO: research */
  }
}

@layer cavalree {
  :where(.c-foundation) :where(table, caption, colgroup, col, tbody, thead, tfoot, tr, td, th) {
    all: unset;
  }

  :where(.c-foundation) :where(table, caption, colgroup, col, tbody, thead, tfoot, tr, td, th) {
    background-repeat: no-repeat;
    border-style: solid;
    border-width: 0px;
    box-sizing: border-box;
    unicode-bidi: isolate;
  }

  :where(.c-foundation) :where(table) {
    border-collapse: collapse;
    display: table; /* TODO: and_chr >= 115, chrome >= 115, edge >= 115 */
    display: block table;
    text-indent: initial;
  }

  :where(.c-foundation) :where(caption) {
    display: table-caption;
  }

  :where(.c-foundation) :where(colgroup) {
    display: table-column-group;
  }

  :where(.c-foundation) :where(col) {
    display: table-column;
  }

  :where(.c-foundation) :where(tbody) {
    display: table-row-group;
  }

  :where(.c-foundation) :where(thead) {
    display: table-header-group;
  }

  :where(.c-foundation) :where(tfoot) {
    display: table-footer-group;
  }

  :where(.c-foundation) :where(tr) {
    display: table-row;
    vertical-align: middle;
  }

  :where(.c-foundation) :where(td, th) {
    display: table-cell;
    vertical-align: inherit;
  }
}

@layer cavalree {
  :where(.c-foundation) :where(form, label, input, button, select, datalist, optgroup, option, textarea, output, progress, meter, fieldset, legend) {
    all: unset;
  }

  :where(.c-foundation) :where(form, label, input, button, select, datalist, optgroup, option, textarea, output, progress, meter, fieldset, legend) {
    background-repeat: no-repeat;
    border-style: solid;
    border-width: 0px;
    box-sizing: border-box;
  }

  :where(.c-foundation) :where(form, fieldset) {
    display: block; /* TODO: and_chr >= 115, chrome >= 115, edge >= 115 */
    display: block flow;
  }

  :where(.c-foundation) :where(form, output) {
    unicode-bidi: isolate;
  }

  :where(.c-foundation) :where(input, button, select, textarea, progress, meter) {
    display: inline-block; /* TODO: and_chr >= 115, chrome >= 115, edge >= 115 */
    display: inline flow-root;
  }

  :where(.c-foundation) :where(input, button, select, textarea) {
    text-indent: initial;
  }

  :where(.c-foundation) :where(input, select, textarea) {
    text-align: initial;
  }

  :where(.c-foundation) :where(input):where([type="hidden"i]) {
    display: none;
  }

  :where(.c-foundation) :where(input):where([type="submit"i], [type="reset"i], [type="button"i]) {
    text-align: center;
  }

  :where(.c-foundation) :where(input):where([type="image"i]) {
    display: block; /* TODO: and_chr >= 115, chrome >= 115, edge >= 115 */
    display: block flow;
    max-inline-size: 100%;
  }

  :where(.c-foundation) :where(button) {
    text-align: center;
  }

  :where(.c-foundation) :where(datalist) {
    display: none;
  }

  :where(.c-foundation) :where(textarea) {
    resize: vertical; /* TODO: and_chr >= 118, chrome >= 118, edge >= 118 */
    resize: block;
    text-wrap-mode: nowrap;
    white-space-collapse: preserve;
  }

  @supports not ((text-wrap-mode: nowrap) and (white-space-collapse: preserve)) {
    :where(.c-foundation) :where(textarea) {
      white-space: pre; /* TODO: and_chr >= 130, and_ff >= 124, chrome >= 130, edge >= 130, firefox >= 124, ios_saf >= 17.4, safari >= 17.4 */
    }
  }

  :where(.c-foundation) :where(progress, meter) {
    block-size: 1em;
    max-inline-size: 100%;
  }

  :where(.c-foundation) :where(progress) {
    inline-size: 10em; /* TODO: research */
  }

  :where(.c-foundation) :where(meter) {
    inline-size: 5em; /* TODO: research */
  }

  :where(.c-foundation) :where(fieldset) {
    min-inline-size: min-content;
  }
}

@layer cavalree {
  :where(.c-foundation) :where(details, summary, dialog) {
    all: unset;
  }

  :where(.c-foundation) :where(details, summary, dialog) {
    background-repeat: no-repeat;
    border-style: solid;
    border-width: 0px;
    box-sizing: border-box;
    display: block; /* TODO: and_chr >= 115, chrome >= 115, edge >= 115 */
    display: block flow;
  }

  :where(.c-foundation) :where(dialog) {
    background-color: Canvas;
    block-size: fit-content;
    color: CanvasText;
    inline-size: fit-content;
    inset: 0px;
    margin: auto;
    position: absolute;
  }

  :where(.c-foundation) :where(dialog):where(:not([open])) {
    display: none;
  }
}

@layer cavalree {
  :where(.c-foundation) :where(script, noscript, template, slot, canvas) {
    all: unset;
  }

  :where(.c-foundation) :where(script, noscript, template, slot, canvas) {
    background-repeat: no-repeat;
    border-style: solid;
    border-width: 0px;
    box-sizing: border-box;
  }

  :where(.c-foundation) :where(script, template) {
    display: none;
  }

  @media (scripting: enabled) {
    :where(.c-foundation) :where(noscript) {
      display: none;
    }
  }

  :where(.c-foundation) :where(slot) {
    display: contents;
  }

  :where(.c-foundation) :where(canvas) {
    display: block; /* TODO: and_chr >= 115, chrome >= 115, edge >= 115 */
    display: block flow;
    max-inline-size: 100%;
  }
}
