/* =====================================================================
   PROOF OF WORK — zionboggan.com design system
   Ink/paper evidence terminal. One display face + one mono + one serif.
   One accent (incident red). One easing. Self-hosted fonts, CSP-strict.
   ===================================================================== */

/* ---------- fonts ---------- */
@font-face{font-family:Archivo;src:url(../fonts/archivo-600.woff2) format('woff2');font-weight:600;font-display:swap;font-style:normal}
@font-face{font-family:Archivo;src:url(../fonts/archivo-700.woff2) format('woff2');font-weight:700;font-display:swap;font-style:normal}
@font-face{font-family:Archivo;src:url(../fonts/archivo-800.woff2) format('woff2');font-weight:800;font-display:swap;font-style:normal}
@font-face{font-family:Archivo;src:url(../fonts/archivo-900.woff2) format('woff2');font-weight:900;font-display:swap;font-style:normal}
@font-face{font-family:'JetBrains Mono';src:url(../fonts/jetbrains-mono-400.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url(../fonts/jetbrains-mono-700.woff2) format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:Fraunces;src:url(../fonts/fraunces-300.woff2) format('woff2');font-weight:300;font-display:swap;font-style:normal}
@font-face{font-family:Fraunces;src:url(../fonts/fraunces-400.woff2) format('woff2');font-weight:400;font-display:swap;font-style:normal}
@font-face{font-family:Fraunces;src:url(../fonts/fraunces-500.woff2) format('woff2');font-weight:500;font-display:swap;font-style:normal}
@font-face{font-family:Fraunces;src:url(../fonts/fraunces-italic-400.woff2) format('woff2');font-weight:400;font-display:swap;font-style:italic}

/* ---------- tokens ---------- */
:root{
  --ink:#0B0C0E; --paper:#F2EFE9; --graphite:#23262B; --ash:#9BA0A6;
  --ash-2:#6E7480; --signal:#C1121F; --signal-dim:#8e1018;
  --line:rgba(155,160,166,.18); --line-paper:rgba(11,12,14,.14);
  --display:Archivo,'Arial Narrow',system-ui,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,monospace;
  --serif:Fraunces,Georgia,'Times New Roman',serif;
  --ease:cubic-bezier(.16,1,.3,1);
  --text-monument:clamp(3.2rem,11vw,11.5rem);
  --text-display:clamp(2.2rem,6vw,4.6rem);
  --text-h2:clamp(1.6rem,3.4vw,2.7rem);
  --wrap:1280px; --gutter:clamp(20px,5vw,72px);
  --bg:var(--ink); --fg:var(--paper); --rule:var(--line); --sub:var(--ash);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  background:var(--ink); color:var(--paper);
  font-family:var(--mono); font-size:16px; line-height:1.6;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
/* Lenis hides native scrollbar feel */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
::selection{background:var(--signal);color:#fff}
a{color:inherit;text-decoration:none}
img,video,canvas{display:block;max-width:100%}

/* ---------- section theming (ink / paper bands) ---------- */
[data-theme="ink"]{--bg:var(--ink);--fg:var(--paper);--rule:var(--line);--sub:var(--ash);background:var(--ink);color:var(--paper)}
[data-theme="paper"]{--bg:var(--paper);--fg:var(--ink);--rule:var(--line-paper);--sub:var(--ash-2);background:var(--paper);color:var(--ink)}

.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gutter);width:100%}

/* ---------- fixed shader canvas ---------- */
#surface{position:fixed;inset:0;z-index:0;width:100vw;height:100vh;opacity:0;transition:opacity 1.2s var(--ease);pointer-events:none}
#surface.on{opacity:1}
#surface-poster{position:fixed;inset:0;z-index:0;width:100vw;height:100vh;object-fit:cover;opacity:.9}
.page{position:relative;z-index:10}

/* ---------- masthead (blend-mode chrome) ---------- */
.masthead{position:fixed;top:0;left:0;right:0;z-index:50;mix-blend-mode:difference;color:#fff}
.masthead .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.masthead .name{font-family:var(--mono);font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:700}
.masthead nav{display:flex;gap:26px}
.masthead nav a{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;opacity:.8;transition:opacity .25s var(--ease)}
.masthead nav a:hover{opacity:1}
.masthead .clock{font-family:var(--mono);font-size:12px;letter-spacing:.08em;font-variant-numeric:tabular-nums}
.masthead .clock .col{animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:.25}}
@media(max-width:720px){.masthead nav{display:none}.masthead .clock{display:none}}

/* ---------- hero ---------- */
.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;position:relative;padding:120px 0 80px}
.hero .eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--signal);margin-bottom:26px}
.monument{
  font-family:var(--display);font-weight:900;
  font-size:var(--text-monument);line-height:.84;letter-spacing:-.035em;
  text-transform:uppercase;mix-blend-mode:difference;color:#fff;
  margin:0 0 30px;max-width:14ch;
}
.hero .status{font-family:var(--mono);font-size:clamp(13px,1.5vw,16px);letter-spacing:.04em;color:var(--paper);min-height:1.4em;margin-bottom:34px}
.hero .status .sig{color:var(--signal)}
.telemetry{display:flex;flex-wrap:wrap;gap:10px 22px;font-family:var(--mono);font-size:12.5px;letter-spacing:.05em;color:var(--ash);font-variant-numeric:tabular-nums}
.telemetry .dot{color:var(--signal)}
.telemetry b{color:var(--paper);font-weight:700}
.scroll-cue{position:absolute;bottom:30px;left:var(--gutter);font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ash);display:flex;align-items:center;gap:10px}
.scroll-cue .ln{width:42px;height:1px;background:var(--ash);transform-origin:left;animation:cue 2.2s var(--ease) infinite}
@keyframes cue{0%,100%{transform:scaleX(.3);opacity:.4}50%{transform:scaleX(1);opacity:1}}

