/* ==========================================================================
   COMMON STYLESHEET for every book site and for the Library page.
   Everything visual comes from tokens (custom properties). A SKIN file (skins/<book>.css, loaded right
   after this file) sets the token values for light and dark, and may add a few rules of its own.
   Markup contract: header.top > .icon#menu, a.brand, a.libLink[data-library], .search(input#q + #results), a.lang, .icon#theme
                    .layout > nav.side#side, main > article.prose (+ nav.pager), aside.toc > .toc-in
   Dark mode: <html data-theme="dark">.
   ========================================================================== */
:root{
  /* colors */
  --bg:#ffffff; --bg2:#f4f5f8; --card:#ffffff; --fg:#1f2430; --mut:#667085; --line:#dde1ea; --bd:#dde1ea;
  --acc:#0073ea; --acc-ink:#ffffff; --link:#0a5bd3; --ok:#12a150; --warn:#f2b705; --danger:#d9304a;
  --code-bg:#f6f8fb; --code-fg:#1f2430; --inline-bg:#eef1f7; --th:#f0f3f9; --note:#f2b705; --note-bg:#fff8e6;
  --hl:rgba(242,183,5,.45); --overlay:rgba(10,14,25,.45);
  /* shape */
  --radius:12px; --radius-sm:8px; --pill:999px; --bw:1px;
  --shadow:0 1px 2px rgba(20,30,60,.06),0 6px 20px rgba(20,30,60,.07); --shadow-pop:0 8px 28px rgba(0,0,0,.28);
  /* type */
  --font:system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans","Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"DejaVu Sans Mono",monospace;
  --fs:17px; --lh:1.65; --hw:700;
  /* layout */
  --top-h:3.6rem; --side-w:19rem; --toc-w:16rem; --content-w:50rem;
  /* decoration */
  --top-bg:var(--bg); --top-border:1px solid var(--line); --side-bg:var(--bg2); --side-border:1px solid var(--line);
  --h1-border:none; --h2-border:1px solid var(--line); --pre-border:1px solid var(--line); --pre-left:var(--pre-border);
  --cur-bg:transparent; --cur-bar:var(--acc); --cur-fg:var(--fg);
}

/* ---------------------------------------------------------------- base */
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--top-h) + 1rem);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:var(--fs)/var(--lh) var(--font)}
a{color:var(--link)}
img,svg{max-width:100%}
.skip{position:absolute;left:-999px;top:8px;background:var(--acc);color:var(--acc-ink);padding:8px 12px;z-index:100}.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--acc);outline-offset:2px}

/* ---------------------------------------------------------------- header */
header.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:.8rem;min-height:var(--top-h);padding:.55rem 1rem;background:var(--top-bg);border-bottom:var(--top-border)}
.brand{display:inline-flex;align-items:center;gap:.6rem;color:var(--fg);text-decoration:none;font-size:1.15rem;font-weight:var(--hw);letter-spacing:.01em;white-space:nowrap}
.brand:hover{text-decoration:none}
.brand b{background:var(--acc);color:var(--acc-ink);padding:.05rem .4rem;margin-right:.1rem}
.icon{display:inline-flex;align-items:center;justify-content:center;border:var(--bw) solid var(--bd);border-radius:var(--radius-sm);background:transparent;color:var(--fg);min-width:2.2rem;height:2.2rem;padding:0 .4rem;font-size:1.1rem;cursor:pointer}
.icon:hover{background:var(--bg2)}
#menu{display:none}
.lang,.libLink{display:inline-flex;align-items:center;gap:.4rem;color:var(--fg);border:var(--bw) solid var(--bd);border-radius:var(--radius-sm);padding:.25rem .6rem;text-decoration:none;font-size:.9rem;font-weight:600;white-space:nowrap}
.lang:hover,.libLink:hover{background:var(--bg2);text-decoration:none}
.libLink svg{flex:none}
.search{position:relative;flex:1;max-width:34rem;margin-left:auto}
.search input{width:100%;padding:.45rem .7rem;font:inherit;font-size:.95rem;color:var(--fg);background:var(--bg2);border:var(--bw) solid var(--bd);border-radius:var(--radius-sm)}
.search input:focus{background:var(--bg);outline:2px solid var(--acc);outline-offset:0}
#results{position:absolute;top:calc(100% + 6px);left:0;right:0;max-height:70vh;overflow:auto;background:var(--card);border:var(--bw) solid var(--bd);border-radius:var(--radius-sm);box-shadow:var(--shadow-pop);z-index:30}
#results[hidden]{display:none}
#results a{display:block;padding:.55rem .8rem;border-bottom:1px solid var(--line);color:var(--fg);text-decoration:none}
#results a:last-child{border-bottom:0}
#results a:hover,#results a.sel{background:var(--bg2)}
#results small{display:block;color:var(--mut);font-size:.78rem}
#results em{font-style:normal;background:var(--hl);color:inherit}
#results p{margin:0;padding:.7rem .8rem;color:var(--mut)}

