@font-face{font-family:Jost;font-style:normal;font-weight:100 900;font-display:optional;src:url(../fonts/jost-latin-wght-normal.woff2)format("woff2")}@font-face{font-family:Orbitron;font-style:normal;font-weight:400 900;font-display:optional;src:url(../fonts/orbitron-wght.ttf)format("truetype")}:root{color-scheme:dark;--accent:#FBB03B;--on-accent:#1A1A1A;--bg:#0F0F0F;--surface:#202020;--text:#F0F0F0;--muted:#B5ADA2;--link:#FBB03B;--focus:#FBB03B;--rule:#3A3530;--border:#3A3530;--gray:#808080;--frame-edge:#606060;--frame-dark:#1E1E1E;--frame-mid:#3A3A3A;--carbon-base:#181818;--carbon-line:#282828;--plate:#281808;--accent-deep:#AF6A0E;--code-keyword:#FBB03B;--code-string:#9ED28A;--code-number:#7FC8E8;--code-function:#C9A8F0;--code-comment:#A8A093;--code-deleted:#F4968D;--code-inserted:#9ED28A;--glow:rgb(251 176 59 / 0.16);--glow-strong:rgb(251 176 59 / 0.35);--shadow:rgb(0 0 0 / 0.5);--font-body:Jost, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:"Cyber City", Orbitron, Jost, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--text-sm:0.875rem;--text-base:1.125rem;--text-lg:1.375rem;--text-xl:1.75rem;--text-2xl:2.25rem;--line-height:1.6;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space:var(--space-4);--space-5:1.5rem;--space-6:2.5rem;--measure:42rem;--radius:0.5rem;--tap:2.75rem;--rule-width:1px;--rule-accent-width:3px;--chevron-size:0.5rem;--chevron-width:2px;--duration:150ms}*,*::before,*::after{box-sizing:border-box}:root{--page-max:var(--measure);--page-gutter:var(--space);--prose-max:75ch;--box-prose-max:100ch;--k:1}@media(min-width:60rem){:root{--page-max:60rem}}@media(min-width:80rem){:root{--page-max:72rem;--page-gutter:var(--space-5)}}@media(min-width:100rem){:root{--page-max:80rem}}@media(min-width:120rem){:root{--page-max:90rem}}@media(min-width:1921px){html{font-size:max(100%,min(calc(100vw/120),calc(100vh/60)))}}@supports(scale:calc(1px / 1px)){@media(min-width:1921px){:root{--m:max(1, min(calc(100vw / 1920px), calc(100vh / 960px)));--k:var(--m)}html{font-size:calc(100% * var(--m))}}}body{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;margin:0;background:var(--bg);background-image:radial-gradient(60rem 28rem at 50% 0,var(--glow),transparent 70%);background-repeat:no-repeat;color:var(--text);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--line-height)}.wrap{width:100%;max-width:var(--page-max);margin:0 auto;padding:0 var(--page-gutter)}main p{max-width:var(--prose-max)}.panel p,.skill-group p,.about-contact p,.fact-card dd{max-width:var(--box-prose-max)}h1,h2,h3{text-wrap:balance}h1,h2{font-family:var(--font-display);font-weight:700;line-height:1.2}h1{font-size:var(--text-xl)}h2{font-size:var(--text-lg)}a{color:var(--link)}a:focus-visible{outline:var(--rule-accent-width)solid var(--focus);outline-offset:2px}.skip-link{position:absolute;left:var(--space);top:-4rem;padding:var(--space-2)var(--space);background:var(--accent);color:var(--on-accent);z-index:10}.skip-link:focus{top:var(--space)}.site-header{position:relative;border-bottom:var(--rule-width)solid var(--rule);padding:var(--space)0}.site-header .wrap{display:flex;flex-wrap:nowrap;gap:var(--space);align-items:center;justify-content:space-between;max-width:max(60rem,var(--page-max))}.site-title{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--tap);min-width:0;overflow-wrap:anywhere;font-family:var(--font-display);font-weight:700;text-decoration:none;color:var(--text)}.site-mark{flex:none;width:2.25rem;height:2.25rem}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.nav-toggle{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer}.nav-toggle::after{content:"";width:var(--chevron-size);height:var(--chevron-size);margin-top:calc(var(--chevron-size)/-2);border-right:var(--chevron-width)solid;border-bottom:var(--chevron-width)solid;transform:rotate(45deg);transform-origin:65% 65%;transition:transform var(--duration)ease}.nav-menu:has(:popover-open) .nav-toggle{--fill:var(--frame-fill)}.nav-menu:has(:popover-open) .nav-toggle::after{transform:rotate(-135deg)}@media(prefers-reduced-motion:reduce){.nav-toggle::after{transition:none}}.nav-menu ul{position:absolute;top:calc(var(--space) * 2 + var(--tap) + var(--rule-width));inset-inline:0;bottom:auto;width:auto;height:auto;max-height:none;overflow:visible;z-index:5;list-style:none;margin:0;padding:0 var(--space);background:var(--surface);color:var(--text);border:0;border-bottom:var(--rule-width)solid var(--rule);box-shadow:0 .75rem 1.5rem var(--shadow)}.nav-menu li+li{border-top:var(--rule-width)solid var(--rule)}.nav-menu li a{display:flex;align-items:center;min-height:var(--tap)}@supports not selector(:popover-open){.nav-menu .nav-toggle{display:none}.nav-menu ul{position:static;box-shadow:none}}.footer-row a,.archive-links a,.tag-list a,.post-list li>a,.more-link a{display:inline-flex;align-items:center;min-height:var(--tap);min-width:var(--tap)}.credit a{display:inline-block;min-height:1.5rem;line-height:1.5rem;text-decoration:underline}@media(min-width:36rem) and (max-width:63.99rem){.nav-menu ul{inset-inline:auto var(--space);width:18rem;border:var(--rule-width)solid var(--rule);border-top:0}}@media(min-width:64rem){.nav-menu .nav-toggle{display:none}.nav-menu ul{position:static;display:flex;flex-wrap:wrap;gap:var(--space-2);padding:0;background:0 0;border:0;box-shadow:none}.nav-menu li+li{border-top:0}.nav-menu li a{display:inline-flex;padding:0 var(--space-2)}}.nav-menu li a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:var(--rule-accent-width);text-underline-offset:.35em}main{flex:1 0 auto;padding:var(--space-6)0}@media(min-width:80rem){main{padding:var(--space-5)0}}.site-footer{border-top:var(--rule-width)solid var(--rule);padding:var(--space)0;color:var(--muted);font-size:var(--text-sm)}.site-footer .wrap{display:flex;flex-direction:column;gap:var(--space-2)}.footer-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0 var(--space-5)}.footer-meta p{margin:0}.footer-social{flex:0 0 100%;display:flex;justify-content:center;min-height:var(--tap)}.footer-social-list{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2);list-style:none;margin:0;padding:0;max-width:min(100%,calc(var(--per,12) * var(--tap) + (var(--per,12) - 1) * var(--space-2)))}.footer-social-list--per-1{--per:1}.footer-social-list--per-2{--per:2}.footer-social-list--per-3{--per:3}.footer-social-list--per-4{--per:4}.footer-social-list--per-5{--per:5}.footer-social-list--per-6{--per:6}.footer-social-list--per-7{--per:7}.footer-social-list--per-8{--per:8}.footer-social-list--per-9{--per:9}.footer-social-list--per-10{--per:10}.footer-social-list--per-11{--per:11}.footer-social-list--per-12{--per:12}@media(min-width:80rem){.footer-meta{justify-content:flex-start;align-items:center;gap:0 var(--space-5)}.footer-social{flex:none;justify-content:flex-start}.footer-social-list{flex-wrap:nowrap;justify-content:flex-start;max-width:none}.footer-meta .credit{flex:0 0 100%}}.footer-social-link{display:flex;align-items:center;justify-content:center;width:var(--tap);height:var(--tap)}.footer-social-link .social-icon{width:var(--space-5);height:var(--space-5)}.footer-social-link:hover .social-icon,.footer-social-link:focus-visible .social-icon{background-color:var(--text)}.meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 var(--space);color:var(--muted);font-size:var(--text-sm)}.comments-archive{margin-top:var(--space-6);padding-top:var(--space-4);border-top:var(--rule-width)solid var(--border)}.comments-archive .comment{margin:var(--space-4)0 0}.comments-archive blockquote{margin:0;padding-left:var(--space-4);border-left:var(--rule-accent-width)solid var(--accent)}.comments-archive blockquote p{margin:0 0 var(--space-3)}.comments-archive figcaption{margin-top:var(--space-2);padding-left:var(--space-4);color:var(--muted);font-size:var(--text-sm)}.post-list .meta{margin-top:var(--space-1)}.post-list{list-style:none;padding:0}.post-list li{padding:var(--space)0;border-bottom:var(--rule-width)solid var(--rule)}.tag-list{display:flex;flex-wrap:wrap;gap:0 var(--space-2);margin:0;list-style:none;padding:0}img{max-width:100%;height:auto}pre,code{font-family:var(--font-mono);background:var(--surface)}pre{padding:var(--space);overflow-x:auto;max-width:100%;white-space:pre;overflow-wrap:normal;tab-size:4}pre code{white-space:inherit}pre:focus-visible{outline:var(--rule-accent-width)solid var(--focus);outline-offset:2px}.rule-accent{border:0;border-top:var(--rule-accent-width)solid var(--accent);width:3rem;margin:var(--space-5)0;box-shadow:0 0 1rem var(--glow-strong)}.chevron{display:inline-block;width:var(--chevron-size);height:var(--chevron-size);border-top:var(--chevron-width)solid;border-right:var(--chevron-width)solid;transform:rotate(45deg);transition:transform var(--duration)ease}@media(prefers-reduced-motion:reduce){.chevron{transition:none}}.brand-mark{height:var(--tap);width:auto;filter:drop-shadow(0 0 .75rem var(--glow-strong))}.footer-row{display:flex;flex-wrap:wrap;gap:0 var(--space);list-style:none;margin:0;padding:0}.panel{position:relative;padding:var(--space-5)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--tap);min-width:var(--tap);padding:0 var(--space-5);font:inherit;font-weight:700;text-decoration:none;cursor:pointer}.btn-primary{color:var(--on-accent)}.btn-ghost{color:var(--text)}summary:focus-visible{outline:var(--rule-accent-width)solid var(--focus);outline-offset:3px}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:var(--space);list-style:none;margin:0;padding:0}.tile{display:block;min-height:var(--tap);padding:var(--space);color:var(--text);text-decoration:none}.hud-heading{font-family:var(--font-display);display:flex;align-items:center;gap:var(--space-2)}.hud-heading::after{content:"";flex:1;border-top:var(--rule-width)solid var(--accent-deep)}details.accordion{border:var(--rule-width)solid var(--border);background:var(--surface)}details.accordion+details.accordion{border-top:0}details.accordion>summary{display:flex;align-items:center;gap:var(--space-2);min-height:var(--tap);padding:0 var(--space);cursor:pointer;list-style:none}details.accordion>summary::-webkit-details-marker{display:none}details.accordion>summary::before{content:"";width:var(--chevron-size);height:var(--chevron-size);border-top:var(--chevron-width)solid var(--accent);border-right:var(--chevron-width)solid var(--accent);transform:rotate(45deg);transition:transform var(--duration)ease}details.accordion[open]>summary::before{transform:rotate(135deg)}details.accordion>:not(summary){padding:0 var(--space)var(--space)}@media(prefers-reduced-motion:reduce){details.accordion>summary::before{transition:none}}@media(forced-colors:active){.btn,.panel,.tile{border-color:CanvasText}}.carbon{background:var(--carbon-base);border:1px solid var(--carbon-line)}.glow{box-shadow:0 0 1rem var(--glow-strong)}@media print{.skip-link,.site-header,.site-footer{display:none}body{background:Canvas;color:CanvasText}a{color:LinkText}.carbon,.glow{background:0 0;border-color:CanvasText;box-shadow:none}}:root{--frame-fill:rgb(251 176 59 / 0.16);--frame-fill-hover:rgb(251 176 59 / 0.26)}.panel,.tile,.btn,.l1{--fill:var(--surface);--tick:var(--accent);--a:linear-gradient(var(--tick), var(--tick));background-color:var(--fill);background-image:var(--a),var(--a),var(--a),var(--a),var(--a),var(--a),var(--a),var(--a);background-repeat:no-repeat;background-origin:border-box;background-size:10px 2px,2px 10px,10px 2px,2px 10px,10px 2px,2px 10px,10px 2px,2px 10px;background-position:0 0,0 0,100% 0,100% 0,0 100%,0 100%,100% 100%,100% 100%;border:var(--rule-width)solid var(--frame-edge);border-radius:0}.btn-ghost{--fill:var(--frame-fill)}.btn-ghost{color:var(--text)}.btn-primary{--fill:var(--accent);--tick:var(--on-accent);border-color:var(--accent)}.btn:hover,.tile:hover,.l1.card:hover{--fill:var(--accent);--tick:var(--on-accent);color:var(--on-accent);box-shadow:none}.btn-primary:hover{--fill:var(--accent)}.tile:hover .support-tile-name,.tile:hover .support-tile-blurb,.tile:hover .meta{color:var(--on-accent)}.panel{color:var(--text)}.btn:focus-visible,.tile:focus-visible{outline:var(--rule-accent-width)solid var(--focus);outline-offset:4px}.bx{--s:calc(0.24 * var(--k, 1));--a:linear-gradient(var(--accent), var(--accent));--f:linear-gradient(var(--frame-fill), var(--frame-fill));position:relative;isolation:isolate;color:var(--text)}.bx.s18{--s:calc(0.18 * var(--k, 1))}.bx::before,.bx::after{content:"";position:absolute;z-index:-1;pointer-events:none}.fr{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:-1;pointer-events:none}.fr .fb{fill:var(--frame-edge)}.fr .fd{fill:var(--accent)}.fr .g0{stop-color:var(--frame-dark)}.fr .g1{stop-color:var(--frame-edge)}.fr .g2{stop-color:var(--frame-mid)}.fr .c-tl,.fr .p-t,.fr .st-l,.fr .st-r{transform:scale(var(--s))}.fr .c-tr,.fr .p-t.r{transform:scale(calc(var(--s) * -1),var(--s))}.fr .c-bl,.fr .p-b{transform:scale(var(--s),calc(var(--s) * -1))}.fr .c-br,.fr .p-b.r{transform:scale(calc(var(--s) * -1),calc(var(--s) * -1))}.bx.l2,.bx.l3{background:var(--f)50%/calc(100% - var(--s) * 28px)calc(100% - var(--s) * 34px)no-repeat;padding:calc(var(--s) * 90px)calc(var(--s) * 130px)}.bx.l2::before,.bx.l3::before{inset:0;background:var(--a)50% calc(var(--s) * 17px)/calc(100% - var(--s) * 360px)calc(var(--s) * 6px)no-repeat,var(--a)left 50% bottom calc(var(--s) * 17px)/calc(100% - var(--s) * 360px)calc(var(--s) * 6px)no-repeat}.bx.l3::before{background:var(--a)50% calc(var(--s) * 17px)/calc(100% - var(--s) * 360px)calc(var(--s) * 6px)no-repeat,var(--a)left 50% bottom calc(var(--s) * 17px)/calc(100% - var(--s) * 360px)calc(var(--s) * 6px)no-repeat,var(--a)50% 0/42.6% calc(var(--s) * 6px)no-repeat,var(--a)50% 100%/42.6% calc(var(--s) * 6px)no-repeat}.bx.l3{background:0 0}.bx.l3::after{inset:0;background:var(--f);clip-path:polygon( calc(var(--s) * 39px) calc(var(--s) * 150px),calc(var(--s) * 39px) calc(var(--s) * 114px),calc(var(--s) * 41px) calc(var(--s) * 110.5px),calc(var(--s) * 54px) calc(var(--s) * 97.5px),calc(var(--s) * 54px) calc(var(--s) * 71.5px),calc(var(--s) * 62px) calc(var(--s) * 70.5px),calc(var(--s) * 82px) calc(var(--s) * 69.5px),calc(var(--s) * 97px) calc(var(--s) * 52.5px),calc(var(--s) * 133px) calc(var(--s) * 51.5px),calc(var(--s) * 147px) calc(var(--s) * 50.5px),calc(100% - var(--s) * 147px) calc(var(--s) * 50.5px),calc(100% - var(--s) * 133px) calc(var(--s) * 51.5px),calc(100% - var(--s) * 97px) calc(var(--s) * 52.5px),calc(100% - var(--s) * 82px) calc(var(--s) * 69.5px),calc(100% - var(--s) * 62px) calc(var(--s) * 70.5px),calc(100% - var(--s) * 54px) calc(var(--s) * 71.5px),calc(100% - var(--s) * 54px) calc(var(--s) * 97.5px),calc(100% - var(--s) * 41px) calc(var(--s) * 110.5px),calc(100% - var(--s) * 39px) calc(var(--s) * 114px),calc(100% - var(--s) * 39px) calc(var(--s) * 150px),calc(100% - var(--s) * 39px) calc(100% - var(--s) * 150px),calc(100% - var(--s) * 39px) calc(100% - var(--s) * 114px),calc(100% - var(--s) * 41px) calc(100% - var(--s) * 110.5px),calc(100% - var(--s) * 54px) calc(100% - var(--s) * 97.5px),calc(100% - var(--s) * 54px) calc(100% - var(--s) * 71.5px),calc(100% - var(--s) * 62px) calc(100% - var(--s) * 70.5px),calc(100% - var(--s) * 82px) calc(100% - var(--s) * 69.5px),calc(100% - var(--s) * 97px) calc(100% - var(--s) * 52.5px),calc(100% - var(--s) * 133px) calc(100% - var(--s) * 51.5px),calc(100% - var(--s) * 147px) calc(100% - var(--s) * 50.5px),calc(var(--s) * 147px) calc(100% - var(--s) * 50.5px),calc(var(--s) * 133px) calc(100% - var(--s) * 51.5px),calc(var(--s) * 97px) calc(100% - var(--s) * 52.5px),calc(var(--s) * 82px) calc(100% - var(--s) * 69.5px),calc(var(--s) * 62px) calc(100% - var(--s) * 70.5px),calc(var(--s) * 54px) calc(100% - var(--s) * 71.5px),calc(var(--s) * 54px) calc(100% - var(--s) * 97.5px),calc(var(--s) * 41px) calc(100% - var(--s) * 110.5px),calc(var(--s) * 39px) calc(100% - var(--s) * 114px),calc(var(--s) * 39px) calc(100% - var(--s) * 150px) )}.tile.bx .support-tile-name{color:var(--text)}.tile.bx:hover .support-tile-name{color:var(--on-accent)}a.bx:hover{--f:linear-gradient(var(--accent), var(--accent));color:var(--on-accent)}.bx:focus-visible{outline:var(--rule-accent-width)solid var(--focus);outline-offset:6px}@media(forced-colors:active){.bx.l2,.bx.l3,.l1,.panel,.tile,.btn{background:0 0;border:1px solid CanvasText;forced-color-adjust:auto}.fr,.bx::before,.bx::after{display:none}}@media print{.fr,.bx::before,.bx::after{display:none}.bx.l2,.bx.l3,.l1,.panel,.tile,.btn{background:0 0;border:1px solid CanvasText;color:CanvasText;padding:var(--space-2)var(--space)}}.btn.bf-none{background-image:none;background-color:transparent;border-color:var(--accent);box-shadow:inset 0 0 0 calc(var(--rule-accent-width) - var(--rule-width))var(--accent);border-radius:var(--radius)}.btn-primary.bf-none{background-color:var(--accent)}.btn-ghost.bf-none:hover{background-color:var(--glow);color:var(--text)}.btn-primary.bf-none:hover{background-color:var(--accent)}.btn.bf-faithful{--art:url("../brand/frame-faithful-button.svg");border-color:transparent;background-color:transparent;background-image:var(--art);background-size:100% 100%;background-position:0 0}.btn-primary.bf-faithful,.btn.bf-faithful:hover{--art:url("../brand/frame-faithful-button-amber.svg")}@media(forced-colors:active){.btn.bf-faithful,.btn.bf-none{background-image:none;box-shadow:none}}@media print{.btn.bf-faithful,.btn.bf-none{background:0 0;box-shadow:none}}.chroma .k,.chroma .kc,.chroma .kd,.chroma .kn,.chroma .kp,.chroma .kr,.chroma .kt{color:var(--code-keyword)}.chroma .nf,.chroma .fm,.chroma .nc,.chroma .nd,.chroma .nb,.chroma .bp{color:var(--code-function)}.chroma .s,.chroma .sa,.chroma .sb,.chroma .sc,.chroma .dl,.chroma .sd,.chroma .s2,.chroma .se,.chroma .sh,.chroma .si,.chroma .sx,.chroma .sr,.chroma .s1,.chroma .ss{color:var(--code-string)}.chroma .m,.chroma .mb,.chroma .mf,.chroma .mh,.chroma .mi,.chroma .il,.chroma .mo{color:var(--code-number)}.chroma .c,.chroma .ch,.chroma .cm,.chroma .c1,.chroma .cs,.chroma .cp,.chroma .cpf{color:var(--code-comment);font-style:italic}.chroma .gd{color:var(--code-deleted)}.chroma .gi{color:var(--code-inserted)}.chroma .ge{font-style:italic}.chroma .gs{font-weight:700}.about-intro{display:grid;gap:var(--space-5);align-items:start}@media(min-width:40rem){.about-intro{grid-template-columns:auto minmax(0,1fr)}}.about-figure{display:flex;align-items:flex-end;gap:var(--space-4)}.about-portrait{width:8rem;height:auto;aspect-ratio:1;border:calc(var(--rule-width) * 2)solid var(--accent-deep);border-radius:var(--radius)}.about-mascot{width:4rem;height:auto}@media(min-width:40rem){.about-figure{flex-direction:column;align-items:flex-start}.about-portrait{width:12rem}.about-mascot{width:5rem}}.about-intro .panel>:last-child{margin-bottom:0}.about-intro .resume-link{margin-top:var(--space-5);padding-top:var(--space-4);border-top:var(--rule-width)solid var(--border)}.about-lede{font-size:var(--text-lg,1.25rem);margin-block:0 var(--space-5)}.about-projects,.about-contact{margin-top:var(--space-6)}.about-projects h2,.about-contact h2{margin-top:0}.project-tiles{grid-template-columns:1fr}@media(min-width:40rem){.project-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:60rem){.project-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}.project-tiles>li{display:flex}.project-tiles .tile{flex:1}@media(min-width:60rem){.about-mascot{width:11rem}}.about-intro .panel>:last-child{margin-bottom:0}.about-intro .resume-link{margin-top:var(--space-5);padding-top:var(--space-4);border-top:var(--rule-width)solid var(--border)}.about-lede{font-size:var(--text-lg,1.25rem);margin-block:0 var(--space-5)}.about-projects,.about-contact{margin-top:var(--space-6)}.about-projects h2,.about-contact h2{margin-top:0}.project-tiles{grid-template-columns:1fr}@media(min-width:40rem){.project-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:60rem){.project-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}.project-tiles>li{display:flex}.project-tiles .tile{flex:1}.project-tiles .tile .meta{display:block}.project-tiles>.tile-more{grid-column:1/-1}.project-tiles>.tile-more .tile{border-color:var(--accent-deep)}.about-contact{padding:var(--space-5);background:var(--surface);border:var(--rule-width)solid var(--border);border-radius:var(--radius)}.about-contact>:last-child,.about-contact p:last-of-type{margin-bottom:0}.pgp-fingerprint code{display:block;overflow-wrap:anywhere;user-select:all}.email-image-link{display:inline-flex;align-items:center;min-height:var(--tap)}.email-image{max-width:100%;height:auto}.pgp-key-link a{display:inline-flex;align-items:center;min-height:var(--tap)}.contact-links{display:flex;flex-wrap:wrap;gap:var(--space-2)var(--space-5);list-style:none;margin:var(--space-3)0 0;padding:0}.contact-links a{display:inline-flex;align-items:center;min-height:var(--tap)}.about-skills{margin-top:var(--space-6)}.skill-groups{display:grid;grid-template-columns:1fr;gap:var(--space-4)}.skill-group{padding:var(--space-4)var(--space-5);background:var(--surface);border:var(--rule-width)solid var(--border);border-radius:var(--radius)}.skill-group h3{margin:0 0 var(--space-2)}.skill-group p{margin:0}.skill-group:last-child{border-color:var(--accent-deep)}.skill-group:last-child p{max-width:none}@media(min-width:40rem){.skill-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-group:nth-last-child(2):nth-child(odd),.skill-group:last-child{grid-column:1/-1}}@media(min-width:60rem){.skill-groups{grid-template-columns:repeat(3,minmax(0,1fr))}.skill-group:nth-last-child(2):nth-child(odd){grid-column:auto}}@supports(grid-template-rows:subgrid){@media(min-width:40rem){.skill-group{display:grid;grid-row:span 2;grid-template-rows:subgrid;row-gap:0}}}.about-facts{margin-top:var(--space-6)}.facts-intro{margin:0 0 var(--space-4)}.fact-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4);margin:0}.fact-card{padding:var(--space-4)var(--space-5);background:var(--surface);border:var(--rule-width)solid var(--border);border-radius:var(--radius)}.fact-card dt{margin:0 0 var(--space-2);font-size:1.17em;font-weight:700}.fact-card dd{margin:0}.fact-card .card-links{margin-top:var(--space-3)}.fact-card .card-links ul{display:flex;flex-wrap:wrap;gap:0 var(--space-4);list-style:none;margin:0;padding:0}.fact-card .card-links a{display:inline-flex;align-items:center;min-height:var(--tap)}@media(min-width:40rem){.fact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:60rem){.fact-grid:not(.fact-grid-wide){grid-template-columns:repeat(3,minmax(0,1fr))}}@supports(grid-template-rows:subgrid){@media(min-width:40rem){.fact-card{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:0}}}.page-contact .contact-lede{margin-top:var(--space-5)}.contact-grid{display:grid;gap:var(--space-5);margin-top:var(--space-4);align-items:start}@media(min-width:48rem){.contact-grid{grid-template-columns:1fr 1fr}}.contact-grid h2{margin-top:0;font-size:var(--text-lg)}.contact-grid .contact-links{display:grid;gap:var(--space-3);margin-top:var(--space-4)}.contact-email{overflow-wrap:anywhere}.contact-grid code,.contact-grid .tile{overflow-wrap:anywhere}.contact-grid .contact-links{grid-template-columns:minmax(0,1fr);list-style:none;padding:0}.contact-grid .contact-links>li{display:flex}.contact-grid .contact-tile{display:grid;flex:1;grid-template-columns:var(--space-6)minmax(0,1fr)auto;grid-template-areas:"icon name go" "icon address go";align-items:center;column-gap:var(--space-4);row-gap:var(--space-1);min-height:calc(var(--tap) + var(--space-5));padding:var(--space-4)var(--space-5)}.contact-tile .social-icon{grid-area:icon}.contact-tile-name{grid-area:name;font-family:var(--font-display);font-size:var(--text-lg);line-height:1.2}.contact-tile-address{grid-area:address;min-width:0;color:var(--muted);font-family:var(--font-mono);font-size:var(--text-sm);overflow-wrap:anywhere}.contact-tile-go{grid-area:go;width:.6rem;height:.6rem;border-top:var(--chevron-width)solid var(--accent);border-right:var(--chevron-width)solid var(--accent);transform:rotate(45deg);transition:transform var(--duration)ease}.contact-tile:hover .social-icon,.contact-tile:focus-visible .social-icon{background-color:var(--on-accent)}.contact-tile:hover .contact-tile-address,.contact-tile:focus-visible .contact-tile-address{color:var(--on-accent)}.contact-tile:hover .contact-tile-go,.contact-tile:focus-visible .contact-tile-go{border-color:var(--on-accent);transform:translateX(3px)rotate(45deg)}.contact-tile:focus-visible{--fill:var(--accent);--tick:var(--on-accent);color:var(--on-accent);outline:var(--rule-accent-width)solid var(--focus);outline-offset:3px}@media(prefers-reduced-motion:reduce){.contact-tile-go{transition:none}.contact-tile:hover .contact-tile-go,.contact-tile:focus-visible .contact-tile-go{transform:rotate(45deg)}}@media(min-width:48rem) and (max-width:64rem){.contact-grid .contact-tile{column-gap:var(--space-3);padding:var(--space-4)var(--space-3)}}@media(max-width:24rem){.contact-grid .contact-tile{column-gap:var(--space-3);padding:var(--space-3)}.contact-tile-address .handle-part{white-space:normal}}.hero{display:flex;flex-direction:column;align-items:center;gap:var(--space-5);padding:var(--space-6)0;text-align:center}.hero-mascot{align-self:center}.hero-mascot,.not-found-mascot{width:10rem;height:auto;filter:drop-shadow(0 0 var(--space-5) var(--glow-strong))}.hero h1,.not-found h1{font-family:var(--font-display);font-size:var(--text-xl);line-height:1.2;margin:0 0 var(--space-3)}.hero-sub{color:var(--muted);font-size:var(--text-lg);margin:0 0 var(--space-5)}.hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3);margin:0}.hero-actions .btn{padding-inline:var(--space-4)}.home-panel{margin:var(--space-5)0}.home-panel .hud-heading{margin-top:0}.home-social{--per:2;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2);list-style:none;margin:0;padding:0}.home-social li{flex:0 0 calc((100% - (var(--per) - 1) * var(--space-2))/var(--per));min-width:0}.home-social a{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;min-height:var(--tap);padding:0 var(--space-2);white-space:nowrap;border:var(--rule-width)solid var(--frame-edge)}.home-social a:hover{border-color:var(--accent)}.home-social--per-1{--per-desk:1}.home-social--per-2{--per-desk:2}.home-social--per-3{--per-desk:3}.home-social--per-4{--per-desk:4}.home-social--per-5{--per-desk:5}.home-social--per-6{--per-desk:6}.home-social--per-7{--per-desk:7}.home-social--per-8{--per-desk:8}.home-social--per-9{--per-desk:9}.home-social--per-10{--per-desk:10}.home-social--per-11{--per-desk:11}.home-social--per-12{--per-desk:12}@media(min-width:40rem){.home-social{--per:4}}.not-found{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-6)0;text-align:center}@media(min-width:40rem){.hero{flex-direction:row;text-align:left}.hero-mascot{align-self:flex-start;flex:none;width:12rem}.hero h1{font-size:var(--text-2xl)}.hero-actions{justify-content:flex-start}}@media(min-width:60rem){.home-grid{display:grid;grid-template-columns:minmax(0,5fr)minmax(0,7fr);column-gap:var(--space-6);align-items:start}.home-grid>.hero{grid-column:1;grid-row:1;align-self:center;flex-direction:column;align-items:flex-start}.home-grid>.home-latest{grid-column:2;grid-row:1}.home-grid>.home-find{grid-column:1/-1}.home-grid>:not(.hero,.home-panel){grid-column:1/-1}}@media(min-width:80rem){.home-grid>.hero{gap:var(--space-3)}.home-grid>.hero.bx{--s:calc(0.15 * var(--k, 1))}.home-grid .hero-sub{font-size:var(--text-base);margin-bottom:var(--space-4)}.home-grid .home-panel{margin:var(--space-3)0}.home-grid .home-social{--per:var(--per-desk, 6)}.home-grid{grid-template-columns:minmax(0,6fr)minmax(0,5fr)}.home-grid .hero-mascot{width:7.5rem}.home-grid .hero h1{font-size:var(--text-2xl)}.home-latest.panel{padding:var(--space-4)var(--space-5)}.home-latest .hud-heading{margin-bottom:var(--space-2)}.home-latest .post-list li{padding:var(--space-2)0}.home-latest .post-summary{-webkit-line-clamp:1;line-clamp:1}.home-latest .more-link{margin:var(--space-2)0 0}}[class^=icon-]::before{content:"";display:inline-block;flex:none;width:1.25em;height:1.25em;margin-right:var(--space-2);background-color:currentColor;-webkit-mask:var(--icon)center/contain no-repeat;mask:var(--icon)center/contain no-repeat}.icon-bluesky{--icon:url("../brand/icons/bluesky.svg")}.icon-discord{--icon:url("../brand/icons/discord.svg")}.icon-github{--icon:url("../brand/icons/github.svg")}.icon-instagram{--icon:url("../brand/icons/instagram.svg")}.icon-kick{--icon:url("../brand/icons/kick.svg")}.icon-mastodon{--icon:url("../brand/icons/mastodon.svg")}.icon-matrix{--icon:url("../brand/icons/matrix.svg")}.icon-linkedin{--icon:url("../brand/icons/linkedin.svg")}.icon-pixelfed{--icon:url("../brand/icons/pixelfed.svg")}.icon-threads{--icon:url("../brand/icons/threads.svg")}.icon-tiktok{--icon:url("../brand/icons/tiktok.svg")}.icon-twitch{--icon:url("../brand/icons/twitch.svg")}.icon-youtube{--icon:url("../brand/icons/youtube.svg")}.archive-group{margin:var(--space-5)0}.archive-year{font-family:var(--font-display);font-size:var(--text-lg)}.post-summary{margin:var(--space-1)0 0;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.archive-links{display:flex;flex-wrap:wrap;gap:0 var(--space-4);margin-bottom:var(--space-5)}.post{max-width:var(--measure);margin:0 auto}.archive-banner,.superseded-note{margin:var(--space-5)0;padding:var(--space)}.archive-banner p,.superseded-note p{margin:0}.syndication{margin:var(--space-6)0 var(--space-5);padding-top:var(--space);border-top:var(--rule-width)solid var(--rule);overflow-wrap:anywhere}.syndication p{margin:0 0 var(--space-2)}.post-nav{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space);margin:var(--space-5)0}.post-nav a{display:block;min-height:var(--tap);max-width:100%;padding:var(--space-2)var(--space);color:var(--text);text-decoration:none}.post-nav a:hover{--fill:var(--accent);--tick:var(--on-accent);color:var(--on-accent)}.post-nav a:hover .meta{color:var(--on-accent)}.post-nav a:focus-visible{outline:var(--rule-accent-width)solid var(--focus);outline-offset:4px}.title-block{margin:0 0 var(--space-5)}.title-block h1{margin:0}.post>.title-block{grid-column:1;align-self:start}.post-nav-next{margin-left:auto;text-align:right}@media(min-width:80rem){.post{display:grid;grid-auto-flow:row dense;grid-template-columns:minmax(0,var(--measure))15rem;column-gap:var(--space-6);justify-content:center;max-width:none}.post>*{grid-column:1;min-width:0}.post>.archive-banner,.post>.superseded-note{grid-column:1/-1}.post>.meta,.post>.syndication{grid-column:2;align-self:start}.post>.meta{margin-top:0}.post>.syndication{margin:0;padding-top:var(--space-3);border-top:var(--rule-width)solid var(--rule)}}.page-privacy{max-width:var(--measure);margin:0 auto}@media(min-width:60rem){.archive-group .post-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}.archive-group .post-list li.card{margin:0;padding:var(--space-5)}.archive-group .post-list a{font-size:var(--text-lg);font-weight:600;line-height:1.3}}@media(min-width:80rem){.archive-group .post-list{grid-template-columns:repeat(3,minmax(0,1fr))}}.tag-list a{gap:var(--space-2)}.post-hero{margin:0 0 var(--space-4);background:var(--surface);border-radius:var(--radius);overflow:hidden}.post-hero img{display:block;width:100%;max-height:24rem;object-fit:contain}.post-list li.card{margin:0 0 var(--space-3);padding:var(--space)var(--space-4);border:var(--rule-width)solid var(--frame-edge)}.post-list li.card:hover,.post-list li.card:focus-within{--fill:var(--frame-fill)}.post-list li.has-thumb{display:grid;grid-template-columns:6rem minmax(0,1fr);column-gap:var(--space);align-items:start}.post-list li.has-thumb>*{grid-column:2}.post-list li.has-thumb>.post-thumb{grid-column:1;grid-row:1/span 3;width:6rem;height:4rem;object-fit:cover;background:var(--surface);border-radius:var(--radius)}.disclosure{margin:var(--space-6)0 0;padding-top:var(--space);border-top:var(--rule-width)solid var(--rule)}.disclosure p{margin:0 0 var(--space-2)}.disclosure p:last-child{margin-bottom:0}.product-group{margin-top:var(--space)}.product-group>details>summary{justify-content:space-between;min-height:var(--tap);padding-block:var(--space-2)}.product-group>details>summary h2{flex:1;margin:0;font-family:var(--font-display);font-size:var(--text-lg)}.product-count{flex:none;white-space:nowrap}.product-list{list-style:none;margin:0;padding:0}.product-group>details>.product-list{padding:0}.product{display:flex;align-items:center;justify-content:space-between;gap:var(--space);padding:var(--space);border-top:var(--rule-width)solid var(--border)}.product-text{min-width:0}.product-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1)var(--space-2)}.product h3{margin:0;font-size:var(--text-base)}.product-vendor{padding:0 var(--space-2);border:var(--rule-width)solid var(--border);border-radius:var(--radius);color:var(--muted);font-size:var(--text-sm);line-height:var(--line-height)}.product p{margin:0}.product-checked{display:block;font-size:var(--text-sm)}.product .btn{flex:none;padding:0 var(--space)}@media(max-width:40rem){.product{flex-direction:column;align-items:stretch}.product .btn{width:100%}}@media(forced-colors:active){.product,.product-vendor{border-color:CanvasText}}.resume section{margin-top:var(--space-5)}.resume-head{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4)}.resume-portrait{flex:none;width:8rem;height:auto;aspect-ratio:1;border:calc(var(--rule-width) * 2)solid var(--accent-deep);border-radius:var(--radius)}.resume-id{min-width:0}.resume-id h1{margin-top:0}@media(min-width:40rem){.resume-head{flex-direction:row;align-items:center;gap:var(--space-5)}}.resume-title{color:var(--muted);font-size:var(--text-lg,var(--text-base))}.resume-subtitle{color:var(--muted);margin:0}.resume-summary p{margin:var(--space-2)0 0}.resume-list{margin:var(--space-2)0 0;padding-left:var(--space-5)}.resume-list li{margin-bottom:var(--space-2)}.resume-more{margin:var(--space-2)0 0}.resume-more a{display:inline-flex;align-items:center;min-height:var(--tap);min-width:var(--tap)}.resume-skills,.resume-detail{margin:var(--space-2)0 0}.resume-skills dt,.resume-detail dt{color:var(--accent);font-weight:700}.resume-skills dd,.resume-detail dd{margin:0 0 var(--space-2)}.resume-detail{margin-top:var(--space-3)}.resume-detail-links{display:flex;flex-wrap:wrap;gap:0 var(--space-4)}.resume-detail-links a{display:inline-flex;align-items:center;min-height:var(--tap)}.resume section>p{margin:var(--space-2)0 0}@media screen and (min-width:60rem){.resume{column-count:2;column-gap:var(--space-6)}.resume-head,.resume section:last-child{column-span:all}.resume section{break-inside:avoid;margin-top:0;padding-top:var(--space-5)}}@media print{:root{color-scheme:light}body{background:Canvas;background-image:none;color:CanvasText;font-size:11pt}.resume-portrait,.skip-link,.site-header,.site-footer{display:none}main{padding:0}.resume a{color:LinkText}.resume a[href^="https://"]::after{content:" (" attr(href)")";font-size:9pt}.resume-title,.resume-subtitle,.resume-skills dt,.resume-detail dt{color:CanvasText}.hud-heading::after{border-top-color:CanvasText}.resume section{break-inside:avoid;margin-top:12pt}}.search-box[hidden],.page-search [hidden]{display:none}.search-box{margin:var(--space-5)0;padding:var(--space-4);background:var(--surface);border:var(--rule-width)solid var(--border);border-left:var(--rule-accent-width)solid var(--accent);border-radius:var(--radius)}.search-label{display:block;margin-bottom:var(--space-2);font-family:var(--font-display);font-size:var(--text-sm);color:var(--accent)}.search-input{box-sizing:border-box;width:100%;min-height:var(--tap);padding:0 var(--space-3);background:var(--bg);color:var(--text);border:var(--rule-accent-width)solid var(--border);border-radius:var(--radius);font:inherit}.search-input:disabled{cursor:not-allowed;color:var(--muted)}.search-note{margin:var(--space-2)0 0}.search-input:focus-visible{outline:var(--rule-accent-width)solid var(--focus);outline-offset:3px;border-color:var(--accent)}.search-status{min-height:1.5em;margin:var(--space-2)0 0;color:var(--muted);font-size:var(--text-sm)}.search-tags{gap:0 var(--space-2)}.search-tags-box{margin:var(--space-5)0}.search-tags-box .tag-list li{margin-right:var(--space-3)}.tags-more{margin-top:var(--space-3)}.tags-more>summary{display:flex;align-items:center;min-height:var(--tap);color:var(--accent);cursor:pointer}.share.panel{flex:1 1 100%;min-width:0;box-sizing:border-box;padding:var(--space-2)}.share-title{display:block;margin:0 0 var(--space-2);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.share-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--tap),1fr));gap:var(--space-1);margin:0;padding:0;list-style:none}.share-list [hidden],.share-list li:has(>[hidden]){display:none}.share-list li:has(>.share-copy){grid-column:1/-1;order:99}.share-link{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;min-height:var(--tap);min-width:var(--tap);padding:0;border:var(--rule-width)solid transparent;background:0 0;color:var(--text);font:inherit;font-size:0;text-decoration:none;cursor:pointer}.share .share-link[class^=icon-]::before{width:1.375rem;height:1.375rem;margin:0}.share-link:hover,.share-link:focus-visible{background-color:var(--accent);color:var(--on-accent)}.share-link:focus-visible{outline:var(--rule-accent-width)solid var(--focus);outline-offset:2px}.share-copy,.share-go,.share-cancel{gap:var(--space-2);padding:0 var(--space-3);font-size:var(--text-sm)}.share-copy{border-color:var(--accent)}.share-go{border-color:var(--accent)}.share-cancel{border-color:var(--border)}.share-picker{display:flex;flex-direction:column;gap:var(--space-2);margin:var(--space-3)0 0;padding:var(--space-3);border:var(--rule-width)solid var(--border);background:var(--bg)}.share-picker[hidden],.share-url[hidden]{display:none}.share-picker label{font-size:var(--text-sm)}.share-host,.share-url{box-sizing:border-box;width:100%;min-height:var(--tap);padding:0 var(--space-3);background:var(--bg);color:var(--text);border:var(--rule-accent-width)solid var(--border);border-radius:var(--radius);font:inherit}.share-url{margin:var(--space-2)0 0;font-size:var(--text-sm)}.share-host:focus-visible,.share-url:focus-visible{outline:var(--rule-accent-width)solid var(--focus);outline-offset:3px;border-color:var(--accent)}.share-remember{display:flex;align-items:center;gap:var(--space-2);min-height:var(--tap)}.share-rem{width:1.25rem;height:1.25rem;accent-color:var(--accent)}.share-actions{display:flex;gap:var(--space-2)}.share-actions .share-link{width:auto;flex:1}.share .share-copy[class^=icon-]::before{width:1.1em;height:1.1em}.share-status{min-height:1.25rem;margin:0}.icon-twitter{--icon:url("../brand/share/bird.svg")}.icon-reddit{--icon:url("../brand/share/reddit.svg")}.icon-linkedin{--icon:url("../brand/share/linkedin.svg")}.icon-facebook{--icon:url("../brand/share/facebook.svg")}.icon-hacker-news{--icon:url("../brand/share/hacker-news.svg")}.icon-pinterest{--icon:url("../brand/share/pinterest.svg")}.icon-email{--icon:url("../brand/share/envelope.svg")}.icon-copy{--icon:url("../brand/share/link.svg")}.icon-lemmy{--icon:url("../brand/share/lemmy.svg")}.social-grid{grid-template-columns:repeat(auto-fill,minmax(min(14rem,100%),1fr))}.tile-item{display:flex}.social-tile{display:grid;grid-template-columns:var(--space-6)minmax(0,1fr);grid-template-areas:"icon name" "icon handle" "icon role";column-gap:var(--space);align-items:center;width:100%;overflow-wrap:anywhere}.social-name,.social-handle,.social-role{min-width:0}.handle-part{white-space:nowrap}.social-icon{grid-area:icon;display:block;width:var(--space-6);height:var(--space-6);background-color:var(--accent);-webkit-mask:var(--icon)center/contain no-repeat;mask:var(--icon)center/contain no-repeat}.social-name{grid-area:name;font-weight:700}.social-handle{grid-area:handle;color:var(--muted);font-size:var(--text-sm)}.social-role{grid-area:role;font-size:var(--text-sm)}.social-icon--twitch{--icon:url("/brand/icons/twitch.svg")}.social-icon--youtube{--icon:url("/brand/icons/youtube.svg")}.social-icon--kick{--icon:url("/brand/icons/kick.svg")}.social-icon--mastodon{--icon:url("/brand/icons/mastodon.svg")}.social-icon--bluesky{--icon:url("/brand/icons/bluesky.svg")}.social-icon--tiktok{--icon:url("/brand/icons/tiktok.svg")}.social-icon--instagram{--icon:url("/brand/icons/instagram.svg")}.social-icon--pixelfed{--icon:url("/brand/icons/pixelfed.svg")}.social-icon--threads{--icon:url("/brand/icons/threads.svg")}.social-icon--discord{--icon:url("/brand/icons/discord.svg")}.social-icon--matrix{--icon:url("/brand/icons/matrix.svg")}.social-icon--github{--icon:url("/brand/icons/github.svg")}.social-icon--linkedin{--icon:url("/brand/icons/linkedin.svg")}.social-icon--placeholder{background:0 0;border:var(--rule-accent-width)dashed var(--gray);border-radius:var(--radius);-webkit-mask:none;mask:none}.social-tile--soon{border-style:dashed}.social-tile--soon:hover{border-color:var(--border);box-shadow:none}.social-tile--soon .social-name,.social-tile--soon .social-role{color:var(--muted)}@media(forced-colors:active){.social-icon{background-color:CanvasText}}@media(min-width:60rem){.social-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:80rem){.social-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.page-support .lede{font-size:var(--text-lg)}.page-support h2.hud-heading{margin:var(--space-6)0 var(--space);font-size:var(--text-lg)}.support-tiles{grid-template-columns:repeat(2,1fr);margin:var(--space-5)0 var(--space-2)}.support-tiles .tile-item{display:flex}.support-tile{display:flex;flex-direction:column;justify-content:center;gap:var(--space-1);width:100%;text-align:center}.support-tile-name{font-family:var(--font-display);font-size:var(--text-sm);font-weight:700;color:var(--accent)}.support-tile-blurb{color:var(--muted);font-size:var(--text-sm)}@media(min-width:40rem){.support-tiles{grid-template-columns:repeat(4,1fr)}}.support-tile{--art:url("../brand/frame-faithful-tile.svg");min-height:5.25rem;border-color:transparent;background-color:transparent;background-image:var(--art);background-size:100% 100%;background-position:0 0}a.support-tile .support-tile-name{color:var(--accent)}a.support-tile .support-tile-blurb{color:var(--muted)}a.support-tile,a.support-tile:hover,a.support-tile:focus-visible{background-color:transparent}a.support-tile:hover,a.support-tile:focus-visible{--art:url("../brand/frame-faithful-tile-hover.svg")}a.support-tile:hover .support-tile-name,a.support-tile:focus-visible .support-tile-name{color:var(--text)}a.support-tile:hover .support-tile-blurb,a.support-tile:focus-visible .support-tile-blurb{color:var(--text)}@media(forced-colors:active){.support-tile{background-image:none;border-color:CanvasText}}@media print{.support-tile{background:0 0;border-color:CanvasText}a.support-tile .support-tile-name,a.support-tile .support-tile-blurb{color:CanvasText}}.coin-list{display:grid;grid-template-columns:1fr;gap:var(--space-5);list-style:none;margin:var(--space-5)0 0;padding:0}@media(min-width:40rem){.coin-list{grid-template-columns:repeat(2,1fr)}}.coin{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space);align-content:start;justify-items:center;min-width:0}@supports(grid-template-rows:subgrid){.coin-list>.coin{grid-row:span 4;grid-template-rows:subgrid}}.coin-head{display:flex;align-items:center;gap:var(--space-3)}.coin-mark{flex:none;width:2.5rem;height:2.5rem}.coin-name{margin:0;font-family:var(--font-display);font-size:var(--text-lg)}.coin-ticker{color:var(--muted);font-size:var(--text-sm);letter-spacing:.08em}@media(min-width:80rem){.coin-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space)}.coin.panel{padding:var(--space)}.coin-head{flex-wrap:wrap}.coin-name{font-size:var(--text-base)}}.qr{width:min(100%,14rem);height:auto;aspect-ratio:1;background:var(--text);border:var(--rule-accent-width)solid var(--text);border-radius:var(--radius)}.address{display:grid;align-content:center;box-sizing:border-box;max-width:100%;padding:var(--space-2)var(--space);overflow-wrap:anywhere;background:var(--bg);border:var(--rule-width)solid var(--border);border-radius:var(--radius);font-size:var(--text-sm);text-align:center;user-select:all}.coin.panel{--fill:rgb(251 176 59 / 0.1)}.addr-box{position:relative;display:grid;gap:var(--space-1);justify-items:center;width:100%;min-width:0}.addr-note{margin:0;color:var(--muted);font-size:var(--text-sm);text-align:center}.addr-more{width:100%}.addr-more>summary{box-sizing:border-box;display:flex;align-items:center;gap:var(--space-2);min-height:var(--tap);padding:0 var(--space-2);background:var(--bg);border:var(--rule-width)solid var(--border);border-radius:var(--radius);color:var(--text);font-size:var(--text-sm);cursor:pointer;list-style:none}.addr-more>summary::-webkit-details-marker{display:none}.addr-short{flex:1;min-width:0;font-family:var(--font-mono);overflow-wrap:anywhere}.addr-show,.addr-hide{text-decoration:underline;text-underline-offset:3px}.addr-hide,.addr-more[open] .addr-show,.addr-more[open] .addr-short{display:none}.addr-more[open] .addr-hide{display:inline}.addr-more[open]>summary{justify-content:center}.addr-more>summary::after{content:"";flex:none;width:.4em;height:.4em;margin-top:-.2em;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(45deg)}.addr-more[open]>summary::after{margin-top:.2em;transform:rotate(225deg)}.addr-more>summary:focus-visible{outline:var(--rule-accent-width)solid var(--focus);outline-offset:3px}.addr-more{display:none}@supports selector(:has(*)){.addr-more{display:block}.addr-box:not(:has(.addr-more[open])) .address{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}}@media print{.addr-box .address{position:static;width:auto;height:auto;margin:0;clip-path:none;white-space:normal}.addr-more{display:none}}.coin .copy-btn:hover{--fill:var(--bg);--tick:var(--accent);color:var(--accent)}.coin .copy-btn:focus-visible{outline:var(--rule-accent-width)solid var(--focus);outline-offset:3px}.coin-actions{position:relative;display:flex;justify-content:center}.copy-btn[hidden]{display:none}.copy-status{position:absolute;top:50%;left:100%;width:max-content;max-width:6rem;margin-left:var(--space-2);transform:translateY(-50%);color:var(--accent);font-size:var(--text-sm);line-height:1.2}.copy-scratch{position:fixed;top:0;left:0;width:1px;height:1px;opacity:0}@media(min-width:80rem){.page-support h1{margin:0 0 var(--space-2)}.page-support p{max-width:none}.page-support .lede{margin:0;font-size:var(--text-base)}.support-tiles{margin:var(--space-4)0 var(--space-3)}.support-tiles .tile:not(.bx){padding:var(--space-2)var(--space)}.page-support .meta{margin:0}.page-support h2.hud-heading{margin:var(--space-4)0 var(--space-2)}.support-coins>p{margin:0}.coin-list{margin-top:var(--space-3)}.coin.panel{padding:var(--space-3)var(--space);gap:var(--space-2)}.coin-mark{width:2rem;height:2rem}.coin-head{flex-wrap:nowrap}.qr{width:min(100%,12rem)}.address{width:100%;padding:var(--space-1)var(--space-2);font-size:var(--text-sm);line-height:1.4}}main:has(.home-grid),main:has(.not-found){position:relative;isolation:isolate;overflow-x:clip}main:has(.home-grid)>.wrap,main:has(.not-found)>.wrap{position:relative;z-index:1}main:has(.home-grid)::before,main:has(.not-found)::before{content:"";position:absolute;z-index:0;top:0;right:calc(-1 * min(12vw,8rem));width:min(60vw,40rem);aspect-ratio:1;background:url(/brand/mascot-512.webp)50%/contain no-repeat;opacity:.1;filter:grayscale(1);-webkit-mask-image:radial-gradient(closest-side,black 35%,transparent 100%);mask-image:radial-gradient(closest-side,black 35%,transparent 100%);pointer-events:none}