:root,[data-theme=light]{--bg:#fafafa;--text:#1a1a1a;--text-secondary:#6b6b6b;--text-muted:#9a9a9a;--text-faint:#b0b0b0;--border:#e4e4e4;--border-soft:#ececec;--border-link:#d4d4d4;--hover-bg:#f0f0f0;--code-bg:#f1f1f1;--text-prose:#3a3a3a;--green:#2f9e44;--selection-bg:#1a1a1a;--selection-fg:#fafafa;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, monospace;--column:640px}[data-theme=dark]{--bg:#161616;--text:#e8e8e8;--text-secondary:#a3a3a3;--text-muted:#7a7a7a;--text-faint:#5f5f5f;--border:#2c2c2c;--border-soft:#242424;--border-link:#3a3a3a;--hover-bg:#242424;--code-bg:#1f1f1f;--text-prose:#c4c4c4;--green:#46c063;--selection-bg:#fafafa;--selection-fg:#1a1a1a}[data-theme=lcars]{--bg:#000;--text:#fc9;--text-prose:#f6e6c8;--text-secondary:#cda06a;--text-muted:#9aa6e0;--text-faint:#6878b8;--border:#232a4d;--border-soft:#161c38;--border-link:#3c4580;--hover-bg:#171a38;--code-bg:#0c0f24;--green:#36d97a;--selection-bg:#ff7f3f;--selection-fg:#000;--lcars-orange:#f90;--lcars-gold:#fc6;--lcars-peach:#fc9;--lcars-coral:#f96;--lcars-lavender:#99f;--lcars-mauve:#c9c;--lcars-red:#c66;--lcars-rail-width:80px;--lcars-elbow-height:36px;--lcars-gap:6px;--lcars-display:"Antonio", "Oswald", "Arial Narrow", sans-serif;--lcars-body:-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--sans:var(--lcars-display);--column:640px}.lcars-frame{display:none}[data-theme=lcars] .lcars-frame{z-index:40;pointer-events:none;display:block;position:fixed;inset:0;overflow:hidden}[data-theme=lcars] body{font-family:var(--lcars-body);min-height:100vh;padding-left:var(--lcars-rail-width);padding-top:calc(var(--lcars-elbow-height) + var(--lcars-gap) + 8px);position:relative}[data-theme=lcars] .top-bar,[data-theme=lcars] main,[data-theme=lcars] footer{z-index:1;position:relative}[data-theme=lcars] .top-bar{z-index:50}[data-theme=lcars] .lcars-rail{top:calc(var(--lcars-elbow-height) + var(--lcars-gap));width:var(--lcars-rail-width);gap:var(--lcars-gap);box-sizing:border-box;flex-direction:column;padding:0 0 24px;display:flex;position:absolute;bottom:0;left:0}[data-theme=lcars] .lcars-chiclet{border-radius:0 0 0 28px;flex:1 1 0;min-height:48px;transition:filter .2s,opacity .2s;position:relative;overflow:hidden}[data-theme=lcars] .lcars-chiclet--tall{flex:2.2 1 0}[data-theme=lcars] .lcars-chiclet--a{background:var(--lcars-orange)}[data-theme=lcars] .lcars-chiclet--b{background:var(--lcars-coral)}[data-theme=lcars] .lcars-chiclet--c{background:var(--lcars-lavender)}[data-theme=lcars] .lcars-chiclet--d{background:var(--lcars-gold)}[data-theme=lcars] .lcars-chiclet--e{background:var(--lcars-mauve)}[data-theme=lcars] .lcars-chiclet--f{background:var(--lcars-red)}[data-theme=lcars] .lcars-chiclet:after{content:attr(data-label);font-family:var(--lcars-display);letter-spacing:.12em;text-transform:uppercase;color:#000;opacity:.85;font-size:11px;font-weight:700;position:absolute;bottom:10px;right:8px}[data-theme=lcars] .lcars-elbow{height:var(--lcars-elbow-height);grid-template-columns:var(--lcars-rail-width) 1fr auto;gap:var(--lcars-gap);box-sizing:border-box;align-items:stretch;padding-right:16px;display:grid;position:absolute;top:0;left:0;right:0}[data-theme=lcars] .lcars-elbow-joint{background:var(--lcars-orange);border-radius:0 0 0 28px}[data-theme=lcars] .lcars-elbow-bar{background:var(--lcars-orange);transform-origin:0;border-radius:0 18px 18px 0;justify-content:space-between;align-items:center;gap:16px;min-width:0;padding:0 18px;display:flex;overflow:hidden}[data-theme=lcars] .lcars-status,[data-theme=lcars] .lcars-stardate{font-family:var(--lcars-display);letter-spacing:.14em;text-transform:uppercase;color:#000;white-space:nowrap;font-size:13px;font-weight:700}[data-theme=lcars] .lcars-stardate{opacity:.75;letter-spacing:.08em;font-size:12px}[data-theme=lcars] .lcars-elbow-chips{gap:var(--lcars-gap);align-items:stretch;display:flex}[data-theme=lcars] .lcars-chip{border-radius:14px;width:42px;display:block}[data-theme=lcars] .lcars-chip--coral{background:var(--lcars-coral)}[data-theme=lcars] .lcars-chip--lavender{background:var(--lcars-lavender)}[data-theme=lcars] .lcars-chip--mauve{background:var(--lcars-mauve)}[data-theme=lcars] .top-bar.top-bar{max-width:calc(var(--column) + 48px);padding-top:12px}[data-theme=lcars] main{padding-top:28px}[data-theme=lcars] footer{max-width:calc(var(--column) + 48px);margin-top:40px;padding:0 24px 48px}[data-theme=lcars] footer .footer-inner.footer-inner{background:var(--lcars-red);color:#000;font-family:var(--lcars-display);letter-spacing:.1em;text-transform:uppercase;border-top:none;border-radius:0 0 22px;padding:12px 18px;font-weight:700}[data-theme=lcars] footer .copy.copy,[data-theme=lcars] footer .note.note{color:#000;opacity:.85}[data-theme=lcars] .top-bar-inner{gap:6px}[data-theme=lcars] .top-bar .sep{display:none}[data-theme=lcars] .theme-toggle.theme-toggle,[data-theme=lcars] .lcars-toggle.lcars-toggle{font-family:var(--lcars-display);letter-spacing:.12em;text-transform:uppercase;color:#000;background:var(--lcars-lavender);border:none;border-radius:14px 0 0 14px;padding:6px 14px;font-size:12px;font-weight:700;transition:filter .15s,background .15s}[data-theme=lcars] .lcars-toggle.lcars-toggle{background:var(--lcars-coral);border-radius:0 14px 14px 0;padding:6px 14px;transform:none}[data-theme=lcars] .lcars-toggle.lcars-toggle:before,[data-theme=lcars] .lcars-toggle.lcars-toggle:after{animation:none!important;display:none!important}[data-theme=lcars] .theme-toggle.theme-toggle:hover,[data-theme=lcars] .lcars-toggle.lcars-toggle:hover{filter:brightness(1.12);color:#000;border-color:#0000}[data-theme=lcars] .topnav{border-bottom:none;align-items:stretch;gap:6px;margin-bottom:40px;padding-bottom:0}[data-theme=lcars] .topnav .brand{font-family:var(--lcars-display);letter-spacing:.1em;text-transform:uppercase;color:#000;background:var(--lcars-orange);border-radius:18px 0 0 18px;padding:10px 16px;font-size:14px;font-weight:700;text-decoration:none}[data-theme=lcars] .topnav .brand:hover{filter:brightness(1.08);color:#000}[data-theme=lcars] .topnav .nav-links{flex:1;justify-content:flex-end;gap:4px}[data-theme=lcars] .topnav .nav-links a{font-family:var(--lcars-display);letter-spacing:.1em;text-transform:uppercase;color:#000;background:var(--lcars-gold);border-radius:12px;padding:10px 14px;font-size:12px;font-weight:700;text-decoration:none;transition:filter .15s,background .15s}[data-theme=lcars] .topnav .nav-links a:nth-child(2){background:var(--lcars-coral)}[data-theme=lcars] .topnav .nav-links a:nth-child(3){background:var(--lcars-lavender)}[data-theme=lcars] .topnav .nav-links a:nth-child(4){background:var(--lcars-mauve);border-radius:12px 0 0 12px}[data-theme=lcars] .topnav .nav-links a:hover,[data-theme=lcars] .topnav .nav-links a.active{filter:brightness(1.1);color:#000;outline:2px solid var(--lcars-peach);outline-offset:1px}[data-theme=lcars] .section-heading{font-family:var(--lcars-display);letter-spacing:.14em;text-transform:uppercase;color:#000;background:var(--lcars-gold);border-bottom:none;border-radius:0 16px 16px 0;margin:0 0 20px;padding:8px 16px 8px 14px;font-size:14px;font-weight:700;display:inline-block;position:relative}[data-theme=lcars] .section-head{border-bottom:none;align-items:stretch;gap:6px;padding-bottom:0}[data-theme=lcars] .section-head .section-heading{flex:1;align-items:center;margin:0;display:flex}[data-theme=lcars] .section-link{font-family:var(--lcars-display);letter-spacing:.1em;text-transform:uppercase;color:#000;background:var(--lcars-lavender);border:none;border-radius:14px 0 0 14px;align-items:center;padding:8px 14px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}[data-theme=lcars] .section-link:hover{filter:brightness(1.1);color:#000;border-color:#0000}[data-theme=lcars] section:first-of-type .section-heading{background:var(--lcars-gold)}[data-theme=lcars] section:nth-of-type(2) .section-heading{background:var(--lcars-coral)}[data-theme=lcars] section:nth-of-type(3) .section-heading{background:var(--lcars-lavender)}[data-theme=lcars] section:nth-of-type(4) .section-heading{background:var(--lcars-mauve)}[data-theme=lcars] .profile-header h1{font-family:var(--lcars-display);letter-spacing:.04em;text-transform:uppercase;color:var(--lcars-gold);font-size:clamp(28px,5vw,40px);font-weight:700}[data-theme=lcars] .page-title{font-family:var(--lcars-display);letter-spacing:.08em;text-transform:uppercase;color:var(--lcars-gold);font-weight:700}[data-theme=lcars] .row,[data-theme=lcars] .project-row{background:var(--hover-bg);border-bottom:none;border-left:8px solid var(--lcars-coral);border-radius:0 18px 18px 0;margin-bottom:6px;padding:12px 16px;transition:filter .15s,padding-left .15s,background .15s}[data-theme=lcars] .row:last-child,[data-theme=lcars] .project-row:last-child{border-bottom:none}[data-theme=lcars] .row:nth-child(3n+2),[data-theme=lcars] .project-row:nth-child(3n+2){border-left-color:var(--lcars-lavender)}[data-theme=lcars] .row:nth-child(3n+3),[data-theme=lcars] .project-row:nth-child(3n+3){border-left-color:var(--lcars-mauve)}[data-theme=lcars] .row:hover,[data-theme=lcars] .project-row:hover{filter:brightness(1.15);background:#1f2450;padding-left:20px}[data-theme=lcars] .row-title,[data-theme=lcars] .project-name{font-family:var(--lcars-display);letter-spacing:.04em;font-weight:600}[data-theme=lcars] .row-meta,[data-theme=lcars] .project-meta{font-family:var(--lcars-display);letter-spacing:.08em;text-transform:uppercase;font-size:11px}[data-theme=lcars] .cv-button{font-family:var(--lcars-display);letter-spacing:.12em;text-transform:uppercase;color:#000;background:var(--lcars-coral);border:none;border-radius:20px 0 0 20px;padding:10px 20px;font-weight:700}[data-theme=lcars] .cv-button:hover{filter:brightness(1.1);background:var(--lcars-orange);color:#000;border-color:#0000}[data-theme=lcars] .prose{font-family:var(--lcars-body)}[data-theme=lcars] .prose h1,[data-theme=lcars] .prose h2,[data-theme=lcars] .prose h3{font-family:var(--lcars-display);letter-spacing:.04em;text-transform:uppercase;color:var(--lcars-gold)}[data-theme=lcars] pre{border:none;border-left:8px solid var(--lcars-lavender);background:var(--code-bg);border-radius:0 16px 16px 0}[data-theme=lcars] blockquote{border-left:8px solid var(--lcars-coral);background:var(--hover-bg);border-radius:0 12px 12px 0;padding:10px 14px}[data-theme=lcars] hr{background:linear-gradient(90deg, var(--lcars-orange), var(--lcars-coral), var(--lcars-lavender));border:none;border-radius:0 6px 6px 0;height:6px;margin:2em 0}[data-theme=lcars] a{text-decoration-color:var(--lcars-coral)}[data-theme=lcars] a:hover{color:var(--lcars-gold);text-decoration-color:var(--lcars-gold)}@keyframes lcars-rail-in{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes lcars-elbow-in{0%{opacity:0;transform:scaleX(.2)}to{opacity:1;transform:scaleX(1)}}@keyframes lcars-content-in{0%{opacity:.45;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes lcars-rail-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-28px)}}@keyframes lcars-elbow-out{0%{opacity:1;transform:scaleX(1)}to{opacity:0;transform:scaleX(.12)}}@keyframes lcars-content-out{0%{opacity:1;transform:translateY(0)}to{opacity:.35;transform:translateY(6px)}}html.lcars-preengage body,html.lcars-preengage .top-bar,html.lcars-preengage main,html.lcars-preengage footer{opacity:.55;filter:brightness(.88);transition:opacity .22s,filter .22s}html.theme-settling body,html.lcars-engaging body{transition:padding-left .55s cubic-bezier(.22,1,.36,1),padding-top .55s cubic-bezier(.22,1,.36,1),background-color .5s,color .5s}html.theme-settling .top-bar,html.theme-settling main,html.theme-settling footer,html.theme-settling a,html.theme-settling .section-heading,html.theme-settling .row,html.theme-settling .project-row,html.theme-settling .profile-header h1,html.theme-settling .page-title,html.theme-settling .cv-button,html.theme-settling .topnav .brand,html.theme-settling .topnav .nav-links a,html.lcars-engaging .top-bar,html.lcars-engaging main,html.lcars-engaging footer{transition:background-color .5s,color .5s,border-color .45s,opacity .45s,padding .45s}[data-theme=lcars].lcars-engaging .lcars-frame{animation:.35s ease-out both lcars-content-in}[data-theme=lcars].lcars-engaging .lcars-chiclet{animation:.55s cubic-bezier(.22,1,.36,1) both lcars-rail-in}[data-theme=lcars].lcars-engaging .lcars-chiclet--a{animation-delay:50ms}[data-theme=lcars].lcars-engaging .lcars-chiclet--b{animation-delay:.11s}[data-theme=lcars].lcars-engaging .lcars-chiclet--c{animation-delay:.17s}[data-theme=lcars].lcars-engaging .lcars-chiclet--d{animation-delay:.23s}[data-theme=lcars].lcars-engaging .lcars-chiclet--e{animation-delay:.29s}[data-theme=lcars].lcars-engaging .lcars-chiclet--f{animation-delay:.35s}[data-theme=lcars].lcars-engaging .lcars-elbow-joint{animation:.5s cubic-bezier(.22,1,.36,1) 40ms both lcars-rail-in}[data-theme=lcars].lcars-engaging .lcars-elbow-bar{animation:.65s cubic-bezier(.22,1,.36,1) .14s both lcars-elbow-in}[data-theme=lcars].lcars-engaging .lcars-elbow-chips{animation:.45s ease-out .38s both lcars-content-in}[data-theme=lcars].lcars-engaging .top-bar,[data-theme=lcars].lcars-engaging main,[data-theme=lcars].lcars-engaging footer{animation:.55s ease-out .12s both lcars-content-in}[data-theme=lcars].lcars-disengaging .lcars-chiclet{animation:.4s ease-in both lcars-rail-out}[data-theme=lcars].lcars-disengaging .lcars-chiclet--a{animation-delay:.22s}[data-theme=lcars].lcars-disengaging .lcars-chiclet--b{animation-delay:.18s}[data-theme=lcars].lcars-disengaging .lcars-chiclet--c{animation-delay:.14s}[data-theme=lcars].lcars-disengaging .lcars-chiclet--d{animation-delay:.1s}[data-theme=lcars].lcars-disengaging .lcars-chiclet--e{animation-delay:60ms}[data-theme=lcars].lcars-disengaging .lcars-chiclet--f{animation-delay:20ms}[data-theme=lcars].lcars-disengaging .lcars-elbow-joint{animation:.35s ease-in 80ms both lcars-rail-out}[data-theme=lcars].lcars-disengaging .lcars-elbow-bar{animation:.4s ease-in both lcars-elbow-out}[data-theme=lcars].lcars-disengaging .lcars-elbow-chips{animation:.3s ease-in both lcars-content-out}[data-theme=lcars].lcars-disengaging .top-bar,[data-theme=lcars].lcars-disengaging main,[data-theme=lcars].lcars-disengaging footer{animation:.35s ease-in both lcars-content-out}@media (prefers-reduced-motion:reduce){html.lcars-preengage body,html.lcars-preengage .top-bar,html.lcars-preengage main,html.lcars-preengage footer{opacity:1!important;filter:none!important;transition:none!important}[data-theme=lcars].lcars-engaging .lcars-frame,[data-theme=lcars].lcars-engaging .lcars-chiclet,[data-theme=lcars].lcars-engaging .lcars-elbow-joint,[data-theme=lcars].lcars-engaging .lcars-elbow-bar,[data-theme=lcars].lcars-engaging .lcars-elbow-chips,[data-theme=lcars].lcars-engaging .top-bar,[data-theme=lcars].lcars-engaging main,[data-theme=lcars].lcars-engaging footer,[data-theme=lcars].lcars-disengaging .lcars-chiclet,[data-theme=lcars].lcars-disengaging .lcars-elbow-joint,[data-theme=lcars].lcars-disengaging .lcars-elbow-bar,[data-theme=lcars].lcars-disengaging .lcars-elbow-chips,[data-theme=lcars].lcars-disengaging .top-bar,[data-theme=lcars].lcars-disengaging main,[data-theme=lcars].lcars-disengaging footer{animation:none!important}html.theme-settling body,html.theme-settling main,html.theme-settling .top-bar,html.theme-settling footer,html.theme-settling a,html.theme-settling .section-heading,html.theme-settling .row,html.theme-settling .project-row,html.lcars-engaging body{transition:none!important}}@media (width<=720px){[data-theme=lcars]{--lcars-rail-width:18px;--lcars-elbow-height:28px}[data-theme=lcars] body{padding-left:var(--lcars-rail-width);padding-top:calc(var(--lcars-elbow-height) + var(--lcars-gap) + 4px)}[data-theme=lcars] .lcars-chiclet{border-radius:0 0 0 10px;min-height:28px}[data-theme=lcars] .lcars-chiclet:after{display:none}[data-theme=lcars] .lcars-elbow-joint{border-radius:0 0 0 12px}[data-theme=lcars] .lcars-elbow-bar{border-radius:0 12px 12px 0;padding:0 10px}[data-theme=lcars] .lcars-status{letter-spacing:.08em;font-size:10px}[data-theme=lcars] .lcars-stardate,[data-theme=lcars] .lcars-elbow-chips{display:none}[data-theme=lcars] .topnav .nav-links a{padding:8px 10px;font-size:11px}[data-theme=lcars] .topnav .brand{padding:8px 12px;font-size:12px}[data-theme=lcars] footer{padding-bottom:32px}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--sans);background-color:var(--bg);color:var(--text);word-wrap:break-word;overflow-wrap:break-word;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;font-size:16px;line-height:1.6}main{max-width:var(--column);margin:0 auto;padding:64px 24px 0}h1,h2,h3,h4,h5,h6{color:var(--text);margin:0;font-weight:600;line-height:1.2}p{margin:0 0 1em}strong,b{font-weight:600}a{color:var(--text);text-decoration:underline;text-decoration-color:var(--border-link);text-underline-offset:3px;text-decoration-thickness:1px;transition:text-decoration-color .15s,color .15s}a:hover{text-decoration-color:var(--text)}img{max-width:100%;height:auto}code{font-family:var(--mono);color:var(--text-secondary);font-size:.88em}pre{font-family:var(--mono);background:var(--code-bg);border:1px solid var(--border-soft);border-radius:4px;margin:0 0 1.4em;padding:14px 16px;font-size:.85em;line-height:1.5;overflow-x:auto}pre code{all:unset;font-family:var(--mono)}blockquote{border-left:2px solid var(--border);color:var(--text-secondary);margin:0 0 1.4em;padding:2px 0 2px 16px;font-style:normal}hr{border:none;border-top:1px solid var(--border-soft);margin:2em 0}table{border-collapse:collapse;width:100%;font-size:.92em}th,td{border-bottom:1px solid var(--border-soft);text-align:left;padding:6px 10px}::selection{background:var(--selection-bg);color:var(--selection-fg)}::selection{background:var(--selection-bg);color:var(--selection-fg)}.section-heading{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);margin:0 0 24px;padding-bottom:12px;font-size:12px;font-weight:500}.section-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:16px;margin:0 0 24px;padding-bottom:12px;display:flex}.section-head .section-heading{border:none;margin:0;padding:0}.section-link{font-family:var(--mono);color:var(--text-muted);border-bottom:1px solid var(--border-link);padding-bottom:1px;font-size:12px;text-decoration:none;transition:color .15s,border-color .15s}.section-link:hover{color:var(--text);border-color:var(--text)}section{margin-bottom:56px}section:last-child{margin-bottom:0}.row-list{margin:0;padding:0;list-style:none}.row{border-bottom:1px solid var(--border-soft);color:var(--text);justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;text-decoration:none;transition:padding-left .15s;display:flex}.row:last-child{border-bottom:none}.row:hover{padding-left:6px}.row-title{font-size:15px}.row-meta{font-family:var(--mono);color:var(--text-muted);flex-shrink:0;font-size:13px}.project-row{border-bottom:1px solid var(--border-soft);color:var(--text);padding:14px 0;text-decoration:none;transition:padding-left .15s;display:block}.project-row:last-child{border-bottom:none}.project-row:hover{padding-left:6px}.project-line{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.project-name{font-family:var(--mono);color:var(--text);font-size:14px}.project-meta{font-family:var(--mono);color:var(--text-muted);flex-shrink:0;font-size:12px}.project-desc{color:var(--text-secondary);margin-top:6px;font-size:14px;line-height:1.5;display:block}.cv-button{font-family:var(--mono);color:var(--text);border:1px solid var(--border-link);border-radius:6px;padding:8px 14px;font-size:13px;text-decoration:none;transition:border-color .15s,background .15s;display:inline-block}.cv-button:hover{border-color:var(--text);background:var(--hover-bg)}.topnav{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:64px;padding-bottom:20px;display:flex}.topnav .brand{font-family:var(--mono);color:var(--text);font-size:14px;text-decoration:none}.topnav .brand:hover{color:var(--text)}.topnav .nav-links{flex-wrap:wrap;gap:18px;display:flex}.topnav .nav-links a{font-family:var(--mono);color:var(--text-muted);font-size:13px;text-decoration:none;transition:color .15s}.topnav .nav-links a:hover,.topnav .nav-links a.active{color:var(--text)}.prose{color:var(--text-prose);font-size:16px;line-height:1.7}.prose>:first-child{margin-top:0}.prose h1{letter-spacing:-.02em;margin:0 0 8px;font-size:30px}.prose h2{letter-spacing:-.01em;margin:2em 0 .6em;font-size:20px}.prose h3{margin:1.6em 0 .5em;font-size:16px}.prose h4{color:var(--text-secondary);margin:1.4em 0 .5em;font-size:14px}.prose p{margin:0 0 1.2em}.prose ul,.prose ol{margin:0 0 1.2em;padding-left:1.4em}.prose li{margin-bottom:.4em}.prose a{color:var(--text)}.prose img{margin:1.4em 0}.sr-only{clip:rect(1px, 1px, 1px, 1px);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:0;padding:0;overflow:hidden;position:absolute!important}@media (width<=600px){main{padding:40px 20px 0}.topnav{margin-bottom:48px}}html{--theme-x:50%;--theme-y:50%}::view-transition-old(root),::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2}html.theme-wiping::view-transition-new(root){animation:.55s cubic-bezier(.22,1,.36,1) both theme-wipe-in}html.theme-wiping::view-transition-old(root){animation:.55s cubic-bezier(.22,1,.36,1) both theme-wipe-out}@keyframes theme-wipe-in{0%{clip-path:circle(0% at var(--theme-x) var(--theme-y))}to{clip-path:circle(150% at var(--theme-x) var(--theme-y))}}@keyframes theme-wipe-out{0%{opacity:1}to{opacity:1}}html.theme-color-fade,html.theme-color-fade body,html.theme-color-fade main,html.theme-color-fade .top-bar,html.theme-color-fade footer{transition:background-color .4s,color .4s,border-color .4s}@media (prefers-reduced-motion:reduce){html.theme-wiping::view-transition-new(root),html.theme-wiping::view-transition-old(root){animation:none!important}html.theme-color-fade,html.theme-color-fade body,html.theme-color-fade main,html.theme-color-fade .top-bar,html.theme-color-fade footer{transition:none!important}}footer[data-astro-cid-jo6i4kqk]{max-width:var(--column);margin:56px auto 0;padding:28px 24px 120px}.footer-inner[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--border);font-family:var(--mono);color:var(--text-faint);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;padding-top:20px;font-size:12px;display:flex}.note[data-astro-cid-jo6i4kqk]{color:var(--text-faint)}.theme-toggle[data-astro-cid-l6lhmie6]{cursor:pointer;font-family:var(--mono);color:var(--text-faint);background:0 0;border:none;border-bottom:1px solid #0000;margin:0;padding:0 0 1px;font-size:12px;text-decoration:none;transition:color .15s,border-color .15s}.theme-toggle[data-astro-cid-l6lhmie6]:hover{color:var(--text);border-color:var(--text)}.label-dark[data-astro-cid-l6lhmie6],.label-lcars[data-astro-cid-l6lhmie6],[data-theme=dark] .label-light[data-astro-cid-l6lhmie6]{display:none}[data-theme=dark] .label-dark[data-astro-cid-l6lhmie6]{display:inline}[data-theme=lcars] .label-light[data-astro-cid-l6lhmie6],[data-theme=lcars] .label-dark[data-astro-cid-l6lhmie6]{display:none}[data-theme=lcars] .label-lcars[data-astro-cid-l6lhmie6]{display:inline}@property --lcars-glow-angle{syntax:"<angle>";inherits:false;initial-value:0deg}.lcars-toggle[data-astro-cid-lx6qpidd]{--lcars-o:#f90;--lcars-c:#f96;--lcars-g:#fc6;--lcars-l:#99f;--lcars-m:#c9c;--lcars-r:#c66;isolation:isolate;cursor:pointer;font-family:var(--mono);color:#000;z-index:0;background:0 0;border:none;border-radius:999px;margin:0;padding:3px 10px;font-size:12px;font-weight:600;text-decoration:none;transition:color .15s,transform .15s;position:relative}[data-theme=dark] .lcars-toggle[data-astro-cid-lx6qpidd]{color:#fff}.lcars-toggle-label[data-astro-cid-lx6qpidd]{z-index:1;position:relative}.lcars-toggle[data-astro-cid-lx6qpidd]:before{content:"";border-radius:inherit;background:conic-gradient(from var(--lcars-glow-angle), var(--lcars-o), var(--lcars-c), var(--lcars-g), var(--lcars-l), var(--lcars-m), var(--lcars-r), var(--lcars-o));filter:blur(7px);opacity:.55;z-index:-1;pointer-events:none;animation:2.8s linear infinite lcars-glow-spin;position:absolute;inset:-4px}.lcars-toggle[data-astro-cid-lx6qpidd]:after{content:"";border-radius:inherit;background:conic-gradient(from var(--lcars-glow-angle), var(--lcars-o), var(--lcars-c), var(--lcars-g), var(--lcars-l), var(--lcars-m), var(--lcars-r), var(--lcars-o));-webkit-mask-composite:xor;opacity:.95;z-index:-1;pointer-events:none;padding:1.5px;animation:2.8s linear infinite lcars-glow-spin;position:absolute;inset:-2px;mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-position:0 0,0 0;mask-size:auto,auto;mask-repeat:repeat,repeat;mask-clip:content-box,border-box;mask-origin:content-box,border-box;mask-composite:exclude;mask-mode:match-source,match-source}.lcars-toggle[data-astro-cid-lx6qpidd]:hover{transform:translateY(-1px)}[data-theme=light] .lcars-toggle[data-astro-cid-lx6qpidd]:hover,:root:not([data-theme]) .lcars-toggle[data-astro-cid-lx6qpidd]:hover{color:#000}[data-theme=dark] .lcars-toggle[data-astro-cid-lx6qpidd]:hover{color:#fff}.lcars-toggle[data-astro-cid-lx6qpidd]:hover:before{opacity:.75;filter:blur(9px)}@keyframes lcars-glow-spin{to{--lcars-glow-angle:360deg}}[data-theme=lcars] .lcars-toggle[data-astro-cid-lx6qpidd]:before,[data-theme=lcars] .lcars-toggle[data-astro-cid-lx6qpidd]:after{animation:none;display:none}@media (prefers-reduced-motion:reduce){.lcars-toggle[data-astro-cid-lx6qpidd]:before,.lcars-toggle[data-astro-cid-lx6qpidd]:after{background:linear-gradient(90deg, var(--lcars-o), var(--lcars-l), var(--lcars-m), var(--lcars-c));animation:none}}.top-bar[data-astro-cid-nazmfhjt]{max-width:var(--column);margin:0 auto;padding:24px 24px 0}.top-bar-inner[data-astro-cid-nazmfhjt]{justify-content:flex-end;align-items:baseline;gap:8px;display:flex}.sep[data-astro-cid-nazmfhjt]{font-family:var(--mono);color:var(--text-faint);opacity:.6;font-size:12px}
