/* Known Good — www.misc2.com/technotes/ */

:root {
  --bg: #f6f5f0;
  --surface: #fffefb;
  --ink: #1a1c1e;
  --ink-2: #3b4046;
  --muted: #6b7178;
  --rule: #e2e0d8;
  --accent: #1d7a4c;
  --fail: #c2412d;
  --link: #14613b;
  --link-hover: #0b4228;
  --code-bg: #efede6;
  --code-ink: #23272b;
  --mark: #e6f2ea;
  --badge: #fdf0d5;
  --badge-ink: #7a5310;
  --sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Inter, Roboto, "Helvetica Neue", Arial, sans-serif;
  --mono: ui-monospace, "JetBrains Mono", "SFMono-Regular", "Cascadia Code", Menlo, Consolas, monospace;
  --measure: 46rem;
  color-scheme: light dark;
}

@media (prefers-color-scheme: dark) {
  :root {
    --bg: #111412;
    --surface: #171b19;
    --ink: #e6e9e6;
    --ink-2: #c4cac6;
    --muted: #8f9893;
    --rule: #28302c;
    --accent: #4cc38a;
    --fail: #ef7a63;
    --link: #6fd3a1;
    --link-hover: #a6e8c6;
    --code-bg: #1b201d;
    --code-ink: #dfe4e0;
    --mark: #183326;
    --badge: #3a2d12;
    --badge-ink: #f2cf8c;
  }
}

*, *::before, *::after { box-sizing: border-box; }

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

body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font: 17px/1.65 var(--sans);
  text-rendering: optimizeLegibility;
}

a { color: var(--link); text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
a:hover { color: var(--link-hover); }

.skip { position: absolute; left: -999px; }
.skip:focus { left: 1rem; top: 1rem; background: var(--surface); padding: .5rem 1rem; z-index: 9; }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.muted { color: var(--muted); }

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

header.site, main, footer.site {
  max-width: var(--measure);
  margin: 0 auto;
  padding: 0 16px;
}

header.site {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  padding-top: 1.5rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--rule);
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  color: var(--ink);
  text-decoration: none;
}
.brand:hover { color: var(--ink); }
.brand .mark { width: 30px; height: 30px; color: var(--ink); flex: none; }
.brand .word { font: 600 1.15rem/1 var(--mono); letter-spacing: -0.02em; }
.brand .dot { color: var(--accent); padding: 0 .05em; }

/* Logo motion: the box is traced, a red "broken" cross flickers and is struck
   out, the check draws in, then a status LED blinks like a healthy server.
   Hovering the brand replays the fix. Reduced-motion users get the end state. */
.mark .mark-box { stroke-dasharray: 1; stroke-dashoffset: 0; }
.mark .mark-x { stroke-dasharray: 1; stroke-dashoffset: 1; opacity: 0; }
.mark .mark-check { stroke-dasharray: 1; stroke-dashoffset: 0; }
.mark .mark-led { opacity: 0; transform-origin: 27px 5px; }

@media (prefers-reduced-motion: no-preference) {
  .mark .mark-box { animation: kg-trace .55s cubic-bezier(.6,0,.3,1) both; }
  .mark .mark-x { animation: kg-broken 1.05s ease-out .45s both; }
  .mark .mark-check { animation: kg-check .45s cubic-bezier(.3,1.4,.5,1) 1.35s both; }
  .mark .mark-led { animation: kg-led-on .3s ease-out 1.8s forwards, kg-heartbeat 6s ease-in-out 2.4s infinite; }
  .brand .dot { display: inline-block; animation: kg-blink 1.1s steps(1) 1.8s 2; }
  .brand:hover .mark .mark-x { animation: kg-broken .8s ease-out both; }
  .brand:hover .mark .mark-check { animation: kg-check .4s cubic-bezier(.3,1.4,.5,1) .65s both; }
}
@media (prefers-reduced-motion: reduce) { .mark .mark-led { opacity: 1; } }

