/* pacific — Ngwg default theme.
   Quiet, cold, simple: fog, cold water, wide horizon.
   Light and dark palettes follow the system via prefers-color-scheme. */

:root {
  color-scheme: light dark;

  --bg: #f4f7f8;
  --surface: #fbfcfd;
  --ink: #2b3a42;
  --ink-soft: #5c6f78;
  --ink-faint: #8fa1a9;
  --line: #dde5e8;
  --accent: #38626f;
  --accent-soft: #e3edf0;
  --code-bg: #eef2f4;
  /* block code stays dark under both schemes: the hljs palette below is
     bright-on-dark (ported from fewu) */
  --code-block-bg: #17242b;
  --content-width: 42rem;
  --sidebar-width: 13rem;
  --layout-width: 60rem;
}

@media (prefers-color-scheme: dark) {
  :root {
    --bg: #0d1417;
    --surface: #121b1f;
    --ink: #c7d2d7;
    --ink-soft: #92a5ad;
    --ink-faint: #64767f;
    --line: #21313a;
    --accent: #74a9bd;
    --accent-soft: #16262e;
    --code-bg: #17242b;
  }
}

* { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
}

/* pjax swap: plain opacity fade on the content block (reduced-motion: off) */
.layout { transition: opacity 0.18s ease; }
.layout.pjax-fade { opacity: 0; }
@media (prefers-reduced-motion: reduce) {
  .layout { transition: none; }
}

body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: "Georgia", "Songti SC", "Noto Serif CJK SC", "SimSun", serif;
  font-size: 1.0625rem;
  line-height: 1.85;
}

a {
  color: var(--accent);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s ease, color 0.2s ease;
}
a:hover { border-bottom-color: currentColor; }

/* ---- header ---- */

.site-header {
  border-bottom: 1px solid var(--line);
  background: var(--surface);
}

.site-nav {
  max-width: var(--layout-width);
  margin: 0 auto;
  padding: 1.1rem 1.25rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.site-title {
  font-size: 1.25rem;
  letter-spacing: 0.08em;
  color: var(--ink);
  border-bottom: none;
  white-space: nowrap;
  flex-shrink: 0;
}
.site-title:hover { color: var(--accent); }

.site-links {
  display: flex;
  gap: 1.4rem;
  flex-shrink: 0;
}

.site-links a {
  color: var(--ink-soft);
  font-size: 0.95rem;
  white-space: nowrap;
}
.site-links a:hover { color: var(--accent); }

/* hamburger — hidden unless the links do not fit (JS adds body.nav-crowded) */
.nav-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  width: 2.2rem;
  height: 2.2rem;
  padding: 0 0.4rem;
  border: 1px solid var(--line);
  background: none;
  cursor: pointer;
  flex-shrink: 0;
}

.nav-toggle span {
  display: block;
  height: 2px;
  width: 100%;
  background: var(--ink-soft);
}

body.nav-crowded .nav-toggle { display: flex; }
body.nav-crowded.menu-open .nav-toggle span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
body.nav-crowded.menu-open .nav-toggle span:nth-child(2) { opacity: 0; }
body.nav-crowded.menu-open .nav-toggle span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* collapsed dropdown menu */
body.nav-crowded .site-links {
  display: none;
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
  flex-direction: column;
  gap: 0;
  padding: 0.4rem 1.25rem 0.8rem;
  background: var(--surface);
  border-bottom: 1px solid var(--line);
}
body.nav-crowded .site-nav { position: relative; }
body.nav-crowded.menu-open .site-links { display: flex; }
body.nav-crowded .site-links a {
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--line);
}
body.nav-crowded .site-links a:last-child { border-bottom: none; }

/* ---- layout: main + sidebar ---- */

.layout {
  max-width: var(--layout-width);
  margin: 0 auto;
  padding: 2.6rem 1.25rem 4rem;
  display: grid;
  grid-template-columns: minmax(0, var(--content-width)) var(--sidebar-width);
  gap: 3rem;
  align-items: start;
  min-height: calc(100vh - 16rem);
}

.page {
  max-width: var(--content-width);
  min-width: 0;
}

/* ---- sidebar (sticky: tags, categories and the TOC stay on screen) ---- */

.sidebar {
  font-size: 0.92rem;
  border-left: 1px solid var(--line);
  padding-left: 1.8rem;
  position: sticky;
  top: 1.4rem;
}

