
/* P2P Platform code manual */
.navlinks a.active { background:#eaf2ff; color:var(--blue); }
.code-hero { padding:64px 0 36px; background:linear-gradient(145deg,#eef6ff 0%,#f8fbff 58%,#f5f3ff 100%); border-bottom:1px solid var(--line); }
.code-hero h1 { font-size:clamp(36px,5vw,60px); margin:18px 0 14px; }
.breadcrumb { display:flex; gap:9px; align-items:center; color:#64748b; font-size:14px; margin-bottom:16px; }
.breadcrumb a { color:var(--blue); text-decoration:none; font-weight:750; }
.chapter-meta { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.chapter-meta span { padding:7px 11px; border:1px solid #cbdcf5; background:rgba(255,255,255,.78); border-radius:999px; color:#35506f; font-size:13px; font-weight:750; }
.code-section { padding-top:34px; }
.code-layout { display:grid; grid-template-columns:250px minmax(0,1fr); gap:26px; align-items:start; }
.code-sidebar { position:sticky; top:90px; background:white; border:1px solid var(--line); border-radius:20px; padding:12px; box-shadow:var(--shadow); max-height:calc(100vh - 110px); overflow:auto; }
.sidebar-title { padding:10px 12px; color:#64748b; font-size:12px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.code-sidebar a { display:grid; grid-template-columns:32px 1fr; gap:8px; align-items:center; text-decoration:none; color:#334155; padding:10px; border-radius:12px; font-size:13px; font-weight:750; line-height:1.35; }
.code-sidebar a span { display:grid; place-items:center; width:28px; height:28px; border-radius:9px; background:#f1f5f9; color:#64748b; font-size:11px; }
.code-sidebar a:hover,.code-sidebar a.current { background:#eff6ff; color:#1d4ed8; }
.code-sidebar a.current span { background:#2563eb; color:white; }
.code-main { min-width:0; }
.chapter-overview { display:grid; grid-template-columns:1.05fr .95fr; gap:20px; background:#0b1220; color:#dbeafe; padding:26px; border-radius:24px; margin-bottom:18px; box-shadow:var(--shadow); }
.chapter-overview h2 { color:white; margin:0 0 10px; }
.chapter-overview h3 { color:#bfdbfe; margin:20px 0 10px; }
.chapter-overview p { color:#cbd5e1; line-height:1.8; margin:0; }
.chapter-overview .related-list code { background:#17233a; color:#bfdbfe; border-color:#263a59; }
.call-chain { list-style:none; padding:0; margin:0; display:grid; gap:9px; }
.call-chain li { display:flex; align-items:center; gap:10px; color:#dbeafe; }
.call-chain li span { width:28px; height:28px; display:grid; place-items:center; border-radius:9px; background:#2563eb; color:white; font-size:12px; font-weight:850; }
.function-index { display:flex; flex-wrap:wrap; align-items:center; gap:8px; background:white; border:1px solid var(--line); border-radius:18px; padding:14px; margin-bottom:18px; }
.function-index strong { margin-right:4px; }
.function-index a { text-decoration:none; color:#1d4ed8; background:#eff6ff; border-radius:999px; padding:7px 10px; font-size:12px; font-weight:750; }
.function-entry { background:white; border:1px solid var(--line); border-radius:24px; padding:26px; margin-bottom:20px; box-shadow:0 12px 32px rgba(15,23,42,.06); scroll-margin-top:92px; }
.function-head { display:flex; justify-content:space-between; gap:22px; align-items:flex-start; border-bottom:1px solid #e7eef6; padding-bottom:18px; }
.module-tag { display:inline-flex; padding:6px 9px; border-radius:999px; background:#eef6ff; color:#1d4ed8; font-size:12px; font-weight:850; }
.function-head h2 { margin:10px 0 8px; font-size:clamp(24px,3vw,34px); letter-spacing:-.5px; word-break:break-word; }
.function-head p { color:var(--muted); line-height:1.75; margin:0; max-width:720px; }
.source-anchor { flex:0 0 auto; text-decoration:none; font-family:Consolas,monospace; font-size:12px; color:#64748b; background:#f8fafc; border:1px solid var(--line); border-radius:10px; padding:8px 10px; }
.signature { margin:18px 0; padding:14px 16px; background:#0b1220; color:#d1fae5; border-radius:15px; overflow:auto; }
.signature span { color:#93c5fd; font-size:11px; font-weight:850; margin-right:12px; text-transform:uppercase; letter-spacing:.08em; }
.signature code { white-space:nowrap; font-family:Consolas,"SFMono-Regular",monospace; font-size:13px; }
.doc-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.doc-grid section { background:#f8fafc; border:1px solid #e3ebf4; border-radius:16px; padding:16px; }
.doc-grid section.wide { grid-column:1/-1; }
.doc-grid h3 { margin:0 0 8px; font-size:15px; color:#1f3a5f; }
.doc-grid p,.doc-grid li { color:#5f7188; line-height:1.7; margin:0; font-size:14px; }
.doc-grid ol { margin:0; padding-left:21px; }
.param-table { width:100%; border-collapse:collapse; font-size:13px; }
.param-table th,.param-table td { padding:9px 10px; text-align:left; border-bottom:1px solid #e2e8f0; vertical-align:top; }
.param-table th { color:#475569; background:#f1f5f9; }
.param-table td { color:#5f7188; }
.param-table code { color:#1d4ed8; }
.table-wrap { overflow:auto; }
.empty-note { color:#94a3b8!important; }
.related-list { display:flex; flex-wrap:wrap; gap:7px; }
.related-list code { padding:6px 9px; border-radius:9px; background:white; border:1px solid #dbe4ee; color:#334155; font-size:12px; }
.code-details { margin-top:18px; border:1px solid #d9e4f0; border-radius:16px; overflow:hidden; }
.code-details summary { cursor:pointer; list-style:none; padding:14px 16px; font-weight:850; color:#1d4ed8; background:#f8fbff; }
.code-details summary::-webkit-details-marker { display:none; }
.code-details summary::after { content:"＋"; float:right; }
.code-details[open] summary::after { content:"－"; }
.code-toolbar { display:flex; justify-content:space-between; gap:12px; align-items:center; background:#111827; color:#94a3b8; padding:9px 13px; border-top:1px solid #263244; font-family:Consolas,monospace; font-size:12px; }
.copy-code { border:1px solid #475569; background:#1e293b; color:#e2e8f0; border-radius:8px; padding:6px 9px; cursor:pointer; }
.code-details pre { margin:0; padding:18px; background:#0b1220; color:#d1fae5; overflow:auto; max-height:720px; font-size:13px; line-height:1.6; tab-size:4; }
.code-details code { font-family:Consolas,"SFMono-Regular",monospace; }
.chapter-nav { display:flex; justify-content:space-between; gap:16px; margin-top:28px; }
.chapter-nav-link { text-decoration:none; color:#1d4ed8; font-weight:800; padding:13px 15px; background:white; border:1px solid var(--line); border-radius:14px; }
.chapter-nav-link.next { margin-left:auto; }
.manual-landing-hero .lead { max-width:850px; }
.manual-chapter-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.manual-chapter-card { display:grid; grid-template-columns:58px 1fr; gap:18px; background:white; border:1px solid var(--line); border-radius:24px; padding:22px; box-shadow:0 10px 28px rgba(15,23,42,.05); }
.chapter-number { width:52px; height:52px; display:grid; place-items:center; border-radius:17px; background:linear-gradient(135deg,#2563eb,#7c3aed); color:white; font-weight:900; }
.chapter-en { color:#2563eb; text-transform:uppercase; letter-spacing:.06em; font-size:11px; font-weight:850; }
.manual-chapter-card h2 { margin:8px 0 8px; font-size:23px; }
.manual-chapter-card p { color:var(--muted); line-height:1.7; margin:0 0 14px; }
.chapter-functions { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:16px; }
.chapter-functions code { background:#f1f5f9; color:#475569; border-radius:8px; padding:5px 7px; font-size:11px; }
@media(max-width:900px){.code-layout{grid-template-columns:1fr}.code-sidebar{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}.sidebar-title{grid-column:1/-1}.chapter-overview,.manual-chapter-grid{grid-template-columns:1fr}.function-head{display:block}.source-anchor{display:inline-block;margin-top:14px}.doc-grid{grid-template-columns:1fr}.doc-grid section.wide{grid-column:auto}}
@media(max-width:560px){.code-hero{padding:42px 0 26px}.code-sidebar{grid-template-columns:1fr}.function-entry{padding:18px;border-radius:20px}.chapter-overview{padding:20px}.doc-grid{gap:10px}.signature{padding:12px}.manual-chapter-card{grid-template-columns:1fr}.chapter-number{width:44px;height:44px}.code-details pre{font-size:12px;max-height:560px}.chapter-nav{flex-direction:column}.chapter-nav-link,.chapter-nav-link.next{width:100%;margin:0}.function-index{align-items:flex-start}.source-anchor{max-width:100%;word-break:break-all}}