/* ---------- generic section scaffolding ---------- */
.section{position:relative;padding:clamp(70px,10vw,140px) 0;border-top:1px solid var(--rule)}
.section-head{display:flex;align-items:baseline;gap:18px;margin-bottom:clamp(34px,5vw,60px)}
.section-head .idx{font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--signal);padding-top:6px}
.section-head h2{font-family:var(--display);font-weight:800;font-size:var(--text-h2);letter-spacing:-.02em;text-transform:uppercase}
.lede-mono{font-family:var(--mono);font-size:13px;letter-spacing:.05em;color:var(--sub);max-width:60ch}

/* reveal masks — JS adds the motion; default state is always visible (no-JS safe) */
.reveal{overflow:clip;display:block}
.reveal>*{display:block;will-change:transform}
.r-up{display:inline-block}

/* ---------- evidence ledger (the index) ---------- */
#work{background:var(--ink)}
.ledger-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ash);padding-bottom:14px;border-bottom:1px solid var(--line)}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 8px}
.filt{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ash);background:transparent;border:1px solid var(--line);padding:7px 13px;border-radius:2px;cursor:pointer;transition:all .25s var(--ease)}
.filt:hover{color:var(--paper);border-color:var(--ash-2)}
.filt.active{color:#fff;background:var(--signal);border-color:var(--signal)}

.ledger{margin-top:8px;border-top:1px solid var(--line)}
.lrow{display:grid;grid-template-columns:54px 1fr 200px 90px 130px;align-items:center;gap:18px;
  padding:18px 6px;border-bottom:1px solid var(--line);position:relative;
  transition:background .3s var(--ease),opacity .3s var(--ease),padding .3s var(--ease);cursor:pointer}
.lrow .lnum{font-family:var(--mono);font-size:12px;color:var(--ash-2);font-variant-numeric:tabular-nums}
.lrow .ltitle{font-family:var(--display);font-weight:700;font-size:clamp(1.05rem,2vw,1.5rem);letter-spacing:-.01em;text-transform:uppercase;line-height:1.05}
.lrow .ltitle .star{color:var(--signal);font-size:.6em;vertical-align:middle;margin-right:6px}
.lrow .lblurb{font-family:var(--mono);font-size:11.5px;color:var(--ash);margin-top:5px;max-width:52ch;line-height:1.5}
.lrow .lclass{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ash-2)}
.lrow .lyear{font-family:var(--mono);font-size:12px;color:var(--ash);font-variant-numeric:tabular-nums}
.lrow .lstatus{font-family:var(--mono);font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--ash-2);text-align:right;display:flex;align-items:center;justify-content:flex-end;gap:7px}
.lrow .lstatus .sd{width:6px;height:6px;border-radius:50%;background:var(--ash-2)}
.lrow[data-live="1"] .lstatus{color:var(--signal)} .lrow[data-live="1"] .sd{background:var(--signal);box-shadow:0 0 0 0 rgba(193,18,31,.5);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 7px rgba(193,18,31,0)}}
.lrow .arrow{position:absolute;right:6px;opacity:0;color:var(--signal);transition:opacity .25s var(--ease),transform .25s var(--ease);transform:translateX(-6px)}
.ledger:hover .lrow:not(:hover){opacity:.45}
.lrow:hover{background:rgba(193,18,31,.05);padding-left:16px}
.lrow:hover .arrow{opacity:0;transform:translateX(0)} /* arrow shown via status on wide; keep subtle */
.lrow.hidden{display:none}
@media(max-width:900px){
  .lrow{grid-template-columns:40px 1fr;gap:10px}
  .lrow .lclass,.lrow .lyear,.lrow .lstatus{display:none}
}

