/* ============ Docs page ============ */
.doc-hero{padding:80px 0 40px;}
.doc-section{padding:80px 0; border-top:1px solid var(--panel-line);}
.doc-section .section-sub{margin-bottom:40px;}

/* Table */
.doc-table-wrap{overflow-x:auto; border:1px solid var(--panel-line); border-radius:6px;}
.doc-table{width:100%; border-collapse:collapse; font-size:13.5px;}
.doc-table thead{background:rgba(255,255,255,0.015);}
.doc-table th{padding:14px 18px; text-align:left; color:var(--text-faint); font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.06em; text-transform:uppercase; border-bottom:1px solid var(--panel-line);}
.doc-table td{padding:14px 18px; color:var(--text-dim); border-bottom:1px solid var(--panel-line);}
.doc-table tr:last-child td{border-bottom:none;}
.doc-table td.mono{font-family:'IBM Plex Mono',monospace; font-size:13px;}
.doc-table .check{color:var(--green); font-size:11.5px;}
.doc-table .note{color:var(--text-faint); font-size:12px;}
.doc-table.inner{margin-top:16px; border:1px solid var(--panel-line); border-radius:4px;}

/* Callout */
.doc-callout{display:flex; gap:14px; background:var(--panel); border:1px solid var(--panel-line); border-radius:6px; padding:22px 28px; margin-top:32px; align-items:flex-start;}
.doc-callout-icon{color:var(--cyan); font-size:18px; line-height:1; margin-top:2px;}
.doc-callout p{color:var(--text-dim); font-size:14px; line-height:1.6;}
.doc-callout a{color:var(--cyan); text-decoration:none;}
.doc-callout a:hover{text-decoration:underline;}

/* Cards */
.doc-card{background:var(--panel); border:1px solid var(--panel-line); border-radius:6px; padding:28px; margin-top:24px;}
.doc-card h3{font-size:18px; font-weight:600; margin-bottom:16px;}
.doc-card-note{color:var(--text-faint); font-size:13px; margin-top:14px; line-height:1.6;}
.doc-card-note .mono{color:var(--text-dim);}

.doc-checklist{display:grid; gap:10px;}
.check-item{display:flex; align-items:center; gap:12px; font-size:14px; color:var(--text-dim);}
.check-item .check{color:var(--green); font-size:13px; width:16px; text-align:center;}
.check-item .not{color:var(--rose);}

/* Code blocks */
.doc-code-block{background:var(--bg); border:1px solid var(--panel-line); border-radius:4px; padding:18px 20px; overflow-x:auto;}
.doc-code-block pre{font-size:13px; line-height:1.65; color:var(--text-dim); white-space:pre;}

/* API endpoints */
.api-endpoint{background:var(--panel); border:1px solid var(--panel-line); border-radius:6px; padding:28px; margin-top:20px; display:grid; grid-template-columns:auto 1fr auto; gap:8px 16px; align-items:center;}
.api-method{font-size:11px; letter-spacing:0.06em; color:var(--cyan);}
.api-path{font-size:14px; color:var(--text);}
.api-desc{font-size:13px; color:var(--text-faint); justify-self:end;}
.api-endpoint .doc-code-block{grid-column:1/-1; margin-top:8px;}

@media (max-width:720px){
  .api-endpoint{grid-template-columns:1fr; gap:6px;}
  .api-desc{justify-self:start;}
  .doc-table th,.doc-table td{padding:10px 12px;}
}
