/* Loaded only for the Python manual shortcode. */
html{scrollbar-gutter:stable}
.pyman{--py-ink:#20343a;--py-accent:#155f65;--py-line:#cbdcd6;--py-soft:#edf5f0;color:var(--py-ink);min-width:0;overflow-wrap:anywhere;font-size:17px;line-height:1.75}
.pyman *{box-sizing:border-box}
.pyman p,.pyman ul,.pyman ol{max-width:80ch}
.pyman h2,.pyman h3,.pyman h4,.pyman [id]{scroll-margin-top:96px}
.pyman h2{font-size:clamp(25px,3vw,32px);line-height:1.3;margin:2rem 0 1rem}
.pyman h3{font-size:clamp(21px,2.5vw,25px);line-height:1.4;margin:1.8rem 0 .8rem}
.pyman h4{font-size:19px;line-height:1.4;margin:1.25rem 0 .6rem}
.pyman a{color:var(--py-accent);text-underline-offset:3px}
.pyman a:focus-visible,.pyman button:focus-visible,.pyman summary:focus-visible,.pyman input:focus-visible,.pyman select:focus-visible{outline:3px solid #b77b16;outline-offset:3px}
.pyman-topline{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:1rem}
.pyman-topline span,.pyman-level,.pyman-kind{display:inline-block;font-size:12px;line-height:1.5;padding:5px 9px;border:1px solid var(--py-line);border-radius:6px;background:var(--py-soft);color:#31545a}
.pyman-breadcrumb{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;font-size:14px;margin:1rem 0}
.pyman-search{padding:clamp(16px,3vw,24px);border:1px solid var(--py-line);border-radius:14px;background:var(--py-soft);margin:1.25rem 0}
.pyman-search>label{font-weight:700;display:block;margin-bottom:9px}
.pyman-search-controls{display:flex;flex-wrap:wrap;gap:8px}
.pyman-search input,.pyman-search select{font:inherit;font-size:16px;line-height:1.5;min-height:48px;padding:10px 12px;border:1px solid #8daeb0;border-radius:8px;background:#fff;color:var(--py-ink);max-width:100%;min-width:0}
.pyman-search input[type=search]{flex:1 1 230px;width:0}
.pyman-search select{flex:0 1 132px}
.pyman button,.pyman .pyman-button{display:inline-flex;align-items:center;justify-content:center;font:inherit;font-size:15px;font-weight:700;line-height:1.45;padding:11px 15px;min-height:46px;border:1px solid var(--py-accent);border-radius:8px;background:var(--py-accent);color:#fff;text-decoration:none;cursor:pointer;max-width:100%}
.pyman button:hover,.pyman .pyman-button:hover{background:#104c52;color:#fff}
.pyman button[hidden],.pyman [hidden]{display:none!important}
.pyman .pyman-clear{background:#fff;color:var(--py-accent)}
.pyman-search-hint{margin:12px 0 0;font-size:13px;line-height:1.6;color:#49676c}
.pyman-search-results{padding:16px;border:1px solid var(--py-line);border-radius:12px;margin:1rem 0;background:#fff}
.pyman-search-status{margin:0 0 12px;font-size:14px;font-weight:700}
.pyman-results-list{list-style:none;margin:0;padding:0;max-width:none}
.pyman-results-list li+li{border-top:1px solid #dce7e2}
.pyman-results-list a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;min-height:48px;padding:14px 8px;text-decoration:none;border-radius:7px}
.pyman-results-list a>span:last-child{grid-column:1/-1;font-size:14px;line-height:1.6;color:#49676c}
.pyman-results-list a:hover{background:#f0f7f3}
.pyman-chapters{border:1px solid var(--py-line);border-radius:12px;margin:1.4rem 0;background:#fff}
.pyman summary{cursor:pointer;min-height:48px;padding:13px 17px;font-weight:700;line-height:1.5}
.pyman-chapters summary>span{font-size:12px;margin-left:10px;border-radius:12px;padding:3px 7px;background:var(--py-soft)}
.pyman-chapters nav{border-top:1px solid var(--py-line);padding:12px}
.pyman-chapters ol{list-style:none;padding:0;margin:0;max-width:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px}
.pyman-chapters a{display:block;min-height:44px;padding:10px;border-radius:6px;font-size:14px;line-height:1.5;text-decoration:none}
.pyman-chapters a:hover,.pyman-chapters a[aria-current]{background:var(--py-soft)}
.pyman-chapters a[aria-current]{font-weight:700;border-left:3px solid var(--py-accent)}
.pyman-eyebrow{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#476a70;margin:1.5rem 0 .4rem}
.pyman-lead{font-size:19px;line-height:1.65}
.pyman-note{padding:16px 20px;border-left:4px solid #b88b35;background:#f8f4e7;border-radius:0 10px 10px 0;font-size:15px;line-height:1.7}
.pyman-routes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:1.4rem 0}
.pyman-routes a{display:grid;gap:8px;padding:18px;border:1px solid var(--py-line);border-radius:12px;background:var(--py-soft);text-decoration:none}
.pyman-routes span{font-size:14px;line-height:1.6;color:#49676c}
.pyman-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:1.25rem 0}
.pyman-topic{position:relative;padding:22px!important;min-width:0;width:auto!important;border:1px solid var(--py-line);border-radius:14px;background:#fff;margin:0!important}
.pyman-topic-number{font-size:13px;letter-spacing:.06em;font-weight:700;color:#8d661c}
.pyman-topic h3{font-size:20px;margin:.6rem 0;line-height:1.45}
.pyman-topic h3 a{text-decoration:none}
.pyman-topic p{font-size:14px;line-height:1.65;margin:0 0 14px;color:#49676c}
.pyman pre{width:100%;min-width:0;max-width:100%;overflow:auto;white-space:pre;overflow-wrap:normal;background:#193039;color:#f0f7f3;border:1px solid #35565c;border-radius:10px;padding:16px;font:14px/1.65 Consolas,'Liberation Mono',monospace;tab-size:4;margin:10px 0 1.3rem}
.pyman pre code{font:inherit;color:inherit;background:none;padding:0;white-space:inherit;overflow-wrap:normal}
.pyman code{overflow-wrap:anywhere}
.pyman .pyman-output{background:#f0f6f2;border-color:var(--py-line);color:#24454c}
.pyman-code-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:1.2rem}
.pyman-code-actions a{font-size:13px;min-height:44px;display:inline-flex;align-items:center;padding:8px 12px}
.pyman-code-actions .pyman-version{font-size:12px;color:#49676c}
.pyman-copy-status{font-size:13px;color:#31545a;min-height:1.4em}
.pyman-chapter details{border:1px solid var(--py-line);border-radius:10px;margin:1rem 0;background:#fff}
.pyman-chapter details>*:not(summary){margin-left:17px;margin-right:17px;max-width:calc(100% - 34px)}
.pyman-chapter details[open]>summary{border-bottom:1px solid var(--py-line);background:#f4f8f5}
.pyman-reference-note{font-size:14px;line-height:1.65;color:#49676c}
.pyman-reference-card summary{font-family:Consolas,monospace;font-size:16px}
.pyman-reference-card summary span{font-family:system-ui,sans-serif;font-size:13px;color:#476a70;display:block;margin-top:3px;font-weight:400}
.pyman-reference-card p{font-size:15px;line-height:1.7}
.pyman-reference-card .pyman-reference-source{font-size:13px;display:inline-flex;min-height:44px;align-items:center}
.pyman-pager{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:2rem 0}
.pyman-pager a{display:grid;gap:7px;padding:16px;border:1px solid var(--py-line);border-radius:10px;background:var(--py-soft);text-decoration:none}
.pyman-pager span{font-size:12px;color:#49676c}
.pyman-pager strong{font-size:15px;line-height:1.6}
.pyman-download{padding:24px;border:1px solid var(--py-line);background:var(--py-soft);border-radius:14px;margin:2rem 0}
.pyman-download h2{margin-top:0;font-size:24px}
.pyman-download p{font-size:15px;line-height:1.7}
.pyman-download-links{display:flex;align-items:center;flex-wrap:wrap;gap:14px}
.pyman-updated,.pyman-sources{font-size:13px;line-height:1.7;color:#49676c}
.pyman-table-wrap{max-width:100%;overflow:auto}
.pyman table{border-collapse:collapse;width:100%;min-width:520px;overflow-wrap:normal;font-size:14px}
.pyman-table-hint{display:none;font-size:12px;line-height:1.6;color:#49676c;margin:.5rem 0}
.pyman th,.pyman td{padding:10px;border:1px solid var(--py-line);text-align:left;vertical-align:top}
.pyman th{background:var(--py-soft)}
@media(max-width:700px){.pyman{font-size:16px}.pyman-routes,.pyman-topic-grid,.pyman-pager,.pyman-chapters ol{grid-template-columns:1fr}.pyman-search input[type=search]{flex-basis:100%;width:100%}.pyman-search select{flex:1 1 100px}.pyman .pyman-clear{flex-basis:100%}.pyman pre{font-size:12px;padding:12px}.pyman-download{padding:17px}.pyman-results-list a{grid-template-columns:1fr}.pyman-results-list .pyman-kind{justify-self:start}.pyman h2,.pyman h3,.pyman h4,.pyman [id]{scroll-margin-top:72px}.pyman-topline span{font-size:11px}.pyman-table-hint{display:block}}
@media print{.pyman-search,.pyman-search-results,.pyman-chapters,.pyman-code-actions,.pyman-pager,.pyman-download,.pyman-breadcrumb{display:none!important}.pyman pre{white-space:pre-wrap;background:#fff;color:#000;border:1px solid #aaa;overflow:visible}.pyman details>*{display:block!important}.pyman-chapter{break-before:page}.pyman-topic-grid{display:block}}
/* Keep navigation available while reading; dialogs reuse the existing search. */
.pyman.pyman-has-toolbar [id]{scroll-margin-top:var(--pyman-anchor-offset,90px)}
.pyman-toolbar-enabled .aenan-toggle{display:none!important}
.pyman-toolbar{position:sticky;top:var(--pyman-toolbar-top,0px);z-index:90;display:grid;grid-template-columns:1fr 1.6fr .9fr 1.3fr;gap:6px;width:100%;min-width:0;padding:8px;margin:0 0 18px;border:1px solid var(--py-line);border-radius:10px;background:#f9fcfa;box-shadow:0 4px 12px #14393d18}
.pyman .pyman-toolbar>button,.pyman .pyman-toolbar>a{display:flex;justify-content:center;align-items:center;gap:7px;min-width:0;min-height:44px;padding:8px 6px;margin:0;font:700 13px/1.3 system-ui,sans-serif;text-align:center;text-decoration:none;color:var(--py-accent);background:var(--py-soft);border:1px solid #aec9c2;border-radius:7px;overflow-wrap:normal}
.pyman .pyman-toolbar>button:hover,.pyman .pyman-toolbar>a:hover,.pyman .pyman-toolbar>[aria-expanded=true]{color:#fff;background:var(--py-accent)}
.pyman-toolbar-icon{flex:none;font-size:19px;line-height:1}
.pyman-nav-dialog{position:fixed;inset:0;z-index:10000;margin:auto;width:min(680px,calc(100% - 24px));max-width:calc(100% - 24px);height:auto;max-height:calc(100dvh - 32px);padding:0;color:var(--py-ink);background:#fff;border:1px solid #8daeb0;border-radius:14px;box-shadow:0 18px 70px #10272d50;overflow:hidden}
.pyman-nav-dialog[open]{display:flex;flex-direction:column}
.pyman-nav-dialog::backdrop{background:#102a35b8}
.pyman-nav-header{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--py-line);background:var(--py-soft)}
.pyman-nav-header strong{font-size:19px;line-height:1.4}
.pyman .pyman-nav-close{flex:none;min-height:44px;padding:8px 12px;font-size:13px}
.pyman-nav-body{min-height:0;overflow:auto;overscroll-behavior:contain;padding:16px;scrollbar-width:thin}
.pyman-nav-body .pyman-search{margin:0;padding:14px}
.pyman-nav-body .pyman-search-results{margin-bottom:0}
.pyman-nav-body ul,.pyman-nav-body ol{list-style:none;padding:0;margin:0;max-width:none}
.pyman-nav-body li{margin:0}
.pyman-nav-tree details{margin:0 0 8px;border:1px solid var(--py-line);border-radius:8px;overflow:hidden}
.pyman-nav-tree details[open]>summary{background:var(--py-soft);border-bottom:1px solid var(--py-line)}
.pyman-nav-tree summary{padding:12px;font-size:15px;min-height:48px}
.pyman-nav-tree a,.pyman-nav-toc a{display:flex;align-items:center;min-height:44px;padding:10px 12px;font-size:14px;line-height:1.5;text-decoration:none;border-radius:5px}
.pyman-nav-tree a:hover,.pyman-nav-toc a:hover{background:var(--py-soft)}
.pyman-nav-tree ul{padding:6px}
.pyman-nav-toc li+li{border-top:1px solid #e3ece7}
.pyman-nav-toc .pyman-nav-sub a{padding-left:22px}
@media(max-width:600px){.pyman-toolbar{gap:4px;padding:6px}.pyman .pyman-toolbar>button,.pyman .pyman-toolbar>a{flex-direction:column;gap:3px;font-size:11px;line-height:1.25;padding:6px 3px;min-height:58px}.pyman-toolbar-icon{font-size:17px}.pyman-nav-header{padding:12px;gap:8px}.pyman-nav-header strong{font-size:17px}.pyman-nav-body{padding:10px}.pyman-nav-dialog{width:calc(100% - 16px);max-width:calc(100% - 16px);max-height:calc(100dvh - 24px)}}
@media print{.pyman-toolbar,.pyman-nav-dialog{display:none!important}}