.side-block { margin-bottom: 2rem; }

.side-title {
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  color: var(--ink-faint);
  margin: 0 0 0.6rem;
}

.side-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.side-list li {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 0.22rem 0;
}

.side-list a { border-bottom: none; color: var(--ink-soft); }
.side-list a:hover { color: var(--accent); }

.side-count {
  color: var(--ink-faint);
  font-size: 0.8rem;
  font-variant-numeric: tabular-nums;
}

/* collapsible sidebar lists: the toggle is part of the component, so a pjax
   swap brings fresh components and the JS simply re-mounts them */
.side-toggle {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  border: none;
  background: none;
  padding: 0 0.2rem 0 0;
  margin: 0;
  font-family: inherit;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  color: var(--ink-faint);
  text-align: left;
  cursor: pointer;
}
.side-toggle:hover { color: var(--accent); }

.side-chevron {
  display: inline-flex;
}

.side-chevron svg,
.toc-chevron svg {
  display: block;
  width: 0.5rem;
  height: 0.5rem;
}

.side-block.collapsed .side-chevron { transform: rotate(-90deg); }

/* ---- table of contents ---- */

.toc[hidden], .toc-fab[hidden] { display: none !important; }

.toc-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

.toc-head .side-title { margin-bottom: 0; }

.toc-toggle {
  border: none;
  background: none;
  color: var(--ink-faint);
  cursor: pointer;
  font-size: 0.8rem;
  padding: 0 0.2rem;
}
.toc-toggle:hover { color: var(--accent); }

.toc-chevron {
  display: inline-flex;
}

.toc.collapsed .toc-chevron { display: inline-block; transform: rotate(-90deg); }

/* collapse/expand animation: a grid row interpolating 1fr ↔ 0fr slides the
   list shut; the class lives on the component itself */
.collapse {
  display: grid;
  grid-template-rows: 1fr;
  transition: grid-template-rows 0.25s ease;
}
.collapse > ul { min-height: 0; overflow: hidden; }
.collapsed .collapse { grid-template-rows: 0fr; }

/* three-dot loading indicator: long articles stream their remaining segments
   in the background; the dots sit at the bottom of the TOC until it is done */
.toc-loading {
  display: flex;
  gap: 0.32rem;
  padding: 0.6rem 0 0.1rem 0.8rem;
}
.toc-loading[hidden] { display: none; }
.toc-loading span {
  width: 5px;
  height: 5px;
  border-radius: 999px;
  background: var(--ink-faint);
  animation: toc-dot 1.1s ease-in-out infinite;
}
.toc-loading span:nth-child(2) { animation-delay: 0.18s; }
.toc-loading span:nth-child(3) { animation-delay: 0.36s; }

@keyframes toc-dot {
  0%, 100% { opacity: 0.25; transform: translateY(0); }
  50% { opacity: 1; transform: translateY(-3px); }
}

/* the segment marker doubles as a 2x loader at the loading position — the
   point where the next segment will be inserted */
.post-seg-end {
  position: relative;
  width: 10px;
  height: 10px;
  margin: 1.4rem 0;
  border-radius: 999px;
  background: var(--ink-faint);
  animation: toc-dot 1.1s ease-in-out infinite;
}
.post-seg-end::before,
.post-seg-end::after {
  content: "";
  position: absolute;
  top: 0;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--ink-faint);
  animation: toc-dot 1.1s ease-in-out infinite;
}
.post-seg-end::before { left: -16px; animation-delay: 0.18s; }
.post-seg-end::after { left: 16px; animation-delay: 0.36s; }

/* pjax navigation: a 2x loader over the content area while the page loads */
.page-loading {
  position: fixed;
  left: 50%;
  top: 40%;
  transform: translateX(-50%);
  z-index: 60;
  display: flex;
  gap: 0.64rem;
}
.page-loading span {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--ink-faint);
  animation: toc-dot 1.1s ease-in-out infinite;
}
.page-loading span:nth-child(2) { animation-delay: 0.18s; }
.page-loading span:nth-child(3) { animation-delay: 0.36s; }

.toc-list {
  list-style: none;
  margin: 0.5rem 0 0;
  padding: 0;
  border-left: 2px solid var(--line);
  transition: margin 0.25s ease;
}
.toc.collapsed .toc-list { margin-top: 0; }

