/* fonts: local woff2, same faces and fallback metrics next/font generated. */
@font-face {
  font-family: fontSans;
  src: url("/fonts/text/ibm-plex-sans/IBMPlexSans-Regular.woff2") format("woff2");
  font-display: swap;
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: fontSans;
  src: url("/fonts/text/ibm-plex-sans/IBMPlexSans-Bold.woff2") format("woff2");
  font-display: swap;
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: fontSans Fallback;
  src: local(Arial);
  ascent-override: 101.35%;
  descent-override: 27.19%;
  line-gap-override: 0.0%;
  size-adjust: 101.13%;
}
@font-face {
  font-family: fontSerif;
  src: url("/fonts/text/source-serif-4/SourceSerif4-Variable.woff2") format("woff2");
  font-display: swap;
  font-weight: 200 900;
  font-style: normal;
}
@font-face {
  font-family: fontSerif;
  src: url("/fonts/text/source-serif-4/SourceSerif4-VariableItalic.woff2") format("woff2");
  font-display: swap;
  font-weight: 200 900;
  font-style: italic;
}
@font-face {
  font-family: fontSerif Fallback;
  src: local(Times New Roman);
  ascent-override: 89.45%;
  descent-override: 28.93%;
  line-gap-override: 0.0%;
  size-adjust: 115.81%;
}
@font-face {
  font-family: fontMono;
  src: url("/fonts/mono/go-mono/GoMono-Regular.woff2") format("woff2");
  font-display: swap;
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: fontMono;
  src: url("/fonts/mono/go-mono/GoMono-Bold.woff2") format("woff2");
  font-display: swap;
  font-weight: 700;
  font-style: normal;
}
:root {
  --font-sans: "fontSans", "fontSans Fallback";
  --font-serif: "fontSerif", "fontSerif Fallback", Georgia, Times New Roman, serif;
  --font-mono: "fontMono";
}

/* themes: default (light/dark), solarized, plan9. Verbatim from the original. */


:root {

  --white-shironeri:   0 0% 99.5%;
  --white-gofun:       0 0% 99%;
  --white-shiraha:     0 0% 98.5%;

  --white-kinu:        0 0% 98%;
  --white-washi:       0 0% 97.5%;
  --white-hakushi:     0 0% 97%;
  --white-unohana:     0 0% 96.5%;

  --white-shiro:       0 0% 96%;
  --white-byakuji:     0 0% 95.5%;
  --white-hakuji:      0 0% 95%;
  --white-kinari:      0 0% 94.5%;

  --white-kaihaku:     0 0% 94%;
  --white-soan:        0 0% 93.5%;
  --white-tanpaku:     0 0% 93%;
  --white-torinoko:    0 0% 92.5%;

  --white-keshizumi:   0 0% 92%;
  --white-shikkui:     0 0% 91.5%;
  --white-nibai:       0 0% 91%;
  --white-susu:        0 0% 90.5%;
  --white-ginnezumi:   0 0% 90%;

  --white-hai:         0 0% 89%;
  --white-sunago:      0 0% 88%;
  --white-kabe:        0 0% 87.5%;
  --white-dobai:       0 0% 87%;
  --white-nibi:        0 0% 86%;

  --white-ishi:        0 0% 85%;
  --white-namari:      0 0% 84%;
  --white-nezumi:      0 0% 83%;
  --white-fushi:       0 0% 82%;
  --white-kurohai:     0 0% 80%;
}

:root {

  --black-sumi:        0 0% 4%;
  --black-kuro:        0 0% 5%;
  --black-ro:          0 0% 6%;
  --black-shikkoku:    0 0% 7%;

  --black-karasu:      0 0% 8%;
  --black-tetsu:       0 0% 9%;
  --black-nurebairo:   0 0% 9.5%;
  --black-kokutan:     0 0% 10%;

  --black-binroji:     0 0% 11%;
  --black-kenpo:       0 0% 12%;
  --black-doburo:      0 0% 13%;
  --black-yukoku:      0 0% 14%;

  --black-nanban:      0 0% 15%;
  --black-konro:       0 0% 16%;
  --black-kurogane:    0 0% 17%;
  --black-fukisei:     0 0% 18%;
  --black-kachiiro:    0 0% 19%;

  --black-yonezumi:    0 0% 20%;
  --black-senryo:      0 0% 22%;
  --black-usuzumi:     0 0% 24%;
  --black-haiiro:      0 0% 26%;

  --black-beniaka:     0 0% 28%;
  --black-susutake:    0 0% 30%;
  --black-rikyu:       0 0% 32%;
  --black-aonibi:      0 0% 34%;
  --black-nando:       0 0% 36%;

  --black-kitsune:     0 0% 38%;
  --black-rikyunezumi: 0 0% 40%;
  --black-shinonome:   0 0% 42%;
  --black-oboro:       0 0% 44%;
}

:root {

  --background:           0 0% 100%;
  --card:                 var(--white-gofun);
  --popover:              var(--white-hakushi);
  --secondary:            var(--white-ginnezumi);
  --muted:                var(--white-keshizumi);
  --accent:               var(--white-shiro);

  --foreground:           0 0% 20%;
  --card-foreground:      0 0% 15%;
  --popover-foreground:   0 0% 25%;
  --secondary-foreground: 0 0% 30%;
  --muted-foreground:     0 0% 50%;
  --accent-foreground:    0 0% 20%;

  --primary:              0 0% 10%;
  --primary-foreground:   0 0% 95%;
  --destructive:          0 70% 55%;
  --destructive-foreground: 0 0% 98%;

  --border:               var(--white-sunago);
  --input:                var(--white-ginnezumi);
  --ring:                 0 0% 40%;

  --link:                 rgba(10, 132, 255, 1);
  --link-visited:         #af52de;

  --radius:               0.5rem;
  --radius-square:        0;
}

@media (prefers-color-scheme: dark) {
  html:not(.dark):not(.light) {
    color-scheme: dark;
  }
  html:not(.dark):not(.light),
  html:not(.dark):not(.light) * {
    --background:           var(--black-shikkoku);
    --card:                 var(--black-tetsu);
    --popover:              var(--black-tetsu);
    --secondary:            var(--black-yukoku);
    --muted:                var(--black-kenpo);
    --accent:               var(--black-kenpo);

    --foreground:           0 0% 98%;
    --card-foreground:      0 0% 98%;
    --popover-foreground:   0 0% 98%;
    --secondary-foreground: 0 0% 98%;
    --muted-foreground:     0 0% 70%;
    --accent-foreground:    0 0% 98%;

    --primary:              0 0% 98%;
    --primary-foreground:   0 0% 9%;
    --destructive:          0 62% 30%;
    --destructive-foreground: 0 0% 98%;

    --border:               var(--black-kurogane);
    --input:                var(--black-kurogane);
    --ring:                 0 0% 83%;
  }
}

.dark, [data-theme="dark"] {
  --background:           var(--black-shikkoku);
  --card:                 var(--black-tetsu);
  --popover:              var(--black-tetsu);
  --secondary:            var(--black-yukoku);
  --muted:                var(--black-kenpo);
  --accent:               var(--black-kenpo);

  --foreground:           0 0% 98%;
  --card-foreground:      0 0% 98%;
  --popover-foreground:   0 0% 98%;
  --secondary-foreground: 0 0% 98%;
  --muted-foreground:     0 0% 70%;
  --accent-foreground:    0 0% 98%;

  --primary:              0 0% 98%;
  --primary-foreground:   0 0% 9%;
  --destructive:          0 62% 30%;
  --destructive-foreground: 0 0% 98%;

  --border:               var(--black-kurogane);
  --input:                var(--black-kurogane);
  --ring:                 0 0% 83%;
}

:root {

  --pastel-amber-bg:          45 40% 96%;
  --pastel-amber-subtle:      45 35% 93%;
  --pastel-amber-border:      45 28% 86%;
  --pastel-amber-mid:         45 25% 75%;
  --pastel-amber-fg:          45 30% 45%;
  --pastel-amber-fg-bold:     45 35% 35%;
  --pastel-amber-bright:      45 45% 55%;

  --pastel-orange-bg:         25 40% 96%;
  --pastel-orange-subtle:     25 35% 93%;
  --pastel-orange-border:     25 28% 86%;
  --pastel-orange-mid:        25 25% 75%;
  --pastel-orange-fg:         25 30% 45%;
  --pastel-orange-fg-bold:    25 35% 35%;
  --pastel-orange-bright:     25 45% 55%;

  --pastel-red-bg:            0 40% 96%;
  --pastel-red-subtle:        0 35% 93%;
  --pastel-red-border:        0 28% 86%;
  --pastel-red-mid:           0 25% 75%;
  --pastel-red-fg:            0 30% 45%;
  --pastel-red-fg-bold:       0 35% 35%;
  --pastel-red-bright:        0 45% 55%;

  --pastel-rose-bg:           345 40% 96%;
  --pastel-rose-subtle:       345 35% 93%;
  --pastel-rose-border:       345 28% 86%;
  --pastel-rose-mid:          345 25% 75%;
  --pastel-rose-fg:           345 30% 45%;
  --pastel-rose-fg-bold:      345 35% 35%;
  --pastel-rose-bright:       345 45% 55%;

  --pastel-purple-bg:         270 40% 96%;
  --pastel-purple-subtle:     270 35% 93%;
  --pastel-purple-border:     270 28% 86%;
  --pastel-purple-mid:        270 25% 75%;
  --pastel-purple-fg:         270 30% 45%;
  --pastel-purple-fg-bold:    270 35% 35%;
  --pastel-purple-bright:     270 45% 55%;

  --pastel-lavender-bg:       255 40% 96%;
  --pastel-lavender-subtle:   255 35% 93%;
  --pastel-lavender-border:   255 28% 86%;
  --pastel-lavender-mid:      255 25% 75%;
  --pastel-lavender-fg:       255 30% 45%;
  --pastel-lavender-fg-bold:  255 35% 35%;
  --pastel-lavender-bright:   255 45% 55%;

  --pastel-indigo-bg:         230 40% 96%;
  --pastel-indigo-subtle:     230 35% 93%;
  --pastel-indigo-border:     230 28% 86%;
  --pastel-indigo-mid:        230 25% 75%;
  --pastel-indigo-fg:         230 30% 45%;
  --pastel-indigo-fg-bold:    230 35% 35%;
  --pastel-indigo-bright:     230 45% 55%;

  --pastel-blue-bg:           213 40% 96%;
  --pastel-blue-subtle:       213 35% 93%;
  --pastel-blue-border:       213 28% 86%;
  --pastel-blue-mid:          213 25% 75%;
  --pastel-blue-fg:           213 30% 45%;
  --pastel-blue-fg-bold:      213 35% 35%;
  --pastel-blue-bright:       213 45% 55%;

  --pastel-cyan-bg:           190 40% 96%;
  --pastel-cyan-subtle:       190 35% 93%;
  --pastel-cyan-border:       190 28% 86%;
  --pastel-cyan-mid:          190 25% 75%;
  --pastel-cyan-fg:           190 30% 45%;
  --pastel-cyan-fg-bold:      190 35% 35%;
  --pastel-cyan-bright:       190 45% 55%;

  --pastel-teal-bg:           170 40% 96%;
  --pastel-teal-subtle:       170 35% 93%;
  --pastel-teal-border:       170 28% 86%;
  --pastel-teal-mid:          170 25% 75%;
  --pastel-teal-fg:           170 30% 45%;
  --pastel-teal-fg-bold:      170 35% 35%;
  --pastel-teal-bright:       170 45% 55%;

  --pastel-green-bg:          142 40% 96%;
  --pastel-green-subtle:      142 35% 93%;
  --pastel-green-border:      142 28% 86%;
  --pastel-green-mid:         142 25% 75%;
  --pastel-green-fg:          142 30% 45%;
  --pastel-green-fg-bold:     142 35% 35%;
  --pastel-green-bright:      142 45% 55%;

  --pastel-lime-bg:           100 40% 96%;
  --pastel-lime-subtle:       100 35% 93%;
  --pastel-lime-border:       100 28% 86%;
  --pastel-lime-mid:          100 25% 75%;
  --pastel-lime-fg:           100 30% 45%;
  --pastel-lime-fg-bold:      100 35% 35%;
  --pastel-lime-bright:       100 45% 55%;

  --pastel-amber:             var(--pastel-amber-bg);
  --pastel-amber-foreground:  var(--pastel-amber-fg-bold);
  --pastel-blue:              var(--pastel-blue-bg);
  --pastel-blue-foreground:   var(--pastel-blue-fg-bold);
  --pastel-green:             var(--pastel-green-bg);
  --pastel-green-foreground:  var(--pastel-green-fg-bold);
  --pastel-red:               var(--pastel-red-bg);
  --pastel-red-foreground:    var(--pastel-red-fg-bold);
  --pastel-purple:            var(--pastel-purple-bg);
  --pastel-purple-foreground: var(--pastel-purple-fg-bold);
}

@media (prefers-color-scheme: dark) {
  html:not(.dark):not(.light),
  html:not(.dark):not(.light) * {
    --pastel-amber-bg: 45 12% 16%; --pastel-amber-subtle: 45 14% 20%; --pastel-amber-border: 45 16% 28%; --pastel-amber-mid: 45 20% 40%; --pastel-amber-fg: 45 24% 62%; --pastel-amber-fg-bold: 45 28% 74%; --pastel-amber-bright: 45 32% 84%;
    --pastel-orange-bg: 25 12% 16%; --pastel-orange-subtle: 25 14% 20%; --pastel-orange-border: 25 16% 28%; --pastel-orange-mid: 25 20% 40%; --pastel-orange-fg: 25 24% 62%; --pastel-orange-fg-bold: 25 28% 74%; --pastel-orange-bright: 25 32% 84%;
    --pastel-red-bg: 0 12% 16%; --pastel-red-subtle: 0 14% 20%; --pastel-red-border: 0 16% 28%; --pastel-red-mid: 0 20% 40%; --pastel-red-fg: 0 24% 62%; --pastel-red-fg-bold: 0 28% 74%; --pastel-red-bright: 0 32% 84%;
    --pastel-rose-bg: 345 12% 16%; --pastel-rose-subtle: 345 14% 20%; --pastel-rose-border: 345 16% 28%; --pastel-rose-mid: 345 20% 40%; --pastel-rose-fg: 345 24% 62%; --pastel-rose-fg-bold: 345 28% 74%; --pastel-rose-bright: 345 32% 84%;
    --pastel-purple-bg: 270 12% 16%; --pastel-purple-subtle: 270 14% 20%; --pastel-purple-border: 270 16% 28%; --pastel-purple-mid: 270 20% 40%; --pastel-purple-fg: 270 24% 62%; --pastel-purple-fg-bold: 270 28% 74%; --pastel-purple-bright: 270 32% 84%;
    --pastel-lavender-bg: 255 12% 16%; --pastel-lavender-subtle: 255 14% 20%; --pastel-lavender-border: 255 16% 28%; --pastel-lavender-mid: 255 20% 40%; --pastel-lavender-fg: 255 24% 62%; --pastel-lavender-fg-bold: 255 28% 74%; --pastel-lavender-bright: 255 32% 84%;
    --pastel-indigo-bg: 230 12% 16%; --pastel-indigo-subtle: 230 14% 20%; --pastel-indigo-border: 230 16% 28%; --pastel-indigo-mid: 230 20% 40%; --pastel-indigo-fg: 230 24% 62%; --pastel-indigo-fg-bold: 230 28% 74%; --pastel-indigo-bright: 230 32% 84%;
    --pastel-blue-bg: 213 12% 16%; --pastel-blue-subtle: 213 14% 20%; --pastel-blue-border: 213 16% 28%; --pastel-blue-mid: 213 20% 40%; --pastel-blue-fg: 213 24% 62%; --pastel-blue-fg-bold: 213 28% 74%; --pastel-blue-bright: 213 32% 84%;
    --pastel-cyan-bg: 190 12% 16%; --pastel-cyan-subtle: 190 14% 20%; --pastel-cyan-border: 190 16% 28%; --pastel-cyan-mid: 190 20% 40%; --pastel-cyan-fg: 190 24% 62%; --pastel-cyan-fg-bold: 190 28% 74%; --pastel-cyan-bright: 190 32% 84%;
    --pastel-teal-bg: 170 12% 16%; --pastel-teal-subtle: 170 14% 20%; --pastel-teal-border: 170 16% 28%; --pastel-teal-mid: 170 20% 40%; --pastel-teal-fg: 170 24% 62%; --pastel-teal-fg-bold: 170 28% 74%; --pastel-teal-bright: 170 32% 84%;
    --pastel-green-bg: 142 12% 16%; --pastel-green-subtle: 142 14% 20%; --pastel-green-border: 142 16% 28%; --pastel-green-mid: 142 20% 40%; --pastel-green-fg: 142 24% 62%; --pastel-green-fg-bold: 142 28% 74%; --pastel-green-bright: 142 32% 84%;
    --pastel-lime-bg: 100 12% 16%; --pastel-lime-subtle: 100 14% 20%; --pastel-lime-border: 100 16% 28%; --pastel-lime-mid: 100 20% 40%; --pastel-lime-fg: 100 24% 62%; --pastel-lime-fg-bold: 100 28% 74%; --pastel-lime-bright: 100 32% 84%;
    --pastel-amber: var(--pastel-amber-bg); --pastel-amber-foreground: var(--pastel-amber-bright);
    --pastel-blue: var(--pastel-blue-bg); --pastel-blue-foreground: var(--pastel-blue-bright);
    --pastel-green: var(--pastel-green-bg); --pastel-green-foreground: var(--pastel-green-bright);
    --pastel-red: var(--pastel-red-bg); --pastel-red-foreground: var(--pastel-red-bright);
    --pastel-purple: var(--pastel-purple-bg); --pastel-purple-foreground: var(--pastel-purple-bright);
  }
}

.dark, [data-theme="dark"] {

  --pastel-amber-bg:          45 12% 16%;
  --pastel-amber-subtle:      45 14% 20%;
  --pastel-amber-border:      45 16% 28%;
  --pastel-amber-mid:         45 20% 40%;
  --pastel-amber-fg:          45 24% 62%;
  --pastel-amber-fg-bold:     45 28% 74%;
  --pastel-amber-bright:      45 32% 84%;

  --pastel-orange-bg:         25 12% 16%;
  --pastel-orange-subtle:     25 14% 20%;
  --pastel-orange-border:     25 16% 28%;
  --pastel-orange-mid:        25 20% 40%;
  --pastel-orange-fg:         25 24% 62%;
  --pastel-orange-fg-bold:    25 28% 74%;
  --pastel-orange-bright:     25 32% 84%;

  --pastel-red-bg:            0 12% 16%;
  --pastel-red-subtle:        0 14% 20%;
  --pastel-red-border:        0 16% 28%;
  --pastel-red-mid:           0 20% 40%;
  --pastel-red-fg:            0 24% 62%;
  --pastel-red-fg-bold:       0 28% 74%;
  --pastel-red-bright:        0 32% 84%;

  --pastel-rose-bg:           345 12% 16%;
  --pastel-rose-subtle:       345 14% 20%;
  --pastel-rose-border:       345 16% 28%;
  --pastel-rose-mid:          345 20% 40%;
  --pastel-rose-fg:           345 24% 62%;
  --pastel-rose-fg-bold:      345 28% 74%;
  --pastel-rose-bright:       345 32% 84%;

  --pastel-purple-bg:         270 12% 16%;
  --pastel-purple-subtle:     270 14% 20%;
  --pastel-purple-border:     270 16% 28%;
  --pastel-purple-mid:        270 20% 40%;
  --pastel-purple-fg:         270 24% 62%;
  --pastel-purple-fg-bold:    270 28% 74%;
  --pastel-purple-bright:     270 32% 84%;

  --pastel-lavender-bg:       255 12% 16%;
  --pastel-lavender-subtle:   255 14% 20%;
  --pastel-lavender-border:   255 16% 28%;
  --pastel-lavender-mid:      255 20% 40%;
  --pastel-lavender-fg:       255 24% 62%;
  --pastel-lavender-fg-bold:  255 28% 74%;
  --pastel-lavender-bright:   255 32% 84%;

  --pastel-indigo-bg:         230 12% 16%;
  --pastel-indigo-subtle:     230 14% 20%;
  --pastel-indigo-border:     230 16% 28%;
  --pastel-indigo-mid:        230 20% 40%;
  --pastel-indigo-fg:         230 24% 62%;
  --pastel-indigo-fg-bold:    230 28% 74%;
  --pastel-indigo-bright:     230 32% 84%;

  --pastel-blue-bg:           213 12% 16%;
  --pastel-blue-subtle:       213 14% 20%;
  --pastel-blue-border:       213 16% 28%;
  --pastel-blue-mid:          213 20% 40%;
  --pastel-blue-fg:           213 24% 62%;
  --pastel-blue-fg-bold:      213 28% 74%;
  --pastel-blue-bright:       213 32% 84%;

  --pastel-cyan-bg:           190 12% 16%;
  --pastel-cyan-subtle:       190 14% 20%;
  --pastel-cyan-border:       190 16% 28%;
  --pastel-cyan-mid:          190 20% 40%;
  --pastel-cyan-fg:           190 24% 62%;
  --pastel-cyan-fg-bold:      190 28% 74%;
  --pastel-cyan-bright:       190 32% 84%;

  --pastel-teal-bg:           170 12% 16%;
  --pastel-teal-subtle:       170 14% 20%;
  --pastel-teal-border:       170 16% 28%;
  --pastel-teal-mid:          170 20% 40%;
  --pastel-teal-fg:           170 24% 62%;
  --pastel-teal-fg-bold:      170 28% 74%;
  --pastel-teal-bright:       170 32% 84%;

  --pastel-green-bg:          142 12% 16%;
  --pastel-green-subtle:      142 14% 20%;
  --pastel-green-border:      142 16% 28%;
  --pastel-green-mid:         142 20% 40%;
  --pastel-green-fg:          142 24% 62%;
  --pastel-green-fg-bold:     142 28% 74%;
  --pastel-green-bright:      142 32% 84%;

  --pastel-lime-bg:           100 12% 16%;
  --pastel-lime-subtle:       100 14% 20%;
  --pastel-lime-border:       100 16% 28%;
  --pastel-lime-mid:          100 20% 40%;
  --pastel-lime-fg:           100 24% 62%;
  --pastel-lime-fg-bold:      100 28% 74%;
  --pastel-lime-bright:       100 32% 84%;

  --pastel-amber:             var(--pastel-amber-bg);
  --pastel-amber-foreground:  var(--pastel-amber-bright);
  --pastel-blue:              var(--pastel-blue-bg);
  --pastel-blue-foreground:   var(--pastel-blue-bright);
  --pastel-green:             var(--pastel-green-bg);
  --pastel-green-foreground:  var(--pastel-green-bright);
  --pastel-red:               var(--pastel-red-bg);
  --pastel-red-foreground:    var(--pastel-red-bright);
  --pastel-purple:            var(--pastel-purple-bg);
  --pastel-purple-foreground: var(--pastel-purple-bright);
}
/* =============================================================================
 * SOLARIZED THEME
 * =============================================================================
 *
 * Based on Ethan Schoonover's Solarized color scheme - a carefully designed
 * sixteen color palette for use with terminal and GUI applications.
 * Known for its balanced contrast and pleasant color relationships.
 *
 * -----------------------------------------------------------------------------
 * @file        solarized.css
 * @author      Kris Yotam
 * @created     2026-01-01
 * @license     MIT
 * @see         https://ethanschoonover.com/solarized/
 * -----------------------------------------------------------------------------
 *
 * COLOR PALETTE
 * -------------
 * Base colors (monotone backgrounds):
 *   base03  #002b36  hsl(193, 100%, 11%)  - darkest background
 *   base02  #073642  hsl(192, 90%, 14%)   - dark background
 *   base01  #586e75  hsl(194, 14%, 40%)   - dark content/comments
 *   base00  #657b83  hsl(195, 13%, 45%)   - dark primary content
 *   base0   #839496  hsl(186, 8%, 55%)    - light primary content
 *   base1   #93a1a1  hsl(180, 7%, 60%)    - light content/comments
 *   base2   #eee8d5  hsl(44, 44%, 87%)    - light background
 *   base3   #fdf6e3  hsl(44, 87%, 94%)    - lightest background
 *
 * Accent colors:
 *   yellow  #b58900  hsl(45, 100%, 35%)
 *   orange  #cb4b16  hsl(18, 89%, 44%)
 *   red     #dc322f  hsl(1, 71%, 52%)
 *   magenta #d33682  hsl(331, 64%, 52%)
 *   violet  #6c71c4  hsl(237, 45%, 59%)
 *   blue    #268bd2  hsl(205, 82%, 49%)
 *   cyan    #2aa198  hsl(175, 59%, 40%)
 *   green   #859900  hsl(68, 100%, 30%)
 *
 * ============================================================================= */

/* =============================================================================
 * SOLARIZED LIGHT
 * =============================================================================
 * Warm, paper-like backgrounds with dark blue-gray text.
 * Uses base3/base2 for backgrounds, base00/base01 for text.
 * ============================================================================= */

.theme-solarized {

  /* Primary background - warm cream (base3) */
  --background: 44 87% 94%;

  /* Card surfaces - slightly darker cream (base2) */
  --card: 44 44% 87%;

  --popover: 44 44% 87%;

  /* Secondary surfaces - between base2 and base1 */
  --secondary: 44 30% 82%;

  --muted: 44 35% 85%;

  --accent: 44 50% 90%;

  /* Primary text - dark blue-gray (base00) */
  --foreground: 195 13% 45%;

  /* Card text - slightly darker (base01) */
  --card-foreground: 194 14% 40%;

  --popover-foreground: 195 13% 45%;

  /* Secondary text - lighter (base0) */
  --secondary-foreground: 186 8% 55%;

  /* Muted text - comments tone (base1) */
  --muted-foreground: 180 7% 60%;

  --accent-foreground: 194 14% 40%;

  /* Primary - Solarized blue */
  --primary: 205 82% 49%;
  --primary-foreground: 44 87% 94%;

  /* Destructive - Solarized red */
  --destructive: 1 71% 52%;
  --destructive-foreground: 44 87% 94%;

  --border: 44 20% 75%;

  --input: 44 35% 85%;

  --ring: 175 59% 40%;

  --radius: 0.5rem;
}

/* =============================================================================
 * SOLARIZED DARK
 * =============================================================================
 * Deep blue-teal backgrounds with light gray text.
 * Uses base03/base02 for backgrounds, base0/base1 for text.
 * ============================================================================= */

.theme-solarized.dark {

  /* Primary background - deep teal (base03) */
  --background: 193 100% 11%;

  /* Card surfaces - slightly lighter (base02) */
  --card: 192 90% 14%;

  --popover: 192 90% 14%;

  --secondary: 192 70% 18%;

  --muted: 192 80% 16%;

  --accent: 192 60% 20%;

  /* Primary text - light gray (base0) */
  --foreground: 186 8% 55%;

  --card-foreground: 186 8% 55%;

  --popover-foreground: 186 8% 55%;

  /* Secondary text - lighter (base1) */
  --secondary-foreground: 180 7% 60%;

  /* Muted text - comments tone (base01) */
  --muted-foreground: 194 14% 40%;

  --accent-foreground: 180 7% 60%;

  /* Primary - Solarized cyan for dark mode */
  --primary: 175 59% 40%;
  --primary-foreground: 193 100% 11%;

  /* Destructive - Solarized orange (more visible on dark) */
  --destructive: 18 89% 44%;
  --destructive-foreground: 193 100% 11%;

  --border: 192 50% 22%;

  --input: 192 80% 16%;

  --ring: 45 100% 35%;
}
/* =============================================================================
 * PLAN 9 THEME
 * =============================================================================
 *
 * Derived from the Plan 9 from Bell Labs color palette. Colors taken from
 * libdraw constants (plan9port / 9front), the acme text editor, and rio
 * window manager. Cross-referenced with Kris's plan9.lua (nvim) and
 * plan9.json (Zed) theme definitions.
 *
 * -----------------------------------------------------------------------------
 * @file        plan9.css
 * @author      Kris Yotam
 * @created     2026-05-20
 * @license     MIT
 * @see         https://plan9.io/plan9/
 * -----------------------------------------------------------------------------
 *
 * COLOR PALETTE (libdraw constants)
 * ----------------------------------
 * Surfaces:
 *   acme body    #ffffea  hsl(60, 100%, 96%)   - warm cream (text body)
 *   acme tag     #eaffff  hsl(180, 100%, 96%)  - cool cyan (tag bar)
 *   darkyellow   #eeee9e  hsl(60, 70%, 78%)    - selection / highlight
 *   paleyellow   #ffffaa  hsl(60, 100%, 83%)   - bright highlight
 *   palegreen    #aaffaa  hsl(120, 100%, 83%)  - success surface
 *   palebluegreen #aaffff hsl(180, 100%, 83%)  - info surface
 *
 * Text & accents:
 *   black        #000000  hsl(0, 0%, 0%)       - primary text
 *   scroll       #444444  hsl(0, 0%, 27%)      - secondary text
 *   medblue      #000099  hsl(240, 100%, 30%)  - keywords / links
 *   greyblue     #005dbb  hsl(210, 100%, 37%)  - active links
 *   bluegreen    #008888  hsl(180, 100%, 27%)  - functions / ring
 *   darkgreen    #448844  hsl(120, 33%, 40%)   - types / success
 *   b2 red       #aa0000  hsl(0, 100%, 33%)    - mouse button 2 / destructive
 *   b3 green     #006600  hsl(120, 100%, 20%)  - mouse button 3
 *   purpleblue   #8888cc  hsl(240, 39%, 67%)   - specials
 *   yellowgreen  #99994c  hsl(60, 33%, 45%)    - muted accent
 *
 * ============================================================================= */

/* =============================================================================
 * PLAN 9 LIGHT
 * =============================================================================
 * Acme body cream with cyan tag bar accents. Black text.
 * The characteristic two-tone warmth of working in acme.
 * ============================================================================= */

.theme-plan9 {

  /* Primary background - acme body cream (#ffffea) */
  --background: 60 100% 96%;

  /* Card surfaces - acme tag bar cyan (#eaffff) */
  --card: 180 100% 96%;

  /* Popover surfaces - slightly muted tag bar */
  --popover: 180 80% 95%;

  /* Secondary surfaces - darkyellow (#eeee9e) */
  --secondary: 60 70% 78%;

  --muted: 60 60% 90%;

  /* Accent surfaces - palebluegreen tint */
  --accent: 180 60% 93%;

  --foreground: 0 0% 0%;

  --card-foreground: 0 0% 0%;

  --popover-foreground: 0 0% 5%;

  /* Secondary text - scroll grey (#444444) */
  --secondary-foreground: 0 0% 27%;

  /* Muted text - yellowgreen (#99994c) */
  --muted-foreground: 60 33% 45%;

  --accent-foreground: 0 0% 5%;

  /* Primary - medblue (#000099) */
  --primary: 240 100% 30%;
  --primary-foreground: 60 100% 96%;

  /* Destructive - B2 red (#aa0000) */
  --destructive: 0 100% 33%;
  --destructive-foreground: 60 100% 96%;

  /* Border - darkyellow, muted (#eeee9e at lower sat) */
  --border: 60 40% 80%;

  --input: 60 60% 90%;

  /* Focus ring - bluegreen (#008888) */
  --ring: 180 100% 27%;

  /* Links - medblue (#000099) */
  --link: #000099;

  /* Visited - purpleblue (#8888cc) */
  --link-visited: #8888cc;

  --radius: 0.25rem;
}

/* =============================================================================
 * PLAN 9 DARK
 * =============================================================================
 * Inverted Plan 9: deep warm-black backgrounds, cream-tinted text.
 * Preserves the two-tone body/tag relationship in dark tones.
 * Like rio on a CRT with the lights off.
 * ============================================================================= */

.theme-plan9.dark {

  --background: 60 15% 7%;

  /* Card surfaces - dark with cyan hint (inverted tag bar) */
  --card: 180 15% 10%;

  --popover: 180 12% 11%;

  --secondary: 60 15% 16%;

  --muted: 60 10% 13%;

  --accent: 180 12% 14%;

  --foreground: 60 50% 90%;

  --card-foreground: 60 50% 90%;

  --popover-foreground: 60 40% 88%;

  --secondary-foreground: 60 20% 70%;

  --muted-foreground: 60 15% 50%;

  --accent-foreground: 180 30% 80%;

  --primary: 210 100% 55%;
  --primary-foreground: 60 15% 7%;

  --destructive: 0 80% 50%;
  --destructive-foreground: 60 15% 7%;

  --border: 60 12% 20%;

  --input: 60 10% 13%;

  /* Focus ring - brighter bluegreen for visibility */
  --ring: 180 70% 40%;
}

/* reset: Tailwind 3 preflight as compiled for the original, plus its base layer. */
*, :before, :after {
  box-sizing: border-box;
  border: 0 solid #e5e7eb;
}

:before, :after {
  --tw-content: "";
}

html, :host {
  -webkit-text-size-adjust: 100%;
  tab-size: 4;
  font-feature-settings: normal;
  font-variation-settings: normal;
  -webkit-tap-highlight-color: transparent;
  font-family: ui-sans-serif, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
  line-height: 1.5;
}

body {
  line-height: inherit;
  margin: 0;
}

hr {
  height: 0;
  color: inherit;
  border-top-width: 1px;
}

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}

h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  font-weight: inherit;
}

a {
  color: inherit;
  -webkit-text-decoration: inherit;
  text-decoration: inherit;
}

b, strong {
  font-weight: bolder;
}

code, kbd, samp, pre {
  font-feature-settings: normal;
  font-variation-settings: normal;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
  font-size: 1em;
}

small {
  font-size: 80%;
}

sub, sup {
  vertical-align: baseline;
  font-size: 75%;
  line-height: 0;
  position: relative;
}

sub {
  bottom: -.25em;
}

sup {
  top: -.5em;
}

table {
  text-indent: 0;
  border-color: inherit;
  border-collapse: collapse;
}

button, input, optgroup, select, textarea {
  font-feature-settings: inherit;
  font-variation-settings: inherit;
  font-family: inherit;
  font-size: 100%;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  color: inherit;
  margin: 0;
  padding: 0;
}

button, select {
  text-transform: none;
}

button, input:where([type="button"]), input:where([type="reset"]), input:where([type="submit"]) {
  -webkit-appearance: button;
  background-color: #0000;
  background-image: none;
}

:-moz-focusring {
  outline: auto;
}

:-moz-ui-invalid {
  box-shadow: none;
}

progress {
  vertical-align: baseline;
}

::-webkit-inner-spin-button {
  height: auto;
}

::-webkit-outer-spin-button {
  height: auto;
}

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

summary {
  display: list-item;
}

