@font-face{font-family:Rubik;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/rubik-300-latin-ext.woff2)format("woff2");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:Rubik;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/rubik-300-latin.woff2)format("woff2");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:Rubik;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/rubik-400-latin-ext.woff2)format("woff2");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:Rubik;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/rubik-400-latin.woff2)format("woff2");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:Rubik;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/rubik-500-latin-ext.woff2)format("woff2");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:Rubik;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/rubik-500-latin.woff2)format("woff2");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:Rubik;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/rubik-600-latin-ext.woff2)format("woff2");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:Rubik;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/rubik-600-latin.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-400.woff2)format("woff2")}:root{--app-background:#0b0d18;--app-foreground:#f2f3ff;--app-muted:#a8adc7;--app-accent:#a5b4fc;--app-accent-text:#a5b4fc;--app-accent-foreground:#171941;--app-border:#e6e1ff1f;--app-canvas-bg:#151722;--app-card-bg:#1b1d28;--app-input-bg:#232530;--app-aurora-filter:hue-rotate(90deg) saturate(.85);--aurora-image:url(/lisa-aurora-about-dark-silky.webp);color-scheme:dark}@media (prefers-color-scheme:light){:root{--app-background:#f5f6fb;--app-foreground:#20243e;--app-muted:#606781;--app-accent:#4f46e5;--app-accent-text:#4f46e5;--app-accent-foreground:#fff;--app-border:#dddcf7;--app-canvas-bg:#eceef9;--app-card-bg:#fff;--app-input-bg:#e6e6f6;--app-aurora-filter:none;--aurora-image:url(/lisa-aurora-about-light-silky.webp);color-scheme:light}}*{box-sizing:border-box;margin:0;padding:0}html,body{-webkit-font-smoothing:antialiased;background:var(--app-background);color:var(--app-foreground);font-family:Rubik,ui-sans-serif,system-ui,sans-serif}a{color:var(--app-accent-text)}:focus-visible{outline:2px solid var(--app-accent);outline-offset:3px;border-radius:4px}.skip-link{background:var(--app-foreground);color:var(--app-background);z-index:100;padding:12px 20px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:12px}.site-header{z-index:50;position:fixed;top:0;left:0;right:0;box-shadow:0 4px 24px #00000012}.site-header:before{content:"";z-index:-1;pointer-events:none;background:color-mix(in srgb, var(--app-background) 42%, transparent);backdrop-filter:blur(20px)saturate(150%);position:absolute;inset:0}.navbar{align-items:center;gap:20px;height:40px;padding:0 20px;display:flex}.navbar-brand{height:100%;color:var(--app-foreground);flex:none;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.lisa-wordmark{background:var(--app-foreground);display:block;-webkit-mask:url(/lisa-wordmark.svg) 50%/contain no-repeat;mask:url(/lisa-wordmark.svg) 50%/contain no-repeat}.lisa-wordmark--navbar{width:44px;height:21px}.navbar-section{color:var(--app-muted);font-size:12px;font-weight:500}.navbar-links{flex:1;align-items:center;gap:2px;height:100%;display:flex}.navbar-links .navbar-end{margin-left:auto}.navbar-links a{color:var(--app-foreground);border-radius:5px;align-items:center;gap:5px;padding:7px 12px;font-size:12px;font-weight:500;text-decoration:none;transition:background .2s;display:inline-flex}.navbar-links a:hover,.navbar-links a.active{background:color-mix(in srgb, var(--app-foreground) 12%, transparent)}.navbar-links a.active{font-weight:700}.navbar-links .arrow{opacity:.65;font-size:11px}.app-main{outline:none;padding-top:40px}.page-section{padding:100px 40px}.page-container{max-width:1120px;margin:0 auto}.page-label{text-transform:uppercase;letter-spacing:.18em;color:var(--app-muted);margin-bottom:24px;font-size:11px;font-weight:500}.page-title{letter-spacing:-.05em;text-wrap:balance;margin-bottom:16px;font-size:clamp(32px,4.3vw,54px);font-weight:600;line-height:1.15}.page-title .accent{font-weight:inherit;color:var(--app-accent)}.page-subtitle{color:var(--app-muted);max-width:650px;margin-bottom:36px;font-size:16px;font-weight:400;line-height:1.8}.aurora-hero{isolation:isolate;background:var(--app-background);text-align:center;padding:200px 40px 120px;position:relative}.aurora-hero:before,.aurora-hero:after{content:"";z-index:-1;pointer-events:none;position:absolute;inset:0}.aurora-hero:before{background:var(--aurora-image) center top / cover no-repeat;filter:var(--app-aurora-filter)}.aurora-hero:after{background:linear-gradient(180deg, color-mix(in srgb, var(--app-background) 8%, transparent), color-mix(in srgb, var(--app-background) 42%, transparent) 220px, color-mix(in srgb, var(--app-background) 38%, transparent) 58%, color-mix(in srgb, var(--app-background) 16%, transparent) 78%, var(--app-background) calc(100% - 24px), var(--app-background))}.aurora-hero .page-title{letter-spacing:-.06em;max-width:900px;margin-inline:auto;font-size:clamp(40px,5.6vw,72px)}.aurora-hero .page-title .accent{display:block}.aurora-hero .page-subtitle{color:var(--app-foreground);opacity:.82;margin-inline:auto}.aurora-hero .page-label{color:var(--app-foreground)}.aurora-hero--post{padding-bottom:72px}.aurora-hero--post .page-title{font-size:clamp(36px,4.6vw,58px)}.aurora-hero--post .tags{justify-content:center}@media (prefers-color-scheme:light){.aurora-hero .page-title .accent{color:color-mix(in srgb, var(--app-accent) 50%, var(--app-foreground))}.aurora-hero:after{background:linear-gradient(180deg, transparent 58%, var(--app-background) calc(100% - 24px))}}.posts{gap:16px;list-style:none;display:grid}.card{background:linear-gradient(145deg, color-mix(in srgb, var(--app-card-bg) 85%, var(--app-accent)), var(--app-card-bg));color:var(--app-foreground);border-radius:13px;padding:30px;text-decoration:none;transition:transform .2s,background .2s;display:block}.card:hover{transform:translateY(-2px)}.card h2{letter-spacing:-.035em;margin:6px 0 8px;font-size:22px;font-weight:600;line-height:1.3}.card p{color:var(--app-muted);font-size:15px;font-weight:300;line-height:1.6}.meta{color:var(--app-muted);font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:12px;font-weight:500}.prose{max-width:700px;color:color-mix(in srgb, var(--app-foreground) 88%, var(--app-muted));margin-inline:auto;font-size:16px;font-weight:400;line-height:1.85}.prose>*+*{margin-top:1.1em}.prose h2{letter-spacing:-.04em;margin-top:2.2em;font-size:28px;font-weight:600;line-height:1.25}.prose h3{letter-spacing:-.03em;margin-top:1.8em;font-size:20px;font-weight:600}.prose strong{color:var(--app-foreground);font-weight:500}.prose a{text-underline-offset:.18em;text-decoration-thickness:1px}.prose ul,.prose ol{padding-left:1.3em}.prose li+li{margin-top:.4em}.prose blockquote{border-left:2px solid var(--app-accent);color:var(--app-muted);padding-left:1.1em}.prose code{background:var(--app-input-bg);border-radius:5px;padding:.12em .4em;font:.88em JetBrains Mono,ui-monospace,Menlo,monospace}.prose pre{border-radius:10px;padding:18px 20px;font-size:14px;line-height:1.55;overflow-x:auto;background:var(--app-canvas-bg)!important}.prose pre code{background:0 0;padding:0}.prose table{border-collapse:collapse;font-size:15px;display:block;overflow-x:auto}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--app-border);padding:8px 14px 8px 0}.prose th{color:var(--app-muted);font-weight:500}.prose img{border-radius:12px;max-width:100%;height:auto}.prose hr{border:0;border-top:1px solid var(--app-border)}.tags{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.tag{color:var(--app-accent-text);background:color-mix(in srgb, var(--app-accent) 14%, transparent);border-radius:999px;padding:3px 10px;font-size:11px;font-weight:500}.back{margin-top:48px;font-size:14px;font-weight:500;text-decoration:none;display:inline-block}.site-footer{background:var(--app-background);border-top:1px solid var(--app-border);padding:64px 40px 28px}.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;max-width:1000px;margin:0 auto;display:grid}.footer-brand{flex-direction:column;gap:14px;display:flex}.footer-brand-link{text-decoration:none;display:inline-flex}.lisa-wordmark--footer{background:var(--app-accent);width:86px;height:30px}.footer-copy{color:var(--app-muted);max-width:320px;font-size:13px;line-height:1.55}.footer-heading{text-transform:uppercase;letter-spacing:.14em;color:var(--app-foreground);margin-bottom:10px;font-size:11px;font-weight:600}.footer-grid a{color:var(--app-muted);padding:6px 0;font-size:13px;text-decoration:none;transition:color .15s;display:block}.footer-grid a:hover{color:var(--app-accent-text)}.footer-bottom{border-top:1px solid var(--app-border);max-width:1000px;color:var(--app-muted);margin:48px auto 0;padding-top:24px;font-size:13px}@media (width<=800px){.navbar{gap:8px;height:48px;padding-inline:14px}.app-main{padding-top:48px}.navbar-section{display:none}.navbar-links a{padding:7px 8px}.page-section{padding:56px 20px}.aurora-hero{padding:140px 20px 80px}.site-footer{padding:48px 24px 24px}.footer-grid{grid-template-columns:1fr 1fr;gap:32px 24px}.footer-brand{grid-column:1/-1}}@media print{.site-header,.skip-link{display:none}}.aurora-hero .prose{text-align:left}.aurora-hero .meta{color:var(--app-foreground);opacity:.85}.aurora-hero .tag{color:var(--app-foreground);background:color-mix(in srgb, var(--app-background) 55%, transparent);backdrop-filter:blur(8px)}.astro-code,.astro-code span{color:var(--shiki-dark)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important}@media (prefers-color-scheme:light){.astro-code,.astro-code span{color:var(--shiki-light)!important;font-style:var(--shiki-light-font-style)!important;font-weight:var(--shiki-light-font-weight)!important}}.prose pre{font-family:JetBrains Mono,ui-monospace,Menlo,monospace}.stack{gap:6px;margin:2em 0;display:grid}.stack-layer{background:var(--app-card-bg);border-radius:10px;grid-template-columns:28px 150px 1fr;align-items:baseline;gap:14px;padding:16px 18px;font-size:14px;line-height:1.6;display:grid}.stack-layer strong{color:var(--app-foreground);font-weight:600}.stack-layer span{color:var(--app-muted)}.stack-n{font-family:JetBrains Mono,ui-monospace,monospace;color:var(--app-accent)!important}.stack-base{background:color-mix(in srgb, var(--app-accent) 16%, var(--app-card-bg))}.stack figcaption{color:var(--app-muted);text-align:center;letter-spacing:.02em;margin-top:8px;font-size:12px}@media (width<=560px){.stack-layer{grid-template-columns:24px 1fr}.stack-layer span:last-child{grid-column:2}}
