/* Shared reading and landing styles; native Material search, drawer and copy behaviour. */
:root { --md-text-font: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; --md-code-font: 'SFMono-Regular', Consolas, monospace; }
[data-md-color-scheme="slate"] { --md-default-bg-color:#151515; --md-default-fg-color:#e5e5e5; --md-default-fg-color--light:#a4a4ae; --md-default-fg-color--lighter:#85858f; --md-primary-fg-color:#151515; --md-primary-bg-color:#e5e5e5; --md-accent-fg-color:#90a8ff; --md-typeset-a-color:#90a8ff; --ts-panel:#1b1b1b; --ts-line:#2b2b2e; --ts-side:#121212; --md-code-bg-color:#1b1b1b; --md-code-fg-color:#e5e5e5; --md-code-hl-name-color:#dedee5; --md-code-hl-keyword-color:#c59ed5; --md-code-hl-number-color:#91b8dc; --md-code-hl-string-color:#a8c6a8; }
[data-md-color-scheme="default"] { --md-default-bg-color:#fff; --md-default-fg-color:#222329; --md-default-fg-color--light:#60616b; --md-default-fg-color--lighter:#757680; --md-primary-fg-color:#fff; --md-primary-bg-color:#222329; --md-accent-fg-color:#244ecc; --md-typeset-a-color:#244ecc; --ts-panel:#f7f7f9; --ts-line:#e5e5e9; --ts-side:#fafafa; --md-code-bg-color:#f6f6f8; }
html { scroll-padding-top:5rem; scroll-behavior:smooth; }
.md-header { box-shadow:none; border-bottom:1px solid var(--ts-line); color:var(--md-default-fg-color); }
.md-header__inner { min-height:3.6rem; padding:0 1.2rem; gap:1.5rem; }
.ts-brand { font-size:1.05rem; font-weight:650; letter-spacing:-.035em; white-space:nowrap; }
.ts-header-links { display:flex; align-items:center; gap:1.15rem; font-size:.7rem; }
.ts-header-links a { color:var(--md-default-fg-color--light); padding:1.15rem 0; white-space:nowrap; }
.ts-header-links a[aria-current] { color:var(--md-default-fg-color); box-shadow:inset 0 -2px var(--md-typeset-a-color); }
.ts-header-tools { margin-left:auto; display:flex; align-items:center; gap:.85rem; }
.ts-editor { font-size:.65rem; color:var(--md-default-fg-color--light); white-space:nowrap; }
.md-header .md-search__form { background:var(--ts-panel); border:1px solid var(--ts-line); border-radius:4px; }
.md-search__input { font-size:.65rem; color:var(--md-default-fg-color); }
.md-search__input::placeholder { color:var(--md-default-fg-color--light); opacity:1; }
.md-header .md-search__icon { color:var(--md-default-fg-color--light); }
.md-header .md-icon { color:var(--md-default-fg-color--light); }
.md-header .md-icon svg { width:1rem; height:1rem; }
.md-main__inner { margin-top:1.8rem; }
.md-grid { max-width:72rem; }
.md-content { min-width:0; }
.md-content__inner { max-width:38rem; margin:0 auto 2rem; padding:0 1.3rem; }
.md-typeset { font-size:.78rem; line-height:1.8; }
.md-typeset h1 { font-weight:550; color:var(--md-default-fg-color); font-size:1.85rem; letter-spacing:-.04em; line-height:1.25; margin:0 0 1rem; }
.md-typeset h2 { font-size:1.15rem; font-weight:550; letter-spacing:-.02em; margin-top:2rem; }
.md-typeset h3 { font-size:.9rem; font-weight:550; }
.md-typeset h1 + p { font-size:.86rem; color:var(--md-default-fg-color--light); margin:0 0 1.5rem; }
.md-typeset pre { border:1px solid var(--ts-line); border-radius:6px; }
.md-typeset pre>code { padding:1rem 1.1rem; font-size:.68rem; line-height:1.85; }
.md-typeset .admonition { font-size:.72rem; background:var(--ts-panel); border:0; border-left:2px solid var(--md-typeset-a-color); border-radius:0 4px 4px 0; box-shadow:none; }
.md-typeset .admonition-title { background:transparent; }
.md-typeset table:not([class]) { border:0; box-shadow:none; background:transparent; font-size:.72rem; }
.md-typeset table:not([class]) th { color:var(--md-default-fg-color--light); font-weight:500; }
.md-typeset table:not([class]) td, .md-typeset table:not([class]) th { padding:.7rem .8rem; border-bottom:1px solid var(--ts-line); }
.md-typeset a:hover, .ts-nav a:hover, .ts-header-links a:hover { color:var(--md-typeset-a-color); }
.md-typeset .headerlink { opacity:0; }
.md-typeset :is(h2,h3):hover .headerlink { opacity:1; }
.md-nav { font-size:.65rem; }
.ts-nav { padding:0 .65rem; }
.ts-nav ul { padding:0; list-style:none; }
.ts-nav-language { display:flex; flex-direction:column; align-items:flex-start; gap:.15rem; padding:.1rem .55rem 1.1rem; font-size:.72rem; font-weight:600; line-height:1.45; }
.ts-nav-language span { font-size:.6rem; font-weight:400; color:var(--md-default-fg-color--light); }
.ts-nav-group { margin:0 0 1.15rem; }
.ts-nav-heading { display:block; color:var(--md-default-fg-color--light); font-size:.58rem; letter-spacing:.06em; text-transform:uppercase; padding:0 .55rem .35rem; }
.ts-nav-group .ts-nav-group { margin:.35rem 0; }
.ts-nav-subsection>summary { display:flex; align-items:center; justify-content:space-between; gap:.5rem; list-style:none; cursor:pointer; padding:.34rem .55rem; color:var(--md-default-fg-color--light); border-radius:4px; }
.ts-nav-subsection>summary::-webkit-details-marker { display:none; }
.ts-nav-chevron { display:flex; flex:0 0 auto; opacity:.75; transition:transform 160ms cubic-bezier(.22,.68,0,1); }
.ts-nav-chevron svg { width:.8rem; height:.8rem; fill:currentColor; }
.ts-nav-subsection[open]>summary .ts-nav-chevron { transform:rotate(90deg); }
.ts-nav-subsection>summary:hover { background:var(--ts-panel); color:var(--md-typeset-a-color); }
.ts-nav-subsection>summary:focus-visible { outline:2px solid var(--md-typeset-a-color); outline-offset:2px; }
.ts-nav-subsection>ul { margin:.25rem 0 .5rem .65rem; padding-left:.25rem; border-left:1px solid var(--ts-line); }
.ts-nav-group a { display:block; color:var(--md-default-fg-color--light); padding:.34rem .55rem; border-radius:4px; line-height:1.5; }
.ts-nav-group a[aria-current] { background:color-mix(in srgb,var(--md-typeset-a-color) 12%,transparent); color:var(--md-typeset-a-color); }
.ts-nav-group a:hover { background:var(--ts-panel); }
.md-nav--secondary { border-left:1px solid var(--ts-line); }
.md-nav--secondary .md-nav__title { background:transparent; box-shadow:none; font-size:.6rem; }
.md-sidebar--secondary { width:10rem; }
.ts-footer { display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; padding:1.2rem 1.7rem; font-size:.6rem; color:var(--md-default-fg-color--lighter); border-top:1px solid var(--ts-line); }
.ts-footer a { color:var(--md-default-fg-color--light); }
.ts-next { border-top:1px solid var(--ts-line); margin:2rem 0 0; padding:1rem 0 0; display:flex; flex-direction:column; gap:.25rem; }
.ts-next span { color:var(--md-default-fg-color--light); font-size:.65rem; }
.ts-next a { font-weight:500; }
.ts-hero { display:grid; grid-template-columns:.95fr 1.05fr; gap:clamp(2rem,4vw,4rem); align-items:center; padding:2.4rem 0 2.8rem; }
.md-typeset .ts-hero h1 { font-size:clamp(2rem,4.3vw,3.3rem); line-height:1.08; font-weight:650; letter-spacing:-.045em; margin:.7rem 0 1.25rem; }
.ts-eyebrow { font-size:.55rem; color:var(--md-default-fg-color--light); letter-spacing:.12em; }
.md-typeset .ts-hero-intro { color:var(--md-default-fg-color--light); font-size:.9rem; line-height:1.7; }
.ts-actions { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:1.7rem; }
.ts-primary,.ts-secondary { display:inline-flex; align-items:center; justify-content:center; gap:1rem; padding:.65rem 1.1rem; border-radius:5px; font-size:.7rem; font-weight:500; line-height:1.7; }
.md-typeset .ts-primary { background:var(--md-typeset-a-color); color:var(--md-default-bg-color); border:1px solid var(--md-typeset-a-color); }
.md-typeset .ts-secondary { border:1px solid var(--ts-line); color:var(--md-default-fg-color); }
.ts-hero-code { min-width:0; }
.ts-code-window { background:var(--ts-panel); border:1px solid var(--ts-line); border-radius:8px; overflow:hidden; }
.ts-code-title { display:flex; justify-content:space-between; gap:1rem; padding:.65rem .9rem; border-bottom:1px solid var(--ts-line); color:var(--md-default-fg-color--light); font-size:.55rem; }
.ts-code-window pre { border:0; margin:0; border-radius:0; }
.md-typeset .ts-code-window code { padding:1rem; font-size:.64rem; line-height:2; overflow-x:auto; background:transparent; }
.ts-key { color:light-dark(#845497,#c49ed5); }.ts-value { color:light-dark(#246393,#93b7d9); }.ts-comment { color:var(--md-default-fg-color--lighter); }
.ts-code-caption { display:grid; grid-template-columns:1fr auto; gap:.2rem 1rem; border-left:2px solid var(--md-typeset-a-color); margin-top:1.1rem; padding:0 .8rem; font-size:.65rem; }
.md-typeset .ts-code-caption strong { color:var(--md-default-fg-color); font-weight:500; }
.ts-code-caption span { color:var(--md-default-fg-color--light); grid-column:1; line-height:1.6; }
.ts-code-caption b { grid-column:2; grid-row:1 / 3; font-weight:400; font-size:1rem; }
.ts-paths { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.8rem; }
.ts-paths>a { border:1px solid var(--ts-line); border-radius:6px; padding:1.1rem; display:flex; flex-direction:column; color:var(--md-default-fg-color); }
.ts-paths>a:hover { background:var(--ts-panel); }
.md-typeset .ts-paths h2 { display:flex; justify-content:space-between; gap:.5rem; font-size:.82rem; margin:0 0 .65rem; line-height:1.5; }
.ts-paths h2 span { color:var(--md-default-fg-color--light); }
.ts-paths p { color:var(--md-default-fg-color--light); font-size:.65rem; margin:0 0 1rem; }
.ts-paths small { margin-top:auto; color:var(--md-typeset-a-color); font-size:.6rem; }
body:has(.ts-hero) .md-sidebar { display:none; }
body:has(.ts-hero) .ts-menu { display:none; }
body:has(.ts-hero) { --ts-landing-gutter:clamp(24px,2.5vw,64px); }
body:has(.ts-hero) .md-main__inner { max-width:none; margin-top:0; }
body:has(.ts-hero) .md-content__inner { max-width:none; margin:0 0 2rem; padding:0 var(--ts-landing-gutter); }
body:has(.ts-hero) .md-header__inner,body:has(.ts-hero) .ts-footer { max-width:none; padding-inline:var(--ts-landing-gutter); }
.md-top { display:none; }
.md-typeset .md-clipboard { color:var(--md-default-fg-color--light); opacity:1; }
.md-clipboard:hover { color:var(--md-typeset-a-color); }
.ts-search-language { display:block; color:var(--md-default-fg-color--light); font-size:.6rem; font-weight:400; margin-bottom:.2rem; }
.md-search-result__article h1,.md-search-result__article h2 { font-size:.9rem; margin:0 0 .4rem; }
.md-search-result__article h1+p { font-size:.72rem; margin:.3rem 0; }
a:focus-visible,button:focus-visible,label:focus-visible { outline:2px solid var(--md-typeset-a-color); outline-offset:4px; }
.ts-primary:active,.ts-secondary:active { transform:translateY(1px); }
/* Feedback belongs on interactive controls; article content remains still. */
.ts-nav a,.ts-header-links a,.ts-editor,.ts-next a,.md-nav--secondary a,.md-typeset .md-clipboard,.md-header__button { transition:color 160ms cubic-bezier(.22,.68,0,1),background-color 160ms cubic-bezier(.22,.68,0,1); }
.ts-primary,.ts-secondary,.ts-paths>a { transition:background-color 180ms cubic-bezier(.22,.68,0,1),border-color 180ms cubic-bezier(.22,.68,0,1),transform 160ms cubic-bezier(.22,.68,0,1); }
.ts-primary>span,.ts-paths h2>span,.ts-code-caption>b { display:inline-block; transition:transform 180ms cubic-bezier(.22,.68,0,1); }
.ts-nav-group a:active { background:color-mix(in srgb,var(--md-typeset-a-color) 16%,transparent); }
.ts-paths>a:active { transform:translateY(1px); }
@media(hover:hover) and (pointer:fine) {
  .ts-primary:hover { background:color-mix(in srgb,var(--md-typeset-a-color) 88%,var(--md-default-fg-color)); border-color:color-mix(in srgb,var(--md-typeset-a-color) 88%,var(--md-default-fg-color)); }
  .ts-secondary:hover { background:var(--ts-panel); border-color:var(--md-default-fg-color--lighter); }
  .ts-primary:hover>span { transform:translateX(3px); }
  .ts-paths>a:hover { border-color:var(--md-default-fg-color--lighter); transform:translateY(-2px); }
  .ts-paths>a:hover:active { transform:translateY(1px); }
  .ts-paths>a:hover h2>span,.ts-code-caption:hover>b { transform:translate(2px,-2px); }
}
[data-md-color-scheme="slate"] { color-scheme:dark; } [data-md-color-scheme="default"] { color-scheme:light; }
@media(min-width:76.25em) { .ts-menu,.ts-nav>.md-nav__title { display:none; } .md-search { width:12rem; } .md-sidebar--primary { width:13rem; } }
@media(max-width:76.234375em) { .ts-header-links { gap:.8rem; } .md-header__inner { gap:1rem; } .ts-editor { display:none; } .ts-nav { background:var(--ts-side); } .md-nav--primary .md-nav__title { box-shadow:none; background:var(--ts-panel); color:var(--md-default-fg-color); } .ts-nav-language { padding-top:1rem; } }
@media(max-width:60em) { .ts-paths { grid-template-columns:repeat(2,minmax(0,1fr)); } .ts-hero { gap:1.8rem; } .md-typeset .ts-hero h1 { font-size:clamp(2rem,4.3vw,3.3rem); } }
@media(max-width:45em) { .ts-hero { grid-template-columns:1fr; padding:1.8rem 0 2rem; gap:2rem; } body:has(.ts-hero) .md-content__inner { padding:0 1.15rem; } .md-header__inner { padding:0 .7rem; gap:.6rem; } .ts-header-links { gap:.6rem; font-size:.6rem; } .ts-brand { font-size:.9rem; } .ts-header-tools { gap:.1rem; } .ts-header-links>.ts-reference-link { display:none; } .md-content__inner { margin:0 1rem 2rem; padding:0; } .md-typeset h1 { font-size:1.6rem; } .md-typeset .ts-hero h1 { font-size:clamp(1.7rem,8vw,2.6rem); } .ts-footer { padding:1rem; } }
@media(max-width:25em) { .ts-paths { grid-template-columns:1fr; } .ts-header-links { gap:.4rem; } }
@media(max-width:45em) { .ts-guide-word { display:none; } }
@media(max-width:22em) { .ts-header-links>a:first-child { display:none; } .ts-brand { font-size:.85rem; } }
@media(pointer:coarse) { .ts-nav a,.ts-header-links a,.md-header__button { min-height:44px; } .md-header__button,.md-typeset .md-clipboard { min-width:44px; } }
@media(pointer:coarse) and (max-width:45em) { .md-header__inner { gap:.35rem; padding:0 .4rem; } .md-header__button { margin:0; padding:.5rem; } .ts-header-tools { gap:0; } .ts-header-links a { padding:12px 0; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; } .ts-primary:hover>span,.ts-paths>a:hover,.ts-paths>a:active,.ts-paths>a:hover:active,.ts-primary:active,.ts-secondary:active,.ts-paths>a:hover h2>span,.ts-code-caption:hover>b { transform:none; } }
