/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer theme {
  :root, :host {
    --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
      "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
      "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}

@layer base {
  *, :after, :before, ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  html, :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }

  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }

  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }

  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }

  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }

  b, strong {
    font-weight: bolder;
  }

  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }

  small {
    font-size: 80%;
  }

  sub, sup {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }

  :-moz-focusring:where(:not(iframe)) {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

  ol, ul, menu {
    list-style: none;
  }

  img, svg, video, canvas, audio, iframe, embed, object {
    vertical-align: middle;
    display: block;
  }

  img, video {
    max-width: 100%;
    height: auto;
  }

  button, input, select, optgroup, textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }

  ::file-selector-button {
    margin-inline-end: 4px;
  }

  ::placeholder {
    opacity: 1;
  }

  @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentColor;
    }

    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }

  textarea {
    resize: vertical;
  }

  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }

  ::-webkit-datetime-edit {
    display: inline-flex;
  }

  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }

  ::-webkit-datetime-edit {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }

  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }

  :-moz-ui-invalid {
    box-shadow: none;
  }

  button, input:where([type="button"], [type="reset"], [type="submit"]) {
    appearance: button;
  }

  ::file-selector-button {
    appearance: button;
  }

  ::-webkit-inner-spin-button {
    height: auto;
  }

  ::-webkit-outer-spin-button {
    height: auto;
  }

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }

  [data-rich-content] .vc-math {
    margin: var(--vc-prose-gap) 0;
    padding: .25rem 0;
    overflow: auto hidden;
  }

  [data-rich-content] .vc-math math {
    font-size: 1.12em;
  }

  [data-rich-content] .vc-math-inline math {
    font-size: 1.05em;
  }

  [data-rich-content] .vc-diagram {
    margin: calc(var(--vc-section-gap) * .8) 0;
  }

  [data-rich-content] .vc-diagram [hidden] {
    display: none !important;
  }

  [data-rich-content] .vc-diagram-svg {
    border: 1px solid var(--vc-hairline);
    border-radius: var(--vc-radius);
    justify-content: safe center;
    padding: 1.25rem 1rem;
    display: flex;
    overflow-x: auto;
  }

  [data-rich-content] .vc-diagram-svg svg {
    max-width: 100%;
    height: auto;
  }

  [data-rich-content] .vc-tabs {
    margin: var(--vc-prose-gap) 0;
  }

  [data-rich-content] .vc-tab + .vc-tab {
    margin-top: 1.25rem;
  }

  [data-rich-content] .vc-tab > :last-child {
    margin-bottom: 0;
  }

  [data-rich-content] .vc-tab-label {
    font-family: var(--vc-font-mono);
    color: var(--vc-muted-fg);
    margin: 0 0 .4rem;
    font-size: .75rem;
    line-height: 1.5;
  }

  [data-rich-content] .vc-tabs[data-vc-tabs-ready] .vc-tab-label {
    display: none;
  }

  [data-rich-content] .vc-tabs[data-vc-tabs-ready] .vc-tab + .vc-tab {
    margin-top: 0;
  }

  [data-rich-content] .vc-tab[hidden] {
    display: none !important;
  }

  [data-rich-content] .vc-tab:focus-visible {
    outline: 2px solid var(--vc-accent);
    outline-offset: 4px;
    border-radius: 2px;
  }

  [data-rich-content] .vc-tablist {
    border-bottom: 1px solid var(--vc-hairline);
    scrollbar-width: none;
    gap: .25rem;
    margin: 0 0 1rem;
    display: flex;
    overflow-x: auto;
  }

  [data-rich-content] .vc-tablist button {
    color: var(--vc-muted-fg);
    font: inherit;
    white-space: nowrap;
    cursor: pointer;
    background: none;
    border: 0;
    border-bottom: 2px solid #0000;
    flex: none;
    margin: 0 0 -1px;
    padding: .5rem .75rem;
    font-size: .875rem;
    font-weight: 550;
    line-height: 1.4;
    transition: color .15s, border-color .15s;
  }

  [data-rich-content] .vc-tablist button:hover {
    color: var(--vc-fg);
  }

  [data-rich-content] .vc-tablist button[aria-selected="true"] {
    color: var(--vc-fg);
    border-bottom-color: var(--vc-accent);
  }

  [data-rich-content] .vc-tablist button:focus-visible {
    outline: 2px solid var(--vc-accent);
    outline-offset: -2px;
    border-radius: 4px;
  }

  [data-rich-content] .vc-tabs[data-vc-tabs="code"][data-vc-tabs-ready] {
    border: 1px solid var(--vc-code-border);
    border-radius: var(--vc-radius);
    background: var(--vc-code-bg);
    margin: 1.5rem 0;
    position: relative;
    overflow: hidden;
  }

  [data-rich-content] .vc-tabs[data-vc-tabs="code"][data-vc-tabs-ready] .vc-tablist {
    gap: 0;
    margin: 0;
    padding: 0 4.5rem 0 .4rem;
  }

  [data-rich-content] .vc-tabs[data-vc-tabs="code"][data-vc-tabs-ready] .vc-tablist button {
    font-family: var(--vc-font-mono);
    padding: .55rem .6rem;
    font-size: .75rem;
    font-weight: 500;
  }

  [data-rich-content] .vc-tabs[data-vc-tabs="code"][data-vc-tabs-ready] .vc-code-frame {
    background: none;
    border: 0;
    border-radius: 0;
    margin: 0;
  }

  [data-rich-content] .vc-tabs[data-vc-tabs="code"][data-vc-tabs-ready] .vc-code-frame-toolbar {
    border: 0;
    min-height: 2.35rem;
    padding: 0 .5rem 0 0;
    position: absolute;
    top: 0;
    right: 0;
  }

  [data-rich-content] .vc-tabs[data-vc-tabs="code"][data-vc-tabs-ready] :is(.vc-code-frame-title, .vc-code-frame-lang) {
    display: none;
  }

  [data-rich-content] .vc-code-word {
    background: var(--vc-accent);
    border-radius: 3px;
  }

  @supports (color: color-mix(in lab, red, red)) {
    [data-rich-content] .vc-code-word {
      background: color-mix(in oklch, var(--vc-accent) 16%, transparent);
    }
  }

  [data-rich-content] .vc-code-word {
    box-shadow: 0 0 0 1px var(--vc-accent);
  }

  @supports (color: color-mix(in lab, red, red)) {
    [data-rich-content] .vc-code-word {
      box-shadow: 0 0 0 1px color-mix(in oklch, var(--vc-accent) 28%, transparent);
    }
  }

  [data-rich-content] .vc-code-frame pre[data-wrap] {
    white-space: pre-wrap;
  }

  [data-rich-content] .vc-code-frame pre[data-wrap] code {
    grid-template-columns: minmax(0, 1fr);
    min-width: 0;
  }

  [data-rich-content] .vc-code-frame pre[data-wrap] .line {
    overflow-wrap: anywhere;
  }

  [data-rich-content] code.vc-shiki-inline span {
    color: light-dark(var(--shiki-light), var(--shiki-dark));
  }

  [data-rich-content] :is(h5, h6) {
    scroll-margin-top: 1.5rem;
    position: relative;
  }

  [data-rich-content] :is(h5, h6):hover .vc-heading-anchor {
    opacity: 1;
  }

  [data-rich-content] .vc-table-scroll {
    max-width: 100%;
    margin: var(--vc-prose-gap) 0;
    overflow-x: auto;
  }

  [data-rich-content] .vc-table-scroll:focus-visible {
    outline: 2px solid var(--vc-accent);
    outline-offset: 2px;
    border-radius: 2px;
  }

  [data-rich-content] .vc-table-scroll > table {
    width: auto;
    max-width: none;
    margin: 0;
    display: table;
    overflow: visible;
  }

  html[data-vc-reader-mode="dark"] :is(.vc-img-light, figure:has( > .vc-img-light)), html[data-vc-reader-mode="light"] :is(.vc-img-dark, figure:has( > .vc-img-dark)), html:not([data-vc-reader-mode]) [data-vc-mode="dark"] :is(.vc-img-light, figure:has( > .vc-img-light)):not([data-vc-mode="dark"] [data-vc-mode="light"] *), html:not([data-vc-reader-mode]) [data-vc-mode="light"] :is(.vc-img-dark, figure:has( > .vc-img-dark)):not([data-vc-mode="light"] [data-vc-mode="dark"] *) {
    display: none !important;
  }

  @media (prefers-color-scheme: dark) {
    html:not([data-vc-reader-mode]) :is(.vc-img-light, figure:has( > .vc-img-light)):not([data-vc-mode="light"] *) {
      display: none !important;
    }
  }

  @media not all and (prefers-color-scheme: dark) {
    html:not([data-vc-reader-mode]) :is(.vc-img-dark, figure:has( > .vc-img-dark)):not([data-vc-mode="dark"] *) {
      display: none !important;
    }
  }

  @media print {
    [data-rich-content] .vc-tablist {
      display: none;
    }

    [data-rich-content] .vc-tab[hidden] {
      display: block !important;
    }

    [data-rich-content] .vc-tabs[data-vc-tabs-ready] .vc-tab-label {
      display: block;
    }
  }

  :root {
    --vc-font-body: Geist, ui-sans-serif, system-ui, sans-serif;
    --vc-font-heading: Geist, ui-sans-serif, system-ui, sans-serif;
  }

  [data-vc-theme], [data-rich-content] {
    color-scheme: light dark;
    --vc-bg: light-dark(oklch(99.2% .002 95), oklch(16.2% .004 260));
    --vc-fg: light-dark(oklch(21% .006 95), oklch(93.5% .004 260));
    --vc-muted: light-dark(oklch(96.6% .003 95), oklch(20.5% .005 260));
    --vc-muted-fg: light-dark(oklch(49% .008 95), oklch(71% .008 260));
    --vc-card: light-dark(oklch(100% 0 0), oklch(19.2% .005 260));
    --vc-card-fg: var(--vc-fg);
    --vc-border: light-dark(oklch(90.5% .004 95), oklch(29% .006 260));
    --vc-hairline: light-dark(oklch(93.5% .003 95), oklch(23.5% .005 260));
    --vc-surface: light-dark(oklch(100% 0 0), oklch(19.2% .005 260));
    --vc-surface-hover: light-dark(oklch(97.8% .003 95), oklch(22% .006 260));
    --vc-surface-border: light-dark(oklch(91.5% .004 95), oklch(27% .006 260));
    --vc-shadow: light-dark(0 1px 2px oklch(0% 0 0 / .04), 0 1px 2px oklch(0% 0 0 / .3));
    --vc-tint: var(--vc-accent);
  }

  @supports (color: color-mix(in lab, red, red)) {
    [data-vc-theme], [data-rich-content] {
      --vc-tint: color-mix(in oklch, var(--vc-accent) 12%, var(--vc-bg));
    }
  }

  [data-vc-theme], [data-rich-content] {
    --vc-accent: light-dark(var(--vc-accent-light, oklch(46% .09 190)), var(--vc-accent-dark, oklch(80% .12 190)));
    --vc-accent-fg: light-dark(oklch(99% .002 95), oklch(16% .02 158));
    --vc-link: var(--vc-accent);
    --vc-link-hover: light-dark(var(--vc-accent-light, oklch(46% .09 190)), var(--vc-accent-dark, oklch(80% .12 190)));
  }

  @supports (color: color-mix(in lab, red, red)) {
    [data-vc-theme], [data-rich-content] {
      --vc-link-hover: light-dark(color-mix(in oklch, var(--vc-accent-light, oklch(46% .09 190)) 78%, black), color-mix(in oklch, var(--vc-accent-dark, oklch(80% .12 190)) 72%, white));
    }
  }

  [data-vc-theme], [data-rich-content] {
    --vc-selection: var(--vc-accent);
  }

  @supports (color: color-mix(in lab, red, red)) {
    [data-vc-theme], [data-rich-content] {
      --vc-selection: color-mix(in oklch, var(--vc-accent) 22%, transparent);
    }
  }

  [data-vc-theme], [data-rich-content] {
    --vc-callout-note: light-dark(oklch(96.5% .018 240), oklch(22% .03 240));
    --vc-callout-note-fg: light-dark(oklch(45% .13 240), oklch(78% .1 240));
    --vc-callout-note-border: light-dark(oklch(88% .04 240), oklch(32% .06 240));
    --vc-callout-tip: light-dark(oklch(96.5% .022 154), oklch(22% .03 154));
    --vc-callout-tip-fg: light-dark(oklch(44% .11 154), oklch(79% .13 154));
    --vc-callout-tip-border: light-dark(oklch(88% .05 154), oklch(32% .06 154));
    --vc-callout-important: light-dark(oklch(96.5% .018 290), oklch(22% .035 290));
    --vc-callout-important-fg: light-dark(oklch(46% .15 290), oklch(79% .11 290));
    --vc-callout-important-border: light-dark(oklch(88% .045 290), oklch(33% .07 290));
    --vc-callout-warning: light-dark(oklch(97% .03 85), oklch(23% .035 80));
    --vc-callout-warning-fg: light-dark(oklch(47% .1 65), oklch(83% .11 80));
    --vc-callout-warning-border: light-dark(oklch(89% .06 85), oklch(34% .06 80));
    --vc-callout-caution: light-dark(oklch(96.5% .02 25), oklch(22% .035 25));
    --vc-callout-caution-fg: light-dark(oklch(48% .16 25), oklch(78% .12 25));
    --vc-callout-caution-border: light-dark(oklch(88% .05 25), oklch(33% .07 25));
    --vc-code-bg: light-dark(oklch(97.8% .003 95), oklch(18.8% .005 260));
    --vc-code-fg: var(--vc-fg);
    --vc-code-border: var(--vc-border);
    --vc-code-inline-bg: light-dark(oklch(95.4% .004 95), oklch(24% .006 260));
    --vc-code-highlight: var(--vc-accent);
  }

  @supports (color: color-mix(in lab, red, red)) {
    [data-vc-theme], [data-rich-content] {
      --vc-code-highlight: color-mix(in oklch, var(--vc-accent) 11%, transparent);
    }
  }

  [data-vc-theme], [data-rich-content] {
    --vc-code-add: light-dark(oklch(94% .05 150 / .7), oklch(35% .08 150 / .35));
    --vc-code-remove: light-dark(oklch(94% .04 25 / .7), oklch(35% .09 25 / .35));
    --vc-quote-fg: var(--vc-muted-fg);
    --vc-quote-border: light-dark(oklch(84% .006 95), oklch(38% .008 260));
    --vc-figure-bg: var(--vc-muted);
    --vc-caption-fg: var(--vc-muted-fg);
    --vc-font-mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
    --vc-prose-size: 1.0625rem;
    --vc-prose-measure: var(--vc-user-measure, 40rem);
    --vc-prose-leading: 1.72;
    --vc-heading-scale: 1;
    --vc-heading-weight: 650;
    --vc-heading-tracking: -.022em;
    --vc-prose-gap: 1.25em;
    --vc-section-gap: 2.75rem;
    --vc-radius: var(--vc-user-radius, 8px);
  }

  [data-vc-theme][data-vc-mode="light"], [data-rich-content][data-vc-mode="light"] {
    color-scheme: light;
  }

  [data-vc-theme][data-vc-mode="dark"], [data-rich-content][data-vc-mode="dark"] {
    color-scheme: dark;
  }

  [data-vc-theme] ::selection {
    background: var(--vc-selection);
  }

  [data-rich-content] .vc-callout {
    margin: var(--vc-prose-gap) 0;
    border-radius: var(--vc-radius);
    color: var(--vc-fg);
    padding: .875rem 1.125rem .9rem;
    font-size: .9375em;
    line-height: 1.62;
    display: block;
  }

  [data-rich-content] .vc-callout > :last-child {
    margin-bottom: 0;
  }

  [data-rich-content] .vc-callout p {
    font-size: inherit;
    line-height: inherit;
    margin-bottom: .6em;
  }

  [data-rich-content] .vc-callout[data-callout="note"] {
    background: var(--vc-callout-note);
    --vc-callout-accent: var(--vc-callout-note-fg);
  }

  [data-rich-content] .vc-callout[data-callout="tip"] {
    background: var(--vc-callout-tip);
    --vc-callout-accent: var(--vc-callout-tip-fg);
  }

  [data-rich-content] .vc-callout[data-callout="important"] {
    background: var(--vc-callout-important);
    --vc-callout-accent: var(--vc-callout-important-fg);
  }

  [data-rich-content] .vc-callout[data-callout="warning"] {
    background: var(--vc-callout-warning);
    --vc-callout-accent: var(--vc-callout-warning-fg);
  }

  [data-rich-content] .vc-callout[data-callout="caution"] {
    background: var(--vc-callout-caution);
    --vc-callout-accent: var(--vc-callout-caution-fg);
  }

  [data-rich-content] .vc-callout-label {
    color: var(--vc-callout-accent, var(--vc-fg));
    letter-spacing: 0;
    text-transform: none;
    align-items: center;
    gap: .45em;
    margin-bottom: .3rem;
    font-size: .9375em;
    font-weight: 650;
    display: flex;
  }

  [data-rich-content] .vc-callout-label:before {
    content: "";
    background: currentColor;
    flex: none;
    width: 1.05em;
    height: 1.05em;
    -webkit-mask: none center / contain no-repeat;
    mask: none center / contain no-repeat;
  }

  [data-rich-content] .vc-callout[data-callout="note"] .vc-callout-label:before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4M12 8h.01'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4M12 8h.01'/%3E%3C/svg%3E");
  }

  [data-rich-content] .vc-callout[data-callout="tip"] .vc-callout-label:before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5'/%3E%3Cpath d='M9 18h6M10 22h4'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5'/%3E%3Cpath d='M9 18h6M10 22h4'/%3E%3C/svg%3E");
  }

  [data-rich-content] .vc-callout[data-callout="important"] .vc-callout-label:before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 17a2 2 0 0 1-2 2H6.8a2 2 0 0 0-1.4.6l-2.2 2.2A.7.7 0 0 1 2 21.3V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z'/%3E%3Cpath d='M12 7v4M12 15h.01'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 17a2 2 0 0 1-2 2H6.8a2 2 0 0 0-1.4.6l-2.2 2.2A.7.7 0 0 1 2 21.3V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z'/%3E%3Cpath d='M12 7v4M12 15h.01'/%3E%3C/svg%3E");
  }

  [data-rich-content] .vc-callout[data-callout="warning"] .vc-callout-label:before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.7 18-8-14a2 2 0 0 0-3.5 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.7-3'/%3E%3Cpath d='M12 9v4M12 17h.01'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.7 18-8-14a2 2 0 0 0-3.5 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.7-3'/%3E%3Cpath d='M12 9v4M12 17h.01'/%3E%3C/svg%3E");
  }

  [data-rich-content] .vc-callout[data-callout="caution"] .vc-callout-label:before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.6 16.1 7.9 2.9A1.4 1.4 0 0 1 9.2 2h5.6a1.4 1.4 0 0 1 1.3.9l5.3 13.2a1.4 1.4 0 0 1-.3 1.5l-4 4a1.4 1.4 0 0 1-1 .4H7.9a1.4 1.4 0 0 1-1-.4l-4-4a1.4 1.4 0 0 1-.3-1.5'/%3E%3Cpath d='M12 8v4M12 16h.01'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.6 16.1 7.9 2.9A1.4 1.4 0 0 1 9.2 2h5.6a1.4 1.4 0 0 1 1.3.9l5.3 13.2a1.4 1.4 0 0 1-.3 1.5l-4 4a1.4 1.4 0 0 1-1 .4H7.9a1.4 1.4 0 0 1-1-.4l-4-4a1.4 1.4 0 0 1-.3-1.5'/%3E%3Cpath d='M12 8v4M12 16h.01'/%3E%3C/svg%3E");
  }

  [data-rich-content] details {
    margin: var(--vc-prose-gap) 0;
    border: 1px solid var(--vc-border);
    border-radius: var(--vc-radius);
    padding: 0 1rem;
  }

  [data-rich-content] details > summary {
    cursor: pointer;
    align-items: center;
    gap: .5rem;
    padding: .7rem 0;
    font-weight: 600;
    list-style: none;
    display: flex;
  }

  [data-rich-content] details > summary::-webkit-details-marker {
    display: none;
  }

  [data-rich-content] details > summary:before {
    content: "";
    border-right: 1.5px solid var(--vc-muted-fg);
    border-bottom: 1.5px solid var(--vc-muted-fg);
    flex: none;
    width: .45em;
    height: .45em;
    transition: transform .16s;
    transform: rotate(-45deg);
  }

  [data-rich-content] details[open] > summary:before {
    transform: rotate(45deg);
  }

  [data-rich-content] details[open] {
    padding-bottom: .25rem;
  }

  [data-rich-content] details > :last-child {
    margin-bottom: .75rem;
  }

  [data-rich-content] nav[data-toc] {
    margin: var(--vc-section-gap) 0;
    border-left: 1px solid var(--vc-border);
    padding-left: 1rem;
  }

  [data-rich-content] nav[data-toc] ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  [data-rich-content] nav[data-toc] ul ul {
    padding-left: .9rem;
  }

  [data-rich-content] nav[data-toc] li {
    margin: 0;
    padding: .15rem 0;
  }

  [data-rich-content] nav[data-toc] a {
    color: var(--vc-muted-fg);
    font-size: .9375rem;
    line-height: 1.5;
    text-decoration: none;
  }

  [data-rich-content] nav[data-toc] a:hover {
    color: var(--vc-fg);
  }

  [data-rich-content] figure {
    margin: calc(var(--vc-section-gap) * .8) 0;
  }

  [data-rich-content] figure[data-captioned] img {
    border-radius: var(--vc-radius);
    width: 100%;
    height: auto;
    margin: 0;
    display: block;
  }

  [data-rich-content] figure[data-captioned] figcaption {
    color: var(--vc-caption-fg);
    text-align: center;
    text-wrap: balance;
    padding: .7rem 1rem 0;
    font-size: .875rem;
    line-height: 1.5;
  }

  [data-rich-content] figure[data-captioned] figcaption em {
    font-style: normal;
  }

  [data-rich-content] img[data-zoomable] {
    cursor: zoom-in;
  }

  [data-rich-content] .vc-embed-link {
    border-radius: var(--vc-radius);
    aspect-ratio: 16 / 9;
    background: #000;
    display: block;
    position: relative;
    overflow: hidden;
  }

  [data-rich-content] .vc-embed-link img {
    object-fit: cover;
    opacity: .88;
    border-radius: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    transition: opacity .18s;
  }

  [data-rich-content] .vc-embed-link:hover img {
    opacity: 1;
  }

  [data-rich-content] .vc-embed-play {
    background: oklch(0% 0 0 / .72);
    border-radius: .75rem;
    width: 4rem;
    height: 2.8rem;
    position: absolute;
    inset: 50% auto auto 50%;
    translate: -50% -50%;
  }

  [data-rich-content] .vc-embed-play:after {
    content: "";
    border: .55rem solid #0000;
    border-left: .9rem solid #fff;
    border-right-width: 0;
    position: absolute;
    inset: 50% auto auto 54%;
    translate: -50% -50%;
  }

  [data-rich-content] {
    min-width: 0;
  }

  [data-rich-content] table {
    border-collapse: collapse;
    width: max-content;
    max-width: 100%;
    margin: var(--vc-prose-gap) 0;
    font-variant-numeric: tabular-nums;
    font-size: .9375em;
    line-height: 1.55;
    display: block;
    overflow-x: auto;
  }

  [data-rich-content] th, [data-rich-content] td {
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid var(--vc-hairline);
    padding: .55rem 1.25rem .55rem 0;
  }

  [data-rich-content] th {
    border-bottom-color: var(--vc-border);
    white-space: nowrap;
    font-weight: 600;
  }

  [data-rich-content] th[align="right"], [data-rich-content] td[align="right"] {
    text-align: right;
  }

  [data-rich-content] th[align="center"], [data-rich-content] td[align="center"] {
    text-align: center;
  }

  [data-rich-content] a {
    overflow-wrap: anywhere;
  }

  [data-rich-content] kbd {
    font-family: var(--vc-font-mono);
    border: 1px solid var(--vc-border);
    background: var(--vc-card);
    border-bottom-width: 2px;
    border-radius: 4px;
    padding: .1em .4em;
    font-size: .8em;
  }

  [data-rich-content] mark {
    background: var(--vc-accent);
  }

  @supports (color: color-mix(in lab, red, red)) {
    [data-rich-content] mark {
      background: color-mix(in oklch, var(--vc-accent) 20%, transparent);
    }
  }

  [data-rich-content] mark {
    color: inherit;
    border-radius: 2px;
    padding: 0 .15em;
  }

  [data-rich-content] .vc-code-frame {
    border: 1px solid var(--vc-code-border);
    border-radius: var(--vc-radius);
    background: var(--vc-code-bg);
    margin: 1.5rem 0;
    overflow: hidden;
  }

  [data-rich-content] .vc-code-frame-toolbar {
    border-bottom: 1px solid var(--vc-hairline);
    min-height: 2.25rem;
    font-family: var(--vc-font-mono);
    color: var(--vc-muted-fg);
    align-items: center;
    gap: .75rem;
    padding: 0 .5rem 0 .9rem;
    font-size: .75rem;
    display: flex;
  }

  [data-rich-content] .vc-code-frame-title {
    color: var(--vc-fg);
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }

  [data-rich-content] .vc-code-frame-lang {
    text-transform: lowercase;
  }

  [data-rich-content] .vc-code-frame-title + .vc-code-frame-lang {
    opacity: .8;
  }

  [data-rich-content] .vc-code-copy {
    font: inherit;
    color: var(--vc-muted-fg);
    cursor: pointer;
    background: none;
    border: 0;
    border-radius: 5px;
    margin-left: auto;
    padding: .25rem .5rem;
    transition: color .15s, background-color .15s;
  }

  [data-rich-content] .vc-code-copy:hover {
    color: var(--vc-fg);
    background: var(--vc-muted);
  }

  [data-rich-content] .vc-code-copy:focus-visible {
    outline: 2px solid var(--vc-accent);
    outline-offset: 1px;
  }

  [data-rich-content] .vc-code-frame pre {
    color: var(--vc-code-fg);
    font-family: var(--vc-font-mono);
    tab-size: 2;
    background: none;
    border: 0;
    border-radius: 0;
    margin: 0;
    padding: .9rem 0;
    font-size: .8125rem;
    line-height: 1.7;
    overflow-x: auto;
  }

  [data-rich-content] .vc-code-frame pre:focus-visible {
    outline: 2px solid var(--vc-accent);
    outline-offset: -2px;
  }

  [data-rich-content] .vc-code-frame pre code {
    min-width: max-content;
    font-size: inherit;
    color: inherit;
    background: none;
    border-radius: 0;
    padding: 0;
    display: grid;
  }

  [data-rich-content] .vc-code-frame .line {
    border-left: 2px solid #0000;
    min-height: 1lh;
    padding: 0 1.1rem;
    display: block;
  }

  [data-rich-content] .vc-shiki .line span {
    color: light-dark(var(--shiki-light), var(--shiki-dark));
    font-style: light-dark(var(--shiki-light-font-style, inherit), var(--shiki-dark-font-style, inherit));
  }

  [data-rich-content] .vc-code-frame .line[data-highlighted] {
    background: var(--vc-code-highlight);
    border-left-color: var(--vc-accent);
  }

  [data-rich-content] .vc-code-frame .line[data-diff="add"] {
    background: var(--vc-code-add);
  }

  [data-rich-content] .vc-code-frame .line[data-diff="remove"] {
    background: var(--vc-code-remove);
  }

  [data-rich-content] pre:not([data-lang="diff"]) .line[data-diff]:before {
    width: 1ch;
    color: var(--vc-muted-fg);
    margin-left: -1.25ch;
    margin-right: .25ch;
    display: inline-block;
  }

  [data-rich-content] pre:not([data-lang="diff"]) .line[data-diff="add"]:before {
    content: "+";
  }

  [data-rich-content] pre:not([data-lang="diff"]) .line[data-diff="remove"]:before {
    content: "-";
  }

  [data-rich-content] pre[data-has-focus] .line:not([data-focus]) {
    opacity: .45;
    filter: blur(.5px);
    transition: opacity .18s, filter .18s;
  }

  [data-rich-content] pre[data-has-focus]:hover .line {
    opacity: 1;
    filter: none;
  }

  [data-rich-content] pre[data-line-numbers] code {
    counter-reset: vc-line;
  }

  [data-rich-content] pre[data-line-numbers] .line:before {
    counter-increment: vc-line;
    content: counter(vc-line);
    text-align: right;
    width: 2ch;
    color: var(--vc-muted-fg);
    opacity: .6;
    margin-right: 1.25rem;
    display: inline-block;
  }

  [data-rich-content] pre:not([data-vc-code-framed]) {
    border: 1px solid var(--vc-code-border);
    border-radius: var(--vc-radius);
    background: var(--vc-code-bg);
    font-family: var(--vc-font-mono);
    margin: 1.5rem 0;
    padding: .9rem 1.1rem;
    font-size: .8125rem;
    line-height: 1.7;
    overflow-x: auto;
  }

  [data-rich-content] :is(h2, h3, h4) {
    scroll-margin-top: 1.5rem;
    position: relative;
  }

  [data-rich-content] .vc-heading-anchor {
    text-align: left;
    width: 1em;
    color: var(--vc-muted-fg);
    opacity: 0;
    font-weight: 400;
    text-decoration: none;
    transition: opacity .15s;
    position: absolute;
    left: -1.1em;
  }

  [data-rich-content] :is(h2, h3, h4):hover .vc-heading-anchor, [data-rich-content] .vc-heading-anchor:focus-visible {
    opacity: 1;
  }

  @media (hover: none) {
    [data-rich-content] .vc-heading-anchor {
      display: none;
    }
  }

  [data-rich-content] :not(pre) > code {
    font-family: var(--vc-font-mono);
    background: var(--vc-code-inline-bg);
    color: var(--vc-fg);
    overflow-wrap: anywhere;
    border-radius: 4px;
    padding: .12em .36em;
    font-size: .86em;
  }

  [data-rich-content] .sr-only {
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    position: absolute;
    overflow: hidden;
  }

  [data-rich-content] sup > a[data-footnote-ref] {
    font-family: var(--vc-font-mono);
    padding: 0 .15em;
    font-size: .75em;
    text-decoration: none;
  }

  [data-rich-content] sup > a[data-footnote-ref]:before {
    content: "[";
  }

  [data-rich-content] sup > a[data-footnote-ref]:after {
    content: "]";
  }

  [data-rich-content] section[data-footnotes] {
    margin-top: var(--vc-section-gap);
    border-top: 1px solid var(--vc-hairline);
    color: var(--vc-muted-fg);
    padding-top: 1.25rem;
    font-size: .875rem;
  }

  [data-rich-content] section[data-footnotes] ol {
    padding-left: 1.25rem;
  }

  [data-rich-content] section[data-footnotes] li, [data-rich-content] section[data-footnotes] p {
    font-size: inherit;
    margin-bottom: .35rem;
  }

  [data-rich-content] section[data-footnotes] li:target {
    color: var(--vc-fg);
  }

  [data-rich-content] a[data-footnote-backref] {
    font-family: var(--vc-font-mono);
    text-decoration: none;
  }

  @media print {
    [data-rich-content] .vc-heading-anchor, [data-rich-content] .vc-code-copy {
      display: none !important;
    }

    [data-rich-content] .vc-code-frame pre {
      white-space: pre-wrap;
      overflow: visible;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    [data-rich-content] *, [data-rich-content] :before, [data-rich-content] :after {
      transition-duration: .01ms !important;
    }
  }

  [data-vc-theme="editorial"] {
    --vc-prose-size: 1.1875rem;
    --vc-prose-measure: var(--vc-user-measure, 36rem);
    --vc-prose-leading: 1.75;
    --vc-prose-gap: 1.35em;
    --vc-section-gap: 3.25rem;
    --vc-heading-scale: 1.06;
    --vc-heading-weight: 560;
    --vc-heading-tracking: -.012em;
    --vc-radius: var(--vc-user-radius, 4px);
  }

  [data-vc-theme="technical"] {
    --vc-prose-size: 1rem;
    --vc-prose-measure: var(--vc-user-measure, 46rem);
    --vc-prose-leading: 1.66;
    --vc-prose-gap: 1.1em;
    --vc-section-gap: 2.5rem;
    --vc-heading-scale: .94;
    --vc-heading-weight: 640;
    --vc-heading-tracking: -.018em;
    --vc-radius: var(--vc-user-radius, 4px);
  }

  [data-vc-theme="product"] {
    --vc-prose-size: 1.0625rem;
    --vc-prose-measure: var(--vc-user-measure, 40rem);
    --vc-prose-leading: 1.7;
    --vc-prose-gap: 1.3em;
    --vc-section-gap: 3rem;
    --vc-heading-scale: 1.12;
    --vc-heading-weight: 720;
    --vc-heading-tracking: -.032em;
    --vc-radius: var(--vc-user-radius, 14px);
  }
}

