/* Article reading controls and print layout; extracted from the shared article view. */
.ac-icon{width:1em;height:1em;vertical-align:-.125em;flex:none}
.ac-toc{margin:16px 0 8px;border:1px solid #e2e8f0;border-radius:12px;background:rgba(37,99,235,.045);padding:10px 14px}.ac-toc summary{cursor:pointer;font-weight:600;font-size:14.5px;color:#1e293b;list-style:none}.ac-toc summary::-webkit-details-marker{display:none}.ac-toc summary::before{content:'\2261';margin-right:8px;color:#2563eb;font-weight:700}.ac-toc-count{margin-left:8px;font-weight:500;color:#5b6675;font-size:12.5px}.ac-toc-list{margin:10px 0 2px;padding-left:20px;columns:2;column-gap:26px}.ac-toc-list li{margin:4px 0;font-size:14px;line-height:1.55;break-inside:avoid}.ac-toc-list a{color:#334155;text-decoration:none}.ac-toc-list a:hover{color:#2563eb;text-decoration:underline}@media(max-width:560px){.ac-toc-list{columns:1}}body.dark-mode .ac-toc{border-color:#334155;background:rgba(59,130,246,.12)}body.dark-mode .ac-toc summary{color:#e2e8f0}body.dark-mode .ac-toc-count{color:#94a3b8}body.dark-mode .ac-toc-list a{color:#cbd5e1}body.dark-mode .ac-toc-list a:hover{color:#93c5fd}.ac-h-anchor{margin-left:6px;font-weight:400;color:#93c5fd;text-decoration:none;opacity:0;transition:opacity .15s}h2:hover .ac-h-anchor,.ac-h-anchor:focus{opacity:1}.ac-prose a.ac-inline-link{color:#2563eb;text-decoration:none;border-bottom:1px dashed rgba(37,99,235,.45)}.ac-prose a.ac-inline-link:hover{border-bottom-style:solid}.ac-code-wrap{position:relative;margin:18px 0}.ac-prod-note{font-size:13.5px;color:#5b6675;margin:14px 0 6px;padding-left:10px;border-left:3px solid #cbd5e1}body.dark-mode .ac-prod-note{color:#94a3b8;border-left-color:#475569}.ac-prose .ac-code-wrap pre{margin:0}.ac-code-bar{position:absolute;top:6px;right:6px;display:flex;align-items:center;gap:8px;z-index:2}.ac-code-lang{font:11px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.4px;color:#94a3b8;text-transform:uppercase;user-select:none}.ac-code-copy{font:12px/1.4 inherit;padding:3px 8px;border-radius:6px;border:1px solid rgba(148,163,184,.45);background:rgba(15,23,42,.55);color:#cbd5e1;cursor:pointer;transition:all .15s}.ac-code-copy:hover{background:rgba(37,99,235,.85);border-color:transparent;color:#fff}.ac-code-copy.done{background:rgba(34,197,94,.9);border-color:transparent;color:#fff}body.dark-mode .ac-code-copy{background:rgba(51,65,85,.8)}@media(max-width:560px){.ac-code-lang{display:none}.ac-code-copy{font-size:11px;padding:2px 7px}}
.ac-toc-list a.is-active{color:#2563eb;font-weight:600;background:#eff6ff;border-radius:6px;padding:1px 6px;display:inline-block}body.dark-mode .ac-toc-list a.is-active{color:#93c5fd;background:rgba(59,130,246,.18)}#ac-readbar{position:fixed;left:0;top:0;height:3px;width:0;background:linear-gradient(90deg,#2563eb,#60a5fa);z-index:9999;transition:width .08s linear}#ac-totop{position:fixed;right:18px;bottom:22px;width:42px;height:42px;border-radius:50%;border:1px solid rgba(37,99,235,.25);background:#fff;color:#2563eb;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(15,23,42,.16);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(8px);transition:all .2s;z-index:9998}#ac-totop.show{opacity:1;visibility:visible;transform:none}#ac-totop:hover{background:#eff6ff}body.dark-mode #ac-totop{background:#111827;color:#93c5fd;border-color:#334155}body.dark-mode #ac-totop:hover{background:#1e293b}@media(max-width:560px){#ac-totop{right:12px;bottom:16px;width:38px;height:38px}}.ac-findbar-wrap{margin:10px 0 2px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;position:relative}.ac-find-toggle{display:inline-flex;align-items:center;gap:6px;font:12.5px/1.4 inherit;color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:4px 10px;cursor:pointer}.ac-find-toggle:hover{color:#2563eb;border-color:#bfdbfe;background:#eff6ff}.ac-findbar{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:3px 6px 3px 12px;box-shadow:0 2px 10px rgba(15,23,42,.06)}.ac-findbar input{width:170px;border:0;outline:0;font:13px/1.4 inherit;background:transparent;color:#0f172a}.ac-find-info{font:12px/1 ui-monospace,Menlo,monospace;color:#94a3b8;min-width:44px;text-align:right}.ac-find-btn{border:0;background:transparent;color:#64748b;font:13px/1 inherit;padding:4px 6px;border-radius:6px;cursor:pointer}.ac-find-btn:hover{background:#eff6ff;color:#2563eb}mark.ac-find-hit{background:#fde68a;color:#111827;padding:0 1px;border-radius:2px}mark.ac-find-hit.is-cur{background:#2563eb;color:#fff}body.dark-mode .ac-find-toggle{color:#cbd5e1;background:#1e293b;border-color:#334155}body.dark-mode .ac-find-toggle:hover{color:#93c5fd;border-color:#3b82f6;background:rgba(37,99,235,.18)}body.dark-mode .ac-findbar{background:#111827;border-color:#334155}body.dark-mode .ac-findbar input{color:#e2e8f0}body.dark-mode .ac-find-btn:hover{background:rgba(37,99,235,.2);color:#93c5fd}@media(max-width:560px){.ac-findbar input{width:120px}}.ac-readset{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:10px 12px;box-shadow:0 8px 24px rgba(15,23,42,.08);position:absolute;z-index:50;left:0;top:calc(100% + 6px);min-width:238px}.ac-readset-row{display:flex;align-items:center;gap:6px}.ac-readset-label{font-size:12px;color:#64748b;width:32px}.ac-readset-btn{font:12px/1.4 inherit;padding:4px 10px;border-radius:999px;border:1px solid #e2e8f0;background:#f8fafc;color:#475569;cursor:pointer}.ac-readset-btn:hover{border-color:#bfdbfe;color:#2563eb}.ac-readset-btn.on{background:#2563eb;border-color:#2563eb;color:#fff}.ac-readset-reset{align-self:flex-start;font:12px/1.4 inherit;color:#94a3b8;background:none;border:0;padding:2px 0;cursor:pointer;text-decoration:underline}.ac-readset-reset:hover{color:#2563eb}body.ac-fs-s .ac-prose{font-size:14.5px}body.ac-fs-m .ac-prose{font-size:16.5px}body.ac-fs-l .ac-prose{font-size:18px}body.ac-lh-s .ac-prose{line-height:1.6}body.ac-lh-m .ac-prose{line-height:1.8}body.ac-lh-l .ac-prose{line-height:2.05}body.dark-mode .ac-readset{background:#111827;border-color:#334155}body.dark-mode .ac-readset-label{color:#94a3b8}body.dark-mode .ac-readset-btn{background:#1e293b;border-color:#334155;color:#cbd5e1}body.dark-mode .ac-readset-btn.on{background:#2563eb;border-color:#2563eb;color:#fff}.ac-api-tip{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 18px;padding:9px 12px;border:1px solid #e2e8f0;border-left:3px solid #60a5fa;border-radius:8px;background:#f8fafc;font-size:13px}.ac-api-tip-name{font-weight:600;color:#1e293b}.ac-api-tip-desc{color:#64748b;flex:1 1 auto;min-width:0}.ac-api-tip-link{color:#2563eb;text-decoration:none;white-space:nowrap}.ac-api-tip-link:hover{text-decoration:underline}body.dark-mode .ac-api-tip{background:#0f172a;border-color:#334155;border-left-color:#3b82f6}body.dark-mode .ac-api-tip-name{color:#e2e8f0}body.dark-mode .ac-api-tip-desc{color:#94a3b8}@media(max-width:560px){.ac-api-tip{flex-direction:column;align-items:flex-start;gap:4px}}.ac-resume{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;background:#0f172a;color:#e2e8f0;border-radius:999px;padding:8px 10px 8px 16px;box-shadow:0 10px 30px rgba(15,23,42,.35);font-size:13px;z-index:9997;max-width:calc(100vw - 32px)}.ac-resume-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ac-resume-go{border:0;border-radius:999px;background:#2563eb;color:#fff;font:12.5px/1.3 inherit;padding:5px 12px;cursor:pointer;white-space:nowrap}.ac-resume-go:hover{background:#1d4ed8}.ac-resume-close{border:0;background:transparent;color:#94a3b8;font-size:13px;padding:4px 6px;border-radius:50%;cursor:pointer;min-width:32px;min-height:32px}.ac-resume-close:hover{background:rgba(148,163,184,.2);color:#e2e8f0}body.dark-mode .ac-resume{background:#111827;border:1px solid #334155}@media(max-width:560px){.ac-resume{bottom:64px;padding:7px 8px 7px 12px;font-size:12px}}.ac-share{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0 4px;padding-top:12px;border-top:1px dashed #e2e8f0}.ac-share-label{font-size:12.5px;color:#94a3b8;margin-right:2px}.ac-share-btn{display:inline-flex;align-items:center;gap:5px;font:12.5px/1.4 inherit;color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:5px 11px;cursor:pointer;text-decoration:none;transition:all .15s}.ac-share-btn:hover{color:#2563eb;border-color:#bfdbfe;background:#eff6ff}.ac-share-msg{font-size:12px;color:#16a34a}.ac-share-msg[hidden]{display:none}body.dark-mode .ac-share{border-top-color:#334155}body.dark-mode .ac-share-label{color:#94a3b8}body.dark-mode .ac-share-btn{background:#1e293b;border-color:#334155;color:#cbd5e1}body.dark-mode .ac-share-btn:hover{color:#93c5fd;border-color:#3b82f6;background:rgba(37,99,235,.18)}body.dark-mode .ac-share-msg{color:#86efac}.ac-prose a.ac-ext::after{content:"\2197";font-size:.78em;margin-left:2px;color:#94a3b8;text-decoration:none;display:inline-block}.ac-prose a.ac-ext:hover::after{color:#2563eb}body.dark-mode .ac-prose a.ac-ext::after{color:#64748b}
@media print{
  @page{margin:14mm 12mm}
  body,body.dark-mode{background:#fff!important;color:#111!important}
  body.dark-mode .ac-page,body.dark-mode .ac-container,body.dark-mode .ac-hero,body.dark-mode .ac-hero--article{background:#fff!important}
  header.header,.ac-side,.ac-breadcrumb,.ac-toolbar,.ac-findbar-wrap,.ac-findbar,.ac-readset,.ac-share,.ac-actions,.ac-toc,.ac-siblings,.ac-related,.ac-related-tags,.ac-tagmore,.ac-newsletter,#ac-readbar,#ac-totop,#ac-resume,.site-footer,.ac-quick,.ac-hero-kicker,.ac-back{display:none!important}
  .ac-container.ac-layout{display:block!important;max-width:none!important;padding:0!important;margin:0!important}
  .ac-article-card,.ac-main,.ac-prose{box-shadow:none!important;border:0!important;background:#fff!important;color:#111!important;max-width:none!important;padding:0!important;margin:0!important}
  .ac-prose *{color:#111!important;background:transparent!important;text-shadow:none!important}
  .ac-prose a{color:#1d4ed8!important;text-decoration:underline}
  .ac-prose a[href^="http"]::after{content:" (" attr(href) ")";font-size:.78em;color:#555!important;word-break:break-all}
  .ac-prose a.ac-ext::after{content:" (" attr(href) ")"!important}
  .ac-page,.ac-hero,.ac-hero--article,.ac-article-card{background:#fff!important;box-shadow:none!important}
  .ac-hero--article *{background:transparent!important}
  .ac-article{background:#fff!important;color:#111!important;border:0!important;box-shadow:none!important}
  .ac-article-head,.ac-article-title,.ac-article-meta,.ac-article-meta *,.ac-article-tags,.ac-article-tags *{color:#111!important}
  .ac-hero,.ac-hero--article{color:#111!important;padding-top:0!important;margin-bottom:10px!important;border:0!important}
  .ac-hero h1,.ac-article-title,.ac-article-meta,.ac-article-meta *{color:#111!important}
  .ac-article-tags a{background:#f1f5f9!important;border:1px solid #ddd!important;color:#111!important}
  .ac-article-cat{background:#eff6ff!important;color:#1d4ed8!important;border:1px solid #bfdbfe!important}
  .ac-answer,.ac-tldr,.ac-faq,.ac-sources,.ac-author{border:1px solid #ddd!important;background:#fafafa!important}
  .ac-answer *,.ac-tldr *,.ac-faq *,.ac-sources *,.ac-author *{color:#111!important}
  .ac-prose pre{white-space:pre-wrap!important;word-break:break-word!important;page-break-inside:avoid;border:1px solid #ddd!important;background:#f6f8fa!important}
  .ac-prose pre code,.ac-prose code{color:#111!important;background:transparent!important}
  .ac-prose table{page-break-inside:avoid;border-collapse:collapse!important;width:100%!important}
  .ac-prose th,.ac-prose td{border:1px solid #bbb!important;color:#111!important}
  .ac-prose img{max-width:100%!important;page-break-inside:avoid}
  .ac-prose h2,.ac-prose h3{page-break-after:avoid;color:#111!important}
  .ac-h-anchor,.ac-code-bar,.ac-find-hit{display:none!important}
  .ac-find-hit mark,.ac-prose mark{background:transparent!important;color:#111!important}
  .ac-prose .ac-api-tip{border:1px solid #ddd!important;background:#fff!important}
  .ac-prose .ac-api-tip *{color:#111!important}
  .ac-hero h1,.ac-title{color:#111!important}
}
body.dark-mode .ac-prose a{color:#7cc4fb!important}body.dark-mode .ac-prose a.ac-inline-link{border-bottom-color:rgba(124,196,251,.55)!important}body.dark-mode .ac-toc-list a{color:#e2e8f0!important}body.dark-mode .ac-toc-list a.is-active{color:#bfdbfe!important;background:rgba(59,130,246,.22)!important}.ac-prose a{color:#1d4ed8}.ac-sources li a{color:#1d4ed8}.ac-sources-note{color:#5b6675}.ac-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:560px){.ac-find-toggle,.ac-readset-btn,.ac-share-btn,.ac-mini-btn,.ac-code-copy,.ac-resume-go,.ac-resume-close{min-height:40px;display:inline-flex;align-items:center;justify-content:center}.ac-toc-list a{min-height:28px;display:inline-flex;align-items:center}.ac-article-tags a,.ac-article-cat{min-height:28px;display:inline-flex;align-items:center}#ac-totop{width:44px;height:44px}.ac-share-btn{padding:8px 13px}}
  .ac-article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:2px 12px}
  .ac-article-meta .dot{display:none}
  .ac-meta-sep{display:inline-block;margin:0 7px;opacity:.55}
  .ac-tldr-head small{color:#5b6675;font-size:11.5px}
  body.dark-mode .ac-tldr-head small{color:#9aa7b8}
  .ac-cluster-label{color:#1d4ed8}
  body.dark-mode .ac-cluster-label{background:rgba(59,130,246,.18);color:#bfdbfe}
  .ac-prose table:focus-visible{outline:2px solid #2563eb;outline-offset:2px}

body.ap-reading{overflow-x:visible}
.ap-reading .ac-hero--article{background:var(--ap-subtle);border-bottom:1px solid var(--ap-border)}
.ap-reading .ac-findbar{max-width:100%;min-width:0}
.ap-reading .ac-findbar input{min-width:0;flex:1}
.ap-reading .ac-code-wrap pre{padding-top:3.25rem}
@media print{.ap-reading .ac-code-wrap pre{padding-top:1rem!important}}
