/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */
@layer properties;
.pointer-events-none {
  pointer-events: none;
}
.visible {
  visibility: visible;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border-width: 0;
}
.absolute {
  position: absolute;
}
.fixed {
  position: fixed;
}
.relative {
  position: relative;
}
.static {
  position: static;
}
.sticky {
  position: sticky;
}
.top-full {
  top: 100%;
}
.-z-10 {
  z-index: calc(10 * -1);
}
.z-10 {
  z-index: 10;
}
.z-20 {
  z-index: 20;
}
.z-30 {
  z-index: 30;
}
.z-40 {
  z-index: 40;
}
.z-50 {
  z-index: 50;
}
.z-\[1\] {
  z-index: 1;
}
.order-1 {
  order: 1;
}
.order-2 {
  order: 2;
}
.col-span-1 {
  grid-column: span 1 / span 1;
}
.col-span-3 {
  grid-column: span 3 / span 3;
}
.col-span-4 {
  grid-column: span 4 / span 4;
}
.col-start-1 {
  grid-column-start: 1;
}
.col-start-2 {
  grid-column-start: 2;
}
.container {
  width: 100%;
  @media (width >= 40rem) {
    max-width: 40rem;
  }
  @media (width >= 48rem) {
    max-width: 48rem;
  }
  @media (width >= 64rem) {
    max-width: 64rem;
  }
  @media (width >= 80rem) {
    max-width: 80rem;
  }
  @media (width >= 86rem) {
    max-width: 86rem;
  }
}
.mx-auto {
  margin-inline: auto;
}
.prose {
  color: var(--tw-prose-body);
  max-width: 65ch;
  :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 1.25em;
    margin-bottom: 1.25em;
  }
  :where([class~="lead"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: var(--tw-prose-lead);
    font-size: 1.25em;
    line-height: 1.6;
    margin-top: 1.2em;
    margin-bottom: 1.2em;
  }
  :where(a):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: var(--tw-prose-links);
    text-decoration: underline;
    font-weight: 500;
  }
  :where(strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: var(--tw-prose-bold);
    font-weight: 600;
  }
  :where(a strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: inherit;
  }
  :where(blockquote strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: inherit;
  }
  :where(thead th strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: inherit;
  }
  :where(ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    list-style-type: decimal;
    margin-top: 1.25em;
    margin-bottom: 1.25em;
    padding-inline-start: 1.625em;
  }
  :where(ol[type="A"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    list-style-type: upper-alpha;
  }
  :where(ol[type="a"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    list-style-type: lower-alpha;
  }
  :where(ol[type="A" s]):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    list-style-type: upper-alpha;
  }
  :where(ol[type="a" s]):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    list-style-type: lower-alpha;
  }
  :where(ol[type="I"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    list-style-type: upper-roman;
  }
  :where(ol[type="i"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    list-style-type: lower-roman;
  }
  :where(ol[type="I" s]):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    list-style-type: upper-roman;
  }
  :where(ol[type="i" s]):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    list-style-type: lower-roman;
  }
  :where(ol[type="1"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    list-style-type: decimal;
  }
  :where(ul):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    list-style-type: disc;
    margin-top: 1.25em;
    margin-bottom: 1.25em;
    padding-inline-start: 1.625em;
  }
  :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *))::marker {
    font-weight: 400;
    color: var(--tw-prose-counters);
  }
  :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *))::marker {
    color: var(--tw-prose-bullets);
  }
  :where(dt):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: var(--tw-prose-headings);
    font-weight: 600;
    margin-top: 1.25em;
  }
  :where(hr):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    border-color: var(--tw-prose-hr);
    border-top-width: 1px;
    margin-top: 3em;
    margin-bottom: 3em;
  }
  :where(blockquote):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    font-weight: 500;
    font-style: italic;
    color: var(--tw-prose-quotes);
    border-inline-start-width: 0.25rem;
    border-inline-start-color: var(--tw-prose-quote-borders);
    quotes: "\201C""\201D""\2018""\2019";
    margin-top: 1.6em;
    margin-bottom: 1.6em;
    padding-inline-start: 1em;
  }
  :where(blockquote p:first-of-type):not(:where([class~="not-prose"], [class~="not-prose"] *))::before {
    content: open-quote;
  }
  :where(blockquote p:last-of-type):not(:where([class~="not-prose"], [class~="not-prose"] *))::after {
    content: close-quote;
  }
  :where(h1):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: var(--tw-prose-headings);
    font-weight: normal;
    font-size: 2.25em;
    margin-top: 0;
    margin-bottom: 0.25em;
    line-height: 1.1111111;
  }
  :where(h1 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    font-weight: 900;
    color: inherit;
  }
  :where(h2):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: var(--tw-prose-headings);
    font-weight: 700;
    font-size: 1.5em;
    margin-top: 2em;
    margin-bottom: 1em;
    line-height: 1.3333333;
  }
  :where(h2 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    font-weight: 800;
    color: inherit;
  }
  :where(h3):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: var(--tw-prose-headings);
    font-weight: 600;
    font-size: 1.25em;
    margin-top: 1.6em;
    margin-bottom: 0.6em;
    line-height: 1.6;
  }
  :where(h3 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    font-weight: 700;
    color: inherit;
  }
  :where(h4):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: var(--tw-prose-headings);
    font-weight: 600;
    margin-top: 1.5em;
    margin-bottom: 0.5em;
    line-height: 1.5;
  }
  :where(h4 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    font-weight: 700;
    color: inherit;
  }
  :where(img):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 2em;
    margin-bottom: 2em;
  }
  :where(picture):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    display: block;
    margin-top: 2em;
    margin-bottom: 2em;
  }
  :where(video):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 2em;
    margin-bottom: 2em;
  }
  :where(kbd):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    font-weight: 500;
    font-family: inherit;
    color: var(--tw-prose-kbd);
    box-shadow: 0 0 0 1px var(--tw-prose-kbd-shadows), 0 3px 0 var(--tw-prose-kbd-shadows);
    font-size: 0.875em;
    border-radius: 0.3125rem;
    padding-top: 0.1875em;
    padding-inline-end: 0.375em;
    padding-bottom: 0.1875em;
    padding-inline-start: 0.375em;
  }
  :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: var(--tw-prose-code);
    font-weight: 600;
    font-size: 0.875em;
  }
  :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *))::before {
    content: "`";
  }
  :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *))::after {
    content: "`";
  }
  :where(a code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: inherit;
  }
  :where(h1 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: inherit;
  }
  :where(h2 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: inherit;
    font-size: 0.875em;
  }
  :where(h3 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: inherit;
    font-size: 0.9em;
  }
  :where(h4 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: inherit;
  }
  :where(blockquote code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: inherit;
  }
  :where(thead th code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: inherit;
  }
  :where(pre):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: var(--tw-prose-pre-code);
    background-color: var(--tw-prose-pre-bg);
    overflow-x: auto;
    font-weight: 400;
    font-size: 0.875em;
    line-height: 1.7142857;
    margin-top: 1.7142857em;
    margin-bottom: 1.7142857em;
    border-radius: 0.375rem;
    padding-top: 0.8571429em;
    padding-inline-end: 1.1428571em;
    padding-bottom: 0.8571429em;
    padding-inline-start: 1.1428571em;
  }
  :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    background-color: transparent;
    border-width: 0;
    border-radius: 0;
    padding: 0;
    font-weight: inherit;
    color: inherit;
    font-size: inherit;
    font-family: inherit;
    line-height: inherit;
  }
  :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *))::before {
    content: none;
  }
  :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *))::after {
    content: none;
  }
  :where(table):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    width: 100%;
    table-layout: auto;
    margin-top: 2em;
    margin-bottom: 2em;
    font-size: 0.875em;
    line-height: 1.7142857;
  }
  :where(thead):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    border-bottom-width: 1px;
    border-bottom-color: var(--tw-prose-th-borders);
  }
  :where(thead th):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: var(--tw-prose-headings);
    font-weight: 600;
    vertical-align: bottom;
    padding-inline-end: 0.5714286em;
    padding-bottom: 0.5714286em;
    padding-inline-start: 0.5714286em;
  }
  :where(tbody tr):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    border-bottom-width: 1px;
    border-bottom-color: var(--tw-prose-td-borders);
  }
  :where(tbody tr:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    border-bottom-width: 0;
  }
  :where(tbody td):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    vertical-align: baseline;
  }
  :where(tfoot):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    border-top-width: 1px;
    border-top-color: var(--tw-prose-th-borders);
  }
  :where(tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    vertical-align: top;
  }
  :where(th, td):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    text-align: start;
  }
  :where(figure > *):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 0;
    margin-bottom: 0;
  }
  :where(figcaption):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: var(--tw-prose-captions);
    font-size: 0.875em;
    line-height: 1.4285714;
    margin-top: 0.8571429em;
  }
  --tw-prose-body: var(--text);
  --tw-prose-headings: var(--text);
  --tw-prose-lead: oklch(44.6% 0.03 256.802);
  --tw-prose-links: oklch(21% 0.034 264.665);
  --tw-prose-bold: oklch(21% 0.034 264.665);
  --tw-prose-counters: oklch(55.1% 0.027 264.364);
  --tw-prose-bullets: oklch(87.2% 0.01 258.338);
  --tw-prose-hr: oklch(92.8% 0.006 264.531);
  --tw-prose-quotes: oklch(21% 0.034 264.665);
  --tw-prose-quote-borders: oklch(92.8% 0.006 264.531);
  --tw-prose-captions: oklch(55.1% 0.027 264.364);
  --tw-prose-kbd: oklch(21% 0.034 264.665);
  --tw-prose-kbd-shadows: color-mix(in oklab, oklch(21% 0.034 264.665) 10%, transparent);
  --tw-prose-code: oklch(21% 0.034 264.665);
  --tw-prose-pre-code: oklch(92.8% 0.006 264.531);
  --tw-prose-pre-bg: oklch(27.8% 0.033 256.848);
  --tw-prose-th-borders: oklch(87.2% 0.01 258.338);
  --tw-prose-td-borders: oklch(92.8% 0.006 264.531);
  --tw-prose-invert-body: oklch(87.2% 0.01 258.338);
  --tw-prose-invert-headings: #fff;
  --tw-prose-invert-lead: oklch(70.7% 0.022 261.325);
  --tw-prose-invert-links: #fff;
  --tw-prose-invert-bold: #fff;
  --tw-prose-invert-counters: oklch(70.7% 0.022 261.325);
  --tw-prose-invert-bullets: oklch(44.6% 0.03 256.802);
  --tw-prose-invert-hr: oklch(37.3% 0.034 259.733);
  --tw-prose-invert-quotes: oklch(96.7% 0.003 264.542);
  --tw-prose-invert-quote-borders: oklch(37.3% 0.034 259.733);
  --tw-prose-invert-captions: oklch(70.7% 0.022 261.325);
  --tw-prose-invert-kbd: #fff;
  --tw-prose-invert-kbd-shadows: rgb(255 255 255 / 10%);
  --tw-prose-invert-code: #fff;
  --tw-prose-invert-pre-code: oklch(87.2% 0.01 258.338);
  --tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);
  --tw-prose-invert-th-borders: oklch(44.6% 0.03 256.802);
  --tw-prose-invert-td-borders: oklch(37.3% 0.034 259.733);
  font-size: 1rem;
  line-height: 1.75;
  :where(picture > img):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 0;
    margin-bottom: 0;
  }
  :where(li):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
  }
  :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    padding-inline-start: 0.375em;
  }
  :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    padding-inline-start: 0.375em;
  }
  :where(.prose > ul > li p):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 0.75em;
    margin-bottom: 0.75em;
  }
  :where(.prose > ul > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 1.25em;
  }
  :where(.prose > ul > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-bottom: 1.25em;
  }
  :where(.prose > ol > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 1.25em;
  }
  :where(.prose > ol > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-bottom: 1.25em;
  }
  :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 0.75em;
    margin-bottom: 0.75em;
  }
  :where(dl):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 1.25em;
    margin-bottom: 1.25em;
  }
  :where(dd):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 0.5em;
    padding-inline-start: 1.625em;
  }
  :where(hr + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 0;
  }
  :where(h2 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 0;
  }
  :where(h3 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 0;
  }
  :where(h4 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 0;
  }
  :where(thead th:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    padding-inline-start: 0;
  }
  :where(thead th:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    padding-inline-end: 0;
  }
  :where(tbody td, tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    padding-top: 0.5714286em;
    padding-inline-end: 0.5714286em;
    padding-bottom: 0.5714286em;
    padding-inline-start: 0.5714286em;
  }
  :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    padding-inline-start: 0;
  }
  :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    padding-inline-end: 0;
  }
  :where(figure):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 2em;
    margin-bottom: 2em;
  }
  :where(.prose > :first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 0;
  }
  :where(.prose > :last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-bottom: 0;
  }
}
.-mt-\[10\.4rem\] {
  margin-top: calc(10.4rem * -1);
}
.mt-auto {
  margin-top: auto;
}
.ml-auto {
  margin-left: auto;
}
.line-clamp-2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.block {
  display: block;
}
.flex {
  display: flex;
}
.grid {
  display: grid;
}
.hidden {
  display: none;
}
.inline {
  display: inline;
}
.inline-flex {
  display: inline-flex;
}
.table {
  display: table;
}
.table-cell {
  display: table-cell;
}
.table-row {
  display: table-row;
}
.field-sizing-content {
  field-sizing: content;
}
.h-1\/2 {
  height: calc(1 / 2 * 100%);
}
.h-\[34px\] {
  height: 34px;
}
.h-\[var\(--radix-select-trigger-height\)\] {
  height: var(--radix-select-trigger-height);
}
.h-auto {
  height: auto;
}
.h-full {
  height: 100%;
}
.h-px {
  height: 1px;
}
.min-h-\[80vh\] {
  min-height: 80vh;
}
.min-h-screen {
  min-height: 100vh;
}
.w-\[min\(20rem\,88vw\)\] {
  width: min(20rem, 88vw);
}
.w-auto {
  width: auto;
}
.w-full {
  width: 100%;
}
.max-w-\[9\.375rem\] {
  max-width: 9.375rem;
}
.max-w-\[36\.5rem\] {
  max-width: 36.5rem;
}
.max-w-\[48rem\] {
  max-width: 48rem;
}
.max-w-full {
  max-width: 100%;
}
.max-w-none {
  max-width: none;
}
.min-w-\[8rem\] {
  min-width: 8rem;
}
.min-w-\[var\(--radix-select-trigger-width\)\] {
  min-width: var(--radix-select-trigger-width);
}
.flex-1 {
  flex: 1;
}
.shrink-0 {
  flex-shrink: 0;
}
.origin-left {
  transform-origin: 0;
}
.animate-in {
  animation: enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none);
}
.cursor-default {
  cursor: default;
}
.cursor-pointer {
  cursor: pointer;
}
.resize {
  resize: both;
}
.list-disc {
  list-style-type: disc;
}
.appearance-none {
  appearance: none;
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.flex-col {
  flex-direction: column;
}
.flex-row {
  flex-direction: row;
}
.flex-wrap {
  flex-wrap: wrap;
}
.items-center {
  align-items: center;
}
.items-end {
  align-items: flex-end;
}
.items-start {
  align-items: flex-start;
}
.items-stretch {
  align-items: stretch;
}
.justify-between {
  justify-content: space-between;
}
.justify-center {
  justify-content: center;
}
.justify-end {
  justify-content: flex-end;
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-x-auto {
  overflow-x: auto;
}
.overflow-y-auto {
  overflow-y: auto;
}
.overscroll-contain {
  overscroll-behavior: contain;
}
.rounded-\[0\.8rem\] {
  border-radius: 0.8rem;
}
.rounded-\[4px\] {
  border-radius: 4px;
}
.rounded-full {
  border-radius: calc(infinity * 1px);
}
.border {
  border-style: var(--tw-border-style);
  border-width: 1px;
}
.border-0\! {
  border-style: var(--tw-border-style) !important;
  border-width: 0px !important;
}
.border-t {
  border-top-style: var(--tw-border-style);
  border-top-width: 1px;
}
.border-b {
  border-bottom-style: var(--tw-border-style);
  border-bottom-width: 1px;
}
.border-l {
  border-left-style: var(--tw-border-style);
  border-left-width: 1px;
}
.border-none {
  --tw-border-style: none;
  border-style: none;
}
.bg-transparent {
  background-color: transparent;
}
.bg-transparent\! {
  background-color: transparent !important;
}
.bg-linear-to-t {
  --tw-gradient-position: to top;
  @supports (background-image: linear-gradient(in lab, red, red)) {
    --tw-gradient-position: to top in oklab;
  }
  background-image: linear-gradient(var(--tw-gradient-stops));
}
.to-transparent {
  --tw-gradient-to: transparent;
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
}
.object-contain {
  object-fit: contain;
}
.object-cover {
  object-fit: cover;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.align-middle {
  vertical-align: middle;
}
.font-mono {
  font-family: var(--font-mono);
}
.leading-none {
  --tw-leading: 1;
  line-height: 1;
}
.break-all {
  word-break: break-all;
}
.whitespace-nowrap {
  white-space: nowrap;
}
.text-current {
  color: currentcolor;
}
.uppercase {
  text-transform: uppercase;
}
.line-through {
  text-decoration-line: line-through;
}
.underline {
  text-decoration-line: underline;
}
.underline-offset-2 {
  text-underline-offset: 2px;
}
.underline-offset-4 {
  text-underline-offset: 4px;
}
.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.opacity-0 {
  opacity: 0%;
}
.opacity-50 {
  opacity: 50%;
}
.opacity-70 {
  opacity: 70%;
}
.opacity-80 {
  opacity: 80%;
}
.opacity-100 {
  opacity: 100%;
}
.outline-hidden {
  --tw-outline-style: none;
  outline-style: none;
  @media (forced-colors: active) {
    outline: 2px solid transparent;
    outline-offset: 2px;
  }
}
.outline {
  outline-style: var(--tw-outline-style);
  outline-width: 1px;
}
.invert {
  --tw-invert: invert(100%);
  filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
}
.filter {
  filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
}
.transition-\[color\,box-shadow\] {
  transition-property: color,box-shadow;
  transition-timing-function: var(--tw-ease, ease);
  transition-duration: var(--tw-duration, 0s);
}
.transition-colors {
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, ease);
  transition-duration: var(--tw-duration, 0s);
}
.transition-opacity {
  transition-property: opacity;
  transition-timing-function: var(--tw-ease, ease);
  transition-duration: var(--tw-duration, 0s);
}
.duration-200 {
  --tw-duration: 200ms;
  transition-duration: 200ms;
}
.select-none {
  -webkit-user-select: none;
  user-select: none;
}
.running {
  animation-play-state: running;
}
.peer-disabled\:cursor-not-allowed {
  &:is(:where(.peer):disabled ~ *) {
    cursor: not-allowed;
  }
}
.peer-disabled\:opacity-70 {
  &:is(:where(.peer):disabled ~ *) {
    opacity: 70%;
  }
}
.file\:inline-flex {
  &::file-selector-button {
    display: inline-flex;
  }
}
.file\:border-0 {
  &::file-selector-button {
    border-style: var(--tw-border-style);
    border-width: 0px;
  }
}
.file\:bg-transparent {
  &::file-selector-button {
    background-color: transparent;
  }
}
.hover\:cursor-pointer {
  &:hover {
    @media (hover: hover) {
      cursor: pointer;
    }
  }
}
.hover\:bg-\(--card-border\) {
  &:hover {
    @media (hover: hover) {
      background-color: var(--card-border);
    }
  }
}
.hover\:bg-\(--card-border\)\/30 {
  &:hover {
    @media (hover: hover) {
      background-color: var(--card-border);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--card-border) 30%, transparent);
      }
    }
  }
}
.hover\:bg-\(--page-bg\) {
  &:hover {
    @media (hover: hover) {
      background-color: var(--page-bg);
    }
  }
}
.hover\:text-\(--accent\) {
  &:hover {
    @media (hover: hover) {
      color: var(--accent);
    }
  }
}
.hover\:underline {
  &:hover {
    @media (hover: hover) {
      text-decoration-line: underline;
    }
  }
}
.hover\:opacity-80 {
  &:hover {
    @media (hover: hover) {
      opacity: 80%;
    }
  }
}
.hover\:opacity-90 {
  &:hover {
    @media (hover: hover) {
      opacity: 90%;
    }
  }
}
.focus-visible\:ring-4 {
  &:focus-visible {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
}
.focus-visible\:outline-1 {
  &:focus-visible {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }
}
.disabled\:pointer-events-none {
  &:disabled {
    pointer-events: none;
  }
}
.disabled\:cursor-not-allowed {
  &:disabled {
    cursor: not-allowed;
  }
}
.disabled\:opacity-50 {
  &:disabled {
    opacity: 50%;
  }
}
.aria-invalid\:focus-visible\:ring-0 {
  &[aria-invalid="true"] {
    &:focus-visible {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
}
.aria-invalid\:focus-visible\:ring-\[3px\] {
  &[aria-invalid="true"] {
    &:focus-visible {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
}
.aria-invalid\:focus-visible\:outline-none {
  &[aria-invalid="true"] {
    &:focus-visible {
      --tw-outline-style: none;
      outline-style: none;
    }
  }
}
.data-\[disabled\]\:pointer-events-none {
  &[data-disabled] {
    pointer-events: none;
  }
}
.data-\[disabled\]\:opacity-50 {
  &[data-disabled] {
    opacity: 50%;
  }
}
.data-\[side\=bottom\]\:slide-in-from-top-2 {
  &[data-side="bottom"] {
    --tw-enter-translate-y: calc(2*var(--spacing)*-1);
  }
}
.data-\[side\=left\]\:slide-in-from-right-2 {
  &[data-side="left"] {
    --tw-enter-translate-x: calc(2*var(--spacing));
  }
}
.data-\[side\=right\]\:slide-in-from-left-2 {
  &[data-side="right"] {
    --tw-enter-translate-x: calc(2*var(--spacing)*-1);
  }
}
.data-\[side\=top\]\:slide-in-from-bottom-2 {
  &[data-side="top"] {
    --tw-enter-translate-y: calc(2*var(--spacing));
  }
}
.\*\:data-\[slot\=select-value\]\:flex {
  :is(& > *) {
    &[data-slot="select-value"] {
      display: flex;
    }
  }
}
.\*\:data-\[slot\=select-value\]\:items-center {
  :is(& > *) {
    &[data-slot="select-value"] {
      align-items: center;
    }
  }
}
.data-\[state\=closed\]\:animate-out {
  &[data-state="closed"] {
    animation: exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none);
  }
}
.data-\[state\=closed\]\:fade-out-0 {
  &[data-state="closed"] {
    --tw-exit-opacity: calc(0/100);
    --tw-exit-opacity: 0;
  }
}
.data-\[state\=closed\]\:zoom-out-95 {
  &[data-state="closed"] {
    --tw-exit-scale: calc(95*1%);
    --tw-exit-scale: .95;
  }
}
.data-\[state\=open\]\:animate-in {
  &[data-state="open"] {
    animation: enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none);
  }
}
.data-\[state\=open\]\:fade-in-0 {
  &[data-state="open"] {
    --tw-enter-opacity: calc(0/100);
    --tw-enter-opacity: 0;
  }
}
.data-\[state\=open\]\:zoom-in-95 {
  &[data-state="open"] {
    --tw-enter-scale: calc(95*1%);
    --tw-enter-scale: .95;
  }
}
.sm\:grid-cols-2 {
  @media (width >= 40rem) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.sm\:grid-cols-8 {
  @media (width >= 40rem) {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
}
.sm\:flex-row {
  @media (width >= 40rem) {
    flex-direction: row;
  }
}
.sm\:items-center {
  @media (width >= 40rem) {
    align-items: center;
  }
}
.sm\:justify-between {
  @media (width >= 40rem) {
    justify-content: space-between;
  }
}
.md\:col-span-2 {
  @media (width >= 48rem) {
    grid-column: span 2 / span 2;
  }
}
.md\:col-start-2 {
  @media (width >= 48rem) {
    grid-column-start: 2;
  }
}
.md\:grid-cols-2 {
  @media (width >= 48rem) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.md\:flex-row {
  @media (width >= 48rem) {
    flex-direction: row;
  }
}
.md\:items-center {
  @media (width >= 48rem) {
    align-items: center;
  }
}
.md\:justify-between {
  @media (width >= 48rem) {
    justify-content: space-between;
  }
}
.md\:justify-center {
  @media (width >= 48rem) {
    justify-content: center;
  }
}
.md\:text-center {
  @media (width >= 48rem) {
    text-align: center;
  }
}
.md\:prose-md {
  @media (width >= 48rem) {
    :where(h1):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      font-size: 3.5rem;
    }
    :where(h2):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      font-size: 1.5rem;
    }
  }
}
.lg\:order-1 {
  @media (width >= 64rem) {
    order: 1;
  }
}
.lg\:order-2 {
  @media (width >= 64rem) {
    order: 2;
  }
}
.lg\:col-span-1 {
  @media (width >= 64rem) {
    grid-column: span 1 / span 1;
  }
}
.lg\:container {
  @media (width >= 64rem) {
    width: 100%;
    @media (width >= 40rem) {
      max-width: 40rem;
    }
    @media (width >= 48rem) {
      max-width: 48rem;
    }
    @media (width >= 64rem) {
      max-width: 64rem;
    }
    @media (width >= 80rem) {
      max-width: 80rem;
    }
    @media (width >= 86rem) {
      max-width: 86rem;
    }
  }
}
.lg\:block {
  @media (width >= 64rem) {
    display: block;
  }
}
.lg\:flex {
  @media (width >= 64rem) {
    display: flex;
  }
}
.lg\:grid {
  @media (width >= 64rem) {
    display: grid;
  }
}
.lg\:hidden {
  @media (width >= 64rem) {
    display: none;
  }
}
.lg\:max-w-\[48rem\] {
  @media (width >= 64rem) {
    max-width: 48rem;
  }
}
.lg\:grid-cols-2 {
  @media (width >= 64rem) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.lg\:grid-cols-3 {
  @media (width >= 64rem) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.lg\:grid-cols-4 {
  @media (width >= 64rem) {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
.lg\:grid-cols-12 {
  @media (width >= 64rem) {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
}
.lg\:grid-cols-\[1fr_48rem_1fr\] {
  @media (width >= 64rem) {
    grid-template-columns: 1fr 48rem 1fr;
  }
}
.lg\:flex-row {
  @media (width >= 64rem) {
    flex-direction: row;
  }
}
.dark\:invert-0 {
  &:is([data-theme='dark'] *) {
    --tw-invert: invert(0%);
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
}
.dark\:prose-invert {
  &:is([data-theme='dark'] *) {
    --tw-prose-body: var(--tw-prose-invert-body);
    --tw-prose-headings: var(--tw-prose-invert-headings);
    --tw-prose-lead: var(--tw-prose-invert-lead);
    --tw-prose-links: var(--tw-prose-invert-links);
    --tw-prose-bold: var(--tw-prose-invert-bold);
    --tw-prose-counters: var(--tw-prose-invert-counters);
    --tw-prose-bullets: var(--tw-prose-invert-bullets);
    --tw-prose-hr: var(--tw-prose-invert-hr);
    --tw-prose-quotes: var(--tw-prose-invert-quotes);
    --tw-prose-quote-borders: var(--tw-prose-invert-quote-borders);
    --tw-prose-captions: var(--tw-prose-invert-captions);
    --tw-prose-kbd: var(--tw-prose-invert-kbd);
    --tw-prose-kbd-shadows: var(--tw-prose-invert-kbd-shadows);
    --tw-prose-code: var(--tw-prose-invert-code);
    --tw-prose-pre-code: var(--tw-prose-invert-pre-code);
    --tw-prose-pre-bg: var(--tw-prose-invert-pre-bg);
    --tw-prose-th-borders: var(--tw-prose-invert-th-borders);
    --tw-prose-td-borders: var(--tw-prose-invert-td-borders);
  }
}
.dark\:aria-invalid\:focus-visible\:ring-4 {
  &:is([data-theme='dark'] *) {
    &[aria-invalid="true"] {
      &:focus-visible {
        --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      }
    }
  }
}
.\[\&_svg\]\:pointer-events-none {
  & svg {
    pointer-events: none;
  }
}
.\[\&_svg\]\:shrink-0 {
  & svg {
    flex-shrink: 0;
  }
}
.\*\:\[span\]\:last\:flex {
  :is(& > *) {
    &:is(span) {
      &:last-child {
        display: flex;
      }
    }
  }
}
.\*\:\[span\]\:last\:items-center {
  :is(& > *) {
    &:is(span) {
      &:last-child {
        align-items: center;
      }
    }
  }
}
.\[\&\>span\]\:line-clamp-1 {
  &>span {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
  }
}
@property --tw-animation-delay {
  syntax: "*";
  inherits: false;
  initial-value: 0s;
}
@property --tw-animation-direction {
  syntax: "*";
  inherits: false;
  initial-value: normal;
}
@property --tw-animation-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-animation-fill-mode {
  syntax: "*";
  inherits: false;
  initial-value: none;
}
@property --tw-animation-iteration-count {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-enter-blur {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-enter-opacity {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-enter-rotate {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-enter-scale {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-enter-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-enter-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-exit-blur {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-exit-opacity {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-exit-rotate {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-exit-scale {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-exit-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-exit-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
:root, :host {
  --breakpoint-sm: 40rem;
  --breakpoint-md: 48rem;
  --breakpoint-lg: 64rem;
  --breakpoint-xl: 80rem;
  --breakpoint-2xl: 86rem;
  --font-mono: var(--font-geist-mono);
  --font-sans: var(--font-geist-sans);
}
@keyframes fade-in-up {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes float-soft {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-4px);
  }
}
@keyframes pulse-soft {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.9;
    transform: scale(1.02);
  }
}
@keyframes shimmer {
  0% {
    background-position: -120% 0;
  }
  100% {
    background-position: 120% 0;
  }
}
@keyframes wiggle {
  0%, 100% {
    transform: rotate(-2deg);
  }
  50% {
    transform: rotate(2deg);
  }
}
@keyframes scale-in {
  from {
    opacity: 0;
    transform: scale(0.96);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes slide-in-bottom {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes cute-float-drift {
  0%, 100% {
    transform: translate(0, 0) rotate(0deg);
    opacity: 0.28;
  }
  33% {
    transform: translate(6px, -10px) rotate(8deg);
    opacity: 0.4;
  }
  66% {
    transform: translate(-5px, 6px) rotate(-6deg);
    opacity: 0.33;
  }
}
@keyframes cute-float-drift-alt {
  0%, 100% {
    transform: translate(0, 0) rotate(0deg);
    opacity: 0.22;
  }
  40% {
    transform: translate(-7px, 6px) rotate(-6deg);
    opacity: 0.35;
  }
  75% {
    transform: translate(5px, -9px) rotate(5deg);
    opacity: 0.27;
  }
}
@keyframes cute-dot-twinkle {
  0%, 100% {
    opacity: 0.28;
    transform: scale(1);
  }
  50% {
    opacity: 0.78;
    transform: scale(1.35);
  }
}
@keyframes cute-blob-pulse {
  0%, 100% {
    transform: scale(1);
    opacity: 0.22;
  }
  50% {
    transform: scale(1.06);
    opacity: 0.32;
  }
}
@keyframes scale-progress {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}
html.blog-skin {
  scroll-behavior: smooth;
  opacity: 0;
  &[data-theme='dark'], &[data-theme='light'] {
    opacity: initial;
  }
  font-size: 16px;
  --hue: 250;
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.5rem;
  --text-3xl: 1.875rem;
  --text-4xl: 2.25rem;
  --radius: 0.5rem;
  --radius-sm: 0.375rem;
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  --shadow-hover: 0 2px 8px rgba(0, 0, 0, 0.08);
  --page-bg-base: oklch(0.98 0.008 var(--hue));
  --card-bg-base: oklch(1 0.004 var(--hue));
  --header-bg-base: oklch(1 0.004 var(--hue));
  --footer-bg-base: oklch(0.96 0.01 var(--hue));
  --page-bg: var(--page-bg-base);
  --card-bg: var(--card-bg-base);
  --header-bg: var(--header-bg-base);
  --footer-bg: var(--footer-bg-base);
  --card-border: oklch(0.92 0.02 var(--hue));
  --text: oklch(0.28 0.02 var(--hue));
  --text-muted: oklch(0.45 0.03 var(--hue));
  --accent: oklch(0.5 0.15 var(--hue));
  --accent-2: oklch(0.55 0.14 calc(var(--hue) + 30));
  --accent-3: oklch(0.55 0.14 calc(var(--hue) + 60));
  --border: oklch(0.92 0.02 var(--hue));
  --banner-from: oklch(0.96 0.012 var(--hue));
  --banner-via: oklch(0.93 0.02 var(--hue));
  --banner-to: oklch(0.88 0.03 var(--hue));
  --banner-bloom-a: oklch(0.94 0.038 calc(var(--hue) + 42));
  --banner-bloom-b: oklch(0.91 0.042 calc(var(--hue) + 195));
  --banner-bloom-c: oklch(0.89 0.034 calc(var(--hue) + 300));
  --card-accent: oklch(0.5 0.15 var(--hue));
  --font-mono: ui-monospace, 'SF Mono', 'Fira Code', 'Cascadia Code', monospace;
  --line-height-body: 1.55;
  --line-height-prose: 1.75;
  --line-height-mono: 1.55;
  --line-height-banner-title: 1.32;
  --stack-gap-terminal: 0.5rem;
  --chroma-prompt: oklch(0.5 0.18 calc(var(--hue) + 145));
  --chroma-info: oklch(0.52 0.17 calc(var(--hue) + 200));
  --chroma-comment: oklch(0.48 0.1 calc(var(--hue) + 90));
  --chroma-flag: oklch(0.48 0.14 calc(var(--hue) + 35));
  --chroma-chevron: oklch(0.5 0.16 calc(var(--hue) + 295));
  --chroma-hash: oklch(0.52 0.17 calc(var(--hue) + 325));
  --chroma-at: oklch(0.5 0.16 calc(var(--hue) + 205));
  --chroma-keyword: oklch(0.48 0.14 calc(var(--hue) + 40));
  --chroma-export-hash: oklch(0.46 0.12 calc(var(--hue) + 275));
  --prose-inline-code-bg: oklch(0.96 0.03 calc(var(--hue) + 55));
  --prose-inline-code-fg: var(--chroma-keyword);
  --prose-inline-code-border: oklch(0.88 0.055 calc(var(--hue) + 35));
  --prose-mark-bg: oklch(0.93 0.075 calc(var(--hue) + 145));
  --prose-mark-fg: oklch(0.3 0.09 calc(var(--hue) + 145));
  --prose-table-th-bg: oklch(0.9 0.04 calc(var(--hue) + 28));
  --prose-pre-border: oklch(0.87 0.05 calc(var(--hue) + 200));
  --prose-hr-gradient: linear-gradient(
    90deg,
    oklch(0.48 0.15 calc(var(--hue) + 0)),
    oklch(0.48 0.15 calc(var(--hue) + 110)),
    oklch(0.48 0.15 calc(var(--hue) + 220))
  );
  --prose-selection-bg: var(--chroma-prompt);
  --prose-selection-fg: var(--card-bg-base);
  &.dark {
    --page-bg-base: oklch(0.18 0.02 var(--hue));
    --card-bg-base: oklch(0.22 0.025 var(--hue));
    --header-bg-base: oklch(0.18 0.02 var(--hue));
    --footer-bg-base: oklch(0.18 0.02 var(--hue));
    --page-bg: var(--page-bg-base);
    --card-bg: var(--card-bg-base);
    --header-bg: var(--header-bg-base);
    --footer-bg: var(--footer-bg-base);
    --card-border: oklch(0.32 0.03 var(--hue));
    --text: oklch(0.95 0.01 var(--hue));
    --text-muted: oklch(0.65 0.03 var(--hue));
    --accent: oklch(0.75 0.15 var(--hue));
    --accent-2: oklch(0.75 0.13 calc(var(--hue) + 30));
    --accent-3: oklch(0.75 0.13 calc(var(--hue) + 60));
    --border: oklch(0.32 0.03 var(--hue));
    --banner-from: oklch(0.22 0.025 var(--hue));
    --banner-via: oklch(0.28 0.03 var(--hue));
    --banner-to: oklch(0.34 0.04 var(--hue));
    --banner-bloom-a: oklch(0.27 0.05 calc(var(--hue) + 42));
    --banner-bloom-b: oklch(0.3 0.055 calc(var(--hue) + 195));
    --banner-bloom-c: oklch(0.33 0.048 calc(var(--hue) + 300));
    --card-accent: oklch(0.75 0.15 var(--hue));
    --shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
    --shadow-hover: 0 2px 8px rgba(0, 0, 0, 0.4);
    --chroma-prompt: oklch(0.72 0.16 calc(var(--hue) + 145));
    --chroma-info: oklch(0.74 0.15 calc(var(--hue) + 200));
    --chroma-comment: oklch(0.7 0.09 calc(var(--hue) + 90));
    --chroma-flag: oklch(0.7 0.13 calc(var(--hue) + 35));
    --chroma-chevron: oklch(0.72 0.14 calc(var(--hue) + 295));
    --chroma-hash: oklch(0.74 0.15 calc(var(--hue) + 325));
    --chroma-at: oklch(0.72 0.14 calc(var(--hue) + 205));
    --chroma-keyword: oklch(0.7 0.13 calc(var(--hue) + 40));
    --chroma-export-hash: oklch(0.68 0.11 calc(var(--hue) + 275));
    --prose-inline-code-bg: oklch(0.3 0.045 calc(var(--hue) + 52));
    --prose-inline-code-fg: oklch(0.82 0.1 calc(var(--hue) + 45));
    --prose-inline-code-border: oklch(0.42 0.06 calc(var(--hue) + 40));
    --prose-mark-bg: oklch(0.34 0.08 calc(var(--hue) + 145));
    --prose-mark-fg: oklch(0.94 0.06 calc(var(--hue) + 145));
    --prose-table-th-bg: oklch(0.32 0.04 calc(var(--hue) + 25));
    --prose-pre-border: oklch(0.4 0.055 calc(var(--hue) + 200));
    --prose-hr-gradient: linear-gradient(
    90deg,
    oklch(0.76 0.12 calc(var(--hue) + 0)),
    oklch(0.76 0.12 calc(var(--hue) + 110)),
    oklch(0.76 0.12 calc(var(--hue) + 220))
  );
    --prose-selection-bg: var(--chroma-prompt);
    --prose-selection-fg: oklch(0.16 0.02 var(--hue));
  }
  --ease-out-soft: cubic-bezier(0.33, 1, 0.68, 1);
  --ease-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
  --duration-fast: 0.2s;
  --duration-normal: 0.35s;
  --duration-slow: 0.5s;
  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
      animation-duration: 0.01ms !important;
      animation-iteration-count: 1 !important;
      transition-duration: 0.01ms !important;
    }
  }
  .animate-in {
    animation: fade-in-up var(--duration-slow) var(--ease-out-soft) both;
  }
  .animate-in-delay-1 {
    animation-delay: 0.05s;
  }
  .animate-in-delay-2 {
    animation-delay: 0.1s;
  }
  .animate-in-delay-3 {
    animation-delay: 0.15s;
  }
  .animate-in-delay-4 {
    animation-delay: 0.2s;
  }
  .animate-in-delay-5 {
    animation-delay: 0.25s;
  }
  .animate-in-delay-6 {
    animation-delay: 0.3s;
  }
  .animate-in-delay-7 {
    animation-delay: 0.35s;
  }
  .animate-in-delay-8 {
    animation-delay: 0.4s;
  }
  .animate-in-delay-9 {
    animation-delay: 0.45s;
  }
  .animate-in-delay-10 {
    animation-delay: 0.5s;
  }
  .animate-float {
    animation: float-soft 3s var(--ease-out-soft) infinite;
  }
  .animate-wiggle:hover {
    animation: wiggle 0.4s var(--ease-bounce);
  }
  .animate-scale-in {
    animation: scale-in var(--duration-normal) var(--ease-out-soft) both;
  }
  .animate-slide-in-bottom {
    animation: slide-in-bottom var(--duration-normal) var(--ease-out-soft) both;
  }
  body {
    font-size: var(--text-base);
    line-height: var(--line-height-body);
    position: relative;
    min-height: 100vh;
    background: var(--page-bg);
    color: var(--text);
    font-family: system-ui, -apple-system, 'Segoe UI', 'Hiragino Sans', 'PingFang SC', sans-serif;
  }
  body {
    --page-bg: var(--page-bg-base);
    @supports (color: color-mix(in lab, red, red)) {
      --page-bg: color-mix(in oklch, var(--page-bg-base) 88%, transparent);
    }
    --card-bg: var(--card-bg-base);
    @supports (color: color-mix(in lab, red, red)) {
      --card-bg: color-mix(in oklch, var(--card-bg-base) 76%, transparent);
    }
    --header-bg: var(--header-bg-base);
    @supports (color: color-mix(in lab, red, red)) {
      --header-bg: color-mix(in oklch, var(--header-bg-base) 72%, transparent);
    }
    --footer-bg: var(--footer-bg-base);
    @supports (color: color-mix(in lab, red, red)) {
      --footer-bg: color-mix(in oklch, var(--footer-bg-base) 78%, transparent);
    }
    background: transparent;
  }
  &.dark body {
    --page-bg: var(--page-bg-base);
    @supports (color: color-mix(in lab, red, red)) {
      --page-bg: color-mix(in oklch, var(--page-bg-base) 86%, transparent);
    }
    --card-bg: var(--card-bg-base);
    @supports (color: color-mix(in lab, red, red)) {
      --card-bg: color-mix(in oklch, var(--card-bg-base) 74%, transparent);
    }
    --header-bg: var(--header-bg-base);
    @supports (color: color-mix(in lab, red, red)) {
      --header-bg: color-mix(in oklch, var(--header-bg-base) 70%, transparent);
    }
    --footer-bg: var(--footer-bg-base);
    @supports (color: color-mix(in lab, red, red)) {
      --footer-bg: color-mix(in oklch, var(--footer-bg-base) 76%, transparent);
    }
  }
  body::before {
    content: '';
    position: fixed;
    inset: 0;
    z-index: -2;
    background: url('/images/anime-bg.jpg') center center / cover no-repeat;
  }
  .blog-bg-comic-bottom {
    position: fixed;
    inset: 0;
    z-index: -2;
    pointer-events: none;
    background: url('/images/comic/12.jpg') center center / cover no-repeat;
    opacity: 0.18;
  }
  body::after {
    content: '';
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: var(--page-bg-base);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in oklch, var(--page-bg-base) 76%, transparent);
    }
  }
  &.dark body::after {
    background: var(--page-bg-base);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in oklch, var(--page-bg-base) 86%, transparent);
    }
  }
  .sym {
    font-family: inherit;
    font-weight: 600;
    font-size: 1em;
    line-height: inherit;
    letter-spacing: normal;
    vertical-align: baseline;
  }
  .sym-prompt {
    color: var(--chroma-prompt);
  }
  .sym-info {
    color: var(--chroma-info);
    font-weight: 600;
  }
  .sym-comment {
    color: var(--chroma-comment);
    font-weight: 500;
  }
  .sym-flag {
    color: var(--chroma-flag);
    font-weight: 500;
  }
  .sym-chevron {
    color: var(--chroma-chevron);
  }
  .sym-hash {
    color: var(--chroma-hash);
  }
  .sym-at {
    color: var(--chroma-at);
  }
  .sym-keyword {
    color: var(--chroma-keyword);
    font-weight: 600;
  }
  .sym-export-hash {
    color: var(--chroma-export-hash);
    font-weight: 600;
  }
  .chroma-tag--0 {
    color: oklch(0.48 0.15 calc(var(--hue) + 0));
    border-color: oklch(0.58 0.1 calc(var(--hue) + 0));
  }
  .chroma-tag--1 {
    color: oklch(0.48 0.15 calc(var(--hue) + 55));
    border-color: oklch(0.58 0.1 calc(var(--hue) + 55));
  }
  .chroma-tag--2 {
    color: oklch(0.48 0.15 calc(var(--hue) + 110));
    border-color: oklch(0.58 0.1 calc(var(--hue) + 110));
  }
  .chroma-tag--3 {
    color: oklch(0.48 0.15 calc(var(--hue) + 165));
    border-color: oklch(0.58 0.1 calc(var(--hue) + 165));
  }
  .chroma-tag--4 {
    color: oklch(0.48 0.15 calc(var(--hue) + 220));
    border-color: oklch(0.58 0.1 calc(var(--hue) + 220));
  }
  .chroma-tag--5 {
    color: oklch(0.48 0.15 calc(var(--hue) + 275));
    border-color: oklch(0.58 0.1 calc(var(--hue) + 275));
  }
  &.dark .chroma-tag--0 {
    color: oklch(0.76 0.12 calc(var(--hue) + 0));
    border-color: oklch(0.45 0.08 calc(var(--hue) + 0));
  }
  &.dark .chroma-tag--1 {
    color: oklch(0.76 0.12 calc(var(--hue) + 55));
    border-color: oklch(0.45 0.08 calc(var(--hue) + 55));
  }
  &.dark .chroma-tag--2 {
    color: oklch(0.76 0.12 calc(var(--hue) + 110));
    border-color: oklch(0.45 0.08 calc(var(--hue) + 110));
  }
  &.dark .chroma-tag--3 {
    color: oklch(0.76 0.12 calc(var(--hue) + 165));
    border-color: oklch(0.45 0.08 calc(var(--hue) + 165));
  }
  &.dark .chroma-tag--4 {
    color: oklch(0.76 0.12 calc(var(--hue) + 220));
    border-color: oklch(0.45 0.08 calc(var(--hue) + 220));
  }
  &.dark .chroma-tag--5 {
    color: oklch(0.76 0.12 calc(var(--hue) + 275));
    border-color: oklch(0.45 0.08 calc(var(--hue) + 275));
  }
  .post-card-meta-line .chroma-tag {
    border: none;
    padding: 0;
    margin-right: 0.45em;
  }
  .post-card-meta-line .chroma-tag:last-of-type {
    margin-right: 0;
  }
  .sidebar-category-count {
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    min-width: 1.35em;
    text-align: right;
  }
  .sidebar-tag-pill {
    border: 1px solid var(--card-border);
    border-radius: var(--radius-sm);
    line-height: var(--line-height-mono);
    transition: border-color var(--duration-fast), background var(--duration-fast), color var(--duration-fast);
  }
  .sidebar-tag-pill:hover {
    border-color: var(--accent);
    background: var(--page-bg);
  }
  .prose, .markdown-body {
    font-size: var(--text-sm);
    color: var(--text);
    --tw-prose-body: var(--text-muted);
    --tw-prose-headings: var(--text);
    --tw-prose-links: var(--chroma-info);
    --tw-prose-code: var(--chroma-keyword);
    --tw-prose-pre-bg: var(--card-bg);
    line-height: var(--line-height-prose);
  }
  .prose p, .markdown-body p {
    font-size: var(--text-sm);
    margin-top: 0.75em;
    margin-bottom: 0.75em;
  }
  .prose p:first-of-type, .markdown-body p:first-of-type {
    margin-top: 0;
  }
  .prose h1, .markdown-body h1 {
    font-size: var(--text-xl);
    margin-top: 0;
    margin-bottom: 0.5em;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--chroma-hash);
  }
  .prose h1::before, .markdown-body h1::before {
    content: 'H1';
    font-family: var(--font-mono);
    font-weight: 600;
    font-size: 0.65em;
    letter-spacing: 0.02em;
    color: var(--chroma-hash);
    opacity: 0.9;
    margin-right: 0.45em;
    vertical-align: 0.18em;
  }
  .prose h2, .markdown-body h2 {
    font-size: var(--text-lg);
    margin-top: 1.75em;
    margin-bottom: 0.5em;
    padding-bottom: 0.35em;
    border-bottom: 2px solid var(--chroma-keyword);
    font-weight: 600;
    color: var(--text);
  }
  .prose h2::before, .markdown-body h2::before {
    content: 'H2';
    font-family: var(--font-mono);
    font-weight: 600;
    font-size: 0.65em;
    letter-spacing: 0.02em;
    color: var(--chroma-keyword);
    opacity: 0.9;
    margin-right: 0.45em;
    vertical-align: 0.18em;
  }
  .prose h3, .markdown-body h3 {
    font-size: var(--text-base);
    margin-top: 1.35em;
    margin-bottom: 0.4em;
    font-weight: 600;
    color: var(--chroma-info);
  }
  .prose h3::before, .markdown-body h3::before {
    content: 'H3';
    font-family: var(--font-mono);
    font-weight: 600;
    font-size: 0.65em;
    letter-spacing: 0.02em;
    color: var(--chroma-info);
    opacity: 0.9;
    margin-right: 0.45em;
    vertical-align: 0.18em;
  }
  .prose h4, .markdown-body h4 {
    font-size: var(--text-base);
    margin-top: 1.15em;
    margin-bottom: 0.35em;
    font-weight: 600;
    color: var(--chroma-flag);
  }
  .prose h4::before, .markdown-body h4::before {
    content: 'H4';
    font-family: var(--font-mono);
    font-weight: 600;
    font-size: 0.65em;
    letter-spacing: 0.02em;
    color: var(--chroma-flag);
    opacity: 0.9;
    margin-right: 0.45em;
    vertical-align: 0.18em;
  }
  .prose h5, .markdown-body h5 {
    font-size: var(--text-sm);
    margin-top: 1em;
    margin-bottom: 0.3em;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--chroma-comment);
  }
  .prose h5::before, .markdown-body h5::before {
    content: 'H5';
    font-family: var(--font-mono);
    font-weight: 600;
    font-size: 0.65em;
    letter-spacing: 0.02em;
    text-transform: none;
    color: var(--chroma-comment);
    opacity: 0.9;
    margin-right: 0.45em;
    vertical-align: 0.18em;
  }
  .prose h6, .markdown-body h6 {
    font-size: var(--text-sm);
    margin-top: 0.9em;
    margin-bottom: 0.25em;
    font-weight: 600;
    color: var(--chroma-at);
  }
  .prose h6::before, .markdown-body h6::before {
    content: 'H6';
    font-family: var(--font-mono);
    font-weight: 600;
    font-size: 0.65em;
    letter-spacing: 0.02em;
    color: var(--chroma-at);
    opacity: 0.9;
    margin-right: 0.45em;
    vertical-align: 0.18em;
  }
  .prose h2:first-child, .prose h3:first-child, .prose h4:first-child, .markdown-body h2:first-child, .markdown-body h3:first-child, .markdown-body h4:first-child {
    margin-top: 0;
  }
  .prose strong, .markdown-body strong {
    font-weight: 600;
    color: var(--chroma-keyword);
  }
  .prose em, .markdown-body em {
    font-style: italic;
  }
  .prose del, .markdown-body del {
    text-decoration: line-through;
    color: var(--text-muted);
    opacity: 0.9;
  }
  .prose mark, .markdown-body mark {
    background: var(--prose-mark-bg);
    color: var(--prose-mark-fg);
    padding: 0.1em 0.25em;
    border-radius: 0.2em;
  }
  .prose kbd, .markdown-body kbd {
    font-family: ui-monospace, monospace;
    font-size: var(--text-sm);
    padding: 0.2em 0.45em;
    border-radius: 0.35rem;
    border: 1px solid var(--prose-inline-code-border);
    background: var(--prose-inline-code-bg);
    color: var(--chroma-chevron);
    box-shadow: 0 1px 0 var(--card-border);
  }
  .prose abbr[title], .markdown-body abbr[title] {
    text-decoration: underline dotted;
    cursor: help;
  }
  .prose sub, .markdown-body sub, .prose sup, .markdown-body sup {
    font-size: var(--text-xs);
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  .prose sup {
    top: -0.4em;
  }
  .prose sub {
    bottom: -0.2em;
  }
  .prose a, .markdown-body a {
    font-weight: 500;
    color: var(--chroma-info);
    text-decoration: none;
    background: linear-gradient(var(--chroma-info), var(--chroma-info)) no-repeat 0 100% / 0 2px;
    transition: background-size var(--duration-normal) var(--ease-out-soft), opacity var(--duration-fast);
  }
  .prose a:hover, .markdown-body a:hover {
    background-size: 100% 2px;
    opacity: 0.9;
  }
  .prose blockquote, .markdown-body blockquote {
    padding: 0.75em 1em 0.75em 1.5rem;
    margin: 1.25em 0;
    background: var(--card-bg);
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
    color: var(--text-muted);
    font-style: italic;
  }
  .prose blockquote p:last-child, .markdown-body blockquote p:last-child {
    margin-bottom: 0;
  }
  .prose blockquote cite, .markdown-body blockquote cite {
    display: block;
    margin-top: 0.5em;
    font-size: var(--text-sm);
    font-style: normal;
    color: var(--text-muted);
    opacity: 0.9;
  }
  .prose hr, .markdown-body hr {
    border: none;
    height: 2px;
    margin: 2em 0;
    background: var(--prose-hr-gradient);
    border-radius: 1px;
  }
  .prose ul, .prose ol, .markdown-body ul, .markdown-body ol {
    padding-left: 1.6em;
    margin: 0.75em 0;
  }
  .prose li, .markdown-body li {
    margin: 0.25em 0;
  }
  .prose ul ul, .prose ol ul, .prose ul ol, .prose ol ol, .markdown-body ul ul, .markdown-body ol ul, .markdown-body ul ol, .markdown-body ol ol {
    margin: 0.2em 0;
    padding-left: 1.4em;
  }
  .prose ul li:nth-child(6n + 1)::marker, .prose ol li:nth-child(6n + 1)::marker, .markdown-body ul li:nth-child(6n + 1)::marker, .markdown-body ol li:nth-child(6n + 1)::marker {
    color: oklch(0.48 0.15 calc(var(--hue) + 0));
    font-weight: 600;
  }
  .prose ul li:nth-child(6n + 2)::marker, .prose ol li:nth-child(6n + 2)::marker, .markdown-body ul li:nth-child(6n + 2)::marker, .markdown-body ol li:nth-child(6n + 2)::marker {
    color: oklch(0.48 0.15 calc(var(--hue) + 55));
    font-weight: 600;
  }
  .prose ul li:nth-child(6n + 3)::marker, .prose ol li:nth-child(6n + 3)::marker, .markdown-body ul li:nth-child(6n + 3)::marker, .markdown-body ol li:nth-child(6n + 3)::marker {
    color: oklch(0.48 0.15 calc(var(--hue) + 110));
    font-weight: 600;
  }
  .prose ul li:nth-child(6n + 4)::marker, .prose ol li:nth-child(6n + 4)::marker, .markdown-body ul li:nth-child(6n + 4)::marker, .markdown-body ol li:nth-child(6n + 4)::marker {
    color: oklch(0.48 0.15 calc(var(--hue) + 165));
    font-weight: 600;
  }
  .prose ul li:nth-child(6n + 5)::marker, .prose ol li:nth-child(6n + 5)::marker, .markdown-body ul li:nth-child(6n + 5)::marker, .markdown-body ol li:nth-child(6n + 5)::marker {
    color: oklch(0.48 0.15 calc(var(--hue) + 220));
    font-weight: 600;
  }
  .prose ul li:nth-child(6n + 6)::marker, .prose ol li:nth-child(6n + 6)::marker, .markdown-body ul li:nth-child(6n + 6)::marker, .markdown-body ol li:nth-child(6n + 6)::marker {
    color: oklch(0.48 0.15 calc(var(--hue) + 275));
    font-weight: 600;
  }
  &.dark .prose ul li:nth-child(6n + 1)::marker, &.dark .prose ol li:nth-child(6n + 1)::marker, &.dark .markdown-body ul li:nth-child(6n + 1)::marker, &.dark .markdown-body ol li:nth-child(6n + 1)::marker {
    color: oklch(0.76 0.12 calc(var(--hue) + 0));
  }
  &.dark .prose ul li:nth-child(6n + 2)::marker, &.dark .prose ol li:nth-child(6n + 2)::marker, &.dark .markdown-body ul li:nth-child(6n + 2)::marker, &.dark .markdown-body ol li:nth-child(6n + 2)::marker {
    color: oklch(0.76 0.12 calc(var(--hue) + 55));
  }
  &.dark .prose ul li:nth-child(6n + 3)::marker, &.dark .prose ol li:nth-child(6n + 3)::marker, &.dark .markdown-body ul li:nth-child(6n + 3)::marker, &.dark .markdown-body ol li:nth-child(6n + 3)::marker {
    color: oklch(0.76 0.12 calc(var(--hue) + 110));
  }
  &.dark .prose ul li:nth-child(6n + 4)::marker, &.dark .prose ol li:nth-child(6n + 4)::marker, &.dark .markdown-body ul li:nth-child(6n + 4)::marker, &.dark .markdown-body ol li:nth-child(6n + 4)::marker {
    color: oklch(0.76 0.12 calc(var(--hue) + 165));
  }
  &.dark .prose ul li:nth-child(6n + 5)::marker, &.dark .prose ol li:nth-child(6n + 5)::marker, &.dark .markdown-body ul li:nth-child(6n + 5)::marker, &.dark .markdown-body ol li:nth-child(6n + 5)::marker {
    color: oklch(0.76 0.12 calc(var(--hue) + 220));
  }
  &.dark .prose ul li:nth-child(6n + 6)::marker, &.dark .prose ol li:nth-child(6n + 6)::marker, &.dark .markdown-body ul li:nth-child(6n + 6)::marker, &.dark .markdown-body ol li:nth-child(6n + 6)::marker {
    color: oklch(0.76 0.12 calc(var(--hue) + 275));
  }
  .prose ul:has(input), .markdown-body ul:has(input) {
    list-style: none;
    padding-left: 0;
  }
  .prose li:has(> input[type="checkbox"]), .markdown-body li:has(> input[type="checkbox"]) {
    list-style: none;
    margin-left: 0;
    padding-left: 1.6em;
  }
  .prose input[type="checkbox"], .markdown-body input[type="checkbox"] {
    margin-right: 0.5em;
    accent-color: var(--accent);
    vertical-align: middle;
  }
  .prose input[type="checkbox"]:checked + *, .markdown-body input[type="checkbox"]:checked + * {
    text-decoration: line-through;
    color: var(--text-muted);
  }
  .prose dl, .markdown-body dl {
    margin: 1em 0;
  }
  .prose dt, .markdown-body dt {
    font-weight: 600;
    color: var(--chroma-keyword);
    margin-top: 0.75em;
  }
  .prose dt:first-child, .markdown-body dt:first-child {
    margin-top: 0;
  }
  .prose dd, .markdown-body dd {
    margin-left: 1.5em;
    margin-top: 0.25em;
    color: var(--text-muted);
    padding-left: 0.5em;
    border-left: 2px solid var(--chroma-prompt);
  }
  .prose details, .markdown-body details {
    margin: 1em 0;
    border: 1px solid var(--card-border);
    border-radius: 0.5rem;
    overflow: hidden;
    background: var(--card-bg);
  }
  .prose summary, .markdown-body summary {
    padding: 0.65em 1em;
    font-weight: 600;
    cursor: pointer;
    color: var(--text);
    user-select: none;
  }
  .prose summary:hover, .markdown-body summary:hover {
    color: var(--chroma-info);
  }
  .prose details[open] summary, .markdown-body details[open] summary {
    border-bottom: 1px solid var(--card-border);
  }
  .prose details > *:not(summary), .markdown-body details > *:not(summary) {
    padding: 0 1em 0.75em;
  }
  .prose table, .markdown-body table {
    display: block;
    overflow-x: auto;
    margin: 1em 0;
    border-collapse: collapse;
    width: 100%;
    border-radius: 0.5rem;
    border: 1px solid var(--card-border);
  }
  .prose th, .prose td, .markdown-body th, .markdown-body td {
    border: 1px solid var(--card-border);
    padding: 0.55em 0.85em;
    text-align: left;
  }
  .prose th[align="center"], .prose td[align="center"], .markdown-body th[align="center"], .markdown-body td[align="center"] {
    text-align: center;
  }
  .prose th[align="right"], .prose td[align="right"], .markdown-body th[align="right"], .markdown-body td[align="right"] {
    text-align: right;
  }
  .prose th, .markdown-body th {
    background: var(--prose-table-th-bg);
    font-weight: 600;
    color: var(--text);
  }
  .prose tr:nth-child(even) td, .markdown-body tr:nth-child(even) td {
    background: var(--card-bg);
  }
  .prose pre, .markdown-body pre {
    border-radius: 0.5rem;
    padding: 1rem 1.25rem;
    border: 1px solid var(--prose-pre-border);
    overflow-x: auto;
    font-size: var(--text-sm);
    line-height: var(--line-height-mono);
    margin: 1em 0;
    background: var(--card-bg);
  }
  .prose pre::-webkit-scrollbar, .markdown-body pre::-webkit-scrollbar {
    height: 6px;
  }
  .prose pre::-webkit-scrollbar-track, .markdown-body pre::-webkit-scrollbar-track {
    background: var(--card-border);
    border-radius: 3px;
  }
  .prose pre::-webkit-scrollbar-thumb, .markdown-body pre::-webkit-scrollbar-thumb {
    background: var(--text-muted);
    border-radius: 3px;
  }
  .prose pre.astro-code, .markdown-body pre.astro-code {
    padding: 1.25rem 1.5rem 1.25rem 0;
    overflow-x: auto;
    counter-reset: code-line;
  }
  .prose pre.astro-code code, .markdown-body pre.astro-code code {
    padding: 0;
    background: transparent;
    font-size: inherit;
    white-space: pre;
  }
  .prose pre.astro-code .line, .markdown-body pre.astro-code .line {
    display: block;
    white-space: pre;
    min-height: 1.5em;
    padding-left: 3.5rem;
  }
  .prose pre.astro-code .line::before, .markdown-body pre.astro-code .line::before {
    counter-increment: code-line;
    content: counter(code-line);
    position: sticky;
    left: 0;
    display: inline-block;
    width: 2.5em;
    margin-left: -3.5rem;
    padding-right: 1rem;
    margin-right: 0.5rem;
    text-align: right;
    color: var(--text-muted);
    font-variant-numeric: tabular-nums;
    user-select: none;
    z-index: 1;
    background: var(--card-bg);
    box-shadow: 6px 0 6px -2px var(--card-bg);
    border-right: 1px solid var(--card-border);
  }
  &.dark .astro-code .line::before, &.dark .astro-code span.line::before {
    background: var(--card-bg) !important;
    box-shadow: 4px 0 4px -2px var(--card-bg);
    border-right-color: var(--card-border);
    color: var(--text-muted);
  }
  &.dark .astro-code, &.dark .astro-code span {
    color: var(--shiki-dark) !important;
    background-color: var(--card-bg) !important;
    font-style: var(--shiki-dark-font-style) !important;
    font-weight: var(--shiki-dark-font-weight) !important;
    text-decoration: var(--shiki-dark-text-decoration) !important;
  }
  .prose :where(code):not(:where([class~="not-prose"] *)):not(pre code), .markdown-body :where(code):not(pre code) {
    padding: 0.22em 0.45em;
    border-radius: 0.3rem;
    font-size: var(--text-sm);
    font-family: ui-monospace, monospace;
    background: var(--prose-inline-code-bg);
    color: var(--prose-inline-code-fg);
    border: 1px solid var(--prose-inline-code-border);
  }
  .prose :where(pre) code, .markdown-body pre code {
    padding: 0;
    background: transparent;
  }
  .prose img, .markdown-body img {
    border-radius: 0.5rem;
    max-width: 100%;
    height: auto;
    display: block;
    margin: 1em 0;
    border: 1px solid var(--card-border);
  }
  .prose figure, .markdown-body figure {
    margin: 1.25em 0;
  }
  .prose figure img, .markdown-body figure img {
    margin-bottom: 0.5em;
  }
  .prose figcaption, .markdown-body figcaption {
    font-size: var(--text-sm);
    color: var(--chroma-comment);
    text-align: center;
    margin-top: 0.35em;
  }
  .prose video, .markdown-body video {
    max-width: 100%;
    border-radius: 0.5rem;
    border: 1px solid var(--card-border);
    margin: 1em 0;
  }
  .prose iframe, .markdown-body iframe {
    max-width: 100%;
    border-radius: 0.5rem;
    border: 1px solid var(--card-border);
    margin: 1em 0;
  }
  .prose .footnotes, .markdown-body .footnotes {
    margin-top: 2em;
    padding-top: 1em;
    border-top: 1px solid var(--card-border);
    font-size: var(--text-sm);
    color: var(--text-muted);
  }
  .prose .footnotes ol, .markdown-body .footnotes ol {
    padding-left: 1.5em;
  }
  .prose .footnotes li, .markdown-body .footnotes li {
    margin: 0.35em 0;
  }
  .prose .footnote-ref, .markdown-body .footnote-ref {
    font-weight: 600;
    color: var(--chroma-info);
    text-decoration: none;
  }
  .prose .footnote-backref, .markdown-body .footnote-backref {
    margin-left: 0.25em;
    color: var(--chroma-prompt);
  }
  .prose [role="heading"]:focus-visible, .markdown-body [id]:focus-visible {
    outline: 2px solid var(--chroma-keyword);
    outline-offset: 2px;
  }
  .prose ::selection, .markdown-body ::selection {
    background: var(--prose-selection-bg);
    color: var(--prose-selection-fg);
  }
  .section-card {
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    transition: border-color var(--duration-fast), box-shadow var(--duration-normal), transform var(--duration-normal) var(--ease-out-soft);
  }
  .section-card:hover {
    border-color: var(--accent);
    box-shadow: var(--shadow-hover);
    transform: translateY(-2px);
  }
  .math-pixi-shell:fullscreen {
    width: 100vw !important;
    height: 100vh !important;
    max-width: none !important;
    border-radius: 0;
    display: flex;
    flex-direction: column;
    transform: none !important;
  }
  .math-pixi-shell:fullscreen:hover {
    transform: none !important;
  }
  .math-pixi-shell:fullscreen .math-pixi-canvas-host {
    flex: 1 1 0;
    min-height: 0;
    width: 100%;
  }
  .math-pixi-canvas-host {
    width: 100%;
    max-width: 440px;
    margin-left: auto;
    margin-right: auto;
    min-height: 520px;
  }
  .section-title {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.35rem 0.75rem;
    border-radius: var(--radius-sm);
    font-weight: 600;
    font-size: var(--text-sm);
    line-height: var(--line-height-mono);
    font-family: var(--font-mono);
    background: linear-gradient( 155deg, var(--card-bg) 0%, oklch(0.97 0.025 calc(var(--hue) + 32)) 55%, oklch(0.955 0.028 calc(var(--hue) + 58)) 100% );
    border: 1px solid oklch(0.86 0.055 calc(var(--hue) + 8));
    color: var(--accent);
    margin-bottom: 1rem;
    box-shadow: inset 0 1px 0 oklch(0.98 0.02 calc(var(--hue) + 28));
  }
  &.dark .section-title {
    background: linear-gradient( 155deg, var(--card-bg) 0%, oklch(0.26 0.04 calc(var(--hue) + 32)) 55%, oklch(0.28 0.042 calc(var(--hue) + 58)) 100% );
    border-color: oklch(0.38 0.045 calc(var(--hue) + 8));
    box-shadow: inset 0 1px 0 oklch(0.32 0.035 calc(var(--hue) + 28));
  }
  .section-title .section-prompt {
    color: var(--chroma-prompt);
    margin-right: 0.25rem;
  }
  .section-title .sym-keyword {
    color: var(--chroma-keyword);
  }
  .terminal-list-sidebar {
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    line-height: var(--line-height-mono);
    border: 1px solid var(--card-border);
    border-radius: var(--radius);
    background: var(--card-bg);
    overflow: hidden;
  }
  .terminal-list-sidebar li {
    border-bottom: 1px solid var(--card-border);
  }
  .terminal-list-sidebar li:last-child {
    border-bottom: none;
  }
  .terminal-list-sidebar a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.4rem 0.6rem;
    color: var(--text);
    transition: background 0.15s, color 0.15s;
  }
  .terminal-list-sidebar a:hover {
    background: var(--page-bg);
    color: var(--accent);
  }
  .terminal-list-sidebar .line-prompt {
    color: var(--chroma-prompt);
    margin-right: 0.35rem;
    line-height: inherit;
    font-weight: 600;
    vertical-align: baseline;
  }
  .doc-detail-toc {
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    line-height: var(--line-height-mono);
    border: 1px solid var(--card-border);
    border-radius: var(--radius);
    background: var(--card-bg);
    overflow: hidden;
  }
  .doc-detail-toc-title {
    padding: 0.4rem 0.6rem;
    border-bottom: 1px solid var(--card-border);
    color: var(--text-muted);
    font-weight: 600;
  }
  .doc-detail-toc ul {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .doc-detail-toc li {
    border-bottom: 1px solid var(--card-border);
  }
  .doc-detail-toc li:last-child {
    border-bottom: none;
  }
  .doc-detail-toc a {
    display: block;
    padding: 0.35rem 0.6rem;
    color: var(--text-muted);
    text-decoration: none;
    transition: background 0.15s, color 0.15s;
  }
  .doc-detail-toc a:hover {
    background: var(--page-bg);
    color: var(--accent);
  }
  .doc-detail-toc .toc-depth-3 {
    padding-left: 1rem;
    font-size: 0.9em;
  }
  .doc-detail-toc-animated .doc-detail-toc-item {
    animation: fade-in-up 0.35s var(--ease-out-soft) both;
  }
  .doc-detail-header-export {
    color: var(--text-muted);
    font-size: var(--text-xs);
    line-height: var(--line-height-mono);
    margin-bottom: 0.2rem;
  }
  .doc-detail-header-export .export-name {
    color: var(--accent);
  }
  .doc-detail-meta {
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    line-height: var(--line-height-mono);
    color: var(--text-muted);
    border-top: 1px solid var(--card-border);
    padding-top: 0.5rem;
    margin-top: 0.5rem;
    margin-bottom: 0;
  }
  .doc-detail-meta-label {
    margin-right: 0.25em;
    font-weight: 600;
  }
  .doc-detail-meta-label[aria-label='日期'] {
    color: var(--chroma-at);
  }
  .doc-detail-meta-label[aria-label='分类'] {
    color: var(--chroma-chevron);
  }
  .doc-detail-meta-label[aria-label='标签'] {
    color: var(--chroma-hash);
  }
  .doc-detail-meta-tag {
    display: inline-block;
    padding: 0.1em 0.35em;
    border-radius: var(--radius-sm);
    background: transparent;
    border: 1px solid var(--card-border);
    font-size: 0.85em;
  }
  .intro-bubble .doc-detail-meta {
    padding: 0;
    border: none;
    background: transparent;
    border-radius: 0;
    border-top: 1px solid var(--card-border);
    padding-top: 0.6rem;
    margin-top: 0.6rem;
  }
  .intro-bubble .doc-detail-meta-tag {
    background: transparent;
    padding: 0.1em 0.35em;
    font-size: 0.85em;
  }
  .doc-detail-body {
    border-left: 1px solid var(--card-border);
    padding-left: 1.25rem;
  }
  .doc-detail-body .prose, .doc-detail-body .markdown-body {
    font-size: var(--text-base);
    line-height: 1.82;
  }
  .doc-detail-body .prose p, .doc-detail-body .markdown-body p {
    margin-top: 0.9em;
    margin-bottom: 0.9em;
  }
  @media (max-width: 1023px) {
    .doc-detail-body {
      border-left: none;
      padding-left: 0;
    }
  }
  .intro-bubble {
    position: relative;
    overflow: hidden;
    padding: 0.85rem 1.1rem;
    border-radius: var(--radius);
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    font-family: var(--font-mono);
    font-size: var(--text-sm);
    line-height: var(--line-height-mono);
    margin-bottom: 1.5rem;
  }
  .intro-bubble > p + p {
    margin-top: var(--stack-gap-terminal);
  }
  .intro-bubble::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--chroma-prompt), var(--chroma-info) 40%, var(--chroma-hash) 78%, var(--accent-3));
    opacity: 0.9;
  }
  .error-page {
    margin-left: auto;
    margin-right: auto;
  }
  .error-page-intro {
    padding: 0.85rem 1.1rem;
    border-radius: var(--radius);
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    font-family: var(--font-mono);
    font-size: var(--text-sm);
    line-height: var(--line-height-mono);
    margin-bottom: 1.5rem;
  }
  .error-page-intro > p + p {
    margin-top: var(--stack-gap-terminal);
  }
  .error-page-intro .code-label {
    margin-bottom: 0.35rem;
  }
  .error-page-intro p:last-child {
    font-size: var(--text-xs);
    color: var(--text-muted);
    margin: 0;
  }
  .error-page-title {
    font-family: var(--font-mono);
    font-size: 1.35rem;
    font-weight: 600;
    color: var(--accent);
    margin: 0 0 0.35rem 0;
    letter-spacing: 0.02em;
  }
  .error-page-desc {
    font-family: var(--font-mono);
    font-size: var(--text-sm);
    color: var(--text-muted);
    margin: 0 0 1.25rem 0;
    line-height: var(--line-height-mono);
  }
  .error-page-desc + .error-page-desc {
    margin-top: -0.75rem;
  }
  .error-page-nav {
    padding: 1rem 1.15rem;
    border-radius: var(--radius);
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    font-family: var(--font-mono);
    font-size: var(--text-sm);
    line-height: var(--line-height-mono);
    margin-bottom: 1.5rem;
  }
  .error-page-nav .code-label {
    margin-bottom: 0.5rem;
  }
  .error-page-nav-caption {
    font-size: var(--text-xs);
    color: var(--text-muted);
    margin: 0 0 0.6rem 0;
  }
  .error-page-nav-list {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .error-page-nav-list li {
    padding: 0.35rem 0;
    border-bottom: 1px solid var(--card-border);
  }
  .error-page-nav-list li:last-child {
    border-bottom: none;
  }
  .error-page-nav-list a {
    color: var(--accent);
    text-decoration: none;
    transition: opacity 0.15s;
  }
  .error-page-nav-list a:hover {
    opacity: 0.85;
  }
  .error-page-back {
    font-family: var(--font-mono);
    font-size: var(--text-sm);
  }
  .error-page-back a {
    color: var(--accent);
    text-decoration: none;
    transition: opacity 0.15s;
  }
  .error-page-back a:hover {
    opacity: 0.85;
  }
  .comment-block {
    margin-top: 2rem;
    padding: 1rem 1.25rem;
    border: 1px solid var(--card-border);
    border-radius: var(--radius);
    background: var(--card-bg);
    font-family: var(--font-mono);
    font-size: var(--text-sm);
    line-height: var(--line-height-mono);
  }
  .comment-block-title {
    display: flex;
    align-items: baseline;
    gap: 0.35em;
    flex-wrap: wrap;
    color: var(--text-muted);
    font-size: var(--text-xs);
    margin-bottom: 0.75rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--card-border);
  }
  .comment-list {
    list-style: none;
    padding: 0;
    margin: 0 0 1rem 0;
  }
  .comment-item {
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--card-border);
  }
  .comment-item:last-child {
    border-bottom: none;
  }
  .comment-item-meta {
    color: var(--text-muted);
    font-size: var(--text-xs);
    margin-bottom: 0.25rem;
  }
  .comment-symbol {
    color: var(--accent);
  }
  .comment-email {
    opacity: 0.8;
  }
  .comment-sep {
    margin: 0 0.35em;
    opacity: 0.7;
  }
  .comment-date {
    opacity: 0.9;
  }
  .comment-item-content {
    color: var(--text);
    line-height: var(--line-height-body);
    white-space: pre-wrap;
    word-break: break-word;
  }
  .comment-thread {
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--card-border);
  }
  .comment-thread:last-child {
    border-bottom: none;
  }
  .comment-replies {
    list-style: none;
    padding: 0 0 0 1rem;
    margin: 0.5rem 0 0 0;
    border-left: 2px solid var(--card-border);
  }
  .comment-item-reply {
    padding-top: 0.5rem;
    padding-left: 0.5rem;
  }
  .comment-reply-btn {
    margin-left: 0.5rem;
    padding: 0;
    border: none;
    background: none;
    color: var(--accent);
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    cursor: pointer;
    opacity: 0.9;
  }
  .comment-reply-btn:hover {
    text-decoration: underline;
  }
  .comment-reply-to {
    color: var(--text-muted);
    font-size: 0.9em;
  }
  .comment-pending {
    color: var(--accent);
    font-size: var(--text-xs);
    margin-bottom: 0.5rem;
  }
  .comment-replying {
    color: var(--text-muted);
    font-size: var(--text-xs);
    margin-bottom: 0.5rem;
  }
  .comment-cancel-reply {
    margin-left: 0.5rem;
    padding: 0.1rem 0.4rem;
    border: 1px solid var(--card-border);
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--text-muted);
    font-family: var(--font-mono);
    font-size: 0.7rem;
    cursor: pointer;
  }
  .comment-cancel-reply:hover {
    border-color: var(--accent);
    color: var(--accent);
  }
  .comment-muted {
    color: var(--text-muted);
    font-size: var(--text-xs);
    margin: 0 0 1rem 0;
  }
  .comment-form {
    border-top: 1px solid var(--card-border);
    padding-top: 1rem;
  }
  .comment-form-row {
    margin-bottom: 0.75rem;
  }
  .comment-label {
    display: block;
    color: var(--text-muted);
    font-size: var(--text-xs);
    margin-bottom: 0.25rem;
  }
  .comment-input, .comment-textarea {
    width: 100%;
    padding: 0.4rem 0.6rem;
    border: 1px solid var(--card-border);
    border-radius: var(--radius-sm);
    background: var(--page-bg);
    color: var(--text);
    font-family: var(--font-mono);
    font-size: var(--text-sm);
  }
  .comment-input:focus, .comment-textarea:focus {
    outline: none;
    border-color: var(--accent);
  }
  .comment-textarea {
    resize: vertical;
    min-height: 4rem;
  }
  .comment-error {
    color: var(--accent);
    font-size: var(--text-xs);
    margin-bottom: 0.5rem;
  }
  .comment-submit {
    padding: 0.4rem 0.9rem;
    border: 1px solid var(--card-border);
    border-radius: var(--radius-sm);
    background: var(--card-bg);
    color: var(--accent);
    font-family: var(--font-mono);
    font-size: var(--text-sm);
    cursor: pointer;
    transition: border-color var(--duration-fast), background var(--duration-fast);
  }
  .comment-submit:hover:not(:disabled) {
    border-color: var(--accent);
    background: var(--page-bg);
  }
  .comment-submit:disabled {
    opacity: 0.6;
    cursor: not-allowed;
  }
  .comment-admin {
    font-family: var(--font-mono);
    font-size: var(--text-sm);
  }
  .comment-admin-toolbar {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 1rem;
    align-items: center;
  }
  .comment-admin-input {
    flex: 1;
    max-width: 20rem;
  }
  .comment-admin-list {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .comment-admin-item {
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--card-border);
    position: relative;
    padding-right: 6rem;
  }
  .comment-admin-item:last-child {
    border-bottom: none;
  }
  .comment-admin-item-meta {
    color: var(--text-muted);
    font-size: var(--text-xs);
    margin-bottom: 0.25rem;
  }
  .comment-admin-status {
    font-size: 0.7rem;
  }
  .comment-admin-status-pending {
    color: var(--accent);
  }
  .comment-admin-status-approved {
    color: var(--text-muted);
    opacity: 0.8;
  }
  .comment-admin-parent {
    display: block;
    font-size: 0.7rem;
    color: var(--text-muted);
    opacity: 0.8;
    margin-bottom: 0.2rem;
  }
  .comment-admin-post {
    font-size: 0.7rem;
    opacity: 0.8;
    word-break: break-all;
  }
  .comment-admin-actions {
    position: absolute;
    top: 0.75rem;
    right: 0;
    display: flex;
    gap: 0.35rem;
  }
  .comment-admin-approve, .comment-admin-delete {
    padding: 0.2rem 0.5rem;
    border: 1px solid var(--card-border);
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--text-muted);
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    cursor: pointer;
    transition: border-color var(--duration-fast), color var(--duration-fast);
  }
  .comment-admin-approve:hover, .comment-admin-delete:hover {
    border-color: var(--accent);
    color: var(--accent);
  }
  .comment-admin-approve {
    color: var(--accent);
    border-color: var(--accent);
  }
  .content-data-admin {
    font-family: var(--font-mono);
    font-size: var(--text-sm);
  }
  .content-admin-muted {
    color: var(--text-muted);
    margin: 0;
  }
  .content-admin-error {
    color: var(--accent);
    margin: 0;
  }
  .content-admin-tabs {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 1rem;
  }
  .content-admin-tab {
    padding: 0.4rem 0.75rem;
    border: 1px solid var(--card-border);
    border-radius: var(--radius-sm);
    background: var(--card-bg);
    color: var(--text-muted);
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    cursor: pointer;
    transition: border-color var(--duration-fast), color var(--duration-fast);
  }
  .content-admin-tab:hover {
    border-color: var(--accent);
    color: var(--accent);
  }
  .content-admin-tab-active {
    border-color: var(--accent);
    color: var(--accent);
  }
  .content-admin-table-wrap {
    overflow-x: auto;
    border: 1px solid var(--card-border);
    border-radius: var(--radius-sm);
  }
  .content-admin-table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--text-xs);
  }
  .content-admin-table th, .content-admin-table td {
    padding: 0.5rem 0.75rem;
    text-align: left;
    border-bottom: 1px solid var(--card-border);
  }
  .content-admin-table th {
    background: var(--card-bg);
    color: var(--text-muted);
    font-weight: 600;
  }
  .content-admin-table tbody tr:last-child td {
    border-bottom: none;
  }
  .content-admin-row {
    cursor: pointer;
    transition: background var(--duration-fast);
  }
  .content-admin-row:hover {
    background: var(--page-bg);
  }
  .content-admin-id {
    color: var(--text-muted);
    max-width: 12rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .content-admin-detail-btn {
    color: var(--accent);
  }
  .content-admin-modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 100;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
  }
  .content-admin-modal {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    margin: 0;
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: var(--radius);
    max-width: 42rem;
    max-height: 85vh;
    width: calc(100% - 2rem);
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }
  .content-admin-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--card-border);
    color: var(--text);
    font-weight: 600;
  }
  .content-admin-modal-close {
    padding: 0.25rem 0.5rem;
    border: 1px solid var(--card-border);
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--text-muted);
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    cursor: pointer;
  }
  .content-admin-modal-close:hover {
    border-color: var(--accent);
    color: var(--accent);
  }
  .content-admin-modal-body {
    padding: 1rem;
    margin: 0;
    overflow: auto;
    flex: 1;
    font-size: 0.75rem;
    line-height: var(--line-height-mono);
    color: var(--text);
    white-space: pre-wrap;
    word-break: break-all;
  }
  .terminal-prompt {
    font-family: var(--font-mono);
    line-height: var(--line-height-mono);
    color: var(--text-muted);
  }
  .prose ul:not(.footnotes *):not([class]), .markdown-body ul:not(.footnotes *):not([class]) {
    list-style: none;
    padding-left: 0;
  }
  .prose ul:not(.footnotes *):not([class]) > li, .markdown-body ul:not(.footnotes *):not([class]) > li {
    padding-left: 1.5em;
    position: relative;
  }
  .prose ul:not(.footnotes *):not([class]) > li::before, .markdown-body ul:not(.footnotes *):not([class]) > li::before {
    content: ">";
    position: absolute;
    left: 0;
    font-size: 0.75em;
    font-family: var(--font-mono);
    color: var(--chroma-chevron);
    font-weight: 600;
    top: 0.2em;
  }
  .prose .footnotes ul, .markdown-body .footnotes ul {
    list-style: revert;
    padding-left: 1.6em;
  }
  .prose .footnotes ul li::before, .markdown-body .footnotes ul li::before {
    content: none;
  }
  .prose .admonition, .markdown-body .admonition {
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: var(--radius);
    padding: 0.75em 1em;
    margin: 1.25em 0;
    position: relative;
    padding-left: 1.5rem;
    font-style: normal;
    color: var(--text);
  }
  .prose .admonition::before, .markdown-body .admonition::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    border-radius: 2px 0 0 2px;
    background: var(--accent);
  }
  .prose .admonition.bdm-tip::before, .markdown-body .admonition.bdm-tip::before {
    background: var(--accent-2);
  }
  .prose .admonition.bdm-important::before, .markdown-body .admonition.bdm-important::before {
    background: var(--accent);
  }
  .prose .admonition.bdm-caution::before, .markdown-body .admonition.bdm-caution::before {
    background: var(--accent-3);
  }
  .prose .admonition.bdm-warning::before, .markdown-body .admonition.bdm-warning::before {
    background: oklch(0.55 0.2 calc(var(--hue) - 60));
  }
  .prose .admonition .bdm-title, .markdown-body .admonition .bdm-title {
    display: block;
    font-weight: 600;
    font-size: var(--text-sm);
    color: var(--chroma-keyword);
    margin-bottom: 0.5em;
  }
  .prose .admonition p:last-child, .markdown-body .admonition p:last-child {
    margin-bottom: 0;
  }
  .prose .card-github.no-styling, .markdown-body .card-github.no-styling {
    text-decoration: none;
    color: inherit;
    display: block;
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: var(--radius);
    padding: 0.85rem 1rem;
    margin: 1em 0;
    transition: border-color var(--duration-fast), box-shadow var(--duration-fast);
  }
  .prose .card-github.no-styling:hover, .markdown-body .card-github.no-styling:hover {
    border-color: var(--accent);
    box-shadow: var(--shadow-hover);
  }
  .prose .card-github .gc-titlebar, .markdown-body .card-github .gc-titlebar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.5rem;
  }
  .prose .card-github .gc-titlebar-left, .markdown-body .card-github .gc-titlebar-left {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-family: var(--font-mono);
    font-size: var(--text-sm);
    font-weight: 600;
  }
  .prose .card-github .gc-owner, .markdown-body .card-github .gc-owner {
    display: flex;
    align-items: center;
    gap: 0.4rem;
  }
  .prose .card-github .gc-avatar, .markdown-body .card-github .gc-avatar {
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    background: var(--card-border);
    flex-shrink: 0;
  }
  .prose .card-github .gc-divider, .markdown-body .card-github .gc-divider {
    color: var(--text-muted);
  }
  .prose .card-github .gc-repo, .markdown-body .card-github .gc-repo {
    color: var(--accent);
  }
  .prose .card-github .gc-description, .markdown-body .card-github .gc-description {
    font-size: var(--text-xs);
    color: var(--text-muted);
    line-height: var(--line-height-body);
    margin-bottom: 0.5rem;
  }
  .prose .card-github .gc-infobar, .markdown-body .card-github .gc-infobar {
    display: flex;
    gap: 1rem;
    font-size: var(--text-xs);
    color: var(--text-muted);
  }
  .prose .card-github.fetch-waiting .gc-description, .markdown-body .card-github.fetch-waiting .gc-description {
    opacity: 0.8;
  }
  .prose .card-github.fetch-error .gc-description, .markdown-body .card-github.fetch-error .gc-description {
    color: var(--accent);
  }
  .prose .directive-details, .markdown-body .directive-details {
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: var(--radius);
    margin: 1em 0;
    overflow: hidden;
  }
  .prose .directive-details summary, .markdown-body .directive-details summary {
    padding: 0.6rem 1rem;
    cursor: pointer;
    font-weight: 600;
    font-size: var(--text-sm);
    color: var(--chroma-keyword);
    user-select: none;
  }
  .prose .directive-details summary:hover, .markdown-body .directive-details summary:hover {
    background: var(--card-border);
  }
  .prose .directive-details-content, .markdown-body .directive-details-content {
    padding: 0 1rem 1rem;
    border-top: 1px solid var(--card-border);
  }
  .prose .directive-details-content > :first-child, .markdown-body .directive-details-content > :first-child {
    margin-top: 0.75rem;
  }
  .prose .directive-steps, .markdown-body .directive-steps {
    list-style: none;
    counter-reset: step;
    padding-left: 0;
    margin: 1em 0;
  }
  .prose .directive-steps li, .markdown-body .directive-steps li {
    counter-increment: step;
    padding-left: 2.5em;
    position: relative;
    margin-bottom: 0.5em;
  }
  .prose .directive-steps li::before, .markdown-body .directive-steps li::before {
    content: counter(step);
    position: absolute;
    left: 0;
    width: 1.5em;
    height: 1.5em;
    line-height: 1.5em;
    text-align: center;
    background: var(--chroma-prompt);
    color: var(--card-bg-base);
    border-radius: 50%;
    font-size: var(--text-xs);
    font-weight: 600;
  }
  .prose .directive-steps li:nth-child(4n + 2)::before, .markdown-body .directive-steps li:nth-child(4n + 2)::before {
    background: var(--chroma-keyword);
  }
  .prose .directive-steps li:nth-child(4n + 3)::before, .markdown-body .directive-steps li:nth-child(4n + 3)::before {
    background: var(--chroma-info);
  }
  .prose .directive-steps li:nth-child(4n + 4)::before, .markdown-body .directive-steps li:nth-child(4n + 4)::before {
    background: var(--chroma-flag);
  }
  &.dark .prose .directive-steps li::before, &.dark .markdown-body .directive-steps li::before {
    color: oklch(0.14 0.03 var(--hue));
  }
  .prose .directive-quote, .markdown-body .directive-quote {
    border-left: 4px solid var(--chroma-prompt);
    padding-left: 1rem;
    margin: 1em 0;
    color: var(--text-muted);
  }
  .prose .directive-quote-footer, .markdown-body .directive-quote-footer {
    margin-top: 0.5em;
    font-size: var(--text-xs);
    color: var(--chroma-info);
  }
  .prose .directive-tabs, .markdown-body .directive-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin: 1em 0;
    border: 1px solid var(--card-border);
    border-radius: var(--radius);
    overflow: hidden;
    background: var(--card-bg);
  }
  .prose .directive-tabs .directive-tabs-input, .markdown-body .directive-tabs .directive-tabs-input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    order: -1;
  }
  .prose .directive-tabs .directive-tabs-label, .markdown-body .directive-tabs .directive-tabs-label {
    order: 0;
    padding: 0.5rem 1rem;
    cursor: pointer;
    font-size: var(--text-sm);
    font-weight: 500;
    border-bottom: 2px solid transparent;
  }
  .prose .directive-tabs .directive-tabs-label:hover, .markdown-body .directive-tabs .directive-tabs-label:hover {
    color: var(--chroma-info);
  }
  .prose .directive-tabs .directive-tabs-panel, .markdown-body .directive-tabs .directive-tabs-panel {
    order: 1;
    display: none;
    width: 100%;
    padding: 1rem;
    border-top: 1px solid var(--card-border);
  }
  .prose .directive-tabs .directive-tabs-input:nth-of-type(1):checked ~ .directive-tabs-panel:nth-of-type(1), .prose .directive-tabs .directive-tabs-input:nth-of-type(2):checked ~ .directive-tabs-panel:nth-of-type(2), .prose .directive-tabs .directive-tabs-input:nth-of-type(3):checked ~ .directive-tabs-panel:nth-of-type(3), .prose .directive-tabs .directive-tabs-input:nth-of-type(4):checked ~ .directive-tabs-panel:nth-of-type(4), .prose .directive-tabs .directive-tabs-input:nth-of-type(5):checked ~ .directive-tabs-panel:nth-of-type(5), .markdown-body .directive-tabs .directive-tabs-input:nth-of-type(1):checked ~ .directive-tabs-panel:nth-of-type(1), .markdown-body .directive-tabs .directive-tabs-input:nth-of-type(2):checked ~ .directive-tabs-panel:nth-of-type(2), .markdown-body .directive-tabs .directive-tabs-input:nth-of-type(3):checked ~ .directive-tabs-panel:nth-of-type(3), .markdown-body .directive-tabs .directive-tabs-input:nth-of-type(4):checked ~ .directive-tabs-panel:nth-of-type(4), .markdown-body .directive-tabs .directive-tabs-input:nth-of-type(5):checked ~ .directive-tabs-panel:nth-of-type(5) {
    display: block;
  }
  .prose .directive-tabs .directive-tabs-input:nth-of-type(1):checked ~ .directive-tabs-label:nth-of-type(1), .prose .directive-tabs .directive-tabs-input:nth-of-type(2):checked ~ .directive-tabs-label:nth-of-type(2), .prose .directive-tabs .directive-tabs-input:nth-of-type(3):checked ~ .directive-tabs-label:nth-of-type(3), .prose .directive-tabs .directive-tabs-input:nth-of-type(4):checked ~ .directive-tabs-label:nth-of-type(4), .prose .directive-tabs .directive-tabs-input:nth-of-type(5):checked ~ .directive-tabs-label:nth-of-type(5), .markdown-body .directive-tabs .directive-tabs-input:nth-of-type(1):checked ~ .directive-tabs-label:nth-of-type(1), .markdown-body .directive-tabs .directive-tabs-input:nth-of-type(2):checked ~ .directive-tabs-label:nth-of-type(2), .markdown-body .directive-tabs .directive-tabs-input:nth-of-type(3):checked ~ .directive-tabs-label:nth-of-type(3), .markdown-body .directive-tabs .directive-tabs-input:nth-of-type(4):checked ~ .directive-tabs-label:nth-of-type(4), .markdown-body .directive-tabs .directive-tabs-input:nth-of-type(5):checked ~ .directive-tabs-label:nth-of-type(5) {
    border-bottom-color: var(--chroma-keyword);
    color: var(--chroma-info);
  }
  .prose blockquote::before, .markdown-body blockquote::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    border-radius: 2px;
    background: linear-gradient(180deg, var(--chroma-prompt), var(--chroma-info));
  }
  .prose blockquote, .markdown-body blockquote {
    position: relative;
    padding-left: 1.5rem;
  }
  .prose blockquote, .markdown-body blockquote {
    border-left: none;
  }
  .nav-link-cute {
    position: relative;
    line-height: var(--line-height-mono);
    transition: opacity var(--duration-fast), transform var(--duration-fast);
  }
  .nav-link-cute:hover {
    transform: translateX(2px);
  }
  .nav-link-cute::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 0;
    height: 2px;
    background: var(--accent);
    border-radius: 1px;
    transition: width var(--duration-normal) var(--ease-out-soft);
  }
  .nav-link-cute:hover::after {
    width: 100%;
  }
  .admin-nav-link {
    transition: color var(--duration-fast), opacity var(--duration-fast);
  }
  .admin-nav-link:hover {
    color: var(--accent);
    opacity: 1;
  }
  .admin-nav-active {
    color: var(--accent);
  }
  .theme-hue-slider::-webkit-slider-thumb {
    appearance: none;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: var(--card-bg);
    border: 2px solid var(--accent);
    cursor: pointer;
    box-shadow: 0 0 0 1px var(--card-border);
  }
  .theme-hue-slider::-moz-range-thumb {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: var(--card-bg);
    border: 2px solid var(--accent);
    cursor: pointer;
  }
  .terminal-list {
    font-family: var(--font-mono);
    font-size: var(--text-sm);
    line-height: var(--line-height-mono);
    border: 1px solid var(--card-border);
    border-radius: var(--radius);
    background: var(--card-bg);
    overflow: hidden;
  }
  .terminal-list > li {
    margin-top: 0.65rem;
  }
  .terminal-list > li:first-child {
    margin-top: 0;
  }
  .terminal-list .post-card-cute, .terminal-list .terminal-item {
    border-radius: var(--radius-sm);
    box-shadow: none;
    margin: 0;
    border: 1px solid var(--card-border);
    padding: 0.65rem 0.9rem;
    background: var(--card-bg);
    transition: border-color var(--duration-fast), background var(--duration-fast), box-shadow var(--duration-fast);
  }
  .terminal-list .post-card-cute:last-child, .terminal-list .terminal-item:last-child, .terminal-list li:last-child .post-card-cute, .terminal-list li:last-child .terminal-item {
    border-bottom: 1px solid var(--card-border);
  }
  .terminal-list .post-card-cute:hover, .terminal-list .terminal-item:hover {
    border-color: var(--accent);
    background: var(--page-bg);
  }
  .terminal-list .post-card-cute a, .terminal-list .terminal-item a {
    display: block;
  }
  .friend-link-item {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    text-decoration: none;
  }
  .friend-link-item-title {
    font-weight: 600;
    color: var(--text);
    line-height: var(--line-height-mono);
  }
  .friend-link-item-desc {
    color: var(--text-muted);
    font-size: var(--text-xs);
    line-height: 1.55;
  }
  .friend-link-item-url {
    color: var(--accent);
    font-size: var(--text-xs);
    word-break: break-all;
    opacity: 0.88;
    margin-top: 0.15rem;
  }
  .terminal-export-line {
    color: var(--text-muted);
    font-size: var(--text-xs);
    line-height: var(--line-height-mono);
    margin-bottom: 0.2rem;
  }
  .terminal-export-line .export-name {
    color: var(--accent);
  }
  .terminal-export-line .sym-export-hash, .terminal-export-line .sym-keyword {
    font-weight: 600;
  }
  .terminal-meta-line {
    color: var(--text);
    line-height: var(--line-height-mono);
    font-family: var(--font-mono);
    font-size: var(--text-sm);
  }
  .post-card-link {
    color: var(--text);
    line-height: var(--line-height-mono);
    font-family: var(--font-mono);
    font-size: var(--text-sm);
    text-decoration: none;
  }
  .post-card-title-line {
    color: var(--text);
    font-weight: 600;
    line-height: var(--line-height-mono);
    word-break: break-word;
  }
  .post-card-meta-line {
    color: var(--text-muted);
    line-height: var(--line-height-mono);
  }
  .post-card-link .post-card-meta-comment {
    color: var(--chroma-comment);
    opacity: 0.95;
    margin-right: 0.25em;
    font-weight: 500;
  }
  .post-card-link .post-card-symbol {
    margin-right: 0.2em;
    font-weight: 600;
  }
  .post-card-link .post-card-symbol[aria-label='日期'] {
    color: var(--chroma-at);
  }
  .post-card-link .post-card-symbol[aria-label='分类'] {
    color: var(--chroma-chevron);
  }
  .post-card-link .post-card-symbol[aria-label='标签'] {
    color: var(--chroma-hash);
  }
  .post-card-link .post-card-sep {
    color: var(--text-muted);
    opacity: 0.6;
    margin: 0 0.3em;
  }
  .post-card-excerpt-line {
    color: var(--text-muted);
    line-height: var(--line-height-mono);
    padding: 0.4em 0 0 0.75em;
    margin-top: 0.5rem;
    border-left: 2px solid var(--card-border);
  }
  .post-card-link .post-card-meta {
    color: var(--text-muted);
    line-height: var(--line-height-mono);
  }
  .post-card-link .post-card-excerpt {
    color: var(--text-muted);
  }
  @media (max-width: 640px) {
    .post-card-link {
      padding: 0.4rem 0.6rem !important;
    }
    .post-card-title-line {
      margin-top: 0.35rem !important;
    }
    .post-card-meta-line {
      margin-top: 0.35rem !important;
      font-size: var(--text-xs);
      opacity: 0.92;
    }
    .post-card-meta-line .post-card-sep {
      display: none;
    }
    .post-card-excerpt-line {
      margin-top: 0.4rem !important;
      border-left-width: 1px;
      padding-left: 0.55em;
    }
    .terminal-list .post-card-cute, .terminal-list .terminal-item {
      padding: 0.4rem 0.65rem;
    }
    .terminal-list > li {
      margin-top: 0.35rem;
    }
    .section-card > .terminal-list {
      padding: 0.35rem 0.5rem;
    }
    .page-main > * + * {
      margin-top: 1rem;
    }
    .page-main > section + section {
      margin-top: 1.25rem;
    }
    .page-main > section > * + * {
      margin-top: 0.75rem;
    }
    .intro-bubble {
      padding: 0.55rem 0.75rem;
      margin-bottom: 1rem;
    }
    .section-title {
      margin-bottom: 0.5rem;
    }
    .error-page {
      padding-left: 0.75rem;
      padding-right: 0.75rem;
      padding-top: 1rem;
      padding-bottom: 1rem;
    }
    .error-page-intro, .error-page-nav {
      padding: 0.65rem 0.85rem;
    }
    .doc-detail-body .prose, .doc-detail-body .markdown-body {
      line-height: 1.9;
    }
  }
  .terminal-meta-line .meta-from, .post-card-link .meta-from {
    color: var(--text-muted);
  }
  .terminal-meta-line .meta-desc, .post-card-link .meta-desc {
    color: var(--text-muted);
  }
  .post-card-link-prefix {
    color: var(--accent);
  }
  .post-card-link-title {
    font-weight: 600;
  }
  .section-card .terminal-list {
    border: none;
    border-radius: 0;
    background: transparent;
    padding: 0.5rem 0;
  }
  .archive-group .section-title, .nav-category-group .section-title {
    margin-bottom: 0.35rem;
  }
  .archive-group .code-label.mb-3, .nav-category-group .code-label.mb-3 {
    margin-bottom: 0.85rem;
  }
  .post-list > li {
    animation: fade-in-up 0.4s var(--ease-out-soft) both;
  }
  .post-list > li:nth-child(1) {
    animation-delay: 0.02s;
  }
  .post-list > li:nth-child(2) {
    animation-delay: 0.04s;
  }
  .post-list > li:nth-child(3) {
    animation-delay: 0.06s;
  }
  .post-list > li:nth-child(n+4) {
    animation-delay: 0.08s;
  }
  .post-card-cute:hover {
    border-color: var(--accent);
    box-shadow: var(--shadow-hover);
  }
  .terminal-list .post-card-cute:hover {
    box-shadow: var(--shadow);
  }
  .page-main > * + * {
    margin-top: 1.75rem;
  }
  .page-main > section + section {
    margin-top: 2.25rem;
  }
  .page-main > section > * + * {
    margin-top: 1.25rem;
  }
  .banner-hero {
    position: relative;
    font-family: var(--font-mono);
    isolation: isolate;
    background: linear-gradient( 128deg, var(--banner-from) 0%, var(--banner-bloom-a) 28%, var(--banner-via) 52%, var(--banner-bloom-b) 78%, var(--banner-bloom-c) 100% );
    @supports (color: color-mix(in lab, red, red)) {
      background: linear-gradient( 128deg, color-mix(in oklch, var(--banner-from) 82%, transparent) 0%, color-mix(in oklch, var(--banner-bloom-a) 78%, transparent) 28%, color-mix(in oklch, var(--banner-via) 82%, transparent) 52%, color-mix(in oklch, var(--banner-bloom-b) 78%, transparent) 78%, color-mix(in oklch, var(--banner-bloom-c) 82%, transparent) 100% );
    }
    box-shadow: inset 0 1px 0 oklch(1 0.02 calc(var(--hue) + 40) / 0.35), 0 1px 2px oklch(0.2 0.02 var(--hue) / 0.06);
  }
  &.dark .banner-hero {
    box-shadow: inset 0 1px 0 oklch(0.45 0.04 calc(var(--hue) + 50) / 0.25), 0 1px 3px oklch(0 0 0 / 0.35);
  }
  .banner-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    border-radius: inherit;
    pointer-events: none;
    background: radial-gradient(ellipse 65% 55% at 100% -10%, oklch(0.72 0.14 calc(var(--hue) + 55) / 0.22), transparent 58%), radial-gradient(ellipse 50% 45% at 0% 100%, oklch(0.65 0.12 calc(var(--hue) + 280) / 0.18), transparent 55%);
  }
  &.dark .banner-hero::before {
    background: radial-gradient(ellipse 65% 55% at 100% -10%, oklch(0.55 0.16 calc(var(--hue) + 55) / 0.35), transparent 58%), radial-gradient(ellipse 50% 45% at 0% 100%, oklch(0.5 0.14 calc(var(--hue) + 280) / 0.28), transparent 55%);
  }
  .banner-hero > * {
    position: relative;
    z-index: 1;
  }
  .banner-hero-title-text {
    background: linear-gradient(100deg, var(--accent), var(--accent-2) 45%, var(--accent-3) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
  }
  .banner-hero-subtitle {
    color: var(--text-muted);
    line-height: var(--line-height-mono);
    padding-left: 0.85rem;
    margin-left: 0.1rem;
    border-left: 3px solid transparent;
    border-image: linear-gradient( 180deg, var(--chroma-info), var(--chroma-prompt) 50%, var(--chroma-comment) ) 1;
  }
  .banner-hero-title {
    line-height: var(--line-height-banner-title);
  }
  @media (prefers-reduced-transparency: reduce) {
    body::before {
      opacity: 0.35;
    }
    body::after {
      background: var(--page-bg-base);
      @supports (color: color-mix(in lab, red, red)) {
        background: color-mix(in oklch, var(--page-bg-base) 96%, transparent);
      }
    }
    .banner-hero-title-text {
      background: none;
      -webkit-background-clip: unset;
      background-clip: unset;
      color: var(--accent);
    }
    .header-brand-name {
      background: none;
      -webkit-background-clip: unset;
      background-clip: unset;
      color: var(--accent);
    }
    .banner-hero::before {
      opacity: 0.5;
    }
  }
  .code-label {
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    line-height: var(--line-height-mono);
    color: var(--text-muted);
  }
  .code-label.sym-prompt {
    color: var(--chroma-prompt);
  }
  .code-label.sym-info {
    color: var(--chroma-info);
  }
  .code-label.sym-comment {
    color: var(--chroma-comment);
  }
  .code-label.sym-flag {
    color: var(--chroma-flag);
  }
  .code-label.sym-chevron {
    color: var(--chroma-chevron);
  }
  .code-label.sym-hash {
    color: var(--chroma-hash);
  }
  .code-label.sym-at {
    color: var(--chroma-at);
  }
  .code-label.sym-keyword {
    color: var(--chroma-keyword);
  }
  .code-label.sym-export-hash {
    color: var(--chroma-export-hash);
  }
  .code-label strong {
    color: var(--accent);
    font-weight: 600;
  }
  .header-brand-name {
    background: linear-gradient(100deg, var(--accent), var(--accent-2) 45%, var(--accent-3) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
  }
  .terminal-cwd, .mobile-nav-cwd {
    color: var(--accent);
    font-weight: 600;
  }
  .mobile-nav-backdrop {
    transition: opacity var(--duration-normal) var(--ease-out-soft);
  }
  .mobile-nav-panel {
    translate: 100% 0;
    transition: translate var(--duration-normal) var(--ease-out-soft);
  }
  #mobile-nav-root:not([data-open='true']) {
    visibility: hidden;
    pointer-events: none;
  }
  #mobile-nav-root:not([data-open='true']) .mobile-nav-backdrop, #mobile-nav-root:not([data-open='true']) .mobile-nav-panel {
    pointer-events: none;
  }
  #mobile-nav-root[data-open='true'] {
    visibility: visible;
    pointer-events: auto;
  }
  #mobile-nav-root[data-open='true'] .mobile-nav-backdrop {
    opacity: 1;
    pointer-events: auto;
  }
  #mobile-nav-root[data-open='true'] .mobile-nav-panel {
    translate: 0 0;
    pointer-events: auto;
  }
  @media (prefers-reduced-motion: reduce) {
    #mobile-nav-backdrop, #mobile-nav-panel {
      transition: none !important;
    }
  }
  .nav-link-cute .sym-chevron {
    color: var(--chroma-chevron);
  }
  .search-overlay-terminal {
    display: none;
    background: rgba(0, 0, 0, 0.5);
    align-items: flex-start;
    justify-content: center;
    padding: 2rem 1rem 2rem;
    overflow-y: auto;
  }
  .search-overlay-terminal.open {
    display: flex;
    animation: fade-in 0.2s var(--ease-out-soft) both;
  }
  .search-overlay-terminal.open .search-panel-terminal {
    animation: scale-in 0.25s var(--ease-out-soft) both;
  }
  .search-panel-terminal {
    position: relative;
    overflow: hidden;
    width: 100%;
    max-width: 42rem;
    font-family: var(--font-mono);
    font-size: var(--text-sm);
    line-height: var(--line-height-mono);
    border: 1px solid var(--card-border);
    border-radius: var(--radius);
    background: var(--card-bg);
    padding: 0.75rem 1.25rem 1rem;
    box-shadow: var(--shadow-hover);
  }
  .search-panel-terminal::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--chroma-prompt), var(--accent-2) 45%, var(--chroma-hash));
    pointer-events: none;
  }
  .search-panel-header {
    margin-bottom: 0.35rem;
  }
  .search-panel-title {
    font-weight: 700;
    font-size: var(--text-lg);
    line-height: var(--line-height-mono);
    color: var(--text);
    margin: 0;
  }
  .search-panel-input-wrap {
    display: flex;
    align-items: center;
    padding: 0.35rem 0.5rem;
    border: 1px solid var(--card-border);
    border-radius: var(--radius-sm);
    background: var(--page-bg);
  }
  .search-results-terminal {
    max-height: 50vh;
    overflow-y: auto;
    margin-top: 0.5rem;
  }
  .search-results-terminal .terminal-list {
    border: none;
    border-radius: 0;
  }
  .search-results-terminal .terminal-list li {
    list-style: none;
  }
  .search-trigger, #dark-toggle {
    transition: opacity var(--duration-fast), transform var(--duration-fast), background var(--duration-fast), border-color var(--duration-fast);
  }
  .search-trigger:active, #dark-toggle:active {
    transform: scale(0.97);
  }
  .search-trigger:focus-visible, #dark-toggle:focus-visible, #theme-color-btn:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
  }
  :where(a, button, input, textarea, summary, [role='button']):focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
    border-radius: var(--radius-sm);
  }
  .back-to-top {
    text-decoration: none;
    transition: border-color 0.2s, box-shadow 0.2s, opacity 0.2s, transform 0.2s var(--ease-out-soft);
  }
  .back-to-top:hover {
    border-color: var(--accent);
    box-shadow: var(--shadow-hover);
    transform: translateY(-2px);
  }
  .back-to-top:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
  }
  .site-cute-layer {
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
  }
  .site-cute-layer--admin {
    opacity: 0.4;
  }
  .cute-float-icon {
    position: absolute;
    font-size: 0.95rem;
    line-height: 1;
    color: var(--accent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklch, var(--accent) 55%, transparent);
    }
    text-shadow: 0 0 18px var(--accent-2);
    @supports (color: color-mix(in lab, red, red)) {
      text-shadow: 0 0 18px color-mix(in oklch, var(--accent-2) 35%, transparent);
    }
    animation: cute-float-drift 16s var(--ease-out-soft) infinite;
  }
  .cute-float-icon--1 {
    top: 12%;
    left: 8%;
    animation-delay: 0s;
  }
  .cute-float-icon--2 {
    top: 22%;
    right: 12%;
    animation-delay: -2.2s;
    font-size: 0.75rem;
  }
  .cute-float-icon--3 {
    top: 48%;
    left: 4%;
    animation-delay: -4.5s;
    font-size: 0.7rem;
  }
  .cute-float-icon--4 {
    bottom: 28%;
    right: 18%;
    animation-delay: -1s;
  }
  .cute-float-icon--5 {
    bottom: 14%;
    left: 22%;
    animation-delay: -6s;
    font-size: 0.8rem;
  }
  .cute-float-icon--6 {
    top: 62%;
    right: 6%;
    animation-delay: -3.3s;
    font-size: 0.72rem;
  }
  .cute-float-icon--7 {
    top: 34%;
    left: 13%;
    animation-delay: -1.1s;
    font-size: 0.66rem;
    animation-name: cute-float-drift-alt;
    animation-duration: 19s;
  }
  .cute-float-icon--8 {
    top: 18%;
    left: 42%;
    animation-delay: -5s;
    font-size: 0.62rem;
    animation-name: cute-float-drift-alt;
    animation-duration: 21s;
  }
  .cute-float-icon--9 {
    bottom: 36%;
    left: 10%;
    animation-delay: -2.8s;
    font-size: 0.7rem;
    animation-name: cute-float-drift-alt;
    animation-duration: 17s;
  }
  .cute-float-icon--10 {
    top: 52%;
    right: 26%;
    animation-delay: -7.2s;
    font-size: 0.64rem;
  }
  .cute-float-icon--11 {
    bottom: 42%;
    right: 8%;
    animation-delay: -4.4s;
    font-size: 0.55rem;
    animation-name: cute-float-drift-alt;
    animation-duration: 22s;
  }
  .cute-float-icon--12 {
    top: 8%;
    right: 38%;
    animation-delay: -6.1s;
    font-size: 0.68rem;
  }
  &.dark .cute-float-icon {
    color: var(--accent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklch, var(--accent) 48%, transparent);
    }
    text-shadow: 0 0 20px var(--accent-2);
    @supports (color: color-mix(in lab, red, red)) {
      text-shadow: 0 0 20px color-mix(in oklch, var(--accent-2) 28%, transparent);
    }
  }
  .cute-blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(48px);
    animation: cute-blob-pulse 12s var(--ease-out-soft) infinite;
  }
  .cute-blob--a {
    width: min(42vw, 280px);
    height: min(42vw, 280px);
    top: -6%;
    right: -4%;
    background: radial-gradient( circle at 40% 40%, var(--accent-2) 0%, transparent 68% );
    @supports (color: color-mix(in lab, red, red)) {
      background: radial-gradient( circle at 40% 40%, color-mix(in oklch, var(--accent-2) 32%, transparent) 0%, transparent 68% );
    }
    animation-delay: -2s;
  }
  .cute-blob--b {
    width: min(38vw, 240px);
    height: min(38vw, 240px);
    bottom: 8%;
    left: -6%;
    background: radial-gradient( circle at 55% 45%, var(--accent-3) 0%, transparent 70% );
    @supports (color: color-mix(in lab, red, red)) {
      background: radial-gradient( circle at 55% 45%, color-mix(in oklch, var(--accent-3) 28%, transparent) 0%, transparent 70% );
    }
    animation-delay: -5s;
  }
  .cute-blob--c {
    width: min(30vw, 220px);
    height: min(30vw, 220px);
    top: 36%;
    left: 4%;
    background: radial-gradient( circle at 45% 45%, var(--chroma-prompt) 0%, transparent 68% );
    @supports (color: color-mix(in lab, red, red)) {
      background: radial-gradient( circle at 45% 45%, color-mix(in oklch, var(--chroma-prompt) 24%, transparent) 0%, transparent 68% );
    }
    animation-delay: -8s;
    filter: blur(52px);
  }
  .cute-dot {
    position: absolute;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--accent-2);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in oklch, var(--accent-2) 50%, transparent);
    }
    box-shadow: 0 0 10px var(--accent);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 0 10px color-mix(in oklch, var(--accent) 35%, transparent);
    }
    animation: cute-dot-twinkle 3.2s var(--ease-out-soft) infinite;
  }
  .cute-dot--1 {
    top: 20%;
    left: 56%;
    animation-delay: 0s;
  }
  .cute-dot--2 {
    top: 58%;
    right: 22%;
    animation-delay: -0.9s;
  }
  .cute-dot--3 {
    bottom: 35%;
    left: 30%;
    animation-delay: -1.8s;
  }
  .cute-dot--4 {
    bottom: 22%;
    right: 36%;
    animation-delay: -2.4s;
  }
  .cute-dot--5 {
    top: 74%;
    left: 40%;
    animation-delay: -0.4s;
  }
  &.dark .cute-dot {
    background: var(--accent-2);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in oklch, var(--accent-2) 42%, transparent);
    }
    box-shadow: 0 0 12px var(--accent);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 0 12px color-mix(in oklch, var(--accent) 28%, transparent);
    }
  }
  @media (prefers-reduced-motion: reduce) {
    .cute-float-icon, .cute-blob, .cute-dot {
      animation: none !important;
    }
    .cute-float-icon {
      opacity: 0.35;
    }
    .cute-blob {
      opacity: 0.18;
    }
    .cute-dot {
      opacity: 0.4;
      transform: none;
    }
  }
  .header-cute-sparkle {
    font-size: 0.7em;
    opacity: 0.72;
    display: inline-block;
    animation: float-soft 4s var(--ease-out-soft) infinite;
  }
  @media (prefers-reduced-motion: reduce) {
    .header-cute-sparkle {
      animation: none;
      opacity: 0.55;
    }
  }
  .footer-cute-emoji {
    font-size: 0.85em;
    opacity: 0.55;
    color: var(--accent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklch, var(--accent) 65%, var(--text-muted));
    }
  }
  &.dark .footer-cute-emoji {
    opacity: 0.5;
  }
  .banner-cute-note {
    margin: 0;
    font-size: var(--text-xs);
    letter-spacing: 0.1em;
    opacity: 0.42;
    color: var(--accent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklch, var(--accent) 58%, var(--text-muted));
    }
  }
  &.dark .banner-cute-note {
    opacity: 0.38;
  }
  .intro-bubble-cute {
    position: relative;
    padding-right: 7rem;
  }
  .intro-bubble-kawaii {
    position: absolute;
    top: 0.55rem;
    right: 0.75rem;
    font-size: var(--text-xs);
    line-height: 1.25;
    opacity: 0.45;
    color: var(--text-muted);
    pointer-events: none;
    max-width: 6.5rem;
    text-align: right;
  }
  @media (max-width: 640px) {
    .intro-bubble-cute {
      padding-right: 1rem;
    }
    .intro-bubble-kawaii {
      display: none;
    }
  }
  .cute-sidebar-garland {
    margin: 0;
    padding-top: 0.35rem;
    text-align: center;
    font-size: var(--text-xs);
    letter-spacing: 0.18em;
    opacity: 0.36;
    color: var(--accent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklch, var(--accent) 48%, var(--text-muted));
    }
  }
  &.dark .cute-sidebar-garland {
    opacity: 0.32;
  }
  .search-panel-cute-glyph {
    position: absolute;
    top: 2.35rem;
    right: 1rem;
    z-index: 1;
    font-size: 0.65rem;
    opacity: 0.34;
    color: var(--accent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklch, var(--accent) 65%, var(--text-muted));
    }
    font-family: var(--font-mono);
    pointer-events: none;
  }
  &.dark .search-panel-cute-glyph {
    opacity: 0.3;
  }
  @media (max-width: 480px) {
    .search-panel-cute-glyph {
      display: none;
    }
  }
  .back-to-top-cute {
    margin-left: 0.2rem;
    opacity: 0.62;
    font-size: 0.82em;
    color: var(--accent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklch, var(--accent) 72%, var(--text-muted));
    }
  }
  .back-to-top-cute-wrap:hover .back-to-top-cute {
    opacity: 0.85;
  }
  .admin-header-cute {
    font-size: 0.7em;
    opacity: 0.55;
    display: inline-block;
    animation: float-soft 4s var(--ease-out-soft) infinite;
  }
  @media (prefers-reduced-motion: reduce) {
    .admin-header-cute {
      animation: none;
      opacity: 0.45;
    }
  }
  .page-main.pjax-transitioning {
    opacity: 0.7;
    transition: opacity 0.15s ease-out;
  }
  .gallery-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
  }
  @media (min-width: 48rem) {
    .gallery-grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  @media (min-width: 64rem) {
    .gallery-grid {
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 1.5rem;
    }
  }
  .gallery-grid-figure {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }
  .gallery-grid-media {
    position: relative;
    aspect-ratio: 1;
    overflow: hidden;
    border-radius: var(--radius);
    border: 1px solid var(--card-border);
    background: var(--card-bg);
  }
  .gallery-grid-image {
    object-fit: cover;
    transition: transform var(--duration-normal) var(--ease-out-soft);
  }
  .group:hover .gallery-grid-image {
    transform: scale(1.05);
  }
  .gallery-grid-title {
    margin: 0;
    font-size: var(--text-sm);
    font-weight: 500;
    line-height: 1.25;
    color: var(--text);
  }
  .gallery-grid-description {
    margin: 0.25rem 0 0;
    font-size: var(--text-xs);
    line-height: 1.4;
    color: var(--text-muted);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-gradient-position {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-via {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-to {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-stops {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-via-stops {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0%;
}
@property --tw-gradient-via-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 50%;
}
@property --tw-gradient-to-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@property --tw-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@keyframes enter {
  from {
    opacity: var(--tw-enter-opacity,1);
    transform: translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));
    filter: blur(var(--tw-enter-blur,0));
  }
}
@keyframes exit {
  to {
    opacity: var(--tw-exit-opacity,1);
    transform: translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));
    filter: blur(var(--tw-exit-blur,0));
  }
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-border-style: solid;
      --tw-gradient-position: initial;
      --tw-gradient-from: #0000;
      --tw-gradient-via: #0000;
      --tw-gradient-to: #0000;
      --tw-gradient-stops: initial;
      --tw-gradient-via-stops: initial;
      --tw-gradient-from-position: 0%;
      --tw-gradient-via-position: 50%;
      --tw-gradient-to-position: 100%;
      --tw-leading: initial;
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-duration: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-animation-delay: 0s;
      --tw-animation-direction: normal;
      --tw-animation-duration: initial;
      --tw-animation-fill-mode: none;
      --tw-animation-iteration-count: 1;
      --tw-enter-blur: 0;
      --tw-enter-opacity: 1;
      --tw-enter-rotate: 0;
      --tw-enter-scale: 1;
      --tw-enter-translate-x: 0;
      --tw-enter-translate-y: 0;
      --tw-exit-blur: 0;
      --tw-exit-opacity: 1;
      --tw-exit-rotate: 0;
      --tw-exit-scale: 1;
      --tw-exit-translate-x: 0;
      --tw-exit-translate-y: 0;
    }
  }
}