/* ---------- about ---------- */
.about-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(30px,6vw,90px)}
.about-grid .lead{font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.25;font-weight:400;letter-spacing:-.01em}
.about-grid .lead em{font-style:italic;color:var(--signal)}
.about-grid .body{font-family:var(--serif);font-size:18px;line-height:1.65;color:var(--fg)}
.about-grid .body p{margin-bottom:18px}
.about-grid .body p:last-child{margin-bottom:0}
.creds{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.creds span{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--sub);border:1px solid var(--rule);padding:6px 11px;border-radius:2px}
@media(max-width:760px){.about-grid{grid-template-columns:1fr}}

/* ---------- contact ---------- */
.contact .big{font-family:var(--display);font-weight:900;font-size:var(--text-display);letter-spacing:-.03em;text-transform:uppercase;margin:8px 0 22px}
.contact p{font-family:var(--mono);font-size:13px;color:var(--sub);max-width:56ch;margin-bottom:30px}
.ways{display:flex;flex-wrap:wrap;gap:10px 30px}
.ways a{font-family:var(--mono);font-size:13px;letter-spacing:.04em;text-transform:uppercase;position:relative;padding-bottom:3px}
.ways a::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}
.ways a:hover::after{transform:scaleX(1);transform-origin:left}
.ways a:hover{color:var(--signal)}

/* ---------- marquee ---------- */
.marquee{overflow:hidden;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:14px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee .track{display:inline-flex;gap:40px;white-space:nowrap;animation:scroll 42s linear infinite;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--sub)}
.marquee:hover .track{animation-play-state:paused}
.marquee .track span .s{color:var(--signal);margin-right:40px}
@keyframes scroll{to{transform:translateX(-50%)}}

/* ---------- footer ---------- */
.footer{position:relative;z-index:10;background:var(--ink);border-top:1px solid var(--line);padding:46px 0;color:var(--ash)}
.footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.footer a:hover{color:var(--signal)}

/* =====================================================================
   ARTICLE / PROJECT / NOTEBOOK pages
   ===================================================================== */
.article-hero{position:relative;z-index:10;background:var(--ink);padding:140px 0 50px;border-bottom:1px solid var(--line)}
.article-hero .back{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ash);margin-bottom:34px}
.article-hero .back a:hover{color:var(--signal)}
.article-hero h1{font-family:var(--display);font-weight:900;font-size:var(--text-display);letter-spacing:-.03em;text-transform:uppercase;line-height:.92;max-width:18ch}
.article-hero .standfirst{font-family:var(--serif);font-size:clamp(1.15rem,2.2vw,1.6rem);line-height:1.35;color:var(--ash);margin-top:22px;max-width:60ch}
.badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.byline-badge{font-family:var(--mono);font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--sub);border:1px solid var(--line);padding:5px 10px;border-radius:2px}
.byline-badge.flag{color:var(--signal);border-color:var(--signal-dim)}
.byline-badge.live{color:var(--signal)}
.cover-plate{margin-top:40px;border:1px solid var(--line);overflow:hidden}
.cover-plate img{width:100%}

