@import "./base.css";

@layer qazana {

/* ============================================================================
   Qazana Strata — DOCS KIT (documentation shell + API reference + help center).
   PAIRS WITH content.css: load `content.css + docs.css + qazana.js`. The reading
   column reuses content's global `.prose` / `.toc` / callouts / code; this kit
   adds only the chrome content.css lacks — a 3-column shell, a multi-level
   collapsible sidebar nav, API-reference blocks, a search trigger, prev/next
   pager, and the help-center landing. Scope class: .docs.
   No baked search modal — search is provider-supplied (Algolia/Pagefind); the
   trigger is a hook. Sidebar nesting is native <details> (correct nav ARIA),
   not the app `[data-tree]` widget.
   ============================================================================ */

/* ---- scope root ---- */
.docs{
  font-family:var(--body);background:var(--bg);color:var(--text);
  line-height:1.6;letter-spacing:var(--tracking-normal);-webkit-font-smoothing:var(--font-smooth);
}
.docs *{box-sizing:border-box}
.docs ::selection{background:rgb(var(--primary-rgb) / .28);color:var(--text)}

/* ---- buttons (minimal scoped copy) ---- */
.docs .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--body);
  font-weight:600;font-size:var(--text-base);line-height:1;border:0;cursor:pointer;text-decoration:none;
  border-radius:var(--radius);padding:9px 16px;transition:transform var(--dur-1) var(--ease),background var(--dur-1) var(--ease),box-shadow var(--dur-2) var(--ease)}
.docs .btn-primary{background:var(--primary);color:var(--on-primary)}
.docs .btn-primary:hover{background:var(--primary-bright);transform:translateY(-1px)}
.docs .btn-ghost{background:transparent;color:var(--text-2);box-shadow:inset 0 0 0 1px var(--line)}
.docs .btn-ghost:hover{color:var(--text);box-shadow:inset 0 0 0 1px var(--line-strong)}
@media (prefers-reduced-motion:reduce){.docs .btn:hover{transform:none}}

/* ============================================================================
   DOC SHELL  —  sidebar | content (content.css .prose) | TOC (content.css .toc)
   ============================================================================ */

.docs .doc-shell{display:grid;grid-template-columns:240px minmax(0,1fr);gap:40px;
  max-width:1280px;margin:0 auto;padding:32px 24px 80px;align-items:start}
@media (min-width:1120px){.docs .doc-shell{grid-template-columns:240px minmax(0,1fr) 200px}}
.docs .doc-shell > *{min-width:0}
/* the right-hand TOC (content.css .toc) only fits at the 3-column width */
@media (max-width:1119px){.docs .doc-shell > .toc{display:none}}
/* active TOC item = colored text only, no colored accent bar (kit philosophy) */
.docs .doc-shell .toc a.active{border-inline-start-color:var(--line)}

/* ---- sidebar nav: multi-level via native <details>; active = aria-current ---- */
.docs .doc-nav{position:sticky;top:24px;align-self:start;font-size:var(--text-md);
  max-height:calc(100vh - 48px);overflow:auto}
.docs .doc-search{display:flex;align-items:center;gap:9px;width:100%;background:var(--surface-2);
  border:1px solid var(--line);border-radius:var(--radius);padding:8px 11px;color:var(--muted);
  font-family:var(--body);font-size:var(--text-md);cursor:pointer;margin-bottom:18px;text-align:start}
.docs .doc-search:hover{border-color:var(--line-strong);color:var(--text-2)}
.docs .doc-search i{color:var(--muted)}
.docs .doc-search .dk{margin-inline-start:auto;font-family:var(--mono);font-size:var(--text-2xs);
  border:1px solid var(--line);border-radius:5px;padding:1px 6px}
.docs .doc-nav .dn-sec{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-caps);
  color:var(--muted);margin:16px 0 6px;padding-inline-start:10px}
.docs .doc-nav details{margin-bottom:2px}
.docs .doc-nav summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;
  padding:7px 10px;border-radius:var(--radius-sm);font-weight:600;color:var(--text-2)}
