/* bitchos docs — hwic.dev theme over mkdocs-material */

@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/inter-400.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/inter-500.woff2') format('woff2')}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/spacegrotesk-600.woff2') format('woff2')}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/spacegrotesk-700.woff2') format('woff2')}

:root{
  --hw-aqua:#3fd0e0;
  --hw-aqua-dim:#2aa6c4;
  --hw-aqua-deep:#149cb2;
  --hw-good:#5bd75b;
  --hw-warn:#f2c14e;
  --hw-bad:#ff5b7a;
  --md-text-font:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --md-code-font:'JetBrains Mono','SFMono-Regular',Menlo,Consolas,'Liberation Mono',monospace;
  --hw-head-font:'Space Grotesk','Inter',system-ui,sans-serif;
}

/* ---------- palette: light ---------- */
[data-md-color-scheme="default"]{
  --md-primary-fg-color:#0d0f12;
  --md-primary-fg-color--light:#12151a;
  --md-primary-fg-color--dark:#07080a;
  --md-primary-bg-color:#eef1f2;
  --md-accent-fg-color:var(--hw-aqua-deep);
  --md-accent-fg-color--transparent:rgba(20,156,178,.10);
  --md-typeset-a-color:var(--hw-aqua-deep);
  --md-default-bg-color:#fbfcfd;
  --md-code-bg-color:#f1f4f6;
  --md-footer-bg-color:#0d0f12;
  --md-footer-bg-color--dark:#07080a;
  --hw-line:rgba(0,0,0,.08);
  --hw-panel:#f3f5f7;
  --hw-muted:#5d666e;
}

/* ---------- palette: dark (hwic.dev) ---------- */
[data-md-color-scheme="slate"]{
  --md-hue:210;
  --md-primary-fg-color:#0d0f12;
  --md-primary-fg-color--light:#12151a;
  --md-primary-fg-color--dark:#07080a;
  --md-primary-bg-color:#eef1f2;
  --md-accent-fg-color:var(--hw-aqua);
  --md-accent-fg-color--transparent:rgba(63,208,224,.12);
  --md-default-bg-color:#07080a;
  --md-default-fg-color:#eef1f2;
  --md-default-fg-color--light:#c9ced3;
  --md-default-fg-color--lighter:#7f8890;
  --md-default-fg-color--lightest:rgba(255,255,255,.06);
  --md-code-bg-color:#0d0f12;
  --md-code-fg-color:#dfe4e8;
  --md-typeset-a-color:var(--hw-aqua);
  --md-typeset-color:#dfe4e8;
  --md-footer-bg-color:#0a0b0e;
  --md-footer-bg-color--dark:#07080a;
  --md-footer-fg-color:#c9ced3;
  --md-footer-fg-color--light:#7f8890;
  --md-footer-fg-color--lighter:#4a5158;
  --md-admonition-bg-color:#0d0f12;
  --md-typeset-table-color:rgba(255,255,255,.08);
  --md-typeset-table-color--light:rgba(255,255,255,.035);
  --md-typeset-kbd-color:#12151a;
  --md-typeset-kbd-accent-color:#1a1e25;
  --md-typeset-kbd-border-color:#2a2f37;
  --md-typeset-mark-color:rgba(63,208,224,.25);
  --md-code-hl-color:rgba(63,208,224,.10);
  --md-code-hl-color--light:rgba(63,208,224,.06);
  --hw-line:rgba(255,255,255,.08);
  --hw-panel:#0d0f12;
  --hw-muted:#7f8890;
}