blockquote, dl, dd, h1, h2, h3, h4, h5, h6, hr, figure, p, pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol, ul, menu {
  margin: 0;
  padding: 0;
  list-style: none;
}

dialog {
  padding: 0;
}

textarea {
  resize: vertical;
}

input::placeholder, textarea::placeholder {
  opacity: 1;
  color: #9ca3af;
}

button, [role="button"] {
  cursor: pointer;
}

:disabled {
  cursor: default;
}

img, svg, video, canvas, audio, iframe, embed, object {
  vertical-align: middle;
  display: block;
}

img, video {
  max-width: 100%;
  height: auto;
}

[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}

* {
  border-color: hsl(var(--border));
}

@media print {
  * {
    box-shadow: none;
    background: none;
    border: none;
    border-radius: 0;
  }
}

body {
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
  font-feature-settings: "rlig" 1, "calt" 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizelegibility;
}




.content,
.essays-content {
  font-family: var(--font-serif), 'Source Serif 4', Georgia, serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  color: hsl(var(--foreground));
  font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
  font-variant-numeric: oldstyle-nums proportional-nums;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  hyphens: auto;
  /* Establish BFC so floated wiki cards are contained — prevents Citation
     (which follows .content as a sibling) from being overlapped. */
  display: flow-root;
}

.content h1, .essays-content h1,
.content h2, .essays-content h2,
.content h3, .essays-content h3,
.content h4, .essays-content h4 {
  font-family: var(--font-serif), 'Source Serif 4', Georgia, serif;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.02em;
  color: hsl(var(--foreground));
  font-variant-numeric: lining-nums;
  margin-top: 2rem;
  margin-bottom: 0.5rem;
  scroll-margin-top: 5rem;
  /* Establish BFC so the underline (border-bottom) stops at a floated
     sibling's edge instead of running underneath it. */
  display: flow-root;
}

.content h1, .essays-content h1 {
  font-size: 1.625rem;
  border-bottom: 1px solid hsl(var(--foreground) / 0.25);
  padding-bottom: 0.25rem;
}

.content h2, .essays-content h2 {
  font-size: 1.5rem;
  border-bottom: 1px solid hsl(var(--foreground) / 0.15);
  padding-bottom: 0.125rem;
}

.content h3, .essays-content h3 {
  font-size: 1.25rem;
  border-bottom: 1px solid hsl(var(--foreground) / 0.1);
  padding-bottom: 0.125rem;
}

.content h4, .essays-content h4 {
  font-size: 1.125rem;
  font-weight: 600;
}

.content > h1:first-child, .essays-content > h1:first-child,
.content > h2:first-child, .essays-content > h2:first-child,
.content > h3:first-child, .essays-content > h3:first-child {
  margin-top: 0;
}

.content p, .essays-content p {
  margin: 0 0 1rem 0;
  padding: 0;
}

.content p:last-child, .essays-content p:last-child {
  margin-bottom: 0;
}

.content p:empty, .essays-content p:empty {
  display: none;
}

.content blockquote,
.essays-content blockquote {
  margin: 1.5rem 0;
  padding: 0 0 0 1.25em;
  border: none;
  border-left: 3px solid hsl(var(--foreground) / 0.2);
  background: none;
  color: hsl(var(--muted-foreground));
  font-size: 0.95em;
  line-height: 1.65;
  overflow: visible;
}

.content blockquote blockquote,
.essays-content blockquote blockquote {
  border-left-color: hsl(var(--foreground) / 0.35);
}

.content blockquote blockquote blockquote,
.essays-content blockquote blockquote blockquote {
  border-left-color: hsl(var(--foreground) / 0.5);
}

.content blockquote p,
.essays-content blockquote p {
  margin: 0;
  text-align: left;
}

.content blockquote cite,
.essays-content blockquote cite {
  display: block;
  margin-top: 0.75rem;
  font-size: 0.9em;
  font-style: normal;
  color: hsl(var(--muted-foreground));
}

.content a, .essays-content a {
  color: hsl(var(--foreground));
  text-decoration: none;
  transition: opacity 0.15s ease;
}

.content a:hover, .essays-content a:hover {
  opacity: 0.7;
}

.content ul, .essays-content ul,
.content ol, .essays-content ol {
  margin: 1rem 0 1.25rem 0;
  padding-left: 1.5rem;
}

.content ul, .essays-content ul {
  list-style-type: circle;
}

.content ul ul, .essays-content ul ul {
  list-style-type: disc;
}

.content ul ul ul, .essays-content ul ul ul {
  list-style-type: circle;
}

.content ul ul ul ul, .essays-content ul ul ul ul {
  list-style-type: disc;
}

.content ol, .essays-content ol {
  list-style-type: decimal;
}

.content li, .essays-content li {
  margin-bottom: 0.5rem;
  line-height: 1.6;
}

.content li:last-child, .essays-content li:last-child {
  margin-bottom: 0;
}

.content li > ul, .essays-content li > ul,
.content li > ol, .essays-content li > ol {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

.content code, .essays-content code {
  font-family: var(--font-mono), 'Go Mono', ui-monospace, Menlo, monospace;
  font-size: 0.875em;
  background: hsl(var(--muted));
  padding: 0.15em 0.4em;
  border-radius: 0;
  white-space: nowrap;
}

.content pre, .essays-content pre {
  font-family: var(--font-mono), 'Go Mono', ui-monospace, Menlo, monospace;
  margin: 1.5rem 0;
  padding: 1rem;
  overflow-x: auto;
  border: 1px solid hsl(var(--border));
  border-radius: 0;
  background: hsl(var(--muted) / 0.5);
  font-size: 13px;
  line-height: 1.45;
  white-space: pre;
  overflow-x: auto;
}

.content pre code, .essays-content pre code {
  font-family: inherit;
  background: transparent;
  padding: 0;
  font-size: inherit;
  white-space: pre;
}

.content table, .essays-content table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95em;
  line-height: 1.5;
  margin: 1.5rem 0;
  font-variant-numeric: lining-nums tabular-nums;
}

.content thead, .essays-content thead {
  border-bottom: 2px solid hsl(var(--border));
}

.content th, .essays-content th,
.content td, .essays-content td {
  border: 1px solid hsl(var(--border));
  padding: 0.75rem;
  text-align: left;
  font-variant-numeric: lining-nums tabular-nums;
}

.content th, .essays-content th {
  background: hsl(var(--muted) / 0.5);
  font-weight: 600;
}

.content tbody tr:nth-child(even), .essays-content tbody tr:nth-child(even) {
  background: hsl(var(--muted) / 0.2);
}

.content .wiki-card table,
.essays-content .wiki-card table {
  margin: 0;
  border-collapse: collapse;
  font-size: inherit;
  line-height: inherit;
}
.content .wiki-card th,
.content .wiki-card td,
.essays-content .wiki-card th,
.essays-content .wiki-card td {
  border: none;
  padding: 0.5rem;
  background: transparent;
}
.content .wiki-card tbody tr:nth-child(even),
.essays-content .wiki-card tbody tr:nth-child(even) {
  background: transparent;
}

.content .table-wrapper, .essays-content .table-wrapper {
  max-width: 100%;
  overflow-x: auto;
  margin: 1.5rem 0;
  border: 1px solid hsl(var(--border) / 0.5);
  border-radius: 4px;
}

.content img, .essays-content img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 1.5rem auto;
  border-radius: 4px;
}

.content figure, .essays-content figure {
  margin: 1.5rem 0;
}

.content figcaption, .essays-content figcaption {
  font-size: 0.9em;
  text-align: center;
  color: hsl(var(--muted-foreground));
  margin-top: 0.5rem;
  font-style: italic;
}

.content hr, .essays-content hr {
  border: none;
  border-top: 1px solid hsl(var(--border));
  margin: 2rem 0;
}

.content dl, .essays-content dl {
  margin: 1rem 0 1.5rem;
}

.content dt, .essays-content dt {
  font-weight: 600;
  margin-top: 1rem;
}

.content dt:first-child, .essays-content dt:first-child {
  margin-top: 0;
}

.content dd, .essays-content dd {
  margin-left: 1.5rem;
  margin-bottom: 0.5rem;
  color: hsl(var(--muted-foreground));
}

.content input[type="checkbox"], .essays-content input[type="checkbox"] {
  margin-right: 0.5rem;
  vertical-align: middle;
}

.content ul:has(input[type="checkbox"]), .essays-content ul:has(input[type="checkbox"]) {
  list-style: none;
  padding-left: 0;
}

.content .footnotes, .essays-content .footnotes {
  border-top: 1px solid hsl(var(--border));
  margin-top: 3rem;
  padding-top: 1.5rem;
  font-size: 0.9em;
}

.content .footnotes ol, .essays-content .footnotes ol {
  padding-left: 1.5rem;
}

.content .footnotes li, .essays-content .footnotes li {
  margin-bottom: 0.5rem;
}

.content .footnote-ref, .essays-content .footnote-ref {
  font-size: 0.75em;
  vertical-align: super;
  line-height: 0;
  text-decoration: none;
}

.content .footnote-backref, .essays-content .footnote-backref {
  font-size: 0.8em;
  text-decoration: none;
  margin-left: 0.25rem;
}

.content abbr, .essays-content abbr {
  text-decoration: underline dotted;
  cursor: help;
}

.content kbd, .essays-content kbd {
  font-family: var(--font-mono), 'Go Mono', ui-monospace, Menlo, monospace;
  font-size: 0.85em;
  background: hsl(var(--muted));
  padding: 0.15em 0.4em;
  border-radius: 3px;
  border: 1px solid hsl(var(--border));
  box-shadow: inset 0 -1px 0 hsl(var(--border));
}

.content strong, .essays-content strong {
  font-weight: 600;
}

.content em, .essays-content em {
  font-style: italic;
}

.content small, .essays-content small {
  font-size: 0.875em;
  color: hsl(var(--muted-foreground));
}

.content sup, .essays-content sup,
.content sub, .essays-content sub {
  font-size: 0.75em;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

.content sup, .essays-content sup {
  top: -0.5em;
}

.content sub, .essays-content sub {
  bottom: -0.25em;
}

.content details, .essays-content details {
  margin: 1rem 0;
  padding: 0.75rem 1rem;
  background: hsl(var(--muted) / 0.3);
  border: 1px solid hsl(var(--border));
  border-radius: 4px;
}

.content summary, .essays-content summary {
  cursor: pointer;
  font-weight: 500;
}

.content details[open] summary, .essays-content details[open] summary {
  margin-bottom: 0.75rem;
}

/* =============================================================================
 * MULTI-COLUMN LISTS  (gwern.net .columns)
 * Usage in MDX: <div className="columns">\n\n- item\n- item\n\n</div>
 * ============================================================================= */

.content .columns ul, .essays-content .columns ul,
.content .columns ol, .essays-content .columns ol {
  column-width: 18em;
  column-gap: 3em;
  text-align: left;
}

.content .columns li, .essays-content .columns li {
  break-inside: avoid;
}

/* globals: the original globals.css, minus Tailwind directives. */

   :root {
     --site-gutter: 1rem;
     --site-block-start: 2rem;
     --site-block-end: 0;
     --content-measure: 42rem;
     --home-measure: 48rem;
     --wide-measure: 75rem;
   }

   @media (min-width: 768px) {
     :root {
       --site-gutter: 2rem;
       --site-block-start: 3rem;
     }
   }

   @media (min-width: 1200px) {
     :root {
       --site-gutter: 3rem;
       --site-block-start: 4rem;
     }
   }

   @media (min-width: 1800px) {
     :root {
       --site-gutter: 4rem;
       --site-block-start: 5rem;
       --content-measure: 44rem;
       --home-measure: 52rem;
     }
   }

   .site-shell,
   .content-shell,
   .home-shell,
   .wide-shell {
     width: min(100%, var(--shell-measure));
     margin-inline: auto;
     padding-inline: var(--site-gutter);
     padding-block-start: var(--site-block-start);
     padding-block-end: var(--site-block-end);
   }

   .content-shell { --shell-measure: var(--content-measure); }
   .home-shell {
     --shell-measure: var(--home-measure);
     --site-block-start: 1.9rem;
   }
   .wide-shell { --shell-measure: var(--wide-measure); }

   .home-accordion-panel {
     animation: home-accordion-enter 180ms ease-out;
     transform-origin: top;
   }

   @keyframes home-accordion-enter {
     from {
       opacity: 0;
       transform: translateY(-0.25rem);
     }
     to {
       opacity: 1;
       transform: translateY(0);
     }
   }

   @media (prefers-reduced-motion: reduce) {
     .home-accordion-panel {
       animation: none;
     }
   }

   .code-block pre {
     margin: 0;
     padding: 0;
     overflow-x: auto;
   }

   .code-container span[style*="userSelect"] {
     user-select: none !important;
     border-right: 1px solid rgba(127, 127, 127, 0.25) !important;
     margin-right: 1em !important;
     padding-right: 1em !important;
     opacity: 0.6 !important;
     min-width: 3em !important;
     text-align: right !important;
     display: inline-block !important;
     position: sticky;
     left: 0;
     background: inherit;
   }

   .code-container span[style*="display: block"] {
     display: flex !important;
     min-width: 100% !important;
   }

   .code-container span[style*="display: block"] > span:last-child {
     padding-left: 1em !important;
     flex: 1 !important;
     min-width: 0 !important;
   }

   .code-container .linenumber {
     min-width: 3em !important;
     max-width: 3em !important;
     text-align: right !important;
     padding-right: 1em !important;
     border-right: 1px solid rgba(127, 127, 127, 0.25) !important;
     margin-right: 1em !important;
     opacity: 0.6 !important;
     user-select: none !important;
     position: sticky;
     left: 0;
     background: inherit;
   }

   .code-container::-webkit-scrollbar {

   }

   .code-container::-webkit-scrollbar-track {
     background: transparent;
   }

   .code-container::-webkit-scrollbar-thumb {
     background-color: rgba(127, 127, 127, 0.4);
     border-radius: 3px;
   }

   .hover-card-root { position: relative; }
   .hover-card-content {
     display: none;
     position: absolute;
     left: 50%;
     transform: translateX(-50%);
     top: calc(100% + 4px);
     opacity: 0;
     transition: opacity 0.15s ease;
     pointer-events: none;
   }
   .hover-card-root:hover > .hover-card-content,
   .hover-card-root:focus-within > .hover-card-content {
     display: block;
     opacity: 1;
     pointer-events: auto;
   }

   .tooltip-root { position: relative; }
   .tooltip-content {
     display: none;
     position: absolute;
     left: 50%;
     transform: translateX(-50%);
     bottom: calc(100% + 4px);
     white-space: nowrap;
     pointer-events: none;
   }
   .tooltip-root:hover > .tooltip-content,
   .tooltip-root:focus-within > .tooltip-content {
     display: block;
     pointer-events: auto;
   }

   pre code.hljs {
     display: block;
     padding: 0;
     overflow-x: auto;
     font-family: var(--font-mono), 'Go Mono', ui-monospace, Menlo, monospace;
     font-size: 0.875rem;
     line-height: 1.5;
   }

   :is(.light) pre code.hljs {
     color: #24292e;
     background: transparent;
   }

   :is(.dark) pre code.hljs {
     color: #e1e4e8;
     background: transparent;
   }

   pre::-webkit-scrollbar {

   }

   pre::-webkit-scrollbar-track {
     background: transparent;
   }

   pre::-webkit-scrollbar-thumb {
     background-color: rgba(127, 127, 127, 0.4);
     border-radius: 3px;
   }


   .book-content {
     font-family: var(--font-serif), 'Source Serif 4', Georgia, serif;
     font-size: 1.125rem;
     line-height: 1.75;
     max-width: 65ch;
     margin: 0 auto;
   }

   .book-content p {
     margin: 0;
     padding: 0;
   }

   .no-outline {
     outline: none !important;
     border-style: solid;
     transition: transform 0.3s ease, box-shadow 0.3s ease;
     -webkit-backface-visibility: hidden;
     backface-visibility: hidden;
   }

   .book-content h1,
   .book-content h2,
   .book-content h3,
   .book-content h4,
   .book-content h5,
   .book-content h6 {
     font-family: var(--font-serif), 'Source Serif 4', Georgia, serif;
     font-weight: 600;
     margin-top: 2em;
     margin-bottom: 1em;
     letter-spacing: -0.015em;
   }

   .book-content a {
     color: inherit;
     text-decoration: underline dotted;
     text-decoration-thickness: 1px;
     text-underline-offset: 0.15em;
   }

   .book-content blockquote {
     font-style: italic;
     border-left: 3px solid currentColor;
     padding-left: 1em;
     margin-left: 0;
   }

   .book-content pre,
   .book-content code {
     font-family: var(--font-mono), 'Go Mono', ui-monospace, Menlo, monospace;
     background-color: hsl(var(--muted));
     padding: 0.2em 0.4em;
     border-radius: 3px;
   }

   .book-content img {
     max-width: 100%;
     height: auto;
     display: block;
     margin: 2em auto;
   }

     .command-menu-open::after {
       content: "";
       position: fixed;
       top: 0;
       left: 0;
       right: 0;
       bottom: 0;
       backdrop-filter: blur(5px);
       z-index: 40;
     }

.pe-details > summary {
  list-style: none;
  cursor: pointer;
}
.pe-details > summary::-webkit-details-marker {
  display: none;
}
.pe-details > summary::marker {
  display: none;
  content: "";
}

.card-3d {
  perspective: 1000px;
  -webkit-perspective: 1000px;
  height: 100%;
  width: 100%;
}

.card-3d-inner {
  display: grid;
  grid-template-areas: "stack";
  width: 100%;
  height: 100%;
  transition: transform 0.6s cubic-bezier(.2,.8,.2,1);
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
}

.card-3d:hover .card-3d-inner,
.card-3d.flip .card-3d-inner {
  transform: rotateY(180deg);
}

.card-3d-front,
.card-3d-back {
  grid-area: stack;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  width: 100%;
  height: 100%;
}

.card-3d-back {
  transform: rotateY(180deg);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
}

   .component {
     width: 100vw;
     position: relative;
     left: 50%;
     right: 50%;
     margin-left: -50vw;
     margin-right: -50vw;
     max-width: 100vw;
     overflow-x: hidden;
     display: flex;
     justify-content: center;
   }

   .component > div {
     width: 100%;
     max-width: calc(100% - 2rem);
     padding-left: 1rem;
     padding-right: 1rem;
   }

   @media (min-width: 768px) {
     .component > div {
       max-width: calc(100% - 4rem);
       padding-left: 2rem;
       padding-right: 2rem;
     }
   }

   @media (min-width: 1200px) {
     .component > div {
       max-width: 1200px;
     }
   }

   .component * {
     max-width: none !important;
   }

   html {
     scrollbar-gutter: stable;
   }

   ::-webkit-scrollbar {
     width: 8px;
   }

   ::-webkit-scrollbar-track {
     background: hsl(var(--background));
   }

   ::-webkit-scrollbar-thumb {
     background: hsl(var(--muted-foreground) / 0.3);
     border-radius: 0;
   }

   ::-webkit-scrollbar-thumb:hover {
     background: hsl(var(--muted-foreground) / 0.5);
   }

   html.show-scrollbar {
     overflow-y: scroll;
   }

   html.hide-scrollbar {
     scrollbar-width: none;
     -ms-overflow-style: none;
   }

   html.hide-scrollbar::-webkit-scrollbar {
     width: 0;
     background: transparent;
     display: none;
   }

   span[data-nimg] {
     display: block !important;
   }

   span[data-nimg]:not(.dropcap-image-wrapper span) {
     display: block !important;      /* kill inline‑block spacing */
     margin: 0 !important;
     padding: 0 !important;
     vertical-align: top !important;

   }

   img:not(.dropcap-image) {
     display: block !important;
     margin: 0 !important;
     padding: 0 !important;
     border: 0 !important;
     vertical-align: top !important;
   }

   .dropcap-image-wrapper {
     float: left;
     margin-right: 0.25em !important;
     margin-top: 0.15em !important;
     margin-bottom: 0 !important;
     margin-left: -0.05em !important;
     line-height: 0;
     padding: 0 !important;
     display: inline-block !important;
     clear: none !important;
   }

   .dropcap-image-wrapper::after {
     content: none !important;
     display: none !important;
   }

   /* Ensure dropcap Next.js Image wrapper spans stay inline */
   .dropcap-image-wrapper span[data-nimg] {
     display: inline-block !important;
     margin: 0 !important;
     padding: 0 !important;
     vertical-align: top !important;
     line-height: 0 !important;
   }

   .dropcap-image {
     background: transparent;
     border: none;
     user-select: none;
     margin: 0 !important;
     padding: 0 !important;
     display: inline-block !important; /* override global img block display */
     vertical-align: top !important;

   }

   .dropcap-tabs.dropcap-image-wrapper {
     margin-right: 0.2em !important;
     margin-bottom: 0 !important;
   }

   .dropcap-image {

     outline: none !important;
     box-shadow: none !important;
     opacity: 1 !important;
     background: transparent !important;
   }

   .dark .dropcap-image.dark\:invert {
     filter: invert(1) !important;
   }

   .dropcap-image {
     width: 6em !important;
     height: 6em !important;
     object-fit: contain;
   }

   .post-content {
     hyphens: auto;
     -webkit-hyphens: auto;
     -ms-hyphens: auto;
   }

   .post-content p {
     hyphens: auto;
     -webkit-hyphens: auto;
     -ms-hyphens: auto;
     margin: 0 !important;
     padding: 0 !important;
   }

   .post-content p:has(.dropcap-image-wrapper),
   .post-content p .dropcap-image-wrapper {
     margin: 0 !important;
     padding: 0 !important;
   }

   .post-content .dropcap-image-wrapper + p,
   .post-content p:has(.dropcap-image-wrapper) + p {
     margin-top: 0 !important;
   }

img.logo-light,
span[data-nimg] img.logo-light {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.dark img.logo-light,
.dark span[data-nimg] img.logo-light {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

img.logo-dark,
span[data-nimg] img.logo-dark {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

.dark img.logo-dark,
.dark span[data-nimg] img.logo-dark {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.dark [data-note-index] {
  border-color: hsl(0 0% 20%) !important;
}

.dark [data-note-index] .border,
.dark [data-note-index] .bg-border {
  border-color: hsl(0 0% 20%) !important;
  background-color: hsl(0 0% 20%) !important;
}

.dark [data-note-index] .border-t {
  border-top-color: hsl(0 0% 20%) !important;
}

.dark [data-note-index] .border-dotted {
  border-color: hsl(0 0% 35%) !important;
}

.katex-display {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin: 0.5em auto !important;
  max-width: 100%;
  padding: 0 !important;
}

.katex-inline {
  display: inline;
}

.katex-display .katex {
  display: inline-block;
}

.problem-content .katex-display,
.proof-content .katex-display,
p .katex-display {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin: 0.5em auto !important;
  padding: 0 !important;
}

[class*="-content"] h1,
[class*="-content"] h2,
[class*="-content"] h3 {
  position: relative;
}

[class*="-content"] h1[data-underline-width],
[class*="-content"] h2[data-underline-width],
[class*="-content"] h3[data-underline-width] {
  overflow: hidden;
}

[class*="-content"] h1[data-underline-width]::after,
[class*="-content"] h2[data-underline-width]::after,
[class*="-content"] h3[data-underline-width]::after {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  width: calc(100% - var(--underline-width, 100%));
  height: 1px;
  background: var(--background, #fff);
  z-index: 2;
}

.dark [class*="-content"] h1[data-underline-width]::after,
.dark [class*="-content"] h2[data-underline-width]::after,
.dark [class*="-content"] h3[data-underline-width]::after {
  background: hsl(var(--background));
}

@keyframes spin-left {
  100% { transform: rotate(-360deg); }
}
@keyframes spin-right {
  100% { transform: rotate(360deg); }
}
/* Matches the 600ms timeout in settings.tsx so the class never drops mid-turn. */
.animate-spin-left {
  animation: spin-left 600ms cubic-bezier(.22,1,.36,1) both;
}
.animate-spin-right {
  animation: spin-right 600ms cubic-bezier(.22,1,.36,1) both;
}
@media (prefers-reduced-motion: reduce) {
  .animate-spin-left, .animate-spin-right { animation: none; }
}

.footer-cube-wrapper {
  perspective: 200px;
  height: 16px;
  overflow: hidden;
}

.footer-cube {
  position: relative;
  width: 100%;
  height: 16px;
  transform-style: preserve-3d;
  transform: rotateX(0deg);
  transition: transform 0.5s cubic-bezier(0.4, 0.0, 0.2, 1);
}

.footer-cube[data-flipped="true"] {
  transform: rotateX(-90deg);
}

.footer-cube-face {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 16px;
  backface-visibility: hidden;
  display: flex;
  align-items: center;
}

.footer-cube-front {
  transform: rotateX(0deg) translateZ(8px);
}

.footer-cube-bottom {
  transform: rotateX(90deg) translateZ(8px);
}

.link-icon-img {
  filter: none;
  transition: filter 150ms ease, opacity 150ms ease;
  display: block;
}

.dark .link-icon-img {
  filter: invert(1) grayscale(1) brightness(2) contrast(1.1);
}

@media (prefers-color-scheme: dark) {
  .link-icon-img {
    filter: invert(1) grayscale(1) brightness(2) contrast(1.1);
  }
}

.comment-content {
  font-family: var(--font-sans), 'IBM Plex Sans', system-ui, sans-serif;
  font-size: 0.875rem;
  line-height: 1.6;
  color: hsl(var(--foreground));
}

.comment-content h1,
.comment-content h2,
.comment-content h3,
.comment-content h4,
.comment-content h5,
.comment-content h6 {
  font-family: var(--font-sans), 'IBM Plex Sans', system-ui, sans-serif;
  font-weight: 600;
  line-height: 1.3;
  margin-top: 1.25em;
  margin-bottom: 0.5em;
  padding-bottom: 0.3em;
  border-bottom: 1px solid hsl(var(--border));
}

.comment-content h1:first-child,
.comment-content h2:first-child,
.comment-content h3:first-child,
.comment-content h4:first-child,
.comment-content h5:first-child,
.comment-content h6:first-child {
  margin-top: 0;
}

.comment-content h1 { font-size: 1.5em; }
.comment-content h2 { font-size: 1.3em; }
.comment-content h3 { font-size: 1.15em; }
.comment-content h4 { font-size: 1em; border-bottom: none; }
.comment-content h5 { font-size: 0.95em; border-bottom: none; }
.comment-content h6 { font-size: 0.9em; border-bottom: none; color: hsl(var(--muted-foreground)); }

.comment-content p {
  margin: 0 0 0.75em 0;
}

.comment-content p:last-child {
  margin-bottom: 0;
}

.comment-content a {
  color: hsl(217, 91%, 60%);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.15s ease;
}

.comment-content a:hover {
  border-bottom-color: hsl(217, 91%, 60%);
}

.dark .comment-content a {
  color: hsl(217, 91%, 70%);
}

.dark .comment-content a:hover {
  border-bottom-color: hsl(217, 91%, 70%);
}

.comment-content ul,
.comment-content ol {
  margin: 0.5em 0 0.75em 0;
  padding-left: 1.5em;
}

.comment-content ul {
  list-style-type: disc;
}

.comment-content ol {
  list-style-type: decimal;
}

.comment-content li {
  margin-bottom: 0.25em;
}

.comment-content li:last-child {
  margin-bottom: 0;
}

.comment-content li > ul,
.comment-content li > ol {
  margin-top: 0.25em;
  margin-bottom: 0;
}

.comment-content ul.contains-task-list {
  list-style: none;
  padding-left: 0;
}

.comment-content li.task-list-item {
  display: flex;
  align-items: flex-start;
  gap: 0.5em;
}

.comment-content li.task-list-item input[type="checkbox"] {
  margin-top: 0.3em;
}

.comment-content blockquote {
  margin: 0.75em 0;
  padding: 0.5em 1em;
  border-left: 3px solid hsl(var(--border));
  background: hsl(var(--muted) / 0.3);
  color: hsl(var(--muted-foreground));
  font-style: italic;
}

.comment-content blockquote p {
  margin: 0;
}

.comment-content blockquote blockquote {
  margin-top: 0.5em;
}

.comment-content code:not(pre code) {
  font-family: var(--font-mono), 'Go Mono', ui-monospace, Menlo, monospace;
  font-size: 0.85em;
  padding: 0.15em 0.4em;
  background: hsl(var(--muted));
  border-radius: 3px;
  white-space: nowrap;
}

.comment-content pre {
  margin: 0.75em 0;
  padding: 0.75em 1em;
  background: hsl(var(--muted));
  border: 1px solid hsl(var(--border));
  border-radius: 4px;
  overflow-x: auto;
  font-size: 0.85em;
}

.comment-content pre code {
  font-family: var(--font-mono), 'Go Mono', ui-monospace, Menlo, monospace;
  background: none;
  padding: 0;
  white-space: pre;
  word-break: normal;
  overflow-wrap: normal;
}

.comment-content table {
  width: 100%;
  margin: 0.75em 0;
  border-collapse: collapse;
  border: 1px solid hsl(var(--border));
  font-size: 0.85em;
}

.comment-content thead {
  background: hsl(var(--muted) / 0.5);
}

.comment-content th,
.comment-content td {
  padding: 0.5em 0.75em;
  border: 1px solid hsl(var(--border));
  text-align: left;
}

.comment-content th {
  font-weight: 600;
}

.comment-content tbody tr:nth-child(even) {
  background: hsl(var(--muted) / 0.2);
}

.comment-content hr {
  margin: 1em 0;
  border: none;
  border-top: 1px solid hsl(var(--border));
}

.comment-content img {
  max-width: 100%;
  height: auto;
  margin: 0.75em 0;
  border-radius: 4px;
  border: 1px solid hsl(var(--border));
}

.comment-content strong {
  font-weight: 600;
}

.comment-content em {
  font-style: italic;
}

.comment-content del {
  text-decoration: line-through;
  color: hsl(var(--muted-foreground));
}

.comment-content dl {
  margin: 0.75em 0;
}

.comment-content dt {
  font-weight: 600;
  margin-top: 0.5em;
}

.comment-content dd {
  margin-left: 1.5em;
  color: hsl(var(--muted-foreground));
}

.comment-content .footnotes {
  margin-top: 1.5em;
  padding-top: 1em;
  border-top: 1px solid hsl(var(--border));
  font-size: 0.85em;
  color: hsl(var(--muted-foreground));
}

.comment-content .katex-display {
  margin: 0.75em 0;
  overflow-x: auto;
  overflow-y: hidden;
}

.comment-content .katex {
  font-size: 1em;
}

.comment-content kbd {
  display: inline-block;
  padding: 0.15em 0.4em;
  font-family: var(--font-mono), 'Go Mono', ui-monospace, Menlo, monospace;
  font-size: 0.8em;
  background: hsl(var(--muted));
  border: 1px solid hsl(var(--border));
  border-radius: 3px;
  box-shadow: inset 0 -1px 0 hsl(var(--border));
}

.comment-content abbr[title] {
  text-decoration: underline dotted;
  cursor: help;
}

.comment-content details {
  margin: 0.75em 0;
  padding: 0.5em 0.75em;
  background: hsl(var(--muted) / 0.3);
  border: 1px solid hsl(var(--border));
  border-radius: 4px;
}

.comment-content summary {
  cursor: pointer;
  font-weight: 500;
}

.comment-content details[open] summary {
  margin-bottom: 0.5em;
}

.comment-content sup,
.comment-content sub {
  font-size: 0.75em;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

.comment-content sup {
  top: -0.5em;
}

.comment-content sub {
  bottom: -0.25em;
}

:root {
  --sidenote-max-width: 380px;
  --sidenote-padding: 10px;
  --sidenote-border-width: 3px;
  --sidenote-border-color: hsl(var(--muted-foreground) / 0.5);
  --sidenote-highlight-color: hsl(var(--muted-foreground) / 0.7);
  --sidenote-self-link-border-color: hsl(var(--muted-foreground) / 0.5);
}

#sidenote-column-left,
#sidenote-column-right {
  position: absolute;

  max-width: var(--sidenote-max-width);
  pointer-events: none;
  z-index: 100;
}

#sidenote-column-left:empty,
#sidenote-column-right:empty {
  display: none;
}

@media (max-width: 1399px) {
  .sidenote-column,
  #sidenote-column-left,
  #sidenote-column-right {
    display: none !important;
  }
}

.sidenote {
  position: absolute;
  left: 0;
  width: 100%;
  opacity: 0.85;
  padding: 2em 0 0 0;
  font-size: 0.85em;
  line-height: 1.5;
  transition:
    opacity 0.25s ease-in,
    transform 0.25s ease-in,
    top 0.15s ease-out;
  pointer-events: auto;
}

.sidenote.hidden {
  display: none;
}

.sidenote:hover,
.sidenote.targeted,
.sidenote.displaced,
.sidenote.highlighted {
  background-color: hsl(var(--background));
  opacity: 1.0;
  box-shadow: 0 0 0 16px hsl(var(--background));
}

.sidenote.targeted {
  z-index: 1;
}

.sidenote.displaced {
  z-index: 2;
}

.sidenote.highlighted,
.sidenote:hover {
  z-index: 3;
}

.sidenote::after {
  content: "";
  position: absolute;
  width: calc(100% + 2 * var(--sidenote-padding));
  height: calc(100% + 2 * var(--sidenote-padding));
  top: calc(-1 * (var(--sidenote-padding) + var(--sidenote-border-width)));
  left: calc(-1 * (var(--sidenote-padding) + var(--sidenote-border-width)));
  border: 0px solid hsl(var(--background));
  pointer-events: none;
  transition:
    border-color 0.15s ease 0.05s,
    border-style 0.15s ease 0.05s;
}

.sidenote:hover::after,
.sidenote.targeted::after,
.sidenote.displaced::after,
.sidenote.highlighted::after {
  border: 3px double var(--sidenote-highlight-color);
}

.sidenote.cut-off::before {
  content: "…";
  position: absolute;
  border: 1px dotted var(--sidenote-border-color);
  top: calc(100% - 1px);
  left: 0;
  right: 0;
  margin: auto;
  width: fit-content;
  z-index: 2;
  background-color: hsl(var(--background));
  padding: 0.125em 0.5em 0.5em 0.5em;
  font-size: 1.25em;
  font-weight: 600;
  line-height: 0.5;
  pointer-events: none;
}

.sidenote.cut-off.hide-more-indicator::before {
  visibility: hidden;
}

.sidenote-outer-wrapper {
  max-height: 600px;
  overflow: hidden;
  position: relative;
  z-index: 1;
  border-style: dotted;
  border-color: var(--sidenote-border-color);
  border-width: 1px 0;
}

.sidenote:hover .sidenote-outer-wrapper,
.sidenote.displaced .sidenote-outer-wrapper,
.sidenote.highlighted .sidenote-outer-wrapper {
  max-height: 60vh;
}

.sidenote.cut-off .sidenote-outer-wrapper {
  overflow-y: scroll;
  overscroll-behavior: none;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.sidenote.cut-off .sidenote-outer-wrapper::-webkit-scrollbar {
  display: none;
}

.sidenote-inner-wrapper {
  position: relative;
  margin: 0.5em 0;
}

.sidenote-inner-wrapper > * {
  position: relative;
  z-index: 1;
}

.sidenote-self-link {
  font-weight: 600;
  position: absolute;
  top: -1px;
  background-color: hsl(var(--background));
  background-image: none !important;
  border: 1px solid var(--sidenote-self-link-border-color);
  width: 2em;
  height: 2em;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  text-decoration: none !important;
  color: hsl(var(--foreground)) !important;
  transition:
    border-color 0.15s ease 0.05s,
    border-style 0.15s ease 0.05s;
}

#sidenote-column-left .sidenote-self-link {
  right: 1px;
}

#sidenote-column-right .sidenote-self-link {
  left: 1px;
}

.sidenote.targeted > .sidenote-self-link,
.sidenote > .sidenote-self-link:hover {
  border-width: 3px;
  border-style: double;
  top: -3px;
}

#sidenote-column-left .sidenote.targeted > .sidenote-self-link,
#sidenote-column-left .sidenote > .sidenote-self-link:hover {
  right: -2px;
}

#sidenote-column-right .sidenote.targeted > .sidenote-self-link,
#sidenote-column-right .sidenote > .sidenote-self-link:hover {
  left: -2px;
}

.sidenote-citation-active {
  background-color: hsl(var(--muted));
  border-radius: 2px;
  box-shadow: 0 0 0 2px hsl(var(--muted));
}

.sidenote-inner-wrapper p {
  margin: 0 0 0.5em 0;
}

.sidenote-inner-wrapper p:last-child {
  margin-bottom: 0;
}

.sidenote-inner-wrapper a {
  color: hsl(var(--foreground));
  text-decoration: underline;
  text-decoration-style: dotted;
  text-underline-offset: 2px;
}

.sidenote-inner-wrapper a:hover {
  text-decoration-style: solid;
}

.sidenote-active {
  border-color: hsl(var(--foreground)) !important;
  border-style: double !important;
  border-width: 3px !important;
}

.sidenote-ref-active {
  background-color: hsl(var(--muted));
  border-radius: 2px;
  box-shadow: 0 0 0 2px hsl(var(--muted));
}

   .footnotes-details {
     margin-top: 3rem;
     border-top: 1px solid hsl(var(--border));
     padding-top: 1rem;
   }

   .footnotes-summary {
     cursor: pointer;
     display: flex;
     align-items: center;
     gap: 0.5rem;
     font-family: var(--font-mono), monospace;
     font-size: 0.8rem;
     text-transform: uppercase;
     letter-spacing: 0.1em;
     color: hsl(var(--muted-foreground));
     list-style: none;
   }

   .footnotes-summary::-webkit-details-marker { display: none; }
   .footnotes-summary::marker { display: none; }

   .footnotes-count {
     font-variant-numeric: tabular-nums;
   }

   .footnotes-list {
     list-style: none;
     padding: 0;
     margin: 0.75rem 0 0 0;
   }

   .footnotes-item {
     display: flex;
     align-items: flex-start;
     gap: 0.75rem;
     padding: 0.5rem 0;
     border-bottom: 1px dotted hsl(var(--border));
     font-size: 0.875rem;
     line-height: 1.6;
   }

   .footnotes-item:last-child { border-bottom: none; }

   .footnotes-number {
     flex-shrink: 0;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     min-width: 1.5em;
     height: 1.5em;
     border: 1px solid hsl(var(--border));
     font-size: 0.7em;
     font-weight: 600;
     font-variant-numeric: tabular-nums;
     color: hsl(var(--muted-foreground));
   }

   .footnotes-content { flex: 1; }
   .footnotes-content p { margin: 0; }

   .footnotes-backref {
     flex-shrink: 0;
     color: hsl(var(--muted-foreground));
     text-decoration: none;
     font-size: 0.8em;
   }

   .footnotes-backref:hover { color: hsl(var(--foreground)); }

   .footnotes-toggle {
     display: block;
     margin: 0.5rem 0;
     padding: 0.25rem 0;
     background: none;
     border: none;
     font-family: var(--font-mono), monospace;
     font-size: 0.75rem;
     color: hsl(var(--muted-foreground));
     cursor: pointer;
     text-transform: uppercase;
     letter-spacing: 0.05em;
   }

   .footnotes-toggle:hover { color: hsl(var(--foreground)); }

   .sidenote-number {
  display: inline-block;
  font-size: 0.7em;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  min-width: 1.5em;
  text-align: center;
  border: 1px solid hsl(var(--border));
  padding: 0 0.3em;
  margin-right: 0.5em;
  vertical-align: super;
}

.footnotes {
  margin-top: 3rem;
  padding-top: 1.5rem;
  border-top: 1px solid hsl(var(--border));
  font-size: 0.875rem;
}

.footnotes hr {
  display: none;
}

.footnotes ol {
  padding-left: 1.5rem;
}

.footnotes li {
  margin-bottom: 0.75rem;
}

.footnotes li p {
  margin: 0;
}

.footnote-backref {
  margin-left: 0.25rem;
  text-decoration: none;
  opacity: 0.6;
}

.footnote-backref:hover {
  opacity: 1;
}

[data-survey-slug] .fmd-root {
  --fmd-main-container-width: 100%;
}

[data-survey-slug] .fmd-root .fmd-form-control:focus,
[data-survey-slug] .fmd-root .fmd-form-control:focus-visible,
[data-survey-slug] .fmd-root input:focus,
[data-survey-slug] .fmd-root input:focus-visible,
[data-survey-slug] .fmd-root textarea:focus,
[data-survey-slug] .fmd-root textarea:focus-visible {
  outline: none !important;
  box-shadow: none !important;
  border-color: inherit !important;
}

.lede-wrapper {
  width: 100%;
}

.lede-card {
  background: hsl(var(--background));
  border: 1px solid hsl(var(--border));
  border-radius: 12px;
  padding: 110px 40px;
  min-height: 440px;
  height: 440px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.lede-title {
  font-family: var(--font-serif), 'Source Serif 4', Georgia, serif;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: hsl(var(--foreground));
  margin: 0 0 20px 0;
}

.lede-excerpt {
  font-family: var(--font-serif), 'Source Serif 4', Georgia, serif;
  font-size: 0.9rem;
  font-weight: 400;
  line-height: 1.65;
  color: hsl(var(--muted-foreground));
  margin: 0 0 24px 0;
  padding-left: 0;
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.lede-footer {
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.lede-author {
  font-family: var(--font-serif), 'Source Serif 4', Georgia, serif;
  font-size: 0.9rem;
  font-weight: 600;
  color: hsl(var(--foreground));
}

.lede-date {
  font-family: var(--font-serif), 'Source Serif 4', Georgia, serif;
  font-size: 0.9rem;
  font-weight: 400;
  color: hsl(var(--muted-foreground));
}

.lede-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 16px;
  margin-top: 0;
  font-size: 0.75rem;
  color: hsl(var(--muted-foreground));
}

.lede-nav button {
  padding: 4px 8px;
  background: none;
  border: none;
  color: hsl(var(--muted-foreground));
  cursor: pointer;
  transition: color 0.15s ease;
}

.lede-nav button:hover {
  color: hsl(var(--foreground));
}

.lede-nav span {
  font-variant-numeric: tabular-nums;
}

@media (max-width: 639px) {
  .lede-card {
    min-height: 320px;
    height: auto;
    padding: 3.5rem 1.25rem;
  }

  .lede-title {
    font-size: 1.4rem;
    margin-bottom: 0.875rem;
  }

  .lede-excerpt {
    font-size: 0.85rem;
    -webkit-line-clamp: 6;
  }
}

@media print {

  @page {
    size: letter;
    margin: 0.9in 1.25in 1in 1.25in;
  }

  * {
    color: #1a1a1a !important;
    background: transparent !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }

  html, body {
    font-family: var(--font-serif), 'Source Serif 4', Palatino, 'Palatino Linotype', 'Book Antiqua', Georgia, serif !important;
    font-size: 10.5pt !important;
    line-height: 1.45 !important;
    background: #fff !important;
    color: #1a1a1a !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  header,
  [data-print-hide],
  nav,
  .toc-container,
  [class*="toc"],
  [class*="TOC"],
  #sidenote-column-left,
  #sidenote-column-right,
  .sidenote,
  footer,
  .site-footer,
  [class*="expanded-footer"],
  [class*="comment"],
  [class*="Comments"],
  [data-survey-slug],
  [class*="audio-player"],
  [class*="command-menu"],
  .fixed,
  [role="dialog"],
  [class*="view-tracker"],
  [class*="ViewTracker"],
  [class*="time-stamp"],
  [class*="TimeStamp"],
  [class*="citation"],
  [class*="Citation"],
  [class*="footnotes"],
  [class*="Footnotes"],
  [class*="footnotes-section"],
  [class*="bibliography"],
  [class*="Bibliography"],
  section[data-footnotes],
  section.footnotes,
  .footnotes-section,
  .footnotes-divider {
    display: none !important;
  }

  #print-header {
    display: block !important;
    text-align: center;
    margin: 0 0 2.5em 0;
    padding: 0;
  }

  #print-header .print-rule-top {
    border: none !important;
    border-top: 2pt solid #1a1a1a !important;
    margin: 0 0 1.2em 0;
    width: 100%;
  }

  #print-header .print-title {
    font-family: var(--font-serif), Palatino, 'Book Antiqua', Georgia, serif !important;
    font-size: 18pt !important;
    font-weight: 400;
    font-variant: small-caps;
    letter-spacing: 0.08em;
    margin: 0 0 0.15em 0;
    line-height: 1.25;
    color: #1a1a1a !important;
  }

  #print-header .print-subtitle {
    font-family: var(--font-serif), Palatino, Georgia, serif !important;
    font-size: 11pt !important;
    font-style: italic;
    font-weight: 400;
    color: #444 !important;
    margin: 0 0 1em 0;
    line-height: 1.3;
  }

  #print-header .print-rule-mid {
    border: none !important;
    border-top: 0.5pt solid #999 !important;
    margin: 0 auto 0.8em auto;
    width: 25%;
  }

  #print-header .print-author {
    font-family: var(--font-serif), Palatino, Georgia, serif !important;
    font-size: 11pt !important;
    font-weight: 400;
    font-variant: small-caps;
    letter-spacing: 0.06em;
    margin: 0 0 0.15em 0;
    color: #1a1a1a !important;
  }

  #print-header .print-date {
    font-family: var(--font-serif), Palatino, Georgia, serif !important;
    font-size: 9pt !important;
    font-style: normal;
    font-weight: 400;
    color: #555 !important;
    margin: 0 0 1em 0;
  }

  #print-header .print-meta-line {
    font-family: var(--font-serif), Palatino, Georgia, serif !important;
    font-size: 8.5pt !important;
    font-variant: small-caps;
    letter-spacing: 0.04em;
    color: #555 !important;
    margin: 0 0 0.3em 0;
  }

  #print-header .print-tags {
    font-family: var(--font-serif), Palatino, Georgia, serif !important;
    font-size: 8.5pt !important;
    font-style: italic;
    font-weight: 400;
    color: #666 !important;
    margin: 0.4em 0 0 0;
  }

  #print-header .print-rule-bottom {
    border: none !important;
    border-top: 2pt solid #1a1a1a !important;
    margin: 1.2em 0 0 0;
    width: 100%;
  }

  main, .container, #content {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .content p,
  .post-content p,
  .book-content p {
    text-align: justify !important;
    text-indent: 1.5em;
    margin: 0 !important;
    padding: 0 !important;
    orphans: 3;
    widows: 3;
    font-size: 10.5pt !important;
    line-height: 1.45 !important;
  }

  .content h1 + p,
  .content h2 + p,
  .content h3 + p,
  .content h4 + p,
  .content > p:first-child,
  .content > div > p:first-child,
  .post-content h1 + p,
  .post-content h2 + p,
  .post-content h3 + p,
  .post-content h4 + p,
  .post-content > p:first-child,
  .content blockquote + p,
  .post-content blockquote + p,
  .content pre + p,
  .post-content pre + p {
    text-indent: 0 !important;
  }

  .content h1,
  .post-content h1,
  .book-content h1 {
    font-size: 14pt !important;
    font-weight: 400 !important;
    font-variant: small-caps;
    letter-spacing: 0.06em;
    text-align: left;
    text-transform: none !important;
    margin: 1.8em 0 0.6em 0 !important;
    padding-bottom: 0.2em;
    border-bottom: 0.5pt solid #ccc !important;
    page-break-after: avoid;
  }

  .content h2,
  .post-content h2,
  .book-content h2 {
    font-size: 12pt !important;
    font-weight: 400 !important;
    font-variant: small-caps;
    letter-spacing: 0.05em;
    margin: 1.4em 0 0.5em 0 !important;
    border-bottom: none !important;
    page-break-after: avoid;
  }

  .content h3,
  .post-content h3,
  .book-content h3 {
    font-size: 10.5pt !important;
    font-weight: 400 !important;
    font-style: italic;
    margin: 1.2em 0 0.4em 0 !important;
    page-break-after: avoid;
  }

  .content h4,
  .content h5,
  .content h6,
  .post-content h4,
  .post-content h5,
  .post-content h6 {
    font-size: 10.5pt !important;
    font-weight: 400 !important;
    font-style: italic;
    margin: 1em 0 0.3em 0 !important;
    page-break-after: avoid;
  }

  .content blockquote,
  .post-content blockquote,
  .book-content blockquote {
    border-left: none !important;
    border: none !important;
    margin: 0.8em 2.5em !important;
    padding: 0 !important;
    font-style: italic;
    font-size: 10pt !important;
    line-height: 1.4 !important;
    background: none !important;
  }

  .content pre,
  .post-content pre,
  .book-content pre {
    border: 0.5pt solid #bbb !important;
    border-radius: 0 !important;
    padding: 0.6em 0.8em !important;
    font-family: var(--font-mono), 'Go Mono', Consolas, monospace !important;
    font-size: 8.5pt !important;
    line-height: 1.35 !important;
    page-break-inside: avoid;
    overflow: visible !important;
    white-space: pre-wrap !important;
    word-wrap: break-word !important;
  }

  .content code,
  .post-content code,
  .book-content code {
    font-size: 0.85em !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
  }

  .content a,
  .post-content a {
    color: #1a1a1a !important;
    text-decoration: none !important;
    border-bottom: none !important;
  }

  .content a[href^="http"]:not([href*="krisyotam.com"])::after,
  .post-content a[href^="http"]:not([href*="krisyotam.com"])::after {
    content: " ‹" attr(href) "›";
    font-size: 7.5pt;
    font-family: var(--font-mono), monospace;
    color: #888 !important;
    word-break: break-all;
  }

  .content img,
  .post-content img,
  .book-content img {
    max-width: 75% !important;
    margin: 1.2em auto !important;
    display: block !important;
    page-break-inside: avoid;
  }

  .content table,
  .post-content table {
    border-collapse: collapse !important;
    width: 100% !important;
    font-size: 9pt !important;
    line-height: 1.3 !important;
    margin: 1em 0 !important;
    page-break-inside: avoid;
    border: none !important;
  }

  .content thead,
  .post-content thead {
    border-top: 1.5pt solid #1a1a1a !important;
    border-bottom: 0.75pt solid #1a1a1a !important;
  }

  .content tbody,
  .post-content tbody {
    border-bottom: 1.5pt solid #1a1a1a !important;
  }

  .content th,
  .post-content th {
    font-weight: 400 !important;
    font-variant: small-caps;
    letter-spacing: 0.03em;
    padding: 0.4em 0.6em !important;
    text-align: left;
    border: none !important;
  }

  .content td,
  .post-content td {
    padding: 0.3em 0.6em !important;
    border: none !important;
    border-bottom: 0.25pt solid #ddd !important;
  }

  .content tbody tr:last-child td,
  .post-content tbody tr:last-child td {
    border-bottom: none !important;
  }

  .content hr,
  .post-content hr {
    border: none !important;
    text-align: center;
    margin: 1.5em 0 !important;
    height: auto !important;
    overflow: visible !important;
  }

  .content hr::after,
  .post-content hr::after {
    content: "* * *";
    display: block;
    font-size: 10pt;
    letter-spacing: 0.5em;
    color: #999 !important;
  }

  .content ul,
  .content ol,
  .post-content ul,
  .post-content ol {
    margin: 0.5em 0 0.5em 2em !important;
    padding: 0 !important;
    font-size: 10.5pt !important;
  }

  .content li,
  .post-content li {
    margin-bottom: 0.15em !important;
    line-height: 1.45 !important;
  }

  .katex-display {
    margin: 0.8em 0 !important;
  }

  .katex {
    font-size: 1em !important;
  }

  h1, h2, h3 {
    page-break-after: avoid;
  }

  p, blockquote, table, figure, pre {
    orphans: 3;
    widows: 3;
  }

  figure, img, pre, table {
    page-break-inside: avoid;
  }

  .dropcap-image-wrapper {
    display: none !important;
  }

  .relative.min-h-screen {
    padding-top: 0 !important;
    min-height: auto !important;
  }

  .border,
  .border-border,
  .bg-card,
  .shadow-sm,
  .rounded-sm {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    border-radius: 0 !important;
  }
}