/* ---------------------------------------------------------------- layout */
.layout{display:grid;grid-template-columns:var(--side-w) minmax(0,1fr) var(--toc-w);max-width:96rem;margin:0 auto}
nav.side{position:sticky;top:var(--top-h);align-self:start;max-height:calc(100vh - var(--top-h));overflow:auto;padding:1rem .8rem 3rem 1rem;background:var(--side-bg);border-right:var(--side-border);font-size:.92rem}
nav.side ul{list-style:none;margin:0;padding:0}
nav.side > ul > li,nav.side ul.dl li{margin:.15rem 0}
nav.side a{display:block;padding:.25rem .5rem;color:var(--fg);text-decoration:none;border-left:3px solid transparent;border-radius:var(--radius-sm)}
nav.side a:hover{background:var(--bg);text-decoration:none}
nav.side li.cur > a{font-weight:var(--hw);border-left-color:var(--cur-bar);background:var(--cur-bg);color:var(--cur-fg)}
nav.side li ul{margin:.1rem 0 .5rem .8rem}
nav.side li ul a{font-size:.85rem;color:var(--mut)}
nav.side .grp{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);margin:1.1rem .5rem .35rem;font-weight:700}
main{padding:1.5rem 2.2rem 4rem;min-width:0}
aside.toc{position:sticky;top:var(--top-h);align-self:start;max-height:calc(100vh - var(--top-h));overflow:auto;padding:1.2rem 1rem 3rem .8rem;font-size:.82rem}
.toc-in p{margin:0 0 .5rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;color:var(--mut)}
.toc ul{list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}
.toc a{display:block;padding:.18rem .6rem;color:var(--mut);text-decoration:none;margin-left:-1px;border-left:2px solid transparent}
.toc li.l3 a{padding-left:1.4rem}
.toc a:hover{color:var(--fg)}
.toc a.on{color:var(--fg);border-left-color:var(--acc);font-weight:600}
footer.site{max-width:var(--content-w);margin:2.5rem auto 0;padding-top:1rem;border-top:1px solid var(--line);color:var(--mut);font-size:.82rem}

