/* Public manual. Palette: Apps src/styles/designTokens.css.
   Blue gradient: Apps src/styles/appBackground.js APP_BG_CSS (135deg, stops 0/52/100%).
   See docs/IMPLEMENTATION_STARTERS.md for pinned source. No external fonts/API. */
body.documentation{--doc-ink:#0f1d3d;--doc-muted:#3d5078;--doc-line:#d0d6e0;--doc-accent:#0050d3;--doc-gradient:linear-gradient(135deg, #0f172a 0%, #1e293b 52%, #1e3a8a 100%);color-scheme:light;margin:0;background:#ffffff;color:var(--doc-ink);font:15px/1.75 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;padding-top:var(--lesly-chrome-header-h,96px)}
.documentation .docs-layout,.documentation .docs-layout *{box-sizing:border-box}.docs-layout a{color:var(--doc-accent)}.documentation :is(a,button,input,summary):focus-visible{outline:3px solid var(--doc-accent);outline-offset:5px}.documentation [hidden]{display:none!important}.doc-skip{position:fixed;top:12px;left:12px;transform:translateY(-180%);z-index:1000;background:#ffffff;color:var(--doc-ink)!important;padding:10px 18px;border-radius:8px}.doc-skip:focus{transform:none}
.docs-layout{display:grid;grid-template-columns:244px minmax(0,1fr);max-width:1540px;margin:auto;padding:40px 40px 70px;gap:46px}.docs-layout main{min-width:0;outline:none}.docs-nav{position:sticky;top:110px;align-self:start;min-width:0;max-height:calc(100vh - 135px);overflow:auto;padding:8px 22px 24px 0;border-right:1px solid var(--doc-line);scrollbar-width:thin}.docs-brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:14px;font-weight:650;line-height:1.5;color:var(--doc-ink)!important}.doc-brand-mark{display:flex;align-items:center;justify-content:center;flex:none;background:#ffffff;border:1px solid var(--doc-line);border-radius:10px;width:36px;height:38px;font-size:22px;letter-spacing:-3px;padding-right:3px}.doc-brand-mark span{color:var(--doc-ink)}.doc-navigation{margin-top:35px}.doc-navigation summary{cursor:pointer;color:var(--doc-ink);text-transform:uppercase;font-size:10px;font-weight:650;letter-spacing:.12em;padding:8px}.docs-nav nav{display:grid;gap:5px;margin-top:10px}.docs-nav nav a{display:flex;align-items:center;gap:10px;padding:11px 10px;color:var(--doc-ink);font-size:12px;line-height:1.55;text-decoration:none;border:1px solid transparent;border-radius:9px}.docs-nav nav a:hover{background:#ffffff;color:white}.docs-nav nav [aria-current]{color:var(--doc-ink);border-color:var(--doc-line);background:#ffffff}.doc-nav-icon{display:flex;flex:none}.doc-nav-icon svg{width:17px;height:17px}.doc-nav-number{margin-left:auto;font-size:10px;opacity:.45}.docs-languages{display:flex;flex-wrap:wrap;gap:8px 14px;margin:28px 10px 0;border-top:1px solid var(--doc-line);padding-top:22px}.docs-languages a{font-size:11px;text-decoration:none;color:var(--doc-ink)}.docs-languages [aria-current]{color:var(--doc-ink)}
.doc-hero{display:grid;grid-template-columns:minmax(0,1fr) 240px;position:relative;overflow:hidden;min-height:355px;padding:45px 40px;border:1px solid var(--doc-line);border-radius:22px;background:var(--doc-gradient);isolation:isolate}.doc-hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:32px 32px;z-index:-1;mask-image:linear-gradient(90deg,transparent,#000)}.doc-eyebrow{display:flex;align-items:center;gap:8px;margin:0 0 20px;font-size:10px;font-weight:650;letter-spacing:.15em;text-transform:uppercase;color:var(--doc-ink)}.doc-eyebrow>span,.doc-status-dot{display:inline-block;width:6px;height:6px;background:#ffffff;border-radius:50%;box-shadow:none}.docs-layout h1{font-size:clamp(32px,3.3vw,52px);line-height:1.13;letter-spacing:-.045em;font-weight:620;margin:0 0 22px;color:var(--doc-ink);overflow-wrap:break-word}.doc-lede{font-size:17px;line-height:1.8;color:var(--doc-ink);margin:0;max-width:650px}.doc-primary{display:inline-flex;align-items:center;gap:22px;background:#ffffff;color:var(--doc-ink)!important;border:1px solid var(--doc-line);border-radius:9px;padding:11px 17px;margin-top:25px;text-decoration:none;font-size:12px;font-weight:650;line-height:1.5}.doc-primary:hover{background:white}.doc-hero-art{position:relative;align-self:center;height:250px;color:var(--doc-ink);margin-left:24px}.doc-orbit{position:absolute;border:1px solid var(--doc-line);border-radius:50%;inset:25px 0;transform:rotate(-30deg)}.doc-orbit-two{inset:4px 24px;transform:rotate(35deg)}.doc-core{position:absolute;inset:78px 58px;background:var(--doc-gradient);box-shadow:0 12px 38px #00000018;border:1px solid var(--doc-line);border-radius:18px;display:grid;place-items:center;transform:rotate(-8deg)}.doc-core svg{width:46px;height:46px}.doc-satellite{position:absolute;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;border:1px solid var(--doc-line);background:#ffffff;box-shadow:0 8px 26px #00000022}.doc-satellite svg{width:23px;height:23px}.doc-satellite-a{top:28px;left:10px}.doc-satellite-b{right:0;top:85px}.doc-satellite-c{bottom:30px;left:24px}.doc-art-caption{position:absolute;bottom:0;left:40px;font-size:8px;letter-spacing:.18em;color:var(--doc-ink);white-space:nowrap}
.doc-library-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:38px 0 20px}.doc-library-heading .doc-eyebrow{margin:0 0 7px;font-size:9px}.doc-library-heading h2{font-size:22px;letter-spacing:-.025em;line-height:1.3;margin:0;font-weight:600}.doc-search{width:285px;max-width:100%;margin:0}.doc-search label{display:block;font-size:10px;color:var(--doc-ink);margin-bottom:5px}.doc-search>div{display:flex;align-items:center;gap:9px;border:1px solid var(--doc-line);border-radius:9px;padding:0 10px;background:#ffffff}.doc-search svg{width:17px;height:17px;flex:none;color:var(--doc-ink)}.doc-search input{width:100%;min-width:0;background:transparent;border:0;outline:none;color:var(--doc-ink);padding:12px 0;font:inherit;font-size:12px}.doc-search input::placeholder{color:var(--doc-ink)}.doc-search button{border:0;background:transparent;font-size:21px;color:var(--doc-ink);cursor:pointer;padding:5px;min-height:40px}.doc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.doc-grid article{position:relative;display:flex;flex-direction:column;min-width:0;min-height:247px;padding:25px;background:#ffffff;border:1px solid var(--doc-line);border-radius:13px;transition:border-color .18s,transform .18s,background .18s}.doc-grid article:hover{border-color:var(--doc-line);transform:translateY(-3px);background:#ffffff}.doc-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px}.doc-icon{display:inline-flex;align-items:center;justify-content:center;width:39px;height:39px;border:1px solid var(--doc-line);border-radius:10px;background:#ffffff;color:var(--doc-ink);flex:none}.doc-icon svg{width:21px;height:21px}.doc-number{color:var(--doc-ink);font:11px/1.5 ui-monospace,monospace}.doc-grid h2{font-size:19px;line-height:1.35;letter-spacing:-.02em;font-weight:600;margin:0 0 10px}.doc-grid h2 a{color:var(--doc-ink);text-decoration:none}.doc-grid h2 a:after{content:"";position:absolute;inset:0;border-radius:13px}.doc-grid p{font-size:13px;line-height:1.85;color:var(--doc-ink);margin:0 0 22px}.doc-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:auto;padding-top:14px;border-top:1px solid var(--doc-line)}.doc-card-bottom small{font-size:10px;color:var(--doc-ink);line-height:1.5}.doc-card-bottom>span{color:var(--doc-ink)}.doc-empty{padding:35px;text-align:center;border:1px dashed var(--doc-line);border-radius:13px;color:var(--doc-muted)}
.doc-breadcrumb{display:flex;flex-wrap:wrap;gap:11px;color:var(--doc-ink);font-size:11px;margin:7px 0 32px}.doc-breadcrumb a{text-decoration:none}.doc-article-header{border-bottom:1px solid var(--doc-line);padding:0 0 30px;margin:0 0 30px}.doc-meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px;color:var(--doc-ink);font-size:10px;margin:0 0 22px}.doc-meta>span:last-child{margin-left:auto}.doc-meta .doc-icon{width:33px;height:33px}.doc-article-header h1{max-width:850px}.doc-article-grid{display:grid;grid-template-columns:minmax(0,1fr) 165px;gap:34px}.doc-prose{min-width:0;max-width:760px}.doc-prose section{scroll-margin-top:130px}.doc-prose h2{font-size:20px;line-height:1.4;letter-spacing:-.02em;margin:0 0 16px;color:var(--doc-ink);font-weight:600}.doc-prose p,.doc-prose li{color:var(--doc-ink);line-height:1.95;font-size:14px}.doc-prose p{margin:0}.doc-prerequisites{padding:23px 25px;border:1px solid var(--doc-line);border-radius:12px;background:#ffffff;margin-bottom:34px}.doc-prerequisites ul{padding-left:18px;margin:0}.doc-prerequisites li+li{margin-top:10px}.doc-prerequisites li::marker{color:var(--doc-ink)}.doc-steps{padding:0;list-style:none;margin:25px 0 35px}.doc-steps>li{position:relative;display:flex;gap:18px;padding-bottom:28px}.doc-steps>li:not(:last-child):before{content:"";position:absolute;left:16px;top:38px;bottom:8px;width:1px;background:#ffffff}.doc-step-number{display:grid;place-items:center;flex:none;width:34px;height:34px;border:1px solid var(--doc-line);border-radius:50%;background:#ffffff;color:var(--doc-ink);font:11px/1 ui-monospace,monospace}.doc-steps h3{font-size:16px;font-weight:600;line-height:1.5;margin:4px 0 8px;color:var(--doc-ink)}.doc-result,.doc-help{padding:23px 25px;border-radius:12px;margin:0 0 24px}.doc-result{border:1px solid var(--doc-line);background:#ffffff}.doc-result h2{color:var(--doc-ink)}.doc-help{border:1px solid var(--doc-line);background:#ffffff}.doc-help h2{color:var(--doc-ink)}.doc-toc{position:sticky;top:120px;align-self:start;border-left:1px solid var(--doc-line);padding-left:18px;font-size:11px}.doc-toc p{font-size:10px;text-transform:uppercase;letter-spacing:.07em;margin:0 0 12px;color:var(--doc-ink)}.doc-toc a{display:block;color:var(--doc-ink);text-decoration:none;line-height:1.6;padding:7px 0}.doc-toc a:hover{color:var(--doc-ink)}.doc-toc a[aria-current]{color:var(--doc-ink)}.doc-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:22px;margin-top:36px;padding-top:25px;border-top:1px solid var(--doc-line)}.doc-pager a{text-decoration:none;font-size:12px;max-width:100%}.doc-pager a:last-child{text-align:right;margin-left:auto}.doc-pager small{display:block;color:var(--doc-ink);font-size:10px}.doc-pager strong{display:block;font-weight:500}.doc-edition{display:flex;align-items:center;gap:9px;color:var(--doc-ink);font-size:10px;border-top:1px solid var(--doc-line);padding-top:19px;margin:36px 0 0}.doc-prose figure{margin:24px 0}.doc-prose img{max-width:100%;height:auto;border:1px solid var(--doc-line);border-radius:12px}.doc-prose figcaption{font-size:12px;color:var(--doc-ink);margin-top:8px}
@media(min-width:1450px){.doc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1200px){.docs-layout{grid-template-columns:210px minmax(0,1fr);padding:30px;gap:28px}.doc-hero{grid-template-columns:1fr;padding:32px}.doc-hero-art{display:none}.doc-article-grid{grid-template-columns:1fr}.doc-toc{position:static;grid-row:1;display:flex;flex-wrap:wrap;gap:4px 15px;border-left:0;border-bottom:1px solid var(--doc-line);padding:0 0 17px}.doc-toc p{width:100%;margin-bottom:2px}.doc-library-heading{align-items:start}.doc-search{width:240px}}
@media(max-width:850px){.docs-layout{grid-template-columns:minmax(0,1fr);padding:22px 20px 45px;gap:24px}.docs-nav{position:static;max-height:none;overflow:visible;padding:0 0 15px;border-right:0;border-bottom:1px solid var(--doc-line)}.docs-brand{font-size:13px}.doc-navigation{margin-top:12px}.doc-navigation summary{padding:8px 0}.docs-nav nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px}.docs-nav nav a{padding:8px;font-size:11px}.doc-nav-number{display:none}.docs-languages{margin:15px 0 0;padding-top:12px;gap:6px 14px}.doc-hero{padding:27px 24px;min-height:0;border-radius:15px}.docs-layout h1{font-size:36px}.doc-lede{font-size:15px}.doc-library-heading{flex-direction:column;margin-top:29px;gap:17px}.doc-search{width:100%}.doc-grid{gap:12px}.doc-grid article{padding:20px;min-height:230px}.doc-article-header{margin-bottom:22px}.doc-article-grid{gap:24px}.doc-meta>span:last-child{margin-left:0}.doc-breadcrumb{margin-bottom:24px}.doc-prerequisites,.doc-result,.doc-help{padding:20px}.doc-steps>li{gap:13px}.doc-edition{line-height:1.6}}
@media(max-width:540px){.doc-grid{grid-template-columns:minmax(0,1fr)}.doc-grid article{min-height:0}.doc-card-top{margin-bottom:15px}.doc-hero h1{font-size:34px}.doc-article-header h1{font-size:32px}.docs-nav nav a{align-items:start}.doc-nav-icon{padding-top:2px}}
@media(prefers-reduced-motion:reduce){.doc-grid article{transition:none}.doc-grid article:hover{transform:none}}
@media print{body.documentation{padding:0;background:white;color:var(--doc-ink)}.documentation lesly-site-header,.documentation lesly-site-footer,.docs-nav,.doc-toc,.doc-pager,.doc-skip{display:none}.docs-layout,.doc-article-grid{display:block;padding:0}.docs-layout main,.doc-prose{max-width:none}.documentation .docs-layout :is(h1,h2,h3,p,li,a,span){color:var(--doc-ink)}.doc-prerequisites,.doc-result,.doc-help{background:white;border-color:var(--doc-line);break-inside:avoid}.doc-steps>li{break-inside:avoid}}

/* White reading surfaces and canonical Lesly accents. */
.docs-brand{color:var(--doc-ink)!important}
.doc-brand-mark,.doc-icon,.doc-step-number{background:var(--doc-gradient);color:#fff;border-color:transparent}
.doc-brand-mark span{color:#fff}
.docs-nav nav a{color:var(--doc-muted)}
.docs-nav nav a:hover{background:#f5f7fa;color:var(--doc-ink)}
.docs-nav nav [aria-current]{background:var(--doc-gradient);color:#fff;border-color:transparent}
.docs-languages a,.doc-navigation summary,.doc-number,.doc-card-bottom small,.doc-meta,.doc-breadcrumb,.doc-toc p,.doc-edition{color:var(--doc-muted)}
.docs-languages [aria-current],.doc-toc a[aria-current],.doc-card-bottom>span{color:var(--doc-accent)}
.doc-hero{border:0}
.doc-hero h1,.doc-hero .doc-lede,.doc-hero .doc-eyebrow,.doc-hero-art,.doc-art-caption{color:#fff}
.doc-hero .doc-primary{background:#fff;color:#0f1d3d!important;border-color:#fff}
.doc-primary{background:var(--doc-gradient);color:#fff!important;border-color:transparent}
.doc-primary:hover{filter:brightness(1.07)}
.doc-eyebrow>span,.doc-status-dot{background:var(--doc-accent)}
.doc-hero .doc-eyebrow>span{background:#fff}
.doc-core,.doc-satellite{background:var(--doc-gradient);border-color:#ffffff55;color:#fff}
.doc-grid article{box-shadow:0 1px 3px #00000008}
.doc-grid article:hover{background:#fff;border-color:var(--doc-accent);box-shadow:0 6px 20px #0000000d}
.doc-grid h2 a{color:var(--doc-ink)}
.doc-grid p,.doc-lede,.doc-prose p,.doc-prose li{color:#1a2b4a}
.doc-search>div{background:#fff}
.doc-search input,.doc-search button,.doc-search svg{color:var(--doc-ink)}
.doc-search input::placeholder{color:var(--doc-muted)}
.doc-prerequisites,.doc-result,.doc-help{background:#fff;border:1px solid var(--doc-line);border-left:3px solid var(--doc-accent)}
.doc-prerequisites h2,.doc-result h2,.doc-help h2{color:var(--doc-ink)}
.doc-prerequisites li::marker{color:var(--doc-accent)}
.doc-steps>li:not(:last-child):before{background:var(--doc-line)}
.doc-toc a:hover{color:var(--doc-accent)}
.doc-skip{color:#0f1d3d!important;background:#fff}
@media print{.doc-brand-mark,.doc-icon,.doc-step-number,.docs-nav nav [aria-current]{background:white;color:#111;border-color:#aaa}}
