@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-vietnamese-wdth-normal.rJmnGBSt.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-latin-ext-wdth-normal.7khWdh9v.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-latin-wdth-normal.DY7AcnAa.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-vietnamese-opsz-normal.BjhtXyW2.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-ext-opsz-normal.BQn1nviT.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-opsz-normal.s-izfB6B.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-vietnamese-opsz-italic.DTr-ymY4.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-ext-opsz-italic.CSPGnFdO.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-opsz-italic.kJKFiXvB.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff)format("woff")}:root{color-scheme:light dark;--paper:light-dark(#f2f3ef,#0f1311);--paper-2:light-dark(#e6e9e3,#171d1a);--ink:light-dark(#17201b,#d3d9d4);--ink-2:light-dark(#4b5750,#a5b0a8);--ink-3:light-dark(#616964,#88908a);--rule:light-dark(#ccd2cb,#29322d);--orange:light-dark(#bf3402,#fe6c33);--orange-led:light-dark(#e8331c,#ff4a2e);--amber:light-dark(#8f5c03,#dc9a2a);--amber-led:light-dark(#b47506,#ffb31f);--green:light-dark(#05773b,#3fbf6f);--green-led:light-dark(#15964f,#3fcf72);--teal:light-dark(#01727c,#2ab8c5);--teal-led:light-dark(#0c909c,#33d6e3);--violet:light-dark(#7d43dd,#a884ff);--violet-led:light-dark(#9762fd,#b392ff);--magenta:light-dark(#c60676,#ff6aae);--magenta-led:light-dark(#e93b92,#ff63ad);--accent:var(--orange);--accent-led:var(--orange-led);--led:light-dark(#e8331c,#ff4a2e);--led-off:#3b1e19;--bezel:#1a1110;--turbo-on:#3fcf72;--turbo-off:#34443a;--turbo-at:1.3s;--font-display:"Archivo Variable", "Arial Narrow", sans-serif;--font-body:"Newsreader Variable", Georgia, serif;--font-mono:"IBM Plex Mono", ui-monospace, "Cascadia Mono", monospace;--measure:36rem;--wide:48rem;--gutter:1rem}:root[data-mode=light]{color-scheme:light}:root[data-mode=dark]{color-scheme:dark}:root[data-theme=contrast]{--paper:light-dark(#fff,#000);--paper-2:light-dark(#f1f1f1,#161616);--ink:light-dark(#000,#fff);--ink-2:light-dark(#1c1c1c,#ebebeb);--ink-3:light-dark(#383838,#c8c8c8);--rule:light-dark(#757575,#8c8c8c);--orange:light-dark(#8f2f02,#ff9f7d);--amber:light-dark(#6d4803,#f6a700);--green:light-dark(#035c2d,#46cf79);--teal:light-dark(#06585f,#07cada);--violet:light-dark(#6623c1,#c0abfe);--magenta:light-dark(#9c005b,#ff97c1);--orange-led:var(--orange);--amber-led:var(--amber);--green-led:var(--green);--teal-led:var(--teal);--violet-led:var(--violet);--magenta-led:var(--magenta)}:root[data-theme=phosphor]{color-scheme:dark;--paper:#0c0800;--paper-2:#1a1204;--ink:#ffb000;--ink-2:#e09a10;--ink-3:#b07a1a;--rule:#3a2a0c;--orange:#ffd166;--amber:#ffd166;--green:#ffd166;--teal:#ffd166;--violet:#ffd166;--magenta:#ffd166;--orange-led:#ffd166;--amber-led:#ffb000;--green-led:#c48a1e;--teal-led:#ffb000;--violet-led:#ffb000;--magenta-led:#ffb000;--font-display:var(--font-mono);--font-body:var(--font-mono)}[data-accent=orange]{--accent:var(--orange);--accent-led:var(--orange-led)}[data-accent=amber]{--accent:var(--amber);--accent-led:var(--amber-led)}[data-accent=green]{--accent:var(--green);--accent-led:var(--green-led)}[data-accent=teal]{--accent:var(--teal);--accent-led:var(--teal-led)}[data-accent=violet]{--accent:var(--violet);--accent-led:var(--violet-led)}[data-accent=magenta]{--accent:var(--magenta);--accent-led:var(--magenta-led)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-optical-sizing:auto;font-kerning:normal;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:1.1875rem;line-height:1.6}::selection{background:color-mix(in srgb, var(--accent-led) 28%, transparent)}a{color:var(--accent);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{color:color-mix(in oklab, var(--accent) 65%, var(--ink));text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}img,svg{max-width:100%}.skip-link{left:var(--gutter);background:var(--ink);color:var(--paper);font-family:var(--font-mono);padding:.4rem .7rem;font-size:.85rem;position:absolute;top:-3rem}.skip-link:focus{top:.5rem}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}body:before{content:"";background:linear-gradient(90deg, var(--orange-led) 0 16.67%, var(--amber-led) 0 33.33%, var(--green-led) 0 50%, var(--teal-led) 0 66.67%, var(--violet-led) 0 83.33%, var(--magenta-led) 0);height:6px;display:block}body[data-accent]:before{background:var(--accent-led)}.frame{width:min(var(--wide), 100% - 2 * var(--gutter));margin-inline:auto}.site-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;padding-block:1.5rem 0;display:flex}.brand{color:var(--ink);align-items:center;gap:.7rem;text-decoration:none;display:inline-flex}.brand:hover{color:var(--ink)}.brand-name{font-family:var(--font-display);letter-spacing:.03em;font-size:1.35rem;font-weight:760;font-stretch:75%}.site-tools{align-items:center;gap:1.25rem;display:flex}.site-nav ul{font-family:var(--font-mono);gap:1.25rem;margin:0;padding:0;font-size:.85rem;list-style:none;display:flex}.site-nav a{color:var(--ink-2);text-decoration:none}.site-nav a:hover,.site-nav a[aria-current]{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent-led);text-underline-offset:.35em;text-decoration-thickness:2px}main{padding-block:3.5rem 4rem}.site-footer{border-top:1px solid var(--rule);color:var(--ink-3);font-family:var(--font-mono);padding-block:2rem 3rem;font-size:.82rem;line-height:1.7}.site-footer p{margin:0}.site-footer a{color:inherit}.bezel{background:var(--bezel);border-radius:4px;padding:.3rem .35rem;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffff0f}.sevenseg{width:auto;height:1.6rem;display:block}.sevenseg .seg{fill:var(--led-off)}.sevenseg .seg.on{fill:var(--led);filter:drop-shadow(0 0 1.2px light-dark(transparent,color-mix(in srgb, var(--led) 70%, transparent)))}.hero-panel{justify-self:start;justify-items:start;gap:.6rem;display:grid}.turbo{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:.45rem;font-size:.72rem;display:inline-flex}.turbo-led{background:var(--turbo-on);width:.55rem;height:.55rem;box-shadow:0 0 6px color-mix(in srgb, var(--turbo-on) 70%, transparent);border-radius:50%}@keyframes seg-unlit{0%,to{fill:var(--led-off);filter:none}}@keyframes seg-lit{0%,to{fill:var(--led)}}@keyframes turbo-unlit{0%,to{background:var(--turbo-off);box-shadow:none}}@media (prefers-reduced-motion:no-preference){.sevenseg .seg.turn-on{animation:seg-unlit var(--turbo-at) step-end}.sevenseg .seg.turn-off{animation:seg-lit var(--turbo-at) step-end}.turbo-led{animation:turbo-unlit var(--turbo-at) step-end}}.bezel-lg .sevenseg{height:clamp(4.5rem,14vw,7rem)}.bezel-lg{border-radius:6px;padding:.7rem .8rem}.label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:0 0 1.25rem;font-size:.8rem;font-weight:500}.meta{font-family:var(--font-mono);color:var(--ink-3);font-size:.84rem}.led{background:var(--accent-led);width:.6rem;height:.6rem;box-shadow:0 0 0 2px light-dark(color-mix(in srgb, var(--accent-led) 18%, transparent),transparent), 0 0 7px light-dark(transparent,color-mix(in srgb, var(--accent-led) 75%, transparent));vertical-align:.02em;border-radius:50%;margin-inline-end:.6rem;display:inline-block}.display{font-family:var(--font-display);letter-spacing:-.005em;text-wrap:balance;font-weight:760;font-stretch:75%;line-height:1.04}.badge-draft{border:1px solid var(--orange);color:var(--orange);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;vertical-align:.2em;border-radius:3px;margin-inline-end:.5rem;padding:0 .4rem;font-size:.72rem;display:inline-block}.hero{grid-template-columns:auto 1fr;align-items:center;gap:1.5rem 2rem;margin-bottom:4.5rem;display:grid}.hero>.bezel{justify-self:start}.hero-thesis{text-wrap:pretty;max-width:28ch;margin:0;font-size:clamp(1.45rem,3.4vw,2rem);font-weight:380;line-height:1.3}.hero-byline{margin:.9rem 0 0}@media (width<=40rem){.hero{grid-template-columns:1fr}}.section+.section{margin-top:4rem}.section-more{font-family:var(--font-mono);margin:1.5rem 0 0;font-size:.85rem}.entries{margin:0;padding:0;list-style:none}.entry{grid-template-columns:9.5rem 1fr;gap:.25rem 1.5rem;padding-block:1.1rem;display:grid}.entry+.entry{border-top:1px solid var(--rule)}.entry-aside{color:var(--accent);padding-top:.45rem}.entry-title{margin:0;font-size:clamp(1.35rem,2.6vw,1.65rem)}.entry-title a{color:var(--accent);text-decoration:none}.entry-title a:hover{text-decoration:underline;text-decoration-color:var(--accent-led);text-decoration-thickness:2px}.entry-desc{color:var(--ink-2);margin:.35rem 0 0;font-size:1.05rem;line-height:1.5}@media (width<=40rem){.entry{grid-template-columns:1fr}.entry-aside{order:-1;padding-top:0}}.projects{grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr));gap:2.5rem 2rem;margin:0;padding:0;list-style:none;display:grid}.project{flex-direction:column;display:flex}.project-shot{aspect-ratio:16/10;border:1px solid var(--rule);background:var(--paper-2);border-radius:4px;width:100%;height:auto;display:block}.project-meta{margin:.9rem 0 .35rem}.project-links{flex-wrap:wrap;gap:.3rem 1.25rem;margin:.75rem 0 0;display:flex}.page-header{max-width:var(--measure);margin-bottom:2.5rem}.page-header .post-title{margin-top:0}.post-header{width:min(var(--measure), 100%);margin:0 auto 3rem}.post-title{margin:.6rem 0 1rem;font-size:clamp(2.2rem,6.2vw,3.7rem)}.post-standfirst{color:var(--ink-2);text-wrap:pretty;margin:0;font-size:1.35rem;font-style:italic;line-height:1.45}.post-footer{width:min(var(--measure), 100%);border-top:1px solid var(--rule);margin:3.5rem auto 0;padding-top:1.25rem}.tags{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.tags li{border:1px solid var(--accent-led);color:var(--accent);border-radius:999px;padding:.05rem .6rem}.prose{grid-template-columns:[wide-start] minmax(0, 1fr) [content-start] min(var(--measure), 100%) [content-end] minmax(0, 1fr) [wide-end];counter-reset:fig;hyphens:manual;display:grid}.prose>*{grid-column:content}.prose>.fig,.prose>table,.prose>pre{grid-column:wide}.prose p,.prose ul,.prose ol{margin:0 0 1.1em}.prose p{text-wrap:pretty}.prose li+li{margin-top:.35em}.prose ul,.prose ol{padding-left:1.3em}.prose li::marker{color:var(--accent-led)}.prose h2,.prose h3{color:var(--accent);font-family:var(--font-display);text-wrap:balance;font-weight:720;font-stretch:80%;line-height:1.15}.prose h2{margin:2.2em 0 .6em;font-size:1.6rem}.prose h3{margin:1.8em 0 .5em;font-size:1.25rem}.prose strong{font-weight:640}.prose blockquote{border-left:3px solid var(--accent-led);background:color-mix(in oklab, var(--accent-led) 7%, var(--paper));color:var(--ink-2);border-radius:0 4px 4px 0;margin:1.6em 0;padding:.7em 1em .7em 1.1em;font-style:italic}.prose hr{border:0;margin:2.5em 0}.prose hr:after{content:"";background:var(--accent-led);width:82px;height:5px;clip-path:path("M2.5 0H19.5L22 2.5L19.5 5H2.5L0 2.5Z M32.5 0H49.5L52 2.5L49.5 5H32.5L30 2.5Z M62.5 0H79.5L82 2.5L79.5 5H62.5L60 2.5Z");margin-inline:auto;display:block}.prose :not(pre)>code{background:color-mix(in oklab, var(--accent-led) 12%, var(--paper));font-family:var(--font-mono);border-radius:3px;padding:.08em .3em;font-size:.82em}.prose pre{background:var(--paper-2);font-family:var(--font-mono);border-radius:4px;margin:0 0 1.5em;padding:1rem 1.2rem;font-size:.85rem;line-height:1.55;overflow-x:auto}.prose table{border-collapse:collapse;margin:.5em 0 2em;font-size:.95rem;line-height:1.45;display:block;overflow-x:auto}.prose th{border-bottom:1px solid var(--ink-3);text-align:left;vertical-align:bottom;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);padding:0 1rem .5rem 0;font-size:.76rem;font-weight:500}.prose td{border-bottom:1px solid var(--rule);vertical-align:top;padding:.6rem 1rem .6rem 0}.prose td:first-child{white-space:nowrap;font-family:var(--font-mono);color:var(--ink-2);padding-top:.75rem;font-size:.82rem}.prose .footnotes{color:var(--ink-2);margin-top:3em;font-size:.95rem}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:var(--ink-3);font-style:italic}.token.keyword,.token.selector,.token.important,.token.atrule{color:var(--violet)}.token.string,.token.char,.token.attr-value,.token.regex{color:var(--green)}.token.number,.token.boolean,.token.constant{color:var(--amber)}.token.function,.token.class-name{color:var(--teal)}.token.tag,.token.property,.token.attr-name{color:var(--magenta)}.token.punctuation,.token.operator{color:var(--ink-2)}.fig{counter-increment:fig;margin:1.2em 0 2.4em}.fig-body{background:var(--paper-2);border-radius:6px;padding:1.5rem 1.25rem}.fig-body svg{width:100%;height:auto;display:block;overflow:visible}.fig figcaption{width:min(var(--measure), 100%);font-family:var(--font-mono);color:var(--ink-2);margin:.8rem auto 0;font-size:.82rem;line-height:1.55}.fig figcaption:before{content:"Fig. " counter(fig) "  ";white-space:pre;color:var(--ink);font-weight:500}.f-text{fill:var(--ink);font-family:var(--font-mono);font-size:12px}.f-title{fill:var(--ink);font-family:var(--font-display);font-size:15px;font-weight:700;font-stretch:80%}.f-note{fill:var(--ink-2);font-family:var(--font-body);font-size:13.5px;font-style:italic}.f-muted{fill:var(--ink-3)}.f-rule{stroke:var(--rule);stroke-width:1px;fill:none}.f-axis{stroke:var(--ink-3);stroke-width:1px;fill:none}.f-fill{fill:color-mix(in srgb, var(--ink) 10%, transparent)}.f-fill-strong{fill:color-mix(in srgb, var(--ink) 22%, transparent)}.f-accent{fill:var(--green-led)}.f-alert{fill:var(--orange-led)}.f-stroke-accent{stroke:var(--green-led);stroke-width:2.5px;fill:none}.f-stroke-alert{stroke:var(--orange-led);stroke-width:2.5px;fill:none}.f-dot{fill:var(--paper-2);stroke:var(--ink);stroke-width:2px}.f-dot.f-alert-dot{fill:var(--orange-led);stroke:var(--orange-led)}@media (prefers-reduced-motion:no-preference){a{transition:color .12s}}.f-stack ol{gap:4px;margin:0;padding:0;list-style:none;display:grid}.f-stack-end{letter-spacing:.1em;text-transform:uppercase;margin:0 0 .5rem;font-size:.76rem}.f-stack-end:last-child{margin:.5rem 0 0}.f-layer{display:grid}.f-layer>*{grid-area:1/1}.f-layer-band{display:block}.f-layer-text{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.1rem 1rem;padding:.5rem .9rem;line-height:1.3;display:flex}.f-layer-label{font-family:var(--font-display);font-size:1.05rem;font-weight:700;font-stretch:80%}.f-layer-note{color:var(--ink-2);font-size:.95rem;font-style:italic}.f-alert-soft{fill:color-mix(in srgb, var(--orange-led) 20%, transparent)}.f-shift-svg{display:block;overflow:visible}.f-shift-scale{letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;margin-top:.2rem;padding-inline:2%;font-size:.76rem;display:flex}.f-legend{gap:.45rem;margin:1.1rem 0 0;font-size:1rem;line-height:1.4;display:grid}.f-legend>div{grid-template-columns:1.6rem 1fr;align-items:baseline;display:grid}.f-legend dd{margin:0}.f-key{vertical-align:.3em;background:var(--ink);width:1.1rem;height:3px;display:inline-block}.f-key-dot{vertical-align:-.05em;border:2px solid var(--ink);background:0 0;border-radius:50%;width:.75rem;height:.75rem}.f-key-alert{background:var(--orange-led)}.f-key-accent{background:var(--green-led)}.f-timeline{margin:0;padding:0;list-style:none}.f-event{gap:.1rem;padding:0 0 1.3rem 1.6rem;line-height:1.4;display:grid;position:relative}.f-event:before{content:"";background:var(--ink-3);width:1px;position:absolute;top:.45rem;bottom:-.45rem;left:.3rem}.f-event:last-child:before{display:none}.f-event:after{content:"";border:2px solid var(--ink);background:var(--paper-2);border-radius:50%;width:.65rem;height:.65rem;position:absolute;top:.3rem;left:0}.f-event.is-alert:after{border-color:var(--orange-led);background:var(--orange-led)}.f-event:last-child{padding-bottom:0}.f-event-title{font-weight:560}.f-event-note{color:var(--ink-2);font-size:.95rem;font-style:italic}.f-bars{gap:.55rem;margin:0;display:grid}.f-bar-row{grid-template-columns:minmax(6rem,30%) 1fr;align-items:center;gap:1rem;display:grid}.f-bar-label{font-size:.98rem;line-height:1.3}.f-bar-cell{grid-template-columns:1fr 4.5rem;align-items:center;gap:.6rem;margin:0;display:grid}.f-bar-track{display:block}.f-bar-value{text-align:right;font-variant-numeric:tabular-nums}.f-bar-row.is-highlight .f-bar-label{font-weight:600}@media (width<=40rem){.f-bar-row{grid-template-columns:1fr;gap:.2rem}}.theme-picker{font-family:var(--font-mono);font-size:.85rem;position:relative}.theme-picker[hidden]{display:none}.theme-picker>summary{color:var(--ink-2);cursor:pointer;align-items:center;gap:.45rem;list-style:none;display:inline-flex}.theme-picker>summary::-webkit-details-marker{display:none}.theme-picker>summary:before{content:"";background:linear-gradient(90deg, var(--orange-led) 0 33.3%, var(--teal-led) 0 66.6%, var(--violet-led) 0);border-radius:2px;width:1.4rem;height:.45rem}.theme-picker>summary:hover,.theme-picker[open]>summary{color:var(--ink)}.theme-panel{z-index:10;width:15rem;max-width:calc(100vw - 2 * var(--gutter));border:1px solid var(--rule);background:var(--paper);border-radius:6px;gap:1.1rem;padding:1rem;display:grid;position:absolute;top:calc(100% + .6rem);right:0;box-shadow:0 10px 30px #0000002e}.theme-panel fieldset{border:0;gap:.45rem;min-width:0;margin:0;padding:0;display:grid}.theme-panel legend{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.5rem;padding:0;font-size:.76rem}.theme-panel label{color:var(--ink);cursor:pointer;align-items:center;gap:.6rem;display:flex}.theme-panel input{accent-color:var(--accent);margin:0}.theme-panel fieldset:disabled label{color:var(--ink-3);cursor:default}.theme-note{color:var(--ink-3);margin:.15rem 0 0;font-size:.8rem;display:none}.theme-panel fieldset:disabled .theme-note{display:block}.swatch{border-radius:2px;width:2.4rem;height:.7rem;margin-left:auto;box-shadow:inset 0 0 0 1px #80808066}.swatch-colourful{background:linear-gradient(90deg,#e8331c 0 25%,#0c909c 0 50%,#9762fd 0 75%,#e93b92 0)}.swatch-calm{background:linear-gradient(90deg,#ccd2cb 0 75%,#e8331c 0)}.swatch-contrast{background:linear-gradient(90deg,#000 0 50%,#fff 0)}.swatch-phosphor{background:linear-gradient(90deg,#0c0800 0 50%,#ffb000 0)}:is([data-theme=calm],[data-theme=contrast]) body:before{display:none}:is([data-theme=calm],[data-theme=contrast]) :is(.entry-title a,.prose h2,.prose h3){color:var(--ink)}:is([data-theme=calm],[data-theme=contrast]) .entry-aside,:is([data-theme=calm],[data-theme=contrast]) .tags li,:is([data-theme=calm],[data-theme=contrast]) .prose li::marker{color:var(--ink-3)}:is([data-theme=calm],[data-theme=contrast]) .prose blockquote{background:0 0;padding-block:0}:is([data-theme=calm],[data-theme=contrast]) .prose :not(pre)>code{background:var(--paper-2)}:is([data-theme=calm],[data-theme=contrast]) .tags li{border:0;padding:0}[data-theme=contrast] body{font-weight:450}[data-theme=contrast] .prose strong{font-weight:720}[data-theme=contrast] a{text-decoration-thickness:2px}[data-theme=contrast] :focus-visible{outline-width:3px}[data-theme=contrast] .prose blockquote{border-left-color:var(--ink);color:var(--ink)}[data-theme=contrast] .prose hr:after{background:var(--ink)}[data-theme=phosphor] body{text-shadow:0 0 2px #ffb0004d;background-image:repeating-linear-gradient(#0000 0 2px,#0003 2px 3px);font-size:1.0625rem}[data-theme=phosphor] body:before{display:none}[data-theme=phosphor] :is(.display,.brand-name,.prose h2,.prose h3,.prose strong,.f-layer-label){letter-spacing:0;font-weight:500;font-stretch:100%}[data-theme=phosphor] .post-title{font-size:clamp(1.8rem,5vw,2.6rem)}[data-theme=phosphor] .hero-thesis{font-size:clamp(1.2rem,2.8vw,1.6rem)}