.toc-item a {
  display: block;
  padding: 0.14rem 0 0.14rem 0.8rem;
  margin-left: -2px;
  border-left: 2px solid transparent;
  border-bottom: none;
  color: var(--ink-faint);
  font-size: 0.85rem;
  line-height: 1.55;
}
.toc-item a:hover { color: var(--accent); }
.toc-item.toc-h3 a { padding-left: 1.5rem; }
.toc-item.toc-h4 a { padding-left: 2.2rem; }

/* interval highlight: from the topmost visible section's heading through
   the bottommost one, everything in between stays highlighted too */
.toc-item.active > a {
  color: var(--accent);
  border-left-color: var(--accent);
}

/* floating button (narrow viewports): three bars that morph into a scroll —
   the top and bottom bars rotate upright to the sides, the middle one
   duplicates into three text lines (like a rolled-up paper) */
.toc-fab {
  display: none;
  position: fixed;
  right: 1.1rem;
  bottom: 1.4rem;
  z-index: 40;
  width: 2.34rem;
  height: 2.34rem;
  border: none;
  background: var(--accent);
  cursor: pointer;
  box-shadow: 0 4px 16px rgba(20, 40, 50, 0.25);
}

.toc-fab span {
  position: absolute;
  height: 2px;
  border-radius: 1px;
  background: var(--bg);
}

/* three bars */
.toc-fab span:nth-child(1) { left: 20%; width: 60%; top: 30%; }
.toc-fab span:nth-child(2) { left: 20%; width: 60%; top: calc(50% - 1px); }
.toc-fab span:nth-child(3) { left: 20%; width: 60%; top: calc(70% - 2px); }

/* the middle bar carries its two copies (hidden until the morph) */
.toc-fab span:nth-child(2)::before,
.toc-fab span:nth-child(2)::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  border-radius: 1px;
  background: var(--bg);
  opacity: 0;
  transform: scaleY(0);
}
.toc-fab span:nth-child(2)::before { top: -7px; }
.toc-fab span:nth-child(2)::after { top: 7px; }

/* scroll: upright side rolls + three text lines */
.toc-fab.open span:nth-child(1) { left: 18%; width: 2px; top: 15%; height: 70%; }
.toc-fab.open span:nth-child(3) { left: calc(82% - 2px); width: 2px; top: 15%; height: 70%; }
.toc-fab.open span:nth-child(2) { left: 30%; width: 40%; }
.toc-fab.open span:nth-child(2)::before,
.toc-fab.open span:nth-child(2)::after { opacity: 1; transform: scaleY(1); }

@media (max-width: 56rem) {
  /* minmax(0, 1fr): the track must not grow to a wide child's min-content
     (long code lines) — overflow stays inside scrollable blocks instead */
  .layout { grid-template-columns: minmax(0, 1fr); gap: 2.4rem; }
  .sidebar {
    order: 2;
    border-left: none;
    border-top: 1px solid var(--line);
    padding-left: 0;
    padding-top: 1.6rem;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
    gap: 1.6rem;
  }
  .side-block { margin-bottom: 0; }
  /* no auto margins here: they switch the grid item to fit-content sizing,
     whose min-content floor (long code lines) re-creates horizontal overflow */
  .page { margin: 0; }

  /* the TOC leaves the sidebar flow: floating button + popup panel */
  .toc-fab { display: block; }
  .toc {
    position: fixed;
    left: 1rem;
    right: 1rem;
    bottom: 4.8rem;
    top: auto;
    z-index: 50;
    max-height: 55vh;
    overflow-y: auto;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 0.6rem;
    padding: 0.9rem 1.1rem;
    box-shadow: 0 10px 32px rgba(10, 25, 32, 0.28);
    display: none;
  }
  .toc.open { display: block; }
}

/* ---- page scaffold ---- */

.page-title {
  font-size: 1.6rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  margin: 0 0 0.2rem;
}

.page-subtitle {
  color: var(--ink-faint);
  font-size: 0.92rem;
  margin: 0 0 2.2rem;
}

/* ---- post list ---- */

.post-list { display: block; }

.post-item {
  padding: 1.6rem 0;
  border-bottom: 1px solid var(--line);
}

.post-item-title {
  font-size: 1.22rem;
  font-weight: 600;
  margin: 0 0 0.35rem;
}
.post-item-title a { color: var(--ink); border-bottom: none; }
.post-item-title a:hover { color: var(--accent); }