@layer components, utilities;

@font-face {
  font-family: Geist;
  src: url("/_astro/Geist-Variable.Bj2R_7yk.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Geist Mono;
  src: url("/_astro/GeistMono-Variable.Dispecij.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Space Grotesk;
  src: url("/_astro/SpaceGrotesk-Variable.BhU9QXUp.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Hanken Grotesk;
  src: url("/_astro/HankenGrotesk-Variable.CaVRRdDk.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: JetBrains Mono;
  src: url("/_astro/JetBrainsMono-Variable.B9CIFXIH.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Newsreader;
  src: url("/_astro/Newsreader-Variable.s-izfB6B.woff2") format("woff2");
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Newsreader;
  src: url("/_astro/Newsreader-Italic-Variable.kJKFiXvB.woff2") format("woff2");
  font-weight: 200 800;
  font-style: italic;
  font-display: swap;
}

[data-rich-content] ol.vc-steps {
  counter-reset: vc-step;
  margin: var(--vc-prose-gap) 0;
  padding-left: 0;
  list-style: none;
}

[data-rich-content] ol.vc-steps > li {
  counter-increment: vc-step;
  margin: 0;
  padding: 0 0 1.35rem 2.6rem;
  position: relative;
}

[data-rich-content] ol.vc-steps > li:last-child {
  padding-bottom: 0;
}

[data-rich-content] ol.vc-steps > li:before {
  content: counter(vc-step);
  border: 1px solid var(--vc-border);
  background: var(--vc-bg);
  width: 1.7rem;
  height: 1.7rem;
  color: var(--vc-fg);
  font-family: var(--vc-font-mono);
  border-radius: 50%;
  place-items: center;
  font-size: .75rem;
  font-weight: 600;
  line-height: 1;
  display: grid;
  position: absolute;
  top: calc(.5lh - .85rem);
  left: 0;
}

[data-rich-content] ol.vc-steps > li:not(:last-child):after {
  content: "";
  background: var(--vc-border);
  width: 1px;
  position: absolute;
  top: calc(.5lh + 1.15rem);
  bottom: .3rem;
  left: calc(.85rem - .5px);
}

[data-rich-content] ol.vc-steps > li > :is(h2, h3, h4, h5, h6):first-child {
  margin-top: 0;
}

html[data-vc-theme] {
  background: var(--vc-bg);
  color: var(--vc-fg);
  font-family: var(--vc-font-body);
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-padding-top: 5rem;
}

html[data-vc-reader-mode="light"], html[data-vc-reader-mode="light"] [data-vc-theme], html[data-vc-reader-mode="light"] [data-rich-content] {
  color-scheme: light !important;
}

html[data-vc-reader-mode="dark"], html[data-vc-reader-mode="dark"] [data-vc-theme], html[data-vc-reader-mode="dark"] [data-rich-content] {
  color-scheme: dark !important;
}

html[data-vc-theme] body {
  background: var(--vc-bg);
}

@media (prefers-reduced-motion: no-preference) {
  html[data-vc-theme] {
    scroll-behavior: smooth;
  }
}

.vc-lightbox {
  cursor: zoom-out;
  background: none;
  border: 0;
  width: 100vw;
  max-width: none;
  height: 100vh;
  max-height: none;
  margin: 0;
  padding: 0;
}

.vc-lightbox::backdrop {
  background: var(--vc-bg, #000);
}

@supports (color: color-mix(in lab, red, red)) {
  .vc-lightbox::backdrop {
    background: color-mix(in oklch, var(--vc-bg, #000) 88%, transparent);
  }
}

.vc-lightbox::backdrop {
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}

.vc-lightbox img {
  object-fit: contain;
  border-radius: 6px;
  max-width: min(94vw, 1600px);
  max-height: 92vh;
  margin: 4vh auto 0;
  display: block;
}
/* Blog index list — shared by public SSR and the dashboard theme preview. */

._postList_1f15k_3 {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

._postItem_1f15k_11 {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.5rem;
  align-items: start;
  padding: 1.35rem 0;
  border-top: 1px solid var(--vc-hairline);
}

._postItem_1f15k_11:first-child {
  padding-top: 0;
  border-top: 0;
}

._postText_1f15k_26 {
  min-width: 0;
}

._postTitle_1f15k_30 {
  margin: 0 0 0.35rem;
  font-family: var(--vc-font-heading);
  font-size: calc(1.1875rem * var(--vc-heading-scale));
  font-weight: max(var(--vc-heading-weight), 600);
  letter-spacing: var(--vc-heading-tracking);
  line-height: 1.35;
  text-wrap: balance;
}

._postLink_1f15k_40 {
  color: var(--vc-fg);
  text-decoration: none;
  transition: color 150ms ease;
}

/* The whole row is the link target; the title carries the accessible name. */
._postLink_1f15k_40::after {
  content: "";
  position: absolute;
  inset: 0;
}

._postItem_1f15k_11:hover ._postLink_1f15k_40 {
  color: var(--vc-accent);
}

._postLink_1f15k_40:focus-visible {
  outline: none;
}

._postLink_1f15k_40:focus-visible::after {
  outline: 2px solid var(--vc-accent);
  outline-offset: -4px;
  border-radius: calc(var(--vc-radius) + 2px);
}

._postExcerpt_1f15k_67 {
  margin: 0 0 0.5rem;
  color: var(--vc-muted-fg);
  font-size: 0.9688rem;
  line-height: 1.6;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

._postMeta_1f15k_78 {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  margin: 0;
  color: var(--vc-muted-fg);
  font-size: 0.8125rem;
  line-height: 1.5;
}

._postMeta_1f15k_78 > * + *::before {
  content: "\00b7";
  margin: 0 0.5em;
  opacity: 0.6;
}

._postThumb_1f15k_94 {
  display: block;
  width: 9rem;
  height: auto;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  border-radius: var(--vc-radius);
  background: var(--vc-muted);
}

/* ── Preset voices ─────────────────────────────────────────────────────── */

[data-vc-theme="editorial"] ._postItem_1f15k_11 {
  padding: 1.75rem 0;
}

[data-vc-theme="editorial"] ._postTitle_1f15k_30 {
  font-size: calc(1.375rem * var(--vc-heading-scale));
}

[data-vc-theme="technical"] ._postItem_1f15k_11 {
  padding: 1.05rem 0;
}

[data-vc-theme="technical"] ._postMeta_1f15k_78 {
  font-family: var(--vc-font-mono);
  font-size: 0.75rem;
}

@container vc-page (max-width: 560px) {
  ._postItem_1f15k_11 {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.9rem;
  }

  ._postThumb_1f15k_94 {
    order: -1;
    width: 100%;
    aspect-ratio: 1.91 / 1;
  }
}

/* ── Grid (Magazine): a lead story, then cards ─────────────────────────── */

._grid_1f15k_138 {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr));
  gap: clamp(1.25rem, 3vw, 2rem);
  margin: 0;
  padding: 0;
  list-style: none;
}

._card_1f15k_147 {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--vc-surface-border);
  border-radius: calc(var(--vc-radius) + 4px);
  background: var(--vc-surface);
  box-shadow: var(--vc-shadow);
  transition: border-color 150ms ease, transform 200ms var(--vc-ease, ease);
}

._card_1f15k_147:hover {
  border-color: color-mix(in oklch, var(--vc-accent) 40%, var(--vc-surface-border));
}

._cardLead_1f15k_164 {
  grid-column: 1 / -1;
}

._cardMedia_1f15k_168 {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--vc-muted);
}

._cardMedia_1f15k_168 ._postThumb_1f15k_94 {
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  border-radius: 0;
}

._cardText_1f15k_181 {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  padding: 1rem 1.15rem 1.15rem;
}

._cardTitle_1f15k_188 {
  margin: 0;
  font-family: var(--vc-font-heading);
  font-size: calc(1.15rem * var(--vc-heading-scale));
  font-weight: max(var(--vc-heading-weight), 600);
  letter-spacing: var(--vc-heading-tracking);
  line-height: 1.3;
  text-wrap: balance;
}

._card_1f15k_147 ._postLink_1f15k_40::after {
  border-radius: inherit;
}

._card_1f15k_147 ._postExcerpt_1f15k_67 {
  margin: 0;
  -webkit-line-clamp: 2;
}

@container vc-page (min-width: 44rem) {
  ._cardLead_1f15k_164 {
    display: grid;
    grid-template-columns: 1.35fr 1fr;
  }

  ._cardLead_1f15k_164 ._cardMedia_1f15k_168 {
    aspect-ratio: auto;
    min-height: 18rem;
  }

  ._cardLead_1f15k_164 ._cardText_1f15k_181 {
    justify-content: center;
    gap: 0.6rem;
    padding: clamp(1.5rem, 3vw, 2.5rem);
  }

  ._cardLead_1f15k_164 ._cardTitle_1f15k_188 {
    font-size: calc(clamp(1.6rem, 1.1rem + 1.6vw, 2.3rem) * var(--vc-heading-scale));
    line-height: 1.15;
  }

  ._cardLead_1f15k_164 ._postExcerpt_1f15k_67 {
    -webkit-line-clamp: 4;
    font-size: 1rem;
  }
}

/* Typographic stand-in for posts without a cover. */
._tile_1f15k_236 {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  min-height: 9rem;
  background:
    radial-gradient(90% 120% at 10% 0%, color-mix(in oklch, var(--vc-accent) 34%, transparent), transparent 65%),
    radial-gradient(70% 100% at 100% 100%, color-mix(in oklch, var(--vc-accent) 18%, transparent), transparent 70%),
    var(--vc-tint);
}

._tileMark_1f15k_249 {
  color: color-mix(in oklch, var(--vc-accent) 70%, var(--vc-fg));
  font-family: var(--vc-font-heading);
  font-size: clamp(3.5rem, 8vw, 5.5rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.04em;
  opacity: 0.85;
}

._tileLabel_1f15k_259 {
  position: absolute;
  left: 0.9rem;
  bottom: 0.75rem;
  color: color-mix(in oklch, var(--vc-accent) 60%, var(--vc-fg));
  font-family: var(--vc-font-mono);
  font-size: 0.6875rem;
}

/* ── Compact archive (Notebook): grouped by month ─────────────────────── */

._archive_1f15k_270 {
  display: grid;
  gap: 2rem;
}

._archiveGroup_1f15k_275 {
  min-width: 0;
}

._archiveMonth_1f15k_279 {
  margin: 0 0 0.6rem;
  color: var(--vc-muted-fg);
  font-family: var(--vc-font-mono);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.02em;
}

._archiveList_1f15k_288 {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--vc-hairline);
}

._archiveItem_1f15k_295 {
  display: grid;
  grid-template-columns: 4.5rem minmax(0, 1fr);
  gap: 1rem;
  align-items: baseline;
  padding: 0.6rem 0;
  border-bottom: 1px solid var(--vc-hairline);
}

._archiveDate_1f15k_304 {
  color: var(--vc-muted-fg);
  font-family: var(--vc-font-mono);
  font-size: 0.75rem;
  font-variant-numeric: tabular-nums;
}

._archiveLink_1f15k_311 {
  color: var(--vc-fg);
  font-size: 0.9688rem;
  font-weight: 500;
  line-height: 1.45;
  text-decoration: none;
  transition: color 150ms ease;
}

._archiveLink_1f15k_311:hover {
  color: var(--vc-accent);
}

._archiveLink_1f15k_311:focus-visible {
  outline: 2px solid var(--vc-accent);
  outline-offset: 2px;
  border-radius: 3px;
}
/* public-blog.module.css — listing headers, empty states, pagination, 404.
   The post list itself is @vc/content's PublicPostList. */

/* ── Listing header (tag / search / 404) ───────────────────────────────── */

._listingHeader_d15ry_6 {
  margin: 0 0 2.25rem;
}

._listingEyebrow_d15ry_10 {
  margin: 0 0 0.35rem;
  color: var(--vc-muted-fg);
  font-size: 0.8125rem;
}

._listingHeading_d15ry_16 {
  margin: 0;
  font-family: var(--vc-font-heading);
  font-size: calc(clamp(1.75rem, 1.3rem + 1.8vw, 2.25rem) * var(--vc-heading-scale));
  font-weight: max(var(--vc-heading-weight), 650);
  letter-spacing: calc(var(--vc-heading-tracking) - 0.006em);
  line-height: 1.15;
  overflow-wrap: anywhere;
}

._listingCount_d15ry_26 {
  margin: 0.5rem 0 0;
  color: var(--vc-muted-fg);
  font-size: 0.875rem;
}

._empty_d15ry_32,
._notFound_d15ry_33 {
  padding: 2rem 0 1rem;
  color: var(--vc-muted-fg);
  font-size: 1rem;
  line-height: 1.6;
}

._empty_d15ry_32 p {
  margin: 0 0 0.75rem;
}

._notFoundText_d15ry_44 {
  margin: 0.75rem 0 1.25rem;
}

._emptyLink_d15ry_48 {
  color: var(--vc-link);
  text-underline-offset: 0.2em;
}

/* ── Pagination ────────────────────────────────────────────────────────── */

._pagination_d15ry_55 {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 1rem;
  margin-top: 2.5rem;
  font-size: 0.875rem;
}

._pageLink_d15ry_64 {
  color: var(--vc-fg);
  text-decoration: none;
}

._pageLink_d15ry_64:last-child {
  justify-self: end;
}

._pageLink_d15ry_64:hover {
  color: var(--vc-accent);
}

._pageStatus_d15ry_77 {
  color: var(--vc-muted-fg);
}

._pageLink_d15ry_64:focus-visible,
._emptyLink_d15ry_48:focus-visible {
  outline: 2px solid var(--vc-accent);
  outline-offset: 2px;
  border-radius: 3px;
}
