.crumbs{font-size:12.5px;margin:0 0 18px}.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 0}.crumbs li{display:inline-flex;align-items:center;color:var(--muted);min-width:0}.crumbs li+li:before{content:"/";margin:0 8px;color:var(--dim)}.crumbs a{color:var(--fg-2);text-decoration:none}.crumbs a:hover{color:var(--fg);text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:2px}.crumbs [aria-current]{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:46ch}.cp-hero{padding:56px 0 36px;position:relative;overflow:hidden}.cp-hero:before{content:"";position:absolute;width:560px;height:560px;right:-160px;top:-200px;z-index:-1;background:radial-gradient(circle,rgba(255,214,10,.16),transparent 62%)}.cp-hero .kicker{display:inline-block;margin-bottom:10px}.cp-hero h1{font-size:clamp(36px,5.4vw,64px);line-height:1.02;letter-spacing:-.045em;margin:0 0 18px;font-weight:700;max-width:17ch;text-wrap:balance}.cp-hero h1 mark{background:var(--yellow);color:var(--ink);padding:0 .1em;border-radius:.08em;box-shadow:.05em .05em 0 var(--pop)}.cp-hero .lead{margin:0;max-width:680px;font-size:19px;line-height:1.55;color:var(--fg-2)}.cp-meta{display:flex;flex-wrap:wrap;gap:8px 10px;margin:22px 0 0;padding:0;list-style:none}.cp-meta li{font-family:var(--font-mono);font-size:12px;padding:6px 10px;border-radius:999px;border:1px solid var(--line-strong);color:var(--fg-2);background:var(--bg-raised)}.cp-meta li:first-child{background:var(--yellow);color:var(--ink);border-color:var(--ink);font-weight:600}.cp-hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.cp-grid{display:grid;grid-template-columns:250px minmax(0,1fr);gap:56px;padding-bottom:96px;align-items:start}.cp-grid.no-toc{grid-template-columns:minmax(0,1fr)}.cp-main{min-width:0;max-width:780px}.cp-summary{margin:0 0 40px;padding:22px 24px;border-radius:18px;background:var(--bg-raised);border:2px solid var(--pop);box-shadow:6px 6px 0 var(--yellow)}.cp-summary h2{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-text);margin:0 0 10px}.cp-summary p{margin:0;font-size:17.5px;line-height:1.6;color:var(--fg)}.cp-summary ul{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:8px}.cp-summary li{position:relative;padding-left:24px;color:var(--fg-2)}.cp-summary li:before{content:"\2713";position:absolute;left:0;top:0;color:var(--accent-text);font-weight:700}.cp-toc{position:sticky;top:92px;max-height:calc(100vh - 110px);overflow:auto;padding:18px;border-radius:18px;background:var(--bg-raised);border:1px solid var(--line)}.cp-toc summary{list-style:none;cursor:pointer;font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-text);font-weight:600;display:flex;justify-content:space-between}.cp-toc summary::-webkit-details-marker{display:none}.cp-toc summary:after{content:"+";font-size:18px;line-height:1;transition:transform .2s}.cp-toc[open] summary:after{transform:rotate(45deg)}.cp-toc ol{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:2px}.cp-toc li.lvl-3 a{padding-left:22px;font-size:13px}.cp-toc a{display:block;padding:6px 8px;border-radius:8px;color:var(--muted);text-decoration:none;font-size:14px;line-height:1.35;transition:background .15s,color .15s}.cp-toc a:hover{color:var(--fg);background:var(--bg-raised-2)}.cp-toc a[aria-current=true]{color:var(--ink);background:var(--yellow);font-weight:600}.cp-body{font-size:17px;line-height:1.72;color:var(--fg-2);overflow-wrap:break-word}.cp-body h2,.cp-body h3,.cp-body h4{color:var(--fg);scroll-margin-top:92px}.cp-body h2{font-size:clamp(25px,3vw,31px);line-height:1.18;letter-spacing:-.03em;margin:48px 0 14px}.cp-body h2:first-child{margin-top:0}.cp-body h3{font-size:20px;letter-spacing:-.01em;margin:30px 0 8px}.cp-body h4{font-size:17px;margin:22px 0 6px}.cp-body p{margin:0 0 16px}.cp-body ul,.cp-body ol{margin:0 0 18px;padding-left:0;list-style:none;display:grid;gap:8px}.cp-body ul>li{position:relative;padding-left:22px}.cp-body ul>li:before{content:"";position:absolute;left:4px;top:.7em;width:7px;height:7px;border-radius:2px;background:var(--yellow);box-shadow:1px 1px 0 var(--pop)}.cp-body ol{counter-reset:cp-ol}.cp-body ol>li{position:relative;padding-left:34px;counter-increment:cp-ol}.cp-body ol>li:before{content:counter(cp-ol);position:absolute;left:0;top:.2em;width:24px;height:24px;border-radius:7px;display:grid;place-items:center;font-family:var(--font-mono);font-size:12px;font-weight:600;background:var(--yellow);color:var(--ink)}.cp-body li>ul,.cp-body li>ol{margin:8px 0 0}.cp-body li>p{margin:0 0 8px}.cp-body strong{color:var(--fg)}.cp-body a{color:var(--fg);font-weight:600;text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:2px;text-underline-offset:3px}.cp-body a:hover{text-decoration-color:var(--fg)}.cp-body code{font-family:var(--font-mono);font-size:.86em;padding:2px 6px;border-radius:6px;background:var(--bg-raised-2);color:var(--fg)}.cp-body pre{margin:0 0 20px;padding:16px 18px;border-radius:14px;background:var(--ink);color:#f6f2e7;border:1px solid var(--line);overflow-x:auto;font-size:14px;line-height:1.6}.cp-body pre code{background:none;padding:0;color:inherit;font-size:inherit}.cp-body blockquote{margin:0 0 20px;padding:14px 20px;border-left:4px solid var(--yellow);background:var(--bg-raised);border-radius:0 14px 14px 0;color:var(--fg)}.cp-body blockquote p:last-child{margin-bottom:0}.cp-body hr{border:0;border-top:1px solid var(--line);margin:36px 0}.cp-body img{max-width:100%;height:auto;border-radius:12px}.cp-body .table-wrap{overflow-x:auto;margin:6px 0 22px;border:1px solid var(--line);border-radius:14px;background:var(--bg-raised)}.cp-body table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.5}.cp-body th,.cp-body td{text-align:left;padding:11px 14px;vertical-align:top;border-bottom:1px solid var(--line)}.cp-body tr:last-child td{border-bottom:0}.cp-body th{font-family:var(--font-mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600;background:var(--bg-raised-2)}.cp-body td:first-child{color:var(--fg);font-weight:600}.cp-faq{margin-top:56px}.cp-faq h2{font-size:clamp(25px,3vw,31px);letter-spacing:-.03em;margin:0 0 6px;color:var(--fg);scroll-margin-top:92px}.cp-faq .faq summary{font-size:18px}.cp-faq .faq-a{color:var(--muted);margin-top:12px;line-height:1.65}.cp-faq .faq-a p{margin:0 0 10px;color:var(--muted)}.cp-faq .faq-a p:last-child{margin-bottom:0}.cp-faq .faq-a a{color:var(--fg);text-decoration-color:var(--yellow);text-decoration-thickness:2px}.cp-related{margin-top:56px}.cp-related h2{font-size:22px;letter-spacing:-.02em;margin:0 0 14px;color:var(--fg)}.cp-related ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.cp-related a{display:flex;justify-content:space-between;gap:10px;height:100%;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:var(--bg-raised);color:var(--fg);text-decoration:none;font-weight:600;line-height:1.35;transition:border-color .15s,transform .15s,box-shadow .15s}.cp-related a:after{content:"\2192";color:var(--accent-text)}.cp-related a:hover{border-color:var(--pop);transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--yellow)}.cp-cta{margin:64px 0 0;border-radius:22px;background:var(--ink);color:var(--fg);border:2px solid var(--yellow);box-shadow:8px 8px 0 var(--yellow)}.cp-cta-inner{padding:36px 32px}.cp-cta h2{margin:0 0 10px;font-size:clamp(24px,3.2vw,34px);letter-spacing:-.03em;line-height:1.1;color:var(--fg)}.cp-cta p{margin:0 0 22px;color:var(--fg-2);max-width:620px}.cp-cta-row{display:flex;flex-wrap:wrap;gap:12px}.cp-updated{margin-top:28px;font-family:var(--font-mono);font-size:12.5px;color:var(--muted)}.hub-sections{display:grid;gap:56px;padding-bottom:96px}.hub-group h2{font-size:clamp(24px,3vw,30px);letter-spacing:-.03em;margin:0 0 18px;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px}.hub-group h2 a{color:var(--fg);text-decoration:none}.hub-group h2 a:hover{text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:3px}.hub-group h2 .mono{font-size:13px;color:var(--muted);letter-spacing:0;font-weight:500}.hub-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}.hub-card{position:relative;display:flex;flex-direction:column;gap:10px;height:100%;padding:22px;border-radius:18px;background:var(--bg-raised);border:1px solid var(--line);transition:border-color .15s,transform .15s,box-shadow .15s}.hub-card:hover,.hub-card:focus-within{border-color:var(--pop);transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--yellow)}.hub-card .hc-tag{font-family:var(--font-mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-text)}.hub-card h3{margin:0;font-size:19px;line-height:1.25;letter-spacing:-.015em}.hub-card h3 a{color:var(--fg);text-decoration:none}.hub-card h3 a:after{content:"";position:absolute;inset:0;border-radius:inherit}.hub-card p{margin:0;color:var(--muted);font-size:15px;line-height:1.55}.hub-card .hc-go{margin-top:auto;font-weight:600;font-size:14px;color:var(--fg)}.hub-empty{padding:28px;border-radius:18px;border:1px dashed var(--line-strong);color:var(--muted)}.faq-hub-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 40px;padding:0;list-style:none}.faq-hub-nav a{display:inline-flex;padding:7px 12px;border-radius:999px;border:1px solid var(--line-strong);background:var(--bg-raised);color:var(--fg-2);text-decoration:none;font-size:14px;font-weight:500}.faq-hub-nav a:hover{border-color:var(--pop);color:var(--fg)}.faq-hub .cp-faq{margin-top:0}.faq-hub .cp-faq+.cp-faq{margin-top:48px}.faq-hub .faq-src{font-family:var(--font-mono);font-size:12px;color:var(--muted);margin:0 0 4px}@media(max-width:960px){.cp-grid{grid-template-columns:minmax(0,1fr);gap:24px}.cp-toc{position:static;max-height:none}}@media(max-width:560px){.cp-hero{padding:36px 0 28px}.cp-hero .lead{font-size:17px}.cp-summary{padding:18px;box-shadow:4px 4px 0 var(--yellow)}.cp-cta-inner{padding:26px 20px}.cp-cta{box-shadow:5px 5px 0 var(--yellow)}.cp-body{font-size:16px}.hub-grid{grid-template-columns:minmax(0,1fr)}.crumbs [aria-current]{max-width:28ch}}.cp-body .table-wrap table{min-width:560px}