.docs .doc-nav summary::-webkit-details-marker{display:none}
.docs .doc-nav summary:hover{color:var(--text);background:var(--surface-2)}
.docs .doc-nav summary .chev{margin-inline-start:auto;transition:transform var(--dur-1);color:var(--muted);font-size:var(--text-2xs)}
.docs .doc-nav details[open] > summary .chev{transform:rotate(90deg)}
.docs .doc-nav ul{list-style:none;margin:2px 0 10px;padding-inline-start:10px}
.docs .doc-nav li a{display:block;padding:6px 11px;border-radius:var(--radius-sm);color:var(--text-2);text-decoration:none}
.docs .doc-nav li a:hover{color:var(--text);background:var(--surface-2)}
/* active = filled pill + colored text (matches app.css .side-item — no accent bar) */
.docs .doc-nav li a[aria-current="page"]{color:var(--primary-bright);background:var(--primary-soft);font-weight:600}
@media (prefers-reduced-motion:reduce){.docs .doc-nav summary .chev{transition:none}}

/* mobile: sidebar + TOC stack above the reading column */
@media (max-width:860px){
  .docs .doc-shell{grid-template-columns:1fr;gap:24px}
  .docs .doc-nav{position:static;max-height:none;border:1px solid var(--line);
    border-radius:var(--radius);padding:10px}
}

/* ---- prev / next pager ---- */
.docs .doc-pager{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:48px;
  padding-top:24px;border-top:1px solid var(--line)}
.docs .doc-pager a{display:flex;flex-direction:column;gap:5px;border:1px solid var(--line);
  border-radius:var(--radius);padding:14px 16px;text-decoration:none;color:var(--text);transition:.16s}
.docs .doc-pager a:hover{border-color:var(--primary);background:var(--surface-2)}
.docs .doc-pager a.next{text-align:end;align-items:flex-end}
.docs .doc-pager .pl{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--muted)}
.docs .doc-pager .pt{font-weight:600;color:var(--primary-bright)}
@media (max-width:560px){.docs .doc-pager{grid-template-columns:1fr}}

/* ---- version / locale switcher (styled native <select>; no JS) ---- */
.docs .doc-version{position:relative;margin-bottom:16px}
.docs .doc-version select{appearance:none;-webkit-appearance:none;width:100%;background:var(--surface-2);
  border:1px solid var(--line);border-radius:var(--radius);padding:8px 32px 8px 11px;color:var(--text);
  font-family:var(--body);font-size:var(--text-md);cursor:pointer}
.docs .doc-version select:hover{border-color:var(--line-strong)}
.docs .doc-version select:focus-visible{outline:0;border-color:var(--primary-bright);box-shadow:0 0 0 3px var(--primary-ring)}
.docs .doc-version::after{content:"";position:absolute;top:50%;inset-inline-end:13px;transform:translateY(-25%);
  pointer-events:none;border:5px solid transparent;border-top-color:var(--muted)}

/* ============================================================================
   API REFERENCE  —  stacked, collapsible endpoint blocks (<details>)
   Verb colours map to existing tokens (no new tokens).
   ============================================================================ */

.docs .api-ref{border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;margin:var(--space-5) 0}
.docs .api-ref > summary{display:flex;align-items:center;gap:12px;list-style:none;cursor:pointer;
  padding:14px 16px;background:var(--surface);flex-wrap:wrap}
.docs .api-ref > summary::-webkit-details-marker{display:none}
.docs .api-ref > summary:hover{background:var(--surface-2)}
.docs .api-ref[open] > summary{border-bottom:1px solid var(--line)}
.docs .api-method{font-family:var(--mono);font-weight:700;font-size:var(--text-2xs);text-transform:uppercase;
  letter-spacing:.04em;padding:4px 9px;border-radius:6px;flex:0 0 auto}
.docs .api-method.get{background:rgb(var(--info-rgb) / .14);color:var(--info)}
.docs .api-method.post{background:rgb(var(--primary-rgb) / .14);color:var(--primary-bright)}
.docs .api-method.put,.docs .api-method.patch{background:rgb(var(--warning-rgb) / .14);color:var(--warning)}
.docs .api-method.delete{background:rgb(var(--danger-rgb) / .14);color:var(--danger)}
.docs .api-path{font-family:var(--mono);font-size:var(--text-md);color:var(--text);word-break:break-all}
.docs .api-summary{margin-inline-start:auto;color:var(--muted);font-size:var(--text-sm)}
.docs .api-body{padding:18px 16px;display:flex;flex-direction:column;gap:var(--space-5)}
.docs .api-sec-h{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);
  color:var(--muted);margin-bottom:9px}
/* params table */
.docs .api-params{width:100%;border-collapse:collapse;font-size:var(--text-md)}
.docs .api-params th{text-align:start;font-size:var(--text-2xs);text-transform:uppercase;
  letter-spacing:var(--tracking-wide);color:var(--muted);font-weight:600;padding:0 12px 8px;border-bottom:1px solid var(--line)}