/* article body sits on PAPER — the printed-evidence surface */
.article-wrap{position:relative;z-index:10;background:var(--paper);color:var(--ink)}
.article{display:grid;grid-template-columns:1fr 300px;gap:clamp(34px,6vw,80px);padding:clamp(50px,7vw,90px) 0 clamp(70px,9vw,120px)}
.prose{font-family:var(--serif);font-size:18.5px;line-height:1.68;color:#1a1c1f;max-width:70ch}
.prose h2{font-family:var(--display);font-weight:800;font-size:clamp(1.4rem,2.6vw,2rem);letter-spacing:-.01em;text-transform:uppercase;margin:46px 0 16px;color:var(--ink)}
.prose h3{font-family:var(--display);font-weight:700;font-size:1.2rem;margin:32px 0 12px;text-transform:uppercase;letter-spacing:-.005em}
.prose p{margin-bottom:20px}
.prose a{color:var(--signal);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.prose ul,.prose ol{margin:0 0 20px 22px}.prose li{margin-bottom:8px}
.prose strong{font-weight:600}
.prose code{font-family:var(--mono);font-size:.85em;background:rgba(11,12,14,.07);padding:2px 6px;border-radius:3px}
.prose blockquote{border-left:2px solid var(--signal);padding-left:20px;margin:24px 0;font-style:italic;color:var(--graphite)}
.codeblock{margin:26px 0;border:1px solid var(--line-paper);border-radius:4px;overflow:hidden;background:#0d0f12}
.codeblock .cap{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ash);padding:9px 14px;background:#15181c;border-bottom:1px solid rgba(255,255,255,.06)}
.codeblock .highlight{margin:0}.codeblock pre{margin:0;padding:16px 18px;overflow-x:auto;font-family:var(--mono);font-size:13px;line-height:1.55}
.callout{margin:24px 0;padding:16px 20px;border-radius:4px;font-family:var(--mono);font-size:13.5px;line-height:1.55;border-left:3px solid var(--ash-2);background:rgba(11,12,14,.04)}
.callout.warn{border-left-color:var(--signal);background:rgba(193,18,31,.06)}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:26px 0}
.gallery img{border:1px solid var(--line-paper);width:100%}
.videoblock{margin:26px 0}.videoblock video{width:100%;border:1px solid var(--line-paper)}
.videoblock figcaption{font-family:var(--mono);font-size:11px;color:var(--ash-2);margin-top:8px;text-transform:uppercase;letter-spacing:.05em}

.aside{align-self:start;position:sticky;top:90px}
.aside .blk{margin-bottom:30px;padding-bottom:24px;border-bottom:1px solid var(--line-paper)}
.aside h4{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ash-2);margin-bottom:12px}
.aside .stack{display:flex;flex-wrap:wrap;gap:6px}
.aside .stack span{font-family:var(--mono);font-size:11px;color:var(--graphite);border:1px solid var(--line-paper);padding:4px 9px;border-radius:2px}
.aside .kv{display:flex;justify-content:space-between;gap:14px;font-family:var(--mono);font-size:12px;padding:5px 0;border-bottom:1px dotted var(--line-paper)}
.aside .kv .k{color:var(--ash-2);text-transform:uppercase;letter-spacing:.04em;font-size:10.5px}
.aside .kv .v{color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}
.aside .linkrow a{display:block;font-family:var(--mono);font-size:12px;color:var(--signal);padding:5px 0}
.aside .linkrow a:hover{text-decoration:underline}
@media(max-width:820px){.article{grid-template-columns:1fr}.aside{position:static}}

/* ---------- resume ---------- */
.resume-doc{position:relative;z-index:10;background:var(--paper);color:var(--ink)}

/* ---------- reduced motion ---------- */
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .marquee .track{animation:none}
  .scroll-cue .ln{animation:none}
  #surface{display:none}
}