/* ---------- header / tabs ---------- */
.md-header{
  background:rgba(7,8,10,.82);
  backdrop-filter:saturate(140%) blur(12px);
  -webkit-backdrop-filter:saturate(140%) blur(12px);
  border-bottom:1px solid var(--hw-line);
  box-shadow:none;
}
[data-md-color-scheme="default"] .md-header{background:rgba(13,15,18,.94)}
.md-header__title{font-family:var(--hw-head-font);font-weight:700;letter-spacing:-.01em}
.md-header__topic:first-child{font-weight:700}
.md-header__button.md-logo img,.md-header__button.md-logo svg{height:1.35rem;width:1.35rem}
.md-tabs{
  background:rgba(7,8,10,.82);
  backdrop-filter:saturate(140%) blur(12px);
  -webkit-backdrop-filter:saturate(140%) blur(12px);
  border-bottom:1px solid var(--hw-line);
}
[data-md-color-scheme="default"] .md-tabs{background:rgba(13,15,18,.94)}
.md-tabs__link{font-family:var(--hw-head-font);font-weight:600;font-size:.72rem;letter-spacing:.02em;opacity:.65}
.md-tabs__link--active,.md-tabs__link:hover{opacity:1;color:var(--hw-aqua)}
.md-tabs__item--active .md-tabs__link{position:relative}
.md-tabs__item--active .md-tabs__link::after{
  content:"";position:absolute;left:0;right:0;bottom:-.55rem;height:2px;border-radius:2px;
  background:linear-gradient(90deg,#a7fdf4,#33cddf,#149cb2);
}
.md-search__form{border-radius:.5rem;background:rgba(255,255,255,.06)}
.md-search__form:hover{background:rgba(255,255,255,.09)}
[data-md-toggle="search"]:checked~.md-header .md-search__form{background:var(--md-default-bg-color)}

/* ---------- sidebar ---------- */
.md-nav__title{font-family:var(--hw-head-font);font-weight:700}
.md-nav--primary .md-nav__title[for="__drawer"]{font-family:var(--hw-head-font)}
.md-nav__item--section>.md-nav__link{
  font-family:var(--hw-head-font);font-weight:700;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--hw-muted)
}
.md-nav__link--active,.md-nav__link:focus,.md-nav__link:hover{color:var(--hw-aqua)}
.md-nav__link--active{font-weight:500}
.md-sidebar--secondary .md-nav__title{font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--hw-muted)}
.md-nav__link[for]:focus,.md-nav__link[href]:focus,.md-nav__link[href]:hover{color:var(--hw-aqua)}

