/* Soryk docs — lean design system (2026), builds on site.css tokens */

:root{ --doc-maxw:1300px; --sidebar-w:250px; --toc-w:210px; }

/* ---------- docs hero ---------- */
.docs-hero{border-bottom:1px solid var(--line);background:var(--surf);}
.docs-hero-inner{max-width:var(--doc-maxw);margin:0 auto;padding:44px 24px 40px;}
.crumb{display:flex;gap:8px;align-items:center;font-size:13.5px;color:var(--muted);margin-bottom:16px;}
.crumb a{color:var(--ink2);}
.crumb a:hover{color:var(--ink);}
.crumb .sep{opacity:.5;}
.docs-hero h1{font-size:40px;letter-spacing:-.022em;margin:0 0 12px;}
.docs-hero .lead{font-size:18px;color:var(--ink2);max-width:640px;}
.docs-search{margin-top:24px;max-width:460px;display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:12px 15px;}
.docs-search svg{width:18px;height:18px;stroke:var(--muted);fill:none;stroke-width:2;flex:0 0 auto;}
.docs-search input{border:none;outline:none;font:inherit;font-size:15px;width:100%;background:transparent;color:var(--ink);}
@media(max-width:760px){.docs-hero h1{font-size:30px;}}

/* ---------- shell: sidebar | content | toc ---------- */
.docs-shell{max-width:var(--doc-maxw);margin:0 auto;padding:0 24px;display:grid;
  grid-template-columns:var(--sidebar-w) minmax(0,1fr) var(--toc-w);gap:44px;align-items:start;}
.docs-shell.no-toc{grid-template-columns:var(--sidebar-w) minmax(0,1fr);}
@media(max-width:1080px){.docs-shell,.docs-shell.no-toc{grid-template-columns:var(--sidebar-w) minmax(0,1fr);}.docs-toc{display:none;}}
@media(max-width:820px){.docs-shell,.docs-shell.no-toc{grid-template-columns:1fr;}.docs-sidebar{display:none;}}

/* left sidebar */
.docs-sidebar{position:sticky;top:94px;align-self:start;padding:36px 0;max-height:calc(100vh - 94px);overflow-y:auto;}
.docs-sidebar h4{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700;margin:22px 0 10px;}
.docs-sidebar h4:first-child{margin-top:0;}
.docs-sidebar a{display:block;font-size:14.5px;color:var(--ink2);padding:6px 0;line-height:1.4;}
.docs-sidebar a:hover{color:var(--ink);}
.docs-sidebar a.active{color:var(--ink);font-weight:700;}