.post-item-meta {
  color: var(--ink-faint);
  font-size: 0.86rem;
  display: flex;
  gap: 0.9rem;
  align-items: baseline;
}

.post-item-excerpt {
  color: var(--ink-soft);
  font-size: 0.96rem;
  margin: 0.55rem 0 0;
}
/* author-controlled excerpts (<!-- more -->) carry block-level HTML */
.post-item-excerpt p, .post-item-excerpt ul, .post-item-excerpt ol { margin: 0.3rem 0; }
.post-item-excerpt > :first-child { margin-top: 0; }
.post-item-excerpt > :last-child { margin-bottom: 0; }
.post-item-excerpt pre { font-size: 0.82rem; }

.tag, .category {
  font-size: 0.84rem;
  color: var(--ink-faint);
  border-bottom: none;
}
.tag:hover, .category:hover { color: var(--accent); }

/* ---- pagination ---- */

.pagination {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-top: 2.2rem;
  font-size: 0.92rem;
}

.pagination-info { color: var(--ink-faint); }

/* ---- single post ---- */

.post-page article { max-width: 100%; }

.post-header { margin-bottom: 2.4rem; }

.post-title {
  font-size: 1.75rem;
  font-weight: 600;
  line-height: 1.4;
  margin: 0 0 0.5rem;
}

.post-meta {
  color: var(--ink-faint);
  font-size: 0.88rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.9rem;
}

.post-body {
  overflow-wrap: break-word;
}

.post-body h2, .post-body h3, .post-body h4 {
  font-weight: 600;
  line-height: 1.45;
  margin: 2.2rem 0 0.8rem;
}
.post-body h2 { font-size: 1.35rem; }
.post-body h3 { font-size: 1.15rem; }

.post-body p { margin: 0.9rem 0; }

.post-body blockquote {
  margin: 1.4rem 0;
  padding: 0.2rem 1.2rem;
  border-left: 3px solid var(--accent-soft);
  color: var(--ink-soft);
  background: var(--surface);
}

.post-body pre,
pre {
  background: var(--code-block-bg);
  border: 1px solid var(--line);
  border-radius: 0.4rem;
  padding: 1rem 1.2rem;
  overflow-x: auto;
  font-size: 0.88rem;
  line-height: 1.6;
  color: #c7d2d7; /* bright default text for unhighlighted tokens on dark bg */
}