/* ---------- typography ---------- */
.md-typeset{font-size:.78rem;line-height:1.7}
.md-typeset h1,.md-typeset h2,.md-typeset h3,.md-typeset h4{
  font-family:var(--hw-head-font);font-weight:700;letter-spacing:-.015em;color:var(--md-default-fg-color)
}
.md-typeset h1{font-size:2rem;line-height:1.15;margin-bottom:.6em}
.md-typeset h1 .hw-kicker{display:block;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--hw-aqua);margin-bottom:.6em;font-weight:700}
.md-typeset h2{font-size:1.35rem;margin-top:2.2em;padding-bottom:.3em;border-bottom:1px solid var(--hw-line)}
.md-typeset h3{font-size:1.02rem;margin-top:1.8em}
.md-typeset h4{font-size:.86rem;text-transform:none}
.md-typeset .lead{font-size:.95rem;line-height:1.6;color:var(--md-default-fg-color--light);max-width:42rem}
.md-typeset a{text-underline-offset:.15em}
.md-typeset a:hover{color:#a7fdf4}
[data-md-color-scheme="default"] .md-typeset a:hover{color:var(--hw-aqua-dim)}
.md-typeset hr{border-bottom:1px solid var(--hw-line)}
.md-typeset code{border-radius:.3rem;padding:.1em .4em;font-size:.86em;border:1px solid var(--hw-line)}
.md-typeset pre>code{border:0;font-size:.74rem;line-height:1.6}
.md-typeset .highlight{border:1px solid var(--hw-line);border-radius:.55rem;overflow:hidden}
.md-typeset .highlight pre{margin:0}
.md-typeset .highlight span.filename{border-bottom:1px solid var(--hw-line);font-family:var(--md-code-font);font-size:.7rem;background:rgba(255,255,255,.03)}
[data-md-color-scheme="default"] .md-typeset .highlight span.filename{background:rgba(0,0,0,.03)}
.md-clipboard{color:var(--hw-muted)}
.md-clipboard:hover{color:var(--hw-aqua)}
.md-typeset kbd{font-family:var(--md-code-font);font-size:.72em;border-radius:.3rem;box-shadow:0 .1rem 0 .05rem var(--md-typeset-kbd-border-color),0 .1rem 0 var(--md-typeset-kbd-border-color),0 -.1rem .2rem var(--md-typeset-kbd-accent-color) inset}

/* tables */
.md-typeset table:not([class]){
  border:1px solid var(--hw-line);border-radius:.55rem;font-size:.72rem;
  box-shadow:none;overflow:hidden;display:inline-table
}
.md-typeset table:not([class]) th{
  background:rgba(63,208,224,.06);font-family:var(--hw-head-font);font-weight:700;letter-spacing:.02em;color:var(--md-default-fg-color);
  border-bottom:1px solid var(--hw-line)
}
.md-typeset table:not([class]) td{border-top:1px solid var(--hw-line);vertical-align:top}
.md-typeset table:not([class]) tr:hover td{background:rgba(63,208,224,.035)}
.md-typeset table:not([class]) td code{white-space:nowrap}

/* admonitions */
.md-typeset .admonition,.md-typeset details{
  border-width:1px;border-left-width:3px;border-radius:.55rem;font-size:.74rem;
  box-shadow:none;background:var(--hw-panel)
}
.md-typeset .admonition-title,.md-typeset summary{font-family:var(--hw-head-font);font-weight:700}
.md-typeset .admonition.note,.md-typeset details.note{border-color:var(--hw-aqua)}
.md-typeset .note>.admonition-title,.md-typeset .note>summary{background:rgba(63,208,224,.08)}
.md-typeset .note>.admonition-title::before,.md-typeset .note>summary::before{background-color:var(--hw-aqua)}
.md-typeset .admonition.info,.md-typeset details.info{border-color:var(--hw-aqua-dim)}
.md-typeset .info>.admonition-title,.md-typeset .info>summary{background:rgba(42,166,196,.08)}
.md-typeset .info>.admonition-title::before,.md-typeset .info>summary::before{background-color:var(--hw-aqua-dim)}
.md-typeset .admonition.tip,.md-typeset details.tip{border-color:var(--hw-good)}
.md-typeset .tip>.admonition-title,.md-typeset .tip>summary{background:rgba(91,215,91,.08)}
.md-typeset .tip>.admonition-title::before,.md-typeset .tip>summary::before{background-color:var(--hw-good)}
.md-typeset .admonition.warning,.md-typeset details.warning{border-color:var(--hw-warn)}
.md-typeset .warning>.admonition-title,.md-typeset .warning>summary{background:rgba(242,193,78,.08)}
.md-typeset .warning>.admonition-title::before,.md-typeset .warning>summary::before{background-color:var(--hw-warn)}
.md-typeset .admonition.danger,.md-typeset details.danger{border-color:var(--hw-bad)}
.md-typeset .danger>.admonition-title,.md-typeset .danger>summary{background:rgba(255,91,122,.08)}
.md-typeset .danger>.admonition-title::before,.md-typeset .danger>summary::before{background-color:var(--hw-bad)}
.md-typeset .admonition.example,.md-typeset details.example{border-color:#9b8cff}
.md-typeset .example>.admonition-title,.md-typeset .example>summary{background:rgba(155,140,255,.08)}
.md-typeset .example>.admonition-title::before,.md-typeset .example>summary::before{background-color:#9b8cff}

/* tabs (content) */
.md-typeset .tabbed-set>label{font-family:var(--hw-head-font);font-weight:600;font-size:.7rem}
.md-typeset .tabbed-labels{border-bottom:1px solid var(--hw-line)}
.md-typeset .tabbed-labels>label:hover{color:var(--hw-aqua)}

/* ---------- hero (home) ---------- */
.hw-hero{
  position:relative;margin:-.2rem 0 2rem;padding:2.6rem 2.2rem 2.4rem;border-radius:1rem;overflow:hidden;
  border:1px solid var(--hw-line);background:var(--hw-panel);
}
.hw-hero::before{
  content:"";position:absolute;inset:-40% -20% auto auto;width:60%;height:160%;pointer-events:none;
  background:radial-gradient(closest-side,rgba(63,208,224,.22),rgba(63,208,224,0) 70%);
  filter:blur(10px)
}
.hw-hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:28px 28px;
  mask-image:radial-gradient(ellipse at 80% 20%,#000 20%,transparent 70%);
  -webkit-mask-image:radial-gradient(ellipse at 80% 20%,#000 20%,transparent 70%)
}
[data-md-color-scheme="default"] .hw-hero::after{background-image:linear-gradient(rgba(0,0,0,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.06) 1px,transparent 1px)}
.hw-hero>*{position:relative}
.hw-hero .hw-eyebrow{
  display:inline-flex;align-items:center;gap:.45rem;font-family:var(--hw-head-font);font-weight:700;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--hw-aqua);border:1px solid rgba(63,208,224,.35);border-radius:999px;padding:.28rem .7rem;background:rgba(63,208,224,.07);margin-bottom:1.1rem
}
.hw-hero .hw-eyebrow i{width:.42rem;height:.42rem;border-radius:50%;background:var(--hw-aqua);box-shadow:0 0 12px var(--hw-aqua)}
.md-typeset .hw-hero h1{font-size:2.6rem;line-height:1.05;margin:0 0 .6rem;max-width:34rem}
.md-typeset .hw-hero h1 span{background:linear-gradient(90deg,#a7fdf4,#33cddf,#149cb2);-webkit-background-clip:text;background-clip:text;color:transparent}
.md-typeset .hw-hero p{font-size:.92rem;color:var(--md-default-fg-color--light);max-width:36rem;margin:0 0 1.4rem}
.hw-actions{display:flex;flex-wrap:wrap;gap:.6rem}
.md-typeset .hw-btn{
  display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1.05rem;border-radius:.6rem;font-family:var(--hw-head-font);font-weight:700;font-size:.74rem;
  text-decoration:none;border:1px solid var(--hw-line);color:var(--md-default-fg-color);background:rgba(255,255,255,.04);transition:transform .15s ease,background .15s ease,border-color .15s ease
}
.md-typeset .hw-btn:hover{transform:translateY(-1px);border-color:rgba(63,208,224,.5);color:var(--md-default-fg-color)}
.md-typeset .hw-btn--primary{background:linear-gradient(135deg,#7ff4ea,#33cddf 55%,#149cb2);color:#06181c;border-color:transparent}
.md-typeset .hw-btn--primary:hover{color:#06181c;box-shadow:0 8px 30px rgba(63,208,224,.25)}
.hw-meta{display:flex;flex-wrap:wrap;gap:1.4rem;margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid var(--hw-line)}
.hw-meta div{font-size:.66rem;color:var(--hw-muted);letter-spacing:.04em;text-transform:uppercase;font-family:var(--hw-head-font);font-weight:600}
.hw-meta div b{display:block;font-size:.95rem;color:var(--md-default-fg-color);letter-spacing:0;text-transform:none;margin-top:.15rem;font-weight:700}

/* ---------- cards ---------- */
.hw-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.8rem;margin:1.2rem 0 2rem}
.md-typeset .hw-card{
  display:block;position:relative;padding:1.05rem 1.1rem 1rem;border-radius:.75rem;border:1px solid var(--hw-line);background:var(--hw-panel);
  color:inherit;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease
}
.md-typeset a.hw-card:hover{transform:translateY(-2px);border-color:rgba(63,208,224,.45);box-shadow:0 12px 34px rgba(0,0,0,.25);color:inherit}
.md-typeset .hw-card .hw-icon{
  display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.55rem;margin-bottom:.7rem;
  background:rgba(63,208,224,.10);color:var(--hw-aqua);border:1px solid rgba(63,208,224,.25)
}
.md-typeset .hw-card .hw-icon svg{width:1.05rem;height:1.05rem;fill:currentColor}
.md-typeset .hw-card h3{font-size:.88rem;margin:0 0 .3rem;font-family:var(--hw-head-font)}
.md-typeset .hw-card p{margin:0;font-size:.71rem;color:var(--hw-muted);line-height:1.55}
.md-typeset .hw-card .hw-more{display:inline-block;margin-top:.6rem;font-size:.68rem;font-weight:600;color:var(--hw-aqua);font-family:var(--hw-head-font)}

/* ---------- module cards / pills ---------- */
.md-typeset .hw-pill{
  display:inline-block;font-family:var(--hw-head-font);font-weight:700;font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;
  padding:.18rem .5rem;border-radius:999px;border:1px solid var(--hw-line);color:var(--hw-muted);vertical-align:middle;margin-left:.4rem
}
.md-typeset .hw-pill--on{color:var(--hw-good);border-color:rgba(91,215,91,.35);background:rgba(91,215,91,.08)}
.md-typeset .hw-pill--off{color:var(--hw-muted)}
.md-typeset .hw-pill--key{color:var(--hw-aqua);border-color:rgba(63,208,224,.35);background:rgba(63,208,224,.08)}
.md-typeset .hw-pill--warn{color:var(--hw-warn);border-color:rgba(242,193,78,.35);background:rgba(242,193,78,.08)}
.md-typeset .hw-pill--bad{color:var(--hw-bad);border-color:rgba(255,91,122,.35);background:rgba(255,91,122,.08)}

.md-typeset .hw-module{
  border:1px solid var(--hw-line);border-radius:.75rem;background:var(--hw-panel);padding:1rem 1.15rem .35rem;margin:1.2rem 0
}
.md-typeset .hw-module>h3{margin:0 0 .35rem;font-size:.98rem}
.md-typeset .hw-module>h3 a.headerlink{margin-left:.35rem}
.md-typeset .hw-module>p:first-of-type{color:var(--md-default-fg-color--light)}
.md-typeset .hw-module table:not([class]){width:100%;display:table;margin:.4rem 0 .8rem}
.md-typeset .hw-module table:not([class]) th:first-child{width:24%}
.md-typeset .hw-module table:not([class]) th:nth-child(2){width:22%}

/* steps */
.md-typeset ol.hw-steps{counter-reset:s;list-style:none;margin-left:0;padding-left:0}
.md-typeset ol.hw-steps>li{counter-increment:s;position:relative;padding:0 0 1.2rem 2.6rem;margin:0}
.md-typeset ol.hw-steps>li::before{
  content:counter(s);position:absolute;left:0;top:-.1rem;width:1.7rem;height:1.7rem;border-radius:.55rem;display:flex;align-items:center;justify-content:center;
  font-family:var(--hw-head-font);font-weight:700;font-size:.72rem;color:var(--hw-aqua);background:rgba(63,208,224,.10);border:1px solid rgba(63,208,224,.3)
}
.md-typeset ol.hw-steps>li::after{content:"";position:absolute;left:.82rem;top:1.9rem;bottom:.2rem;width:1px;background:var(--hw-line)}
.md-typeset ol.hw-steps>li:last-child::after{display:none}
.md-typeset ol.hw-steps>li>p:first-child{margin-top:0}

/* footer */
.md-footer{border-top:1px solid var(--hw-line)}
.md-footer-meta{font-size:.62rem}
.md-copyright{font-size:.62rem}
.md-footer__link:hover{color:var(--hw-aqua)}

/* content width */
.md-grid{max-width:72rem}
.md-content__inner{padding-bottom:3rem}

/* scrollbars, selection */
::selection{background:rgba(63,208,224,.35)}
.md-typeset .md-button{font-family:var(--hw-head-font);border-radius:.6rem}
.md-typeset .md-button--primary{background:linear-gradient(135deg,#7ff4ea,#33cddf 55%,#149cb2);color:#06181c;border-color:transparent}

/* top-of-page "back to top" */
.md-top{background:var(--hw-panel);border:1px solid var(--hw-line);color:var(--md-default-fg-color)}
.md-top:hover{background:var(--hw-aqua);color:#06181c}

/* search results */
.md-search-result__meta{font-family:var(--hw-head-font);font-size:.62rem;letter-spacing:.06em;text-transform:uppercase}
.md-search-result__article{font-size:.74rem}
.md-search-result mark{color:var(--hw-aqua);background:transparent}

@media screen and (max-width:44.9375em){
  .md-typeset .hw-hero{padding:1.8rem 1.2rem}
  .md-typeset .hw-hero h1{font-size:1.9rem}
}

/* =========================================================
   Mobile, iOS Safari and touch
   ========================================================= */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:rgba(63,208,224,.18)}
body{overscroll-behavior-y:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
a,button,label,summary,.md-nav__link,.md-tabs__link{touch-action:manipulation}

/* safe areas: notch, home indicator, landscape side insets */
.md-header__inner{padding-left:max(.2rem,env(safe-area-inset-left));padding-right:max(.2rem,env(safe-area-inset-right))}
.md-header{padding-top:env(safe-area-inset-top)}
.md-tabs__list{padding-left:max(.2rem,env(safe-area-inset-left));padding-right:max(.2rem,env(safe-area-inset-right))}
.md-footer-meta__inner,.md-footer__inner{padding-left:max(.2rem,env(safe-area-inset-left));padding-right:max(.2rem,env(safe-area-inset-right))}
.md-footer-meta{padding-bottom:env(safe-area-inset-bottom)}
.md-sidebar--primary .md-nav--primary{padding-bottom:max(1rem,env(safe-area-inset-bottom))}

/* the mobile drawer: full dynamic height, momentum scroll, safe insets */
@media screen and (max-width:76.1875em){
  .md-nav--primary .md-nav__title{
    background:var(--hw-panel);color:var(--md-default-fg-color);font-family:var(--hw-head-font);
    padding-top:max(1.2rem,env(safe-area-inset-top));height:auto;line-height:1.3
  }
  .md-nav--primary .md-nav__title[for="__drawer"]{padding-top:max(3.6rem,calc(3.2rem + env(safe-area-inset-top)))}
  .md-nav--primary .md-nav__title .md-nav__button{top:max(.6rem,env(safe-area-inset-top))}
  .md-sidebar--primary{padding-left:env(safe-area-inset-left)}
  .md-nav--primary .md-nav__list{-webkit-overflow-scrolling:touch}
  .md-nav--primary .md-nav__link{padding:.55rem .8rem;min-height:2.75rem;display:flex;align-items:center;font-size:.8rem}
  .md-nav--primary .md-nav__item--section>.md-nav__link{min-height:auto}
  .md-nav--primary .md-nav__link .md-nav__icon{height:1.2rem;width:1.2rem}
  .md-nav__link--active{background:rgba(63,208,224,.07);border-radius:.4rem}
  .md-header__button{min-width:2.75rem;min-height:2.75rem;margin:0}
  .md-search__inner{padding-top:env(safe-area-inset-top)}
  .md-search__input{font-size:16px}       /* iOS zooms any input below 16px */
  .md-search__scrollwrap{-webkit-overflow-scrolling:touch}
  .md-search-result__link{min-height:2.75rem}
}

/* content width and rhythm on phones */
@media screen and (max-width:59.9375em){
  .md-typeset{font-size:.8rem;line-height:1.65}
  .md-typeset h1{font-size:1.65rem}
  .md-typeset h2{font-size:1.2rem;margin-top:1.8em}
  .md-typeset h3{font-size:.98rem}
  .md-typeset .lead{font-size:.88rem}
  .md-content__inner{margin:0 .9rem 1.5rem;padding-top:.9rem}
  .md-typeset pre>code{font-size:.7rem}
  .md-typeset .highlight{border-radius:.45rem}
  .md-typeset .highlight pre>code{-webkit-overflow-scrolling:touch}
  .md-typeset table:not([class]){font-size:.68rem}
  .md-typeset .md-typeset__scrollwrap{-webkit-overflow-scrolling:touch;margin:0 -.9rem}
  .md-typeset .md-typeset__table{padding:0 .9rem}
  .md-typeset .hw-module{padding:.85rem .9rem .25rem;border-radius:.6rem}
  .md-typeset .hw-module table:not([class]) th:first-child,.md-typeset .hw-module table:not([class]) th:nth-child(2){width:auto}
  .md-typeset .admonition,.md-typeset details{font-size:.72rem}
  .md-typeset .tabbed-set>label{padding:.6rem .9rem;min-height:2.6rem}
  .md-typeset ol.hw-steps>li{padding-left:2.3rem}
  .md-clipboard{width:2.2rem;height:2.2rem}
}

@media screen and (max-width:44.9375em){
  .hw-grid{grid-template-columns:1fr;gap:.6rem}
  .md-typeset .hw-card{padding:.9rem .95rem .85rem}
  .md-typeset .hw-card h3{font-size:.86rem}
  .md-typeset .hw-hero{padding:1.5rem 1.05rem 1.35rem;border-radius:.8rem;margin:.2rem 0 1.4rem}
  .md-typeset .hw-hero h1{font-size:1.85rem;line-height:1.1}
  .md-typeset .hw-hero p{font-size:.84rem}
  .md-typeset .hw-btn{padding:.7rem 1rem;min-height:2.75rem;flex:1 1 auto;justify-content:center}
  .hw-meta{gap:.9rem 1.2rem;margin-top:1.2rem;padding-top:1rem}
  .hw-meta div b{font-size:.86rem}
  .md-typeset kbd{font-size:.7em}
}

/* landscape phones: keep the sticky header compact */
@media screen and (max-height:28em) and (orientation:landscape){
  .md-tabs{display:none}
  .md-typeset .hw-hero{padding:1.2rem 1rem}
}

/* iOS standalone (added to home screen): the status bar overlays the page */
@media (display-mode:standalone){
  .md-header{padding-top:max(env(safe-area-inset-top),1.4rem)}
}

/* reduced motion */
@media (prefers-reduced-motion:reduce){
  .md-typeset .hw-card,.md-typeset .hw-btn{transition:none}
  .md-typeset a.hw-card:hover,.md-typeset .hw-btn:hover{transform:none}
}

/* hover effects only on devices that hover; touch gets an active state instead */
@media (hover:none){
  .md-typeset a.hw-card:hover{transform:none;box-shadow:none}
  .md-typeset a.hw-card:active{border-color:rgba(63,208,224,.5);background:rgba(63,208,224,.04)}
  .md-typeset .hw-btn:hover{transform:none}
  .md-typeset .hw-btn:active{opacity:.85}
}

/* cards are <div>s with a stretched link, because Python-Markdown treats a block <a> as inline */
.md-typeset .hw-card{position:relative}
.md-typeset .hw-card>p{margin:0}
.md-typeset .hw-card>p:has(.hw-icon){margin-bottom:.1rem}
.md-typeset .hw-card .hw-more::after{content:"";position:absolute;inset:0;border-radius:inherit}
.md-typeset .hw-card:hover{transform:translateY(-2px);border-color:rgba(63,208,224,.45);box-shadow:0 12px 34px rgba(0,0,0,.25)}
.md-typeset .hw-card:focus-within{border-color:rgba(63,208,224,.6)}
.md-typeset .hw-card h3{margin-top:.2rem}
@media (hover:none){.md-typeset .hw-card:hover{transform:none;box-shadow:none}.md-typeset .hw-card:active{border-color:rgba(63,208,224,.5)}}
@media (prefers-reduced-motion:reduce){.md-typeset .hw-card:hover{transform:none}}

/* phones: hero actions stack full-width */
@media screen and (max-width:44.9375em){
  .hw-actions{flex-direction:column;align-items:stretch}
  .md-typeset .hw-btn{width:100%}
  .md-typeset .hw-hero h1{font-size:1.75rem}
}

/* phones: a settings table becomes a list of stacked rows instead of a sideways scroll */
@media screen and (max-width:44.9375em){
  .md-typeset .hw-module .md-typeset__scrollwrap{margin:0;overflow:visible}
  .md-typeset .hw-module .md-typeset__table{padding:0;display:block}
  .md-typeset .hw-module table:not([class]){display:block;border:0;border-radius:0;width:100%;font-size:.74rem}
  .md-typeset .hw-module table:not([class]) thead{display:none}
  .md-typeset .hw-module table:not([class]) tbody{display:block}
  .md-typeset .hw-module table:not([class]) tr{
    display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:.6rem;row-gap:.2rem;
    padding:.65rem 0;border-top:1px solid var(--hw-line)
  }
  .md-typeset .hw-module table:not([class]) tr:first-child{border-top:0}
  .md-typeset .hw-module table:not([class]) tr:hover td{background:transparent}
  .md-typeset .hw-module table:not([class]) td{display:block;border:0;padding:0;min-width:0}
  .md-typeset .hw-module table:not([class]) td code{white-space:normal;word-break:break-word}
  .md-typeset .hw-module table:not([class]) td:nth-child(1){grid-column:1;grid-row:1;font-weight:500;color:var(--md-default-fg-color)}
  .md-typeset .hw-module table:not([class]) td:nth-child(1) code{font-size:.8em}
  .md-typeset .hw-module table:not([class]) td:nth-child(3){grid-column:2;grid-row:1;text-align:right;color:var(--hw-aqua);font-family:var(--md-code-font);font-size:.68rem;white-space:nowrap;align-self:start}
  .md-typeset .hw-module table:not([class]) td:nth-child(3):not(:empty)::before{content:"default ";color:var(--hw-muted);font-family:var(--md-text-font);font-size:.6rem;letter-spacing:.06em;text-transform:uppercase}
  .md-typeset .hw-module table:not([class]) td:nth-child(2){grid-column:1/-1;grid-row:2;color:var(--hw-muted);font-size:.66rem}
  .md-typeset .hw-module table:not([class]) td:nth-child(2):not(:empty)::before{content:"type · ";letter-spacing:.06em;text-transform:uppercase;font-size:.6rem}
  .md-typeset .hw-module table:not([class]) td:nth-child(4){grid-column:1/-1;grid-row:3;color:var(--md-default-fg-color--light);line-height:1.5}
  .md-typeset .hw-module .hw-pill{margin-left:.3rem}
  /* every other table keeps its columns but scrolls inside its own box, edge to edge */
  .md-typeset .md-typeset__scrollwrap{margin:0 -.9rem;padding:0 .9rem;-webkit-overflow-scrolling:touch}
  .md-typeset .md-typeset__table{padding:0}
}

/* =========================================================
   Light scheme: the aqua that reads on #07080a is too pale on white,
   so every brand token deepens here and the gradient text gets a darker ramp.
   ========================================================= */
[data-md-color-scheme="default"]{
  --hw-aqua:#0d8ea3;
  --hw-aqua-dim:#0b7488;
  --hw-good:#2f8f2f;
  --hw-warn:#9a6d00;
  --hw-bad:#c92d4e;
  --md-typeset-a-color:#0b7f92;
  --md-accent-fg-color:#0b7f92;
}
[data-md-color-scheme="default"] .md-typeset .hw-hero h1 span{background-image:linear-gradient(90deg,#1aa9bf,#0d8ea3 55%,#0a6577)}
[data-md-color-scheme="default"] .hw-hero::before{background:radial-gradient(closest-side,rgba(13,142,163,.16),rgba(13,142,163,0) 70%)}
[data-md-color-scheme="default"] .hw-hero .hw-eyebrow{color:#0a6577;border-color:rgba(13,142,163,.4);background:rgba(13,142,163,.08)}
[data-md-color-scheme="default"] .hw-hero .hw-eyebrow i{background:#0d8ea3;box-shadow:0 0 10px rgba(13,142,163,.6)}
[data-md-color-scheme="default"] .md-typeset .hw-btn{background:#fff;border-color:rgba(0,0,0,.12)}
[data-md-color-scheme="default"] .md-typeset .hw-btn:hover{border-color:rgba(13,142,163,.6)}
[data-md-color-scheme="default"] .md-typeset .hw-btn--primary{background:linear-gradient(135deg,#33cddf,#149cb2 55%,#0d7a8c);color:#fff;border-color:transparent}
[data-md-color-scheme="default"] .md-typeset .hw-btn--primary:hover{color:#fff;box-shadow:0 8px 24px rgba(13,142,163,.28)}
[data-md-color-scheme="default"] .md-typeset .hw-card{background:#fff}
[data-md-color-scheme="default"] .md-typeset .hw-card .hw-icon{background:rgba(13,142,163,.08);border-color:rgba(13,142,163,.3)}
[data-md-color-scheme="default"] .md-typeset .hw-card:hover{box-shadow:0 12px 30px rgba(20,40,50,.10);border-color:rgba(13,142,163,.5)}
[data-md-color-scheme="default"] .md-typeset .hw-module{background:#fff}
[data-md-color-scheme="default"] .md-typeset .hw-pill--on{background:rgba(47,143,47,.08);border-color:rgba(47,143,47,.4)}
[data-md-color-scheme="default"] .md-typeset .hw-pill--key{background:rgba(13,142,163,.08);border-color:rgba(13,142,163,.4)}
[data-md-color-scheme="default"] .md-typeset .hw-pill--warn{background:rgba(154,109,0,.08);border-color:rgba(154,109,0,.4)}
[data-md-color-scheme="default"] .md-typeset table:not([class]) th{background:rgba(13,142,163,.06)}
[data-md-color-scheme="default"] .md-typeset table:not([class]) tr:hover td{background:rgba(13,142,163,.04)}
[data-md-color-scheme="default"] .md-typeset .admonition,[data-md-color-scheme="default"] .md-typeset details{background:#fff}
[data-md-color-scheme="default"] .md-typeset ol.hw-steps>li::before{background:rgba(13,142,163,.08);border-color:rgba(13,142,163,.35)}
[data-md-color-scheme="default"] .md-typeset .highlight span.filename{background:rgba(0,0,0,.03)}
[data-md-color-scheme="default"] .md-typeset a:hover{color:#0a6577}
[data-md-color-scheme="default"] .md-top{background:#fff}
[data-md-color-scheme="default"] .md-search__form{background:rgba(255,255,255,.10)}
[data-md-color-scheme="default"] ::selection{background:rgba(13,142,163,.25)}
/* the header stays dark in both schemes, so its controls keep the light aqua */
.md-header,.md-tabs{--hw-aqua:#3fd0e0}