/* frame: the body wrapper every page shares (app/layout.tsx). */
.site-frame {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
.site-main { flex-grow: 1; }

.search-overlay {
  cursor: default;
}

.search-container {
  background: hsl(var(--background));
  padding: 0.5em;
  font-size: 16px;
}

.search-form {
  display: flex;
  margin: 0;
}

.search-input {
  appearance: none;
  flex: 1 1 auto;
  height: 2.5em;
  padding: 0.25em 0.75em;
  border: none;
  outline: 2px solid hsl(var(--border));
  background: hsl(var(--background));
  color: hsl(var(--foreground));
  font-size: 16px;
  font-family: inherit;
}

.search-form:focus-within .search-input {
  outline: 2px solid hsl(var(--border));
}

.search-input:focus {
  outline: 3px solid hsl(var(--muted-foreground));
}

.search-input::placeholder {
  color: hsl(var(--muted-foreground));
}

.search-btn {
  appearance: none;
  border: none;
  background: hsl(var(--muted));
  color: hsl(var(--foreground));
  height: 2.5em;
  padding: 0.25em 1em;
  flex: 0 0 6em;
  margin: 0 0 0 0.5em;
  outline: 2px solid hsl(var(--border));
  cursor: pointer;
  font-size: 16px;
  font-family: inherit;
}

.search-form:focus-within .search-btn {
  outline: 2px solid hsl(var(--border));
}

.search-btn:hover {
  background: hsl(var(--muted-foreground));
  color: hsl(var(--background));
}

.search-btn:hover,
.search-btn:focus {
  outline: 3px solid hsl(var(--muted-foreground));
}

.search-where-selector {
  margin: 0.625em -1px 0 -1px;
  border: 2px solid hsl(var(--border));
  padding: 0.375em 0.5em 0.625em 0.5em;
}

.search-where-selector legend {
  padding: 0 0.25em;
  color: hsl(var(--muted-foreground));
  font-size: 14px;
}

.search-where-selector label {
  padding: 0.25em 0.5em;
  font-size: 14px;
  color: hsl(var(--foreground));
  cursor: pointer;
}

.search-where-selector input[type="radio"] {
  cursor: pointer;
}

.search-results {
  overflow-y: auto;
  max-height: 400px;
  margin-top: 0.625em;
  border: 2px solid hsl(var(--border));
}

.search-results:empty {
  display: none;
}

.search-result-link {
  display: block;
  padding: 0.625em 0.75em;
  border-bottom: 1px solid hsl(var(--border));
  text-decoration: none;
  color: hsl(var(--foreground));
}

.search-result-link:last-child {
  border-bottom: none;
}

.search-result-link:hover {
  background: hsl(var(--muted));
}

.search-result-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}