@keyframes kg-trace { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes kg-broken {
  0%   { opacity: 0; stroke-dashoffset: 1; }
  25%  { opacity: 1; stroke-dashoffset: 0; }
  35%  { opacity: .2; } 42% { opacity: 1; } 50% { opacity: .3; } 58% { opacity: 1; }
  80%  { opacity: 1; stroke-dashoffset: 0; }
  100% { opacity: 0; stroke-dashoffset: -1; }
}
@keyframes kg-check {
  0%   { stroke-dashoffset: 1; }
  100% { stroke-dashoffset: 0; }
}
@keyframes kg-led-on { from { opacity: 0; transform: scale(.2); } to { opacity: 1; transform: scale(1); } }
@keyframes kg-heartbeat {
  0%, 86%, 100% { opacity: 1; transform: scale(1); }
  90% { opacity: .35; transform: scale(.75); }
  94% { opacity: 1; transform: scale(1.15); }
}
@keyframes kg-blink { 0% { opacity: 0; } 50% { opacity: 1; } }

header.site nav { display: flex; gap: 1.1rem; font-size: .95rem; }
header.site nav a { color: var(--muted); text-decoration: none; }
header.site nav a:hover, header.site nav a[aria-current] { color: var(--ink); }
header.site nav a[aria-current] { box-shadow: inset 0 -2px 0 var(--accent); }

footer.site {
  margin-top: 4rem;
  padding-top: 1.5rem;
  padding-bottom: 3rem;
  border-top: 1px solid var(--rule);
  color: var(--muted);
  font-size: .85rem;
}
footer.site p { margin: .3rem 0; }
footer.site a { color: var(--muted); }

/* ---- index ---- */

.hero { padding: 3rem 0 1.5rem; }
.hero h1 {
  font-size: clamp(2rem, 6vw, 2.9rem);
  line-height: 1.08;
  letter-spacing: -0.03em;
  margin: 0 0 1rem;
  font-weight: 700;
}
.hero h1 em { font-style: normal; color: var(--accent); }
.hero p { color: var(--ink-2); margin: 0; max-width: 38rem; }

.search { margin: 1.5rem 0 1rem; }
.search input {
  width: 100%;
  font: inherit;
  font-size: 1rem;
  padding: .7rem .9rem;
  border: 1px solid var(--rule);
  border-radius: 10px;
  background: var(--surface);
  color: var(--ink);
}
.search input:focus { outline: 2px solid var(--accent); outline-offset: 1px; border-color: transparent; }

h2.year {
  font: 600 .8rem/1 var(--mono);
  color: var(--muted);
  letter-spacing: .08em;
  margin: 2.5rem 0 .5rem;
}

ol.posts { list-style: none; margin: 0; padding: 0; }
.post-item {
  display: grid;
  grid-template-columns: 6.5rem 1fr;
  gap: 1rem;
  padding: 1.1rem 0;
  border-top: 1px solid var(--rule);
}
.post-item time { font: .82rem/1.9 var(--mono); color: var(--muted); white-space: nowrap; }
.post-item .title {
  font-weight: 650;
  font-size: 1.08rem;
  line-height: 1.35;
  color: var(--ink);
  text-decoration: none;
}
.post-item .title:hover { color: var(--link); text-decoration: underline; }
.post-item .summary { margin: .3rem 0 .5rem; color: var(--ink-2); font-size: .95rem; }

.tags { display: flex; flex-wrap: wrap; gap: .35rem; }
.tag {
  font: .75rem/1 var(--mono);
  padding: .32rem .5rem;
  border-radius: 6px;
  background: var(--code-bg);
  color: var(--ink-2);
  text-decoration: none;
}
.tag:hover { background: var(--mark); color: var(--link); }
.tag.big { font-size: .9rem; }

.badge {
  font: 600 .7rem/1 var(--mono);
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: .25rem .4rem;
  border-radius: 4px;
  background: var(--badge);
  color: var(--badge-ink);
  vertical-align: .15em;
  margin-left: .35rem;
}

@media (max-width: 560px) {
  .post-item { grid-template-columns: 1fr; gap: .2rem; }
}

/* ---- generic page head ---- */

.page-head { padding: 2.5rem 0 1rem; }
.page-head h1 { font-size: 2rem; letter-spacing: -0.02em; margin: 0 0 .3rem; }
.crumbs { font: .85rem var(--mono); color: var(--muted); margin: 0 0 .75rem; display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; }
.crumbs a:not(.tag) { color: var(--muted); }

ul.tag-cloud { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .6rem; }
ul.tag-cloud li { display: inline-flex; align-items: center; gap: .35rem; }
ul.tag-cloud .count { font: .8rem var(--mono); color: var(--muted); }

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

.post-head { padding: 2.5rem 0 .5rem; }
.post-head h1 {
  font-size: clamp(1.75rem, 5vw, 2.4rem);
  line-height: 1.15;
  letter-spacing: -0.025em;
  margin: 0 0 .6rem;
}
.post-head .meta { font: .85rem var(--mono); color: var(--muted); margin: 0 0 1.2rem; }
.post-head .lede { font-size: 1.15rem; color: var(--ink-2); margin: 0 0 1.2rem; }

.env {
  font: .82rem/1.5 var(--mono);
  background: var(--surface);
  border: 1px solid var(--rule);
  border-left: 3px solid var(--accent);
  border-radius: 8px;
  padding: .6rem .8rem;
  color: var(--ink-2);
}
.env-label {
  display: block;
  font-size: .7rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--muted);
  margin-bottom: .15rem;
}
.draft-note {
  background: var(--badge);
  color: var(--badge-ink);
  padding: .6rem .8rem;
  border-radius: 8px;
  font-size: .9rem;
}

