.public-site { font: 16px/1.75 ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #d3dadd; background: #101214; }
.public-site * { box-sizing: border-box; }
.public-site a { color: #39d8b7; text-underline-offset: 4px; }
.public-site p a { text-decoration: underline; }
.public-site a:hover { color: #8ae9d6; }
.public-site a:focus-visible, .public-site summary:focus-visible { outline: 2px solid #39d8b7; outline-offset: 5px; }
.public-site h1, .public-site h2, .public-site h3 { color: #f5f7f8; font-weight: 600; line-height: 1.2; letter-spacing: -.025em; }
.public-site h1 { font-size: clamp(2rem, 4vw, 3.35rem); max-width: 850px; margin: .6rem 0 1.4rem; }
.public-site h2 { font-size: clamp(1.35rem, 2.6vw, 1.85rem); margin: 0 0 1rem; }
.public-site h3 { font-size: 1.1rem; margin: .25rem 0 .7rem; }
.public-site p { margin: .7rem 0 1rem; }
.public-site ul, .public-site ol { padding-left: 1.3rem; margin: 1rem 0; }
.public-site ul { list-style: disc; }
.public-site ol { list-style: decimal; }
.public-site li { padding-left: .35rem; margin: .55rem 0; }
.public-site section { scroll-margin-top: 140px; }
.public-shell { max-width: 1120px; margin: auto; padding: 0 28px; }
.public-nav { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 24px 0; border-bottom: 1px solid #2a3033; }
.public-nav a { text-decoration: none; font-size: .9rem; }
.public-brand { color: #fff !important; font-size: 1.1rem !important; font-weight: 700; letter-spacing: .02em; }
.public-nav-links { display: flex; gap: 22px; flex-wrap: wrap; }
.public-intro { padding: 76px 0 40px; }
.public-eyebrow { text-transform: uppercase; letter-spacing: .13em; color: #64c6b5; font-size: .72rem; font-weight: 650; }
.public-lead { font-size: 1.2rem; line-height: 1.65; color: #acb9c0; max-width: 850px; }
.public-actions { display: flex; gap: 20px; align-items: center; flex-wrap: wrap; margin: 28px 0; }
.public-button { display: inline-block; background: #24bc9e; color: #071814 !important; border: 1px solid #24bc9e; border-radius: 9px; padding: 10px 18px; text-decoration: none; font-weight: 650; font-size: .9rem; }
.public-button:hover { background: #61dcc3; }
.public-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 30px 0 48px; }
.public-card { padding: 24px; border: 1px solid #2b3438; border-radius: 14px; background: #161a1d; }
.public-card p { font-size: .93rem; color: #afbac0; }
.public-card a { font-weight: 550; }
.public-prose { max-width: 820px; padding-bottom: 52px; }
.public-prose section { padding: 34px 0; border-top: 1px solid #2a3033; }
.public-prose section:first-child { border: 0; }
.public-note { padding: 22px; border-left: 3px solid #24bc9e; background: #161d1d; border-radius: 0 10px 10px 0; }
.public-faq { padding: 25px 0 55px; }
.public-faq details { border-top: 1px solid #30383c; padding: 19px 0; }
.public-faq summary { cursor: pointer; color: #f3f6f7; font-weight: 550; }
.public-faq p { max-width: 820px; color: #aebbc2; margin: 12px 0 0; }
.public-footer { padding: 28px 0 40px; border-top: 1px solid #30383c; display: flex; gap: 25px; justify-content: space-between; flex-wrap: wrap; font-size: .85rem; color: #87979f; }
.public-footer nav { display: flex; gap: 20px; flex-wrap: wrap; }
.public-table-wrap { overflow-x: auto; }
.public-site table { width: 100%; border-collapse: collapse; font-size: .93rem; }
.public-site th, .public-site td { text-align: left; padding: 15px; border: 1px solid #344046; vertical-align: top; }
.public-site th { background: #1b2226; color: #fff; }
.public-breadcrumbs { display: flex; gap: 10px; flex-wrap: wrap; font-size: .85rem; color: #8a9ca5; margin-bottom: 28px; }
.public-breadcrumbs a { color: inherit; }
.tool-placeholder { min-height: 80vh; display: grid; place-content: center; text-align: center; padding: 60px 24px; color: #cad5db; background: #131416; font: 18px/1.7 system-ui, sans-serif; }
.public-skip { position: fixed; top: 5px; left: 8px; transform: translateY(-150%); z-index: 100; background: #1bd1ab; color: #001b13; padding: 10px 18px; border-radius: 6px; }
.public-skip:focus { transform: translateY(0); }
/* Keep the viewer's fixed panels inside the tool when reading the guide below it. */
#viewer { position: relative; isolation: isolate; transform: translateZ(0); }
#guide { scroll-margin-top: 0; }
.public-document { margin: 0; background: #101214; }
.public-404 { min-height: 75vh; display: flex; flex-direction: column; justify-content: center; }
@media (max-width: 720px) {
  .public-shell { padding: 0 20px; }
  .public-intro { padding: 45px 0 25px; }
  .public-nav { align-items: flex-start; flex-direction: column; gap: 12px; }
  .public-nav-links { gap: 16px; }
  .public-grid { grid-template-columns: 1fr; gap: 12px; margin: 24px 0; }
  .public-card { padding: 20px; }
  .public-lead { font-size: 1.05rem; }
  .public-prose section { padding: 26px 0; }
  .public-footer { gap: 14px; }
  .public-site th, .public-site td { padding: 10px; }
  .public-site th:first-child, .public-site td:first-child { min-width: 110px; }
}