/* mobile sidebar */
.docs-sidebar-mobile{display:none;}
@media(max-width:820px){.docs-sidebar-mobile{display:block;margin:20px 0 0;}}
.docs-sidebar-mobile details{border:1px solid var(--line);border-radius:12px;background:#fff;}
.docs-sidebar-mobile summary{padding:14px 16px;font-weight:600;cursor:pointer;font-size:15px;}
.docs-sidebar-mobile .nav-body{padding:4px 16px 14px;display:flex;flex-direction:column;gap:2px;}
.docs-sidebar-mobile .nav-body a{font-size:14.5px;color:var(--ink2);padding:6px 0;}

/* right on-this-page */
.docs-toc{position:sticky;top:94px;align-self:start;padding:36px 0;font-size:13.5px;}
.docs-toc h4{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700;margin:0 0 12px;}
.docs-toc a{display:block;color:var(--muted);padding:5px 0;line-height:1.35;border-left:2px solid var(--line);padding-left:12px;margin-left:-2px;}
.docs-toc a:hover{color:var(--ink);}
.docs-toc a.lvl3{padding-left:24px;font-size:13px;}

/* ---------- content prose ---------- */
.docs-content{padding:40px 0 80px;min-width:0;}
.docs-content h1{font-size:36px;letter-spacing:-.022em;margin:0 0 16px;}
.docs-content .lead{font-size:18px;color:var(--ink2);margin-bottom:8px;line-height:1.6;}
.docs-content h2{font-size:26px;letter-spacing:-.02em;margin:52px 0 16px;padding-top:12px;scroll-margin-top:96px;}
.docs-content h3{font-size:19px;letter-spacing:-.01em;margin:32px 0 10px;scroll-margin-top:96px;}
.docs-content p{font-size:16px;color:var(--ink2);margin:0 0 16px;line-height:1.65;}
.docs-content a{color:var(--ink);text-decoration:underline;text-underline-offset:2px;text-decoration-color:#cfcfca;}
.docs-content a:hover{text-decoration-color:var(--ink);}
.docs-content ul,.docs-content ol{margin:0 0 18px;padding-left:22px;}
.docs-content li{font-size:16px;color:var(--ink2);margin:7px 0;line-height:1.6;}
.docs-content strong{color:var(--ink);font-weight:650;}
.docs-content hr{border:none;border-top:1px solid var(--line);margin:44px 0;}
.docs-content code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13.5px;background:var(--surf);border:1px solid var(--line);border-radius:6px;padding:1.5px 6px;color:var(--ink);}
.docs-content pre{background:#0e0e0e;color:#e8e8e8;border-radius:12px;padding:18px 20px;overflow-x:auto;margin:0 0 20px;font-size:13.5px;line-height:1.6;}
.docs-content pre code{background:none;border:none;padding:0;color:inherit;font-size:13.5px;}

/* ---------- callouts ---------- */
.callout{display:flex;gap:14px;border:1px solid var(--line);border-left-width:3px;border-radius:12px;padding:16px 18px;margin:0 0 22px;background:#fff;}
.callout .ci{width:22px;height:22px;border-radius:50%;flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:#fff;margin-top:1px;}
.callout .cb{min-width:0;}
.callout .cb p{margin:0;font-size:15px;}
.callout .cb p + p{margin-top:8px;}
.callout-tip{border-left-color:var(--ink);}
.callout-tip .ci{background:var(--ink);}
.callout-info{border-left-color:#2563eb;background:#f8faff;}
.callout-info .ci{background:#2563eb;}
.callout-warn{border-left-color:#c2830b;background:#fffdf5;}
.callout-warn .ci{background:#c2830b;}
.callout-danger{border-left-color:#c0392b;background:#fff7f6;}
.callout-danger .ci{background:#c0392b;}

/* ---------- plan badges ---------- */
.pbadge{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;letter-spacing:.01em;padding:3px 9px;border-radius:999px;vertical-align:middle;border:1px solid var(--line);background:var(--surf);color:var(--ink2);}
.pbadge.plan{background:var(--ink);color:#fff;border-color:var(--ink);}
.pbadge.addon{background:#fff;color:#c2830b;border-color:#e7d6ac;}

/* ---------- numbered steps ---------- */
.steps{list-style:none;padding:0;margin:0 0 22px;counter-reset:s;}
.steps > li{position:relative;padding:0 0 26px 46px;counter-increment:s;}
.steps > li::before{content:counter(s);position:absolute;left:0;top:0;width:30px;height:30px;border-radius:9px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;}
.steps > li::after{content:"";position:absolute;left:14px;top:34px;bottom:2px;width:2px;background:var(--line);}
.steps > li:last-child::after{display:none;}
.steps > li h3{margin:3px 0 8px;font-size:18px;}
.steps > li p{margin:0 0 8px;}

/* ---------- tables ---------- */
.dtable-wrap{overflow-x:auto;margin:0 0 22px;border:1px solid var(--line);border-radius:12px;}
table.dtable{width:100%;border-collapse:collapse;font-size:14.5px;min-width:520px;}
table.dtable th,table.dtable td{text-align:left;padding:11px 15px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink2);}
table.dtable th{background:var(--surf);font-weight:700;color:var(--ink);font-size:13px;text-transform:uppercase;letter-spacing:.02em;}
table.dtable tr:last-child td{border-bottom:none;}
table.dtable td code{white-space:nowrap;}
table.dtable .yes{color:var(--ok);font-weight:700;}
table.dtable .no{color:var(--muted);}

/* ---------- setting reference block ---------- */
.setting{border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin:0 0 14px;background:#fff;}
.setting .sk{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13.5px;font-weight:700;color:var(--ink);}
.setting .sm{font-size:13px;color:var(--muted);margin-left:8px;}
.setting p{margin:8px 0 0;font-size:14.5px;}

/* ---------- category card grid (docs home) ---------- */
.docs-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0 8px;}
@media(max-width:900px){.docs-cats{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.docs-cats{grid-template-columns:1fr;}}
.dcat{border:1px solid var(--line);border-radius:16px;padding:22px;background:#fff;transition:.16s;display:block;}
.dcat:hover{border-color:#cfcfca;transform:translateY(-2px);box-shadow:0 14px 40px rgba(0,0,0,.06);text-decoration:none;}
.dcat .di{width:38px;height:38px;border-radius:10px;background:var(--surf);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.dcat .di svg{width:19px;height:19px;stroke:var(--ink);fill:none;stroke-width:1.7;}
.dcat h3{font-size:16.5px;font-weight:700;margin:0 0 5px;letter-spacing:-.01em;color:var(--ink);}
.dcat p{font-size:14px;color:var(--ink2);margin:0;line-height:1.5;}

/* keyboard hint */
kbd{font-family:ui-monospace,monospace;font-size:12px;background:var(--surf);border:1px solid var(--line);border-bottom-width:2px;border-radius:6px;padding:1px 6px;color:var(--ink2);}

/* next/prev page nav */
.docs-pager{display:flex;justify-content:space-between;gap:16px;margin-top:48px;padding-top:28px;border-top:1px solid var(--line);flex-wrap:wrap;}
.docs-pager a{border:1px solid var(--line);border-radius:12px;padding:14px 18px;min-width:200px;flex:1;text-decoration:none;transition:.15s;}
.docs-pager a:hover{border-color:#cfcfca;}
.docs-pager .dir{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700;}
.docs-pager .ttl{font-size:15.5px;font-weight:600;color:var(--ink);margin-top:3px;}
.docs-pager a.next{text-align:right;}
