.blog {
  --accent: #ff9a3c;
  --accent-2: #ffc857;
}
html[data-post] .hero .wrap > :not([data-origin]),
html[data-post] [data-blog] > * {
  visibility: hidden;
}
.bl-kicker {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
  margin: 0 0 18px;
  font: 500 11.5px/1.4 var(--mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--faint);
}
.bl-kicker a {
  color: var(--accent);
  text-decoration: none;
}
.bl-kicker em {
  font-style: normal;
}
@property --corr-turn {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}
.bl-corr {
  --corr-a: #a78bfa;
  --corr-b: #e879f9;
  --corr-c: #7c9cff;
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 28px;
  padding: 0 12px 0 4px;
  border: 1px solid transparent;
  border-radius: 999px;
  background:
    linear-gradient(#120d1f, #120d1f) padding-box,
    conic-gradient(from var(--corr-turn), var(--corr-a), var(--corr-b), var(--corr-c), var(--corr-a)) border-box;
  box-shadow:
    0 0 0 3px rgb(167 139 250 / 0.08),
    0 6px 22px -8px var(--corr-a),
    inset 0 0 12px rgb(232 121 249 / 0.12);
  color: #efe6ff;
  font: 600 10.5px/1 var(--mono);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  text-shadow: 0 0 10px rgb(232 121 249 / 0.55);
  white-space: nowrap;
  isolation: isolate;
  animation: corr-turn 7s linear infinite;
}
.bl-corr::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background: linear-gradient(105deg, transparent 35%, rgb(255 255 255 / 0.16) 50%, transparent 65%) -150% 0 / 250% 100%
    no-repeat;
  animation: corr-sheen 5.5s ease-in-out infinite;
}
.bl-seal {
  position: relative;
  flex: none;
  width: 20px;
  height: 20px;
  filter: drop-shadow(0 0 4px rgb(232 121 249 / 0.7));
}
.bl-seal::before,
.bl-seal::after {
  content: "";
  position: absolute;
  inset: 0;
  mask: center / contain no-repeat;
}
.bl-seal::before {
  background: linear-gradient(135deg, #c4b5fd, #e879f9 50%, #8b7bff);
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-12 -12 24 24'%3E%3Cpath d='M0.00 -11.20L0.54 -10.97L1.02 -10.40L1.46 -9.81L1.89 -9.51L2.41 -9.62L3.03 -10.00L3.70 -10.34L4.29 -10.35L4.69 -9.93L4.93 -9.22L5.10 -8.51L5.39 -8.07L5.91 -7.97L6.63 -8.08L7.37 -8.14L7.92 -7.92L8.14 -7.37L8.08 -6.63L7.97 -5.91L8.07 -5.39L8.51 -5.10L9.22 -4.93L9.93 -4.69L10.35 -4.29L10.34 -3.70L10.00 -3.03L9.62 -2.41L9.51 -1.89L9.81 -1.46L10.40 -1.02L10.97 -0.54L11.20 0.00L10.97 0.54L10.40 1.02L9.81 1.46L9.51 1.89L9.62 2.41L10.00 3.03L10.34 3.70L10.35 4.29L9.93 4.69L9.22 4.93L8.51 5.10L8.07 5.39L7.97 5.91L8.08 6.63L8.14 7.37L7.92 7.92L7.37 8.14L6.63 8.08L5.91 7.97L5.39 8.07L5.10 8.51L4.93 9.22L4.69 9.93L4.29 10.35L3.70 10.34L3.03 10.00L2.41 9.62L1.89 9.51L1.46 9.81L1.02 10.40L0.54 10.97L0.00 11.20L-0.54 10.97L-1.02 10.40L-1.46 9.81L-1.89 9.51L-2.41 9.62L-3.03 10.00L-3.70 10.34L-4.29 10.35L-4.69 9.93L-4.93 9.22L-5.10 8.51L-5.39 8.07L-5.91 7.97L-6.63 8.08L-7.37 8.14L-7.92 7.92L-8.14 7.37L-8.08 6.63L-7.97 5.91L-8.07 5.39L-8.51 5.10L-9.22 4.93L-9.93 4.69L-10.35 4.29L-10.34 3.70L-10.00 3.03L-9.62 2.41L-9.51 1.89L-9.81 1.46L-10.40 1.02L-10.97 0.54L-11.20 0.00L-10.97 -0.54L-10.40 -1.02L-9.81 -1.46L-9.51 -1.89L-9.62 -2.41L-10.00 -3.03L-10.34 -3.70L-10.35 -4.29L-9.93 -4.69L-9.22 -4.93L-8.51 -5.10L-8.07 -5.39L-7.97 -5.91L-8.08 -6.63L-8.14 -7.37L-7.92 -7.92L-7.37 -8.14L-6.63 -8.08L-5.91 -7.97L-5.39 -8.07L-5.10 -8.51L-4.93 -9.22L-4.69 -9.93L-4.29 -10.35L-3.70 -10.34L-3.03 -10.00L-2.41 -9.62L-1.89 -9.51L-1.46 -9.81L-1.02 -10.40L-0.54 -10.97Z'/%3E%3C/svg%3E");
}
.bl-seal::after {
  background: #140d22;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-12 -12 24 24'%3E%3Cpath fill-rule='evenodd' transform='rotate%2838%29 scale%28.84%29' d='M0 8.6C1.3 6.2 3.5 3.3 4.2.6 4.6-1 4.2-2.6 3.3-3.6L2.4-4.3V-7.4H-2.4V-4.3L-3.3-3.6C-4.2-2.6-4.6-1-4.2.6-3.5 3.3-1.3 6.2 0 8.6ZM0-3.05A1.25 1.25 0 1 0 0-.55 1.25 1.25 0 1 0 0-3.05ZM-.4 6.6H.4V-.5H-.4Z'/%3E%3C/svg%3E");
}
.bl-corr.on-art {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 1;
}
.bl-corr.sm {
  gap: 6px;
  height: 22px;
  padding: 0 9px 0 3px;
  font-size: 9px;
  letter-spacing: 0.16em;
}
.bl-corr.sm .bl-seal {
  width: 16px;
  height: 16px;
}
@keyframes corr-turn {
  to {
    --corr-turn: 360deg;
  }
}
@keyframes corr-sheen {
  0%,
  55% {
    background-position: -150% 0;
  }
  100% {
    background-position: 150% 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .bl-corr,
  .bl-corr::after {
    animation: none;
  }
}
.hero h1.bl-h1 {
  max-width: 17ch;
  font-size: clamp(2.6rem, 6.4vw, 5.6rem);
  line-height: 0.98;
}
.hero .ink-swash {
  display: block;
  width: min(420px, 72%);
  margin: 4px 0 0 0.1em;
}
.bl-lede {
  max-width: 60ch;
  margin-top: 16px;
  text-wrap: balance;
}
.bl-byline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 0;
  margin-top: 28px;
  font: 500 11.5px/1.4 var(--mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--faint);
}
.bl-byline > span:not(.tag) + span:not(.tag)::before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 4px;
  margin: 0 14px 2px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 8px var(--accent);
}
.bl-byline .tag {
  margin-left: 14px;
}
.bl-byline .bl-author {
  color: var(--soft);
}
.bl-actions {
  margin-top: 22px;
}
@media (prefers-reduced-motion: no-preference) {
  .bl-kicker,
  .bl-h1,
  .bl-lede,
  .bl-byline,
  .bl-actions {
    animation: bl-rise 1s var(--ease) both;
  }
  .bl-h1 {
    animation-delay: 0.05s;
  }
  .bl-lede {
    animation-delay: 0.16s;
  }
  .bl-byline {
    animation-delay: 0.24s;
  }
  .bl-actions {
    animation-delay: 0.3s;
  }
  .hero .bl-h1 em,
  .bl-card .bl-title em {
    background-size: 220% 100%;
    animation: bl-sheen 3.4s 0.25s var(--ease) both;
  }
  .hero .ink-swash path {
    animation: draw 1.6s 0.35s var(--ease) both;
  }
}
@keyframes bl-rise {
  from {
    opacity: 0;
    translate: 0 18px;
    filter: blur(6px);
  }
}
@keyframes bl-sheen {
  from {
    background-position: 100% 0;
  }
  to {
    background-position: 0 0;
  }
}
.bl-empty {
  padding: 24px 0 8px;
  color: var(--muted);
}
.bl-list {
  display: grid;
  gap: 22px;
  list-style: none;
}
.bl-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  container-type: inline-size;
  padding: 0;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
  transition: border-color 0.3s;
}
.bl-card:hover {
  border-color: var(--line-2);
}
.bl-art {
  position: relative;
  display: block;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
  background: var(--bg);
}
.bl-card .bl-art {
  aspect-ratio: 8/5;
}
.bl-card .bl-meta {
  padding-right: 4.2rem;
}
.bl-art .ink-art {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  transition:
    scale 1.4s var(--ease),
    filter 0.6s;
}
.bl-art > .art {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background:
    radial-gradient(
      120% 95% at 16% 0%,
      color-mix(in oklab, var(--accent) 12%, transparent),
      transparent 62%
    ),
    radial-gradient(
      90% 80% at 100% 100%,
      color-mix(in oklab, var(--accent-2) 9%, transparent),
      transparent 62%
    ),
    #09090d;
  transition:
    scale 1.4s var(--ease),
    filter 0.6s;
}
.bl-card:hover .bl-art > .art,
.bl-next:hover .bl-art > .art {
  scale: 1.03;
  filter: brightness(1.12);
}
.bl-card:hover .ink-art,
.bl-next:hover .ink-art {
  scale: 1.05;
  filter: saturate(1.25) brightness(1.12);
}
.bl-no {
  position: absolute;
  top: calc(62.5cqi + 16px);
  right: clamp(22px, 3vw, 34px);
  font: italic 400 3rem/1 var(--serif);
  color: color-mix(in oklab, #fff 72%, transparent);
  text-shadow: 0 0 24px color-mix(in oklab, var(--accent) 35%, transparent);
  pointer-events: none;
}
.bl-body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: clamp(22px, 3vw, 34px);
}
.bl-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  font: 500 11.5px/1.4 var(--mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--faint);
}
.bl-meta i {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 8px var(--accent);
}
.bl-title {
  display: block;
  margin: 0;
  font: 400 clamp(1.9rem, 3.3vw, 2.75rem)/1.02 var(--serif);
  letter-spacing: -0.01em;
  color: #fff;
  text-wrap: balance;
}
.bl-title em {
  font-style: italic;
  background: var(--grad);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  padding-right: 0.07em;
}
.bl-sub {
  display: block;
  font: 400 1.28rem/1.3 var(--serif);
  color: #dcdce6;
}
.bl-abs {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 0.98rem;
  line-height: 1.6;
  color: var(--muted);
}
.bl-abs span + span {
  margin-left: 0.3em;
}
.bl-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  padding-top: 8px;
}
.bl-go {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-left: auto;
  perspective: 120px;
}
.bl-label {
  position: relative;
  padding: 6px 11px 6px 18px;
  font: 600 10px/1 var(--mono);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  white-space: nowrap;
  color: #3a1d06;
  background: linear-gradient(160deg, #fff1d6, #f6c98b);
  clip-path: polygon(10px 0, 100% 0, 100% 100%, 10px 100%, 0 50%);
  box-shadow: inset 0 -2px 0 rgb(120 60 10 / 0.18);
  rotate: -4deg;
  transform-origin: 7px 50%;
  transition: rotate 0.7s var(--spring);
}
.bl-label::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 7px;
  width: 4px;
  height: 4px;
  margin-top: -2px;
  border-radius: 50%;
  background: #120c08;
}
.bl-key {
  width: 30px;
  height: 14px;
  fill: none;
  stroke: var(--accent-2);
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 0 4px color-mix(in oklab, var(--accent-2) 70%, transparent));
  transition:
    translate 0.4s var(--ease),
    rotate 0.6s var(--ease) 0.15s;
}
.bl-card:hover .bl-label,
.bl-card:focus-visible .bl-label {
  rotate: 6deg;
}
.bl-card:hover .bl-key,
.bl-card:focus-visible .bl-key {
  translate: 5px 0;
  rotate: x 180deg;
}
.bl-grid {
  --sn-w: 200px;
  --sn-gap: 36px;
  display: grid;
  grid-template-columns: 180px minmax(0, 640px) calc(
      var(--sn-w) + var(--sn-gap)
    );
  column-gap: 36px;
  justify-content: center;
}
.bl-side {
  grid-column: 1;
  min-width: 0;
}
.bl-article {
  grid-column: 2;
}
@media (max-width: 1179px) {
  .bl-grid {
    grid-template-columns: minmax(0, 700px);
  }
  .bl-side,
  .bl-article {
    grid-column: 1;
  }
}
.bl-toc {
  position: sticky;
  top: 100px;
  max-height: calc(100vh - 130px);
  overflow: auto;
  scrollbar-width: none;
  font-size: 13.5px;
}
.bl-toc b {
  display: block;
  margin-bottom: 12px;
  font: 500 11px/1 var(--mono);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--faint);
}
.bl-toc ol {
  margin: 0;
  padding: 0;
  list-style: none;
  border-left: 1px solid var(--line);
}
.bl-toc a {
  display: flex;
  gap: 8px;
  margin-left: -1px;
  padding: 5px 0 5px 14px;
  border-left: 1px solid transparent;
  line-height: 1.35;
  color: var(--muted);
  text-decoration: none;
  transition:
    color 0.2s,
    border-color 0.2s;
}
.bl-toc a:hover {
  color: #fff;
}
.bl-toc a[aria-current] {
  color: #fff;
  border-left-color: var(--accent);
  box-shadow: -1px 0 10px -2px var(--accent);
}
.bl-toc .n {
  flex: none;
  min-width: 1.7em;
  font: 500 11.5px/1.55 var(--mono);
  color: var(--faint);
}
.bl-toc a[aria-current] .n {
  color: var(--accent);
}
.bl-toc .l3 a {
  padding-left: 24px;
  font-size: 12.8px;
}
.bl-toc .l4 a {
  padding-left: 34px;
  font-size: 12.5px;
}
.bl-toc .t {
  min-width: 0;
}
@media (max-width: 1179px) {
  .bl-toc {
    position: static;
    max-height: none;
    margin-bottom: 30px;
    padding: 18px 20px 14px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: rgb(255 255 255/0.02);
  }
}
.tx {
  position: relative;
  font-size: 1.0625rem;
  line-height: 1.72;
  color: var(--soft);
  hyphens: auto;
  -webkit-hyphens: auto;
  font-variant-numeric: lining-nums;
}
.tx [id] {
  scroll-margin-top: 104px;
}
.tx .tx-p {
  margin: 0 0 1.05em;
  text-wrap: pretty;
}
.tx .tx-cont {
  margin-top: -0.25em;
}
.tx strong {
  font-weight: 600;
  color: #fff;
}
.tx em {
  font-family: var(--serif);
  font-style: italic;
  font-size: 1.14em;
  line-height: 1;
  letter-spacing: 0.005em;
  color: #fff;
}
.tx em em,
.tx .tx-up {
  font-style: normal;
}
.tx .tx-sc,
.tx .tx-upper {
  text-transform: uppercase;
  font-size: 0.82em;
  letter-spacing: 0.08em;
}
.tx .tx-lower {
  text-transform: lowercase;
}
.tx abbr.tx-ac {
  text-decoration: none;
  font-size: 0.93em;
  letter-spacing: 0.06em;
}
.tx .tx-nw {
  white-space: nowrap;
}
.tx .tx-s-xs {
  font-size: 0.78em;
}
.tx .tx-s-s {
  font-size: 0.9em;
}
.tx .tx-s-l {
  font-size: 1.15em;
}
.tx .tx-s-xl {
  font-size: 1.35em;
}
.tx .tx-s-xxl {
  font-size: 1.7em;
}
.tx code,
.tx .tx-tt {
  padding: 0.05em 0.35em;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: rgb(255 255 255/0.05);
  font: 500 0.86em var(--mono);
  color: #f0f0f6;
  hyphens: none;
}
.tx .tx-logo {
  font-family: var(--serif);
  font-size: 1.12em;
  letter-spacing: 0.01em;
}
.tx .tx-la {
  font-size: 0.72em;
  vertical-align: 0.28em;
  margin: 0 -0.28em 0 -0.32em;
}
.tx .tx-le {
  vertical-align: -0.22em;
  margin: 0 -0.12em 0 -0.16em;
}
.tx a.tx-a {
  color: #fff;
}
.tx a.tx-a:hover {
  color: var(--accent);
}
.tx .tx-url {
  font-size: 0.94em;
  word-break: normal;
}
.tx a.tx-ref,
.tx a.tx-cite {
  color: var(--accent);
  text-decoration: none;
  font-variant-numeric: lining-nums tabular-nums;
  white-space: nowrap;
}
.tx a.tx-ref:hover,
.tx a.tx-cite:hover {
  text-decoration: underline;
  text-decoration-color: color-mix(in oklab, var(--accent) 60%, transparent);
}
.tx .tx-cites {
  white-space: nowrap;
}
.tx .tx-bad {
  color: #ff6b6b;
}
.tx .tx-fbox,
.tx .tx-cbox {
  padding: 0.05em 0.3em;
  border: 1px solid var(--line-2);
  border-radius: 5px;
}
.tx .tx-rule {
  display: inline-block;
  width: 2em;
  height: 1px;
  background: currentColor;
  vertical-align: middle;
}
.tx .tx-hl,
.tx .tx-definition strong {
  padding: 0 0.14em;
  margin: 0 -0.04em;
  background: var(--hl) center/100% 100% no-repeat;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  color: #fff;
}
.tx .tx-ul {
  padding-bottom: 0.14em;
  background: var(--ul) left bottom/100% 0.45em no-repeat;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.tx s {
  text-decoration-color: var(--accent);
  text-decoration-thickness: 2px;
}
.tx .tx-h {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 0.42em;
  font-family: var(--serif);
  font-weight: 400;
  letter-spacing: -0.01em;
  color: #fff;
  text-wrap: balance;
  hyphens: manual;
}
.tx .tx-h1,
.tx .tx-h2 {
  margin: 2.1em 0 0.75em;
  font-size: clamp(2rem, 3.6vw, 2.7rem);
  line-height: 1.04;
}
.tx .tx-h3 {
  margin: 1.8em 0 0.55em;
  font-size: 1.62rem;
  line-height: 1.1;
}
.tx .tx-h4 {
  margin: 1.5em 0 0.45em;
  font-size: 1.3rem;
  line-height: 1.15;
}
.tx > .tx-h:first-child,
.tx .bl-abstract + .tx-h {
  margin-top: 0.3em;
}
.tx .tx-ht {
  flex: 1 1 0;
  min-width: 0;
}
.tx .tx-hn {
  flex: none;
  display: inline-grid;
  place-items: center;
  min-width: 1.55em;
  height: 1.55em;
  padding: 0 0.22em;
  font: italic 400 0.6em/1 var(--serif);
  color: #07070b;
  text-decoration: none;
  background: var(--mark) center/100% 100% no-repeat;
  translate: 0 -0.14em;
  transition: rotate 0.5s var(--spring);
}
.tx a.tx-hn:hover {
  rotate: -8deg;
}
.tx .tx-h3 .tx-hn,
.tx .tx-h4 .tx-hn {
  font-size: 0.66em;
}
.tx .tx-h2 .ink-swash {
  flex-basis: 100%;
  width: min(300px, 64%);
  height: auto;
  margin: 0.08em 0 0;
}
.tx .tx-runin {
  font-family: var(--serif);
  font-weight: 400;
  font-size: 1.22em;
  letter-spacing: 0.005em;
  margin-right: 0.3em;
}
.tx .tx-runin::after {
  content: "";
  display: inline-block;
  width: 0.35em;
  height: 0.35em;
  margin-left: 0.3em;
  border-radius: 50%;
  background: var(--accent);
  vertical-align: 0.18em;
}
.tx .tx-thm {
  margin: 1.7em 0;
}
.tx .tx-plain {
  padding: 22px 24px 6px;
  border: 1px solid color-mix(in oklab, var(--accent) 28%, var(--line));
  border-radius: 20px;
  background:
    radial-gradient(
      120% 90% at 0% 0%,
      color-mix(in oklab, var(--accent) 11%, transparent),
      transparent 60%
    ),
    linear-gradient(180deg, rgb(255 255 255/0.035), rgb(255 255 255/0.01));
  box-shadow:
    inset 0 1px 0 rgb(255 255 255/0.05),
    0 20px 50px -34px color-mix(in oklab, var(--accent) 60%, transparent);
  color: #e6e6ee;
}
.tx .tx-definition {
  padding: 2px 0 1px 22px;
  border-left: 2px solid;
  border-image: linear-gradient(
      180deg,
      var(--accent),
      var(--accent-2) 55%,
      transparent
    )
    1;
}
.tx .tx-remark {
  padding-left: 22px;
  color: var(--muted);
}
.tx .tx-th {
  margin-right: 0.18em;
  font-family: var(--serif);
  font-size: 1.28em;
  line-height: 1;
  color: #fff;
  white-space: nowrap;
}
.tx .tx-th::before {
  content: "";
  display: inline-block;
  width: 0.7em;
  height: 0.7em;
  margin-right: 0.36em;
  background: var(--mark) center/contain no-repeat;
  vertical-align: -0.02em;
}
.tx .tx-tht {
  font-style: italic;
  color: var(--accent);
}
.tx .tx-remark .tx-tht {
  color: #fff;
}
.tx .tx-thx {
  font-size: 0.82em;
  font-style: italic;
  color: var(--muted);
  white-space: normal;
}
.tx .tx-thd {
  color: var(--accent);
}
.tx .tx-lead {
  margin-bottom: 0.4em;
}
.tx .tx-thm > :last-child {
  margin-bottom: 0.9em;
}
.tx .tx-definition > :last-child,
.tx .tx-remark > :last-child,
.tx .tx-proof > :last-child {
  margin-bottom: 0;
}
.tx .tx-proof {
  margin: -0.3em 0 1.8em;
  padding-left: 22px;
  border-left: 1px dashed var(--line-2);
}
.tx .tx-prh {
  margin-right: 0.12em;
  font-family: var(--serif);
  font-style: italic;
  font-size: 1.2em;
  color: #fff;
}
.tx .tx-qed {
  float: right;
  width: 0.84em;
  height: 0.84em;
  margin: 0.46em 0 0 1em;
  background: var(--mark) center/contain no-repeat;
}
.tx .tx-qedline {
  margin: -0.4em 0 0;
}
.tx .tx-qedline::after {
  content: "";
  display: block;
  clear: both;
}
.tx .tx-eq {
  position: relative;
  display: block;
  margin: 1.15em 0;
  padding: 0.12em 0;
  overflow-x: auto;
  overflow-y: hidden;
  color: #fff;
  scrollbar-width: thin;
  scrollbar-color: var(--line-2) transparent;
}
.tx .tx-hasqed {
  padding-right: 1.8em;
}
.tx .tx-qed-eq {
  position: absolute;
  right: 0.1em;
  bottom: 0.5em;
  float: none;
  margin: 0;
}
.tx mjx-container[display="true"] {
  margin: 0 !important;
  padding: 0.3em 2px;
}
.tx mjx-container {
  color: #fff;
}
.tx mjx-container a {
  color: var(--accent);
}
.tx mjx-labels,
.tx .mjx-labels {
  color: var(--muted);
}
.tx .tx-nomath .tx-eq,
.tx.tx-nomath .tx-eq {
  font: 0.9em var(--mono);
  white-space: pre-wrap;
}
.tx .tx-list {
  margin: 0.35em 0 1.1em;
  padding: 0;
  list-style: none;
}
.tx .tx-list > li {
  display: grid;
  grid-template-columns: 1.8em minmax(0, 1fr);
  column-gap: 0.1em;
  margin: 0.4em 0;
}
.tx .tx-list > li::before {
  content: "";
  grid-column: 1;
  grid-row: 1;
  justify-self: start;
  width: 1.12em;
  height: 1.12em;
  margin: 0.32em 0 0 -0.08em;
  background: var(--mark) center/contain no-repeat;
  rotate: var(--tilt, 0deg);
  transition: rotate 0.6s var(--spring);
}
.tx .tx-list > li:hover::before {
  rotate: calc(var(--tilt, 0deg) + 24deg);
}
.tx .tx-list > li > * {
  grid-column: 2;
}
.tx .tx-list > li > .tx-p {
  margin: 0 0 0.45em;
}
.tx .tx-list > li > :last-child {
  margin-bottom: 0;
}
.tx ul.tx-d2 > li::before {
  width: 0.56em;
  height: 0.56em;
  margin: 0.62em 0 0 0.16em;
}
.tx ul.tx-d3 > li::before {
  width: 0.62em;
  height: 0.62em;
  margin: 0.58em 0 0 0.12em;
}
.tx ol.tx-list > li {
  grid-template-columns: 2.15em minmax(0, 1fr);
}
.tx ol.tx-list > li::before {
  content: attr(data-n);
  display: grid;
  place-items: center;
  width: 1.72em;
  height: 1.72em;
  margin: -0.02em 0 0 -0.1em;
  font: italic 400 1.04em/1 var(--serif);
  color: #07070b;
  background: var(--mark) center/100% 100% no-repeat;
}
.tx li.tx-own::before {
  content: attr(data-label);
  width: auto;
  height: auto;
  margin: 0;
  background: none;
  color: var(--accent);
}
.tx .tx-inline,
.tx .tx-inline > li {
  display: inline;
}
.tx .tx-dl {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 0.55em 1.2em;
  margin: 0.6em 0 1.2em;
}
.tx .tx-dl dt {
  align-self: start;
  padding-bottom: 0.18em;
  font: italic 400 1.18em/1.4 var(--serif);
  color: #fff;
  background: var(--ul) left bottom/100% 0.4em no-repeat;
}
.tx .tx-dl dd {
  margin: 0;
}
.tx .tx-dl dd > :last-child {
  margin-bottom: 0;
}
@media (max-width: 640px) {
  .tx .tx-dl {
    grid-template-columns: minmax(0, 1fr);
  }
  .tx .tx-dl dd {
    margin-bottom: 0.6em;
  }
}
.tx .tx-fnref {
  padding: 0 0.14em;
  font: 600 0.68em/0 var(--mono);
  vertical-align: super;
  color: var(--accent);
  text-decoration: none;
}
.tx .tx-sn {
  display: none;
  font-family: var(--sans);
  font-size: 0.86rem;
  line-height: 1.55;
  color: var(--muted);
  text-align: left;
  hyphens: manual;
}
.tx .tx-sn em {
  font-size: 1.1em;
}
.tx .tx-snn {
  margin-right: 0.35em;
  font: 600 0.82em var(--mono);
  color: var(--accent);
}
.tx .tx-fn.open .tx-sn,
.tx .tx-mn .tx-sn {
  display: block;
  margin: 0.55em 0 0.7em;
  padding: 10px 14px;
  border-left: 2px solid var(--accent);
  border-radius: 0 12px 12px 0;
  background: rgb(255 255 255/0.03);
}
.tx.bl-wide .tx-sn {
  position: absolute;
  display: block;
  width: var(--sn-w, 200px);
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  font-size: 0.8rem;
  transition: color 0.25s;
}
.tx.bl-wide .tx-sn.hot {
  color: #fff;
}
.tx.bl-wide .tx-mnote {
  padding-left: 12px;
  border-left: 2px solid var(--line-2);
}
.tx .tx-fig {
  margin: 1.9em 0;
  text-align: center;
}
.tx .tx-fig > .tx-p {
  margin: 0;
}
.tx .tx-img {
  display: inline-block;
  max-width: 100%;
  height: auto;
  border-radius: 12px;
}
.tx .tx-cap {
  max-width: 58ch;
  margin: 0.9em auto 0;
  font-size: 0.9rem;
  line-height: 1.55;
  color: var(--muted);
  text-align: left;
}
.tx .tx-tabfig .tx-cap {
  margin: 0 auto 0.8em;
}
.tx .tx-capn {
  margin-right: 0.3em;
  font: italic 400 1.18em var(--serif);
  color: var(--accent);
}
.tx .tx-capin {
  color: var(--muted);
}
.tx.bl-wide .tx-wide {
  margin-right: calc(-1 * (var(--sn-w, 200px) + var(--sn-gap, 36px)));
}
.tx .tx-tikz {
  display: flex;
  justify-content: center;
  min-height: 56px;
  margin: 1.5em 0;
  color: #ececf2;
  overflow-x: auto;
}
.tx .tx-fig .tx-tikz {
  margin: 0.4em 0;
}
.tx .tx-tikz svg {
  max-width: 100%;
  height: auto;
  overflow: visible;
}
.tx .tx-tikz svg text {
  text-rendering: geometricPrecision;
  font-feature-settings: normal;
}
.tx .tx-tikz:not(.on) svg {
  opacity: 0.35;
}
.tx .tx-tikz-fail::after {
  content: "The diagram could not be drawn.";
  font-size: 0.85rem;
  color: var(--faint);
}
.tx .tx-tabwrap {
  margin: 1.3em 0;
  overflow-x: auto;
}
.tx .tx-table {
  margin: 0 auto;
  border-collapse: collapse;
  font-variant-numeric: lining-nums tabular-nums;
}
.tx .tx-table td {
  padding: 0.45em 0.95em;
  border: 0;
}
.tx .tx-table.tx-wide {
  margin: 0;
  width: 100%;
  font-size: 0.82em;
}
.tx .tx-table.tx-wide td {
  padding: 0.4em 0.5em;
}
.tx .tx-left {
  text-align: left;
}
.tx .tx-right {
  text-align: right;
}
.tx .tx-flushleft {
  text-align: left;
}
.tx .tx-flushright {
  text-align: right;
}
.tx .tx-bl {
  border-left: 1px solid var(--line-2) !important;
}
.tx .tx-br {
  border-right: 1px solid var(--line-2) !important;
}
.tx .tx-r-thick-a td {
  border-top: 1.5px solid rgb(255 255 255/0.5);
}
.tx .tx-r-thin-a td {
  border-top: 1px solid var(--line-2);
}
.tx .tx-r-thick-b td {
  border-bottom: 1.5px solid rgb(255 255 255/0.5);
}
.tx .tx-r-thin-b td {
  border-bottom: 1px solid var(--line-2);
}
.tx .tx-pre {
  position: relative;
  margin: 1.3em 0;
  padding: 16px 18px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgb(0 0 0/0.4);
  overflow-x: auto;
  font: 400 0.86rem/1.62 var(--mono);
  color: #e8e8f0;
  text-align: left;
  hyphens: none;
}
.tx .tx-pre[data-lang]::before {
  content: attr(data-lang);
  position: absolute;
  top: 8px;
  right: 12px;
  font: 500 10.5px/1 var(--mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--faint);
}
.tx .tx-pre code {
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
}
.tx .tx-quote {
  margin: 1.5em 0;
  padding: 0 0 0 1.3em;
  border-left: 2px solid color-mix(in oklab, var(--accent) 55%, transparent);
  font: 400 1.3em/1.45 var(--serif);
  color: #e6e6ee;
}
.tx .tx-quote em {
  font-size: 1em;
}
.tx .tx-quote .tx-p {
  margin-bottom: 0.5em;
}
.tx .tx-epigraph {
  max-width: 30em;
  margin: 0 0 2.4em auto;
  text-align: right;
  font: italic 400 1.3rem/1.42 var(--serif);
  color: #e6e6ee;
}
.tx .tx-epigraph p {
  margin: 0;
}
.tx .tx-epigraph footer {
  margin-top: 0.5em;
  font: 500 11.5px/1.4 var(--mono);
  font-style: normal;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--faint);
}
.tx .tx-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0.4em 0 2em;
}
.tx .tx-link {
  --pb-u: 60px;
  height: auto;
  min-height: 60px;
  padding: 8px 20px 8px 10px;
  gap: 13px;
  text-decoration: none;
  border-color: color-mix(in oklab, var(--accent) 38%, var(--line-2));
  background:
    linear-gradient(135deg, rgb(255 255 255/0.06), rgb(255 255 255/0.015) 60%),
    color-mix(in oklab, var(--accent) 6%, transparent);
  box-shadow: inset 0 1px 0 rgb(255 255 255/0.07);
  transition:
    border-color 0.25s,
    background 0.25s,
    box-shadow 0.35s,
    transform 0.45s var(--spring),
    border-radius 0.8s var(--spring);
}
.tx .tx-link:hover {
  transform: translateY(-1px);
  background:
    linear-gradient(135deg, rgb(255 255 255/0.08), rgb(255 255 255/0.02) 60%),
    color-mix(in oklab, var(--accent) 14%, transparent);
}
.tx .tx-link .tl-em {
  flex: none;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  color: #fff;
  background: radial-gradient(
    circle at 32% 28%,
    color-mix(in oklab, var(--accent-2) 60%, transparent),
    color-mix(in oklab, var(--accent) 26%, transparent) 72%
  );
  border: 1px solid color-mix(in oklab, var(--accent) 65%, transparent);
  box-shadow:
    0 0 20px -5px var(--accent),
    inset 0 0 8px -3px color-mix(in oklab, var(--accent-2) 70%, transparent);
  transition:
    transform 0.55s var(--spring),
    box-shadow 0.35s;
}
.tx .tx-link .tl-em svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.tx .tx-link:hover .tl-em {
  transform: rotate(-9deg) scale(1.1);
  box-shadow:
    0 0 28px -4px var(--accent),
    inset 0 0 8px -3px color-mix(in oklab, var(--accent-2) 80%, transparent);
}
.tx .tx-link .tl-t {
  display: flex;
  flex-direction: column;
  gap: 3px;
  white-space: normal;
  text-align: left;
}
.tx .tx-link .tl-k {
  font: 600 10.5px/1.2 var(--mono);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--accent);
}
.tx .tx-link .tl-v {
  font: 400 13px/1.3 var(--sans);
  color: var(--soft);
}
.tx .tx-link .tl-v abbr,
.tx .tx-link .tl-k abbr {
  text-decoration: none;
  letter-spacing: inherit;
  font: inherit;
}
.tx .tx-link.tl-papers {
  --accent: var(--c-papers);
  --accent-2: #ffb3ec;
}
.tx .tx-link.tl-talks {
  --accent: var(--c-talks);
  --accent-2: #c8ffb8;
}
.tx .tx-link.tl-teaching {
  --accent: var(--c-teaching);
  --accent-2: #ffb6bf;
}
.tx .tx-link.tl-blog {
  --accent: var(--c-blog);
  --accent-2: #ffd08a;
}
@media (max-width: 600px) {
  .tx .tx-th,
  .tx .tx-cites {
    white-space: normal;
  }
  .tx .tx-links {
    flex-direction: column;
  }
  .tx .tx-link {
    width: 100%;
  }
}
.tx .tx-center {
  text-align: center;
}
.tx .tx-skip {
  height: 1em;
}
.tx .tx-hr {
  width: 40%;
  margin: 2em auto;
  border: 0;
  border-top: 1px solid var(--line-2);
}
.tx .tx-aside {
  margin: 1.5em 0;
  padding: 16px 20px;
  border-radius: 16px;
  background: rgb(255 255 255/0.03);
  border: 1px solid var(--line);
  font-size: 0.95em;
}
.tx .tx-questions {
  display: grid;
  gap: 12px;
  margin: 1.8em 0;
  padding: 16px 18px 18px;
  border-radius: 20px;
  border: 1px solid var(--line);
  background:
    radial-gradient(
      120% 80% at 0% 0%,
      color-mix(in oklab, var(--accent) 7%, transparent),
      transparent 60%
    ),
    rgb(255 255 255/0.015);
  font-size: 0.96em;
}
.tx .tx-questions::before {
  content: "Questions";
  font: 500 10.5px/1 var(--mono);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--accent);
}
.tx .tx-dhead {
  margin: 0;
  font: italic 400 1.1rem/1.3 var(--serif);
  color: #fff;
}
.tx .tx-say {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}
.tx .tx-say-b {
  grid-template-columns: minmax(0, 1fr) 34px;
}
.tx .tx-say-b .tx-who {
  order: 2;
  color: #fff;
  filter: none;
}
.tx .tx-who {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  margin-top: 2px;
  background: var(--mark, var(--accent)) center/100% 100% no-repeat;
  rotate: var(--tilt, 0deg);
  font: italic 400 1.15rem/1 var(--serif);
  color: #0b0b10;
  filter: drop-shadow(
    0 0 8px color-mix(in oklab, var(--accent) 45%, transparent)
  );
}
.tx .tx-said {
  padding: 10px 14px;
  border-radius: 4px 16px 16px 16px;
  border: 1px solid color-mix(in oklab, var(--accent) 24%, transparent);
  background: color-mix(in oklab, var(--accent) 7%, #0c0c11);
}
.tx .tx-say-b .tx-said {
  border-radius: 16px 4px 16px 16px;
  border-color: var(--line-2);
  background: rgb(255 255 255/0.025);
}
.tx .tx-said > :first-child {
  margin-top: 0;
}
.tx .tx-said > :last-child {
  margin-bottom: 0;
}
.tx .tx-vh {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
@media (max-width: 560px) {
  .tx .tx-questions {
    padding: 14px 12px 14px;
  }
  .tx .tx-say,
  .tx .tx-say-b {
    grid-template-columns: 26px minmax(0, 1fr);
    gap: 9px;
  }
  .tx .tx-say-b .tx-who {
    order: 0;
  }
  .tx .tx-who {
    width: 26px;
    height: 26px;
    font-size: 0.95rem;
  }
}
.tx .tx-fold {
  margin: 0.2em 0 1.5em;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgb(255 255 255/0.02);
}
.tx .tx-fold > summary {
  display: flex;
  align-items: center;
  gap: 0.6em;
  padding: 10px 18px;
  list-style: none;
  cursor: pointer;
  font: italic 400 1.18rem/1.3 var(--serif);
  color: #fff;
}
.tx .tx-fold > summary::-webkit-details-marker {
  display: none;
}
.tx .tx-fold > summary::before {
  content: "";
  width: 0.72em;
  height: 0.72em;
  background: var(--mark) center/contain no-repeat;
  transition: rotate 0.4s var(--spring);
}
.tx .tx-fold[open] > summary::before {
  rotate: 45deg;
}
.tx .tx-fold > :not(summary) {
  margin-inline: 18px;
}
.tx .tx-fold > :last-child {
  margin-bottom: 14px;
}
.tx .tx-bibsec .tx-h2 {
  margin-top: 2.4em;
}
.tx .tx-bib {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.95rem;
  line-height: 1.6;
}
.tx .tx-bib > li {
  display: grid;
  grid-template-columns: 2.2em minmax(0, 1fr);
  gap: 0.2em;
  margin: 0 0 0.8em;
}
.tx .tx-bibn {
  display: grid;
  place-items: center;
  width: 1.7em;
  height: 1.7em;
  font: italic 400 1em/1 var(--serif);
  color: #07070b;
  background: var(--mark) center/100% 100% no-repeat;
}
.tx .tx-bibt {
  color: #fff;
}
.tx .tx-bib em {
  font-size: 1.1em;
}
.tx :is(.tx-thm, .tx-eq, li, .tx-fig, h2, h3, h4):target {
  animation: bl-flash 1.8s var(--ease);
}
@keyframes bl-flash {
  20% {
    background-color: color-mix(in oklab, var(--accent) 16%, transparent);
  }
}
.tx .bl-abstract,
.bl-abstract {
  margin: 0 0 2.4em;
  padding: 0 0 1.7em;
  border-bottom: 1px solid var(--line);
  font: 400 1.34rem/1.46 var(--serif);
  color: #e6e6ee;
  hyphens: manual;
}
.bl-abstract .tx-p {
  margin: 0 0 0.6em;
}
.bl-abstract em {
  font-size: 1em;
}
.bl-kick {
  display: block;
  margin-bottom: 10px;
  font: 500 11px/1 var(--mono);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--accent);
}
.bl-article > .tx-p:first-of-type::first-letter {
  float: left;
  margin: 0.06em 0.08em 0 0;
  font: 400 2.75em/0.82 var(--serif);
  color: var(--accent);
}
@supports (initial-letter: 2) or (-webkit-initial-letter: 2) {
  .bl-article > .tx-p:first-of-type::first-letter {
    float: none;
    -webkit-initial-letter: 2;
    initial-letter: 2;
    margin: 0 0.12em 0 0;
    font-size: 1em;
    line-height: 1;
  }
}
.bl-end {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 18px;
  margin-top: 3.4em;
  padding-top: 1.6em;
  border-top: 1px solid var(--line);
  font-size: 0.9rem;
  color: var(--faint);
}
.bl-end p {
  margin: 0;
}
.bl-end .links {
  margin-left: auto;
}
.bl-fin {
  width: 22px;
  height: 22px;
  background: var(--mark) center/contain no-repeat;
}
.bl-back {
  rotate: 180deg;
}
.bl-more {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(8px, 1.8vw, 20px);
  max-width: 1040px;
  margin-top: clamp(48px, 7vw, 88px);
}
.bl-next {
  container-type: inline-size;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 0;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
}
.bl-next .bl-art {
  aspect-ratio: 5/4;
}
.bl-next .bl-nl {
  padding: clamp(10px, 7cqi, 18px) clamp(9px, 7cqi, 22px) 0;
  font: 500 clamp(8.5px, 3.4cqi, 11px) / 1 var(--mono);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--accent);
}
.bl-next .bl-title {
  padding: clamp(5px, 2.6cqi, 8px) clamp(9px, 7cqi, 22px) 0;
  font-size: clamp(0.98rem, 8.6cqi, 1.75rem);
  line-height: 1.08;
  overflow-wrap: anywhere;
  hyphens: auto;
}
.bl-next time {
  margin-top: auto;
  padding: clamp(6px, 3cqi, 10px) clamp(9px, 7cqi, 22px) clamp(10px, 7cqi, 20px);
  font: 500 clamp(8.5px, 3.4cqi, 11.5px) / 1.3 var(--mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--faint);
}
.bl-next.is-here {
  border-color: color-mix(in oklab, var(--accent) 45%, var(--line));
  box-shadow:
    0 0 0 1px color-mix(in oklab, var(--accent) 18%, transparent),
    0 18px 50px -30px var(--accent);
}
.bl-next.is-here .bl-art > .art {
  filter: saturate(0.6) brightness(0.8);
}
.bl-next.is-here .bl-nl::before {
  content: "";
  display: inline-block;
  width: 0.62em;
  height: 0.62em;
  margin-right: 0.55em;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 10px var(--accent);
  vertical-align: 0.05em;
}
@property --pk-a {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}
.bl-pack {
  --pk-bg: #0b0b11;
  --pk-ring: conic-gradient(
    from var(--pk-a),
    #ffa53a,
    #ffe14a,
    #9dff5a,
    #37e8c8,
    #35e0ff,
    #ff9a3c 70%,
    #ffa53a
  );
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: clamp(118px, 26%, 168px) minmax(0, 1fr);
  grid-template-areas: "art main" "bar bar";
  gap: 6px clamp(14px, 3vw, 26px);
  margin: 3.2em 0 0;
  padding: clamp(19px, 3.4vw, 29px) clamp(17px, 3.4vw, 31px)
    clamp(17px, 3vw, 25px);
  border-radius: 26px;
  background: var(--pk-ring);
  animation: pk-spin 9s linear infinite;
}
.bl-pack::before,
.bl-pack::after {
  content: "";
  position: absolute;
  z-index: -1;
  border-radius: inherit;
}
.bl-pack::before {
  inset: 2px;
  background: var(--pk-ring);
  filter: blur(20px);
  opacity: 0.3;
  transition: opacity 0.6s var(--ease);
  animation: pk-spin 9s linear infinite;
}
@keyframes pk-spin {
  to {
    --pk-a: 360deg;
  }
}
.bl-pack::after {
  inset: 1px;
  border-radius: 25px;
  background:
    radial-gradient(
      110% 85% at 0% 0%,
      color-mix(in oklab, var(--accent) 12%, transparent),
      transparent 55%
    ),
    radial-gradient(
      80% 70% at 100% 100%,
      color-mix(in oklab, #35e0ff 7%, transparent),
      transparent 60%
    ),
    radial-gradient(
        circle at 1px 1px,
        rgb(255 255 255/0.07) 1px,
        transparent 1.3px
      )
      0 0 / 16px 16px,
    var(--pk-bg);
}
.bl-pack:hover::before,
.bl-pack:focus-within::before {
  opacity: 0.55;
}
.pk-art {
  grid-area: art;
  align-self: center;
  position: relative;
}
.pk-icon {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}
.pk-floor ellipse {
  fill: none;
  stroke: color-mix(in oklab, var(--accent) 55%, transparent);
  stroke-width: 1;
}
.pk-floor ellipse:first-child {
  fill: color-mix(in oklab, var(--accent) 7%, transparent);
  stroke-opacity: 0.5;
}
.pk-orbit {
  stroke-dasharray: 2 6;
  animation: pk-orbit 14s linear infinite;
}
@keyframes pk-orbit {
  to {
    stroke-dashoffset: -160;
  }
}
.pk-mark {
  font: italic 400 30px/1 var(--serif);
  fill: #ffc857;
  stroke: none;
}
.pk-tape {
  fill: none;
  stroke-width: 7;
  stroke-opacity: 0.28;
  stroke-linecap: butt;
}
.pk-glow {
  opacity: 0.55;
  transform-box: fill-box;
  transform-origin: center;
  animation: pk-breathe 3.6s ease-in-out infinite;
}
@keyframes pk-breathe {
  50% {
    opacity: 0.95;
    transform: scale(1.12);
  }
}
.pk-lid {
  transform-box: view-box;
  transform-origin: 30px 57px;
  animation: pk-float 4.8s var(--ease) infinite;
  transition: transform 0.7s var(--spring);
}
@keyframes pk-float {
  0%,
  100% {
    translate: 0 -5px;
  }
  50% {
    translate: 0 -10px;
  }
}
.bl-pack:hover .pk-lid,
.bl-pack:focus-within .pk-lid {
  transform: translate(-6px, -14px) rotate(-11deg);
}
.pk-spark {
  fill: #fff;
  stroke: #ffe14a;
  stroke-width: 1.1;
  stroke-linecap: round;
}
.pk-spark > * {
  opacity: 0;
  transform-box: fill-box;
  transform-origin: center;
  animation: pk-rise 3.2s ease-out infinite;
}
@keyframes pk-rise {
  0% {
    opacity: 0;
    translate: 0 12px;
    scale: 0.6;
  }
  25% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    translate: 0 -30px;
    scale: 1.15;
  }
}
.pk-spark > :nth-child(2) {
  animation-delay: -0.6s;
}
.pk-spark > :nth-child(3) {
  animation-delay: -1.3s;
}
.pk-spark > :nth-child(4) {
  animation-delay: -1.9s;
}
.pk-spark > :nth-child(5) {
  animation-delay: -2.4s;
}
.pk-spark > :nth-child(6) {
  animation-delay: -2.9s;
}
.pk-main {
  grid-area: main;
  min-width: 0;
}
.pk-kick {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  font: 500 11px/1 var(--mono);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--accent);
}
.pk-kind {
  padding: 4px 7px 3px;
  border: 1px solid color-mix(in oklab, var(--accent) 45%, transparent);
  border-radius: 999px;
  color: #ffc857;
  letter-spacing: 0.14em;
}
.bl-pack .pk-title {
  margin: 10px 0 6px;
  font: 400 clamp(1.7rem, 4.4vw, 2.3rem) / 1.02 var(--serif);
  letter-spacing: -0.005em;
  color: #fff;
}
.bl-pack .pk-title em {
  font-style: italic;
  background: linear-gradient(90deg, #ffa53a, #ffe14a 55%, #9dff5a);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  padding-right: 0.06em;
}
.pk-desc {
  margin: 0 0 14px;
  font-size: 0.92rem;
  line-height: 1.55;
  color: var(--muted);
}
.pk-desc:empty,
.pk-files:empty {
  display: none;
}
.pk-desc em {
  color: var(--soft);
}
.pk-files {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.pk-f {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 4px 9px 4px 4px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgb(255 255 255/0.025);
  font: 400 12px/1 var(--mono);
  color: var(--soft);
  opacity: 0;
  translate: 0 6px;
  transition:
    opacity 0.5s var(--ease),
    translate 0.5s var(--ease),
    border-color 0.2s;
}
.bl-pack.on .pk-f {
  opacity: 1;
  translate: none;
}
.bl-pack.on .pk-f:nth-child(2) {
  transition-delay: 0.04s;
}
.bl-pack.on .pk-f:nth-child(3) {
  transition-delay: 0.08s;
}
.bl-pack.on .pk-f:nth-child(4) {
  transition-delay: 0.12s;
}
.bl-pack.on .pk-f:nth-child(5) {
  transition-delay: 0.16s;
}
.bl-pack.on .pk-f:nth-child(6) {
  transition-delay: 0.2s;
}
.bl-pack.on .pk-f:nth-child(n + 7) {
  transition-delay: 0.24s;
}
.pk-f:hover {
  border-color: var(--line-2);
}
.pk-ext {
  min-width: 26px;
  padding: 3px 5px 2px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--accent) 22%, transparent);
  font-size: 9px;
  letter-spacing: 0.08em;
  text-align: center;
  text-transform: uppercase;
  color: #ffc857;
}
.pk-md .pk-ext {
  background: color-mix(in oklab, #9dff5a 20%, transparent);
  color: #9dff5a;
}
.pk-txt .pk-ext {
  background: color-mix(in oklab, #35e0ff 18%, transparent);
  color: #35e0ff;
}
.pk-b {
  color: var(--faint);
  font-size: 10.5px;
}
.pk-bar {
  grid-area: bar;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 18px;
  margin-top: 14px;
  padding-top: 16px;
  border-top: 1px dashed rgb(255 255 255/0.1);
}
.pk-meta {
  font: 500 11px/1.4 var(--mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--faint);
}
.pk-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 46px;
  margin-left: auto;
  padding: 0 20px 0 8px;
  overflow: hidden;
  border-radius: 999px;
  background: linear-gradient(100deg, #ff9a3c, #ffc857 55%, #ffe14a);
  color: #1a0f02;
  font: 600 14.5px/1 var(--sans);
  text-decoration: none;
  box-shadow:
    0 10px 30px -12px #ff9a3c,
    inset 0 1px 0 rgb(255 255 255/0.45);
  transition:
    box-shadow 0.3s,
    translate 0.4s var(--spring);
}
.pk-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
      110deg,
      transparent 30%,
      rgb(255 255 255/0.55) 50%,
      transparent 70%
    )
    200% 0 / 250% 100% no-repeat;
  transition: background-position 0.9s var(--ease);
}
.pk-btn:hover {
  translate: 0 -2px;
  box-shadow:
    0 16px 36px -12px #ff9a3c,
    0 0 0 4px color-mix(in oklab, #ffc857 25%, transparent),
    inset 0 1px 0 rgb(255 255 255/0.45);
}
.pk-btn:hover::after {
  background-position: -60% 0;
}
.pk-btn:focus-visible {
  outline: 2px solid #ffe14a;
  outline-offset: 3px;
}
.pk-arrow {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #1a0f02;
}
.pk-arrow svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: #ffe14a;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.pk-btn:hover .pk-arrow path {
  animation: pk-drop 0.9s var(--ease) infinite;
}
@keyframes pk-drop {
  40% {
    translate: 0 2.5px;
  }
}
.pk-size {
  padding-left: 10px;
  border-left: 1px solid rgb(26 15 2/0.25);
  font: 500 12px/1 var(--mono);
  opacity: 0.8;
}
.pk-size:empty,
.bl-pack.pk-lite .pk-files,
.bl-pack.pk-lite .pk-meta {
  display: none;
}
@media (max-width: 560px) {
  .bl-pack {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "art" "main" "bar";
    text-align: left;
  }
  .pk-art {
    width: 124px;
    margin: -4px auto 4px;
  }
  .pk-btn {
    width: 100%;
    justify-content: center;
  }
}
@media (prefers-reduced-motion: reduce) {
  .pk-spark > * {
    opacity: 0.8;
  }
}
.bl-peek {
  position: fixed;
  z-index: 90;
  max-height: min(62vh, 480px);
  padding: 16px 20px 4px;
  overflow: auto;
  border: 1px solid color-mix(in oklab, var(--accent) 35%, var(--line));
  border-radius: 18px;
  background: rgb(12 12 18/0.95);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  box-shadow:
    0 24px 60px -18px rgb(0 0 0/0.85),
    0 0 40px -18px var(--accent);
  font-size: 0.95rem;
  opacity: 0;
  translate: 0 6px;
  pointer-events: none;
  transition:
    opacity 0.18s,
    translate 0.18s;
}
.bl-peek.up {
  translate: 0 -6px;
}
.bl-peek.on {
  opacity: 1;
  translate: 0 0;
  pointer-events: auto;
}
.bl-peek > :first-child,
.bl-peek > * > :first-child {
  margin-top: 0;
}
.bl-peek .tx-thm,
.bl-peek .tx-fig {
  margin: 0 0 12px;
}
.bl-peek .tx-h {
  font-size: 1.5rem;
}
.bl-peek li {
  list-style: none;
}
.bl-index {
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(300px, 28vw, 368px);
  align-items: start;
  gap: clamp(28px, 3.4vw, 48px);
}
.bl-feed {
  min-width: 0;
}
.bl-feed > .bl-year {
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
}
.bl-feed > .bl-year:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
.bl-feed > .bl-year > h3 {
  position: static;
  font-size: 2rem;
}
.hole {
  position: sticky;
  top: 96px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  margin-top: calc(2rem + 14px);
  padding: 18px 18px 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background:
    radial-gradient(120% 60% at 50% 0%, color-mix(in oklab, var(--accent) 8%, transparent), transparent 70%),
    linear-gradient(180deg, rgb(255 255 255 / 0.04), rgb(255 255 255 / 0.01));
}
.hole-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.hole-title {
  font: 400 1.7rem/1 var(--serif);
  color: #fff;
}
.hole-title em {
  font-style: italic;
  background: var(--grad);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  padding-right: 0.06em;
}
.hole-watch {
  flex: none;
  width: 34px;
  height: 40px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--accent-2);
  cursor: pointer;
  transition:
    opacity 0.3s,
    filter 0.25s;
}
.hole-watch svg {
  width: 100%;
  height: 100%;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.hole-watch .w-face {
  fill: color-mix(in oklab, var(--accent-2) 7%, transparent);
  stroke-width: 0.8;
}
.hole-watch .w-ticks {
  stroke-width: 0.9;
}
.hole-watch .w-chain {
  stroke-dasharray: 1.4 1.8;
}
.hole-watch .w-hand {
  stroke: #fff3dc;
  transform-origin: 20px 27px;
}
.hole-watch .w-minute {
  rotate: var(--minute, 0deg);
}
.hole-watch .w-hour {
  rotate: var(--hour, 0deg);
  stroke-width: 1.8;
}
.hole-watch .w-pin {
  fill: currentColor;
}
.hole-watch:hover,
.hole-watch:focus-visible {
  outline: 0;
  filter: drop-shadow(0 0 7px var(--accent-2));
}
.hole-watch[aria-disabled="true"] {
  opacity: 0.4;
  cursor: default;
  filter: none;
}
.hole-drink {
  display: flex;
  align-items: center;
  gap: 9px;
  height: 44px;
  padding: 0 14px 0 10px;
  border: 1px solid color-mix(in oklab, var(--accent) 34%, transparent);
  border-radius: 14px 11px 13px 10px / 12px 14px 11px 13px;
  background: rgb(14 10 8 / 0.82);
  cursor: text;
  transition:
    border-color 0.2s,
    box-shadow 0.25s;
}
.hole-drink:focus-within {
  border-color: var(--accent);
  box-shadow:
    0 0 0 3px color-mix(in oklab, var(--accent) 16%, transparent),
    0 0 30px -8px var(--accent);
}
.hole-vial {
  flex: none;
  width: 22px;
  height: 22px;
  fill: none;
  stroke: var(--accent-2);
  stroke-width: 1.4;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 0 5px color-mix(in oklab, var(--accent-2) 60%, transparent));
}
.hole-vial .hole-string {
  stroke-dasharray: 1.2 1.6;
}
.hole-label {
  position: relative;
  flex: none;
  padding: 4px 8px 4px 14px;
  font: 600 9.5px/1 var(--mono);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  white-space: nowrap;
  color: #3a1d06;
  background: linear-gradient(160deg, #fff1d6, #f6c98b);
  clip-path: polygon(8px 0, 100% 0, 100% 100%, 8px 100%, 0 50%);
  rotate: -5deg;
  box-shadow: inset 0 -2px 0 rgb(120 60 10 / 0.18);
}
.hole-label::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 5px;
  width: 4px;
  height: 4px;
  margin-top: -2px;
  border-radius: 50%;
  background: #120c08;
}
.hole-drink input {
  flex: 1;
  min-width: 0;
  height: 100%;
  border: 0;
  outline: 0;
  background: none;
  color: var(--text);
  font: italic 400 1.1rem/1 var(--serif);
  appearance: none;
}
.hole-drink input::placeholder {
  color: var(--faint);
}
.hole-drink input::-webkit-search-cancel-button {
  display: none;
}
.hole-stage {
  position: relative;
  aspect-ratio: 1 / 1.02;
  min-height: 240px;
  max-height: calc(100svh - 360px);
  overflow: hidden;
  border-radius: 16px;
  background: radial-gradient(closest-side, #140d07, #08080c);
  touch-action: pan-y;
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
  -webkit-tap-highlight-color: transparent;
}
.hole-stage::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3000;
  border-radius: inherit;
  box-shadow:
    inset 0 0 0 1px var(--line),
    inset 0 0 34px 12px rgb(5 5 8 / 0.85);
  pointer-events: none;
}
.hole-stage.is-falling {
  cursor: grabbing;
}
.hole-stage canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.hole-tags {
  position: absolute;
  inset: 0;
}
.hole-tag {
  --ink: color-mix(in oklab, var(--tint) 20%, transparent);
  --edge: color-mix(in oklab, var(--tint) 50%, transparent);
  position: absolute;
  top: 0;
  left: 0;
  display: inline-flex;
  align-items: baseline;
  gap: 0.24em;
  padding: 0.2em 0.62em 0.26em 0.56em;
  border: 1px solid var(--edge);
  border-radius: var(--corners);
  background-color: rgb(20 13 9 / 0.9);
  background-image: var(--motif);
  background-size: var(--cell) var(--cell);
  color: #fff3e6;
  font: italic 400 16px/1.12 var(--serif);
  white-space: nowrap;
  visibility: hidden;
  cursor: pointer;
  box-shadow:
    inset 0 1px 0 rgb(255 255 255 / 0.07),
    0 0 0 1px rgb(0 0 0 / 0.5),
    0 10px 22px -12px #000;
  transition:
    color 0.2s,
    background-color 0.2s,
    border-color 0.2s,
    box-shadow 0.25s;
}
.hole-tag.is-shown {
  visibility: visible;
}
.hole-tag sup {
  font: 500 0.5em/1 var(--mono);
  color: var(--tint);
  vertical-align: 0.8em;
}
.hole-tag[data-motif="checks"] {
  --cell: 10px;
  --motif: repeating-conic-gradient(var(--ink) 0 25%, transparent 0 50%);
}
.hole-tag[data-motif="dots"] {
  --cell: 9px;
  --motif: radial-gradient(circle, var(--ink) 0 1.4px, transparent 1.9px);
}
.hole-tag[data-motif="stripes"] {
  --cell: 10px;
  --motif: linear-gradient(45deg, var(--ink) 25%, transparent 25% 50%, var(--ink) 50% 75%, transparent 75%);
}
.hole-tag[data-motif="lattice"] {
  --cell: 12px;
  --motif:
    linear-gradient(45deg, transparent 44%, var(--ink) 44% 56%, transparent 56%),
    linear-gradient(-45deg, transparent 44%, var(--ink) 44% 56%, transparent 56%);
}
.hole-tag[data-motif="suits"] {
  --cell: 24px;
  --motif: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff' fill-opacity='.15'%3E%3Cpath d='M6 8.4C4.2 7.2 3.6 6 3.8 5 4 4 5.4 3.8 6 4.9 6.6 3.8 8 4 8.2 5 8.4 6 7.8 7.2 6 8.4ZM18 3.6 20 6 18 8.4 16 6ZM18 15.4C16.2 16.6 15.6 17.8 15.8 18.8 16 19.8 17.4 20 18 18.9 18.6 20 20 19.8 20.2 18.8 20.4 17.8 19.8 16.6 18 15.4ZM18 19 17.2 20.8H18.8ZM6 18.6 5.3 20.6H6.7Z'/%3E%3Ccircle cx='6' cy='16.8' r='1.1'/%3E%3Ccircle cx='4.9' cy='18.6' r='1.1'/%3E%3Ccircle cx='7.1' cy='18.6' r='1.1'/%3E%3C/svg%3E");
}
.hole-tag[data-motif="scallops"] {
  --cell: 12px;
  --motif: radial-gradient(circle at 50% 100%, transparent 0 4.5px, var(--ink) 5px 6.2px, transparent 6.7px);
}
.hole-tag[data-motif="pinstripes"] {
  --cell: 6px;
  --motif: linear-gradient(90deg, var(--ink) 0 1px, transparent 1px);
}
.hole-tag:hover,
.hole-tag:focus-visible {
  --ink: color-mix(in oklab, var(--tint) 30%, transparent);
  outline: 0;
  color: #fff;
  border-color: var(--tint);
  box-shadow:
    inset 0 1px 0 rgb(255 255 255 / 0.08),
    0 0 0 1px rgb(0 0 0 / 0.5),
    0 0 24px -4px var(--tint);
}
.hole-tag:focus-visible {
  box-shadow:
    0 0 0 2px #07070b,
    0 0 0 4px var(--tint),
    0 0 28px -2px var(--tint);
}
.hole-tag[aria-pressed="true"] {
  --ink: rgb(40 16 0 / 0.16);
  color: #1d0e03;
  border-color: transparent;
  background-color: var(--tint);
  box-shadow:
    inset 0 1px 0 rgb(255 255 255 / 0.4),
    0 0 0 1px rgb(0 0 0 / 0.5),
    0 0 34px -4px var(--tint);
}
.hole-tag[aria-pressed="true"] sup {
  color: #4a2507;
}
.hole-tag[aria-pressed="true"]:focus-visible {
  box-shadow:
    0 0 0 2px #07070b,
    0 0 0 4px var(--tint),
    0 0 34px -4px var(--tint);
}
.hole-tag:hover,
.hole-tag:focus-visible,
.hole-tag[aria-pressed="true"] {
  z-index: 2600 !important;
  opacity: 1 !important;
}
@media (prefers-reduced-motion: no-preference) {
  .hole-tag.is-shown {
    animation: hole-flow var(--flow-time) linear infinite;
  }
  .hole-label {
    animation: hole-sway 5s ease-in-out infinite alternate;
  }
}
@keyframes hole-flow {
  to {
    background-position: calc(var(--cell) * var(--flow-x)) calc(var(--cell) * var(--flow-y));
  }
}
@keyframes hole-sway {
  to {
    rotate: 3deg;
  }
}
.hole-none {
  position: absolute;
  top: calc(50% + 28px);
  left: 50%;
  margin: 0;
  translate: -50% 0;
  font: italic 400 1.15rem/1.2 var(--serif);
  color: var(--muted);
  white-space: nowrap;
  pointer-events: none;
}
.hole-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 12px;
  min-height: 34px;
}
.hole-state {
  margin: 0;
  font: 500 11.5px/1.4 var(--mono);
  letter-spacing: 0.08em;
  color: var(--faint);
}
.hole-state em {
  font: italic 400 1.05rem/1 var(--serif);
  letter-spacing: 0;
  color: var(--accent-2);
}
.hole-eat {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  height: 32px;
  padding: 0 11px 0 8px;
  border: 1px dashed color-mix(in oklab, var(--accent-2) 55%, transparent);
  border-radius: 12px 9px 11px 8px / 9px 12px 8px 11px;
  background: rgb(14 10 8 / 0.82);
  color: var(--accent-2);
  font: 600 9.5px/1 var(--mono);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  cursor: pointer;
  transition:
    color 0.2s,
    border-color 0.2s,
    box-shadow 0.25s;
}
.hole-eat[hidden] {
  display: none;
}
.hole-eat svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.hole-eat:hover,
.hole-eat:focus-visible {
  outline: 0;
  color: #fff3dc;
  border-style: solid;
  border-color: var(--accent-2);
  box-shadow: 0 0 22px -6px var(--accent-2);
}
.hole-hint {
  margin: -6px 0 0;
  font: 500 10px/1.4 var(--mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--faint);
}
.hole-coarse {
  display: none;
}
@media (hover: none) and (pointer: coarse) {
  .hole-fine {
    display: none;
  }
  .hole-coarse {
    display: inline;
  }
}
@media (max-width: 980px) {
  .bl-index {
    grid-template-columns: minmax(0, 1fr);
  }
  .hole {
    position: relative;
    top: auto;
    order: -1;
    margin-top: 0;
  }
  .hole-stage {
    max-height: none;
  }
}
@media (min-width: 641px) and (max-width: 980px) {
  .hole {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
    grid-template-rows: auto auto auto auto 1fr;
    grid-template-areas:
      "head stage"
      "drink stage"
      "foot stage"
      "hint stage"
      ". stage";
    column-gap: 24px;
  }
  .hole-head {
    grid-area: head;
  }
  .hole-drink {
    grid-area: drink;
  }
  .hole-foot {
    grid-area: foot;
  }
  .hole-hint {
    grid-area: hint;
    margin: 0;
  }
  .hole-stage {
    grid-area: stage;
  }
}
@media print {
  body::after,
  .nav,
  .sheet,
  .palette,
  .hero canvas,
  .hero-mark,
  .flora,
  .footer,
  .bl-side,
  .bl-actions,
  .bl-more,
  .bl-pack::before,
  .pk-art,
  .pk-files,
  .bl-end .links,
  .bl-peek,
  .toast,
  .ink-swash {
    display: none !important;
  }
  html,
  body,
  .hero {
    background: #fff !important;
    color: #000 !important;
  }
  .hero {
    min-height: 0;
    padding: 0 0 12pt;
  }
  .hero h1,
  .bl-lede,
  .tx,
  .tx strong,
  .tx em,
  .tx .tx-h,
  .tx mjx-container,
  .tx .tx-eq,
  .bl-abstract {
    color: #000 !important;
    text-shadow: none;
  }
  .hero h1 em,
  .bl-title em {
    color: #000 !important;
    background: none;
  }
  .bl-grid {
    display: block;
  }
  .tx .tx-plain {
    background: none;
    box-shadow: none;
    border-color: #999;
  }
  .tx .tx-sn {
    display: inline;
    position: static !important;
    color: #333;
  }
  .tx .tx-sn::before {
    content: " (";
  }
  .tx .tx-sn::after {
    content: ")";
  }
}