.toc {
  margin: 1.5rem 0 0;
  padding: .9rem 1rem;
  border: 1px solid var(--rule);
  border-radius: 10px;
  font-size: .92rem;
}
.toc p { margin: 0 0 .3rem; font: 600 .72rem var(--mono); text-transform: uppercase; letter-spacing: .08em; color: var(--muted); }
.toc ol { margin: 0; padding-left: 1.2rem; }
.toc a { color: var(--ink-2); text-decoration: none; }
.toc a:hover { color: var(--link); text-decoration: underline; }

.prose { margin-top: 1.5rem; }
.prose h2 {
  font-size: 1.4rem;
  letter-spacing: -0.015em;
  margin: 2.6rem 0 .7rem;
  padding-top: .4rem;
}
.prose h3 { font-size: 1.12rem; margin: 2rem 0 .5rem; }
.prose h2, .prose h3 { scroll-margin-top: 1rem; }
.prose .header-anchor { color: var(--rule); text-decoration: none; margin-left: .35rem; font-weight: 400; }
.prose h2:hover .header-anchor, .prose h3:hover .header-anchor { color: var(--muted); }
.prose p, .prose ul, .prose ol { margin: 0 0 1.05rem; }
.prose li { margin: .25rem 0; }
.prose li > p { margin: 0 0 .4rem; }
.prose blockquote {
  margin: 1.2rem 0;
  padding: .2rem 1rem;
  border-left: 3px solid var(--rule);
  color: var(--ink-2);
}
.prose img { max-width: 100%; height: auto; border-radius: 8px; border: 1px solid var(--rule); }
.prose hr { border: 0; border-top: 1px solid var(--rule); margin: 2.5rem 0; }

code, pre { font-family: var(--mono); }
.prose :not(pre) > code {
  font-size: .86em;
  background: var(--code-bg);
  padding: .12em .35em;
  border-radius: 4px;
  overflow-wrap: anywhere;
}
pre.hl {
  position: relative;
  background: var(--code-bg);
  color: var(--code-ink);
  font-size: .84rem;
  line-height: 1.55;
  padding: 1rem 1.1rem;
  border-radius: 10px;
  overflow-x: auto;
  margin: 0 0 1.2rem;
}
pre.hl .code-lang {
  position: absolute;
  top: .4rem;
  right: .6rem;
  font-size: .68rem;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .06em;
  pointer-events: none;
}
pre.hl .copy {
  position: absolute;
  top: .35rem;
  right: .45rem;
  font: .72rem var(--mono);
  padding: .25rem .5rem;
  border-radius: 6px;
  border: 1px solid var(--rule);
  background: var(--surface);
  color: var(--muted);
  cursor: pointer;
  opacity: 0;
  transition: opacity .15s;
}
pre.hl:hover .copy, pre.hl .copy:focus { opacity: 1; }
pre.hl:hover .code-lang { opacity: 0; }

