.code-block{margin:1.75rem 0;border:1px solid rgba(90,24,154,.12);border-radius:18px;overflow:hidden;background:white;box-shadow:0 18px 36px rgba(15,23,42,.08)}.code-block-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem .9rem;border-bottom:1px solid rgba(148,163,184,.2);background:rgba(255,255,255,.78)}.code-block-language{display:inline-flex;align-items:center;border-radius:999px;padding:.3rem .75rem;background:rgba(90,24,154,.08);color:#5a189a;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.code-block-copy-button{display:inline-flex;align-items:center;gap:.45rem;border:1px solid rgba(15,23,42,.08);border-radius:999px;padding:.45rem .8rem;background:#ffffff;color:#334155;font-size:.88rem;font-weight:600;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,color .18s ease}.code-block-copy-button:hover{transform:translateY(-1px);border-color:rgba(90,24,154,.22);color:#5a189a;box-shadow:0 10px 24px rgba(90,24,154,.12)}.code-block-copy-button:active{transform:translateY(0)}.code-block-copy-button:focus-visible{outline:2px solid rgba(255,195,0,.85);outline-offset:2px}.code-block-copy-icon{width:1rem;height:1rem;fill:currentColor}.code-block-pre{margin:0;padding:1.15rem 1.2rem 1.25rem;overflow-x:auto}.code-block-pre code{display:block;min-width:max-content;background:transparent;color:#0f172a;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.96rem;line-height:1.7}.code-block-pre code *{background:transparent;font-family:inherit}.code-block .hljs-comment,.code-block .hljs-quote{color:#7c8aa5;font-style:italic}.code-block .hljs-keyword,.code-block .hljs-link,.code-block .hljs-literal,.code-block .hljs-section,.code-block .hljs-selector-tag{color:#5a189a}.code-block .hljs-addition,.code-block .hljs-attr,.code-block .hljs-bullet,.code-block .hljs-string{color:#b7791f}.code-block .hljs-built_in,.code-block .hljs-function,.code-block .hljs-number,.code-block .hljs-title,.code-block .hljs-type{color:#0f766e}.code-block .hljs-attribute,.code-block .hljs-name,.code-block .hljs-tag,.code-block .hljs-template-variable,.code-block .hljs-variable{color:#1d4ed8}.code-block .hljs-emphasis{font-style:italic}.code-block .hljs-strong{font-weight:700}@media (max-width:640px){.code-block-header{padding:.75rem}.code-block-pre{padding:1rem}.code-block-pre code{font-size:.88rem}}