/* 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: #8F5902; font-style: italic } /* Comment */
.highlight .err { color: #A40000; border: 1px solid #EF2929 } /* Error */
.highlight .g { color: #000 } /* Generic */
.highlight .k { color: #204A87; font-weight: bold } /* Keyword */
.highlight .l { color: #000 } /* Literal */
.highlight .n { color: #000 } /* Name */
.highlight .o { color: #CE5C00; font-weight: bold } /* Operator */
.highlight .x { color: #000 } /* Other */
.highlight .p { color: #000; font-weight: bold } /* Punctuation */
.highlight .ch { color: #8F5902; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #8F5902; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #8F5902; font-style: italic } /* Comment.Preproc */
.highlight .cpf { color: #8F5902; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #8F5902; font-style: italic } /* Comment.Single */
.highlight .cs { color: #8F5902; font-style: italic } /* Comment.Special */
.highlight .gd { color: #A40000 } /* Generic.Deleted */
.highlight .ge { color: #000; font-style: italic } /* Generic.Emph */
.highlight .ges { color: #000; font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #EF2929 } /* Generic.Error */
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #00A000 } /* Generic.Inserted */
.highlight .go { color: #000; font-style: italic } /* Generic.Output */
.highlight .gp { color: #8F5902 } /* Generic.Prompt */
.highlight .gs { color: #000; font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #A40000; font-weight: bold } /* Generic.Traceback */
.highlight .kc { color: #204A87; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #204A87; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #204A87; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #204A87; font-weight: bold } /* Keyword.Pseudo */
.highlight .kr { color: #204A87; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #204A87; font-weight: bold } /* Keyword.Type */
.highlight .ld { color: #000 } /* Literal.Date */
.highlight .m { color: #0000CF; font-weight: bold } /* Literal.Number */
.highlight .s { color: #4E9A06 } /* Literal.String */
.highlight .na { color: #C4A000 } /* Name.Attribute */
.highlight .nb { color: #204A87 } /* Name.Builtin */
.highlight .nc { color: #000 } /* Name.Class */
.highlight .no { color: #000 } /* Name.Constant */
.highlight .nd { color: #5C35CC; font-weight: bold } /* Name.Decorator */
.highlight .ni { color: #CE5C00 } /* Name.Entity */
.highlight .ne { color: #C00; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #000 } /* Name.Function */
.highlight .nl { color: #F57900 } /* Name.Label */
.highlight .nn { color: #000 } /* Name.Namespace */
.highlight .nx { color: #000 } /* Name.Other */
.highlight .py { color: #000 } /* Name.Property */
.highlight .nt { color: #204A87; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #000 } /* Name.Variable */
.highlight .ow { color: #204A87; font-weight: bold } /* Operator.Word */
.highlight .pm { color: #000; font-weight: bold } /* Punctuation.Marker */
.highlight .w { color: #F8F8F8 } /* Text.Whitespace */
.highlight .mb { color: #0000CF; font-weight: bold } /* Literal.Number.Bin */
.highlight .mf { color: #0000CF; font-weight: bold } /* Literal.Number.Float */
.highlight .mh { color: #0000CF; font-weight: bold } /* Literal.Number.Hex */
.highlight .mi { color: #0000CF; font-weight: bold } /* Literal.Number.Integer */
.highlight .mo { color: #0000CF; font-weight: bold } /* Literal.Number.Oct */
.highlight .sa { color: #4E9A06 } /* Literal.String.Affix */
.highlight .sb { color: #4E9A06 } /* Literal.String.Backtick */
.highlight .sc { color: #4E9A06 } /* Literal.String.Char */
.highlight .dl { color: #4E9A06 } /* Literal.String.Delimiter */
.highlight .sd { color: #8F5902; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #4E9A06 } /* Literal.String.Double */
.highlight .se { color: #4E9A06 } /* Literal.String.Escape */
.highlight .sh { color: #4E9A06 } /* Literal.String.Heredoc */
.highlight .si { color: #4E9A06 } /* Literal.String.Interpol */
.highlight .sx { color: #4E9A06 } /* Literal.String.Other */
.highlight .sr { color: #4E9A06 } /* Literal.String.Regex */
.highlight .s1 { color: #4E9A06 } /* Literal.String.Single */
.highlight .ss { color: #4E9A06 } /* Literal.String.Symbol */
.highlight .bp { color: #3465A4 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #000 } /* Name.Function.Magic */
.highlight .vc { color: #000 } /* Name.Variable.Class */
.highlight .vg { color: #000 } /* Name.Variable.Global */
.highlight .vi { color: #000 } /* Name.Variable.Instance */
.highlight .vm { color: #000 } /* Name.Variable.Magic */
.highlight .il { color: #0000CF; font-weight: bold } /* Literal.Number.Integer.Long */