:root{--bg:#f4f6fb;--panel:#ffffff;--panel-2:#f9fafd;--ink:#161d2b;--ink-soft:#3a4557;--muted:#5f6c85;--line:#e1e6f0;--line-soft:#eef1f7;--brand:#20558f;--brand-soft:#e7eff8;--accent:#c0562a;--ok:#1f7355;--warn:#b5432c;--key:#8a6a00;--key-bg:#fdf6e3;--shadow:0 1px 2px rgba(22,29,43,.05), 0 8px 24px rgba(22,29,43,.06);--radius:12px;--maxw:1180px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#10141d;--panel:#171d29;--panel-2:#1b2230;--ink:#e8edf7;--ink-soft:#c2cbdb;--muted:#8d9ab2;--line:#28303f;--line-soft:#212836;--brand:#79aee6;--brand-soft:#1b2a3b;--accent:#e8836a;--ok:#5ec298;--warn:#e8836a;--key:#d8b551;--key-bg:#26210f;--shadow:0 1px 2px rgba(0,0,0,.3), 0 8px 24px rgba(0,0,0,.28)}}:root[data-theme=dark]{--bg:#10141d;--panel:#171d29;--panel-2:#1b2230;--ink:#e8edf7;--ink-soft:#c2cbdb;--muted:#8d9ab2;--line:#28303f;--line-soft:#212836;--brand:#79aee6;--brand-soft:#1b2a3b;--accent:#e8836a;--ok:#5ec298;--warn:#e8836a;--key:#d8b551;--key-bg:#26210f;--shadow:0 1px 2px rgba(0,0,0,.3), 0 8px 24px rgba(0,0,0,.28)}*{box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}body{margin:0;background:var(--bg);color:var(--ink);font-family:Segoe UI,Roboto,-apple-system,Helvetica,Arial,sans-serif;line-height:1.62;font-size:16px;-webkit-font-smoothing:antialiased}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}img{max-width:100%;height:auto}.nav{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--panel) 88%,transparent);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line)}.nav-in{max-width:var(--maxw);margin:0 auto;padding:11px 22px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}.nav .logo{font-weight:700;font-size:.98rem;color:var(--ink);text-decoration:none;white-space:nowrap}.nav .logo span{color:var(--brand)}.nav nav{display:flex;gap:4px;flex-wrap:wrap;margin-left:auto}.nav nav a{padding:6px 12px;border-radius:8px;font-size:.88rem;color:var(--ink-soft)}.nav nav a:hover{background:var(--brand-soft);color:var(--ink);text-decoration:none}.nav nav a[aria-current=page]{background:var(--brand-soft);color:var(--brand);font-weight:600}.page{max-width:var(--maxw);margin:0 auto;padding:30px 22px 80px;display:flex;flex-direction:column;gap:20px}.page-wide{max-width:var(--maxw)}.fil{font-size:.82rem;color:var(--muted);display:flex;gap:7px;flex-wrap:wrap;align-items:center}.fil a{color:var(--muted)}.fil span{opacity:.5}.hero{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:28px 30px;box-shadow:var(--shadow)}.hero h1{margin:6px 0 8px;font-size:1.9rem;line-height:1.18;letter-spacing:-.02em;text-wrap:balance}.hero p{margin:0;color:var(--muted);max-width:66ch}.eyebrow{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--brand);margin:0}section.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px 28px;box-shadow:var(--shadow)}section.card>h2{margin:0 0 4px;font-size:1.28rem;letter-spacing:-.01em}section.card>.lead{color:var(--muted);margin:0 0 16px;font-size:.92rem}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(238px,1fr));gap:15px}.tile{display:block;background:var(--panel-2);border:1px solid var(--line);border-radius:11px;padding:19px 20px;color:var(--ink);text-decoration:none;transition:.16s}.tile:hover{border-color:var(--brand);transform:translateY(-2px);text-decoration:none;box-shadow:var(--shadow)}.tile .ic{font-size:1.6rem;line-height:1}.tile h3{margin:9px 0 5px;font-size:1.03rem}.tile p{margin:0;font-size:.87rem;color:var(--muted)}.tile .meta{margin-top:11px;font-size:.76rem;color:var(--brand);font-weight:600}.pills{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0 0;padding:0;list-style:none}.pills li{background:var(--brand-soft);border:1px solid var(--line);padding:4px 11px;border-radius:20px;font-size:.78rem;color:var(--ink-soft)}.files{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.files a{display:flex;align-items:center;gap:13px;padding:11px 14px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2);color:var(--ink);text-decoration:none;transition:.15s}.files a:hover{border-color:var(--brand);text-decoration:none}.files .ic{font-size:1.25rem;line-height:1}.files .nom{font-weight:600;font-size:.92rem}.files .det{font-size:.78rem;color:var(--muted)}.files .grow{margin-left:auto;font-size:.76rem;color:var(--muted);white-space:nowrap}.doc-wrap{display:grid;grid-template-columns:250px minmax(0,1fr);gap:0;max-width:var(--maxw);margin:0 auto}.doc-toc{position:sticky;top:52px;align-self:start;max-height:calc(100vh - 52px);overflow-y:auto;padding:26px 16px 40px;border-right:1px solid var(--line)}.doc-toc p.t{font-size:.68rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin:0 0 8px}.doc-toc a{display:block;padding:5px 10px;border-radius:8px;color:var(--ink-soft);font-size:.855rem;line-height:1.35}.doc-toc a:hover{background:var(--brand-soft);color:var(--ink);text-decoration:none}.doc-toc a.h3{padding-left:22px;font-size:.815rem;color:var(--muted)}.doc-main{padding:26px 34px 90px;min-width:0}.prose{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:28px 34px 34px;box-shadow:var(--shadow)}.prose>:first-child{margin-top:0}.prose h1{font-size:1.75rem;line-height:1.2;letter-spacing:-.02em;margin:0 0 14px;text-wrap:balance}.prose h2{font-size:1.3rem;margin:34px 0 10px;padding-top:16px;border-top:1px solid var(--line-soft);letter-spacing:-.01em}.prose h2:first-of-type{border-top:0;padding-top:0}.prose h3{font-size:1.05rem;margin:22px 0 7px}.prose h4{font-size:.94rem;margin:16px 0 6px;color:var(--ink-soft)}.prose p{margin:9px 0}.prose ul,.prose ol{margin:8px 0 14px;padding-left:22px}.prose li{margin:4px 0}.prose li>ul,.prose li>ol{margin:4px 0}.prose hr{border:0;border-top:1px solid var(--line);margin:26px 0}.prose blockquote{margin:14px 0;padding:11px 16px;border-left:4px solid var(--key);background:var(--key-bg);border-radius:0 9px 9px 0;color:var(--ink-soft)}.prose blockquote>:first-child{margin-top:0}.prose blockquote>:last-child{margin-bottom:0}.prose code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.87em;background:var(--panel-2);border:1px solid var(--line);border-radius:5px;padding:1px 5px}.prose pre{overflow-x:auto;padding:15px 17px;border-radius:10px;border:1px solid var(--line);background:var(--panel-2)!important;font-size:.83rem;line-height:1.5}.prose pre code{background:none;border:0;padding:0;font-size:inherit}.prose table{width:100%;border-collapse:collapse;font-size:.885rem;min-width:480px}.prose .tw{overflow-x:auto;margin:13px 0}.prose th,.prose td{border:1px solid var(--line);padding:8px 12px;text-align:left;vertical-align:top}.prose th{background:var(--brand-soft);font-weight:700;font-size:.84rem}.prose tbody tr:nth-child(2n) td{background:var(--panel-2)}.prose img{border-radius:10px;border:1px solid var(--line);display:block;margin:16px auto}.prose h2 a.anchor,.prose h3 a.anchor{opacity:0;margin-left:8px;font-weight:400;color:var(--muted);text-decoration:none}.prose h2:hover a.anchor,.prose h3:hover a.anchor{opacity:1}.prose pre.mermaid{background:var(--panel-2)!important;border:1px solid var(--line);border-radius:10px;padding:18px;text-align:center;overflow-x:auto;font-family:inherit}.prose pre.mermaid[data-processed] svg{max-width:100%;height:auto}footer.site{border-top:1px solid var(--line);margin-top:10px;padding:22px;color:var(--muted);font-size:.8rem;text-align:center}footer.site a{color:var(--muted);text-decoration:underline}@media(max-width:900px){.doc-wrap{grid-template-columns:1fr}.doc-toc{position:static;max-height:none;border-right:0;border-bottom:1px solid var(--line);padding:16px}.doc-main{padding:18px 16px 60px}.prose{padding:20px 18px 24px}.page{padding:20px 16px 60px}.hero{padding:22px 20px}section.card{padding:20px 18px}}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .astro-code,:root:not([data-theme=light]) .astro-code span{color:var(--shiki-dark)!important;background-color:transparent!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important;text-decoration:var(--shiki-dark-text-decoration)!important}}:root[data-theme=dark] .astro-code,:root[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;background-color:transparent!important}.prose pre.mermaid svg .mindmap-node.section-root circle,.prose pre.mermaid svg .mindmap-node.section-root ellipse,.prose pre.mermaid svg .mindmap-node.section-root rect,.prose pre.mermaid svg .mindmap-node.section-root polygon,.prose pre.mermaid svg .mindmap-node.section-root path{fill:var(--brand-soft)!important;stroke:var(--brand)!important;stroke-width:2px!important}.prose pre.mermaid svg .mindmap-node.section-root text,.prose pre.mermaid svg .mindmap-node.section-root tspan{fill:var(--ink)!important}.prose pre.mermaid svg .mindmap-node.section-root foreignObject *{color:var(--ink)!important}
