/* =====================================================================================
   Kurin docs theme: calm "product docs" look (ivory / deep warm black, one soft blue accent)
   ===================================================================================== */

:root {
  --k-accent: #2b5fb4;                 /* links, active nav (light) */
  --k-accent-soft: rgba(43, 95, 180, .11);
  --k-accent-line: rgba(43, 95, 180, .35);
  --k-line: rgba(20, 20, 19, .10);     /* hairlines */
  --k-line-strong: rgba(20, 20, 19, .16);
  --k-surface: #f3f1ea;                /* table head, code, cards */
  --k-muted: rgba(20, 20, 19, .62);
  --k-radius: 10px;
}
[data-md-color-scheme="slate"] {
  --k-accent: #8ab4f8;
  --k-accent-soft: rgba(138, 180, 248, .16);
  --k-accent-line: rgba(138, 180, 248, .45);
  --k-line: rgba(250, 249, 245, .10);
  --k-line-strong: rgba(250, 249, 245, .17);
  --k-surface: #222220;
  --k-muted: rgba(250, 249, 245, .60);
}

/* ---------- palette ---------- */
[data-md-color-primary="custom"] {
  --md-primary-fg-color: #faf9f5;
  --md-primary-fg-color--light: #f3f1ea;
  --md-primary-fg-color--dark: #e8e6dc;
  --md-primary-bg-color: #141413;
  --md-primary-bg-color--light: rgba(20, 20, 19, .6);
}
[data-md-color-accent="custom"] {
  --md-accent-fg-color: var(--k-accent);
  --md-accent-fg-color--transparent: var(--k-accent-soft);
  --md-accent-bg-color: #faf9f5;
}
[data-md-color-scheme="default"] {
  --md-default-bg-color: #faf9f5;
  --md-default-fg-color: rgba(20, 20, 19, .95);
  --md-default-fg-color--light: rgba(20, 20, 19, .62);
  --md-default-fg-color--lighter: rgba(20, 20, 19, .32);
  --md-default-fg-color--lightest: rgba(20, 20, 19, .08);
  --md-typeset-color: rgba(20, 20, 19, .92);
  --md-typeset-a-color: var(--k-accent);
  --md-code-bg-color: var(--k-surface);
  --md-code-fg-color: #3d3d3a;
  --md-footer-bg-color: #f3f1ea;
  --md-footer-bg-color--dark: #ebe9e1;
  --md-footer-fg-color: #141413;
  --md-footer-fg-color--light: rgba(20, 20, 19, .62);
  --md-footer-fg-color--lighter: rgba(20, 20, 19, .45);
}
[data-md-color-scheme="slate"] {
  --md-hue: 40;
  --md-primary-fg-color: #171716;
  --md-primary-fg-color--light: #222220;
  --md-primary-fg-color--dark: #121211;
  --md-primary-bg-color: #faf9f5;
  --md-primary-bg-color--light: rgba(250, 249, 245, .6);
  --md-accent-bg-color: #171716;
  --md-default-bg-color: #171716;
  --md-default-bg-color--light: #222220;
  --md-default-fg-color: rgba(250, 249, 245, .95);
  --md-default-fg-color--light: rgba(250, 249, 245, .62);
  --md-default-fg-color--lighter: rgba(250, 249, 245, .32);
  --md-default-fg-color--lightest: rgba(250, 249, 245, .08);
  --md-typeset-color: rgba(250, 249, 245, .90);
  --md-typeset-a-color: var(--k-accent);
  --md-code-bg-color: var(--k-surface);
  --md-code-fg-color: #e8e6dc;
  --md-footer-bg-color: #121211;
  --md-footer-bg-color--dark: #0e0e0d;
}