.table-wrap { overflow-x: auto; margin: 0 0 1.2rem; }
.prose table, .table-wrap table { border-collapse: collapse; font-size: .9rem; min-width: 100%; }
th, td { text-align: left; padding: .5rem .7rem; border-bottom: 1px solid var(--rule); vertical-align: top; }
th { font-weight: 650; border-bottom-width: 2px; }

.footnotes { font-size: .88rem; color: var(--ink-2); }

.post-foot {
  margin-top: 3rem;
  padding-top: 1rem;
  border-top: 1px solid var(--rule);
  font: .82rem var(--mono);
  color: var(--muted);
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
}
.post-foot a { color: var(--muted); }

.pager {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-top: 2rem;
}
.pager a {
  display: block;
  padding: .9rem 1rem;
  border: 1px solid var(--rule);
  border-radius: 10px;
  color: var(--ink);
  text-decoration: none;
  font-size: .92rem;
  line-height: 1.35;
}
.pager a:hover { border-color: var(--accent); }
.pager a span { display: block; font: .72rem var(--mono); text-transform: uppercase; letter-spacing: .08em; color: var(--muted); margin-bottom: .25rem; }
.pager .next { text-align: right; }
@media (max-width: 560px) { .pager { grid-template-columns: 1fr; } .pager .next { text-align: left; } }