.search-result-title {
  font-size: 15px;
  font-weight: 500;
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.search-result-type {
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: hsl(var(--muted-foreground));
  flex-shrink: 0;
}

.search-result-preview {
  font-size: 13px;
  color: hsl(var(--muted-foreground));
  margin: 4px 0 0;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}

.search-result-meta {
  font-size: 12px;
  color: hsl(var(--muted-foreground));
  margin-top: 4px;
}

.search-empty,
.search-loading {
  padding: 1.5em 0.75em;
  text-align: center;
  font-size: 14px;
  color: hsl(var(--muted-foreground));
}

.search-page {
  font-size: 16px;
}

.search-page .search-stats {
  font-size: 13px;
  color: hsl(var(--muted-foreground));
  padding: 0.5em 0;
}

.search-page .search-results {
  max-height: none;
  overflow: visible;
  border: none;
  margin-top: 0.5em;
}

.search-page .search-result-link {
  display: block;
  padding: 0.5em 0;
  border-bottom: none;
  cursor: default;
}

.search-page .search-result-link:hover {
  background: transparent;
}

.search-page .search-result-url {
  font-size: 13px;
  color: hsl(var(--muted-foreground));
  line-height: 1.3;
  margin-bottom: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.search-page .search-result-url-sep {
  color: hsl(var(--muted-foreground));
  opacity: 0.7;
}

.search-page .search-result-title {
  font-size: 20px;
  font-weight: 400;
  line-height: 1.3;
  margin: 0 0 4px;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}

.search-page .search-result-title a {
  color: #1a0dab;
  text-decoration: none;
}

.search-page .search-result-title a:visited {
  color: #681da8;
}

.search-page .search-result-title a:hover {
  text-decoration: underline;
}

.dark .search-page .search-result-title a {
  color: #8ab4f8;
}

.dark .search-page .search-result-title a:visited {
  color: #c58af9;
}

.search-page .search-result-preview {
  font-size: 14px;
  line-height: 1.55;
  color: hsl(var(--foreground));
  margin: 0;
  display: block;
  overflow: visible;
  -webkit-line-clamp: unset;
  -webkit-box-orient: unset;
}

.search-page .search-result-date {
  color: hsl(var(--muted-foreground));
}

.search-page .search-result-tags {
  margin-top: 4px;
  font-size: 12px;
  color: hsl(var(--muted-foreground));
}

/* content components: book, paper, spoiler (verbatim from the original). */
/* Book component specific styles */
.book-component {
  /* Remove inherited decoration and border */
  text-decoration: none;
  border: none;
}

.book-link {
  text-decoration: none !important;
  border-bottom: none !important;
  color: inherit !important;
}

.book-link:hover {
  text-decoration: none !important;
  border-bottom: none !important;
}

.book-image-container {
  position: relative !important;
  width: 160px !important;
  height: 240px !important;
  margin-bottom: 0.5rem !important;
  display: block !important;
  background: none !important;
  background-image: none !important;
  background-size: auto !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}

.book-image {
  object-fit: contain !important;
  position: absolute !important;
  width: 100% !important;
  height: 100% !important;
  top: 0 !important;
  left: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
  transition: none !important;
  background: none !important;
  background-image: none !important;
  background-size: auto !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  border-radius: 0 !important;
}

.book-title {
  font-weight: 500 !important;
  color: inherit !important;
  text-align: center !important;
  text-decoration: none !important;
}

.book-author {
  font-weight: 400 !important;
  color: inherit !important;
  text-align: center !important;
  text-decoration: none !important;
}
.paper-component {
  text-decoration: none;
  border: none;
}

.paper-link {
  text-decoration: none !important;
  border: none !important;
  background: none !important;
  cursor: pointer !important;
}

.paper-iframe-container {
  position: relative !important;
  width: 160px !important;
  height: 206px !important;
  margin-bottom: 0.5rem !important;
  overflow: hidden !important;
  background: none !important;
}

/* Disable pointer events so the <a> handles the click */
.paper-iframe {
  width: 100% !important;
  height: 100% !important;
  pointer-events: none !important;
  background: none !important;
}

.paper-title {
  font-weight: 500 !important;
  text-align: center !important;
}

.paper-author,
.paper-date {
  font-weight: 400 !important;
  text-align: center !important;
  margin-top: 0.25rem !important;
}
/* spoiled 0.4.0: inline layout and the iris text transition. */
@property --iris-gradient-length {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --iris-radius {
  syntax: "<length> | <percentage>";
  inherits: false;
  initial-value: 16px;
}
.spoiler > .spoiler-iris {
  --hide-duration: .15s;
  --reveal-duration: .3s;
  mask: radial-gradient(circle closest-corner, black var(--iris-gradient-length), transparent calc(var(--iris-gradient-length) + var(--iris-radius))) no-repeat center;
  transition: --iris-gradient-length var(--reveal-duration) ease-out, opacity var(--reveal-duration) ease-out, filter var(--reveal-duration) ease-out;
}
.spoiler-hidden > .spoiler-iris {
  --iris-gradient-length: 0%;
  --iris-radius: 0px;
  opacity: 0;
  filter: blur(1px);
  transition: --iris-gradient-length 0s linear var(--hide-duration), filter 0s linear var(--hide-duration), opacity var(--hide-duration) ease-out;
}
.spoiler:not(.spoiler-hidden) > .spoiler-iris {
  mask-image: none;
}

/* partials: page-header, oc-header, section-header, nav-bar,
   page-description (components/layout/*, components/nav/navigation.tsx).
   Translated with tools/twcss from the original class strings. */

/* ---- tones: header-utils.ts colour maps ---- */
.tone-fg { color: hsl(var(--foreground)); }
.tone-fg80 { color: hsl(var(--foreground) / .8); }
.tone-muted { color: hsl(var(--muted-foreground)); }
.tone-muted60 { color: hsl(var(--muted-foreground) / .6); }
.tone-9 { color: rgb(17 24 39); }
.tone-8 { color: rgb(31 41 55); }
.tone-7 { color: rgb(55 65 81); }
.tone-6 { color: rgb(75 85 99); }
.tone-5 { color: rgb(107 114 128); }
.tone-4 { color: rgb(156 163 175); }
.tone-3 { color: rgb(209 213 219); }
.tone-2 { color: rgb(229 231 235); }
.dark .tone-9 { color: rgb(243 244 246); }
.dark .tone-8 { color: rgb(229 231 235); }
.dark .tone-7 { color: rgb(209 213 219); }
.dark .tone-6 { color: rgb(156 163 175); }
.dark .tone-5 { color: rgb(107 114 128); }
.dark .tone-4 { color: rgb(75 85 99); }
.dark .tone-3 { color: rgb(55 65 81); }
.dark .tone-2 { color: rgb(31 41 55); }

/* ---- page-header ---- */
.ph {
  position: relative;
  z-index: 20;
  margin-bottom: 1rem;
}
.ph-back {
  display: inline-flex;
  align-items: center;
  margin-bottom: 1.5rem;
  font-family: ui-serif, Georgia, Cambria, Times New Roman, Times, serif;
  font-size: .875rem;
  line-height: 1.25rem;
  font-style: italic;
  color: hsl(var(--muted-foreground));
  transition: color .15s cubic-bezier(.4, 0, .2, 1);
}
.ph-back:hover { color: hsl(var(--foreground)); }
.ph-back-icon {
  margin-right: .5rem;
  width: 1rem;
  height: 1rem;
  transition: transform .15s cubic-bezier(.4, 0, .2, 1);
}
.ph-back:hover .ph-back-icon { transform: translateX(-.25rem); }
.ph-card {
  border-radius: calc(var(--radius) - 4px);
  border: 1px solid hsl(var(--border));
  background-color: hsl(var(--card));
  padding: 1.75rem 1.25rem;
  color: hsl(var(--card-foreground));
  box-shadow: none;
}
.dark .ph-card {
  border-color: #ffffff14;
  background-color: #ffffff06;
}
@media (min-width: 640px) {
  .ph-card { padding: 2.25rem 2rem; }
}
.ph-title {
  margin-bottom: .75rem;
  text-align: center;
  font-family: ui-serif, Georgia, Cambria, Times New Roman, Times, serif;
  font-weight: 500;
  letter-spacing: -.025em;
  font-size: 1.875rem;
  line-height: 2.25rem;
}
@media (min-width: 640px) {
  .ph-title { font-size: 2.25rem; line-height: 2.5rem; }
}
.ph-title-long { font-size: 1.5rem; line-height: 2rem; }
@media (min-width: 640px) {
  .ph-title-long { font-size: 1.875rem; line-height: 2.25rem; }
}
.ph-preview {
  margin: 0 auto 1.5rem;
  max-width: 42rem;
  text-align: center;
  font-family: ui-serif, Georgia, Cambria, Times New Roman, Times, serif;
  font-size: .875rem;
  line-height: 1.25rem;
  font-style: italic;
  color: hsl(var(--muted-foreground) / .9);
}
.dark .ph-preview { color: hsl(var(--muted-foreground) / .75); }
.ph-date-wrap { text-align: center; margin-bottom: 1rem; }
.ph-date, .ph-meta, .oc-date, .oc-cover-title, .oc-tag, .oc-label, .sh-count {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
}
.ph-date {
  font-size: .75rem;
  line-height: 1rem;
  color: hsl(var(--muted-foreground));
}
@media (min-width: 640px) {
  .ph-date { font-size: .875rem; line-height: 1.25rem; }
}
.ph-authors-wrap { text-align: center; margin-bottom: .75rem; }
.ph-authors, .ph-tag, .ph-filed, .ph-secondary {
  font-family: ui-serif, Georgia, Cambria, Times New Roman, Times, serif;
  font-size: .875rem;
  line-height: 1.25rem;
  color: hsl(var(--muted-foreground));
}
.ph-meta {
  margin-bottom: .25rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  column-gap: .75rem;
  row-gap: .25rem;
  font-size: .75rem;
  line-height: 1rem;
}
.ph-hover { display: inline-block; }
.ph-trigger {
  display: flex;
  cursor: help;
  align-items: center;
  gap: .25rem;
  opacity: .8;
  transition: opacity .15s cubic-bezier(.4, 0, .2, 1);
}
.ph-trigger:hover { opacity: 1; }
.ph-info { width: .75rem; height: .75rem; }
.ph-label { font-weight: 500; }
.ph-hc {
  border-radius: calc(var(--radius) - 2px);
  border: 1px solid hsl(var(--border));
  isolation: isolate;
  z-index: 60;
  width: 20rem;
  background-color: hsl(var(--popover));
  padding: 1rem;
  font-family: ui-serif, Georgia, Cambria, Times New Roman, Times, serif;
  font-size: .875rem;
  line-height: 1.25rem;
  color: hsl(var(--popover-foreground));
  box-shadow: 0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;
}
.ph-hc-body > * + * { margin-top: .5rem; }
.ph-hc-h { font-weight: 500; color: hsl(var(--foreground)); }
.ph-hc-p { color: hsl(var(--muted-foreground)); white-space: pre-wrap; }
.ph-dot { display: none; color: hsl(var(--muted-foreground)); }
@media (min-width: 640px) {
  .ph-dot { display: inline; }
}
.ph-row { text-align: center; margin-top: .5rem; }
.ph-tag {
  text-decoration-line: underline;
  text-underline-offset: 2px;
  transition: color .15s cubic-bezier(.4, 0, .2, 1);
}
.ph-filed {
  font-style: italic;
  transition: color .15s cubic-bezier(.4, 0, .2, 1);
}
.ph-tag:hover, .ph-filed:hover { color: hsl(var(--foreground)); }
.ph-comma { font-size: .875rem; line-height: 1.25rem; color: hsl(var(--muted-foreground)); }
.ph-secondary { font-style: italic; }

/* ---- oc-header ---- */
.oc { margin-bottom: 2rem; position: relative; }
.oc-card {
  border: 1px solid hsl(var(--border));
  background-color: hsl(var(--card));
}
.oc-grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
@media (min-width: 768px) {
  .oc-grid { grid-template-columns: 280px 1fr; }
}
.oc-cover {
  aspect-ratio: 3 / 4;
  border-bottom: 1px solid hsl(var(--border));
  background-color: hsl(var(--muted) / .3);
}
@media (min-width: 768px) {
  .oc-cover {
    aspect-ratio: auto;
    min-height: 320px;
    border-bottom-width: 0;
    border-right: 1px solid hsl(var(--border));
  }
}
.oc-cover-empty { display: flex; align-items: center; justify-content: center; }
.oc-cover-img { width: 100%; height: 100%; object-fit: cover; }
.oc-cover-title { color: hsl(var(--muted-foreground)); font-size: .875rem; line-height: 1.25rem; }
.oc-body {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.oc-title {
  font-family: ui-serif, Georgia, Cambria, Times New Roman, Times, serif;
  font-weight: 500;
  letter-spacing: -.025em;
  font-size: 1.5rem;
  line-height: 2rem;
  text-transform: uppercase;
  margin-bottom: .75rem;
}
@media (min-width: 768px) {
  .oc-title { font-size: 1.875rem; line-height: 2.25rem; }
}
.oc-preview {
  font-family: ui-serif, Georgia, Cambria, Times New Roman, Times, serif;
  font-size: .875rem;
  line-height: 1.25rem;
  color: hsl(var(--muted-foreground));
  font-style: italic;
  margin-bottom: 1rem;
  -webkit-hyphens: auto;
  hyphens: auto;
}
.oc-date {
  font-size: .875rem;
  line-height: 1.25rem;
  color: hsl(var(--muted-foreground));
  margin-bottom: .75rem;
}
.oc-tags { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.oc-tag {
  border: 1px solid hsl(var(--border));
  background-color: hsl(var(--secondary) / .4);
  padding: .25rem .5rem;
  font-size: .75rem;
  line-height: 1rem;
  transition: background-color .15s cubic-bezier(.4, 0, .2, 1);
}
.oc-tag:hover { background-color: hsl(var(--secondary)); }
.oc-filed {
  font-family: ui-serif, Georgia, Cambria, Times New Roman, Times, serif;
  font-size: .875rem;
  line-height: 1.25rem;
  font-style: italic;
  color: hsl(var(--muted-foreground));
}
.oc-filed-a { transition: color .15s cubic-bezier(.4, 0, .2, 1); }
.oc-filed-a:hover { color: hsl(var(--foreground)); }
.oc-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid hsl(var(--border));
}
.oc-stats > * + * { border-left: 1px solid hsl(var(--border)); }
.oc-stat { padding: 1rem .75rem; text-align: center; }
.oc-trigger {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .25rem;
  cursor: help;
}
.oc-label { font-size: .875rem; line-height: 1.25rem; font-weight: 500; }
.oc-hc {
  z-index: 50;
  border-radius: calc(var(--radius) - 2px);
  border: 1px solid hsl(var(--border));
  box-shadow: 0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;
  width: 20rem;
  font-size: .875rem;
  line-height: 1.25rem;
  background-color: hsl(var(--card));
  color: hsl(var(--card-foreground));
  padding: 1rem;
  font-family: ui-serif, Georgia, Cambria, Times New Roman, Times, serif;
}

/* ---- section-header ---- */
.sh { display: flex; align-items: center; gap: .75rem; margin-bottom: 1rem; }
.sh-bar { width: .25rem; height: 1.25rem; background-color: hsl(var(--foreground) / .8); }
.sh-title {
  font-size: .875rem;
  line-height: 1.25rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .025em;
  color: hsl(var(--foreground));
}
.sh-rule { flex: 1; height: 1px; background-color: hsl(var(--border)); }
.sh-count {
  font-size: .75rem;
  line-height: 1rem;
  color: hsl(var(--muted-foreground));
  font-variant-numeric: tabular-nums;
}

/* ---- nav-bar ---- */
.nb {
  margin-bottom: 1rem;
  margin-top: .25rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}
.nb-search { flex: 1; min-width: 240px; position: relative; }
.nb-icon {
  position: absolute;
  left: .75rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1rem;
  height: 1rem;
  color: hsl(var(--muted-foreground));
  pointer-events: none;
}
.nb-input {
  width: 100%;
  height: 2.25rem;
  padding: .5rem .75rem .5rem 2.5rem;
  border-width: 1px;
  border-radius: 0;
  font-size: .875rem;
  line-height: 1.25rem;
  background-color: hsl(var(--background));
}
.nb-input:hover { background-color: hsl(var(--secondary) / .5); }
.nb-input:focus {
  outline: 2px solid #0000;
  outline-offset: 2px;
  background-color: hsl(var(--secondary) / .5);
}
.nb-group { display: flex; align-items: center; gap: .5rem; }
.nb-view {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border: 1px solid hsl(var(--input));
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
  border-radius: 0;
  text-decoration-line: none;
}
.nb-view:hover {
  background-color: hsl(var(--accent));
  color: hsl(var(--accent-foreground));
}
.nb-view.nb-view-on { background-color: hsl(var(--secondary) / .5); }
.nb-view-icon { width: 1rem; height: 1rem; }

/* custom-select.tsx (the nav-bar category filter) */
.cs { position: relative; }
.cs-btn {
  display: flex;
  height: 2.25rem;
  width: 100%;
  min-width: 160px;
  align-items: center;
  justify-content: space-between;
  border: 1px solid hsl(var(--input));
  background-color: hsl(var(--background));
  padding: .5rem .75rem;
  font-size: .875rem;
  line-height: 1.25rem;
  border-radius: 0;
}
.cs-btn:hover { background-color: hsl(var(--secondary) / .5); }
.cs-btn:focus {
  outline: 2px solid #0000;
  outline-offset: 2px;
  background-color: hsl(var(--secondary) / .5);
}
.cs-val { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cs-chev {
  width: 1rem;
  height: 1rem;
  transition: transform .2s cubic-bezier(.4, 0, .2, 1);
}
.cs-btn[aria-expanded="true"] .cs-chev { transform: rotate(180deg); }
.cs-pop { position: absolute; z-index: 100; margin-top: .25rem; width: 100%; }
.cs-list {
  max-height: 15rem;
  width: 100%;
  overflow: auto;
  border: 1px solid hsl(var(--input));
  background-color: hsl(var(--background));
  padding: .25rem 0;
  font-size: .875rem;
  line-height: 1.25rem;
  box-shadow: 0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;
  border-radius: 0;
}
.cs-opt {
  position: relative;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  padding: .5rem .75rem;
  transition: background-color .15s cubic-bezier(.4, 0, .2, 1);
}
.cs-opt:hover, .cs-opt.cs-opt-focus { background-color: hsl(var(--secondary) / .5); }
.cs-opt.cs-opt-sel { background-color: hsl(var(--secondary) / .3); }
.cs-opt-row { display: flex; align-items: center; justify-content: space-between; }
.cs-check { width: 1rem; height: 1rem; }

/* ---- page-description ---- */
.pd { position: fixed; bottom: 1rem; left: 1rem; z-index: 40; }
.pd-btn {
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid hsl(var(--border));
  background-color: hsl(var(--background));
  transition: color .2s, background-color .2s, border-color .2s;
}
.pd-btn:hover { background-color: hsl(var(--muted) / .5); }
.pd-btn-icon { width: 1.25rem; height: 1.25rem; }
.pd-static {
  position: absolute;
  left: 0;
  width: 20rem;
  border: 1px solid hsl(var(--border));
  background-color: hsl(var(--card));
  color: hsl(var(--card-foreground));
}
@media (min-width: 768px) {
  .pd-static { width: 24rem; }
}
.pd-head { border-bottom: 1px solid hsl(var(--border)); padding: 1rem; }
.pd-title {
  font-family: ui-serif, Georgia, Cambria, Times New Roman, Times, serif;
  font-size: 1.125rem;
  letter-spacing: -.025em;
  line-height: 1;
}
.pd-body { padding: 1rem; }
.pd-text {
  font-family: ui-serif, Georgia, Cambria, Times New Roman, Times, serif;
  font-size: .875rem;
  line-height: 1.625;
  color: hsl(var(--muted-foreground));
}
.pd-link { color: hsl(var(--foreground)); text-decoration-line: underline; }
.pd-link:hover { color: hsl(var(--primary)); }
.pd-icons { margin-top: 1rem; }
.pd-iconbar {
  border-top: 1px solid hsl(var(--border));
  padding-top: .75rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pd-icon { display: inline-block; padding: .25rem; }
.pd-icon:hover { opacity: .8; }
.pd-icon-sep { padding-left: 1rem; border-left: 1px solid hsl(var(--border)); margin-left: 1rem; }
.pd-icon-img { width: 1.5rem; height: 1.5rem; object-fit: contain; }
/* the JS panel (hydrated PageDescription) */
.pd-backdrop {
  position: fixed;
  inset: 0;
  z-index: 40;
  background-color: hsl(var(--background) / .8);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  opacity: 0;
  transition: opacity .2s cubic-bezier(.4, 0, .2, 1);
}
.pd-panel {
  position: fixed;
  bottom: 1rem;
  left: 1rem;
  z-index: 50;
  width: 20rem;
  border: 1px solid hsl(var(--border));
  border-radius: 0;
  box-shadow: 0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;
  background-color: hsl(var(--card));
  color: hsl(var(--card-foreground));
  opacity: 0;
  transform: translateY(1.25rem);
  transition: all .3s cubic-bezier(.22, 1, .36, 1);
}
@media (min-width: 768px) {
  .pd-panel { width: 24rem; }
}
.pd-full {
  position: fixed;
  inset: 0;
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity .3s cubic-bezier(.22, 1, .36, 1);
}
.pd-box {
  border: 1px solid hsl(var(--border));
  border-radius: 0;
  box-shadow: 0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;
  background-color: hsl(var(--card));
  color: hsl(var(--card-foreground));
  width: 90%;
  max-height: 90vh;
  overflow: auto;
}
@media (min-width: 768px) {
  .pd-box { width: 720px; }
}
.pd-on .pd-backdrop, .pd-on .pd-full { opacity: 1; }
.pd-on .pd-panel { opacity: 1; transform: translateY(0); }
.pd-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid hsl(var(--border));
  padding: 1rem;
}
.pd-actions { display: flex; align-items: center; gap: .5rem; }
.pd-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 0;
  transition: color .15s cubic-bezier(.4, 0, .2, 1), background-color .15s cubic-bezier(.4, 0, .2, 1);
}
.pd-ghost:hover { background-color: hsl(var(--accent)); color: hsl(var(--accent-foreground)); }
.pd-ghost:focus-visible {
  outline: 2px solid #0000;
  outline-offset: 2px;
  box-shadow: 0 0 0 2px hsl(var(--background)), 0 0 0 4px hsl(var(--ring));
}
.pd-ghost svg { width: 1rem; height: 1rem; }
.pd-ghost .pd-rot { transform: rotate(45deg); }
@media print {
  .pd, .pd-backdrop, .pd-panel, .pd-full { display: none !important; }
}

/* chrome: body classes, the settings button + dropdown, the command-menu
   button, the User Settings panel and the command menu
   (components/layout/wrapper.tsx, nav/settings.tsx, nav/settings-panel.tsx,
   nav/command-menu.tsx). Translated with tools/twcss. */

/* <body class="min-h-screen bg-background font-sans antialiased"> */
body {
  min-height: 100vh;
  font-family: ui-sans-serif, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
}

/* ---- settings button and dropdown ---- */
.ks { position: fixed; top: 1.25rem; right: 1.25rem; z-index: 50; }
.ks-btn, .kk {
  display: flex;
  width: 2.5rem;
  height: 2.5rem;
  align-items: center;
  justify-content: center;
  border: 1px solid hsl(var(--foreground) / .25);
  background-color: hsl(var(--background));
  transition: color .15s cubic-bezier(.4, 0, .2, 1), background-color .15s cubic-bezier(.4, 0, .2, 1), border-color .15s cubic-bezier(.4, 0, .2, 1);
}
.ks-btn:hover, .kk:hover {
  border-color: hsl(var(--foreground) / .4);
  background-color: hsl(var(--muted));
}
.ks-spin { display: inline-block; }
.ks-gear { width: 1.25rem; height: 1.25rem; }
.ks-menu {
  position: fixed;
  inset: 68px 20px auto auto;
  margin: 0;
  padding: 0;
  width: 2.5rem;
  color: inherit;
  overflow: visible;
  transform-origin: top;
  border: 1px solid hsl(var(--border));
  background-color: hsl(var(--background));
  box-shadow: 0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;
  transition: opacity .3s cubic-bezier(.16, 1, .3, 1), transform .3s cubic-bezier(.16, 1, .3, 1);
  transform: translateY(0);
  opacity: 1;
}
/* Native popovers dismiss outside and on Escape without a JS state machine.
   Browsers without popovers keep the complete link column visible. */
@supports selector(:popover-open) {
  .ks-menu { transition: opacity .3s cubic-bezier(.16, 1, .3, 1), transform .3s cubic-bezier(.16, 1, .3, 1), display .3s allow-discrete, overlay .3s allow-discrete; transform: translateY(-.5rem); opacity: 0; }
  .ks-menu:popover-open { transform: translateY(0); opacity: 1; }
  @starting-style { .ks-menu:popover-open { transform: translateY(-.5rem); opacity: 0; } }
}
@media (prefers-reduced-motion: reduce) {
  .ks-menu { transition: none; }
}
.ks-col { display: flex; flex-direction: column; align-items: center; padding: .25rem; }
.ks-item {
  position: relative;
  display: flex;
  width: 2rem;
  height: 2rem;
  align-items: center;
  justify-content: center;
  padding: .5rem;
  transition: color .15s cubic-bezier(.4, 0, .2, 1), background-color .15s cubic-bezier(.4, 0, .2, 1);
}
.ks-item:hover { background-color: hsl(var(--accent)); color: hsl(var(--accent-foreground)); }
.ks-i { width: 1rem; height: 1rem; flex-shrink: 0; }
.ks-theme .lucide-sun, .dark .ks-theme .lucide-moon { display: none; }
.dark .ks-theme .lucide-sun { display: block; }

/* ---- command-menu button ---- */
.kk {
  position: fixed;
  bottom: 1.25rem;
  right: 1.25rem;
  z-index: 50;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
  font-size: 13px;
}
.kk:focus { outline: 2px solid #0000; outline-offset: 2px; }
.kk:focus-visible { box-shadow: 0 0 0 2px hsl(var(--ring)); }
.kk-label { display: none; }
.kk-icon { width: 1rem; height: 1rem; }
@media (min-width: 640px) {
  .kk-label { display: inline; }
  .kk-icon { display: none; }
}
@media print {
  .ks, .kk { display: none !important; }
}

/* ---- User Settings panel ---- */
.sp {
  position: fixed;
  inset: 0;
  z-index: 40;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: hsl(var(--background) / .8);
  padding: 1rem;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
.sp-box {
  width: 100%;
  max-width: 48rem;
  border-radius: 1.5rem;
  border: 1px solid hsl(var(--border) / .6);
  background-color: hsl(var(--background));
  box-shadow: 0 25px 50px -12px #00000040;
}
.sp-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.5rem 2rem 1rem;
}
.sp-h { font-size: 1.25rem; line-height: 1.75rem; font-weight: 600; letter-spacing: -.025em; }
.sp-sub { margin-top: .25rem; font-size: .75rem; line-height: 1rem; color: hsl(var(--muted-foreground)); }
.sp-x {
  border-radius: 9999px;
  padding: .5rem;
  transition: background-color .15s cubic-bezier(.4, 0, .2, 1);
}
.sp-x:hover { background-color: hsl(var(--muted)); }
.sp-i { width: 1rem; height: 1rem; }
.sp-grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: .75rem;
  padding: 0 1.5rem 1rem;
}
@media (min-width: 640px) {
  .sp-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.sp-cell {
  border-radius: 1rem;
  border: 1px solid hsl(var(--border) / .6);
  background-color: hsl(var(--muted) / .3);
  padding: 1.25rem;
  transition: background-color .15s cubic-bezier(.4, 0, .2, 1);
}
.sp-cell:hover { background-color: hsl(var(--muted) / .5); }
.sp-cell-head { margin-bottom: .75rem; display: flex; align-items: center; gap: .5rem; }
.sp-cell-icon { border-radius: var(--radius); background-color: hsl(var(--background) / .8); padding: .375rem; }
.sp-cell-title { font-size: .875rem; line-height: 1.25rem; font-weight: 600; }
.sp-radios > * + * { margin-top: .5rem; }
.sp-radio { display: flex; cursor: pointer; align-items: center; gap: .75rem; }
.sp-radio-input { width: 1rem; height: 1rem; flex-shrink: 0; }
.sp-radio-text { font-size: .875rem; line-height: 1.25rem; }
.sp-help { margin-top: .75rem; font-size: .75rem; line-height: 1rem; color: hsl(var(--muted-foreground)); }
.sp-ai { margin-bottom: .75rem; display: flex; align-items: center; gap: .375rem; }
.sp-ai-btn {
  display: flex;
  width: 2rem;
  height: 2rem;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius);
  transition: background-color .15s cubic-bezier(.4, 0, .2, 1);
}
.sp-ai-btn:hover, .sp-act:hover { background-color: hsl(var(--muted) / .6); }
.sp-acts > * + * { margin-top: .375rem; }
.sp-act {
  display: flex;
  width: 100%;
  align-items: center;
  gap: .5rem;
  border-radius: var(--radius);
  padding: .375rem .5rem;
  font-size: .875rem;
  line-height: 1.25rem;
  transition: background-color .15s cubic-bezier(.4, 0, .2, 1);
}
.sp-act-icon { width: .875rem; height: .875rem; color: hsl(var(--muted-foreground)); }
.sp-fb { margin-top: .5rem; font-size: .75rem; line-height: 1rem; font-weight: 500; color: hsl(var(--foreground)); }
.sp-foot { display: flex; justify-content: flex-end; padding: .5rem 2rem 1.5rem; }
.sp-done {
  border-radius: 9999px;
  background-color: hsl(var(--foreground));
  padding: .5rem 1.5rem;
  font-size: .875rem;
  line-height: 1.25rem;
  font-weight: 500;
  color: hsl(var(--background));
  transition: opacity .15s cubic-bezier(.4, 0, .2, 1);
}
.sp-done:hover { opacity: .9; }

/* ---- command menu (a native <dialog> hosting overlay, snow and box) ---- */
.cm-dialog {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  overflow: hidden;
}
.cm-dialog::backdrop { background: transparent; }
.cm-overlay {
  position: fixed;
  inset: 0;
  z-index: 40;
  background-color: #0006;
  -webkit-backdrop-filter: blur(1px);
  backdrop-filter: blur(1px);
}
.cm-snow { position: fixed; inset: 0; pointer-events: none; z-index: 50; }
.cm {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 370px;
  max-height: 70vh;
  z-index: 50;
  overflow-y: auto;
  border: 1px solid hsl(var(--border));
  border-radius: .75rem;
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
  box-shadow: 0 25px 50px -12px #00000040;
}
.cm:focus { outline: none; }
.cm-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .5rem 1rem;
  font-size: .875rem;
  line-height: 1.25rem;
  color: hsl(var(--muted-foreground));
}
.cm-theme { color: hsl(var(--muted-foreground)); }
.cm-theme:hover { color: rgb(55 65 81); }
.dark .cm-theme:hover { color: rgb(229 231 235); }
.cm-ti { width: 16px; height: 16px; }
.cm-theme .lucide-sun, .cm-theme[data-dark="true"] .lucide-moon { display: none; }
.cm-theme[data-dark="true"] .lucide-sun { display: block; }
.cm-input {
  width: 100%;
  padding: .75rem 1rem;
  font-size: .875rem;
  line-height: 1.25rem;
  color: rgb(75 85 99);
  background-color: #0000;
}
.dark .cm-input { color: rgb(209 213 219); }
.cm-input::placeholder { color: hsl(var(--muted-foreground)); }
.cm-input:focus { outline: 2px solid #0000; outline-offset: 2px; }
.cm-list { padding: .5rem; max-height: 50vh; overflow-y: auto; }
.cm-group {
  padding: .375rem .5rem;
  font-size: .75rem;
  line-height: 1rem;
  color: hsl(var(--muted-foreground));
  text-transform: uppercase;
  letter-spacing: .025em;
}
.cm-item {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .375rem .5rem;
  border-radius: calc(var(--radius) - 4px);
  font-size: .875rem;
  line-height: 1.25rem;
  color: rgb(75 85 99);
  cursor: pointer;
}
.dark .cm-item { color: rgb(209 213 219); }
.cm-item:hover, .cm-item[data-selected="true"] {
  background-color: hsl(var(--accent));
  color: hsl(var(--accent-foreground));
}
.cm-i { width: 14px; height: 14px; flex-shrink: 0; }
.cm-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .5rem;
  border-top: 1px solid hsl(var(--border));
}
.cm-mail { font-size: .875rem; line-height: 1.25rem; color: hsl(var(--muted-foreground)); }
.cm-close { display: flex; align-items: center; gap: .5rem; }
.cm-closet, .cm-esc { font-size: .75rem; line-height: 1rem; color: rgb(156 163 175); }
.cm-esc {
  padding: .125rem .25rem;
  border: 1px solid rgb(229 231 235);
  border-radius: .25rem;
}
.dark .cm-closet, .dark .cm-esc { color: rgb(107 114 128); }
.dark .cm-esc { border-color: rgb(75 85 99); }

/* ---- knowledge graph overlay (interactive/graph.tsx) ---- */
.gr {
  position: fixed;
  inset: 0;
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: center;
}
.gr-back { position: absolute; inset: 0; cursor: default; }
.gr-panel {
  position: relative;
  z-index: 10;
  overflow: hidden;
  border: 1px solid hsl(var(--border));
  background-color: hsl(var(--background));
}
.gr-hover {
  position: absolute;
  top: .75rem;
  left: .75rem;
  z-index: 10;
  padding: .25rem .5rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
  font-size: .75rem;
  line-height: 1rem;
  border: 1px solid hsl(var(--border));
  border-radius: calc(var(--radius) - 2px);
  background-color: hsl(var(--card));
  box-shadow: 0 1px 2px 0 #0000000d;
}
.gr-hover[hidden] { display: none; }
.gr-hover-type { color: hsl(var(--muted-foreground)); }
.gr-box { width: 100%; height: 100%; }
.gr-msg {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  font-size: .875rem;
  line-height: 1.25rem;
  color: hsl(var(--muted-foreground));
}

/* Native settings, static command navigation and the no-JS notice. */
.ks summary { list-style: none; cursor: pointer; }
.ks summary::-webkit-details-marker { display: none; }
html.js .nojs-only, html:not(.js) .js-only { display: none; }
.ks-theme-fallback { position: relative; }
.ks-theme-panel { position: absolute; right: calc(100% + .5rem); top: 0; width: 210px; padding: .75rem; border: 1px solid hsl(var(--border)); background: hsl(var(--background)); box-shadow: 0 4px 6px -1px #0000001a; font-size: .875rem; }
.ks-theme-panel fieldset + fieldset { margin-top: .75rem; }
.ks-theme-panel legend { font-weight: 600; margin-bottom: .25rem; }
.ks-theme-panel label { display: block; padding: .25rem 0; cursor: pointer; }
.nojs-warning { position: fixed; bottom: 76px; right: 20px; z-index: 45; width: 32px; background: #353535; color: #fff; box-shadow: 0 2px 8px #0004; font-size: 13px; line-height: 1.5; }
.nojs-warning[open] { width: min(420px, calc(100% - 40px)); }
.nojs-warning summary { position: absolute; top: 0; right: 0; width: 32px; height: 32px; display: flex; justify-content: center; align-items: center; list-style: none; cursor: pointer; font-family: ui-monospace, monospace; background: #353535; }
.nojs-warning:not([open]) summary { position: static; }
.nojs-warning summary::-webkit-details-marker { display: none; }
.nojs-warning .nojs-minus, .nojs-warning[open] .nojs-plus { display: none; }
.nojs-warning[open] .nojs-minus { display: inline; }
.nojs-warning-body { display: flex; }
.nojs-warning-icon { width: 48px; flex-shrink: 0; background: #222; display: flex; align-items: center; justify-content: center; }
.nojs-warning-icon img { filter: brightness(0) invert(1); }
.nojs-warning-text { padding: 12px 32px 12px 12px; }
.nojs-warning-text strong { font-size: 14px; }
.nojs-warning-text p { margin: 6px 0 0; }
.nojs-warning-text a { color: #fff; text-decoration: underline; }
.cm-menu-page { min-height: 100vh; padding: 2rem 1rem; display: grid; place-content: center; }
.cm-menu-page .cm { position: relative; inset: auto; transform: none; width: min(740px, calc(100vw - 2rem)); max-height: none; margin: 0 auto; overflow: hidden; }
.cm-menu-page .cm-list { max-height: none; columns: 2; column-gap: 1rem; overflow: visible; padding: .5rem 1rem; }
.cm-menu-page .cm-group { break-inside: avoid; padding-block: .25rem; }
.cm-menu-page .cm-item { padding-block: .25rem; }
.cm-menu-page .cm-top .ph-back { margin-bottom: 0; }
.cm-menu-page .nojs-site-nav { padding: .75rem 1rem 0; margin-bottom: .25rem; }
@media (max-width: 639px) {
  .cm-menu-page { padding-top: 4.5rem; }
  .cm-menu-page .cm-list { column-gap: .25rem; padding-inline: .5rem; }
  .cm-menu-page .cm-item { font-size: .75rem; gap: .375rem; }
}
@media print { .nojs-warning { display: none; } }

/* footer: components/layout/global-footer.tsx + footer.tsx. */
.gf { margin-left: auto; margin-right: auto; width: 100%; }
.gf-hr { margin-top: .25rem; margin-bottom: 0; border-top-width: 1px; }
.gf-foot {
  width: 100%;
  padding: .75rem 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .75rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
  font-size: .75rem;
  line-height: 1rem;
}
@media (min-width: 640px) {
  .gf-foot { flex-direction: row; align-items: center; }
}
.gf-left { width: 100%; flex-grow: 1; text-align: left; min-width: 0; }
.gf-faces { position: relative; height: 1rem; overflow: hidden; }
.gf-face {
  position: absolute;
  left: 0;
  right: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  transform: translateY(0);
  opacity: 1;
}
.gf-face.gf-next { transform: translateY(100%); opacity: 0; }
.gf-faces.gf-anim .gf-face {
  transition: transform .4s cubic-bezier(.4, 0, .2, 1), opacity .4s ease;
  transform: translateY(-100%);
  opacity: 0;
}
.gf-faces.gf-anim .gf-face.gf-next { transform: translateY(0); opacity: 1; }
.gf-line { display: inline-flex; align-items: center; gap: .375rem; }
.gf-dot { position: relative; display: inline-flex; width: .375rem; height: .375rem; flex-shrink: 0; }
.gf-ping {
  position: absolute;
  display: inline-flex;
  width: 100%;
  height: 100%;
  border-radius: 9999px;
  opacity: .6;
  animation: gf-ping 1s cubic-bezier(0, 0, .2, 1) infinite;
}
@keyframes gf-ping {
  75%, 100% { transform: scale(2); opacity: 0; }
}
.gf-core { position: relative; display: inline-flex; width: .375rem; height: .375rem; border-radius: 9999px; }
.gf-icons { display: flex; align-items: center; gap: .25rem; }
.gf-btn {
  display: inline-flex;
  width: 2.5rem;
  height: 2.5rem;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius);
  color: hsl(var(--muted-foreground));
  transition: color .1s cubic-bezier(.4, 0, .2, 1), background-color .1s cubic-bezier(.4, 0, .2, 1);
}
.gf-btn:hover { background-color: hsl(var(--muted)); color: hsl(var(--foreground)); }
@media (min-width: 640px) {
  .gf-btn { width: 1.75rem; height: 1.75rem; }
}
.gf-i { width: 1rem; height: 1rem; }

/* popups: link-preview windows (components/interactive/popups.tsx). */
.pw {
  position: fixed;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background-color: hsl(var(--background));
}
.pw[hidden] { display: none; }
.pw.shadow-2xl { box-shadow: 0 25px 50px -12px #00000040; }
.pw.shadow-xl { box-shadow: 0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a; }
.pw-bar {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 2rem;
  flex-shrink: 0;
  border-bottom: 2px solid hsl(var(--border));
  cursor: grab;
  background-color: hsl(var(--muted));
  background-image: repeating-linear-gradient(45deg, transparent, transparent 2px, rgba(128, 128, 128, .1) 2px, rgba(128, 128, 128, .1) 4px);
  background-size: 8px 8px;
}
.pw-bar.cursor-grabbing { cursor: grabbing; }
.pw-left, .pw-right { display: flex; align-items: center; }
.pw-btn {
  padding: .375rem;
  color: hsl(var(--muted-foreground));
  transition: color .15s cubic-bezier(.4, 0, .2, 1);
}
.pw-btn:hover, .pw-nav:hover { color: hsl(var(--foreground)); }
.pw-btn:active { transform: scale(.9); }
.pw-btn.text-foreground { color: hsl(var(--foreground)); }
.pw-nav { padding: .375rem; color: hsl(var(--muted-foreground)); }
.pw-title {
  flex: 1;
  padding: 0 1rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: center;
  font-weight: 500;
  color: hsl(var(--muted-foreground));
  font-size: .875rem;
  line-height: 1.25rem;
}
.pw-title.pw-title-file {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
  font-size: .75rem;
  line-height: 1rem;
}
.pw-sep { width: 1rem; height: 1rem; border-left: 1px solid hsl(var(--border)); margin: 0 .25rem; }
.pw-count { padding: 0 .25rem; font-size: .75rem; line-height: 1rem; color: hsl(var(--muted-foreground)); }
.pw .size-4 { width: 1rem; height: 1rem; }
.pw .size-3\.5 { width: .875rem; height: .875rem; }
.pw .h-4 { height: 1rem; }
.pw .text-muted-foreground { color: hsl(var(--muted-foreground)); }
.pw .text-foreground { color: hsl(var(--foreground)); }
/* hover submenus: zoom grid and minimize menu */
.pw-sub {
  position: absolute;
  z-index: 9999;
  top: 100%;
  left: 0;
  visibility: hidden;
  opacity: 0;
  transition: all .15s;
}
.pw-sub.pw-sub-on { visibility: visible; opacity: 1; }
.pw-zoom { margin-top: 2px; }
.pw-grid {
  display: grid;
  grid-template-columns: repeat(3, 28px);
  grid-template-rows: repeat(3, 28px);
  gap: 1px;
  padding: 1px;
  background-color: hsl(var(--border));
  border: 2px solid hsl(var(--border));
  box-shadow: 2px 2px 4px rgba(0, 0, 0, .15);
}
.pw-cell {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: hsl(var(--background));
  border: none;
  cursor: pointer;
  padding: 0;
  transition: background-color .15s cubic-bezier(.4, 0, .2, 1);
}
.pw-cell:hover { background-color: hsl(var(--muted)); }
.pw-cell.pw-cell-on { background-color: hsl(var(--muted)); }
.pw-menu {
  display: flex;
  flex-direction: column;
  gap: 1px;
  border: 2px solid hsl(var(--border));
  background-color: hsl(var(--border));
  box-shadow: 2px 2px 0 0 rgba(0, 0, 0, .1);
}
.pw-menu-btn {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .375rem .75rem;
  background-color: hsl(var(--background));
  font-size: .875rem;
  line-height: 1.25rem;
  white-space: nowrap;
  transition: background-color .15s cubic-bezier(.4, 0, .2, 1);
}
.pw-menu-btn:hover { background-color: hsl(var(--muted)); }
.pw-body { position: relative; flex: 1; overflow: hidden; }
.pw-cover {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: hsl(var(--background));
}
.pw-frame { width: 100%; height: 100%; border: 0; }
.pw-foot {
  height: 1.5rem;
  flex-shrink: 0;
  border-top: 2px solid hsl(var(--border));
  background-color: hsl(var(--muted) / .3);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 .75rem;
  font-size: 10px;
  color: hsl(var(--muted-foreground));
  text-transform: uppercase;
  letter-spacing: .025em;
}
.pw-task {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 1200;
  max-width: 60%;
  height: 2.5rem;
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: 0 .5rem;
  background-color: hsl(var(--muted) / .8);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  border-top: 1px solid hsl(var(--border));
  border-right: 1px solid hsl(var(--border));
}
.pw-task-btn {
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: .25rem .75rem;
  background-color: hsl(var(--background));
  border: 1px solid hsl(var(--border));
  font-size: .875rem;
  line-height: 1.25rem;
  transition: background-color .15s cubic-bezier(.4, 0, .2, 1);
}
.pw-task-btn:hover { background-color: hsl(var(--muted)); }
@media print {
  .pw, .pw-task { display: none !important; }
}

/* lightbox: yet-another-react-lightbox 3.32 styles (styles.css,
   captions.css, counter.css), trimmed to what page/chrome-lightbox.ts
   renders. */
.yarl__portal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  overflow: hidden;
  opacity: 0;
  pointer-events: auto;
  transition: opacity .25s ease;
}
.yarl__portal_open { opacity: 1; }
.yarl__container {
  position: absolute;
  inset: 0;
  overflow: hidden;
  background-color: #000;
  overscroll-behavior: contain;
  touch-action: none;
  -webkit-user-select: none;
  user-select: none;
  outline: none;
}
.yarl__carousel {
  display: flex;
  flex: none;
  align-items: stretch;
  place-content: center;
  width: 100%;
  height: 100%;
}
.yarl__flex_center { display: flex; align-items: center; place-content: center; }
.yarl__slide { position: relative; flex: 1; overflow: hidden; padding: 0; }
.yarl__slide_image {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  touch-action: none;
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  transform-origin: center;
}
.yarl__toolbar {
  position: absolute;
  inset: 0 0 auto auto;
  display: flex;
  justify-content: flex-end;
  padding: 8px;
}
.yarl__icon { width: 32px; height: 32px; }
.yarl__button {
  appearance: none;
  margin: 0;
  padding: 8px;
  border: 0;
  background-color: transparent;
  color: #fffc;
  line-height: 0;
  cursor: pointer;
  outline: none;
  filter: drop-shadow(2px 2px 2px #000c);
  -webkit-tap-highlight-color: transparent;
}
.yarl__button:focus-visible { color: #fff; }
@media (hover: hover) {
  .yarl__button:hover { color: #fff; }
}
.yarl__button:disabled { color: #fff6; cursor: default; }
.yarl__navigation_prev, .yarl__navigation_next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  padding: 24px 16px;
}
.yarl__navigation_prev { left: 0; }
.yarl__navigation_next { right: 0; }
.yarl__no_scroll_no_padding { overflow: hidden; overscroll-behavior: none; }
.yarl__slide_captions_container {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 16px;
  background: #00000080;
  transform: translateZ(0);
}
.yarl__slide_captions_container[hidden] { display: none; }
.yarl__slide_description {
  display: -webkit-box;
  overflow: hidden;
  color: #fff;
  -webkit-hyphens: auto;
  hyphens: auto;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}
.yarl__counter {
  position: absolute;
  top: 0;
  left: 0;
  margin: 8px;
  padding: 8px;
  line-height: 32px;
  color: #fffc;
  filter: drop-shadow(2px 2px 2px #000c);
  -webkit-user-select: none;
  user-select: none;
}
@media (prefers-reduced-motion) {
  .yarl__portal { transition: unset; }
}

/* Image anchors retain the original lightbox trigger's appearance. */
a.image-full-link { color: inherit; text-decoration: none; border: 0; }
a.image-full-link::after { content: none; }

/* pages owned by chrome: /search (the rest of its CSS is 05-search.css)
   and the 404 page. */
.search-page-shell {
  width: 100%;
  max-width: 672px;
  margin-left: auto;
  margin-right: auto;
  padding: 2rem 1rem;
}

/* ---- 404 (not-found-client.tsx, content/404-block.tsx, scripts/prod/404.js) ---- */
.nf { min-height: 100vh; background-color: hsl(var(--background)); color: hsl(var(--foreground)); padding-top: 2rem; }
.nf-wide { max-width: 72rem; margin: 0 auto; padding: 0 1rem; }
.nf-col { width: 100%; max-width: 672px; margin: 0 auto; padding: 0 1rem; }
.nf-top { margin-bottom: .75rem; }
.nf-main > * + * { margin-top: .75rem; }
.nf-form { position: relative; }
.nf-icon {
  position: absolute;
  left: .75rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1rem;
  height: 1rem;
  color: hsl(var(--muted-foreground));
}
.nf-input {
  width: 100%;
  height: 2.25rem;
  padding: 0 .75rem 0 2.5rem;
  border-width: 1px;
  border-radius: 0;
  font-size: .875rem;
  line-height: 1.25rem;
  background-color: hsl(var(--background));
}
.nf-input:hover { background-color: hsl(var(--secondary) / .5); }
.nf-input:focus { outline: 2px solid #0000; outline-offset: 2px; background-color: hsl(var(--secondary) / .5); }
.nf-card { border: 1px solid hsl(var(--border)); }
.nf-head { display: flex; align-items: stretch; border-bottom: 1px solid hsl(var(--border)); }
.nf-label {
  width: 4rem;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: .5rem;
  border-right: 1px solid hsl(var(--border));
  background-color: hsl(var(--muted) / .3);
}
.nf-label-t { font-size: 10px; font-weight: 500; text-transform: uppercase; letter-spacing: .025em; color: hsl(var(--muted-foreground)); }
.nf-q { flex: 1; display: flex; align-items: center; padding: .5rem .75rem; }
.nf-q-t { font-size: .75rem; line-height: 1rem; color: hsl(var(--muted-foreground)); }
.nf-row { display: flex; align-items: stretch; }
.nf-row-b { border-bottom: 1px solid hsl(var(--border)); }
.nf-num {
  width: 4rem;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: .5rem;
  border-right: 1px solid hsl(var(--border));
}
.nf-num-t, .nf-link, .nf-clock, .nf-t, .nf-math-rows {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
}
.nf-num-t { font-size: .75rem; line-height: 1rem; color: hsl(var(--muted-foreground)); }
.nf-link {
  flex: 1;
  display: flex;
  align-items: center;
  padding: .5rem .75rem;
  font-size: .875rem;
  line-height: 1.25rem;
  color: hsl(var(--foreground));
  transition: background-color .15s cubic-bezier(.4, 0, .2, 1);
}
.nf-link:hover { background-color: hsl(var(--muted) / .3); }
.nf-none { flex: 1; padding: .5rem .75rem; font-size: .875rem; line-height: 1.25rem; color: hsl(var(--muted-foreground)); font-style: italic; }
#url-suggestions-loading { margin: 20px 0; padding: 12px 16px; background-color: rgba(0, 0, 0, .05); border-radius: 6px; font-style: italic; }
.dark #url-suggestions-loading { background-color: rgba(255, 255, 255, .05); }
/* the card */
.nf-fallback { border: 1px solid hsl(var(--border)); padding: 1.5rem; display: flex; flex-direction: column; align-items: center; }
.nf-fallback-img { width: 100%; max-height: 400px; object-fit: contain; margin-bottom: 1rem; }
.nf-fallback-t { font-size: .875rem; line-height: 1.25rem; color: hsl(var(--muted-foreground)); text-align: center; }
.nf-block { display: flex; flex-direction: column; border-style: solid; border-width: 1px 1px 0; }
.nf-block-top { padding: 1rem 1rem 0; display: flex; flex-direction: column; align-items: center; }
.nf-tier { margin-bottom: .75rem; display: flex; align-items: center; gap: .5rem; width: 100%; }
.nf-tier-bar { height: 1px; flex: 1; }
.nf-tier-label { font-size: 10px; letter-spacing: .2em; text-transform: uppercase; font-weight: 500; flex-shrink: 0; }
.nf-frame { width: 100%; display: flex; align-items: center; justify-content: center; }
.nf-frame.nf-framed { border: 1px solid hsl(var(--border)); }
.nf-media { width: 100%; max-height: 400px; object-fit: contain; }
.nf-bar { border-top: 1px solid; padding: .5rem 1rem; }
.nf-player { width: 100%; display: flex; align-items: center; gap: .5rem; }
.nf-play {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  color: hsl(var(--muted-foreground));
  transition: color .15s cubic-bezier(.4, 0, .2, 1);
}
.nf-play:hover { color: hsl(var(--foreground)); }
.nf-t { font-size: 10px; font-variant-numeric: tabular-nums; color: hsl(var(--muted-foreground)); flex-shrink: 0; width: 1.75rem; }
.nf-t-cur { text-align: right; }
.nf-range { flex: 1; height: 3px; -webkit-appearance: none; appearance: none; cursor: pointer; }
.media-scrubber::-webkit-slider-runnable-track { height: 3px; cursor: pointer; }
.media-scrubber::-moz-range-track { height: 3px; cursor: pointer; background: transparent; }
.nf-foot { border-top: 1px solid; padding: .625rem 1rem; display: flex; flex-direction: column; gap: .375rem; }
.nf-msg {
  font-family: ui-serif, Georgia, Cambria, Times New Roman, Times, serif;
  font-size: 11px;
  font-style: italic;
  text-align: center;
  color: hsl(var(--muted-foreground));
}
.nf-foot-row { display: flex; align-items: center; justify-content: space-between; }
.nf-clock { font-size: 11px; font-variant-numeric: tabular-nums; color: hsl(var(--muted-foreground)); }
.nf-pull { display: flex; align-items: center; gap: .375rem; font-size: 11px; color: hsl(var(--muted-foreground)); }
.nf-math { position: relative; display: inline-flex; align-items: center; }
.nf-math-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  border-radius: 9999px;
  border: 1px solid hsl(var(--border));
  font-size: 9px;
  line-height: 1;
  cursor: help;
  color: hsl(var(--muted-foreground));
}
.nf-math-pop {
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  margin-bottom: .5rem;
  width: 240px;
  z-index: 50;
  border: 1px solid hsl(var(--border));
  background-color: hsl(var(--popover));
  color: hsl(var(--popover-foreground));
  padding: .75rem;
  font-size: 11px;
  line-height: 1.625;
}
.nf-math-pop[hidden] { display: none; }
.nf-math-title { font-weight: 500; margin-bottom: .375rem; }
.nf-math-rows > * + * { margin-top: .25rem; }
.nf-math-row { display: flex; justify-content: space-between; }
.nf-math-sum { padding-top: .25rem; margin-top: .25rem; border-top: 1px solid hsl(var(--border)); }
.nf-math-note { margin-top: .5rem; font-size: 10px; line-height: 1.375; color: hsl(var(--muted-foreground)); }
.nf-endbar { width: 100%; height: 2px; }

.search-static-index { margin-top: 1.5rem; }
.search-static-index h2 { font-size: 1.25rem; margin-bottom: .75rem; }
.search-static-index summary { cursor: pointer; padding: .5rem 0; text-transform: capitalize; }
.search-static-index ul { list-style: disc; padding-left: 1.25rem; }
.search-static-index a, .nf .nojs-only a { text-decoration: underline; }

/* The noscript wrapper keeps this navigation out of the JS layout entirely.
   Every grid has two full rows, including the narrower responsive subsets.
   The final track absorbs fractional-pixel rounding to meet the right edge. */
.nojs-site-nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, calc((100% - .5rem) / 3))) minmax(0, 1fr);
  grid-auto-rows: 1fr;
  gap: .25rem;
  width: 100%;
  margin-inline: auto;
  margin-bottom: 1rem;
  padding: 0;
}
.nojs-site-nav-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 2rem;
  padding: .375rem .25rem;
  border: 1px solid hsl(var(--border));
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
  font-family: ui-serif, Georgia, Cambria, Times New Roman, Times, serif;
  font-size: .75rem;
  line-height: 1rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  overflow-wrap: anywhere;
  text-align: center;
  text-decoration: none;
}
.nojs-site-nav-link:nth-child(n + 7) { display: none; }
.nojs-site-nav-link[aria-current],
.nojs-site-nav-link:hover { background-color: hsl(var(--muted)); }
.nojs-site-nav-link:focus-visible {
  outline: 2px solid hsl(var(--foreground));
  outline-offset: 2px;
}
@media (min-width: 640px) {
  .nojs-site-nav-cols-4,
  .nojs-site-nav-cols-5,
  .nojs-site-nav-cols-8 { grid-template-columns: repeat(3, minmax(0, calc((100% - .75rem) / 4))) minmax(0, 1fr); }
  .nojs-site-nav-cols-4 .nojs-site-nav-link:nth-child(-n + 8),
  .nojs-site-nav-cols-5 .nojs-site-nav-link:nth-child(-n + 8),
  .nojs-site-nav-cols-8 .nojs-site-nav-link:nth-child(-n + 8) { display: flex; }
}
@media (min-width: 768px) {
  .nojs-site-nav-cols-5,
  .nojs-site-nav-cols-8 { grid-template-columns: repeat(4, minmax(0, calc((100% - 1rem) / 5))) minmax(0, 1fr); }
  .nojs-site-nav-cols-5 .nojs-site-nav-link:nth-child(-n + 10),
  .nojs-site-nav-cols-8 .nojs-site-nav-link:nth-child(-n + 10) { display: flex; }
}
@media (min-width: 1024px) {
  .nojs-site-nav-cols-8 { grid-template-columns: repeat(7, minmax(0, calc((100% - 1.75rem) / 8))) minmax(0, 1fr); }
  .nojs-site-nav-cols-8 .nojs-site-nav-link { display: flex; }
}

/* Reloading without scripts adds the navigation above the previous anchor.
   Keep the browser from shifting the initial viewport to follow that anchor. */
html:not(.js), html:not(.js) body { overflow-anchor: none; }

/* The bar lives inside the title column. Trim only its layout ancestors;
   browsers without :has() retain the ordinary, readable page spacing. */
html:not(.js) .site-main:has(.nojs-site-nav) { padding-top: 1rem; }
html:not(.js) .site-main :where(div, main, section):has(.nojs-site-nav) {
  padding-block-start: 0;
}
html:not(.js) .nojs-site-nav-home { margin-bottom: 1rem; }
html:not(.js) .site-main:has(.cm-menu-page) { padding-top: 0; }
html:not(.js) .cm-menu-page { padding-block: 1rem; }
@media (max-width: 639px) {
  html:not(.js) .site-main:has(.nojs-site-nav) { padding-top: 4.5rem; }
  html:not(.js) .site-main:has(.cm-menu-page) { padding-top: 0; }
  html:not(.js) .cm-menu-page { padding-block-start: 4.5rem; }
}

/* home: the post list at / (ListHeader, BlogPost). */
.home-header {
  margin-bottom: 2.5rem;
  padding-left: 0;
}
.home-title {
  margin-bottom: .75rem;
  font-family: ui-serif, Georgia, Cambria, Times New Roman, Times, serif;
  font-size: 2.25rem;
  line-height: 2.5rem;
  font-weight: 500;
  letter-spacing: -.025em;
  color: rgb(17 24 39);
}
.dark .home-title { color: rgb(243 244 246); }
.home-quote-wrap { position: relative; }
.home-quote {
  font-size: .875rem;
  line-height: 1.25rem;
  font-weight: 300;
  font-style: italic;
  color: rgb(75 85 99);
  cursor: pointer;
  transition: color .15s cubic-bezier(.4, 0, .2, 1);
}
.home-quote:hover, .dark .home-quote:hover { color: hsl(var(--primary)); }
.dark .home-quote { color: rgb(156 163 175); }
.home-quote .extra { display: none; }
.quote-more {
  display: inline-flex;
  align-items: center;
  margin-top: .25rem;
  font-size: .75rem;
  line-height: 1rem;
  color: rgb(107 114 128);
}
.quote-more[hidden] { display: none; }
.dark .quote-more { color: rgb(156 163 175); }
.quote-more svg {
  height: 1rem;
  width: 1rem;
  transition: transform .15s cubic-bezier(.4, 0, .2, 1);
}
.quote-more span { margin-left: .25rem; }

.home-list {
  margin-inline: auto;
  max-width: 56rem;
}
.home-posts > * + * { margin-top: 2rem; }
.home-post {
  padding-left: 0;
  max-width: 42rem;
}
.home-post > a, .home-post > div { display: block; }
.home-post.draft { opacity: .6; user-select: none; -webkit-user-select: none; }
.home-post-title {
  margin-bottom: .375rem;
  font-size: 1.125rem;
  line-height: 1.75rem;
  font-weight: 400;
  color: rgb(0 0 0);
  transition: color .2s cubic-bezier(.4, 0, .2, 1);
}
.home-post:hover .home-post-title { color: rgb(75 85 99); }
.dark .home-post-title { color: rgb(255 255 255); }
.dark .home-post:hover .home-post-title { color: rgb(156 163 175); }
.home-post-body {
  border-left: 2px solid rgb(229 229 229);
  padding-left: .5rem;
  transition: border-color .2s cubic-bezier(.4, 0, .2, 1);
}
.home-post:hover .home-post-body { border-color: rgb(163 163 163); }
.dark .home-post-body { border-color: rgb(64 64 64); }
.dark .home-post:hover .home-post-body { border-color: rgb(115 115 115); }
.home-post-sub {
  margin-bottom: .25rem;
  font-size: .75rem;
  line-height: 1rem;
  font-weight: 300;
  font-style: italic;
  color: rgb(75 85 99);
}
.dark .home-post-sub { color: rgb(209 213 219); }
.home-post-date {
  display: block;
  margin-bottom: .5rem;
  font-size: .75rem;
  line-height: 1rem;
  font-weight: 300;
  color: rgb(107 114 128);
}
.dark .home-post-date { color: rgb(156 163 175); }
.home-post-excerpt {
  font-size: .875rem;
  line-height: 1.25rem;
  font-weight: 300;
  color: rgb(55 65 81);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.dark .home-post-excerpt { color: rgb(209 213 219); }
.draft-badge {
  margin-left: .5rem;
  vertical-align: middle;
  padding: .125rem .375rem;
  border: 1px solid hsl(var(--border) / .6);
  border-radius: calc(var(--radius) - 4px);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .025em;
  color: hsl(var(--muted-foreground));
}

@media (max-width: 639px) {
  .home-quote {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}
@media (min-width: 640px) {
  .home-header { margin-bottom: 4rem; padding-left: 2rem; }
  .home-quote span { display: block; }
  .home-post { padding-left: 2rem; }
  .home-post-excerpt { max-width: calc(100% - 4rem); }
}

/* Quote expansion uses the same checkbox in every browser mode. */
.quote-expand {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}
.quote-more-control { cursor: pointer; }
.quote-more-control .quote-hide { display: none; }
html:not(.js) .home-quote { cursor: default; }
html:not(.js) .home-quote:hover { color: rgb(75 85 99); }
html.dark:not(.js) .home-quote:hover { color: rgb(156 163 175); }
.quote-expand:checked ~ .home-quote {
  display: block;
  overflow: visible;
  -webkit-line-clamp: unset;
}
.quote-expand:checked ~ .home-quote .extra { display: inline; }
.quote-expand:checked ~ .quote-more-control svg { transform: rotate(180deg); }
.quote-expand:checked ~ .quote-more-control .quote-show { display: none; }
.quote-expand:checked ~ .quote-more-control .quote-hide { display: inline; }
.quote-expand:focus-visible ~ .quote-more-control { outline: 2px solid hsl(var(--ring)); }
@media (max-width: 639px) {
  html:not(.js) .quote-more-control.quote-fits { display: none; }
}
@media (min-width: 640px) {
  html:not(.js) .quote-more-control.quote-short { display: none; }
  .quote-expand:checked ~ .home-quote .extra { display: block; }
}

/* F1 post: the article page (content-article.tsx, client.tsx),
   citation, comments, support boxes, TOC rail and the news header. */

/* relative bg-background text-foreground pt-8 */
.post-page {
  position: relative;
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
  padding-top: 2rem;
}
/* max-w-6xl mx-auto px-4 */
.post-shell {
  max-width: 72rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}
/* container max-w-[672px] mx-auto px-4 (max-w wins over .container) */
.post-col {
  width: 100%;
  max-width: 672px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}
@media print {
  .post-col {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

/* news: border-l border-r border-border px-6 pt-6 pb-6 */
.news-frame {
  border-left-width: 1px;
  border-right-width: 1px;
  border-color: hsl(var(--border));
  padding: 1.5rem;
}

/* mt-8 w-full space-y-3 (news: no margin) */
.post-foot {
  margin-top: 2rem;
  width: 100%;
}
.post-foot-news {
  margin-top: 0;
}
.post-foot > :not([hidden]) ~ :not([hidden]) {
  margin-top: .75rem;
}

/* ---- panels: citation and comments --------------------------------- */

/* rounded-lg border border-border p-5 */
.panel {
  border-radius: var(--radius);
  border-width: 1px;
  border-color: hsl(var(--border));
  padding: 1.25rem;
}
/* mb-1.5 flex items-baseline justify-between gap-4 */
.panel-head {
  margin-bottom: .375rem;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
}
/* text-sm font-semibold tracking-tight */
.panel-title {
  font-size: .875rem;
  line-height: 1.25rem;
  font-weight: 600;
  letter-spacing: -.025em;
}
/* text-xs text-muted-foreground */
.panel-meta {
  font-size: .75rem;
  line-height: 1rem;
  color: hsl(var(--muted-foreground));
}
/* text-xs leading-relaxed text-muted-foreground */
.panel-text {
  font-size: .75rem;
  line-height: 1.625;
  color: hsl(var(--muted-foreground));
}
/* mt-4 flex flex-wrap gap-2 */
.cite-btns {
  margin-top: 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}
/* ml-auto inline-flex min-h-10 items-center px-2 text-xs text-muted-foreground
   transition-colors hover:text-foreground sm:min-h-0 */
.cite-toggle {
  margin-left: auto;
  display: inline-flex;
  min-height: 2.5rem;
  align-items: center;
  padding-left: .5rem;
  padding-right: .5rem;
  font-size: .75rem;
  line-height: 1rem;
  color: hsl(var(--muted-foreground));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}
.cite-toggle:hover {
  color: hsl(var(--foreground));
}
/* mt-4 overflow-x-auto rounded-md border border-border bg-muted/20 p-3
   font-mono text-xs leading-relaxed text-muted-foreground */
.cite-pre {
  margin-top: 1rem;
  overflow-x: auto;
  border-radius: calc(var(--radius) - 2px);
  border-width: 1px;
  border-color: hsl(var(--border));
  background-color: hsl(var(--muted) / .2);
  padding: .75rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
  font-size: .75rem;
  line-height: 1.625;
  color: hsl(var(--muted-foreground));
}
.cite-pre[hidden] {
  display: none;
}

/* ---- call-to-action buttons (components/home/ad.tsx) --------------- */

/* SECONDARY_CTA_CLASS */
.cta2 {
  display: inline-flex;
  min-height: 2.5rem;
  align-items: center;
  gap: .5rem;
  padding: .5rem 1rem;
  font-size: .75rem;
  line-height: 1rem;
  font-weight: 500;
  border-width: 1px;
  border-color: hsl(var(--border));
  border-radius: calc(var(--radius) - 2px);
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}
.cta2:hover {
  background-color: hsl(var(--muted) / .3);
}
/* PRIMARY_CTA_CLASS */
.cta1 {
  display: inline-flex;
  min-height: 2.5rem;
  align-items: center;
  gap: .5rem;
  padding: .5rem 1rem;
  font-size: .75rem;
  line-height: 1rem;
  font-weight: 500;
  background-color: hsl(var(--foreground));
  color: hsl(var(--background));
  border-radius: calc(var(--radius) - 2px);
  transition-property: opacity;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}
.cta1:hover {
  opacity: .9;
}
.dark .cta1 {
  background-color: hsl(0 0% 82%);
  color: hsl(0 0% 10%);
}
.cta1:disabled {
  opacity: .4;
  pointer-events: none;
}
@media (min-width: 640px) {
  .cta1, .cta2, .cite-toggle {
    min-height: 0;
  }
}
/* size-3.5 */
.cta-icon {
  width: .875rem;
  height: .875rem;
}

/* ---- support boxes ------------------------------------------------- */

/* grid grid-cols-1 gap-3 sm:grid-cols-[1fr_auto] */
.ad-grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: .75rem;
}
@media (min-width: 640px) {
  .ad-grid {
    grid-template-columns: 1fr auto;
  }
}
/* border border-border rounded-lg overflow-hidden hover:bg-muted/20
   transition-colors flex items-center */
.ad-panel {
  border-width: 1px;
  border-color: hsl(var(--border));
  border-radius: var(--radius);
  overflow: hidden;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  display: flex;
  align-items: center;
}
.ad-panel:hover {
  background-color: hsl(var(--muted) / .2);
}
/* w-full sm:w-56 */
.ad-news {
  width: 100%;
}
@media (min-width: 640px) {
  .ad-news {
    width: 14rem;
  }
}
/* p-5 flex flex-col items-center text-center w-full */
.ad-in {
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  width: 100%;
}
.ad-title {
  margin-bottom: .375rem;
}
.ad-title-tight {
  margin-bottom: .25rem;
}
/* text-xs text-muted-foreground leading-relaxed mb-4 */
.ad-text {
  font-size: .75rem;
  line-height: 1.625;
  color: hsl(var(--muted-foreground));
  margin-bottom: 1rem;
}
.ad-text-tight {
  margin-bottom: .25rem;
}
/* text-xs text-muted-foreground mb-4 */
.ad-note {
  font-size: .75rem;
  line-height: 1rem;
  color: hsl(var(--muted-foreground));
  margin-bottom: 1rem;
}
/* font-semibold text-foreground */
.ad-strong {
  font-weight: 600;
  color: hsl(var(--foreground));
}
/* flex flex-wrap justify-center gap-2 */
.ad-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .5rem;
}

/* ---- comments (components/interactive/comments.tsx) ---------------- */

.cmt-head {
  margin-bottom: .75rem;
}
/* flex flex-wrap items-center justify-between gap-3 */
.cmt-auth {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
}
.cmt-error {
  margin-top: .75rem;
  font-size: .75rem;
  line-height: 1rem;
  color: hsl(var(--destructive));
}
.cmt-error[hidden], .cmt-threads[hidden], .cmt-more[hidden] {
  display: none;
}
/* mt-5 divide-y divide-border border-t border-border */
.cmt-threads {
  margin-top: 1.25rem;
  border-top-width: 1px;
  border-color: hsl(var(--border));
}
.cmt-threads > :not([hidden]) ~ :not([hidden]) {
  border-top-width: 1px;
  border-color: hsl(var(--border));
}
/* space-y-4 py-4 */
.cmt-thread {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.cmt-thread > :not([hidden]) ~ :not([hidden]) {
  margin-top: 1rem;
}
/* ml-3 border-l border-border pl-4 sm:ml-9 */
.cmt-reply {
  margin-left: .75rem;
  border-left-width: 1px;
  border-color: hsl(var(--border));
  padding-left: 1rem;
}
@media (min-width: 640px) {
  .cmt-reply {
    margin-left: 2.25rem;
  }
}
.cmt-meta {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .75rem;
  line-height: 1rem;
}
.cmt-avatar {
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 9999px;
  object-fit: cover;
}
.cmt-initial {
  display: flex;
  width: 1.5rem;
  height: 1.5rem;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  background-color: hsl(var(--muted));
  font-size: 11px;
  color: hsl(var(--muted-foreground));
}
.cmt-name {
  font-weight: 500;
  color: hsl(var(--foreground));
}
.cmt-role {
  border-radius: .25rem;
  border-width: 1px;
  border-color: hsl(var(--border));
  padding: 1px .25rem;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .025em;
  color: hsl(var(--muted-foreground));
}
.cmt-date {
  color: hsl(var(--muted-foreground));
}
.cmt-edited {
  color: hsl(var(--muted-foreground) / .7);
}
.cmt-body-wrap {
  margin-top: .5rem;
}
.cmt-body {
  font-size: .875rem;
  line-height: 1.625;
  color: hsl(var(--foreground));
}
.cmt-body :not(pre) > code {
  border-radius: .25rem;
  background-color: hsl(var(--muted) / .4);
  padding: .125rem .25rem;
  font-size: .75rem;
  line-height: 1rem;
}
.cmt-body a {
  text-decoration-line: underline;
  text-decoration-color: hsl(var(--border));
  text-underline-offset: 2px;
}
.cmt-body a:hover {
  text-decoration-color: hsl(var(--foreground));
}
.cmt-body blockquote {
  border-left-width: 1px;
  border-color: hsl(var(--border));
  padding-left: .75rem;
  color: hsl(var(--muted-foreground));
}
.cmt-body code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
}
.cmt-body ol {
  margin-top: .375rem;
  margin-bottom: .375rem;
  list-style-type: decimal;
  padding-left: 1.25rem;
}
.cmt-body p {
  margin-top: .375rem;
  margin-bottom: .375rem;
}
.cmt-body pre {
  margin-top: .5rem;
  margin-bottom: .5rem;
  border-radius: calc(var(--radius) - 2px);
  background-color: hsl(var(--muted) / .4);
  padding: .75rem;
  font-size: .75rem;
  line-height: 1rem;
}
.cmt-body ul {
  margin-top: .375rem;
  margin-bottom: .375rem;
  list-style-type: disc;
  padding-left: 1.25rem;
}
.cmt-actions {
  margin-top: .5rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: .75rem;
  row-gap: .375rem;
}
/* TEXT_ACTION */
.cmt-act {
  font-size: .75rem;
  line-height: 1rem;
  color: hsl(var(--muted-foreground));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}
.cmt-act:hover, .cmt-act.is-on {
  color: hsl(var(--foreground));
}
.cmt-act:disabled {
  pointer-events: none;
  opacity: .4;
}
.cmt-react {
  line-height: 1;
}
/* CHIP */
.cmt-chip {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  border-radius: calc(var(--radius) - 2px);
  border-width: 1px;
  border-color: hsl(var(--border));
  padding: .125rem .5rem;
  font-size: .75rem;
  line-height: 1rem;
  color: hsl(var(--muted-foreground));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}
.cmt-chip:hover {
  background-color: hsl(var(--muted) / .3);
}
.cmt-chip:disabled {
  pointer-events: none;
}
.cmt-chip-mine {
  border-color: hsl(var(--foreground) / .4);
  color: hsl(var(--foreground));
}
.cmt-chip-n {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
}
.cmt-pick-wrap {
  position: relative;
}
.cmt-picker {
  position: absolute;
  bottom: 100%;
  left: 0;
  z-index: 10;
  margin-bottom: .375rem;
  display: flex;
  gap: .125rem;
  border-radius: calc(var(--radius) - 2px);
  border-width: 1px;
  border-color: hsl(var(--border));
  background-color: hsl(var(--background));
  padding: .25rem;
  box-shadow: 0 1px 2px 0 #0000000d;
}
.cmt-pick {
  border-radius: .25rem;
  padding: .25rem .375rem;
  font-size: .875rem;
  line-height: 1.25rem;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}
.cmt-pick:hover {
  background-color: hsl(var(--muted) / .4);
}
.cmt-right {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: .75rem;
}
.cmt-confirm {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .75rem;
  line-height: 1rem;
  color: hsl(var(--muted-foreground));
}
.cmt-more {
  margin-top: 1rem;
  display: flex;
  justify-content: center;
}
/* composer */
.cmp {
  border-radius: calc(var(--radius) - 2px);
  border-width: 1px;
  border-color: hsl(var(--border));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}
.cmp:focus-within {
  border-color: hsl(var(--foreground) / .4);
}
.cmp-ta {
  display: block;
  min-height: 6rem;
  width: 100%;
  resize: vertical;
  background-color: transparent;
  padding: .5rem .75rem;
  font-size: .875rem;
  line-height: 1.25rem;
  color: hsl(var(--foreground));
}
.cmp-ta::placeholder {
  color: hsl(var(--muted-foreground) / .6);
}
.cmp-ta:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.cmp-prev {
  min-height: 6rem;
  padding: .5rem .75rem;
}
.cmp-bar {
  display: flex;
  align-items: center;
  gap: .75rem;
  border-top-width: 1px;
  border-color: hsl(var(--border));
  padding: .375rem .75rem;
  font-size: .75rem;
  line-height: 1rem;
  color: hsl(var(--muted-foreground));
}
.cmp-hint {
  margin-left: auto;
  display: none;
}
.cmp-len {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
  margin-left: auto;
}
@media (min-width: 640px) {
  .cmp-hint {
    display: inline;
  }
  .cmp-len {
    margin-left: 0;
  }
}
.cmp-row {
  margin-top: .75rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
}

/* ---- TOC rail (components/content/toc.tsx) ------------------------- */

/* hidden lg:block fixed right-4 z-40 */
.toc {
  display: none;
  position: fixed;
  right: 1rem;
  z-index: 40;
}
@media (min-width: 1024px) {
  .toc {
    display: block;
  }
}
@media print {
  .toc {
    display: none !important;
  }
}
.toc-in {
  position: relative;
  display: inline-block;
}
/* flex flex-col gap-3 py-3 pl-6 cursor-default max-h-[70vh] overflow-y-auto */
.toc-rail {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  padding-top: .75rem;
  padding-bottom: .75rem;
  padding-left: 1.5rem;
  cursor: default;
  max-height: 70vh;
  overflow-y: auto;
}
/* h-0.5 w-6 shrink-0 bg-ring/50, data-depth indents */
.toc-bar {
  height: .125rem;
  width: 1.5rem;
  flex-shrink: 0;
  background-color: hsl(var(--ring) / .5);
}
.toc-bar[data-depth="3"] {
  margin-left: .5rem;
  width: 1rem;
}
.toc-bar[data-depth="4"] {
  margin-left: 1rem;
  width: .5rem;
}
/* w-56 max-h-[60vh] overflow-y-auto p-0 border bg-popover
   text-popover-foreground shadow-md rounded-md z-50 */
.toc-bento {
  width: 14rem;
  max-height: 60vh;
  overflow-y: auto;
  padding: 0;
  border-width: 1px;
  background-color: hsl(var(--popover));
  color: hsl(var(--popover-foreground));
  box-shadow: 0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;
  border-radius: calc(var(--radius) - 2px);
  z-index: 50;
}
.toc-bento[hidden] {
  display: none;
}
.toc-list {
  display: flex;
  flex-direction: column;
  padding-top: .5rem;
  padding-bottom: .5rem;
  font-size: .875rem;
  line-height: 1.25rem;
}
.toc-a {
  display: flex;
  align-items: flex-start;
  gap: .5rem;
  padding: .25rem .75rem;
  color: hsl(var(--muted-foreground));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}
.toc-a:hover {
  color: hsl(var(--foreground));
}
.toc-num {
  font-size: .75rem;
  line-height: 1rem;
  color: hsl(var(--muted-foreground) / .7);
  margin-top: .125rem;
  flex-shrink: 0;
  min-width: 24px;
}
.toc-text {
  overflow-wrap: break-word;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
}
/* section preview popup: fixed, 500x700, double border */
.toc-pop {
  position: fixed;
  z-index: 9999;
  pointer-events: auto;
  display: flex;
  flex-direction: column;
  box-shadow: 0 25px 50px -12px #00000040;
  overflow: hidden;
  width: 500px;
  height: 700px;
  left: 20px;
  border: 3px double hsl(var(--foreground));
  background-color: hsl(var(--background));
}
@media print {
  .toc-pop {
    display: none !important;
  }
}
.toc-pop-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 2rem;
  border-bottom: 2px solid hsl(var(--border));
  background-color: hsl(var(--muted));
  background-image: repeating-linear-gradient(45deg, transparent, transparent 2px, rgba(128, 128, 128, .1) 2px, rgba(128, 128, 128, .1) 4px);
  background-size: 8px 8px;
}
.toc-pop-title {
  font-size: .875rem;
  line-height: 1.25rem;
  font-weight: 500;
  color: hsl(var(--muted-foreground));
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 0 1rem;
}
.toc-pop-body {
  flex: 1 1 0%;
  position: relative;
  overflow: hidden;
}
.toc-pop-body iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

/* ---- news header (client.tsx, type news) --------------------------- */

/* border-l border-r border-t border-border */
.news-head {
  border-left-width: 1px;
  border-right-width: 1px;
  border-top-width: 1px;
  border-color: hsl(var(--border));
}
/* border-b border-dashed border-border bg-muted/10 min-h-[200px] flex
   items-center justify-center overflow-hidden */
.news-cover {
  border-bottom-width: 1px;
  border-style: dashed;
  border-color: hsl(var(--border));
  background-color: hsl(var(--muted) / .1);
  min-height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.news-cover-img {
  width: 100%;
  object-fit: cover;
}
.news-cover-empty {
  color: hsl(var(--muted-foreground) / .2);
  font-size: .75rem;
  line-height: 1rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  user-select: none;
}
.news-title-wrap {
  padding: 1.5rem 1.5rem 0;
}
/* font-serif text-4xl font-medium tracking-tight mb-2 */
.news-title {
  font-family: ui-serif, Georgia, Cambria, Times New Roman, Times, serif;
  font-size: 2.25rem;
  line-height: 2.5rem;
  font-weight: 500;
  letter-spacing: -.025em;
  margin-bottom: .5rem;
}
/* block text-sm text-muted-foreground font-serif italic */
.news-date {
  display: block;
  font-size: .875rem;
  line-height: 1.25rem;
  color: hsl(var(--muted-foreground));
  font-family: ui-serif, Georgia, Cambria, Times New Roman, Times, serif;
  font-style: italic;
}
/* border-b border-border mt-4 */
.news-rule {
  border-bottom-width: 1px;
  border-color: hsl(var(--border));
  margin-top: 1rem;
}
@media print {
  .news-frame, .news-head, .news-cover, .news-rule, .panel, .ad-panel, .cta2 {
    box-shadow: none !important;
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
  }
}

/* F2 poem: VerseDisplay / Verse block mode (components/content/verse.tsx). */

/* p-6 my-6 rounded-none bg-muted/50 dark:bg-[hsl(var(--popover))] */
.verse-box {
  padding: 1.5rem;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  border-radius: 0;
  background-color: hsl(var(--muted) / .5);
}
.dark .verse-box {
  background-color: hsl(var(--popover));
}
/* verse verse-block text-left + the inline custom properties */
.verse {
  --verse-font: 'Courier New', monospace;
  --verse-line-height: 1.6;
  --verse-stanza-gap: 1.5em;
  --verse-indent: 2ch;
  --verse-slash-opacity: 0.4;
  --verse-caesura-opacity: 0.2;
  font-family: var(--verse-font);
  line-height: var(--verse-line-height);
  text-align: left;
}
/* stanza mb-[var(--verse-stanza-gap)] last:mb-0 */
.verse .stanza {
  margin-bottom: var(--verse-stanza-gap);
}
.verse .stanza:last-child {
  margin-bottom: 0;
}
/* line leading-relaxed px-1 transition-colors duration-150 rounded-sm
   hover:bg-secondary/80 dark:hover:bg-secondary/60 cursor-pointer */
.verse .line {
  line-height: 1.625;
  padding-left: .25rem;
  padding-right: .25rem;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  border-radius: calc(var(--radius) - 4px);
}
.verse-hoverable .line {
  cursor: pointer;
}
.verse-hoverable .line:hover {
  background-color: hsl(var(--secondary) / .8);
}
.dark .verse-hoverable .line:hover {
  background-color: hsl(var(--secondary) / .6);
}

/* F3 feed: /til, /now and entry pages (components/content/feed-shared.tsx). */

/* til-container / now-container: container max-w-[672px] mx-auto px-4 py-8,
   font-family 'Geist', sans-serif (styled-jsx global; Geist is not loaded) */
.feed-page {
  width: 100%;
  max-width: 672px;
  margin-left: auto;
  margin-right: auto;
  padding: 2rem 1rem;
  font-family: 'Geist', sans-serif;
}
/* Entry routes do not load the listing's Geist font override. */
.feed-single {
  font-family: inherit;
}
/* space-y-4 */
.feed-list > :not([hidden]) ~ :not([hidden]) {
  margin-top: 1rem;
}
/* border border-border scroll-mt-4 */
.feed-item {
  border-width: 1px;
  border-color: hsl(var(--border));
  scroll-margin-top: 1rem;
}
.feed-item[hidden] {
  display: none;
}
/* flex items-stretch border-b border-border */
.feed-top {
  display: flex;
  align-items: stretch;
  border-bottom-width: 1px;
  border-color: hsl(var(--border));
}
.feed-cell {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-left: .75rem;
  padding-right: .75rem;
  border-right-width: 1px;
  border-color: hsl(var(--border));
}
.feed-meta {
  font-size: .75rem;
  line-height: 1rem;
  color: hsl(var(--muted-foreground));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  cursor: default;
}
.feed-meta:hover {
  color: hsl(var(--foreground));
}
.feed-mid {
  flex: 1 1 0%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: .5rem .75rem;
}
.feed-link {
  display: flex;
  align-items: center;
  padding-left: .75rem;
  padding-right: .75rem;
  color: hsl(var(--muted-foreground));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  border-left-width: 1px;
  border-color: hsl(var(--border));
}
.feed-link:hover {
  color: hsl(var(--foreground));
  background-color: hsl(var(--muted) / .3);
}
.feed-icon35 {
  width: .875rem;
  height: .875rem;
}
.feed-icon4 {
  width: 1rem;
  height: 1rem;
}
/* reaction picker */
.feed-pick {
  position: relative;
  border-left-width: 1px;
  border-color: hsl(var(--border));
}
.feed-pick-btn {
  padding: .5rem .75rem;
  color: hsl(var(--muted-foreground));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  height: 100%;
  display: flex;
  align-items: center;
}
.feed-pick-btn:hover {
  color: hsl(var(--foreground));
  background-color: hsl(var(--muted) / .3);
}
.feed-shade {
  position: fixed;
  inset: 0;
  z-index: 5;
}
.feed-pop {
  position: absolute;
  right: 0;
  top: 100%;
  margin-top: .25rem;
  z-index: 10;
  background-color: hsl(var(--popover));
  border-width: 1px;
  border-color: hsl(var(--border));
  box-shadow: 0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;
}
.feed-pop-h {
  font-size: .75rem;
  line-height: 1rem;
  color: hsl(var(--muted-foreground));
  padding: .5rem .75rem;
  border-bottom-width: 1px;
  border-color: hsl(var(--border));
  white-space: nowrap;
}
.feed-pop-row {
  display: flex;
  align-items: stretch;
}
.feed-emoji {
  padding: .5rem .75rem;
  font-size: 1.125rem;
  line-height: 1.75rem;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}
.feed-emoji:hover {
  background-color: hsl(var(--muted));
}
.feed-emoji + .feed-emoji {
  border-left-width: 1px;
  border-color: hsl(var(--border));
}
/* p-3 comment-content */
.feed-body {
  padding: .75rem;
}
/* font-medium text-lg mb-3 pb-2 border-b border-border */
.feed-title {
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.75rem;
  margin-bottom: .75rem;
  padding-bottom: .5rem;
  border-bottom-width: 1px;
  border-color: hsl(var(--border));
}
/* [&>*:first-child]:mt-0 */
.feed-inner > :first-child {
  margin-top: 0;
}
.feed-missing {
  color: hsl(var(--muted-foreground));
}
/* reaction footer */
.feed-foot {
  display: flex;
  align-items: stretch;
  border-top-width: 1px;
  border-color: hsl(var(--border));
}
.feed-chip {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .5rem .75rem;
  font-size: .875rem;
  line-height: 1.25rem;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  border-right-width: 1px;
  border-color: hsl(var(--border));
}
.feed-chip:hover {
  background-color: hsl(var(--muted) / .3);
}
.feed-chip.feed-chip-on {
  background-color: hsl(var(--muted));
  color: hsl(var(--foreground));
}
.feed-n {
  font-size: .75rem;
  line-height: 1rem;
  font-weight: 500;
}
.feed-none {
  flex: 1 1 0%;
  padding: .5rem .75rem;
  font-size: .75rem;
  line-height: 1rem;
  color: hsl(var(--muted-foreground));
}
.feed-empty {
  color: hsl(var(--muted-foreground));
  font-size: .875rem;
  line-height: 1.25rem;
  text-align: center;
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.feed-nomatch {
  color: hsl(var(--muted-foreground));
  font-size: .875rem;
  line-height: 1.25rem;
  margin-top: 1.5rem;
  text-align: center;
}
.feed-nomatch[hidden] {
  display: none;
}
/* /now search: mb-4 mt-1 > relative > icon + input */
.now-search {
  margin-bottom: 1rem;
  margin-top: .25rem;
}
.now-search-in {
  position: relative;
}
.now-icon {
  position: absolute;
  left: .75rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1rem;
  height: 1rem;
  color: hsl(var(--muted-foreground));
  pointer-events: none;
}
.now-input {
  width: 100%;
  height: 2.25rem;
  padding: .5rem .75rem .5rem 2.5rem;
  border-width: 1px;
  border-radius: 0;
  font-size: .875rem;
  line-height: 1.25rem;
  background-color: hsl(var(--background));
}
.now-input:hover {
  background-color: hsl(var(--secondary) / .5);
}
.now-input:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  background-color: hsl(var(--secondary) / .5);
}
.feed-empty[hidden] {
  display: none;
}

/* F6 sequence: /sequences/<slug> (components/content/sequence.tsx). */

/* sequence-container container max-w-[672px] mx-auto px-4 py-8 (Geist) */
.seq-page {
  width: 100%;
  max-width: 672px;
  margin-left: auto;
  margin-right: auto;
  padding: 2rem 1rem;
  font-family: "Geist", sans-serif;
}
.seq-head {
  margin-bottom: .75rem;
  position: relative;
}
.seq-card {
  border-width: 1px;
  border-color: hsl(var(--border));
  background-color: hsl(var(--card));
}
.seq-cover {
  aspect-ratio: 16 / 9;
  border-bottom-width: 1px;
  border-color: hsl(var(--border));
  background-color: hsl(var(--muted) / .3);
}
.seq-cover-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.seq-cover-empty {
  display: flex;
  align-items: center;
  justify-content: center;
}
.seq-cover-t {
  color: hsl(var(--muted-foreground));
  font-size: .875rem;
  line-height: 1.25rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
}
.seq-body {
  padding: 1.5rem;
}
.seq-title {
  font-family: ui-serif, Georgia, Cambria, Times New Roman, Times, serif;
  font-weight: 500;
  letter-spacing: -.025em;
  font-size: 1.5rem;
  line-height: 2rem;
  text-transform: uppercase;
  margin-bottom: .75rem;
}
@media (min-width: 768px) {
  .seq-title {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }
}
.seq-preview {
  font-family: ui-serif, Georgia, Cambria, Times New Roman, Times, serif;
  font-size: .875rem;
  line-height: 1.25rem;
  color: hsl(var(--muted-foreground));
  font-style: italic;
  margin-bottom: 1rem;
  hyphens: auto;
}
.seq-date {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
  font-size: .875rem;
  line-height: 1.25rem;
  color: hsl(var(--muted-foreground));
  margin-bottom: .75rem;
}
.seq-tags, .seq-filed {
  font-size: .875rem;
  line-height: 1.25rem;
  font-family: ui-serif, Georgia, Cambria, Times New Roman, Times, serif;
  font-style: italic;
  color: hsl(var(--muted-foreground));
}
.seq-tags {
  margin-bottom: 1rem;
}
.seq-tag, .seq-filed-a {
  color: hsl(var(--muted-foreground));
  text-decoration-line: none;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}
.seq-tag:hover, .seq-filed-a:hover {
  color: hsl(var(--foreground));
}
/* grid grid-cols-3 border-t border-border divide-x divide-border */
.seq-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top-width: 1px;
  border-color: hsl(var(--border));
}
.seq-stats > :not([hidden]) ~ :not([hidden]) {
  border-left-width: 1px;
  border-color: hsl(var(--border));
}
.seq-stat {
  padding: .5rem .75rem;
  text-align: center;
}
.seq-trig {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .25rem;
  cursor: help;
}
.seq-info {
  width: .75rem;
  height: .75rem;
}
.seq-label {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
  font-size: .75rem;
  line-height: 1rem;
  font-weight: 500;
}
.seq-hc {
  width: 20rem;
  font-size: .875rem;
  line-height: 1.25rem;
  background-color: hsl(var(--card));
  color: hsl(var(--card-foreground));
  border-color: hsl(var(--border));
  padding: 1rem;
  font-family: ui-serif, Georgia, Cambria, Times New Roman, Times, serif;
  z-index: 50;
  border-radius: calc(var(--radius) - 2px);
  border-width: 1px;
  box-shadow: 0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;
  text-align: left;
}
.seq-hc-body > * + * {
  margin-top: .5rem;
}
.seq-hc-h {
  font-weight: 500;
  color: hsl(var(--foreground));
}
.seq-hc-p {
  color: hsl(var(--muted-foreground));
  white-space: pre-wrap;
}
.seq-nav {
  margin-bottom: .75rem;
}
.seq-list {
  width: 100%;
}
/* section-header py-2 px-1 mt-2 first:mt-0 (+ styled-jsx colours) */
.seq-sec {
  padding: .5rem .25rem;
  margin-top: .5rem;
  background: #f8f9fa;
  font-weight: 600;
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #6c757d;
}
.dark .seq-sec {
  background: #1a1a1a;
  color: #9ca3af;
}
.seq-list > :first-child > .seq-sec {
  margin-top: 0;
}
.seq-row {
  position: relative;
  display: flex;
  align-items: baseline;
  gap: 1rem;
  padding-top: .75rem;
  padding-bottom: .75rem;
  border-bottom-width: 1px;
  border-color: hsl(var(--border) / .4);
  cursor: pointer;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}
.seq-row:hover {
  background-color: hsl(var(--secondary) / .3);
}
.seq-row[hidden] {
  display: none;
}
.seq-row-link {
  position: absolute;
  inset: 0;
  z-index: 10;
  text-decoration-line: none;
}
.seq-year, .seq-name, .seq-type, .seq-views {
  position: relative;
  z-index: 0;
  flex-shrink: 0;
  color: hsl(var(--muted-foreground));
}
.seq-year {
  font-size: .875rem;
  line-height: 1.25rem;
  font-variant-numeric: tabular-nums;
}
.seq-name {
  font-size: .875rem;
  line-height: 1.25rem;
  font-weight: 500;
  color: hsl(var(--foreground));
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  flex: 1 1 0%;
}
.seq-type, .seq-views {
  font-size: .75rem;
  line-height: 1rem;
}
.seq-views {
  font-variant-numeric: tabular-nums;
}

/* MDX body utilities (F1/F3). md2html writes the original component
   markup, Tailwind classes included (md2html/config.def.h); these are the
   compiled rules for exactly the classes it emits on the content, with the
   original selectors so the cascade against 02-content.css is unchanged.
   Generated from .ref/compiled.css with bin/twcss by tools/mdxcss; do not
   edit by hand. */
/* sr-only */
.sr-only {
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
}
/* pointer-events-none */
.pointer-events-none {
  pointer-events: none;
}
/* pointer-events-auto */
.pointer-events-auto {
  pointer-events: auto;
}
/* fixed */
.fixed {
  position: fixed;
}
/* absolute */
.absolute {
  position: absolute;
}
/* relative */
.relative {
  position: relative;
}
/* inset-0 */
.inset-0 {
  inset: 0;
}
/* left-0 */
.left-0 {
  left: 0;
}
/* left-1/2 */
.left-1\/2 {
  left: 50%;
}
/* left-2 */
.left-2 {
  left: .5rem;
}
/* left-[calc(-50vw+50%)] */
.left-\[calc\(-50vw\+50\%\)\] {
  left: calc(50% - 50vw);
}
/* right-[calc(-50vw+50%)] */
.right-\[calc\(-50vw\+50\%\)\] {
  right: calc(50% - 50vw);
}
/* top-0 */
.top-0 {
  top: 0;
}
/* top-2 */
.top-2 {
  top: .5rem;
}
/* top-full */
.top-full {
  top: 100%;
}
/* isolate */
.isolate {
  isolation: isolate;
}
/* z-10 */
.z-10 {
  z-index: 10;
}
/* z-[200] */
.z-\[200\] {
  z-index: 200;
}
/* float-right */
.float-right {
  float: right;
}
/* !m-0 */
.\!m-0 {
  margin: 0 !important;
}
/* m-0 */
.m-0 {
  margin: 0;
}
/* mx-auto */
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
/* my-4 */
.my-4 {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
/* my-5 */
.my-5 {
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
}
/* my-6 */
.my-6 {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
/* my-8 */
.my-8 {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
/* mb-0 */
.mb-0 {
  margin-bottom: 0;
}
/* mb-1 */
.mb-1 {
  margin-bottom: .25rem;
}
/* mb-10 */
.mb-10 {
  margin-bottom: 2.5rem;
}
/* mb-2 */
.mb-2 {
  margin-bottom: .5rem;
}
/* mb-3 */
.mb-3 {
  margin-bottom: .75rem;
}
/* mb-4 */
.mb-4 {
  margin-bottom: 1rem;
}
/* mb-6 */
.mb-6 {
  margin-bottom: 1.5rem;
}
/* mb-8 */
.mb-8 {
  margin-bottom: 2rem;
}
/* ml-0.5 */
.ml-0\.5 {
  margin-left: .125rem;
}
/* ml-4 */
.ml-4 {
  margin-left: 1rem;
}
/* ml-6 */
.ml-6 {
  margin-left: 1.5rem;
}
/* mr-auto */
.mr-auto {
  margin-right: auto;
}
/* mt-0 */
.mt-0 {
  margin-top: 0;
}
/* mt-0.5 */
.mt-0\.5 {
  margin-top: .125rem;
}
/* mt-1 */
.mt-1 {
  margin-top: .25rem;
}
/* mt-2 */
.mt-2 {
  margin-top: .5rem;
}
/* mt-3 */
.mt-3 {
  margin-top: .75rem;
}
/* mt-4 */
.mt-4 {
  margin-top: 1rem;
}
/* mt-6 */
.mt-6 {
  margin-top: 1.5rem;
}
/* mt-8 */
.mt-8 {
  margin-top: 2rem;
}
/* block */
.block {
  display: block;
}
/* inline-block */
.inline-block {
  display: inline-block;
}
/* inline */
.inline {
  display: inline;
}
/* flex */
.flex {
  display: flex;
}
/* inline-flex */
.inline-flex {
  display: inline-flex;
}
/* grid */
.grid {
  display: grid;
}
/* aspect-[3/4] */
.aspect-\[3\/4\] {
  aspect-ratio: 3 / 4;
}
/* aspect-square */
.aspect-square {
  aspect-ratio: 1;
}
/* size-10 */
.size-10 {
  width: 2.5rem;
  height: 2.5rem;
}
/* size-3 */
.size-3 {
  width: .75rem;
  height: .75rem;
}
/* size-5 */
.size-5 {
  width: 1.25rem;
  height: 1.25rem;
}
/* h-16 */
.h-16 {
  height: 4rem;
}
/* h-3 */
.h-3 {
  height: .75rem;
}
/* h-60 */
.h-60 {
  height: 15rem;
}
/* h-[300px] */
.h-\[300px\] {
  height: 300px;
}
/* h-[calc(300px-40px)] */
.h-\[calc\(300px-40px\)\] {
  height: 260px;
}
/* h-auto */
.h-auto {
  height: auto;
}
/* h-full */
.h-full {
  height: 100%;
}
/* max-h-60 */
.max-h-60 {
  max-height: 15rem;
}
/* w-2 */
.w-2 {
  width: .5rem;
}
/* w-3 */
.w-3 {
  width: .75rem;
}
/* w-40 */
.w-40 {
  width: 10rem;
}
/* w-56 */
.w-56 {
  width: 14rem;
}
/* w-80 */
.w-80 {
  width: 20rem;
}
/* w-[400px] */
.w-\[400px\] {
  width: 400px;
}
/* w-full */
.w-full {
  width: 100%;
}
/* w-screen */
.w-screen {
  width: 100vw;
}
/* max-w-full */
.max-w-full {
  max-width: 100%;
}
/* max-w-xs */
.max-w-xs {
  max-width: 20rem;
}
/* flex-1 */
.flex-1 {
  flex: 1;
}
/* flex-shrink-0 */
.flex-shrink-0 {
  flex-shrink: 0;
}
/* border-collapse */
.border-collapse {
  border-collapse: collapse;
}
/* -translate-x-1/2 */
.-translate-x-1\/2 {
  transform: translate(-50%, 0) rotate(0) skewX(0) skewY(0) scaleX(1) scaleY(1);
}
/* rotate-90 */
.rotate-90 {
  transform: translate(0, 0) rotate(90deg) skewX(0) skewY(0) scaleX(1) scaleY(1);
}
/* transform */
.transform {
  transform: translate(0, 0) rotate(0) skewX(0) skewY(0) scaleX(1) scaleY(1);
}
/* cursor-help */
.cursor-help {
  cursor: help;
}
/* cursor-move */
.cursor-move {
  cursor: move;
}
/* cursor-pointer */
.cursor-pointer {
  cursor: pointer;
}
/* select-none */
.select-none {
  -webkit-user-select: none;
  user-select: none;
}
/* scroll-m-20 */
.scroll-m-20 {
  scroll-margin: 5rem;
}
/* list-disc */
.list-disc {
  list-style-type: disc;
}
/* grid-cols-1 */
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
/* grid-cols-2 */
.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
/* grid-cols-[repeat(auto-fit,minmax(240px,1fr))] */
.grid-cols-\[repeat\(auto-fit\,minmax\(240px\,1fr\)\)\] {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
/* flex-col */
.flex-col {
  flex-direction: column;
}
/* flex-wrap */
.flex-wrap {
  flex-wrap: wrap;
}
/* items-center */
.items-center {
  align-items: center;
}
/* justify-center */
.justify-center {
  justify-content: center;
}
/* justify-between */
.justify-between {
  justify-content: space-between;
}
/* gap-0 */
.gap-0 {
  gap: 0;
}
/* gap-10 */
.gap-10 {
  gap: 2.5rem;
}
/* gap-2 */
.gap-2 {
  gap: .5rem;
}
/* gap-4 */
.gap-4 {
  gap: 1rem;
}
/* gap-6 */
.gap-6 {
  gap: 1.5rem;
}
/* gap-8 */
.gap-8 {
  gap: 2rem;
}
/* gap-x-2 */
.gap-x-2 {
  column-gap: .5rem;
}
/* gap-y-4 */
.gap-y-4 {
  row-gap: 1rem;
}
/* space-y-1 */
.space-y-1 > :not([hidden]) ~ :not([hidden]) {
  margin-top: calc(.25rem * calc(1 - 0));
  margin-bottom: calc(.25rem * 0);
}
/* space-y-2 */
.space-y-2 > :not([hidden]) ~ :not([hidden]) {
  margin-top: calc(.5rem * calc(1 - 0));
  margin-bottom: calc(.5rem * 0);
}
/* space-y-6 */
.space-y-6 > :not([hidden]) ~ :not([hidden]) {
  margin-top: calc(1.5rem * calc(1 - 0));
  margin-bottom: calc(1.5rem * 0);
}
/* overflow-hidden */
.overflow-hidden {
  overflow: hidden;
}
/* overflow-y-auto */
.overflow-y-auto {
  overflow-y: auto;
}
/* truncate */
.truncate {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
/* text-balance */
.text-balance {
  text-wrap: balance;
}
/* break-words */
.break-words {
  overflow-wrap: break-word;
}
/* rounded-lg */
.rounded-lg {
  border-radius: var(--radius);
}
/* rounded-md */
.rounded-md {
  border-radius: calc(var(--radius) - 2px);
}
/* rounded-none */
.rounded-none {
  border-radius: 0;
}
/* border */
.border {
  border-width: 1px;
}
/* border-b */
.border-b {
  border-bottom-width: 1px;
}
/* border-t */
.border-t {
  border-top-width: 1px;
}
/* border-dotted */
.border-dotted {
  border-style: dotted;
}
/* border-[hsl(var(--border))] */
.border-\[hsl\(var\(--border\)\)\] {
  border-color: hsl(var(--border));
}
/* border-border */
.border-border {
  border-color: hsl(var(--border));
}
/* border-border/50 */
.border-border\/50 {
  border-color: hsl(var(--border) / .5);
}
/* border-gray-200 */
.border-gray-200 {
  border-color: rgb(229 231 235 / 1);
}
/* border-gray-500 */
.border-gray-500 {
  border-color: rgb(107 114 128 / 1);
}
/* border-pastel-green-border */
.border-pastel-green-border {
  border-color: hsl(var(--pastel-green-border));
}
/* border-pastel-red-border */
.border-pastel-red-border {
  border-color: hsl(var(--pastel-red-border));
}
/* border-primary/30 */
.border-primary\/30 {
  border-color: hsl(var(--primary) / .3);
}
/* border-red-200 */
.border-red-200 {
  border-color: rgb(254 202 202 / 1);
}
/* bg-background */
.bg-background {
  background-color: hsl(var(--background));
}
/* bg-black/0 */
.bg-black\/0 {
  background-color: #0000;
}
/* bg-black/70 */
.bg-black\/70 {
  background-color: #000000b3;
}
/* bg-card */
.bg-card {
  background-color: hsl(var(--card));
}
/* bg-gray-200 */
.bg-gray-200 {
  background-color: rgb(229 231 235 / 1);
}
/* bg-muted */
.bg-muted {
  background-color: hsl(var(--muted));
}
/* bg-muted/50 */
.bg-muted\/50 {
  background-color: hsl(var(--muted) / .5);
}
/* bg-pastel-green */
.bg-pastel-green {
  background-color: hsl(var(--pastel-green));
}
/* bg-pastel-red */
.bg-pastel-red {
  background-color: hsl(var(--pastel-red));
}
/* bg-popover */
.bg-popover {
  background-color: hsl(var(--popover));
}
/* bg-red-100 */
.bg-red-100 {
  background-color: rgb(254 226 226 / 1);
}
/* bg-white */
.bg-white {
  background-color: rgb(255 255 255 / 1);
}
/* object-contain */
.object-contain {
  object-fit: contain;
}
/* object-cover */
.object-cover {
  object-fit: cover;
}
/* p-0 */
.p-0 {
  padding: 0;
}
/* p-1 */
.p-1 {
  padding: .25rem;
}
/* p-2 */
.p-2 {
  padding: .5rem;
}
/* p-3 */
.p-3 {
  padding: .75rem;
}
/* p-4 */
.p-4 {
  padding: 1rem;
}
/* p-6 */
.p-6 {
  padding: 1.5rem;
}
/* px-1 */
.px-1 {
  padding-left: .25rem;
  padding-right: .25rem;
}
/* px-2 */
.px-2 {
  padding-left: .5rem;
  padding-right: .5rem;
}
/* px-3 */
.px-3 {
  padding-left: .75rem;
  padding-right: .75rem;
}
/* px-5 */
.px-5 {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
/* px-6 */
.px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
/* py-1 */
.py-1 {
  padding-top: .25rem;
  padding-bottom: .25rem;
}
/* py-1.5 */
.py-1\.5 {
  padding-top: .375rem;
  padding-bottom: .375rem;
}
/* py-2 */
.py-2 {
  padding-top: .5rem;
  padding-bottom: .5rem;
}
/* py-4 */
.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
/* py-[1px] */
.py-\[1px\] {
  padding-top: 1px;
  padding-bottom: 1px;
}
/* pb-1 */
.pb-1 {
  padding-bottom: .25rem;
}
/* pb-4 */
.pb-4 {
  padding-bottom: 1rem;
}
/* pl-4 */
.pl-4 {
  padding-left: 1rem;
}
/* pt-4 */
.pt-4 {
  padding-top: 1rem;
}
/* text-left */
.text-left {
  text-align: left;
}
/* !text-center */
.\!text-center {
  text-align: center !important;
}
/* text-center */
.text-center {
  text-align: center;
}
/* align-top */
.align-top {
  vertical-align: top;
}
/* font-mono */
.font-mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
}
/* font-sans */
.font-sans {
  font-family: ui-sans-serif, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
}
/* font-serif */
.font-serif {
  font-family: ui-serif, Georgia, Cambria, Times New Roman, Times, serif;
}
/* text-2xl */
.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}
/* text-3xl */
.text-3xl {
  font-size: 1.875rem;
  line-height: 2.25rem;
}
/* text-4xl */
.text-4xl {
  font-size: 2.25rem;
  line-height: 2.5rem;
}
/* text-[0.95em] */
.text-\[0\.95em\] {
  font-size: .95em;
}
/* text-[10px] */
.text-\[10px\] {
  font-size: 10px;
}
/* text-lg */
.text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}
/* text-sm */
.text-sm {
  font-size: .875rem;
  line-height: 1.25rem;
}
/* text-xl */
.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}
/* text-xs */
.text-xs {
  font-size: .75rem;
  line-height: 1rem;
}
/* font-bold */
.font-bold {
  font-weight: 700;
}
/* font-extrabold */
.font-extrabold {
  font-weight: 800;
}
/* font-medium */
.font-medium {
  font-weight: 500;
}
/* font-normal */
.font-normal {
  font-weight: 400;
}
/* font-semibold */
.font-semibold {
  font-weight: 600;
}
/* uppercase */
.uppercase {
  text-transform: uppercase;
}
/* capitalize */
.capitalize {
  text-transform: capitalize;
}
/* italic */
.italic {
  font-style: italic;
}
/* leading-[1.65] */
.leading-\[1\.65\] {
  line-height: 1.65;
}
/* leading-none */
.leading-none {
  line-height: 1;
}
/* leading-normal */
.leading-normal {
  line-height: 1.5;
}
/* leading-relaxed */
.leading-relaxed {
  line-height: 1.625;
}
/* leading-snug */
.leading-snug {
  line-height: 1.375;
}
/* tracking-[0.12em] */
.tracking-\[0\.12em\] {
  letter-spacing: .12em;
}
/* tracking-tight */
.tracking-tight {
  letter-spacing: -.025em;
}
/* text-foreground */
.text-foreground {
  color: hsl(var(--foreground));
}
/* text-gray-300 */
.text-gray-300 {
  color: rgb(209 213 219 / 1);
}
/* text-gray-400 */
.text-gray-400 {
  color: rgb(156 163 175 / 1);
}
/* text-gray-500 */
.text-gray-500 {
  color: rgb(107 114 128 / 1);
}
/* text-gray-600 */
.text-gray-600 {
  color: rgb(75 85 99 / 1);
}
/* text-gray-700 */
.text-gray-700 {
  color: rgb(55 65 81 / 1);
}
/* text-gray-900 */
.text-gray-900 {
  color: rgb(17 24 39 / 1);
}
/* text-muted-foreground */
.text-muted-foreground {
  color: hsl(var(--muted-foreground));
}
/* text-pastel-green-foreground */
.text-pastel-green-foreground {
  color: hsl(var(--pastel-green-foreground));
}
/* text-pastel-red-foreground */
.text-pastel-red-foreground {
  color: hsl(var(--pastel-red-foreground));
}
/* text-popover-foreground */
.text-popover-foreground {
  color: hsl(var(--popover-foreground));
}
/* text-primary */
.text-primary {
  color: hsl(var(--primary));
}
/* text-primary/80 */
.text-primary\/80 {
  color: hsl(var(--primary) / .8);
}
/* text-red-500 */
.text-red-500 {
  color: rgb(239 68 68 / 1);
}
/* text-red-800 */
.text-red-800 {
  color: rgb(153 27 27 / 1);
}
/* text-white */
.text-white {
  color: rgb(255 255 255 / 1);
}
/* underline */
.underline {
  text-decoration-line: underline;
}
/* no-underline */
.no-underline {
  text-decoration-line: none;
}
/* decoration-dotted */
.decoration-dotted {
  text-decoration-style: dotted;
}
/* antialiased */
.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/* opacity-0 */
.opacity-0 {
  opacity: 0;
}
/* shadow-lg */
.shadow-lg {
  box-shadow: 0 0 #0000, 0 0 #0000, 0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;
}
/* shadow-sm */
.shadow-sm {
  box-shadow: 0 0 #0000, 0 0 #0000, 0 1px 2px 0 #0000000d;
}
/* transition-colors */
.transition-colors {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}
/* transition-opacity */
.transition-opacity {
  transition-property: opacity;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}
/* transition-transform */
.transition-transform {
  transition-property: transform;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}
/* duration-300 */
.duration-300 {
  transition-duration: .3s;
  animation-duration: .3s;
}
/* after:inline */
.after\:inline:after {
  content: "";
  display: inline;
}
/* after:text-center */
.after\:text-center:after {
  content: "";
  text-align: center;
}
/* after:text-sm */
.after\:text-sm:after {
  content: "";
  font-size: .875rem;
  line-height: 1.25rem;
}
/* hover:border-gray-900 */
.hover\:border-gray-900:hover {
  border-color: rgb(17 24 39 / 1);
}
/* hover:border-primary/60 */
.hover\:border-primary\/60:hover {
  border-color: hsl(var(--primary) / .6);
}
/* hover:bg-muted */
.hover\:bg-muted:hover {
  background-color: hsl(var(--muted));
}
/* hover:bg-secondary/80 */
.hover\:bg-secondary\/80:hover {
  background-color: hsl(var(--secondary) / .8);
}
/* hover:text-foreground */
.hover\:text-foreground:hover {
  color: hsl(var(--foreground));
}
/* hover:text-primary */
.hover\:text-primary:hover {
  color: hsl(var(--primary));
}
/* hover:no-underline */
.hover\:no-underline:hover {
  text-decoration-line: none;
}
/* hover:opacity-70 */
.hover\:opacity-70:hover {
  opacity: .7;
}
/* group-hover:bg-black/10 */
.group:hover .group-hover\:bg-black\/10 {
  background-color: #0000001a;
}
/* group-hover:opacity-100 */
.group:hover .group-hover\:opacity-100 {
  opacity: 1;
}
/* dark:border-gray-500 */
.dark .dark\:border-gray-500 {
  border-color: rgb(107 114 128 / 1);
}
/* dark:border-red-800/50 */
.dark .dark\:border-red-800\/50 {
  border-color: #991b1b80;
}
/* dark:border-zinc-800 */
.dark .dark\:border-zinc-800 {
  border-color: rgb(39 39 42 / 1);
}
/* dark:bg-[#1A1A1A] */
.dark .dark\:bg-\[\#1A1A1A\] {
  background-color: rgb(26 26 26 / 1);
}
/* dark:bg-[#333] */
.dark .dark\:bg-\[\#333\] {
  background-color: rgb(51 51 51 / 1);
}
/* dark:bg-[hsl(var(--popover))] */
.dark .dark\:bg-\[hsl\(var\(--popover\)\)\] {
  background-color: hsl(var(--popover));
}
/* dark:bg-red-900/30 */
.dark .dark\:bg-red-900\/30 {
  background-color: #7f1d1d4d;
}
/* dark:text-red-200 */
.dark .dark\:text-red-200 {
  color: rgb(254 202 202 / 1);
}
/* dark:text-white */
.dark .dark\:text-white {
  color: rgb(255 255 255 / 1);
}
/* dark:text-zinc-300 */
.dark .dark\:text-zinc-300 {
  color: rgb(212 212 216 / 1);
}
/* dark:text-zinc-400 */
.dark .dark\:text-zinc-400 {
  color: rgb(161 161 170 / 1);
}
/* dark:text-zinc-700 */
.dark .dark\:text-zinc-700 {
  color: rgb(63 63 70 / 1);
}
/* dark:hover:border-white */
.dark .dark\:hover\:border-white:hover {
  border-color: rgb(255 255 255 / 1);
}
/* dark:hover:bg-secondary/60 */
.dark .dark\:hover\:bg-secondary\/60:hover {
  background-color: hsl(var(--secondary) / .6);
}
/* sm:grid-cols-2 */
@media (min-width: 640px) {
  .sm\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
/* md:grid-cols-2 */
@media (min-width: 768px) {
  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
/* md:grid-cols-3 */
@media (min-width: 768px) {
  .md\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
/* md:gap-8 */
@media (min-width: 768px) {
  .md\:gap-8 {
    gap: 2rem;
  }
}
/* lg:text-5xl */
@media (min-width: 1024px) {
  .lg\:text-5xl {
    font-size: 3rem;
    line-height: 1;
  }
}
/* [&>:first-child]:mt-0 */
.\[\&\>\:first-child\]\:mt-0 > :first-child {
  margin-top: 0;
}
/* [&_h1]:text-2xl */
.\[\&_h1\]\:text-2xl h1 {
  font-size: 1.5rem;
  line-height: 2rem;
}
/* [&_h1]:md:text-3xl */
@media (min-width: 768px) {
  .\[\&_h1\]\:md\:text-3xl h1 {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }
}
/* [&_h2]:text-xl */
.\[\&_h2\]\:text-xl h2 {
  font-size: 1.25rem;
  line-height: 1.75rem;
}
/* [&_h2]:md:text-2xl */
@media (min-width: 768px) {
  .\[\&_h2\]\:md\:text-2xl h2 {
    font-size: 1.5rem;
    line-height: 2rem;
  }
}
/* [&_h3]:text-lg */
.\[\&_h3\]\:text-lg h3 {
  font-size: 1.125rem;
  line-height: 1.75rem;
}
/* [&_h3]:md:text-xl */
@media (min-width: 768px) {
  .\[\&_h3\]\:md\:text-xl h3 {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}
/* [&_h4]:text-base */
.\[\&_h4\]\:text-base h4 {
  font-size: 1rem;
  line-height: 1.5rem;
}
/* [&_h4]:md:text-lg */
@media (min-width: 768px) {
  .\[\&_h4\]\:md\:text-lg h4 {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
}
/* [&_h5]:text-sm */
.\[\&_h5\]\:text-sm h5 {
  font-size: .875rem;
  line-height: 1.25rem;
}
/* [&_h5]:md:text-base */
@media (min-width: 768px) {
  .\[\&_h5\]\:md\:text-base h5 {
    font-size: 1rem;
    line-height: 1.5rem;
  }
}
/* [&_h6]:text-xs */
.\[\&_h6\]\:text-xs h6 {
  font-size: .75rem;
  line-height: 1rem;
}
/* [&_h6]:md:text-sm */
@media (min-width: 768px) {
  .\[\&_h6\]\:md\:text-sm h6 {
    font-size: .875rem;
    line-height: 1.25rem;
  }
}
/* [p_&]:rounded-none */
p .\[p_\&\]\:rounded-none {
  border-radius: 0;
}
/* [p_&]:bg-[hsl(var(--muted)/0.35)] */
p .\[p_\&\]\:bg-\[hsl\(var\(--muted\)\/0\.35\)\] {
  background-color: hsl(var(--muted)/.35);
}
/* [p_&]:px-1 */
p .\[p_\&\]\:px-1 {
  padding-left: .25rem;
  padding-right: .25rem;
}
/* [p_&]:py-0.5 */
p .\[p_\&\]\:py-0\.5 {
  padding-top: .125rem;
  padding-bottom: .125rem;
}
/* [p_&]:text-sm */
p .\[p_\&\]\:text-sm {
  font-size: .875rem;
  line-height: 1.25rem;
}

/* MDX component styles that the original injected at runtime (styled-jsx
   in components/typography/frame.tsx) plus the Img lightbox overlay
   (yet-another-react-lightbox, reduced to a plain overlay by mdx.ts). */

/* Frame / FrameList (Movie, Cinema) */
.frame-link,
.frame-link:hover {
  text-decoration: none !important;
  border-bottom: none !important;
  color: inherit;
}
.frame-image-container {
  position: relative !important;
  width: 160px !important;
  height: 240px !important;
  margin-bottom: .5rem !important;
  display: block !important;
  background: none !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}
.frame-image {
  object-fit: contain !important;
  position: absolute !important;
  width: 100% !important;
  height: 100% !important;
  top: 0 !important;
  left: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
  transition: none !important;
  background: none !important;
  border-radius: 0 !important;
}
/* Semantic dark rules also survive the no-JS theme compiler's aliases. */
.dark .frame-list-item { background-color: rgb(51 51 51); }
.dark .content main:has(> .frame-link),
.dark .comment-content main:has(> .frame-link) { background-color: hsl(var(--popover)); }
.dark .dropcap-image[class~="dark:invert"] { filter: invert(100%); }

@supports not selector(:has(*)) {
  @media (prefers-color-scheme: dark) {
    html:not(.js) .frame-list-item { background-color: rgb(51 51 51); }
    html:not(.js) .dropcap-image[class~="dark:invert"] { filter: invert(100%); }
  }
}

.frame-list-item .order-badge {
  background: #f3f4f6;
  color: #222;
  border: 1.5px solid #e5e7eb;
}
.dark .frame-list-item .order-badge {
  background: #23272e;
  color: #f3f4f6;
  border: 1.5px solid #444;
}

/* Img lightbox: backdrop rgba(0,0,0,.9), centred image, caption, counter */
.lb {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, .9);
}
.lb-img {
  max-width: calc(100vw - 32px);
  max-height: calc(100vh - 96px);
  object-fit: contain;
  transition: transform .2s ease;
}
.lb-close {
  position: absolute;
  top: 8px;
  right: 8px;
  padding: 8px;
  color: #eee;
  opacity: .8;
}
.lb-close:hover {
  opacity: 1;
}
.lb-close svg {
  width: 24px;
  height: 24px;
}
.lb-count {
  position: absolute;
  top: 16px;
  left: 16px;
  color: #eee;
  font-size: .875rem;
  opacity: .8;
}
.lb-cap {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 16px;
  text-align: center;
  color: #eee;
  background: rgba(0, 0, 0, .5);
  font-size: .875rem;
}

/* twcss resolves this content value, but mdxcss cannot match the compiled
   selector's escaped Unicode glyphs when collecting the utility. */
div[class~="after:content-['﹡﹡﹡']"]::after {
  content: "﹡﹡﹡";
}

/* Native MDX disclosures retain the original bar and panel geometry. */
.mdx-collapse,
.content .mdx-collapse,
.comment-content .mdx-collapse {
  margin: 1.5rem 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
}
.mdx-collapse > summary,
.content .mdx-collapse > summary,
.comment-content .mdx-collapse > summary {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 1.25rem;
  margin: 0;
  background-color: hsl(var(--muted));
  cursor: pointer;
  user-select: none;
  list-style: none;
  transition: background-color .15s cubic-bezier(.4, 0, .2, 1);
}
.content .mdx-collapse[open] > summary,
.comment-content .mdx-collapse[open] > summary { padding-block: 1rem; margin-bottom: 0; }
.mdx-collapse > summary:hover,
.mdx-collapse-close:hover { background-color: hsl(var(--muted) / .8); }
.mdx-collapse-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding-block: .75rem;
  background-color: hsl(var(--muted));
  cursor: pointer;
  user-select: none;
  transition: background-color .15s cubic-bezier(.4, 0, .2, 1);
}
html:not(.js) .mdx-collapse-close { display: none; }
.mdx-notice,
.content .mdx-notice,
.comment-content .mdx-notice {
  margin: 1rem 0;
  padding: 0;
  border-radius: 0;
  background: hsl(var(--notice-bg));
  border-color: hsl(var(--notice-border));
}
.mdx-notice > summary,
.content .mdx-notice > summary,
.comment-content .mdx-notice > summary {
  margin: 0;
  list-style: none;
  cursor: pointer;
  font-weight: inherit;
}
.mdx-collapse > summary::-webkit-details-marker,
.mdx-notice > summary::-webkit-details-marker { display: none; }
.mdx-collapse > summary::marker,
.mdx-notice > summary::marker { content: ""; }
.content .mdx-notice[open] > summary,
.comment-content .mdx-notice[open] > summary { margin-bottom: 0; }
.mdx-notice[open] > summary > .lucide-chevron-right { transform: rotate(90deg); }

/* CSS owns spoiler state; JS only paints the original particle tile. */
.spoiler-hidden {
  cursor: pointer;
  background: var(--spoiler-tile, repeating-radial-gradient(circle at 2px 3px, hsl(var(--foreground) / .5) 0 .5px, transparent .8px 3px)) repeat left center / 333px var(--spoiler-height, 20px);
}
.spoiler-hidden:hover, html:not(.js) .spoiler-hidden:focus { background: none; }
.spoiler-hidden:hover > .spoiler-iris, html:not(.js) .spoiler-hidden:focus > .spoiler-iris {
  opacity: 1;
  filter: none;
  mask: none;
  transition: opacity .3s ease-out, filter .3s ease-out;
}

@supports selector(:focus-visible) {
  .spoiler-hidden:focus-visible { background: none; }
  .spoiler-hidden:focus-visible > .spoiler-iris {
    opacity: 1;
    filter: none;
    mask: none;
    transition: opacity .3s ease-out, filter .3s ease-out;
  }
}

/* The baked popup text also lives in noscript, next to its reference. */
@supports selector(:focus-within) {
  html:not(.js) .mdx-reference-panel {
    display: none;
    position: fixed;
    z-index: 200;
    left: 50%;
    top: calc((100vh - 300px) / 3);
    transform: translateX(-50%);
    width: 400px;
    max-width: calc(100vw - 2rem);
    max-height: 300px;
    padding: 1rem;
    overflow-y: auto;
    border: 1px solid hsl(var(--border));
    border-radius: var(--radius);
    background: hsl(var(--popover));
    color: hsl(var(--popover-foreground));
    box-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);
    font-size: .875rem;
    line-height: 1.5;
  }
  html:not(.js) .mdx-reference:hover > noscript > .mdx-reference-panel,
  html:not(.js) .mdx-reference:focus-within > noscript > .mdx-reference-panel { display: block; }
}
.mdx-reference-heading { display: block; margin-bottom: .75rem; font-weight: 600; }
.mdx-reference-panel [data-ref-block] { display: block; }

html:not(.js) .cmt-auth { display: none; }
html:not(.js) [data-react],
html:not(.js) [data-react-open] { pointer-events: none; cursor: default; }

/* Browsers without focus-within retain the full TOC. */
@supports selector(:focus-within) {
  html:not(.js) .toc-bento { display: none; }
  html:not(.js) .toc-in:hover .toc-bento,
  html:not(.js) .toc-in:focus-within .toc-bento { display: block; }
}

/* Native citation and footnote expansion keep the original controls. */
.native-state { position: absolute; width: 1px; height: 1px; opacity: 0; }
.cite-toggle { cursor: pointer; }
.cite-hide { display: none; }
.cite-expand:not(:checked) ~ .cite-pre { display: none; }
.cite-expand:checked ~ .cite-btns .cite-show { display: none; }
.cite-expand:checked ~ .cite-btns .cite-hide { display: inline; }
.cite-expand:focus-visible ~ .cite-btns .cite-toggle { outline: 2px solid hsl(var(--ring)); }
.footnotes-toggle .footnotes-fewer { display: none; }
.footnotes-expand:checked ~ .footnotes-toggle .footnotes-all { display: none; }
.footnotes-expand:checked ~ .footnotes-toggle .footnotes-fewer { display: inline; }
.footnotes-expand:focus-visible ~ .footnotes-toggle { outline: 2px solid hsl(var(--ring)); }
/* Keep every note readable when :has() is unavailable. Anchors also reveal it. */
@supports selector(:has(*)) {
  .footnotes-details:not(:has(.footnotes-expand:checked)):not(:has(.footnotes-item:target)) .footnotes-hidden { display: none; }
}

.mdx-icon-controls { display: none; }
@supports selector(:has(*)) {
  .mdx-icondemo:has(.mdx-icon-state:checked) > .mdx-icon-page:not(:has(.mdx-icon-state:checked)) > div { display: none; }
  .mdx-icon-controls { display: flex; }
  .mdx-icon-controls label { cursor: pointer; }
  .mdx-icon-state:focus-visible ~ .mdx-icon-controls { outline: 2px solid hsl(var(--ring)); }
}
/* Native details need a smaller reset than the generic comment disclosure. */
.comment-content .mdx-icon-page { margin: 0; }

.mdx-notice.bg-pastel-green { --notice-bg: var(--pastel-green); --notice-border: var(--pastel-green-border); }

.mdx-notice.bg-pastel-red { --notice-bg: var(--pastel-red); --notice-border: var(--pastel-red-border); }

.mdx-notice.bg-pastel-purple { --notice-bg: var(--pastel-purple); --notice-border: var(--pastel-purple-border); }

.mdx-notice.bg-pastel-amber { --notice-bg: var(--pastel-amber); --notice-border: var(--pastel-amber-border); }

.mdx-notice.bg-pastel-blue { --notice-bg: var(--pastel-blue); --notice-border: var(--pastel-blue-border); }

.cmt-fallback { display: flex; align-items: center; min-height: 34px; }
@media (max-width: 639px) { .cmt-fallback { min-height: 40px; } }

/* lists: type hubs, category/tag lists, verse, prayers, sequences,
   publications, the taxonomy indexes (templates/lists/*). ContentTable
   (minimal and default), Directory, the hub grid and the /news menu.
   Translated with tools/twcss from the original class strings. */

/* ---- page shells ---- */
.lp {
  width: 100%;
  max-width: 672px;
  margin-left: auto;
  margin-right: auto;
  padding: 2rem 1rem;
}
.lp.lp-w650 { width: auto; max-width: 650px; }
.lp-outer {
  position: relative;
  min-height: 100vh;
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
}
.lp-mb3 > .ph { margin-bottom: .75rem; }
/* "Sequences" Categories: styled-jsx sets Geist, which never loads */
.lp-seqcats { font-family: 'Geist', sans-serif; }
@media print {
  .lp-outer { min-height: auto !important; padding-top: 0 !important; }
  .lp { width: 100% !important; max-width: 100% !important; margin: 0 !important; padding: 0 !important; }
}

/* the plain search box of the taxonomy and per-type tag pages */
.lp-input-wrap { margin-bottom: 1.5rem; }
.lp-input-wrap.mb4 { margin-bottom: 1rem; }
.lp-input {
  width: 100%;
  height: 2.25rem;
  padding: .5rem .75rem;
  border-width: 1px;
  border-radius: 0;
  font-size: .875rem;
  line-height: 1.25rem;
  background-color: hsl(var(--background));
}
.lp-input:hover { background-color: hsl(var(--secondary) / .5); }
.lp-input:focus {
  outline: 2px solid #0000;
  outline-offset: 2px;
  background-color: hsl(var(--secondary) / .5);
}
.lp-count {
  margin-bottom: 1.5rem;
  font-size: .875rem;
  line-height: 1.25rem;
  color: hsl(var(--muted-foreground));
}

/* ---- view panes: #lv[data-view] shows one ---- */
.lv > .lv-pane { display: none; }
.lv[data-view="list"] > [data-pane="list"],
.lv[data-view="grid"] > [data-pane="grid"],
.lv[data-view="directory"] > [data-pane="directory"] { display: block; }
.lv [hidden] { display: none !important; }

.lv-empty {
  text-align: center;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  color: hsl(var(--muted-foreground));
}
.lv-empty.dir-empty {
  font-size: .875rem;
  line-height: 1.25rem;
  border-width: 0 1px 1px;
  border-color: hsl(var(--border));
}

/* status badge of draft rows */
.ls-badge {
  margin-left: .5rem;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .025em;
  border-width: 1px;
  border-color: hsl(var(--border) / .6);
  padding: .125rem .375rem;
  border-radius: calc(var(--radius) - 4px);
}

/* ---- ContentTable, minimal ---- */
.lm { width: 100%; }
.lm-row, .sq-row {
  display: flex;
  align-items: baseline;
  gap: 1rem;
  padding-top: .75rem;
  padding-bottom: .75rem;
  border-bottom-width: 1px;
  border-color: hsl(var(--border) / .4);
}
.lm-row:not(.is-draft), .sq-row {
  position: relative;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}
.lm-row:not(.is-draft), .sq-row:not(.is-draft) { cursor: pointer; }
.lm-row:not(.is-draft):hover, .sq-row:not(.is-draft):hover { background-color: hsl(var(--secondary) / .3); }
.lm-row.is-draft, .sq-row.is-draft {
  opacity: .6;
  -webkit-user-select: none;
  user-select: none;
}
.lm-link {
  position: absolute;
  inset: 0;
  z-index: 10;
  text-decoration-line: none;
}
.lm-year, .lm-views {
  position: relative;
  z-index: 0;
  color: hsl(var(--muted-foreground));
  font-variant-numeric: tabular-nums;
  flex-shrink: 0;
}
.lm-year { font-size: .875rem; line-height: 1.25rem; }
.lm-views { font-size: .75rem; line-height: 1rem; }
.lm-title {
  position: relative;
  z-index: 0;
  flex: 1;
  font-size: .875rem;
  line-height: 1.25rem;
  font-weight: 500;
  color: hsl(var(--foreground));
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
.lm-title.lm-title-d {
  position: static;
  z-index: auto;
  color: hsl(var(--muted-foreground));
}
.lm-cat {
  position: relative;
  z-index: 20;
  font-size: .75rem;
  line-height: 1rem;
  color: hsl(var(--muted-foreground));
  flex-shrink: 0;
}
.lm-catlink { color: hsl(var(--muted-foreground)); }
.lm-catlink:hover { color: hsl(var(--foreground)); }

/* ---- ContentTable, default ---- */
.lt-wrap { width: 100%; overflow-x: auto; }
.lt {
  width: 100%;
  font-size: .875rem;
  line-height: 1.25rem;
  table-layout: fixed;
  border-collapse: collapse;
  border-width: 1px;
  border-color: hsl(var(--border));
}
.lt-c15 { width: 15%; }
.lt-c45 { width: 45%; }
.lt-c63 { width: 63%; }
.lt-c18 { width: 18%; }
.lt-c10 { width: 10%; }
.lt-head {
  border-bottom-width: 1px;
  border-color: hsl(var(--border));
  color: hsl(var(--foreground));
}
.lt-th {
  padding: .5rem .75rem;
  text-align: left;
  font-weight: 500;
}
.lt-th.lt-th-r { text-align: right; }
.lt-row {
  border-bottom-width: 1px;
  border-color: hsl(var(--border) / .6);
}
.lt-row:last-child { border-bottom-width: 0; }
.lt-row.is-draft {
  opacity: .6;
  -webkit-user-select: none;
  user-select: none;
}
.lt-row:not(.is-draft) {
  cursor: pointer;
  position: relative;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}
.lt-row:not(.is-draft):hover { background-color: hsl(var(--secondary) / .5); }
.lt-row:not(.is-draft) td {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  transition-duration: .2s;
}
.lt-date, .lt-title, .lt-cell, .lt-views {
  padding: .5rem .75rem;
  color: hsl(var(--muted-foreground));
}
.lt-date, .lt-views {
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.lt-views { text-align: right; }
.lt-title, .lt-cell {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
.lt-row:not(.is-draft):hover .lt-date,
.lt-row:not(.is-draft):hover .lt-cell,
.lt-row:not(.is-draft):hover .lt-views { color: hsl(var(--foreground)); }
.lt-link {
  color: hsl(var(--foreground));
  text-decoration-line: none;
}
.lt-link:after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 10;
}
.lt-catlink {
  position: relative;
  z-index: 10;
  color: hsl(var(--muted-foreground));
}
.lt-catlink:hover { color: hsl(var(--foreground)); }
@media print {
  .lt { box-shadow: none !important; background: none !important; border: none !important; border-radius: 0 !important; }
}

/* ---- Directory ---- */
.dir-entry { border-bottom-width: 1px; border-color: hsl(var(--border)); }
.dir-row, .dir-body { display: flex; }
.dir-bar {
  width: .375rem;
  background-color: hsl(var(--muted));
  flex-shrink: 0;
}
.dir-bar2 {
  width: .5rem;
  background-color: hsl(var(--muted));
  flex-shrink: 0;
}
.dir-main {
  flex: 1;
  -webkit-user-select: none;
  user-select: none;
  padding: 1rem;
  background-color: transparent;
}
.dir-main.odd { background-color: hsl(var(--muted) / .05); }
.dir-main.is-draft { opacity: .6; }
.dir-main:not(.is-draft) {
  cursor: pointer;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}
.dir-main:not(.is-draft):hover { background-color: hsl(var(--muted) / .4); }
.dir-head {
  display: flex;
  align-items: center;
  gap: .625rem;
  margin-bottom: .375rem;
}
.dir-chev {
  width: .875rem;
  height: .875rem;
  color: hsl(var(--muted-foreground));
  flex-shrink: 0;
  transition-property: transform;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  transition-duration: .15s;
}
.dir-chev.dir-chev-open { transform: rotate(90deg); }
.dir-title, .dir-top-title {
  font-family: ui-serif, Georgia, Cambria, Times New Roman, Times, serif;
  font-size: .875rem;
  line-height: 1.25rem;
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
.dir-top-title { min-width: 0; max-width: 35%; }
.dir-badge { color: hsl(var(--muted-foreground)); }
.dir-sp { flex: 1; }
.dir-date {
  font-size: 11px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
  color: hsl(var(--muted-foreground));
  white-space: nowrap;
  flex-shrink: 0;
}
.dir-top-date { margin-left: .25rem; }
.dir-preview, .dir-preview2 {
  font-size: .75rem;
  line-height: 1rem;
  font-family: ui-serif, Georgia, Cambria, Times New Roman, Times, serif;
  font-style: italic;
  color: hsl(var(--muted-foreground));
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
}
.dir-preview { margin-top: .375rem; margin-left: 1.5rem; -webkit-line-clamp: 1; }
.dir-preview2 { margin-bottom: .75rem; -webkit-line-clamp: 2; }
.dir-meta {
  font-size: 11px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
  color: hsl(var(--muted-foreground));
  margin-top: .375rem;
  margin-left: 1.5rem;
}
.dir-top, .dir-bottom {
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  background-color: hsl(var(--muted));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}
.dir-top:hover, .dir-bottom:hover { background-color: hsl(var(--muted) / .8); }
.dir-top {
  display: flex;
  align-items: center;
  gap: .75rem;
  width: 100%;
  padding: .75rem 1rem;
}
.dir-bottom {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: .625rem;
  padding-bottom: .625rem;
}
.dir-up { width: 1rem; height: 1rem; color: hsl(var(--muted-foreground)); }
.dir-ext {
  z-index: 10;
  color: hsl(var(--muted-foreground));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}
.dir-ext:hover { color: hsl(var(--foreground)); }
.dir-ext-icon { display: block; width: .875rem; height: .875rem; }
.dir-inner { flex: 1; padding: 1rem; }
.dir-frame {
  border-width: 1px;
  border-color: hsl(var(--border));
  background-color: hsl(var(--background));
  box-shadow: 0 1px 2px 0 #0000000d;
  overflow: hidden;
}
.dir-iframe { display: block; width: 100%; border-width: 0; }

/* ---- the hub grid (MediaCard cells) ---- */
.lg {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
@media (min-width: 1024px) {
  .lg.lg-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* ---- /categories, /tags: doc.css directory columns ---- */
.tx {
  margin-top: .5rem;
  column-count: 3;
  column-gap: 2em;
}
@media (max-width: 900px) { .tx { column-count: 2; } }
@media (max-width: 500px) { .tx { column-count: 1; } }
.tx-list { list-style: none; padding: 0; margin: 0; }
.tx-item { break-inside: avoid; padding: .15em 0; }
.tx-item::before {
  content: "\2726";
  font-size: .65em;
  position: relative;
  top: -.25em;
  margin-right: .5em;
  opacity: .45;
}
.tx-link {
  color: hsl(var(--foreground));
  text-decoration: none;
  display: inline-flex;
  align-items: baseline;
  gap: .4em;
  font-weight: 500;
  font-size: .95em;
}
.tx-link:hover { color: hsl(var(--primary)); }
.tx-name { text-transform: capitalize; }
.tx-arrow { font-size: .75em; opacity: .5; }
.tx-count {
  font-size: .8em;
  color: hsl(var(--muted-foreground));
  font-weight: 400;
}
.tx-count::before { content: "("; }
.tx-count::after { content: ")"; }
.tx-item[hidden] { display: none; }

/* ---- /news: the publication menu ---- */
.nh {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: hsl(var(--background));
}
.nh-back { position: absolute; top: 2rem; left: 2rem; }
.nh-back-a {
  display: inline-flex;
  align-items: center;
  font-family: ui-serif, Georgia, Cambria, Times New Roman, Times, serif;
  font-size: .875rem;
  line-height: 1.25rem;
  font-style: italic;
  color: hsl(var(--muted-foreground));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}
.nh-back-a:hover { color: hsl(var(--foreground)); }
.nh-back-icon {
  margin-right: .5rem;
  width: 1rem;
  height: 1rem;
  transition: transform .15s cubic-bezier(.4, 0, .2, 1);
}
.nh-back-a:hover .nh-back-icon { transform: translateX(-.25rem); }
.nh-list {
  width: 100%;
  max-width: 36rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.nh-item {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}
.nh-item.nh-sep { border-bottom-width: 1px; border-color: hsl(var(--border)); }
.nh-text { flex: 1; min-width: 0; }
.nh-title {
  font-size: 1.125rem;
  line-height: 1.75rem;
  font-weight: 500;
  color: hsl(var(--foreground));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}
.nh-item:hover .nh-title { color: hsl(var(--foreground) / .7); }
.nh-desc {
  margin-top: .25rem;
  font-size: .875rem;
  line-height: 1.25rem;
  color: hsl(var(--muted-foreground));
}
.nh-arrow {
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
  color: hsl(var(--muted-foreground) / .3);
  transition: all .15s cubic-bezier(.4, 0, .2, 1);
}
.nh-item:hover .nh-arrow { color: hsl(var(--foreground)); transform: translateX(.25rem); }
@media print { .nh { display: none !important; } }

/* ---- /sequences ---- */
.seq-nav > .nb { margin-top: 0; margin-bottom: 1.5rem; }
.sq-grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1rem;
}
@media (min-width: 768px) {
  .sq-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.sq-card {
  position: relative;
  overflow: hidden;
  border-width: 1px;
  border-color: hsl(var(--border) / .5);
}
.sq-card.is-draft { -webkit-user-select: none; user-select: none; }
.sq-card:not(.is-draft) {
  cursor: pointer;
  transition-property: box-shadow;
  transition-duration: .3s;
  transition-timing-function: cubic-bezier(0, 0, .2, 1);
}
.sq-card:not(.is-draft):hover { box-shadow: 0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a; }
.sq-link { position: absolute; inset: 0; z-index: 20; text-decoration-line: none; }
.sq-frame { position: relative; display: flex; width: 100%; aspect-ratio: 16 / 10; }
.sq-img {
  position: absolute;
  inset: 0;
  margin: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  color: transparent;
}
.sq-ph {
  width: 100%;
  height: 100%;
  background-color: hsl(var(--muted) / .3);
  display: flex;
  align-items: center;
  justify-content: center;
}
.sq-img.dr, .sq-ph.dr { opacity: .75; }
.dark .sq-img.dr, .dark .sq-ph.dr { opacity: .5; }
.sq-ph-t {
  color: hsl(var(--muted-foreground));
  font-size: .75rem;
  line-height: 1rem;
  text-align: center;
  padding-left: 1rem;
  padding-right: 1rem;
}
.sq-badge {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 20;
  background-color: #0009;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  padding: .125rem .375rem;
}
.dark .sq-badge { background-color: #000000b3; }
.sq-badge-t {
  font-size: 8px;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #fffc;
  font-weight: 500;
}
.sq-bar {
  position: absolute;
  bottom: 0;
  z-index: 10;
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: .125rem;
  border-top-width: 1px;
  border-top-color: hsl(var(--border) / .4);
  padding: .375rem .5rem;
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  background-color: #ffffff8c;
}
.dark .sq-bar { background-color: #00000080; border-top-color: rgb(87 83 78); }
.sq-title {
  font-size: .75rem;
  font-weight: 600;
  line-height: 1.375;
  color: hsl(var(--foreground));
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
}
.dark .sq-title { color: #fff; }
.sq-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 10px;
  color: hsl(var(--foreground) / .7);
}
.dark .sq-meta { color: #ffffffb3; }
.sq-meta .t { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }
.sq-meta .y { flex-shrink: 0; margin-left: .25rem; }
.sq-status {
  flex-shrink: 0;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: hsl(var(--muted-foreground));
  font-weight: 500;
}
.sq-empty {
  margin-top: 1.5rem;
  text-align: center;
  font-size: .875rem;
  line-height: 1.25rem;
  color: hsl(var(--muted-foreground));
}
.sq-empty[hidden] { display: none; }
.sq-spacer { margin-top: 1.5rem; margin-bottom: 1.5rem; }

/* Radio views and URL dropdowns work directly; filter popups enhance selects. */
.nb-native, .nb-view-choice { display: none; }
.nb-native.nb-url { display: block; }
.nb-view-radio {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
html.js .nb:not([data-css-views]) .nb-view-radio { display: none; }
.nb-view-choice.nb-view-css { display: inline-flex; cursor: pointer; }
.nb-view-radio:checked + .nb-view-css { background-color: hsl(var(--secondary) / .5); }
.nb-view-radio:focus-visible + .nb-view-css { outline: 2px solid hsl(var(--ring)); outline-offset: 2px; }
.nb-query-view { display: none; }
html:not(.js) .nb-native { display: block; }
html:not(.js) .nb-view-choice { display: inline-flex; cursor: pointer; }
html:not(.js) .nb-view-link,
html:not(.js) .nb-group > [data-nav-select] { display: none; }
html:not(.js) .nb-view-radio:checked + .nb-view-choice { background-color: hsl(var(--secondary) / .5); }
html:not(.js) .nb-view-radio:focus-visible + .nb-view-choice { outline: 2px solid hsl(var(--ring)); outline-offset: 2px; }
.nb-native > summary { list-style: none; cursor: pointer; }
.nb-native > summary::-webkit-details-marker { display: none; }
.nb-native[open] .cs-chev { transform: rotate(180deg); }
.nb-url .cs-opt:focus-visible { outline: none; background-color: hsl(var(--secondary) / .5); }
.nb-native .cs-opt { display: block; color: inherit; text-decoration: none; }
.nb-native-select { appearance: none; width: 160px; padding-right: 2.5rem; cursor: pointer; }
.nb-native-chev { position: absolute; top: .625rem; right: .75rem; pointer-events: none; }
/* A directory entry remains a real link in browsers without scripting. */
.dir-main { position: relative; }
.dir-fallback-link { position: absolute; inset: 0; }
html.js .dir-fallback-link { display: none; }

/* media: shared pieces of the tracking pages (native select, MediaCard,
   PaginatedCardGrid, tracking tabs). */

/* cselect: components/ui/custom-select.tsx */
.cselect { position: relative; }
.cselect-btn {
  display: flex;
  height: 2.25rem;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  border-width: 1px;
  border-color: hsl(var(--input));
  background-color: hsl(var(--background));
  padding: .5rem .75rem;
  border-radius: 0;
  font-size: .875rem;
  line-height: 1.25rem;
}
.cselect-btn:hover { background-color: hsl(var(--secondary) / .5); }
.cselect-btn:focus {
  outline: 2px solid #0000;
  outline-offset: 2px;
  background-color: hsl(var(--secondary) / .5);
}
.cselect-btn:disabled { cursor: not-allowed; opacity: .5; }
.cselect-chev {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  transition: transform .2s cubic-bezier(.4, 0, .2, 1);
}
@media print {
  .cselect-btn {
    box-shadow: none !important;
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
  }
}

/* page shells: (tracking)/<x>/layout.tsx + <x>.css (film.css, tv.css,
   anime.css ... are the same rules under different prefixes). */
.media-wrap { padding-top: 2rem; padding-bottom: 2rem; }
.media-page { max-width: 1200px; margin: 0 auto; padding: 0; }
.media-section { margin-bottom: 1rem; }
.media-page.games { padding: 2rem 0 0; }
.games .media-section { margin-bottom: 1.5rem; }
.games .media-section.games-stats { margin-bottom: 1rem; }
@media (max-width: 640px) {
  .media-page { padding: 1rem; }
  .media-page.games { padding: 3rem 1rem; }
}
.media-people { margin-top: 1.5rem; }
.media-empty {
  background-color: #f9fafb;
  border-radius: .5rem;
  padding: 2rem;
  text-align: center;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .1);
}
.dark .media-empty { background-color: #000; }
.media-empty-msg { font-size: .875rem; color: #6b7280; }
.dark .media-empty-msg { color: #a1a1aa; }

/* games EmptyState */
.games-empty {
  background-color: rgb(249 250 251);
  border-width: 1px;
  border-color: rgb(229 231 235);
  padding: 2rem;
  text-align: center;
}
.dark .games-empty { background-color: rgb(24 24 27); border-color: rgb(39 39 42); }
.games-empty-ic { width: 3rem; height: 3rem; margin: 0 auto 1rem; color: rgb(156 163 175); }
.dark .games-empty-ic { color: rgb(82 82 91); }
.games-empty-msg { color: rgb(107 114 128); }
.dark .games-empty-msg { color: rgb(161 161 170); }

/* tracking tabs (trackingTabClass) */
.tp-tabs {
  display: flex;
  column-gap: 1rem;
  border-bottom-width: 1px;
  margin-bottom: 1rem;
}
.tp-tab {
  padding: .625rem 1rem;
  font-size: .875rem;
  line-height: 1.25rem;
  font-weight: 500;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  text-decoration-line: none;
}
.tp-tab.on { border-bottom-width: 2px; border-color: hsl(var(--primary)); color: hsl(var(--primary)); }
.tp-tab.off { color: hsl(var(--muted-foreground)); }
.tp-tab:hover { color: hsl(var(--primary)); }
@media (min-width: 640px) {
  .tp-tab { padding-top: .5rem; padding-bottom: .5rem; }
}

/* stats strip */
.tp-stats {
  border-width: 1px;
  border-color: hsl(var(--border));
  background-color: hsl(var(--muted) / .3);
}
.dark .tp-stats { background-color: hsl(var(--popover)); }
.tp-stats-in {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: .75rem 1rem;
  column-gap: 1.5rem;
  row-gap: .5rem;
}
.tp-stat-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 1rem;
  row-gap: .25rem;
  font-size: .875rem;
  line-height: 1.25rem;
}
@media (min-width: 640px) {
  .tp-stat-row { column-gap: 1.5rem; }
}
.sports-stats {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  font-size: .875rem;
  line-height: 1.25rem;
}
.tp-stat { display: flex; align-items: baseline; gap: .375rem; }
.tp-sep { display: block; width: 1px; height: 1rem; background-color: hsl(var(--border)); }
.tp-stat.hide-sm, .tp-sep.hide-sm, .tp-stat.hide-md, .tp-sep.hide-md { display: none; }
@media (min-width: 640px) {
  .tp-stat.hide-sm { display: flex; }
  .tp-sep.hide-sm { display: block; }
}
@media (min-width: 768px) {
  .tp-stat.hide-md { display: flex; }
  .tp-sep.hide-md { display: block; }
}
.tp-v {
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 600;
  color: hsl(var(--foreground));
}
.tp-l { color: hsl(var(--muted-foreground)); }
.tp-top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  font-size: .875rem;
  line-height: 1.25rem;
  color: hsl(var(--muted-foreground));
}
.tp-top-l { display: none; }
@media (min-width: 1024px) {
  .tp-top-l { display: inline; }
}
.tp-genre { color: hsl(var(--foreground)); }
.tp-dot { color: hsl(var(--muted-foreground)); margin-left: .5rem; }

/* MediaCard (components/content/mediaCard.tsx) */
.mc {
  position: relative;
  overflow: hidden;
  border-width: 1px;
  border-color: hsl(var(--border) / .5);
  -webkit-user-select: none;
  user-select: none;
  display: block;
}
a.mc { -webkit-user-select: auto; user-select: auto; }
.mcl {
  cursor: pointer;
  text-decoration-line: none;
  transition-property: box-shadow;
  transition-duration: .3s;
  transition-timing-function: cubic-bezier(0, 0, .2, 1);
}
.mcl:not(.flat):hover { box-shadow: 0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a; }
.mcl.flat { transition: none; }
.mc-frame { position: relative; display: flex; width: 100%; }
.mc-img { margin: 0; width: 100%; height: 100%; object-fit: cover; }
.mc-img.dr, .mc-ph.dr { opacity: .75; }
.dark .mc-img.dr, .dark .mc-ph.dr { opacity: .5; }
.mc-ph {
  width: 100%;
  height: 100%;
  background-color: hsl(var(--muted) / .3);
  display: flex;
  align-items: center;
  justify-content: center;
}
.mc-ph-t {
  color: hsl(var(--muted-foreground));
  font-size: .75rem;
  line-height: 1rem;
  text-align: center;
  padding-left: 1rem;
  padding-right: 1rem;
}
.mc-badge {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 20;
  background-color: #0009;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  padding: .125rem .375rem;
}
.dark .mc-badge { background-color: #000000b3; }
.mc-badge-t {
  font-size: 8px;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #fffc;
  font-weight: 500;
}
.mc-bar {
  position: absolute;
  bottom: 0;
  z-index: 10;
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: .125rem;
  border-top-width: 1px;
  border-top-color: hsl(var(--border) / .4);
  padding: .375rem .5rem;
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  background-color: #ffffff8c;
}
.dark .mc-bar { background-color: #00000080; border-top-color: rgb(87 83 78); }
.mc-title {
  font-size: .75rem;
  font-weight: 600;
  color: hsl(var(--foreground));
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
  line-height: 1.375;
}
.dark .mc-title { color: #fff; }
.mc-sub, .mc-meta {
  font-size: 11px;
  color: hsl(var(--foreground) / .7);
}
.mc-sub { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }
.mc-meta { display: flex; align-items: center; justify-content: space-between; }
.dark .mc-sub, .dark .mc-meta { color: #ffffffb3; }
@media (min-width: 640px) {
  .mc-sub, .mc-meta { font-size: 10px; }
}
.mc-meta .t { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }
.mc-meta .y { flex-shrink: 0; margin-left: .25rem; }
@media print {
  .mc { box-shadow: none !important; background: none !important; border: none !important; border-radius: 0 !important; }
}

/* PaginatedCardGrid */

.pg-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
@media (min-width: 768px) {
  .pg-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .pg-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.pg-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  margin-top: 1rem;
}
.pg > .pg-nav:not([hidden]) { margin-top: 1rem; }
.pg-nav[hidden] { display: none; }
.pg-btn {
  padding: .5rem;
  border-radius: 0;
  border-width: 1px;
  border-color: hsl(var(--border));
  background-color: hsl(var(--card));
  color: hsl(var(--foreground));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}
.pg-btn:hover { background-color: hsl(var(--secondary) / .7); }
.pg-btn:disabled { opacity: .5; color: hsl(var(--muted-foreground)); }
.pg-btn:hover:disabled { background-color: hsl(var(--card)); }
.pg-info { font-size: .875rem; line-height: 1.25rem; }
.ic5 { width: 1.25rem; height: 1.25rem; }

/* TrackingList */
.tl-body > :not([hidden]) ~ :not([hidden]) { margin-top: 1rem; }
.tl-bar {
  display: flex;
  align-items: center;
  gap: .75rem;
  flex-wrap: wrap;
}
.tl-search { flex: 1; min-width: 10rem; position: relative; }
.tl-search-ic {
  position: absolute;
  left: .75rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1rem;
  height: 1rem;
  color: hsl(var(--muted-foreground));
  pointer-events: none;
}
.tl-input {
  width: 100%;
  height: 2.5rem;
  padding: .5rem .75rem .5rem 2.5rem;
  border-width: 1px;
  border-radius: 0;
  font-size: .875rem;
  line-height: 1.25rem;
  background-color: hsl(var(--background));
}
.tl-input:hover { background-color: hsl(var(--secondary) / .5); }
.tl-input:focus { outline: 2px solid #0000; outline-offset: 2px; background-color: hsl(var(--secondary) / .5); }
.tl-filter { order: 1; flex: 1; min-width: 8.5rem; }
.tl-filter-btn { font-size: .875rem; line-height: 1.25rem; }
.tl-count {
  padding: .375rem .75rem;
  background-color: hsl(var(--muted) / .5);
  border-width: 1px;
  border-color: hsl(var(--border));
  font-size: .875rem;
  line-height: 1.25rem;
  white-space: nowrap;
}
.dark .tl-count { background-color: hsl(var(--popover)); }
.tl-n { font-weight: 600; color: hsl(var(--foreground)); }
.tl-l { margin-left: .25rem; color: hsl(var(--muted-foreground)); }
@media not all and (min-width: 640px) {
  .tl-filter-btn { height: 2.5rem; }
  .tl-count { display: inline-flex; align-items: center; height: 2.5rem; }
}
@media (min-width: 640px) {
  .tl-bar { gap: 1rem; }
  .tl-search { min-width: 240px; }
  .tl-input { height: 2.25rem; }
  .tl-filter { order: 0; flex: none; min-width: 140px; }
  .tl-filter-btn { min-width: 140px; }
}
.tl-groups > :not([hidden]) ~ :not([hidden]) { margin-top: 1.5rem; }
.tl-yr { display: flex; align-items: center; gap: .75rem; margin-bottom: .75rem; }
.tl-yr-t {
  font-size: .875rem;
  line-height: 1.25rem;
  font-weight: 500;
  color: hsl(var(--muted-foreground));
}
.tl-rule { flex: 1; height: 1px; background-color: hsl(var(--border)); }
.tl-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}
@media (min-width: 400px) {
  .tl-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 640px) {
  .tl-grid { gap: 1rem; }
}
@media (min-width: 768px) {
  .tl-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .tl-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@media (min-width: 1280px) {
  .tl-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
.tl-card {
  position: relative;
  overflow: hidden;
  background-color: hsl(var(--muted) / .3);
  box-shadow: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter, backdrop-filter;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}
.tl-card:hover { background-color: hsl(var(--secondary) / .5); }
.tl-card.p { aspect-ratio: 2 / 3; }
.tl-card.sq { aspect-ratio: 1; }
.tl-img { object-fit: cover; width: 100%; height: 100%; }
.tl-ph {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: hsl(var(--muted));
  padding: 1rem;
}
.tl-ph-t {
  color: hsl(var(--muted-foreground));
  font-size: .75rem;
  line-height: 1rem;
  text-align: center;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
}
.tl-ov {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(to top, #000000b3, transparent, transparent);
  opacity: 1;
  transition: opacity .15s cubic-bezier(.4, 0, .2, 1);
}
@media not all and (min-width: 640px) {
  .tl-ov { background-image: linear-gradient(to top, #000c, #00000080, #0000); }
}
@media (min-width: 640px) {
  .tl-ov { opacity: 0; }
  .tl-card:hover .tl-ov { opacity: 1; }
}
.tl-ov-in { position: absolute; bottom: 0; left: 0; right: 0; padding: .75rem; }
.tl-t {
  color: #fff;
  font-size: .875rem;
  line-height: 1.25rem;
  font-weight: 500;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
  overflow-wrap: break-word;
}
.tl-m { color: #ffffffb3; font-size: .75rem; line-height: 1rem; }
.tl-empty {
  color: hsl(var(--muted-foreground));
  font-size: .875rem;
  line-height: 1.25rem;
  text-align: center;
  padding: 2rem 0;
}
@media print {
  .tp-stats, .tl-count, .tl-input, .pg-btn { box-shadow: none !important; background: none !important; border: none !important; border-radius: 0 !important; }
}
/* the reset's [hidden] rule loses to display set above */
.pg-grid > [hidden], .tl-card[hidden], .tl-group[hidden], .tl-body [hidden], .sports-panel[hidden] { display: none; }

/* Checked radios own paging and tabs in both modes. */
.nojs-state { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.pg-css-nav { display:none; }
.pg > .pg-grid { margin-top:0; }
.pg-css-nav label, .sports-switch label { cursor:pointer; }
.nojs-disabled { opacity:.5; color:hsl(var(--muted-foreground)); }
.nojs-disabled:hover { background-color:hsl(var(--card)); }
.nojs-state:focus-visible ~ .pg-grid { outline:2px solid hsl(var(--ring)); outline-offset:4px; }
.cselect > select { appearance:none; padding-right:2.25rem; cursor:pointer; }
.cselect > .cselect-chev { position:absolute; right:.75rem; top:50%; transform:translateY(-50%); pointer-events:none; }
@supports selector(:has(*)) {
 .sports-switch .sports-panel { display:none; }
 .sports-switch:has(#sports-NBA:checked) [data-league="NBA"],
 .sports-switch:has(#sports-NFL:checked) [data-league="NFL"],
 .sports-switch:has(#sports-FB:checked) [data-league="FB"],
 .sports-switch:has(#sports-AFB:checked) [data-league="AFB"] { display:block; }
 .tl-count { display:inline-flex; align-items:center; }
 .tl-body:not([data-text-search]) .tl-n, .tl-body:not([data-text-search]) .tl-l { font-size:0; line-height:0; display:block; }
 .tl-body:not([data-text-search]) .tl-n::before { content:var(--filter-count); font-size:.875rem; line-height:1.25rem; display:block; }
 .tl-body:not([data-text-search]) .tl-l::before { content:var(--filter-label); font-size:.875rem; line-height:1.25rem; display:block; }
 .tl-groups > .tl-group { margin-top:0; }
}

/* roll: /blogroll /gitroll /podroll /youtube /twitch
   (components/rolls/roll-client.tsx, plus the doc.css directory rules
   it borrows for the tag index). */
.roll-main {
  max-width: 42rem;
  margin-left: auto;
  margin-right: auto;
  padding: 2rem 1rem;
}

/* tag index */
.roll-tags { margin-top: 1rem; margin-bottom: 1rem; }
.roll-tags-head {
  display: flex;
  align-items: center;
  background-color: hsl(var(--muted));
  padding: .75rem 1.25rem;
}
.roll-tags-label {
  font-size: .75rem;
  line-height: 1rem;
  font-weight: 700;
  color: hsl(var(--muted-foreground));
}
.roll-tags-page {
  margin-left: auto;
  font-size: 10px;
  color: hsl(var(--muted-foreground));
}
.roll-tags-row { display: flex; }
.roll-tags-bar {
  width: .5rem;
  background-color: hsl(var(--muted));
  flex-shrink: 0;
}
.roll-tags-body { flex: 1; padding: 1rem 1.25rem; }
.roll-tags-foot {
  display: flex;
  align-items: center;
  background-color: hsl(var(--muted));
  padding: .5rem 1.25rem;
}
.roll-tags-btn {
  font-size: .75rem;
  line-height: 1rem;
  color: hsl(var(--muted-foreground));
  transition-property: all;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  -webkit-user-select: none;
  user-select: none;
}
.roll-tags-btn:hover { color: hsl(var(--foreground)); }
.roll-tags-btn:disabled { opacity: .2; }
.roll-tags-spacer { flex: 1; }
.roll-tags-end {
  background-color: hsl(var(--muted));
  padding-top: .375rem;
  padding-bottom: .375rem;
}

/* doc.css: .doc-directory-indexes / .doc-dir-* */
.roll-tag-cols { column-count: 3; column-gap: 2em; }
@media (max-width: 900px) { .roll-tag-cols { column-count: 2; } }
@media (max-width: 500px) { .roll-tag-cols { column-count: 1; } }
.roll-tag-list { list-style: none; padding: 0; margin: 0; }
.roll-tag-item { break-inside: avoid; padding: .15em 0; }
.roll-tag-item::before {
  content: "\2726";
  font-size: .65em;
  position: relative;
  top: -.25em;
  margin-right: .5em;
  opacity: .45;
}
.roll-tag {
  color: hsl(var(--foreground));
  text-decoration: none;
  display: inline-flex;
  align-items: baseline;
  gap: .4em;
  font-weight: 500;
  font-size: .95em;
}
.roll-tag:hover { color: hsl(var(--primary)); }
.roll-tag-name { text-transform: capitalize; }
.roll-tag[aria-pressed="true"] .roll-tag-name { font-weight: 600; }
.roll-tag-arrow { font-size: .75em; opacity: .5; }

/* search bar: Navigation with className="mb-0" */
.roll-navwrap { margin-top: .75rem; margin-bottom: .75rem; }
.roll-navwrap .nb { margin-bottom: 0; }

/* list view */
.roll-table {
  width: 100%;
  font-size: .875rem;
  line-height: 1.25rem;
}
.roll-row {
  border-bottom: 1px solid hsl(var(--border) / .6);
  cursor: pointer;
  position: relative;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}
.roll-row:last-child, .roll-row.is-last { border-bottom-width: 0; }
.roll-row:hover { background-color: hsl(var(--secondary) / .5); }
.roll-row td {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  transition-duration: .2s;
}
.roll-c1, .roll-c2, .roll-c3, .roll-c4 { padding: .5rem .75rem; }
.roll-c1 { width: 2rem; }
.roll-link { position: absolute; inset: 0; z-index: 10; }
.roll-dot { width: .5rem; height: .5rem; border-radius: 9999px; }
.roll-dot-green5 { background-color: rgb(34 197 94); }
.roll-dot-green4 { background-color: rgb(74 222 128); }
.roll-dot-yellow { background-color: rgb(250 204 21); }
.roll-dot-orange4 { background-color: rgb(251 146 60); }
.roll-dot-orange5 { background-color: rgb(249 115 22); }
.roll-dot-red { background-color: rgb(248 113 113); }
.roll-dot-gray { background-color: rgb(156 163 175); }
.roll-c2 {
  font-weight: 500;
  overflow-wrap: break-word;
  white-space: normal;
}
.roll-title { color: hsl(var(--foreground)); }
.roll-ago-sm {
  font-size: .75rem;
  line-height: 1rem;
  color: hsl(var(--muted-foreground));
  margin-left: .5rem;
}
.roll-c3 { text-align: center; width: 3rem; }
.roll-star {
  width: 1rem;
  height: 1rem;
  color: rgb(234 179 8);
  fill: #eab308;
  display: inline-block;
}
.roll-c4 {
  display: none;
  color: hsl(var(--muted-foreground));
  font-size: .75rem;
  line-height: 1rem;
  text-align: right;
  white-space: nowrap;
}
@media (min-width: 640px) {
  .roll-ago-sm { display: none; }
  .roll-c4 { display: table-cell; }
}

/* grid view */
.roll-grid-wrap { width: 100%; }
.roll-body[data-view="list"] > [data-pane="grid"],
.roll-body[data-view="grid"] > [data-pane="list"] { display: none; }
.roll-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  border: 1px solid hsl(var(--border));
}
@media (min-width: 640px) { .roll-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 768px) { .roll-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.roll-cell {
  position: relative;
  padding: 1rem;
  border-right: 1px solid hsl(var(--border));
  border-bottom: 1px solid hsl(var(--border));
  cursor: pointer;
  display: flex;
  flex-direction: column;
  min-height: 100px;
}
.roll-cell:last-child, .roll-cell.is-last { border-right-width: 0; }
.roll-cell:hover { background-color: hsl(var(--secondary) / .05); }
.roll-cell-dot {
  position: absolute;
  top: .75rem;
  right: .75rem;
  width: .5rem;
  height: .5rem;
  border-radius: 9999px;
}
.roll-cell-title {
  font-weight: 500;
  font-size: .875rem;
  line-height: 1.375;
  padding-right: 1.25rem;
  margin-bottom: auto;
}
.roll-cell-star {
  width: .75rem;
  height: .75rem;
  color: rgb(234 179 8);
  fill: #eab308;
  display: inline-block;
  margin-left: .25rem;
}
.roll-cell-meta { margin-top: .75rem; }
.roll-cell-meta > * + * { margin-top: .125rem; }
.roll-cell-host {
  font-size: .75rem;
  line-height: 1rem;
  color: hsl(var(--muted-foreground));
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
.roll-cell-ago { font-size: 11px; color: hsl(var(--muted-foreground) / .6); }
.roll-empty {
  color: hsl(var(--muted-foreground));
  font-size: .875rem;
  line-height: 1.25rem;
  margin-top: 1.5rem;
}

/* rows the scripts hide */
.roll-cell[hidden] { display: none; }

.roll-tag, .roll-tags-foot label { cursor:pointer; }
.roll-tag-clear { display:none; }
.roll-tag-clear .roll-tag-name { font-weight:600; }
.roll-disabled { opacity:.2; }
.roll-row[hidden] { display:none; }
.nojs-state:focus-visible ~ .roll-tags, .roll-tags > .nojs-state:focus-visible ~ .roll-tags-row { outline:2px solid hsl(var(--ring)); outline-offset:4px; }

.roll-main .nb .nb-view-radio { display:block; }
.roll-main .nb .nb-view-choice { display:inline-flex; cursor:pointer; }
.roll-main .nb .nb-view-link { display:none; }
.roll-main .nb-view-radio:checked + .nb-view-choice { background-color:hsl(var(--secondary) / .5); }
@supports selector(:has(*)) {
 .roll-main:has([data-view-choice="list"]:checked) .roll-body > [data-pane="grid"],
 .roll-main:has([data-view-choice="grid"]:checked) .roll-body > [data-pane="list"] { display:none; }
 .roll-main:has([data-view-choice="list"]:checked) .roll-body > [data-pane="list"],
 .roll-main:has([data-view-choice="grid"]:checked) .roll-body > [data-pane="grid"] { display:block; }
}

/* reference: /companies /predictions /quotes /symbols /symbols/<slug>
   /mitzvah (F10). Translated with tools/twcss from the original classes. */
@keyframes ref-spin { to { transform: rotate(360deg); } }

/* ---- /companies: GlowCardGrid + GlowCard ----
   The original's Tailwind v4-only classes (@container-size, scale-(--x),
   blur-(--x), z-1, translate-z-0, border-(length:--x), backdrop-*) are not
   in its v3 stylesheet, so they do nothing there; neither here. */
.co-main {
  max-width: 42rem;
  margin-left: auto;
  margin-right: auto;
  padding: 2rem 1rem;
}
.co-grid {
  display: grid;
  width: 100%;
  gap: 1rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
@media (min-width: 640px) { .co-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.co-empty {
  font-size: .875rem;
  line-height: 1.25rem;
  color: hsl(var(--muted-foreground));
  text-align: center;
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.gc {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 1rem;
  box-shadow: 0 0 0 0 #fff, 0 0 0 1px hsl(var(--border)), 0 0 #0000;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  transition-duration: .2s;
  -webkit-user-select: none;
  user-select: none;
}
.gc:hover { background-color: hsl(var(--muted) / .5); }
.gc-clip {
  display: flex;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 1rem;
  clip-path: inset(0 round 16px);
}
.gc-glow {
  pointer-events: none;
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translate(calc(var(--pointer-x, -10) * 50cqi), calc(var(--pointer-y, -10) * 50cqh));
  will-change: transform, filter;
}
.gc-glow-img { width: 4rem; height: 4rem; pointer-events: none; }
.gc-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  padding: 1.5rem 1rem;
  text-align: center;
}
.gc-logo {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: var(--radius);
  object-fit: contain;
  pointer-events: none;
}
.gc-text { display: flex; flex-direction: column; align-items: center; gap: .375rem; }
.gc-name {
  font-size: 1rem;
  line-height: 1;
  font-weight: 600;
  color: hsl(var(--foreground));
}
.gc-desc {
  font-size: .75rem;
  line-height: 1.375;
  color: hsl(var(--foreground) / .5);
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
  max-width: 90%;
}
.gc-tags { display: flex; flex-wrap: wrap; justify-content: center; gap: .25rem; }
.gc-tag {
  font-size: 11px;
  padding: .125rem .375rem;
  border-radius: 9999px;
  background-color: hsl(var(--foreground) / .05);
  color: hsl(var(--foreground) / .4);
}
.gc-links { display: flex; align-items: center; gap: .75rem; color: hsl(var(--foreground) / .4); }
.gc-link {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}
.gc-link:hover { color: hsl(var(--foreground)); }
.gc-ico { width: .875rem; height: .875rem; }
@media (min-width: 640px) { .gc-tag { font-size: 10px; } }
@media not all and (min-width: 640px) {
  .gc-links { gap: .25rem; margin-top: -.5rem; margin-bottom: -.5rem; }
  .gc-link { display: flex; width: 2.25rem; height: 2.25rem; align-items: center; justify-content: center; }
}

/* ---- /predictions: PredictionCard ---- */
.pr-page, .sd-page { min-height: 100vh; background-color: hsl(var(--background)); }
/* container + max-w-[672px]: the utility wins over .container's steps */
.pr-main, .q-main {
  width: 100%;
  max-width: 672px;
  margin-left: auto;
  margin-right: auto;
  padding: 2rem 1rem;
}
.pr-wrap { margin-top: 1rem; }
.pr-stack > :not([hidden]) ~ :not([hidden]) { margin-top: 1rem; }
.pr-search { position: relative; }
.pr-icon {
  position: absolute;
  left: .75rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1rem;
  height: 1rem;
  color: hsl(var(--muted-foreground));
  pointer-events: none;
}
.pr-input {
  width: 100%;
  height: 2.25rem;
  padding: .5rem .75rem .5rem 2.5rem;
  border-width: 1px;
  border-radius: 0;
  font-size: .875rem;
  line-height: 1.25rem;
  background-color: hsl(var(--background));
}
.pr-input:hover { background-color: hsl(var(--secondary) / .5); }
.pr-input:focus { outline: 2px solid #0000; outline-offset: 2px; background-color: hsl(var(--secondary) / .5); }
.pr-list { display: grid; grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 1rem; }
.pr-card {
  border: 1px solid hsl(var(--border));
  padding: 1.25rem;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}
.pr-card:hover { background-color: hsl(var(--muted) / .3); }
.pr-stmt {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.375;
  color: hsl(var(--foreground));
}
.pr-stmt.pr-failed { color: hsl(var(--muted-foreground)); text-decoration-line: line-through; }
.pr-stmt.pr-dropped { color: hsl(var(--muted-foreground) / .6); }
.pr-bar { margin-top: 1rem; display: flex; align-items: center; gap: .75rem; }
.pr-track { flex: 1; background-color: hsl(var(--muted)); height: .375rem; }
.pr-fill {
  height: .375rem;
  transition-property: all;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  transition-duration: .3s;
  background-color: hsl(var(--foreground) / .6);
}
.pr-fill.pr-fill-res { background-color: hsl(var(--muted-foreground) / .4); }
.pr-pct, .pr-date {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
  font-variant-numeric: tabular-nums;
}
.pr-pct { font-size: .75rem; line-height: 1rem; color: hsl(var(--muted-foreground)); }
.pr-foot { margin-top: .75rem; display: flex; align-items: center; justify-content: space-between; }
.pr-dates {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: .75rem;
  line-height: 1rem;
  color: hsl(var(--muted-foreground));
}
.pr-arrow { color: hsl(var(--border)); }
.pr-status { display: flex; align-items: center; gap: .375rem; }
.pr-dot { width: .375rem; height: .375rem; border-radius: 9999px; }
.pr-dot-fg { background-color: hsl(var(--foreground)); }
.pr-dot-muted40 { background-color: hsl(var(--muted-foreground) / .4); }
.pr-dot-muted30 { background-color: hsl(var(--muted-foreground) / .3); }
.pr-dot-fg60 { background-color: hsl(var(--foreground) / .6); }
.pr-label { font-size: .75rem; line-height: 1rem; color: hsl(var(--muted-foreground)); }
.pr-none { text-align: center; padding-top: 3rem; padding-bottom: 3rem; }
.pr-none-p { color: hsl(var(--muted-foreground)); }

/* ---- /quotes: QuoteCard ---- */
.q-page {
  position: relative;
  min-height: 100vh;
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
}
.q-list { display: grid; grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 1rem; }
.q-more { height: 1px; }
.qc {
  position: relative;
  display: flex;
  height: 100%;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid hsl(var(--border));
  background-color: #fff;
  color: hsl(var(--foreground));
  box-shadow: 0 1px 2px 0 #0000000d;
}
.dark .qc { background-color: hsl(var(--card)); color: hsl(var(--card-foreground)); }
.qc-in { display: flex; height: 100%; flex-direction: column; padding: 1rem; }
.qc-mark {
  margin-bottom: .5rem;
  font-size: 1.5rem;
  line-height: 2rem;
  color: hsl(var(--muted-foreground));
}
.qc-text {
  margin-bottom: .75rem;
  flex-grow: 1;
  font-size: .875rem;
  font-weight: 500;
  line-height: 1.625;
  white-space: pre-wrap;
}
.qc-clamp {
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
}
.qc-more {
  margin-bottom: .75rem;
  text-align: left;
  font-size: .75rem;
  line-height: 1rem;
  color: hsl(var(--muted-foreground));
}
.qc-more:hover { color: hsl(var(--foreground)); }
.qc-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: .75rem;
  line-height: 1rem;
  color: hsl(var(--muted-foreground));
}
.qc-author { font-size: 13px; font-weight: 500; color: hsl(var(--foreground)); }
.qc-source { font-style: italic; }

/* ---- /symbols: bento grid / list with a sliding Highlight ---- */
.sy-main {
  max-width: 72rem;
  margin-left: auto;
  margin-right: auto;
  padding: 2rem 1rem;
}
@media (min-width: 640px) { .sy-main { padding-left: 1.5rem; padding-right: 1.5rem; } }
.sy-wrap { margin-top: 2rem; }
.sy-desc { margin-top: 3rem; }
.sy-count {
  font-size: 11px;
  color: hsl(var(--muted-foreground));
  margin-bottom: .75rem;
  font-variant-numeric: tabular-nums;
}
.sy-hl-wrap { position: relative; }
.sy-hl-wrap[data-view="grid"] .sy-listv,
.sy-hl-wrap[data-view="list"] .sy-grid { display: none; }
.sy-hl {
  position: absolute;
  z-index: 0;
  pointer-events: none;
  border-radius: .75rem;
  box-shadow: 0 0 0 0 #fff, 0 0 0 1px hsl(var(--foreground) / .2), 0 0 #0000;
  background-color: hsl(var(--foreground) / .07);
  opacity: 0;
  transition: top .35s cubic-bezier(.2, .9, .3, 1), left .35s cubic-bezier(.2, .9, .3, 1),
    width .35s cubic-bezier(.2, .9, .3, 1), height .35s cubic-bezier(.2, .9, .3, 1), opacity .2s ease .15s;
}
.sy-hl.on { opacity: 1; transition-delay: 0s; }
.sy-hl.jump { transition: opacity .2s ease; }
.sy-item { position: relative; z-index: 1; }
.sy-grid {
  display: grid;
  gap: .375rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
@media (min-width: 640px) { .sy-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
@media (min-width: 768px) { .sy-grid { grid-template-columns: repeat(8, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .sy-grid { grid-template-columns: repeat(10, minmax(0, 1fr)); } }
@media (min-width: 1280px) { .sy-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); } }
.sy-listv { display: flex; flex-direction: column; gap: .375rem; }
.sy-cell { position: relative; aspect-ratio: 1; }
.sy-tile, .sy-rowlink {
  border-radius: .75rem;
  background-color: hsl(var(--foreground) / .03);
  border: 1px solid hsl(var(--foreground) / .06);
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  cursor: pointer;
}
.sy-tile {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  content-visibility: auto;
  contain-intrinsic-size: auto 72px;
}
.sy-tile:hover, .sy-rowlink:hover { border-color: hsl(var(--foreground) / .1); }
.sy-glyph {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
  color: hsl(var(--foreground) / .7);
  transition: color .15s cubic-bezier(.4, 0, .2, 1);
  line-height: 1;
  -webkit-user-select: none;
  user-select: none;
}
.sy-cell:hover .sy-glyph, .sy-row:hover .sy-glyph { color: hsl(var(--foreground)); }
.sy-img {
  object-fit: contain;
  opacity: .8;
  transition: opacity .15s cubic-bezier(.4, 0, .2, 1);
}
.sy-cell:hover .sy-img, .sy-row:hover .sy-img { opacity: 1; }
.dark .sy-img { filter: invert(100%); }
.sy-tip {
  pointer-events: none;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 100%;
  z-index: 20;
  margin-bottom: .5rem;
  opacity: 0;
  transition: opacity .15s cubic-bezier(.4, 0, .2, 1);
}
.sy-cell:hover .sy-tip { opacity: 1; }
.sy-tip-in {
  display: inline-block;
  border-radius: calc(var(--radius) - 2px);
  background-color: hsl(var(--popover));
  border: 1px solid hsl(var(--border));
  padding: .25rem .5rem;
  font-size: 11px;
  font-weight: 500;
  color: hsl(var(--popover-foreground));
  box-shadow: 0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;
  white-space: nowrap;
}
.sy-copy {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  font-size: .875rem;
  line-height: 1.25rem;
  font-weight: 500;
  opacity: 0;
  transition: opacity .15s cubic-bezier(.4, 0, .2, 1);
  position: absolute;
  top: .25rem;
  right: .25rem;
  width: 1.5rem;
  height: 1.5rem;
  padding: 0;
  z-index: 10;
  color: hsl(var(--muted-foreground));
}
.sy-copy:hover { background-color: hsl(var(--accent)); color: hsl(var(--foreground)); }
.sy-copy:focus-visible {
  outline: 2px solid #0000;
  outline-offset: 2px;
  box-shadow: 0 0 0 2px hsl(var(--background)), 0 0 0 4px hsl(var(--ring));
}
.sy-cell:hover .sy-copy, .sy-row:hover .sy-copy { opacity: 1; }
.sy-copy-l {
  top: 50%;
  transform: translateY(-50%);
  right: .5rem;
  width: 1.75rem;
  height: 1.75rem;
}
.sy-copy-icon { width: .75rem; height: .75rem; }
.sy-copy-icon-l { width: .875rem; height: .875rem; }
.sy-row { position: relative; }
.sy-rowlink { display: flex; align-items: center; gap: .75rem; padding: .625rem .75rem; }
@media (min-width: 640px) { .sy-rowlink { gap: 1rem; } }
.sy-box {
  display: flex;
  width: 2.75rem;
  height: 2.75rem;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius);
  background-color: hsl(var(--foreground) / .04);
  border: 1px solid hsl(var(--foreground) / .05);
}
.sy-meta { flex: 1; min-width: 0; padding-right: 2rem; }
.sy-name, .sy-slug { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }
.sy-name {
  font-size: .875rem;
  line-height: 1.25rem;
  font-weight: 500;
  color: hsl(var(--foreground) / .9);
  transition: color .15s cubic-bezier(.4, 0, .2, 1);
}
.sy-row:hover .sy-name { color: hsl(var(--foreground)); }
.sy-slug {
  font-size: 11px;
  color: hsl(var(--muted-foreground) / .7);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
}
.sy-empty {
  color: hsl(var(--muted-foreground));
  font-size: .875rem;
  line-height: 1.25rem;
  margin-top: 1.5rem;
  text-align: center;
  padding-top: 4rem;
  padding-bottom: 4rem;
}
.sy-toast {
  position: fixed;
  top: 1rem;
  right: 1rem;
  background-color: rgb(34 197 94);
  color: #fff;
  padding: .5rem 1rem;
  border-radius: var(--radius);
  box-shadow: 0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;
  z-index: 50;
  animation: ref-toast-in .15s ease-out;
}
@keyframes ref-toast-in { from { transform: translateY(-.5rem); opacity: 0; } }
@media print { .sy-toast { display: none !important; } }

/* ---- /symbols/<slug> ---- */
.sd-main {
  max-width: 42rem;
  margin-left: auto;
  margin-right: auto;
  padding: 2rem 1rem;
}
.sd-top { margin-bottom: 2rem; }
.sd-flex { display: flex; align-items: stretch; gap: .75rem; }
.sd-card {
  border-width: 1px;
  background-color: hsl(var(--card));
  color: hsl(var(--card-foreground));
  box-shadow: 0 1px 2px 0 #0000000d;
}
.sd-glyphcard { flex-shrink: 0; }
.sd-full { height: 100%; }
.sd-glyphin { display: flex; align-items: center; justify-content: center; padding: 1.5rem; height: 100%; }
.sd-glyph {
  font-size: 3.75rem;
  line-height: 1;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
}
.sd-glyphimg { width: 4rem; height: 4rem; object-fit: contain; }
.dark .sd-glyphimg { filter: invert(100%); }
.sd-side { flex: 1; }
.sd-actions { padding: 1.5rem; height: 100%; }
.sd-btns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
.sd-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  font-size: .875rem;
  line-height: 1.25rem;
  font-weight: 500;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  border: 1px solid hsl(var(--input));
  background-color: hsl(var(--background));
  height: 2.25rem;
  padding: 0 .75rem;
}
.sd-btn.sd-btn-8 { height: 2rem; }
.sd-btn-full { width: 100%; }
.sd-btn:hover { background-color: hsl(var(--accent)); color: hsl(var(--accent-foreground)); }
.sd-btn:focus-visible {
  outline: 2px solid #0000;
  outline-offset: 2px;
  box-shadow: 0 0 0 2px hsl(var(--background)), 0 0 0 4px hsl(var(--ring));
}
.sd-btn-icon { width: .75rem; height: .75rem; margin-right: .25rem; }
.sd-btn .sd-ico-check, .sd-btn.copied .sd-ico-copy { display: none; }
.sd-btn.copied .sd-ico-check { display: inline; }
.sd-info { margin-bottom: 2rem; }
.sd-infoin { padding: 1.5rem; }
.sd-dl > * + * { margin-top: 1rem; }
.sd-dt {
  font-size: .875rem;
  line-height: 1.25rem;
  font-weight: 500;
  color: hsl(var(--muted-foreground));
}
.sd-dd { font-size: 1.125rem; line-height: 1.75rem; }
.sd-dd-mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
  font-size: .875rem;
  line-height: 1.25rem;
}
.sd-a { color: hsl(var(--primary)); }
.sd-a:hover { text-decoration-line: underline; }

/* ---- /mitzvah ---- */
.mz-main {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 2rem 1rem;
}
@media (min-width: 640px) { .mz-main { max-width: 640px; } }
@media (min-width: 768px) { .mz-main { max-width: 768px; } }
@media (min-width: 1024px) { .mz-main { max-width: 1024px; } }
@media (min-width: 1280px) { .mz-main { max-width: 1280px; } }
@media (min-width: 1536px) { .mz-main { max-width: 1536px; } }
.mz-inner { max-width: 42rem; margin-left: auto; margin-right: auto; }
.mz-wrap { margin-top: 2rem; }
.mz-list { width: 100%; }
.mz-row {
  display: flex;
  align-items: baseline;
  gap: 1rem;
  padding-top: .75rem;
  padding-bottom: .75rem;
  border-bottom: 1px solid hsl(var(--border) / .4);
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}
.mz-row:hover { background-color: hsl(var(--secondary) / .3); }
.mz-num, .mz-law, .mz-ref {
  font-size: .875rem;
  line-height: 1.25rem;
  color: hsl(var(--muted-foreground));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}
.mz-num { font-variant-numeric: tabular-nums; flex-shrink: 0; width: 2rem; }
.mz-law { flex: 1; }
.mz-row:hover .mz-num, .mz-row:hover .mz-law, .mz-ref:hover { color: hsl(var(--foreground)); }
.mz-ref { flex-shrink: 0; text-decoration-line: none; }
.mz-none { text-align: center; padding-top: 2.5rem; padding-bottom: 2.5rem; color: hsl(var(--muted-foreground)); }
.mz-more { height: 2.5rem; display: flex; align-items: center; justify-content: center; }
.mz-more[hidden], .mz-row[hidden] { display: none; }
.mz-spin {
  animation: ref-spin 1s linear infinite;
  width: 1.25rem;
  height: 1.25rem;
  border: 2px solid hsl(var(--primary));
  border-top-color: #0000;
  border-radius: 9999px;
}


/* The quote disclosure uses the same HTML/CSS in both modes. */
.qc-more { cursor:pointer; }
.qc-show-less { display:none; }
@supports selector(:has(*)) {
 .qc-in:has(.qc-more input:checked) .qc-clamp { display:block; -webkit-line-clamp:unset; }
 .qc-in:has(.qc-more input:checked) .qc-show-more { display:none; }
 .qc-in:has(.qc-more input:checked) .qc-show-less { display:inline; }
 .qc-more:has(input:focus-visible) { outline:2px solid hsl(var(--ring)); outline-offset:2px; }
}
@supports not selector(:has(*)) {
 .qc-clamp { display:block; -webkit-line-clamp:unset; }
 .qc-more { display:none; }
}

html.js .mz-row:nth-child(n+51):not([data-mz-revealed]) { display:none; }