.docs .api-params td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.docs .api-params tbody tr:last-child td{border-bottom:0}
.docs .api-params .pn{font-family:var(--mono);font-weight:600;color:var(--text)}
.docs .api-params .pty{font-family:var(--mono);font-size:var(--text-sm);color:var(--info)}
.docs .api-params .req{font-size:var(--text-2xs);color:var(--danger);font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.docs .api-params .pd{color:var(--text-2)}
/* request / response code sample (self-sufficient — not prose-wrapped) */
.docs .api-code{background:var(--surface-sunken);border:1px solid var(--line);border-radius:var(--radius);
  padding:14px 16px;overflow-x:auto;font-family:var(--mono);font-size:var(--text-sm);line-height:1.65;color:var(--text-2);white-space:pre}

/* ============================================================================
   HELP CENTER  —  landing (search hero + categories + popular) + article chrome
   ============================================================================ */

.docs .help{max-width:960px;margin:0 auto;padding:0 24px 80px}
.docs .help-hero{text-align:center;padding:52px 0 8px}
.docs .help-hero h1{font-family:var(--display);font-weight:800;letter-spacing:-.025em;
  font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.05}
.docs .help-hero p{color:var(--text-2);font-size:var(--text-lg);margin-top:10px}
.docs .help-search{display:flex;align-items:center;gap:11px;max-width:560px;margin:26px auto 0;
  background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-pill);padding:13px 20px}
.docs .help-search:focus-within{border-color:var(--primary-bright);box-shadow:0 0 0 3px var(--primary-ring)}
.docs .help-search i{color:var(--muted)}
.docs .help-search input{flex:1;background:transparent;border:0;outline:0;color:var(--text);
  font-family:var(--body);font-size:var(--text-base)}
.docs .help-sec{font-size:var(--text-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted);margin:44px 0 16px}
/* category grid */
.docs .help-cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:16px}
.docs .help-cat{display:block;border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px;
  text-decoration:none;color:var(--text);transition:transform var(--dur-1) var(--ease),border-color var(--dur-1),box-shadow var(--dur-2)}
.docs .help-cat:hover{border-color:rgb(var(--primary-rgb) / .4);transform:translateY(-2px);box-shadow:var(--shadow)}
.docs .help-cat .hc-ic{width:42px;height:42px;border-radius:var(--radius);background:var(--primary-soft);
  color:var(--primary-bright);display:grid;place-items:center;font-size:1.2rem;margin-bottom:14px}
.docs .help-cat h3{font-weight:700;font-size:var(--text-lg)}
.docs .help-cat p{color:var(--text-2);font-size:var(--text-md);margin-top:5px}
.docs .help-cat .hc-n{color:var(--muted);font-size:var(--text-sm);margin-top:12px;display:inline-block}
@media (prefers-reduced-motion:reduce){.docs .help-cat:hover{transform:none}}
/* popular-articles list */
.docs .help-list{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}
.docs .help-list li + li{border-top:1px solid var(--line)}
.docs .help-list a{display:flex;align-items:center;gap:12px;padding:14px 18px;text-decoration:none;color:var(--text);transition:.16s}
.docs .help-list a:hover{background:var(--surface-2)}
.docs .help-list a > i{color:var(--muted)}
.docs .help-list a .chev{margin-inline-start:auto;color:var(--muted)}

/* breadcrumb */
.docs .crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:var(--text-sm);color:var(--muted);margin-bottom:18px}
.docs .crumbs a{color:var(--text-2);text-decoration:none}
.docs .crumbs a:hover{color:var(--text)}
.docs .crumbs .sep{color:var(--line-strong)}

/* "was this helpful?" feedback */
.docs .help-vote{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:44px;padding:20px;
  border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}
.docs .help-vote .hv-q{font-weight:600}
.docs .help-vote .hv-btns{display:flex;gap:9px;margin-inline-start:auto}

/* related articles */
.docs .help-related{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:14px;margin-top:18px}
.docs .help-related a{border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;
  text-decoration:none;color:var(--text);font-weight:600;font-size:var(--text-md);transition:.16s;display:flex;align-items:center;gap:10px}
.docs .help-related a:hover{border-color:rgb(var(--primary-rgb) / .4);background:var(--surface-2)}
.docs .help-related a i{color:var(--primary-bright)}

} /* end @layer qazana */