/* generated by pygments */
.hl code .c { color: #3D7B7B; font-style: italic } /* Comment */
.hl code .err { border: 1px solid #F00 } /* Error */
.hl code .k { color: #008000; font-weight: bold } /* Keyword */
.hl code .o { color: #666 } /* Operator */
.hl code .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */
.hl code .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */
.hl code .cp { color: #9C6500 } /* Comment.Preproc */
.hl code .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */
.hl code .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */
.hl code .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */
.hl code .gd { color: #A00000 } /* Generic.Deleted */
.hl code .ge { font-style: italic } /* Generic.Emph */
.hl code .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.hl code .gr { color: #E40000 } /* Generic.Error */
.hl code .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.hl code .gi { color: #008400 } /* Generic.Inserted */
.hl code .go { color: #717171 } /* Generic.Output */
.hl code .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.hl code .gs { font-weight: bold } /* Generic.Strong */
.hl code .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.hl code .gt { color: #04D } /* Generic.Traceback */
.hl code .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.hl code .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.hl code .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.hl code .kp { color: #008000 } /* Keyword.Pseudo */
.hl code .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.hl code .kt { color: #B00040 } /* Keyword.Type */
.hl code .m { color: #666 } /* Literal.Number */
.hl code .s { color: #BA2121 } /* Literal.String */
.hl code .na { color: #687822 } /* Name.Attribute */
.hl code .nb { color: #008000 } /* Name.Builtin */
.hl code .nc { color: #00F; font-weight: bold } /* Name.Class */
.hl code .no { color: #800 } /* Name.Constant */
.hl code .nd { color: #A2F } /* Name.Decorator */
.hl code .ni { color: #717171; font-weight: bold } /* Name.Entity */
.hl code .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */
.hl code .nf { color: #00F } /* Name.Function */
.hl code .nl { color: #767600 } /* Name.Label */
.hl code .nn { color: #00F; font-weight: bold } /* Name.Namespace */
.hl code .nt { color: #008000; font-weight: bold } /* Name.Tag */
.hl code .nv { color: #19177C } /* Name.Variable */
.hl code .ow { color: #A2F; font-weight: bold } /* Operator.Word */
.hl code .w { color: #BBB } /* Text.Whitespace */
.hl code .mb { color: #666 } /* Literal.Number.Bin */
.hl code .mf { color: #666 } /* Literal.Number.Float */
.hl code .mh { color: #666 } /* Literal.Number.Hex */
.hl code .mi { color: #666 } /* Literal.Number.Integer */
.hl code .mo { color: #666 } /* Literal.Number.Oct */
.hl code .sa { color: #BA2121 } /* Literal.String.Affix */
.hl code .sb { color: #BA2121 } /* Literal.String.Backtick */
.hl code .sc { color: #BA2121 } /* Literal.String.Char */
.hl code .dl { color: #BA2121 } /* Literal.String.Delimiter */
.hl code .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.hl code .s2 { color: #BA2121 } /* Literal.String.Double */
.hl code .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */
.hl code .sh { color: #BA2121 } /* Literal.String.Heredoc */
.hl code .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */
.hl code .sx { color: #008000 } /* Literal.String.Other */
.hl code .sr { color: #A45A77 } /* Literal.String.Regex */
.hl code .s1 { color: #BA2121 } /* Literal.String.Single */
.hl code .ss { color: #19177C } /* Literal.String.Symbol */
.hl code .bp { color: #008000 } /* Name.Builtin.Pseudo */
.hl code .fm { color: #00F } /* Name.Function.Magic */
.hl code .vc { color: #19177C } /* Name.Variable.Class */
.hl code .vg { color: #19177C } /* Name.Variable.Global */
.hl code .vi { color: #19177C } /* Name.Variable.Instance */
.hl code .vm { color: #19177C } /* Name.Variable.Magic */
.hl code .il { color: #666 } /* Literal.Number.Integer.Long */
@media (prefers-color-scheme: dark) {
.hl code .c { color: #8B949E; font-style: italic } /* Comment */
.hl code .err { color: #F85149 } /* Error */
.hl code .esc { color: #E6EDF3 } /* Escape */
.hl code .g { color: #E6EDF3 } /* Generic */
.hl code .k { color: #FF7B72 } /* Keyword */
.hl code .l { color: #A5D6FF } /* Literal */
.hl code .n { color: #E6EDF3 } /* Name */
.hl code .o { color: #FF7B72; font-weight: bold } /* Operator */
.hl code .x { color: #E6EDF3 } /* Other */
.hl code .p { color: #E6EDF3 } /* Punctuation */
.hl code .ch { color: #8B949E; font-style: italic } /* Comment.Hashbang */
.hl code .cm { color: #8B949E; font-style: italic } /* Comment.Multiline */
.hl code .cp { color: #8B949E; font-weight: bold; font-style: italic } /* Comment.Preproc */
.hl code .cpf { color: #8B949E; font-style: italic } /* Comment.PreprocFile */
.hl code .c1 { color: #8B949E; font-style: italic } /* Comment.Single */
.hl code .cs { color: #8B949E; font-weight: bold; font-style: italic } /* Comment.Special */
.hl code .gd { color: #FFA198; background-color: #490202 } /* Generic.Deleted */
.hl code .ge { color: #E6EDF3; font-style: italic } /* Generic.Emph */
.hl code .ges { color: #E6EDF3; font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.hl code .gr { color: #FFA198 } /* Generic.Error */
.hl code .gh { color: #79C0FF; font-weight: bold } /* Generic.Heading */
.hl code .gi { color: #56D364; background-color: #0F5323 } /* Generic.Inserted */
.hl code .go { color: #8B949E } /* Generic.Output */
.hl code .gp { color: #8B949E } /* Generic.Prompt */
.hl code .gs { color: #E6EDF3; font-weight: bold } /* Generic.Strong */
.hl code .gu { color: #79C0FF } /* Generic.Subheading */
.hl code .gt { color: #FF7B72 } /* Generic.Traceback */
.hl code .g-Underline { color: #E6EDF3; text-decoration: underline } /* Generic.Underline */
.hl code .kc { color: #79C0FF } /* Keyword.Constant */
.hl code .kd { color: #FF7B72 } /* Keyword.Declaration */
.hl code .kn { color: #FF7B72 } /* Keyword.Namespace */
.hl code .kp { color: #79C0FF } /* Keyword.Pseudo */
.hl code .kr { color: #FF7B72 } /* Keyword.Reserved */
.hl code .kt { color: #FF7B72 } /* Keyword.Type */
.hl code .ld { color: #79C0FF } /* Literal.Date */
.hl code .m { color: #A5D6FF } /* Literal.Number */
.hl code .s { color: #A5D6FF } /* Literal.String */
.hl code .na { color: #E6EDF3 } /* Name.Attribute */
.hl code .nb { color: #E6EDF3 } /* Name.Builtin */
.hl code .nc { color: #F0883E; font-weight: bold } /* Name.Class */
.hl code .no { color: #79C0FF; font-weight: bold } /* Name.Constant */
.hl code .nd { color: #D2A8FF; font-weight: bold } /* Name.Decorator */
.hl code .ni { color: #FFA657 } /* Name.Entity */
.hl code .ne { color: #F0883E; font-weight: bold } /* Name.Exception */
.hl code .nf { color: #D2A8FF; font-weight: bold } /* Name.Function */
.hl code .nl { color: #79C0FF; font-weight: bold } /* Name.Label */
.hl code .nn { color: #FF7B72 } /* Name.Namespace */
.hl code .nx { color: #E6EDF3 } /* Name.Other */
.hl code .py { color: #79C0FF } /* Name.Property */
.hl code .nt { color: #7EE787 } /* Name.Tag */
.hl code .nv { color: #79C0FF } /* Name.Variable */
.hl code .ow { color: #FF7B72; font-weight: bold } /* Operator.Word */
.hl code .pm { color: #E6EDF3 } /* Punctuation.Marker */
.hl code .w { color: #6E7681 } /* Text.Whitespace */
.hl code .mb { color: #A5D6FF } /* Literal.Number.Bin */
.hl code .mf { color: #A5D6FF } /* Literal.Number.Float */
.hl code .mh { color: #A5D6FF } /* Literal.Number.Hex */
.hl code .mi { color: #A5D6FF } /* Literal.Number.Integer */
.hl code .mo { color: #A5D6FF } /* Literal.Number.Oct */
.hl code .sa { color: #79C0FF } /* Literal.String.Affix */
.hl code .sb { color: #A5D6FF } /* Literal.String.Backtick */
.hl code .sc { color: #A5D6FF } /* Literal.String.Char */
.hl code .dl { color: #79C0FF } /* Literal.String.Delimiter */
.hl code .sd { color: #A5D6FF } /* Literal.String.Doc */
.hl code .s2 { color: #A5D6FF } /* Literal.String.Double */
.hl code .se { color: #79C0FF } /* Literal.String.Escape */
.hl code .sh { color: #79C0FF } /* Literal.String.Heredoc */
.hl code .si { color: #A5D6FF } /* Literal.String.Interpol */
.hl code .sx { color: #A5D6FF } /* Literal.String.Other */
.hl code .sr { color: #79C0FF } /* Literal.String.Regex */
.hl code .s1 { color: #A5D6FF } /* Literal.String.Single */
.hl code .ss { color: #A5D6FF } /* Literal.String.Symbol */
.hl code .bp { color: #E6EDF3 } /* Name.Builtin.Pseudo */
.hl code .fm { color: #D2A8FF; font-weight: bold } /* Name.Function.Magic */
.hl code .vc { color: #79C0FF } /* Name.Variable.Class */
.hl code .vg { color: #79C0FF } /* Name.Variable.Global */
.hl code .vi { color: #79C0FF } /* Name.Variable.Instance */
.hl code .vm { color: #79C0FF } /* Name.Variable.Magic */
.hl code .il { color: #A5D6FF } /* Literal.Number.Integer.Long */
}