/* ---------------------------------------------------------------- prose */
.prose{max-width:var(--content-w);margin:0 auto}
.prose h1{font-size:clamp(1.75rem,4vw,2.2rem);line-height:1.2;margin:.4rem 0 1rem;padding-bottom:.4rem;border-bottom:var(--h1-border);font-weight:var(--hw)}
.prose h2{font-size:1.55rem;margin:2.6rem 0 .8rem;padding-bottom:.25rem;border-bottom:var(--h2-border);line-height:1.25;font-weight:var(--hw)}
.prose h3{font-size:1.2rem;margin:2rem 0 .6rem;line-height:1.3;font-weight:var(--hw)}
.prose h4{font-size:1.05rem;margin:1.6rem 0 .5rem}
.prose h2.trainer{color:var(--mut);font-size:1.25rem}.prose h2.trainer + p{color:var(--mut)}
.prose .anchor{margin-left:.4rem;font-weight:400;text-decoration:none;color:var(--mut);opacity:0}
.prose :is(h2,h3):hover .anchor{opacity:1}
.prose p,.prose li{overflow-wrap:break-word}
.prose p,.prose ul,.prose ol{margin:0 0 1rem}
.prose ul,.prose ol{padding-left:1.5rem}
.prose li{margin:.3rem 0}
.prose li > ul,.prose li > ol{margin:.3rem 0}
.prose code{font:.86em var(--mono);background:var(--inline-bg);padding:.08em .35em;border-radius:4px;overflow-wrap:anywhere}
.prose pre{position:relative;margin:1.1rem 0;padding:.9rem 1rem;background:var(--code-bg);color:var(--code-fg);border:var(--pre-border);border-left:var(--pre-left);border-radius:var(--radius-sm);overflow-x:auto;line-height:1.5;font-size:.86rem;tab-size:4}
.prose pre code{background:none;padding:0;font-size:inherit;overflow-wrap:normal;border-radius:0}
.prose pre.lang-bash{border-left:5px solid var(--ok)}
.copy{position:absolute;top:.35rem;right:.35rem;padding:.2rem .55rem;font:600 .72rem var(--font);cursor:pointer;color:var(--fg);background:var(--card);border:var(--bw) solid var(--bd);border-radius:var(--radius-sm);opacity:0;transition:opacity .15s}
.prose pre:hover .copy,.copy:focus{opacity:1}
@media (hover:none){.copy{opacity:.9}}
.table-wrap{overflow-x:auto;margin:1.1rem 0;border:var(--bw) solid var(--bd);border-radius:var(--radius-sm)}
table{border-collapse:collapse;width:100%;font-size:.92rem}
th,td{padding:.45rem .7rem;text-align:left;vertical-align:top;border-top:1px solid var(--line);border-right:1px solid var(--line)}
th{background:var(--th);border-top:0}
td:last-child,th:last-child{border-right:0}
blockquote{margin:1.2rem 0;padding:.1rem 1.1rem;border-left:5px solid var(--note);background:var(--note-bg);border-radius:0 var(--radius-sm) var(--radius-sm) 0}
blockquote p{margin:.6rem 0}
ul.tasks{list-style:none;padding-left:.2rem}
li.task{list-style:none;margin-left:-1.4rem}li.task label{display:flex;gap:.6rem;align-items:flex-start;cursor:pointer}
li.task input{margin-top:.45rem;width:1.05rem;height:1.05rem;accent-color:var(--acc);flex:none}
li.task input:checked + span{color:var(--mut);text-decoration:line-through}
hr{border:0;border-top:1px solid var(--line);margin:2rem 0}
figure.diagram{margin:0 0 1.2rem;padding:.8rem;background:#fff;border:var(--bw) solid var(--bd);border-radius:var(--radius)}
.prose h3.file{display:flex;flex-wrap:wrap;gap:.3rem .8rem;align-items:baseline;background:var(--acc);color:var(--acc-ink);border-radius:var(--radius-sm) var(--radius-sm) 0 0;padding:.5rem .9rem;font-size:.95rem;margin:1.6rem 0 0}
.prose h3.file code{background:none;color:inherit;font-size:.9rem;padding:0}.prose h3.file span{font-weight:400;opacity:.9}
.prose h3.file + pre{margin-top:0;border-top:0;border-radius:0 0 var(--radius-sm) var(--radius-sm)}

/* ---------------------------------------------------------------- pager */
.pager{display:flex;justify-content:space-between;gap:1rem;max-width:var(--content-w);margin:3rem auto 0}
.pager a{flex:1;border:var(--bw) solid var(--bd);border-radius:var(--radius);padding:.7rem 1rem;text-decoration:none;color:var(--fg);background:var(--card)}
.pager a:hover{border-color:var(--acc)}
.pager small{display:block;color:var(--mut)}
.pager .next{text-align:right}

/* ---------------------------------------------------------------- components (home pages, landing pages) */
.hero{padding:.5rem 0 .3rem}.hero .kicker{text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;color:var(--acc);font-weight:700;margin:0 0 .6rem}
.prose .hero h1{font-size:clamp(2rem,5.5vw,3.2rem);line-height:1.1;border:0;margin-bottom:1rem}
.lead{font-size:1.15rem;color:var(--mut);max-width:40rem}
.cta{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.4rem 0 .5rem}
.btn{display:inline-block;padding:.65rem 1.2rem;border-radius:var(--radius-sm);border:var(--bw) solid var(--bd);color:var(--fg);font-weight:var(--hw);background:var(--card);text-decoration:none}
.btn:hover{background:var(--bg2);text-decoration:none}
.btn.primary{background:var(--acc);border-color:var(--acc);color:var(--acc-ink)}.btn.primary:hover{filter:brightness(1.1);background:var(--acc)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.9rem;margin:1.6rem 0}
.card{background:var(--card);border:var(--bw) solid var(--bd);border-radius:var(--radius);padding:1rem 1.15rem;box-shadow:var(--shadow)}
.card h3{margin:0 0 .4rem;font-size:1.05rem}.card p{margin:0;color:var(--mut);font-size:.95rem;line-height:1.5}
.progress{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin:0 0 .9rem}
.bar{flex:1;min-width:9rem;height:.65rem;background:var(--bg2);border:var(--bw) solid var(--bd);border-radius:var(--pill);overflow:hidden}
.bar span{display:block;height:100%;width:0;background:var(--ok);transition:width .3s}
.ptxt{font-size:.9rem;color:var(--mut)}
.linklike{background:none;border:0;color:var(--link);cursor:pointer;font:inherit;font-size:.9rem;padding:0}
table.road td.chk{width:2.8rem;text-align:center}table.road input{width:1.15rem;height:1.15rem;accent-color:var(--acc)}
.splash{display:grid;place-items:center;min-height:100vh;text-align:center;padding:1.5rem}
.splash h1{font-size:clamp(2.2rem,8vw,3.6rem);margin:.8rem 0}.splash h1 small{display:block;font-size:.55em;color:var(--mut);font-weight:600}
.splash p{color:var(--mut)}.splash .cta{justify-content:center}

/* ---------------------------------------------------------------- responsive */
@media (max-width:1180px){.layout{grid-template-columns:calc(var(--side-w) - 2rem) minmax(0,1fr)}aside.toc,nav.toc{display:none}}
@media (max-width:820px){
  .layout{display:block}
  #menu{display:inline-flex}
  nav.side{position:fixed;z-index:15;top:var(--top-h);left:0;bottom:0;width:min(20rem,86vw);max-height:none;transform:translateX(-102%);transition:transform .2s}
  body.menu-open nav.side{transform:none;box-shadow:var(--shadow-pop)}
  main{padding:1rem 1rem 3rem}
  .search{max-width:none}.brand span,.lang{display:none}.libLink span{display:none}
  .pager{flex-direction:column}.pager .next{text-align:left}
}
@media print{header.top,nav.side,aside.toc,.pager,.copy{display:none !important}.layout{display:block}main{padding:0}body{background:#fff;color:#000}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none !important}}

/* ---------------------------------------------------------------- code highlighting (Pygments) */
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight { background: #f8f8f8; }
.highlight .c { color: #3D7B7B; font-style: italic } /* Comment */
.highlight .err { border: 1px solid #FF0000 } /* Error */
.highlight .k { color: #008000; font-weight: bold } /* Keyword */
.highlight .o { color: #666666 } /* Operator */
.highlight .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #9C6500 } /* Comment.Preproc */
.highlight .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */
.highlight .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */
.highlight .gd { color: #A00000 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #E40000 } /* Generic.Error */
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #008400 } /* Generic.Inserted */
.highlight .go { color: #717171 } /* Generic.Output */
.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #0044DD } /* Generic.Traceback */
.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008000 } /* Keyword.Pseudo */
.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #B00040 } /* Keyword.Type */
.highlight .m { color: #666666 } /* Literal.Number */
.highlight .s { color: #BA2121 } /* Literal.String */
.highlight .na { color: #687822 } /* Name.Attribute */
.highlight .nb { color: #008000 } /* Name.Builtin */
.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */
.highlight .no { color: #880000 } /* Name.Constant */
.highlight .nd { color: #AA22FF } /* Name.Decorator */
.highlight .ni { color: #717171; font-weight: bold } /* Name.Entity */
.highlight .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0000FF } /* Name.Function */
.highlight .nl { color: #767600 } /* Name.Label */
.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #19177C } /* Name.Variable */
.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #666666 } /* Literal.Number.Bin */
.highlight .mf { color: #666666 } /* Literal.Number.Float */
.highlight .mh { color: #666666 } /* Literal.Number.Hex */
.highlight .mi { color: #666666 } /* Literal.Number.Integer */
.highlight .mo { color: #666666 } /* Literal.Number.Oct */
.highlight .sa { color: #BA2121 } /* Literal.String.Affix */
.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */
.highlight .sc { color: #BA2121 } /* Literal.String.Char */
.highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */
.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #BA2121 } /* Literal.String.Double */
.highlight .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */
.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */
.highlight .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */
.highlight .sx { color: #008000 } /* Literal.String.Other */
.highlight .sr { color: #A45A77 } /* Literal.String.Regex */
.highlight .s1 { color: #BA2121 } /* Literal.String.Single */
.highlight .ss { color: #19177C } /* Literal.String.Symbol */
.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #0000FF } /* Name.Function.Magic */
.highlight .vc { color: #19177C } /* Name.Variable.Class */
.highlight .vg { color: #19177C } /* Name.Variable.Global */
.highlight .vi { color: #19177C } /* Name.Variable.Instance */
.highlight .vm { color: #19177C } /* Name.Variable.Magic */
.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */pre { line-height: 125%; }
td.linenos .normal { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
[data-theme="dark"] .highlight .hll { background-color: #404040 }
[data-theme="dark"] .highlight { background: #202020; color: #d0d0d0 }
[data-theme="dark"] .highlight .c { color: #ababab; font-style: italic } /* Comment */
[data-theme="dark"] .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
[data-theme="dark"] .highlight .esc { color: #d0d0d0 } /* Escape */
[data-theme="dark"] .highlight .g { color: #d0d0d0 } /* Generic */
[data-theme="dark"] .highlight .k { color: #6ebf26; font-weight: bold } /* Keyword */
[data-theme="dark"] .highlight .l { color: #d0d0d0 } /* Literal */
[data-theme="dark"] .highlight .n { color: #d0d0d0 } /* Name */
[data-theme="dark"] .highlight .o { color: #d0d0d0 } /* Operator */
[data-theme="dark"] .highlight .x { color: #d0d0d0 } /* Other */
[data-theme="dark"] .highlight .p { color: #d0d0d0 } /* Punctuation */
[data-theme="dark"] .highlight .ch { color: #ababab; font-style: italic } /* Comment.Hashbang */
[data-theme="dark"] .highlight .cm { color: #ababab; font-style: italic } /* Comment.Multiline */
[data-theme="dark"] .highlight .cp { color: #ff3a3a; font-weight: bold } /* Comment.Preproc */
[data-theme="dark"] .highlight .cpf { color: #ababab; font-style: italic } /* Comment.PreprocFile */
[data-theme="dark"] .highlight .c1 { color: #ababab; font-style: italic } /* Comment.Single */
[data-theme="dark"] .highlight .cs { color: #e50808; font-weight: bold; background-color: #520000 } /* Comment.Special */
[data-theme="dark"] .highlight .gd { color: #d22323 } /* Generic.Deleted */
[data-theme="dark"] .highlight .ge { color: #d0d0d0; font-style: italic } /* Generic.Emph */
[data-theme="dark"] .highlight .ges { color: #d0d0d0; font-weight: bold; font-style: italic } /* Generic.EmphStrong */
[data-theme="dark"] .highlight .gr { color: #d22323 } /* Generic.Error */
[data-theme="dark"] .highlight .gh { color: #ffffff; font-weight: bold } /* Generic.Heading */
[data-theme="dark"] .highlight .gi { color: #589819 } /* Generic.Inserted */
[data-theme="dark"] .highlight .go { color: #cccccc } /* Generic.Output */
[data-theme="dark"] .highlight .gp { color: #aaaaaa } /* Generic.Prompt */
[data-theme="dark"] .highlight .gs { color: #d0d0d0; font-weight: bold } /* Generic.Strong */
[data-theme="dark"] .highlight .gu { color: #ffffff; text-decoration: underline } /* Generic.Subheading */
[data-theme="dark"] .highlight .gt { color: #d22323 } /* Generic.Traceback */
[data-theme="dark"] .highlight .kc { color: #6ebf26; font-weight: bold } /* Keyword.Constant */
[data-theme="dark"] .highlight .kd { color: #6ebf26; font-weight: bold } /* Keyword.Declaration */
[data-theme="dark"] .highlight .kn { color: #6ebf26; font-weight: bold } /* Keyword.Namespace */
[data-theme="dark"] .highlight .kp { color: #6ebf26 } /* Keyword.Pseudo */
[data-theme="dark"] .highlight .kr { color: #6ebf26; font-weight: bold } /* Keyword.Reserved */
[data-theme="dark"] .highlight .kt { color: #6ebf26; font-weight: bold } /* Keyword.Type */
[data-theme="dark"] .highlight .ld { color: #d0d0d0 } /* Literal.Date */
[data-theme="dark"] .highlight .m { color: #51b2fd } /* Literal.Number */
[data-theme="dark"] .highlight .s { color: #ed9d13 } /* Literal.String */
[data-theme="dark"] .highlight .na { color: #bbbbbb } /* Name.Attribute */
[data-theme="dark"] .highlight .nb { color: #2fbccd } /* Name.Builtin */
[data-theme="dark"] .highlight .nc { color: #71adff; text-decoration: underline } /* Name.Class */
[data-theme="dark"] .highlight .no { color: #40ffff } /* Name.Constant */
[data-theme="dark"] .highlight .nd { color: #ffa500 } /* Name.Decorator */
[data-theme="dark"] .highlight .ni { color: #d0d0d0 } /* Name.Entity */
[data-theme="dark"] .highlight .ne { color: #bbbbbb } /* Name.Exception */
[data-theme="dark"] .highlight .nf { color: #71adff } /* Name.Function */
[data-theme="dark"] .highlight .nl { color: #d0d0d0 } /* Name.Label */
[data-theme="dark"] .highlight .nn { color: #71adff; text-decoration: underline } /* Name.Namespace */
[data-theme="dark"] .highlight .nx { color: #d0d0d0 } /* Name.Other */
[data-theme="dark"] .highlight .py { color: #d0d0d0 } /* Name.Property */
[data-theme="dark"] .highlight .nt { color: #6ebf26; font-weight: bold } /* Name.Tag */
[data-theme="dark"] .highlight .nv { color: #40ffff } /* Name.Variable */
[data-theme="dark"] .highlight .ow { color: #6ebf26; font-weight: bold } /* Operator.Word */
[data-theme="dark"] .highlight .pm { color: #d0d0d0 } /* Punctuation.Marker */
[data-theme="dark"] .highlight .w { color: #666666 } /* Text.Whitespace */
[data-theme="dark"] .highlight .mb { color: #51b2fd } /* Literal.Number.Bin */
[data-theme="dark"] .highlight .mf { color: #51b2fd } /* Literal.Number.Float */
[data-theme="dark"] .highlight .mh { color: #51b2fd } /* Literal.Number.Hex */
[data-theme="dark"] .highlight .mi { color: #51b2fd } /* Literal.Number.Integer */
[data-theme="dark"] .highlight .mo { color: #51b2fd } /* Literal.Number.Oct */
[data-theme="dark"] .highlight .sa { color: #ed9d13 } /* Literal.String.Affix */
[data-theme="dark"] .highlight .sb { color: #ed9d13 } /* Literal.String.Backtick */
[data-theme="dark"] .highlight .sc { color: #ed9d13 } /* Literal.String.Char */
[data-theme="dark"] .highlight .dl { color: #ed9d13 } /* Literal.String.Delimiter */
[data-theme="dark"] .highlight .sd { color: #ed9d13 } /* Literal.String.Doc */
[data-theme="dark"] .highlight .s2 { color: #ed9d13 } /* Literal.String.Double */
[data-theme="dark"] .highlight .se { color: #ed9d13 } /* Literal.String.Escape */
[data-theme="dark"] .highlight .sh { color: #ed9d13 } /* Literal.String.Heredoc */
[data-theme="dark"] .highlight .si { color: #ed9d13 } /* Literal.String.Interpol */
[data-theme="dark"] .highlight .sx { color: #ffa500 } /* Literal.String.Other */
[data-theme="dark"] .highlight .sr { color: #ed9d13 } /* Literal.String.Regex */
[data-theme="dark"] .highlight .s1 { color: #ed9d13 } /* Literal.String.Single */
[data-theme="dark"] .highlight .ss { color: #ed9d13 } /* Literal.String.Symbol */
[data-theme="dark"] .highlight .bp { color: #2fbccd } /* Name.Builtin.Pseudo */
[data-theme="dark"] .highlight .fm { color: #71adff } /* Name.Function.Magic */
[data-theme="dark"] .highlight .vc { color: #40ffff } /* Name.Variable.Class */
[data-theme="dark"] .highlight .vg { color: #40ffff } /* Name.Variable.Global */
[data-theme="dark"] .highlight .vi { color: #40ffff } /* Name.Variable.Instance */
[data-theme="dark"] .highlight .vm { color: #40ffff } /* Name.Variable.Magic */
[data-theme="dark"] .highlight .il { color: #51b2fd } /* Literal.Number.Integer.Long */