:root,html[data-theme=light]{color-scheme:light;--bg:#fbf1c7;--fg:#282728;--fg-alt:#000;--accent:#3c3836;--card:#ebdbb2;--muted:#7c6f64;--line:#282728;--link:#427b58;--title-1:#3c3836;--title-2:#857a52;--toggle:#f59e0b;--maxw:720px;--pad:18px;--radius:8px}@media (prefers-color-scheme:dark){html:not([data-theme=light]){color-scheme:dark;--bg:#282828;--fg:#ebdbb2;--fg-alt:#fff;--accent:#ebdbb2;--card:#3c3836;--muted:#a89984;--line:#ebdbb2;--link:#8ec07c;--title-1:#fff;--title-2:#d8c787;--toggle:#f59e0b}}html[data-theme=dark]{color-scheme:dark;--bg:#282828;--fg:#ebdbb2;--fg-alt:#fff;--accent:#ebdbb2;--card:#3c3836;--muted:#a89984;--line:#ebdbb2;--link:#8ec07c;--title-1:#fff;--title-2:#d8c787;--toggle:#f59e0b}html{scroll-behavior:smooth;cursor:url(/assets/cursors/marshmallonyuug.gif),auto;overflow-y:scroll}html,body{height:100%}body{background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font:14px/1.55 IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;transition:background-color .25s,color .25s}::selection{background:color-mix(in oklab, var(--accent) 70%, transparent);color:var(--bg)}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--card)}::-webkit-scrollbar-thumb:hover{background:var(--accent)}p{margin:0 0 10px}.muted{color:var(--muted)}a,button{cursor:url(/assets/cursors/gracefuldice.gif),pointer}a{color:var(--link);text-underline-offset:4px;border-radius:5px;text-decoration:underline 1px dashed;transition:color .15s,background-color .15s}a:hover{color:var(--bg);background-color:var(--link);text-decoration:none}a:focus-visible{outline:2px dashed var(--accent);outline-offset:1px}a[target=_blank]:after{content:" ↗"}a.exp-mark:after,a.exp-org:after,.header-inner a:after{content:none}.wrap{max-width:var(--maxw);padding:10px var(--pad) calc(var(--pad) * 1.25);margin:0 auto}header{background:var(--card);z-index:10;position:sticky;top:0}.header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding-top:8px;padding-bottom:8px;display:flex}.header-inner a.site-name{color:var(--title-1);text-shadow:2px 2px 7px;font-size:1.5rem;font-weight:600;text-decoration:none}.header-inner a.site-name:hover{color:var(--title-1);background:0 0}.site-name .name-2{color:var(--title-2)}#typewriter{white-space:nowrap}#theme-btn{color:var(--toggle);background:0 0;border:0;border-radius:6px;padding:4px;line-height:0;display:inline-flex}#theme-btn:hover{background:color-mix(in oklab, var(--accent) 15%, transparent)}#theme-btn:focus-visible{outline:2px dashed var(--accent);outline-offset:1px}#theme-btn svg{width:24px;height:24px;fill:var(--card)}.icon-sun,html[data-theme=dark] .icon-moon{display:none}.icon-moon,html[data-theme=dark] .icon-sun{display:block}.intro{grid-template-columns:1fr 140px;align-items:start;gap:20px;margin:0 0 10px;display:grid}@media (width<=560px){.intro{grid-template-columns:1fr}.avatar-col{order:-1;justify-self:center}}.avatar-col{flex-direction:column;align-items:center;gap:8px;display:flex}.location{color:var(--fg);align-items:center;gap:4px;font-size:14px;font-weight:700;display:inline-flex}.location svg{stroke:red;fill:var(--bg);flex:none}.avatar{aspect-ratio:1;border-radius:var(--radius);object-fit:cover;border:2px solid var(--line);width:140px;transition:transform .3s}.avatar:hover{object-position:70% center;transform:scale(1.04)}.badges{--gap:20px;gap:var(--gap);margin:0 0 8px;padding:3px 0;display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 10% 90%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 10% 90%,#0000 100%)}.badges-track{justify-content:space-around;gap:var(--gap);flex:none;animation:30s linear infinite marquee-left;display:flex}.badges:hover .badges-track{animation-play-state:paused}.badges a{border-radius:0;line-height:0;display:block}.badges a:hover{background:0 0}.badges a:after{content:none}.badges img{width:88px;height:31px;image-rendering:pixelated;display:block}@keyframes marquee-left{0%{transform:translate(0)}to{transform:translateX(calc(-100% - var(--gap)))}}@media (prefers-reduced-motion:reduce){.badges-track{animation:none}}.demo-grid{grid-template-columns:repeat(6,1fr);gap:8px 14px;margin:0 0 16px;display:grid}.demo-grid figure{grid-column:span 2;margin:0}.demo-grid figure:nth-child(4){grid-column:2/span 2}.demo-grid img,.demo-grid video{aspect-ratio:16/9;border-radius:var(--radius);border:2px solid var(--line);object-fit:cover;box-sizing:border-box;width:100%;display:block}.demo-grid figcaption{color:var(--muted);text-align:center;margin-top:3px;font-size:11px}@media (width<=560px){.demo-grid{grid-template-columns:1fr}.demo-grid figure,.demo-grid figure:nth-child(4){grid-column:auto}}main section{margin:44px 0}h2{border-bottom:1px solid color-mix(in oklab, var(--line) 30%, transparent);margin:22px 0 12px;padding-bottom:6px;font-size:19px;font-weight:600}h2:before{content:">> "}.exp-row{align-items:flex-start;gap:12px;padding:8px 0;display:flex}.exp-mark{flex:none;margin-top:-1px;line-height:0;display:block}.exp-mark:hover{background:0 0}.exp-logo{object-fit:cover;border-radius:6px;width:24px;height:24px;display:block}.exp-header{flex-wrap:wrap;flex:auto;justify-content:space-between;align-items:baseline;gap:4px 12px;min-width:0;display:flex}.exp-org{color:inherit;text-decoration:none}.exp-org:hover{color:var(--link);background:0 0;text-decoration:underline dashed}.card{background:var(--card);border:2px solid var(--line);border-radius:var(--radius);margin:10px 0;padding:14px 16px}.pub-item{margin:0}.pub-title{margin-bottom:4px;font-weight:600}.pub-authors{color:var(--muted);margin-bottom:4px;font-size:14px}.pub-authors a{color:inherit;text-decoration:none}.pub-authors a:hover{color:var(--link);background:0 0}.pub-authors a:after{content:none}.pub-venue{margin-bottom:8px;font-style:italic}.pub-links{flex-wrap:wrap;align-items:center;gap:4px;font-size:14px;display:flex}.pub-links img{vertical-align:middle}ul.clean{margin:8px 0;padding:0;list-style:none}ul.clean li{margin:8px 0}footer{border-top:1px solid color-mix(in oklab, var(--line) 30%, transparent);color:var(--muted);margin-top:48px;padding-top:18px;font-size:14px}footer a{color:var(--muted)}footer a:hover{color:var(--bg)}.not-found{margin:32px 0}.not-found h1{color:var(--fg-alt);margin:0 0 24px;font-size:clamp(26px,5vw,40px);line-height:1.2}.not-found h1:before{content:">> "}.neon{text-shadow:2px 2px 7px}.not-found p{margin-bottom:20px;font-size:17px}.skip-link{width:1px;height:1px;position:absolute;top:auto;left:-9999px;overflow:hidden}.skip-link:focus{background:var(--card);border-radius:8px;width:auto;height:auto;padding:8px 10px;position:static}.scanlines:where(.astro-sor4u3rk):before{content:"";pointer-events:none;z-index:9999;background:linear-gradient(#14141400 66%,#00000026 0) 0 0/100% 5px;animation:1s linear infinite scanlines;position:fixed;inset:0}@keyframes scanlines{0%{background-position:0 0}to{background-position:0 15px}}@media only screen and (orientation:portrait){.scanlines:where(.astro-sor4u3rk):before{background-size:100% 4px}}@media (prefers-reduced-motion:reduce){.scanlines:where(.astro-sor4u3rk):before{animation:none}}