/* ---------- typography ---------- */
body { -webkit-font-smoothing: antialiased; }
.md-typeset { font-size: .78rem; line-height: 1.75; }
.md-typeset p { margin: 0 0 1em; }
.md-typeset ul, .md-typeset ol { margin-top: .4em; margin-bottom: 1em; }
.md-typeset h1 { font-weight: 650; font-size: 1.85rem; letter-spacing: -.02em; color: var(--md-default-fg-color); margin-bottom: .9em; }
.md-typeset h2 { font-weight: 620; font-size: 1.2rem; letter-spacing: -.01em; margin-top: 2.2em; padding-top: 1.1em; border-top: 1px solid var(--k-line); }
.md-typeset h1 + h2, .md-typeset h1 + p + h2 { border-top: 0; padding-top: 0; }
.md-typeset h3 { font-weight: 600; font-size: .95rem; margin-top: 1.6em; }
.md-typeset strong { font-weight: 620; }
.md-typeset a { font-weight: 520; text-decoration: none; text-underline-offset: .2em; }
.md-typeset a:hover { text-decoration: underline; text-decoration-color: var(--k-accent-line); }
.md-typeset ul li, .md-typeset ol li { margin-bottom: .45em; }

/* ---------- header: page tone, translucent, hairline ---------- */
.md-header { background: color-mix(in srgb, var(--md-default-bg-color) 85%, transparent); backdrop-filter: saturate(160%) blur(10px);
  -webkit-backdrop-filter: saturate(160%) blur(10px); color: var(--md-primary-bg-color); border-bottom: 1px solid var(--k-line); box-shadow: none; }
.md-header--shadow { box-shadow: none; }
.md-tabs { background: var(--md-default-bg-color); color: var(--md-primary-bg-color); border-bottom: 1px solid var(--k-line); }
.md-header__title { font-weight: 620; letter-spacing: -.01em; }
.md-header__title, .md-header__button { color: var(--md-primary-bg-color); }
.md-search__button { color: var(--md-default-fg-color--light) !important; border-radius: 999px !important; }
.md-search__button:before { background-color: var(--md-default-fg-color--light) !important; }
@media screen and (min-width: 45em) {
  .md-search__button { background-color: var(--k-surface) !important; border: 1px solid var(--k-line); }
  .md-search__button:hover, .md-search__button:focus { border-color: var(--k-accent-line); }
}

/* ---------- navigation ---------- */
.md-nav { font-size: .7rem; }
.md-nav__item--section > .md-nav__link, .md-nav__item--section > label.md-nav__link, .md-nav__item--section > .md-nav__container > .md-nav__link {
  font-size: .64rem; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; color: var(--k-muted) !important; margin-top: 1.4em; padding: .3em .6em; background: none !important; }
.md-nav__link { border-radius: 7px; padding: .26em .6em; margin: .05em 0; transition: background .12s, color .12s; }
.md-nav__link:hover { background: var(--k-accent-soft); color: var(--md-default-fg-color) !important; }
.md-nav__link--active, .md-nav__item .md-nav__link--active { color: var(--k-accent) !important; background: var(--k-accent-soft); font-weight: 600; }
.md-sidebar--secondary .md-nav__title { font-size: .64rem; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; color: var(--k-muted); background: none; box-shadow: none; }
.md-sidebar--secondary .md-nav__link { padding: .15em .5em; }
.md-sidebar--secondary .md-nav__link--active { background: none; }
.md-sidebar--secondary .md-nav__list { border-left: 1px solid var(--k-line); }

/* ---------- content width: readable text, full-width tables ---------- */
.md-grid { max-width: 76rem; }
@media screen and (min-width: 76.25em) { .md-grid { padding-left: 1rem; padding-right: 1rem; } }  /* side gutters when the window is narrower than the grid */
.md-content { max-width: 44rem; }

/* ---------- tables ---------- */
.md-typeset__table { width: 100%; }
.md-typeset__table table:not([class]) { display: table; width: 100%; table-layout: auto; }
.md-typeset table:not([class]) { font-size: .75rem; line-height: 1.6; border: 1px solid var(--k-line-strong); border-radius: var(--k-radius); border-collapse: separate; border-spacing: 0; overflow: hidden; box-shadow: none; }
.md-typeset table:not([class]) th { background: var(--k-surface); font-weight: 620; color: var(--md-default-fg-color); border-bottom: 1px solid var(--k-line-strong); }
.md-typeset table:not([class]) th, .md-typeset table:not([class]) td {
  padding: .6em .9em; white-space: normal; overflow-wrap: break-word; word-break: normal; vertical-align: top; }
