@font-face {
  font-family: Aspekta;
  src: url("/fonts/Aspekta-400.woff2") format("woff2");
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: Aspekta;
  src: url("/fonts/Aspekta-650.woff2") format("woff2");
  font-weight: 650;
  font-display: swap;
}

:root {
  --color-blue-50: #eef5ef;
  --color-blue-100: #dce9df;
  --color-blue-200: #c5dccb;
  --color-blue-300: #9fc5ab;
  --color-blue-400: #70a884;
  --color-blue-500: #4a8764;
  --color-blue-600: #264f39;
  --color-blue-700: #284f3d;
  --color-slate-50: #f7f8f4;
  --color-slate-100: #edf1e9;
  --color-slate-200: #d8dfd7;
  --color-slate-300: #b9c5bc;
  --color-slate-400: #829388;
  --color-slate-500: #5d7065;
  --color-slate-600: #44584d;
  --color-slate-700: #30483b;
  --color-slate-800: #172d23;
  --color-slate-900: #142d20;
}

html { scrollbar-gutter: stable; }
[x-cloak] { display: none !important; }
body, #page-shell, #guide-workspace { background: #fff; }
.docs-header { top: 16px; left: 20px; right: 20px; width: auto; border: 1px solid rgb(214 220 210 / .8); border-radius: 12px; background: rgb(247 249 243 / .95); box-shadow: 0 2px 12px rgb(17 36 25 / .08); backdrop-filter: blur(16px); }
.docs-header > .absolute { background: transparent; border: 0; }
.docs-brand { display: inline-flex; align-items: center; gap: .65rem; color: var(--color-slate-800); font-weight: 650; text-decoration: none; }
.docs-brand img { width: 2rem; height: 2rem; }
#open-search { color: var(--color-slate-400); background: #fff; border-color: var(--color-slate-200); font-family: Aspekta, sans-serif; transition: border-color 150ms ease, box-shadow 150ms ease; }
#open-search:hover { border-color: var(--color-slate-300); box-shadow: 0 4px 12px rgb(20 45 32 / .06); }
#open-search:focus-visible { outline: 3px solid var(--color-blue-300); outline-offset: 2px; }
#search-backdrop { opacity: 0; transition: opacity 100ms ease-out; }
#search-backdrop.is-open { opacity: 1; transition-duration: 200ms; }
#search-modal { opacity: 0; pointer-events: none; transform: translateY(1rem); transition: opacity 100ms ease-out, transform 100ms ease-out; }
#search-modal.is-open { opacity: 1; pointer-events: auto; transform: translateY(0); transition-duration: 200ms; }
#search-modal > div { border: 1px solid var(--color-slate-200); font-family: Aspekta, sans-serif; box-shadow: 0 22px 55px rgb(20 45 32 / .18); }
#guide-search { color: var(--color-slate-800); font-family: Aspekta, sans-serif; }
.docs-search-results a { transition: color 120ms ease, background-color 120ms ease; }
.docs-search-results a:hover { color: var(--color-blue-700); background: var(--color-blue-50); }
.docs-utility-nav { display: flex; flex: 0 0 auto; margin-left: 1rem; }
.docs-utility-nav ul { display: flex; align-items: center; gap: .65rem; }
.docs-print-button { display: inline-flex; min-height: 2.65rem; align-items: center; gap: .45rem; padding: .65rem .9rem; border-radius: 5px; color: white; background: var(--color-blue-600); font-size: .875rem; font-weight: 650; line-height: 1; }
.docs-print-button:hover { background: var(--color-blue-700); }
.docs-print-button svg { width: 1rem; height: 1rem; fill: currentColor; }
#docs-shell { align-items: flex-start; }
#guide-sidebar { position: fixed; top: 0; bottom: 0; left: 0; z-index: 40; width: 17rem; height: 100dvh; background: #fff; border-right: 1px solid var(--color-slate-200); box-shadow: 12px 0 28px rgb(20 45 32 / .04); transition: transform 200ms ease-out; }
#sidebar-backdrop { position: fixed; inset: 0; z-index: 35; background: rgb(20 45 32 / .24); }
#mobile-sidebar-button { position: fixed; right: 1rem; bottom: 1rem; left: auto; top: auto; z-index: 45; display: flex; width: 3rem; height: 3rem; align-items: center; justify-content: center; border-radius: 9999px; color: white; background: var(--color-blue-600); box-shadow: 0 10px 24px rgb(20 45 32 / .24); }
#mobile-sidebar-button svg { width: 1.25rem; height: 1.25rem; }
.guide-sidebar-scroll { height: 100%; overflow-y: auto; overscroll-behavior: contain; background: #fff; }
.guide-sidebar-inner { padding: 6.5rem 1.25rem 2rem; background: #fff; }
.guide-back-link { margin-top: 2rem; padding-top: 1.25rem; border-top: 1px solid var(--color-slate-200); }
.guide-nav-root { display: grid; gap: .35rem; }
.guide-nav-primary { position: relative; display: flex; min-height: 2.5rem; align-items: center; gap: .7rem; padding: .45rem .55rem; border-radius: .35rem; color: var(--color-slate-800); font-size: .95rem; font-weight: 650; line-height: 1.25; }
.guide-nav-primary::before { position: absolute; inset: 0; z-index: -1; border-radius: inherit; background: linear-gradient(135deg, rgb(159 197 171 / .25), rgb(197 220 203 / .58)); content: ''; opacity: 0; }
.guide-nav-primary:hover::before, .guide-nav-primary.is-active::before, .guide-nav-primary[aria-current="page"]::before { opacity: 1; }
.guide-nav a:focus-visible, .docs-print-button:focus-visible, .language-button:focus-visible { outline: 3px solid var(--color-blue-400); outline-offset: 2px; }
.guide-nav-icon { width: 1.5rem; height: 1.5rem; flex: 0 0 auto; }
.guide-nav-icon .icon-top { fill: var(--color-blue-400); }
.guide-nav-icon .icon-left { fill: #fff; }
.guide-nav-icon .icon-right { fill: var(--color-blue-700); }
.guide-nav-official .guide-nav-icon .icon-top { fill: #59b6cf; }
.guide-nav-official .guide-nav-icon .icon-right { fill: #16718b; }
.guide-nav-children { margin: .2rem 0 .65rem 1.27rem; padding: .2rem 0 .2rem 1.45rem; border-left: 1px solid var(--color-slate-200); }
.guide-nav-children li + li { margin-top: .08rem; }
.guide-nav-children a { display: block; padding: .33rem .1rem; color: var(--color-slate-700); font-size: .88rem; font-weight: 400; line-height: 1.3; }
.guide-nav-children a:hover, .guide-nav-children a[aria-current="page"] { color: var(--color-blue-600); font-weight: 650; }
#guide-workspace { min-width: 0; width: 100%; }
.guide-workspace-inner { padding: 6.75rem 0 3.5rem; }
#guide-article-layout { display: block; min-width: 0; }
#guide-main-column { width: 100%; max-width: 48rem; margin: 0 auto; }
#guide-header { margin-bottom: 2.75rem; padding-bottom: 2rem; border-bottom: 1px solid var(--color-slate-200); }
#guide-title { max-width: 46rem; font-size: clamp(2.25rem, 5vw, 3.45rem); line-height: 1.06; letter-spacing: -.035em; }
#guide-summary { max-width: 44rem; line-height: 1.55; }
.guide-visual { margin: 0 0 3rem; overflow: hidden; border: 1px solid var(--color-slate-200); border-radius: .6rem; background: #fff; }
.guide-visual img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.guide-visual figcaption { padding: .9rem 1rem 1rem; color: var(--color-slate-600); font-size: .9rem; line-height: 1.55; }
.docs-search-results a[hidden], .guide-nav a[hidden] { display: none; }
.docs-search-results a:focus-visible { outline: 3px solid var(--color-blue-600); outline-offset: 2px; }
.guide-dialog-close { display: inline-flex; width: 2.5rem; height: 2.5rem; flex: 0 0 2.5rem; align-items: center; justify-content: center; margin-right: .25rem; border-radius: .25rem; color: var(--color-slate-600); font-size: 1.5rem; line-height: 1; }
.guide-dialog-close:focus-visible { outline: 3px solid var(--color-blue-600); outline-offset: 1px; }
.guide-nav-primary[aria-current="page"] { color: var(--color-blue-600); font-weight: 650; }
.guide-nav-primary[aria-current="page"] svg { color: var(--color-blue-600); }
.guide-nav-children a[aria-current="page"] { position: relative; color: var(--color-blue-600); background: transparent; font-weight: 650; }
.guide-nav-children a[aria-current="page"]::before { position: absolute; top: .25rem; bottom: .25rem; left: -1.5rem; width: 2px; border-radius: 9999px; background: var(--color-blue-500); content: ''; }
.guide-content section { margin-top: 3.25rem; }
.guide-content section:first-child { margin-top: 0; }
.guide-content h2 { margin-bottom: .75rem; scroll-margin-top: 7rem; color: var(--color-slate-900); font-size: 1.65rem; line-height: 1.25; letter-spacing: -.02em; }
.guide-content p { margin-top: 1rem; color: var(--color-slate-600); line-height: 1.75; }
.guide-content ul, .guide-content ol { margin: 1rem 0 0 1.2rem; color: var(--color-slate-600); }
.guide-content li { margin: .55rem 0; padding-left: .35rem; line-height: 1.65; }
.guide-content ul { list-style: disc; }
.guide-content ol { list-style: decimal; }
.guide-content a { color: var(--color-blue-600); text-decoration: underline; text-underline-offset: 3px; }
.guide-callout { margin-top: 1.5rem; border-left: 4px solid var(--color-blue-600); background: var(--color-blue-50); padding: 1rem 1.25rem; color: var(--color-slate-700); }
.guide-callout--danger { border-color: #a53f36; background: #fbefed; }
.guide-source-list { display: grid; gap: .75rem; margin-left: 0 !important; list-style: none !important; }
.guide-source-list li { margin: 0; padding: .9rem 1rem; border: 1px solid var(--color-slate-200); border-radius: .25rem; }
.guide-source-list a { font-weight: 650; }
.resource-link { display: inline-flex; align-items: center; gap: .65rem; }
.resource-favicon { width: 1.25rem; height: 1.25rem; flex: 0 0 1.25rem; border-radius: .2rem; object-fit: contain; }
#guide-safety-note { margin-top: 2.75rem; }
.guide-page-navigation { display: grid; gap: 1.5rem; margin-top: 2.75rem; padding-top: 2rem; border-top: 1px solid var(--color-slate-200); }
.guide-page-navigation__item.is-next { text-align: left; }
.guide-page-navigation__direction { margin-bottom: .3rem; color: var(--color-blue-600); font-size: .875rem; font-weight: 400; }
.guide-page-navigation__link { display: inline-flex; align-items: center; gap: .6rem; color: var(--color-slate-800); font-weight: 650; line-height: 1.35; text-decoration: none !important; }
.guide-page-navigation__link:hover { color: var(--color-blue-600); }
.guide-page-navigation__link:focus-visible { outline: 3px solid var(--color-blue-400); outline-offset: 4px; border-radius: .15rem; }
.guide-page-navigation__arrow { width: .5rem; height: .625rem; flex: 0 0 auto; fill: var(--color-slate-400); transition: transform 150ms ease; }
.guide-page-navigation__arrow.is-previous { transform: rotate(180deg); }
.guide-page-navigation__item.is-previous .guide-page-navigation__link:hover .guide-page-navigation__arrow { transform: rotate(180deg) translateX(.2rem); }
.guide-page-navigation__item.is-next .guide-page-navigation__link:hover .guide-page-navigation__arrow { transform: translateX(.2rem); }
.resource-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 1.25rem; }
.resource-card { border: 1px solid var(--color-slate-200); border-radius: .25rem; padding: 1rem; }
.resource-card h3 { color: var(--color-slate-800); font-weight: 650; }
.resource-card p { margin-top: .35rem; font-size: .875rem; line-height: 1.55; }
.language-button { min-width: 2.75rem; padding: .55rem .25rem; color: var(--color-blue-600); cursor: pointer; font-size: .9rem; font-weight: 650; }
.language-button:hover { color: var(--color-blue-700); }
.docs-emergency { background: #9c4034; color: white; }
.docs-emergency a { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 639px) { .resource-grid { grid-template-columns: 1fr; } .docs-brand span { display: none; } #guide-title { font-size: 2.25rem; } .docs-header .grow.ml-4 { margin-left: .75rem; } #open-search { width: 2.5rem; padding: .5rem; justify-content: center; } #open-search > span > span, #open-search > span:last-child { display: none; } #open-search svg { margin-right: 0; } .docs-utility-nav { margin-left: .5rem; } .docs-utility-nav ul { gap: .35rem; } .docs-print-button { padding: .45rem .7rem; } }
@media (min-width: 640px) {
  .guide-page-navigation { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .guide-page-navigation__item.is-next { grid-column: 2; justify-self: end; text-align: right; }
}
@media (min-width: 768px) {
  #docs-shell { display: flex; }
  #guide-sidebar { position: sticky !important; top: 5rem !important; bottom: auto !important; left: auto !important; z-index: 20; height: calc(100vh - 5rem) !important; flex: 0 0 17rem; transform: none !important; translate: none !important; box-shadow: none; }
  #mobile-sidebar-button { display: none; }
  .guide-sidebar-inner { padding: 2rem 1.5rem 2rem 0; }
  .guide-workspace-inner { padding: 7rem 1.5rem 4rem 3.25rem; }
}
@media (min-width: 1280px) {
  #guide-article-layout { display: grid; grid-template-columns: minmax(0, 48rem) 12rem; gap: 3.5rem; justify-content: space-between; }
  #guide-main-column { margin: 0; }
  #guide-toc { width: 12rem; }
  .guide-toc-inner { position: sticky; top: 7rem; max-height: calc(100vh - 8.5rem); overflow-y: auto; }
}
#print-handbook { display: none; }
@media print {
  @page { size: letter; margin: .65in .62in .68in; }
  html, body { min-height: auto; background: #fff !important; color: #172d20; font-family: Arial, Helvetica, sans-serif; font-size: 10.5pt; print-color-adjust: exact; }
  #page-shell { display: none !important; }
  #print-handbook { display: block !important; }
  .print-cover { display: flex; min-height: 8.35in; flex-direction: column; justify-content: center; page-break-after: always; }
  .print-cover-mark { width: .58in; height: .58in; margin-bottom: .28in; }
  .print-cover h1 { max-width: 6.6in; margin: 0; color: #142d20; font-size: 34pt; line-height: 1.05; }
  .print-cover p { max-width: 6.25in; margin: .25in 0 0; color: #44584d; font-size: 14pt; line-height: 1.5; }
  .print-contents { margin-top: .48in; columns: 2; column-gap: .45in; }
  .print-contents a { display: block; break-inside: avoid; margin: 0 0 .1in; color: #284f3d; text-decoration: none; }
  .print-guide { page-break-before: always; }
  .print-guide:first-of-type { page-break-before: auto; }
  .print-guide h1 { margin: 0 0 .12in; color: #142d20; font-size: 24pt; line-height: 1.08; }
  .print-guide-summary { margin: 0 0 .3in; padding-bottom: .22in; border-bottom: 1px solid #cfd9d1; color: #44584d; font-size: 12pt; line-height: 1.45; }
  .print-guide figure { margin: 0 0 .28in; break-inside: avoid; }
  .print-guide figure img { display: block; width: 4.8in; height: auto; border: 1px solid #cfd9d1; }
  .print-guide figcaption { width: 4.8in; margin-top: .08in; color: #44584d; font-size: 8.5pt; line-height: 1.35; }
  .print-guide section { break-inside: auto; margin-top: .28in; }
  .print-guide section:first-of-type { margin-top: 0; }
  .print-guide h2 { break-after: avoid; margin: 0 0 .09in; color: #203e2a; font-size: 15pt; line-height: 1.2; }
  .print-guide p { margin: .08in 0 0; color: #30483b; line-height: 1.48; }
  .print-guide ul, .print-guide ol { margin: .1in 0 0 .22in; padding-left: .12in; color: #30483b; }
  .print-guide li { margin: 0 0 .06in; padding-left: .04in; line-height: 1.42; }
  .print-guide .guide-callout { break-inside: avoid; margin: .12in 0 0; padding: .12in .16in; border-left: 3px solid #35674f; background: #eef5ef !important; }
  .print-guide .guide-callout--danger { border-color: #9c4034; background: #fbefed !important; }
  .print-guide .guide-source-list, .print-guide .resource-grid { display: block; margin: .12in 0 0; padding: 0; list-style: none; }
  .print-guide .guide-source-list li, .print-guide .resource-card { break-inside: avoid; margin: 0 0 .08in; padding: .1in .12in; border: 1px solid #cfd9d1; }
  .print-guide .resource-favicon { display: none !important; }
  .print-guide .resource-card h3, .print-guide .resource-card p { margin: 0; }
  .print-guide .resource-card p { margin-top: .04in; }
  .print-guide a { color: #284f3d; text-decoration: underline; text-underline-offset: 2px; }
  .print-guide a[href^="http"]::after { content: " (" attr(href) ")"; color: #5d7065; font-size: 8pt; overflow-wrap: anywhere; }
  .print-review-note { page-break-before: always; padding-top: .2in; border-top: 2px solid #35674f; color: #44584d; font-size: 9pt; line-height: 1.5; }
}