/* hljs palette (ported from fewu's extra.scss) */
pre code {
  color: #c7d2d7;
}
pre code .hljs-keyword { color: #5d7afd; }
pre code .hljs-string { color: #e79435; }
pre code .hljs-number { color: #1fd619; }
pre code .hljs-meta { color: #ee3bc1; }
pre code .hljs-property { color: #f3d138; }
pre code .hljs-comment { color: #80d499; }
pre code .hljs-title { color: rgb(199, 163, 2); }
pre code .hljs-title.class_ { color: rgb(43, 192, 38); }
pre code .hljs-variable, pre code .hljs-attr { color: #4296bd; }
pre code .hljs-literal { color: rgb(202, 70, 235); }

.post-body code {
  font-family: "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;
  background: var(--code-bg);
  padding: 0.12em 0.35em;
  font-size: 0.88em;
}
.post-body pre code { background: none; padding: 0; color: #c7d2d7; }

.post-body img { max-width: 100%; display: block; margin: 1.4rem auto; }

.post-body hr {
  border: none;
  border-top: 1px solid var(--line);
  margin: 2.4rem 0;
}

.post-body ul, .post-body ol { padding-left: 1.6rem; }
.post-body li { margin: 0.3rem 0; }

.post-neighbors {
  margin-top: 3rem;
  padding-top: 1.4rem;
  border-top: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  font-size: 0.94rem;
}
.neighbor.older { color: var(--ink-soft); }
.neighbor.newer { color: var(--ink-soft); text-align: right; }

/* ---- archives ---- */

.archive-group { margin-bottom: 2rem; }

.archive-year {
  font-size: 1.15rem;
  color: var(--accent);
  margin: 0 0 0.6rem;
}

.archive-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.archive-item {
  display: flex;
  gap: 1.2rem;
  align-items: baseline;
  padding: 0.28rem 0;
}
.archive-item time {
  color: var(--ink-faint);
  font-size: 0.86rem;
  font-variant-numeric: tabular-nums;
  min-width: 3.4rem;
}

/* ---- long-post segments ---- */

/* ---- footer ---- */

.site-footer {
  border-top: 1px solid var(--line);
  color: var(--ink-faint);
  font-size: 0.85rem;
  text-align: center;
  padding: 2rem 1.25rem 2.6rem;
}
.site-footer p { margin: 0.25rem 0; }

@media (max-width: 480px) {
  body { font-size: 1rem; }
  .site-nav { padding: 1rem; }
  .layout { padding: 2rem 1rem 3rem; }
}

/* ---- admonitions (ported from fewu's extra.scss) ---- */

.admonition {
  position: relative;
  margin: 1.4rem 0;
  padding: 1rem 1.1rem;
  border-radius: 0.4rem;
  box-sizing: border-box;
  color: var(--aclr);
  overflow: hidden; /* keep the tint inside the radius */
}

.admonition + .admonition { margin-top: -0.4rem; }

/* type tint behind the content */
.admonition::before {
  content: '';
  position: absolute;
  inset: 0;
  background-color: var(--aclr);
  opacity: 0.125;
  pointer-events: none;
}

.admonition > .admonition-title {
  margin: 0 0 0.4rem;
  color: var(--aclr);
  font-weight: 700;
  font-size: 0.95rem;
  line-height: 1.5rem;
  display: flex;
  align-items: center;
  text-transform: capitalize;
  position: relative;
}

/* type icon: the SVG ships as an alpha mask, tinted with the type color */
.admonition > .admonition-title::before {
  content: "";
  mask-size: contain;
  -webkit-mask-size: contain;
  mask-position: left;
  -webkit-mask-position: left;
  mask-image: var(--aimg);
  -webkit-mask-image: var(--aimg);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  background-color: var(--aclr);
  margin-right: 0.5rem;
  height: 1.5rem;
  min-width: 1.5rem;
}

/* title-less admonitions fall back to the type name */
.admonition > .admonition-title:empty::after {
  content: var(--atlt);
  font-size: 1.1rem;
  display: flex;
  align-items: center;
}

.admonition > p:last-child {
  margin-bottom: 0;
}

/* code blocks inside admonitions (ported from extra.scss) */
.admonition pre {
  background-color: transparent;
  position: relative;
}
.admonition pre::before {
  content: '';
  position: absolute;
  inset: 0;
  background-color: var(--aclr);
  opacity: 0.125;
  border-radius: 0.4rem;
  pointer-events: none;
}
.admonition pre > code {
  background-color: transparent;
}

.admonition.note       { --aclr: oklch(.7 .14 250); --atlt: "NOTE"; --aimg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25z'/></svg>"); }
.admonition.abstract   { --aclr: light-dark(#000d, #fffd); --atlt: "ABSTRACT"; --aimg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M17 9H7V7h10m0 6H7v-2h10m-3 6H7v-2h7M12 3a1 1 0 0 1 1 1 1 1 0 0 1-1 1 1 1 0 0 1-1-1 1 1 0 0 1 1-1m7 0h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2z'/></svg>"); }
.admonition.info       { --aclr: var(--accent); --atlt: "INFO"; --aimg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z'></path></svg>"); }
.admonition.tip        { --aclr: oklch(.7 .14 180); --atlt: "TIP"; --aimg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M8 1.5c-2.363 0-4 1.69-4 3.75 0 .984.424 1.625.984 2.304l.214.253c.223.264.47.556.673.848.284.411.537.896.621 1.49a.75.75 0 0 1-1.484.211c-.04-.282-.163-.547-.37-.847a8.456 8.456 0 0 0-.542-.68c-.084-.1-.173-.205-.268-.32C3.201 7.75 2.5 6.766 2.5 5.25 2.5 2.31 4.863 0 8 0s5.5 2.31 5.5 5.25c0 1.516-.701 2.5-1.328 3.259-.095.115-.184.22-.268.319-.207.245-.383.453-.541.681-.208.3-.33.565-.37.847a.751.751 0 0 1-1.485-.212c.084-.593.337-1.078.621-1.489.203-.292.45-.584.673-.848.075-.088.147-.173.213-.253.561-.679.985-1.32.985-2.304 0-2.06-1.637-3.75-4-3.75ZM5.75 12h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM6 15.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Z'></path></svg>"); }
.admonition.attention  { --aclr: light-dark(#000d, #fffd); --atlt: "ATTENTION"; --aimg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'></path></svg>"); }
.admonition.bug        { --aclr: light-dark(#862d, #ea6d); --atlt: "BUG"; --aimg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M14 12h-4v-2h4m0 6h-4v-2h4m6-6h-2.81a5.985 5.985 0 0 0-1.82-1.96L17 4.41 15.59 3l-2.17 2.17a6.002 6.002 0 0 0-2.83 0L8.41 3 7 4.41l1.62 1.63C7.88 6.55 7.26 7.22 6.81 8H4v2h2.09c-.05.33-.09.66-.09 1v1H4v2h2v1c0 .34.04.67.09 1H4v2h2.81c1.04 1.79 2.97 3 5.19 3s4.15-1.21 5.19-3H20v-2h-2.09c.05-.33.09-.66.09-1v-1h2v-2h-2v-1c0-.34-.04-.67-.09-1H20V8z'/></svg>"); }
.admonition.warning    { --aclr: oklch(.7 .14 60); --atlt: "WARNING"; --aimg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'></path></svg>"); }
.admonition.caution    { --aclr: oklch(.6 .2 25); --atlt: "CAUTION"; --aimg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M4.47.22A.749.749 0 0 1 5 0h6c.199 0 .389.079.53.22l4.25 4.25c.141.14.22.331.22.53v6a.749.749 0 0 1-.22.53l-4.25 4.25A.749.749 0 0 1 11 16H5a.749.749 0 0 1-.53-.22L.22 11.53A.749.749 0 0 1 0 11V5c0-.199.079-.389.22-.53Zm.84 1.28L1.5 5.31v5.38l3.81 3.81h5.38l3.81-3.81V5.31L10.69 1.5ZM8 4a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 4Zm0 8a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z'></path></svg>"); }
.admonition.danger     { --aclr: oklch(.6 .2 25); --atlt: "DANGER"; --aimg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M11 15H6l7-14v8h5l-7 14v-8z'/></svg>"); }
.admonition.success    { --aclr: oklch(.7 .14 260); --atlt: "SUCCESS"; --aimg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='m9 20.42-6.21-6.21 2.83-2.83L9 14.77l9.88-9.89 2.83 2.83L9 20.42z'/></svg>"); }
.admonition.failure    { --aclr: oklch(.6 .2 25); --atlt: "FAILURE"; --aimg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M20 6.91 17.09 4 12 9.09 6.91 4 4 6.91 9.09 12 4 17.09 6.91 20 12 14.91 17.09 20 20 17.09 14.91 12 20 6.91z'/></svg>"); }
.admonition.example    { --aclr: oklch(.6 .2 125); --atlt: "EXAMPLE"; --aimg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M7 13v-2h14v2H7m0 6v-2h14v2H7M7 7V5h14v2H7M3 8V5H2V4h2v4H3m-1 9v-1h3v4H2v-1h2v-.5H3v-1h1V17H2m2.25-7a.75.75 0 0 1 .75.75c0 .2-.08.39-.21.52L3.12 13H5v1H2v-.92L4 11H2v-1h2.25z'/></svg>"); }
.admonition.error      { --aclr: oklch(.6 .2 30); --atlt: "ERROR"; --aimg: url("data:image/svg+xml,<svg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'><g><path d='M16 31a15 15 0 1 1 15-15 15 15 0 0 1-15 15Zm0-28a13 13 0 1 0 13 13A13 13 0 0 0 16 3Z'/><path d='M16 24a2 2 0 1 1 2-2 2 2 0 0 1-2 2Zm0-2ZM16 18a1 1 0 0 1-1-1V8a1 1 0 0 1 2 0v9a1 1 0 0 1-1 1Z'/></g></svg>"); }
.admonition.quote      { --aclr: oklch(.7 .14 120); --atlt: "QUOTE"; --aimg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M14 17h3l2-4V7h-6v6h3M6 17h3l2-4V7H5v6h3l-2 4z'/></svg>"); }
.admonition.question   { --aclr: oklch(.75 .14 90); --atlt: "QUESTION"; --aimg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='m15.07 11.25-.9.92C13.45 12.89 13 13.5 13 15h-2v-.5c0-1.11.45-2.11 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41a2 2 0 0 0-2-2 2 2 0 0 0-2 2H8a4 4 0 0 1 4-4 4 4 0 0 1 4 4 3.2 3.2 0 0 1-.93 2.25M13 19h-2v-2h2M12 2A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10c0-5.53-4.5-10-10-10z'/></svg>"); }