.md-typeset table:not([class]) td { border-top: 1px solid var(--k-line); }
.md-typeset table:not([class]) tr:first-child td { border-top: 0; }
.md-typeset table:not([class]) tbody tr:hover { background: var(--k-accent-soft); box-shadow: none; }
.md-typeset table:not([class]) td:first-child { min-width: 9em; }

/* ---------- code ---------- */
.md-typeset code { border-radius: 6px; padding: .1em .4em; font-size: .85em; }
.md-typeset :not(pre) > code { border: 1px solid var(--k-line); }
[data-md-color-scheme="slate"] .md-typeset :not(pre) > code { color: #b8d0fb; }
.md-typeset pre > code { border-radius: var(--k-radius); border: 1px solid var(--k-line); padding: 1em 1.2em; }
.md-clipboard { color: var(--k-muted); }

/* ---------- callouts: rounded card, title as a tinted bar (note = blue, tip = green, warning = red; no orange) ---------- */
.md-typeset .admonition, .md-typeset details {
  --kc: var(--k-accent); --kc-bg: var(--k-accent-soft); --kc-line: var(--k-accent-line);
  border: 1px solid var(--kc-line); border-left-width: 1px; border-radius: var(--k-radius); box-shadow: none; overflow: hidden;
  background: var(--md-default-bg-color) !important; font-size: .77rem; padding: 0 1.1em; }
.md-typeset .admonition-title, .md-typeset summary { margin: 0 -1.1em .9em; padding: .62em 1.1em .62em 2.7em; border: 0; border-bottom: 1px solid var(--kc-line);
  background: var(--kc-bg) !important; font-weight: 650; color: var(--md-default-fg-color); }
.md-typeset details:not([open]) > summary { margin-bottom: 0; border-bottom: 0; }
.md-typeset .admonition-title:before, .md-typeset summary:before { left: 1em; top: .68em; background-color: var(--kc) !important; }
.md-typeset .admonition > :last-child, .md-typeset details > :last-child { margin-bottom: 1em; }
.md-typeset .admonition.tip, .md-typeset .admonition.success, .md-typeset .admonition.hint, .md-typeset details.tip { --kc: #228b5e; --kc-bg: rgba(34, 139, 94, .09); --kc-line: rgba(34, 139, 94, .35); }
.md-typeset .admonition.warning, .md-typeset .admonition.danger, .md-typeset .admonition.failure, .md-typeset .admonition.caution, .md-typeset .admonition.attention,
.md-typeset details.warning { --kc: #b5414e; --kc-bg: var(--k-surface); --kc-line: rgba(181, 65, 78, .45); }
[data-md-color-scheme="slate"] .md-typeset .admonition.tip, [data-md-color-scheme="slate"] .md-typeset .admonition.success, [data-md-color-scheme="slate"] .md-typeset details.tip { --kc: #5cc495; --kc-bg: rgba(92, 196, 149, .1); --kc-line: rgba(92, 196, 149, .35); }
[data-md-color-scheme="slate"] .md-typeset .admonition.warning, [data-md-color-scheme="slate"] .md-typeset .admonition.danger, [data-md-color-scheme="slate"] .md-typeset details.warning { --kc: #f08a96; --kc-bg: var(--k-surface); --kc-line: rgba(240, 138, 150, .4); }
.md-typeset .admonition-title + p:last-child { margin-bottom: 1em; }

/* ---------- cards ---------- */
.md-typeset .grid.cards > ul > li { border: 1px solid var(--k-line-strong); border-radius: var(--k-radius); background: var(--md-default-bg-color); transition: border-color .15s, box-shadow .15s, transform .15s; }
.md-typeset .grid.cards > ul > li:hover { border-color: var(--k-accent-line); box-shadow: 0 6px 20px -12px rgba(0, 0, 0, .35); transform: translateY(-1px); }

/* ---------- video ---------- */
.video-embed { position: relative; width: 100%; aspect-ratio: 16 / 9; margin: 1em 0; }
.video-embed iframe, .video-embed video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; border-radius: var(--k-radius); }
.md-typeset video, .md-typeset img { max-width: 100%; border-radius: var(--k-radius); }

/* ---------- footer ---------- */
.md-footer { border-top: none; }
.md-footer-meta { background: var(--md-footer-bg-color); }
.md-footer__inner { padding: .6rem 0; }

.md-nav__item--section > .md-nav__container { padding: 0; margin: 0; }

/* ---------- media: images / videos / albums / video embeds as framed cards with a caption bar ---------- */
.md-typeset figure.kmedia { margin: 1.6em auto; padding: 0; text-align: left; }
.md-typeset figure.kmedia:not(.klink):not(.kfile) { display: flex; flex-direction: column; width: fit-content; max-width: 100%;
  border: 1px solid var(--k-line-strong); border-radius: var(--k-radius); overflow: hidden; background: var(--k-surface); }
.md-typeset figure.kmedia.is-m:not(.klink):not(.kfile) { max-width: 70%; }
.md-typeset figure.kmedia.is-s:not(.klink):not(.kfile) { max-width: 45%; }
.md-typeset figure.kmedia > a.glightbox, .md-typeset figure.kmedia > a:not(.kembed):not(.kvideo-btn):not(.kfile-btn) { display: block; }
.md-typeset figure.kmedia img, .md-typeset figure.kmedia video { display: block; width: auto; max-width: 100%; height: auto; margin: 0;
  border: 0; border-radius: 0; background: transparent; }
.md-typeset figure.kmedia figcaption { contain: inline-size; margin: 0; padding: .7em 1.1em; text-align: left; font-size: .72rem; font-style: normal;
  line-height: 1.5; color: var(--md-default-fg-color--light); border-top: 1px solid var(--k-line); background: var(--k-surface); }

/* video embeds: poster + play button, the player loads on click (assets/kmedia.js) */
.md-typeset figure.kvideo, .md-typeset figure.kalbum { width: 100%; }
.md-typeset figure.kvideo .kembed, .md-typeset figure.kvideo .kembed-frame { position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; background: #141413; }
.md-typeset figure.kvideo .kembed img { width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform .3s, opacity .2s; }
.md-typeset figure.kvideo .kembed:hover img { transform: scale(1.02); opacity: .9; }
.md-typeset figure.kvideo .kembed-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.kembed-play { position: absolute; left: 50%; top: 50%; width: 68px; height: 48px; transform: translate(-50%, -50%); border-radius: 14px;
  background: rgba(20, 20, 19, .78); backdrop-filter: blur(4px); transition: background .15s; }
.kembed-play::after { content: ""; position: absolute; left: 28px; top: 14px; border-style: solid; border-width: 10px 0 10px 16px; border-color: transparent transparent transparent #fff; }
.md-typeset figure.kvideo .kembed:hover .kembed-play { background: var(--k-accent); }
.md-typeset figure.klink { display: block; margin: 1em 0; }
.md-typeset figure.klink figcaption { display: inline; padding: 0 0 0 .7em; border: 0; background: none; }
.md-typeset .kvideo-btn { display: inline-flex; align-items: center; gap: .4em; padding: .45em .95em; border-radius: 999px; font-weight: 620; font-size: .75rem;
  border: 1px solid var(--k-accent-line); background: var(--k-accent-soft); color: var(--k-accent); text-decoration: none; }
.md-typeset .kvideo-btn:hover { background: var(--k-accent); color: var(--md-default-bg-color); text-decoration: none; }

/* before / after compare: two images or videos, drag the divider (assets/kmedia.js) */
.kcompare-box { position: relative; overflow: hidden; user-select: none; -webkit-user-select: none; touch-action: pan-y; cursor: ew-resize; }
.md-typeset figure.kcompare .kcompare-box img, .md-typeset figure.kcompare .kcompare-box video { pointer-events: none; -webkit-user-drag: none; }
.kcompare-after { position: absolute; inset: 0; clip-path: inset(0 0 0 50%); }
.kcompare-after > a { display: block; height: 100%; }
.md-typeset figure.kcompare .kcompare-after img, .md-typeset figure.kcompare .kcompare-after video { width: 100%; height: 100%; max-width: none; object-fit: cover; }
.kcompare-line { position: absolute; top: 0; bottom: 0; left: 50%; width: 2px; margin-left: -1px; background: #fff; box-shadow: 0 0 0 1px rgba(20, 20, 19, .25); }
.kcompare-knob { position: absolute; top: 50%; left: 50%; width: 40px; height: 40px; padding: 0; transform: translate(-50%, -50%); border-radius: 50%;
  border: 2px solid #fff; background: rgba(20, 20, 19, .72); color: #fff; font: 700 16px/1 Inter, sans-serif; letter-spacing: 2px; cursor: ew-resize; transition: background .15s; }
.kcompare-knob:hover, .kcompare-knob:focus-visible { background: var(--k-accent); outline: none; }
.kcompare-label { position: absolute; bottom: 10px; padding: 2px 9px; border-radius: 999px; font: 600 11px/1.6 Inter, sans-serif; color: #fff; background: rgba(20, 20, 19, .6); pointer-events: none; }
.kcompare-label.is-before { left: 10px; }
.kcompare-label.is-after { right: 10px; }
.kcompare-zoom { position: absolute; top: 10px; left: 10px; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 8px; cursor: zoom-in;
  background: rgba(20, 20, 19, .6); color: #fff; font: 600 16px/32px Inter, sans-serif; transition: background .15s; }
.kcompare-zoom:hover, .kcompare-zoom:focus-visible { background: var(--k-accent); outline: none; }
.kclb-open, .kclb-open body { overflow: hidden; }
.kclb-open { scrollbar-gutter: auto; }
.kcompare-lb { position: fixed; inset: 0; z-index: 1000; background: #0a0a0a; }
.kclb-view { position: absolute; inset: 0; overflow: hidden; user-select: none; -webkit-user-select: none; touch-action: none; cursor: ew-resize; }
.kcompare-lb.is-zoomed .kclb-view { cursor: grab; }
.kcompare-lb .kclb-view.is-panning { cursor: grabbing; }
.kclb-pan { position: absolute; left: 0; top: 0; width: 100%; height: 100%; transform-origin: 0 0; }
.kclb-box { position: absolute; }
.kclb-a, .kclb-b { position: absolute; inset: 0; }
.kclb-box img, .kclb-box video { display: block; width: 100%; height: 100%; object-fit: cover; pointer-events: none; -webkit-user-drag: none; }
.kclb-b { clip-path: inset(0 0 0 50%); }
.kcompare-lb .kcompare-line { margin-left: -1px; bottom: auto; }
.kclb-close { position: absolute; z-index: 2; top: 14px; right: 16px; width: 40px; height: 40px; border: 0; border-radius: 50%; cursor: pointer;
  background: rgba(255, 255, 255, .12); color: #fff; font: 600 18px/40px Inter, sans-serif; }
.kclb-close:hover { background: var(--k-accent); }
.kclb-hint { position: absolute; z-index: 2; bottom: 12px; left: 0; right: 0; text-align: center; font: 12px/1.4 Inter, sans-serif; color: rgba(255, 255, 255, .6); pointer-events: none; }
.kmedia-lb .kclb-view { cursor: zoom-in; }

/* click-to-play videos and the zoom button on videos (assets/kmedia.js) */
.md-typeset figure.kmedia, .md-typeset figure.kalbum .kalbum-stage { position: relative; }
.kplay { position: relative; display: block; cursor: pointer; }
.kplay-btn { position: absolute; left: 50%; top: 50%; width: 64px; height: 64px; padding: 0; transform: translate(-50%, -50%); border: 0; border-radius: 50%;
  background: rgba(20, 20, 19, .7); backdrop-filter: blur(4px); cursor: pointer; transition: background .15s, opacity .2s; }
.kplay-btn::after { content: ""; position: absolute; left: 26px; top: 20px; border-style: solid; border-width: 12px 0 12px 19px; border-color: transparent transparent transparent #fff; }
.kplay:hover .kplay-btn { background: var(--k-accent); }
.kplay.is-playing .kplay-btn { opacity: 0; }
.kmedia-zoom { position: absolute; top: 10px; left: 10px; z-index: 2; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 8px; cursor: zoom-in;
  background: rgba(20, 20, 19, .6); color: #fff; font: 600 16px/32px Inter, sans-serif; opacity: 0; transition: opacity .15s, background .15s; }
.md-typeset figure.kmedia:hover .kmedia-zoom, .kmedia-zoom:focus-visible { opacity: 1; }
.kmedia-zoom:hover { background: var(--k-accent); }
.md-typeset img { cursor: zoom-in; }
.md-typeset figure.kcompare img, .md-typeset figure.kvideo img, .md-typeset a img, .md-typeset .kalbum-thumbs img, .md-typeset .twemoji img { cursor: inherit; }
@media (hover: none) { .kmedia-zoom { opacity: 1; } }

/* albums: several images / videos in one block, one at a time (assets/kmedia.js; without JS it is a swipeable strip) */
.md-typeset figure.kalbum { outline: none; }
.md-typeset figure.kalbum .kalbum-stage { position: relative; width: 100%; }
.md-typeset figure.kalbum .kalbum-track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; aspect-ratio: 16 / 9; background: var(--md-default-bg-color); }
.md-typeset figure.kalbum .kalbum-track::-webkit-scrollbar { display: none; }
.md-typeset figure.kalbum .kalbum-track > * { flex: 0 0 100%; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; scroll-snap-align: center; }
.md-typeset figure.kalbum .kalbum-track img, .md-typeset figure.kalbum .kalbum-track video { width: 100%; max-width: 100%; height: 100%; object-fit: contain; }
.kalbum-arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 38px; height: 38px; border-radius: 50%; border: 0; cursor: pointer;
  font: 400 26px/36px Inter, sans-serif; color: #fff; background: rgba(20, 20, 19, .6); backdrop-filter: blur(6px); transition: background .15s, opacity .15s; }
.kalbum-arrow.is-prev { left: 10px; } .kalbum-arrow.is-next { right: 10px; }
.kalbum-arrow:hover { background: var(--k-accent); }
.kalbum-arrow:disabled { opacity: 0; pointer-events: none; }
.kalbum-count { position: absolute; right: 10px; bottom: 10px; padding: 2px 9px; border-radius: 999px; font: 600 11px/1.6 Inter, sans-serif; color: #fff; background: rgba(20, 20, 19, .6); }
.md-typeset .kalbum-cap { padding: .6em 1.1em 0; font-size: .72rem; color: var(--md-default-fg-color); }
.kalbum-thumbs { display: flex; flex-wrap: wrap; gap: 6px; padding: .7em 1.1em .1em; }
.kalbum-thumb { width: 64px; aspect-ratio: 16 / 9; padding: 0; border-radius: 6px; overflow: hidden; cursor: pointer; border: 2px solid transparent; background: var(--md-default-bg-color); opacity: .6; transition: opacity .15s, border-color .15s; }
.kalbum-thumb:hover { opacity: .9; }
.kalbum-thumb.is-active { opacity: 1; border-color: var(--k-accent); }
.md-typeset figure.kalbum .kalbum-thumb img, .md-typeset figure.kalbum .kalbum-thumb video { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.md-typeset figure.kalbum .kalbum-nav[hidden] + figcaption, .md-typeset figure.kalbum figcaption { border-top: 0; }
.md-typeset figure.kalbum .kalbum-cap[hidden] + .kalbum-nav[hidden] + figcaption { border-top: 1px solid var(--k-line); }

/* download files (ZIP, presets, PDF): a card-like button */
.md-typeset figure.kfile { display: block; width: auto; max-width: 100%; margin: 1.2em 0; border: 0; background: none; overflow: visible; }
.md-typeset .kfile-btn { display: inline-flex; align-items: center; gap: .9em; max-width: 100%; padding: .75em 1.2em .75em .9em; border-radius: var(--k-radius);
  border: 1px solid var(--k-line-strong); background: var(--k-surface); color: var(--md-default-fg-color); text-decoration: none; transition: border-color .15s, background .15s; }
.md-typeset .kfile-btn:hover { border-color: var(--k-accent-line); background: var(--k-accent-soft); text-decoration: none; }
.kfile-icon { display: block; flex: 0 0 auto; width: 2.2em; height: 2.2em; border-radius: 8px; background: var(--k-accent); position: relative; }
.kfile-icon::before { content: ""; position: absolute; inset: 0; background: var(--md-default-bg-color);
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 3v11m0 0-4.5-4.5M12 14l4.5-4.5M5 19h14" fill="none" stroke="black" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"/></svg>') center / 60% no-repeat;
          mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 3v11m0 0-4.5-4.5M12 14l4.5-4.5M5 19h14" fill="none" stroke="black" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"/></svg>') center / 60% no-repeat; }
.kfile-text { display: flex; color: var(--md-default-fg-color); flex-direction: column; min-width: 0; line-height: 1.35; }
.md-typeset .kfile-name { color: var(--md-default-fg-color); font-weight: 650; font-size: .78rem; overflow-wrap: anywhere; }
.md-typeset .kfile-meta { font-size: .66rem; color: var(--md-default-fg-color--light); }
.md-typeset figure.kfile figcaption { contain: none; padding: .45em 0 0 .2em; border: 0; background: none; }

/* media inside callouts */
.md-typeset .admonition figure.kmedia { margin: .9em auto 1.1em; background: var(--md-default-bg-color); }

@media screen and (max-width: 44.9375em) {
  .md-typeset figure.kmedia.is-m:not(.klink):not(.kfile), .md-typeset figure.kmedia.is-s:not(.klink):not(.kfile) { max-width: 100%; }
  .kalbum-thumb { width: 48px; }
}

/* nested nav items (page with sub-pages, e.g. Weather): one row, text lined up with the other items */
.md-nav__link.md-nav__container { display: flex; align-items: center; padding: 0; margin: .1em 0; background: none; }
.md-nav__link.md-nav__container > a.md-nav__link { flex: 1; margin: 0; }
.md-nav__link.md-nav__container > label.md-nav__link { flex: none; margin: 0 0 0 .2em; padding: .3em .45em; }

/* ---------- layout scale (docs-site style): fixed root size, top tabs, compact sidebar ---------- */
/* the theme grows the root font to 137.5 % / 150 % on wide screens; keep one calm scale everywhere */
@media screen and (min-width: 100em) { html { font-size: 125%; } }
@media screen and (min-width: 125em) { html { font-size: 125%; } }
.md-main__inner { margin-top: 1.2rem; }
/* top section tabs */
.md-tabs__list { contain: none; }
.md-tabs__item { height: 2.4rem; padding-left: .55rem; padding-right: .55rem; }
.md-tabs__link { margin-top: .75rem; font-size: .7rem; font-weight: 520; opacity: 1; color: var(--k-muted); transition: color .12s; }
.md-tabs__link:hover, .md-tabs__link:focus { color: var(--md-default-fg-color); }
.md-tabs__item--active .md-tabs__link { color: var(--md-default-fg-color); font-weight: 620; }
.md-tabs__item--active { box-shadow: inset 0 -2px 0 var(--k-accent); }
/* section with its own page (Weather): the section label shows when that page is open */
.md-nav__item--section > .md-nav__container > .md-nav__link--active { color: var(--k-accent) !important; }
