:root{--py-surface: #ffffff;--py-surface-2: #f6f7f9;--py-panel: #ffffff;--py-panel-2: #f3f4f6;--py-border: rgba(0,0,0,.12);--py-border-2: rgba(0,0,0,.1);--py-text: rgba(17,24,39,.94);--py-muted: rgba(17,24,39,.6);--py-mono: "JetBrains Mono", "Fira Code", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--py-shadow: 0 12px 30px rgba(0,0,0,.1);--py-selection: rgba(37, 99, 235, .22);--py-pad-x: 14px;--py-pad-y: 14px;--py-gutter-w: 3.25rem;--py-linenum: color-mix(in srgb, var(--py-muted) 78%, var(--py-token-function) 22%);--py-scroll-track: rgba(0,0,0,.04);--py-scroll-thumb: rgba(0,0,0,.22);--py-scroll-thumb-hover: rgba(0,0,0,.32);--py-token-comment: rgba(100,116,139,.85);--py-token-keyword: #6d28d9;--py-token-string: #047857;--py-token-number: #b45309;--py-token-function: #1d4ed8;--py-token-operator: rgba(17,24,39,.85);--py-token-punctuation: rgba(17,24,39,.65);--py-token-builtin: #047857;--py-token-class: #1d4ed8;--py-token-boolean: #b45309}[data-theme=dark]{--py-surface: #0f1117;--py-surface-2: #0b0d12;--py-panel: #0f1117;--py-panel-2: #0b0d12;--py-border: rgba(255,255,255,.14);--py-border-2: rgba(255,255,255,.1);--py-text: rgba(255,255,255,.92);--py-muted: rgba(255,255,255,.68);--py-shadow: 0 12px 30px rgba(0,0,0,.35);--py-selection: rgba(130,170,255,.35);--py-linenum: color-mix(in srgb, var(--py-muted) 78%, var(--py-token-function) 22%);--py-scroll-track: rgba(255,255,255,.04);--py-scroll-thumb: rgba(255,255,255,.28);--py-scroll-thumb-hover: rgba(255,255,255,.38);--py-token-comment: rgba(148,163,184,.8);--py-token-keyword: #a78bfa;--py-token-string: #34d399;--py-token-number: #f59e0b;--py-token-function: #60a5fa;--py-token-operator: rgba(226,232,240,.85);--py-token-punctuation: rgba(226,232,240,.75);--py-token-builtin: #34d399;--py-token-class: #60a5fa;--py-token-boolean: #f59e0b}.py-runner[data-astro-cid-vxgb6a45]{margin:1.5rem 0}.py-title[data-astro-cid-vxgb6a45]{margin:0 0 .75rem}.py-window[data-astro-cid-vxgb6a45]{border-radius:14px;border:1px solid var(--py-border);overflow:hidden;background:var(--py-surface);box-shadow:var(--py-shadow)}.py-windowbar[data-astro-cid-vxgb6a45]{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:color-mix(in srgb,var(--py-surface) 92%,transparent);border-bottom:1px solid var(--py-border-2)}.py-windowtitle[data-astro-cid-vxgb6a45]{font-size:.85rem;letter-spacing:.02em;color:var(--py-muted);user-select:none}.py-copy[data-astro-cid-vxgb6a45]{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;border:1px solid var(--py-border-2);background:color-mix(in srgb,var(--py-surface) 90%,transparent);color:var(--py-text);cursor:pointer;font-weight:600;font-size:.9rem}.py-copy[data-astro-cid-vxgb6a45]:hover{background:color-mix(in srgb,var(--py-surface) 82%,transparent)}.py-copy[data-astro-cid-vxgb6a45]:disabled{opacity:.7;cursor:default}.py-body[data-astro-cid-vxgb6a45]{padding:14px;display:grid;gap:12px}.py-editorwrap[data-astro-cid-vxgb6a45]{display:grid;grid-template-columns:1fr;border-radius:12px;border:1px solid var(--py-border-2);background:var(--py-panel-2);overflow:hidden}.py-codepane[data-astro-cid-vxgb6a45]{position:relative;overflow:hidden}.py-gutter[data-astro-cid-vxgb6a45]{position:absolute;inset:0 auto 0 0;width:var(--py-gutter-w);border-right:1px solid var(--py-border-2);background:color-mix(in srgb,var(--py-panel-2) 92%,transparent);pointer-events:none;overflow:hidden;z-index:2}.py-linenos[data-astro-cid-vxgb6a45]{margin:0;padding:var(--py-pad-y) 10px var(--py-pad-y) 10px;font-family:var(--py-mono);font-size:.95rem;line-height:1.45;tab-size:4;white-space:pre;text-align:right;color:var(--py-linenum);user-select:none;will-change:transform}.py-highlight[data-astro-cid-vxgb6a45],.py-editor[data-astro-cid-vxgb6a45]{position:absolute;inset:0;margin:0;padding:var(--py-pad-y) var(--py-pad-x) var(--py-pad-y) calc(var(--py-pad-x) + var(--py-gutter-w));font-family:var(--py-mono);font-size:.95rem;line-height:1.45;tab-size:4;white-space:pre;box-sizing:border-box;font-weight:400;letter-spacing:0;font-variant-ligatures:none;-webkit-text-size-adjust:100%}.py-highlight[data-astro-cid-vxgb6a45]{overflow:hidden;pointer-events:none;color:var(--py-text)}.py-highlight[data-astro-cid-vxgb6a45] code[data-astro-cid-vxgb6a45]{display:block;will-change:transform}.py-highlight[data-astro-cid-vxgb6a45]::-webkit-scrollbar{width:0;height:0}.py-highlight[data-astro-cid-vxgb6a45]{scrollbar-width:none}.py-editor[data-astro-cid-vxgb6a45]{scrollbar-gutter:stable}.py-editor[data-astro-cid-vxgb6a45]{border:0;outline:none;resize:none;background:transparent;overflow:auto;color:transparent;caret-color:var(--py-text)}.py-editor[data-astro-cid-vxgb6a45]::selection{background:var(--py-selection)}.py-editor[data-astro-cid-vxgb6a45]::-webkit-scrollbar{width:10px;height:10px}.py-editor[data-astro-cid-vxgb6a45]::-webkit-scrollbar-track{background:var(--py-scroll-track);border-radius:999px}.py-editor[data-astro-cid-vxgb6a45]::-webkit-scrollbar-thumb{background:var(--py-scroll-thumb);border-radius:999px;border:2px solid rgba(0,0,0,0);background-clip:padding-box}.py-editor[data-astro-cid-vxgb6a45]::-webkit-scrollbar-thumb:hover{background:var(--py-scroll-thumb-hover);background-clip:padding-box}.py-editor[data-astro-cid-vxgb6a45]::-webkit-scrollbar-corner{background:transparent}.py-editor[data-astro-cid-vxgb6a45]{scrollbar-width:thin;scrollbar-color:var(--py-scroll-thumb) var(--py-scroll-track)}.py-editorwrap[data-astro-cid-vxgb6a45]:has(.py-editor:focus){border-color:color-mix(in srgb,var(--py-token-function) 55%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--py-token-function) 18%,transparent)}.token.comment{color:var(--py-token-comment)}.token.keyword{color:var(--py-token-keyword)}.token.string{color:var(--py-token-string)}.token.number{color:var(--py-token-number)}.token.function{color:var(--py-token-function)}.token.operator{color:var(--py-token-operator)}.token.punctuation{color:var(--py-token-punctuation)}.token.builtin{color:var(--py-token-builtin)}.token.class-name{color:var(--py-token-class)}.token.boolean{color:var(--py-token-boolean)}.py-actions[data-astro-cid-vxgb6a45]{display:flex;align-items:center;gap:10px}.py-run[data-astro-cid-vxgb6a45]{padding:.45rem .9rem;border-radius:999px;border:1px solid var(--py-border-2);background:color-mix(in srgb,var(--py-surface) 90%,transparent);color:var(--py-text);cursor:pointer;font-weight:600}.py-run[data-astro-cid-vxgb6a45]:hover{background:color-mix(in srgb,var(--py-surface) 82%,transparent)}.py-run[data-astro-cid-vxgb6a45]:disabled{opacity:.6;cursor:not-allowed}.py-status[data-astro-cid-vxgb6a45]{font-size:.95rem;color:var(--py-muted)}.py-stdout[data-astro-cid-vxgb6a45],.py-stderr[data-astro-cid-vxgb6a45]{white-space:pre;overflow-x:auto;padding:12px 14px;border-radius:12px;border:1px solid var(--py-border-2);background:var(--py-panel-2);color:var(--py-text);font-family:var(--py-mono);font-size:.9rem;line-height:1.4;display:block;width:100%;max-width:none;margin:0;justify-self:stretch;box-sizing:border-box}.py-stdout[data-astro-cid-vxgb6a45]{font-variant-numeric:tabular-nums}.py-stderr[data-astro-cid-vxgb6a45]{border-color:color-mix(in srgb,#ef4444 35%,var(--py-border-2));color:color-mix(in srgb,#ef4444 70%,var(--py-text))}.py-stdout[data-astro-cid-vxgb6a45].is-empty,.py-stderr[data-astro-cid-vxgb6a45].is-empty{display:none}.py-figure[data-astro-cid-vxgb6a45]{padding:12px;border-radius:12px;border:1px solid var(--py-border-2);background:color-mix(in srgb,var(--py-surface) 92%,transparent)}.py-img[data-astro-cid-vxgb6a45]{max-width:100%;height:auto;display:none;border-radius:8px;background:#fff}
