:root{--bg:#F8F6F2;--surface:#FCFBF9;--border:#E6E3DC;--text:#2E2A25;--muted:#6B665F;--accent:#1B5E4A;--accent-2:#0F6DDC;--radius:12px;--shadow:0 1px 0 rgba(20,16,12,.04),0 10px 20px rgba(20,16,12,.06);--shadow-hover:0 2px 0 rgba(20,16,12,.05),0 16px 28px rgba(20,16,12,.08);--container:1120px}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial,"Noto Sans","Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";color:var(--text);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.container{max-width:var(--container);margin:0 auto;padding:0 24px}.site-header{position:sticky;top:0;z-index:50;background:rgba(248,246,242,.8);backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--border)}.header-inner{display:flex;align-items:center;gap:24px;height:64px}.brand{display:flex;align-items:center;gap:10px;font-weight:600;letter-spacing:.06em}.logo-dot{width:10px;height:10px;background:var(--text);border-radius:50%;display:inline-block}.brand-text{font-size:14px;color:var(--text)}.nav{display:none;gap:18px}.nav-link{color:var(--muted);text-decoration:none;font-size:14px;padding:6px 2px;border-bottom:2px solid transparent}.nav-link:hover{color:var(--text)}.nav-link.active{color:var(--text);border-bottom-color:var(--text)}.actions{margin-left:auto;display:flex;gap:10px}.btn{font-size:14px;padding:8px 14px;border-radius:999px;cursor:pointer;border:1px solid var(--border);background:transparent;color:var(--text)}.btn.ghost:hover{background:var(--surface)}.btn.solid{background:var(--text);color:#fff;border-color:var(--text)}.btn.solid:hover{filter:brightness(.96)}.hero{padding:64px 0 32px}.hero-title{font-family:Lora,Georgia,"Times New Roman",serif;font-weight:600;font-size:clamp(34px,5vw,48px);letter-spacing:.01em;text-align:center;margin:0 0 12px}.hero-title .accent{color:var(--accent)}.hero-subtitle{text-align:center;color:var(--muted);margin:0 auto 20px;max-width:720px}.search{display:flex;justify-content:center}.search input{width:min(680px,100%);height:44px;padding:0 14px;border-radius:10px;border:1px solid var(--border);background:#fff;box-shadow:var(--shadow);outline:none;font-size:14px;color:var(--text)}.search input::placeholder{color:#9A958D}.search input:focus{border-color:#CFC9BF;box-shadow:0 0 0 2px rgba(15,109,220,.06),var(--shadow)}.section{padding:32px 0 80px}.section-title{font-family:Lora,Georgia,serif;font-weight:600;text-align:center;font-size:28px;margin:24px 0 28px;letter-spacing:.01em}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{display:block;padding:22px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:inherit;text-decoration:none;box-shadow:var(--shadow);transition:box-shadow .2s ease,transform .15s ease,border-color .2s ease;min-height:140px}.card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px);border-color:#D9D4CB}.card-icon{font-size:18px;color:var(--muted);margin-bottom:8px}.card-title{font-weight:600;margin-bottom:6px}.card-desc{color:var(--muted);margin:0;font-size:14px}.site-footer{border-top:1px solid var(--border);padding:24px 0;background:rgba(248,246,242,.7)}.footer-inner{display:flex;align-items:center;justify-content:space-between;color:var(--muted)}.footer-nav a{color:var(--muted);text-decoration:none;margin-left:16px}.footer-nav a:hover{color:var(--text)}@media (min-width:980px){.nav{display:flex}}@media (max-width:900px){.card-grid{grid-template-columns:1fr 1fr}}@media (max-width:620px){.header-inner{height:auto;padding:12px 0;align-items:flex-start}.actions{display:none}.card-grid{grid-template-columns:1fr}}
/* Header dropdown */
.nav-dropdown{position:relative;display:flex;align-items:center}
.nav-dropdown > .nav-link{display:inline-block}
.dropdown-panel{position:absolute;top:100%;left:0;min-width:200px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:6px;display:none;z-index:60}
.dropdown-item{display:block;padding:8px 10px;border-radius:8px;color:var(--text);text-decoration:none;font-size:14px}
.dropdown-item:hover{background:var(--bg)}
.nav-dropdown:hover .dropdown-panel{display:block}
/* Docs theme */
.docs-layout{display:grid;grid-template-columns:260px minmax(0,1fr) 260px;gap:28px;align-items:start;padding:24px 0 80px}.docs-sidebar{position:sticky;top:84px;max-height:calc(100vh - 100px);overflow:auto;padding-right:8px}.docs-side-title{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:12px 0 8px;font-weight:600}.docs-nav{display:grid;gap:4px}
.docs-nav a{display:block;color:var(--text);text-decoration:none;font-size:14px;padding:8px 10px;border-radius:10px;border:1px solid transparent}
.docs-nav a:hover{background:var(--surface);border-color:var(--border)}
/* Folder (section) links: bold, no pill */
.docs-nav a.section-link{font-weight:600}
/* Current file/section: gray pill */
.docs-nav a.file-link.is-active,
.docs-nav a.section-link.is-active{background:#EFECE6;border-color:var(--border)}
.docs-content{min-width:0}.prose{color:var(--text);font-family:Lora,Georgia,"Times New Roman",serif}.prose h1,.prose h2,.prose h3,.prose h4{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial,"Noto Sans","Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-weight:600;letter-spacing:.01em}.prose h1{font-size:36px;margin:8px 0 10px}.prose h2{font-size:26px;margin:32px 0 10px}.prose h3{font-size:20px;margin:24px 0 8px}.prose p{margin:10px 0 14px;color:var(--text)}.prose ul,.prose ol{padding-left:24px;margin:8px 0 16px}.prose li{margin:6px 0}.prose a{color:var(--accent-2);text-decoration:none}.prose a:hover{text-decoration:underline}.prose hr{border:0;border-top:1px solid var(--border);margin:28px 0}.anchor-link{opacity:0;margin-left:8px;font-size:18px;text-decoration:none;color:#9A958D}.prose h2:hover .anchor-link,.prose h3:hover .anchor-link{opacity:1}
/* Tables in prose */
.prose table{width:100%;border-collapse:separate;border-spacing:0;margin:18px 0;}
.prose thead th{font-weight:600;text-align:left;color:var(--text);border-top:2px solid var(--border);border-bottom:2px solid var(--border);padding:12px 14px;background:transparent}
.prose tbody td,.prose tbody th{border-bottom:1px solid var(--border);padding:12px 14px;vertical-align:top}
.prose tbody tr:last-child td,.prose tbody tr:last-child th{border-bottom:2px solid var(--border)}
.prose th,.prose td{background:transparent}
.prose caption{caption-side:bottom;color:var(--muted);font-size:12px;margin-top:6px}
/* Responsive overflow for wide tables */
.prose table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
@media (max-width: 900px){
  .prose thead th,.prose tbody td,.prose tbody th{padding:10px 12px}
}
/* Minimum cell widths to avoid overly narrow columns */
.prose table th, .prose table td{ min-width: 3ch; word-break: normal; overflow-wrap: anywhere; }
/* First column usually contains row labels; give it a bit more room */
.prose table th:first-child, .prose table td:first-child{ min-width: 6ch; }
/* Optional table variants */
/* Zebra striping */
.prose table.zebra tbody tr:nth-child(odd) td,
.prose table.zebra tbody tr:nth-child(odd) th{background:rgba(20,16,12,.02)}
.prose table.zebra tbody tr:nth-child(even) td,
.prose table.zebra tbody tr:nth-child(even) th{background:transparent}
/* Compact density */
.prose table.compact thead th{padding:8px 10px}
.prose table.compact tbody td,
.prose table.compact tbody th{padding:8px 10px}
.prose table.compact{font-size:0.95em}
/* Numeric/text alignment helpers */
.prose td.num, .prose th.num{ text-align:right; font-variant-numeric: tabular-nums; }
.prose td.center, .prose th.center{ text-align:center; }
.prose td.left, .prose th.left{ text-align:left; }
/* Docs tree depths */
.docs-nav a.depth-0{padding-left:10px}
.docs-nav a.depth-1{padding-left:18px}
.docs-nav a.depth-2{padding-left:28px}
.docs-nav a.depth-3{padding-left:38px}
.docs-nav .group{margin:2px 0}
pre{background:#0B0C10;color:#E8EAF2;border-radius:12px;padding:16px 18px;overflow:auto;border:1px solid rgba(255,255,255,.06);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:13px}.code-block{position:relative}.copy-btn{position:absolute;top:10px;right:10px;padding:6px 10px;font-size:12px;border-radius:8px;background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.18);cursor:pointer;backdrop-filter:blur(4px)}.copy-btn:hover{background:rgba(255,255,255,.12)}.copy-btn.copied{background:#1b5e4a}.callout{border:1px solid var(--border);border-radius:12px;padding:14px 16px;background:var(--surface);box-shadow:var(--shadow)}.callout.tip{background:#EAF7F0;border-color:#CDE9D9}.callout.warn{background:#FFF6EA;border-color:#F4E3C6}.callout .title{font-weight:600;margin-bottom:6px}.steps{display:grid;gap:18px;border-left:1px solid var(--border);margin-left:14px;padding-left:18px}.step{position:relative}.step::before{content:attr(data-step);position:absolute;left:-33px;top:2px;width:22px;height:22px;border-radius:8px;background:#EFECE6;color:var(--text);display:grid;place-items:center;font-size:12px;font-weight:600;border:1px solid var(--border)}.docs-toc{position:sticky;top:84px;max-height:calc(100vh - 100px);overflow:auto;padding-left:8px}.docs-toc .toc-title{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:12px 0 8px;font-weight:600}.toc{display:grid;gap:2px}.toc a{display:block;color:var(--muted);text-decoration:none;font-size:13px;padding:6px 8px;border-radius:8px}.toc a:hover{background:var(--surface);color:var(--text)}.toc a.is-active{background:#EFECE6;color:var(--text)}.toc .toc-l2{padding-left:12px}.breadcrumbs{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:13px}.breadcrumbs a{color:var(--muted);text-decoration:none}.breadcrumbs a:hover{color:var(--text)}.crumb-nav-btn{display:none;align-items:center;justify-content:center;margin-right:4px;border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:4px 8px;line-height:1;cursor:pointer;font-size:12px;color:var(--muted)}.crumb-nav-btn:hover{background:var(--bg);color:var(--text)}.back-to-top{position:fixed;right:24px;bottom:24px;border-radius:999px;border:1px solid var(--border);background:var(--surface);padding:10px 12px;box-shadow:var(--shadow);cursor:pointer;display:none}.back-to-top.show{display:inline-flex}@media (max-width:1200px){.docs-layout{grid-template-columns:220px minmax(0,1fr) 220px}}@media (max-width:980px){.docs-layout{grid-template-columns:1fr}.docs-sidebar,.docs-toc{position:static;max-height:none;order:0}.docs-toc{border-top:1px solid var(--border);padding-top:16px;margin-top:8px}}
/* === Theme default responsive header & mobile drawer (standalone) === */
.mobile-nav-btn{display:none}
.nav-drawer{display:none}
@media (min-width:901px){
  .site-header .nav{display:flex;align-items:center;gap:18px}
  .mobile-nav-btn{display:none}
  .nav-drawer{display:none}
}
@media (max-width:900px){
  .site-header .header-inner{position:relative}
  .site-header .nav{display:none}
  .site-header .actions{display:none}
  .mobile-nav-btn{display:inline-flex;align-items:center;justify-content:center;margin-right:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:4px 8px;line-height:1;cursor:pointer;position:absolute;right:16px;top:50%;transform:translateY(-50%)}
  .crumb-nav-btn{display:inline-flex}
  /* Drawer panel: full height under header */
  .nav-drawer{position:fixed;left:0;top:var(--theme-header-height,64px);bottom:0;width:min(86%,360px);z-index:400;background:var(--surface);border-right:1px solid var(--border);box-shadow:var(--shadow)}
  .nav-drawer-inner{height:100%;width:100%;background:var(--surface);display:flex;flex-direction:column;overflow:hidden}
  .nav-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--border)}
  .nav-drawer-title{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(107,102,95,.85);font-weight:600}
  .nav-drawer-close{border:1px solid var(--border);background:transparent;border-radius:8px;padding:4px 8px;cursor:pointer}
  /* Primary menu area: no scroll; let it take natural height */
  .nav-drawer-list{padding:8px 10px;overflow:visible;display:grid;gap:0;max-height:none}
  /* Menu items: compact, single line, no separators */
  .nav-drawer-item,.nav-drawer-subitem{display:block;padding:8px 10px;text-decoration:none;color:var(--text);border-bottom:none;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .nav-drawer-subitem{padding-left:24px;color:var(--muted)}
  .nav-drawer[hidden]{display:none}
  .nav-drawer:not([hidden]){display:block}

  /* Current folder directory inside drawer */
  .nav-drawer-folder{border-top:1px solid var(--border);margin-top:2px;display:flex;flex-direction:column;flex:1 1 auto;min-height:0}
  .nav-drawer-subtitle{padding:10px 12px;font-size:12px;letter-spacing:.08em;color:rgba(107,102,95,.8);text-transform:uppercase}
  /* Section list fills remaining space and scrolls */
  .nav-drawer-folder .docs-nav.in-drawer{padding:6px 10px;overflow:auto;display:flex;flex-direction:column;gap:4px;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;flex:1 1 auto;min-height:0;background:var(--surface)}
  /* Section items: readable multi-line; no border/separator */
  .nav-drawer-folder .docs-nav.in-drawer a{border:none;border-radius:6px;padding:6px 8px;margin:0;display:block;line-height:1.5;color:var(--text);text-decoration:none;white-space:normal;overflow:visible;text-overflow:clip}
  .nav-drawer-folder .docs-nav.in-drawer a:hover{background:var(--surface)}

  /* Optional scrollbar styling (WebKit) */
  .nav-drawer-folder .docs-nav.in-drawer::-webkit-scrollbar{width:10px}
  .nav-drawer-folder .docs-nav.in-drawer::-webkit-scrollbar-thumb{background:rgba(0,0,0,.15);border-radius:8px;border:2px solid transparent;background-clip:padding-box}
  .nav-drawer-folder .docs-nav.in-drawer::-webkit-scrollbar-track{background:transparent}
}
