:root{color-scheme:dark;--ink:#f6f7fc;--muted:#b5c7e0;--surface:#050b10;--line:#23334c;--accent:#85bfff}.home-blog{margin:0 6% 76px}.home-blog-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.home-blog h2{margin:0;font-family:Jersey,Consolas,monospace;font-size:42px;font-weight:400;line-height:1.1}.home-blog h3{margin:0 0 12px;font-size:22px;line-height:1.4}.home-blog p{color:var(--muted);margin:0 0 12px;font-size:16px;line-height:1.7}.home-blog .home-blog-subtitle{width:100%;margin-bottom:20px}.home-blog .home-blog-excerpt{color:#e2eaf6}.home-blog-heading>a,.home-blog-read{color:var(--accent);text-underline-offset:5px;padding-block:10px;font-size:14px;line-height:1.6;text-decoration:underline;display:inline-block}.home-blog a:hover{color:var(--ink)}.hero-nav{align-items:center;gap:12px;display:flex;position:absolute;top:4.15%;right:6%}.hero-nav .github-link{position:static}.blog-nav-link{background:#050b1099;border:1px solid #7390ba55;border-radius:8px;align-items:center;min-height:44px;padding:8px 12px;font-size:14px;display:flex}.blog-nav-link:hover{color:#9acbff;background:#172b43}@media (width>=900px){.hero-nav{top:31px}}@media (width<=600px){.hero-nav{gap:6px;top:12px;right:5%}.blog-nav-link{padding:8px;font-size:12px}.hero-nav .github-link span{display:none}.home-blog{margin-bottom:52px}}*{box-sizing:border-box}html{scrollbar-color:#294460 #050b10;background:#03070b;min-width:320px}body{color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Consolas,Cascadia Code,Liberation Mono,Menlo,monospace}::selection{color:#06111e;background:#86baff}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.page{background:radial-gradient(ellipse at 70% 68%,#0a1420 0,transparent 44%),var(--surface);width:min(100%,1100px);min-height:100vh;margin:0 auto;position:relative;overflow:hidden;container-type:inline-size}.hero{isolation:isolate;height:82.2cqw;position:relative}.hero-art{z-index:-1;background:url(/assets/hero-phone-coffee.png) top/100% 100% no-repeat;position:absolute;inset:0}.hero-art:after{content:"";background:linear-gradient(transparent,var(--surface));height:5%;position:absolute;inset:auto 0 0}.hero-motion{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.hero-art:before,.hero-art:after{z-index:1;pointer-events:none}@media (prefers-reduced-motion:reduce){.hero-motion{display:none}}.brand{letter-spacing:-.025em;font-size:3cqw;font-weight:700;position:absolute;top:4.15%;left:9.45%}.brand a{align-items:center;gap:2cqw;display:flex}.brand-avatar{background-image:url(/assets/reference.png);background-position:-10.25cqw -4.3cqw;background-repeat:no-repeat;background-size:192cqw 128cqw;width:6.25cqw;height:6.55cqw;display:block}.hero-copy{position:absolute;top:20.4%;left:11.7%;right:5%}h1{letter-spacing:-.025em;margin:0;font-size:calc(8cqw - 1px);font-weight:700;line-height:.95}h1 span{color:#0000;background:linear-gradient(100deg,#83c6ff 0%,#7fb6f4 53%,#8761ff 100%);-webkit-background-clip:text;background-clip:text;margin-top:0;margin-bottom:-.16em;padding-bottom:.16em;display:inline-block}.hero-copy p{letter-spacing:-.024em;color:#e2e8f3;margin:1.8cqw 0 0 .7cqw;font-size:calc(2.35cqw - 1px);font-weight:400;line-height:1.43}.apps{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.9cqw;margin:0 5cqw;padding-bottom:5cqw;display:grid}.app-card{border:1px solid var(--line);background:linear-gradient(120deg,#0d1420c4,#080f19a6);border-radius:2cqw;min-height:24.3cqw;padding:3.4cqw 2.85cqw 2cqw;transition:border-color .2s,background .2s;position:relative}.app-card:has(.app-link:hover),.app-card:focus-within{background:#0e1b2a;border-color:#52729a}.app-icon{background-position:50%;background-repeat:no-repeat;background-size:contain;border-radius:2.2cqw;width:9.15cqw;height:9.15cqw;display:block}.picta{background-image:url(/assets/picta.png)}.classez{background-image:url(/assets/classez.png)}.peering{background-image:url(/assets/peering.png)}.claude-terminal{background-image:url(/assets/claude-terminal.png)}.app-card h2{letter-spacing:-.035em;margin:1.3cqw 0 .4cqw;font-size:2.55cqw;font-weight:700;line-height:1.2}.app-card p{letter-spacing:-.022em;color:#e2eaf6;margin:0;font-size:1.83cqw;line-height:1.4}.app-link{color:#e7edf8;cursor:default;background:0 0;border:1px solid #586e91;border-radius:50%;place-items:center;width:4.8cqw;height:4.8cqw;transition:background .2s,border-color .2s;display:grid;position:absolute;bottom:3cqw;right:2.35cqw}.app-link:hover{background:#20374f;border-color:#9ecbff}.app-link svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:2.8cqw;height:2.8cqw}@media (width>=1200px){.page{border-radius:18px;margin:16px auto}}@media (width<=600px){.hero{height:113cqw}.hero-art{background-position:59% 0;background-size:137% 100%}.brand{font-size:5.2cqw;top:4.5%;left:7%}.brand a{gap:2.7cqw}.brand-avatar{background-position:-13.6667cqw -5.7333cqw;background-size:256cqw 170.667cqw;width:8cqw;height:8.8cqw}.hero-copy{top:19%;left:7%;right:3%}h1{font-size:calc(9.7cqw - 1px)}.hero-copy p{letter-spacing:-.025em;margin:3cqw 0 0;font-size:calc(3.3cqw - 1px);line-height:1.5}.apps{grid-template-columns:1fr;gap:14px;margin:0 6%}.app-card{border-radius:16px;grid-template-rows:auto auto;grid-template-columns:68px 1fr;align-content:center;column-gap:19px;min-height:126px;padding:22px;display:grid}.app-icon{background-size:contain;border-radius:16px;grid-row:1/3;align-self:center;width:64px;height:64px}.app-card h2{margin:0 0 5px;font-size:21px}.app-card p{padding-right:26px;font-size:13px}.app-link{width:36px;height:36px;bottom:22px;right:15px}.app-link svg{width:22px;height:22px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.app-icon.picta{background-color:#fff;background-size:86%}.apps{margin-top:clamp(24px,4cqw,44px)}button,input,textarea,select{font:inherit}.brand-avatar{background-image:url(/assets/tiny-sprite-icon.png);background-position:50%;background-size:contain}.about{background:0 0;margin:0 5cqw 5cqw;padding-top:clamp(32px,5cqw,55px);overflow:hidden}.about-copy{color:#dde6f2;max-width:70ch;margin:0 auto;padding:0 clamp(24px,6cqw,66px);font-size:clamp(14px,1.65cqw,18px);line-height:1.75}.about-copy p{margin:0 0 1.4em}.about-signature{text-align:center;color:#afc3dd;margin-top:2em;font-size:.9em;display:block}.about-mountains{image-rendering:auto;width:100%;height:auto;margin-top:28px;display:block}@media (width<=600px){.about{margin:10px 6% 24px;padding-top:30px}.about-copy{padding:0 24px;font-size:14px;line-height:1.7}.about-signature{margin-top:1.5em}.about-mountains{margin-top:24px}}.page{border-radius:0;margin:0 auto}.about{margin-bottom:0;padding-top:24px}.about-copy{max-width:78ch}.about-mountains{object-fit:fill;max-height:190px}@media (width>=900px){.page{width:min(100%,1200px)}.hero{height:640px}.hero-art{background-image:url(/assets/hero-wide.png);background-position:100% 100%;background-size:cover}.hero-art:before{content:"";background:linear-gradient(90deg,#050b104d,#0000 60%);position:absolute;inset:0}.brand{font-size:26px;top:28px;left:6%}.brand-avatar{width:50px;height:50px}.brand a{gap:16px}.hero-copy{top:145px;left:6%}h1{font-size:66px}.hero-copy p{margin:20px 0 0;font-size:18px;line-height:1.5}.apps{gap:20px;margin:28px 6% 0;padding-bottom:36px}.app-card{border-radius:14px;min-height:180px;padding:24px}.app-icon{border-radius:15px;width:64px;height:64px}.app-card h2{margin:12px 0 5px;font-size:22px}.app-card p{font-size:15px;line-height:1.4}.app-link{width:36px;height:36px;bottom:22px;right:20px}.app-link svg{width:22px;height:22px}.about{margin:0 6%;padding-top:24px}.about-copy{padding:0 32px;font-size:16px;line-height:1.7}.about-copy p{margin-bottom:1.2em}.about-signature{margin-top:1.4em}}.github-link{background:#050b1099;border:1px solid #7390ba55;border-radius:8px;align-items:center;gap:9px;min-height:44px;padding:8px 12px;font-size:14px;transition:background .2s,color .2s;display:flex;position:absolute;top:4.15%;right:6%}.github-link svg{width:21px;height:21px}.github-link:hover{color:#9acbff;background:#172b43}@media (width>=900px){.github-link{top:31px}}@media (width<=600px){.github-link{gap:6px;padding:8px;font-size:12px;top:12px;right:5%}.github-link svg{width:18px;height:18px}}html,body,.page{background:var(--surface)}.about{margin-left:0;margin-right:0}.coffee-steam{z-index:-1;pointer-events:none;background:url(/assets/steam-portrait.svg) 0 0/100% 100% no-repeat;position:absolute;inset:0}@media (width<=600px){.coffee-steam{background-position:59% 0;background-size:137% 100%}}@media (width>=900px){.coffee-steam{background-image:url(/assets/steam-wide.svg);background-position:50%;background-size:100% 100%}}.site-footer{border-top:1px solid var(--line);background:var(--surface);color:#89add5;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;min-height:72px;padding:8px 3%;font-size:12px;display:grid}.footer-brand{justify-self:start;align-items:center;min-height:44px;font-size:15px;font-weight:700;display:flex}.footer-github{justify-self:end;place-items:center;width:44px;height:44px;display:grid}.footer-github svg{width:20px;height:20px}.site-footer a:hover{color:#c5e4ff}@media (width<=600px){.site-footer{min-height:64px;font-size:10px}.footer-brand{font-size:13px}.footer-github svg{width:18px;height:18px}}@font-face{font-family:Jersey;src:url(/assets/jersey15.ttf)format("truetype");font-display:swap}.apps{gap:22px;margin:28px 6% 0;padding-bottom:38px}.section-heading{grid-column:1/-1}.section-rule{color:#8ebdec;letter-spacing:.06em;align-items:center;gap:14px;font-size:11px;display:flex}.section-rule i{background:#347bb0;flex:1;height:1px}.section-heading h2{letter-spacing:0;margin:16px 0 10px;font-family:Jersey,Consolas,monospace;font-size:52px;font-weight:400;line-height:1}.section-heading em{color:#439beb;font-style:normal}.section-heading>p{color:#a4c8e9;margin:0;font-size:15px}.app-card{background:linear-gradient(125deg,#08121b,#050c13);border-color:#20496a;border-radius:8px;flex-direction:column;min-height:310px;padding:22px 24px 18px;display:flex}.app-icon{border-radius:13px;flex-shrink:0;width:60px;height:60px}.app-category{color:#98c1e9;border:1px solid #254c70;border-radius:5px;padding:5px 9px;font-size:11px;line-height:1;position:absolute;top:26px;right:22px}.app-card h3{margin:13px 0 7px;font-size:21px;line-height:1.2}.app-card p{color:#a6cbed;letter-spacing:0;margin:0;padding:0;font-size:15px;line-height:1.4}.app-card .app-detail{border-top:1px solid #23435b;flex:1;margin-top:12px;padding-top:13px;font-size:13px;line-height:1.45}.app-card .app-link{color:#50b1ff;background:0 0;border:0;border-radius:0;justify-content:space-between;align-items:center;width:100%;height:44px;margin-top:8px;font-size:13px;font-weight:700;display:flex;position:static}.app-link svg{color:#b2d4f2;border:1px solid #459ddd;border-radius:50%;flex-shrink:0;width:32px;height:32px;padding:6px}.app-link:disabled{cursor:default}.about{padding-top:0}.about>.section-heading{margin:0 6% 24px}.about-copy{max-width:none;margin:0 6%;padding:0;font-size:16px;line-height:1.75}.about-copy p{max-width:none}@media (width<=600px){.apps{gap:18px;margin:26px 6% 0}.section-heading h2{font-size:44px}.section-heading>p{font-size:13px}.app-card{min-height:292px;padding:20px;display:flex}.app-icon{align-self:flex-start}.app-card h3{font-size:21px}.app-card p{font-size:14px}.app-category{top:24px;right:20px}.about-copy{font-size:14px}.section-rule{font-size:10px}}.apps{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width>=1100px){.apps{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=600px){.apps{grid-template-columns:1fr}}.app-link[href]{cursor:pointer}.apps{margin-top:60px;padding-bottom:76px}.about-mountains{margin-top:48px}@media (width<=600px){.apps{margin-top:40px;padding-bottom:52px}.about-mountains{margin-top:36px}}.site-footer{padding-left:9.45%;padding-right:6%}.footer-github{justify-self:end;width:auto}@media (width>=900px){.site-footer{padding-left:6%;padding-right:6%}}@media (width<=600px){.site-footer{padding-left:7%;padding-right:5%}}h1 span{color:var(--ink);-webkit-text-fill-color:var(--ink);background:0 0}.mountain-scene{isolation:isolate;margin-top:48px;padding-top:44px;position:relative;overflow:hidden}.mountain-scene .about-mountains{z-index:1;margin-top:0;position:relative}.shooting-stars{pointer-events:none;position:absolute;inset:0}.shooting-star{opacity:0;shape-rendering:crispedges;width:48px;height:24px;position:absolute}.star-one{top:2px;left:25%}.star-two{width:36px;height:18px;top:10px;left:55%}@keyframes mountain-shoot{0%{opacity:0;transform:translate(0)}12%,65%{opacity:1}to{opacity:0;transform:translate(20cqw,70px)}}@media (width<=600px){.mountain-scene{margin-top:36px;padding-top:40px}.shooting-star{width:32px;height:16px}.star-two{width:24px;height:12px}}@media (prefers-reduced-motion:reduce){.mountain-scene .shooting-star{display:none;animation:none!important}}.mountain-scene .star-one{animation:7s steps(24,end) infinite both paused mountain-shoot-loop}.mountain-scene .star-two{animation:9s steps(28,end) 2.5s infinite both paused mountain-shoot-loop}.mountain-scene.stars-visible .shooting-star{animation-play-state:running}@keyframes mountain-shoot-loop{0%{opacity:0;transform:translate(0)}3%,16%{opacity:1}26%,to{opacity:0;transform:translate(20cqw,70px)}}.mountain-scene{overflow:visible}.shooting-stars{z-index:2}.shooting-star{cursor:pointer;pointer-events:auto;touch-action:manipulation;background:0 0;border:0;border-radius:0;min-width:44px;height:44px;padding:0}.shooting-star svg{pointer-events:none;width:100%;height:auto;display:block}.shooting-star:focus-visible{outline-offset:3px;outline:2px solid #8ecbff;opacity:1!important;animation-play-state:paused!important}.mountain-scene .shooting-star.exploded{pointer-events:none;opacity:0!important}.fireworks{z-index:3;pointer-events:none;position:absolute;inset:-100px 0;overflow:hidden}.firework-spark{width:4px;height:4px;margin-top:98px;margin-left:-2px;position:absolute}@media (width<=600px){.shooting-star{width:44px;height:44px}.shooting-star svg{width:32px;margin:auto}.star-two svg{width:24px}}@media (prefers-reduced-motion:reduce){.mountain-scene .shooting-star{opacity:1;display:block;transform:none}}.app-platform{display:block;position:relative}.app-builder{opacity:0;width:24px;height:32px;animation:16s linear infinite paused app-delivery;position:absolute;bottom:1px;left:0}.builder-sprite{width:24px;height:32px;display:block;overflow:visible}.builder-package{width:17px;height:17px;animation:16s step-end infinite paused app-package;position:absolute;top:9px;left:22px}.builder-legs{transform-origin:12px 26px;animation:.32s steps(2,end) infinite paused app-walk}.app-platform.builder-visible .app-builder,.app-platform.builder-visible .builder-package,.app-platform.builder-visible .builder-legs{animation-play-state:running}@keyframes app-delivery{0%,3%{opacity:0;left:0}5%,17%{opacity:1;left:0}76%,82%{opacity:1;left:calc(100% - 43px)}85%,to{opacity:0;left:calc(100% - 43px)}}@keyframes app-package{0%,6%{opacity:0;transform:scale(.3)}7%{opacity:1;transform:scale(.35)}10%{transform:scale(.65)}14%,82%{opacity:1;transform:scale(1)}85%,to{opacity:0}}@keyframes app-walk{50%{transform:translateY(-1px)scaleX(.7)}}@media (prefers-reduced-motion:reduce){.app-builder{display:none}.app-builder,.builder-package,.builder-legs{animation:none!important}}.about-platform{display:block;position:relative}.seated-builder{width:32px;height:42px;position:absolute;top:-29px;right:5px;overflow:visible}.dangling-leg{transform-box:view-box;animation:2.4s steps(8,end) infinite alternate paused feet-dangle}.leg-back{transform-origin:17px 29px;animation-delay:-2.4s}.leg-front{transform-origin:24px 29px}.about-platform.person-visible .dangling-leg{animation-play-state:running}@keyframes feet-dangle{0%{transform:rotate(-22deg)}to{transform:rotate(20deg)}}@media (prefers-reduced-motion:reduce){.dangling-leg{animation:none!important}}.about{overflow:visible}.coding-builder{width:54px;height:44px;position:absolute;top:-30px;right:4px;overflow:visible}.typing-hand{animation:.6s steps(2,end) infinite paused code-typing}.code-lines{animation:2.8s step-end infinite paused code-screen}.app-platform.builder-visible .typing-hand,.app-platform.builder-visible .code-lines{animation-play-state:running}@keyframes code-typing{50%{transform:translateY(1px)}}@keyframes code-screen{0%,to{opacity:.5}30%,80%{opacity:1}}@media (prefers-reduced-motion:reduce){.typing-hand,.code-lines{animation:none!important}}.coding-builder{cursor:pointer;touch-action:manipulation;color:inherit;background:0 0;border:0;border-radius:0;padding:0}.coding-builder>svg{width:100%;height:100%;display:block;overflow:visible}.coding-builder:focus-visible{outline-offset:4px;outline:2px solid #8ecbff}.coding-upper-body{transform-origin:14px 28px;transition:transform .18s ease-out}.typing-furiously .coding-upper-body{transform:rotate(12deg)translate(1px)}.typing-furiously .typing-hand{animation-name:furious-typing;animation-duration:.1s}.typing-furiously .code-lines{animation-duration:.35s}@keyframes furious-typing{0%,to{transform:translateY(-1px)}50%{transform:translate(1px,1px)}}@media (prefers-reduced-motion:reduce){.coding-upper-body{transition:none}.typing-furiously .coding-upper-body{transform:none}.typing-furiously .code-lines{fill:#ffd58a}}.seated-builder{cursor:pointer;touch-action:manipulation;z-index:2;background:0 0;border:0;border-radius:0;width:44px;height:44px;padding:0 6px 2px;right:-1px}.seated-builder>svg{transform-origin:16px 28px;width:32px;height:42px;display:block;position:relative;overflow:visible}.seated-builder:focus-visible{outline-offset:4px;outline:2px solid #8ecbff}.climbing-rope{opacity:0;transform-origin:top;background:#a6cbed;width:2px;height:66px;position:absolute;top:29px;left:23px}.falling-climber>svg{animation:3.6s linear both fall-and-climb}.falling-climber .climbing-rope{animation:3.6s linear both climbing-rope}.falling-climber .dangling-leg{animation:.4s steps(2,end) infinite climbing-kick!important}.falling-climber .leg-back{animation-delay:-200ms!important}.climbing-arm{transform-origin:17px 20px}.falling-climber .climbing-arm{animation:.4s steps(2,end) .65s infinite climbing-reach}.falling-climber .arm-back{animation-delay:.85s}@keyframes fall-and-climb{0%{transform:translateY(0)rotate(0)}5%{animation-timing-function:ease-in;transform:translateY(2px)rotate(15deg)}17%{transform:translateY(62px)rotate(22deg)}23%{transform:translateY(62px)rotate(-6deg)}34%{transform:translateY(48px)rotate(3deg)}39%{transform:translateY(48px)rotate(-3deg)}50%{transform:translateY(32px)rotate(3deg)}55%{transform:translateY(32px)rotate(-3deg)}66%{transform:translateY(16px)rotate(3deg)}71%{transform:translateY(16px)rotate(-3deg)}84%{transform:translateY(-4px)rotate(-8deg)}93%,to{transform:translateY(0)rotate(0)}}@keyframes climbing-rope{0%,4%{opacity:0;transform:scaleY(0)}17%,75%{opacity:1;transform:scaleY(1)}90%,to{opacity:0;transform:scaleY(0)}}@keyframes climbing-kick{0%,to{transform:rotate(-20deg)}50%{transform:rotate(20deg)}}@keyframes climbing-reach{0%,to{transform:rotate(145deg)}50%{transform:rotate(175deg)}}@media (prefers-reduced-motion:reduce){.falling-climber>svg,.falling-climber .climbing-rope,.falling-climber .climbing-arm,.falling-climber .dangling-leg{animation:none!important}.falling-climber>svg{opacity:.65}.falling-climber .climbing-arm{transform:rotate(145deg)}}.pc-smoke,.pc-fire{pointer-events:none}.pc-fire{opacity:0;transform-origin:44px 14px;transition:opacity .12s ease-out,transform .12s ease-out;transform:scaleY(.15)}.pc-smoke{opacity:0;transition:opacity .12s ease-out}.flame-outer,.flame-inner{transform-origin:44px 14px}.smoke-puff{opacity:0;transform-origin:45px 12px}.typing-furiously .pc-fire{opacity:1;transition:opacity .7s ease-in .2s,transform .9s ease-out .2s;transform:scaleY(1)}.typing-furiously .pc-smoke{opacity:1;transition:opacity .9s ease-in .45s}.typing-furiously .flame-outer{animation:.24s steps(2,end) infinite alternate pc-flame}.typing-furiously .flame-inner{animation:.18s steps(2,end) -90ms infinite alternate-reverse pc-flame}.typing-furiously .code-lines{fill:#ffd16a}.typing-furiously .smoke-puff{animation:1.5s steps(8,end) infinite pc-overheat}.typing-furiously .smoke-puff:nth-child(2){animation-delay:-.5s}.typing-furiously .smoke-puff:nth-child(3){animation-delay:-1s}@keyframes pc-flame{0%{transform:scaleY(.8)}to{transform:scale(.85,1.3)}}@keyframes pc-overheat{0%{opacity:0;transform:translateY(-12px)scale(.7)}15%{opacity:.9;transform:translate(-2px,-18px)scale(1.1)}50%{opacity:.7;transform:translate(2px,-30px)scale(1.7)}80%{opacity:.4;transform:translate(-3px,-43px)scale(2.2)}to{opacity:0;transform:translate(3px,-53px)scale(2.6)}}@media (prefers-reduced-motion:reduce){.typing-furiously .smoke-puff,.typing-furiously .flame-outer,.typing-furiously .flame-inner{animation:none}.typing-furiously .smoke-puff:first-child{opacity:.65;transform:translateY(-20px)scale(1.4)}.pc-fire,.typing-furiously .pc-fire{transition:opacity .2s ease-out;transform:none}.pc-smoke,.typing-furiously .pc-smoke{transition:opacity .2s ease-out}}:root[data-theme=light]{color-scheme:light;--ink:#15223b;--muted:#465974;--surface:#f7f5f0;--line:#c5cfd8;--accent:#1559c7}.theme-switch{isolation:isolate;color:#a7b6d0;cursor:pointer;background:#0b1426;border:1px solid #74839b;border-radius:24px;flex-shrink:0;justify-content:space-around;align-items:center;width:84px;height:44px;padding:4px;display:flex;position:relative}.theme-switch[hidden]{display:none}.theme-switch-thumb{z-index:-1;background:#1459e5;border-radius:20px;width:36px;height:34px;transition:transform .3s cubic-bezier(.16,1,.3,1);position:absolute;top:4px;left:4px}.theme-switch svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.theme-switch svg:first-of-type{color:#fff}.theme-switch:hover{border-color:var(--accent)}.theme-switch[aria-busy=true]{cursor:progress}[data-theme=light] .theme-switch{color:#516079;background:#e4e8ee}[data-theme=light] .theme-switch-thumb{transform:translate(38px)}[data-theme=light] .theme-switch svg:first-of-type{color:inherit}[data-theme=light] .theme-switch svg:last-of-type{color:#fff}[data-theme=light]{scrollbar-color:#8495ac var(--surface)}[data-theme=light] ::selection{color:#122745;background:#c4dcff}[data-theme=light] .hero-art{background-image:url(/assets/hero-light-portrait.png)}[data-theme=light] .hero-copy p,[data-theme=light] .home-blog .home-blog-excerpt,[data-theme=light] .about-copy,[data-theme=light] .post-body{color:#334762}[data-theme=light] h1 span{color:#1559c7;-webkit-text-fill-color:#1559c7}[data-theme=light] .blog-nav-link,[data-theme=light] .github-link{color:var(--ink);background:#f7f5f0e6;border-color:#acbacb}[data-theme=light] .blog-nav-link:hover,[data-theme=light] .github-link:hover{color:var(--accent);background:#e3ebf6}[data-theme=light] .app-card{border-color:var(--line);background:#fffdf9}[data-theme=light] .app-card:has(.app-link:hover),[data-theme=light] .app-card:focus-within{background:#edf3fc;border-color:#608ac0}[data-theme=light] .app-card p,[data-theme=light] .section-heading>p,[data-theme=light] .about-signature,[data-theme=light] .site-footer{color:#465974}[data-theme=light] .app-category{color:#375477;border-color:#bbcbdc}[data-theme=light] .app-card .app-detail{border-color:var(--line)}[data-theme=light] .section-rule,[data-theme=light] .section-heading em,[data-theme=light] .app-card .app-link,[data-theme=light] .app-link svg,[data-theme=light] .site-footer a:hover{color:var(--accent)}[data-theme=light] .shooting-stars{visibility:hidden}[data-theme=light] .about-mountains{mix-blend-mode:multiply}@media (width<=899px){[data-theme=light] .hero-art:before{content:"";background:linear-gradient(#f7f5f0e6 0%,#f7f5f0db 33%,#f7f5f000 53%);position:absolute;inset:0}}@media (width>=900px){[data-theme=light] .hero-art{background-image:url(/assets/hero-light-wide.png)}[data-theme=light] .hero-art:before{background:linear-gradient(90deg,#f7f5f04d,#0000 60%)}}@media (width<=600px){.hero-nav{gap:5px;top:12px}.brand{font-size:4cqw;top:14px;left:5%}.brand a{gap:5px}.brand-avatar{width:6cqw;height:7cqw}.hero-nav .github-link,.blog-nav-link{padding:6px}.theme-switch{width:70px}.theme-switch-thumb{width:29px}[data-theme=light] .theme-switch-thumb{transform:translate(31px)}.theme-switch svg{width:18px;height:18px}}::view-transition-old(root){animation:.45s both theme-fade-out}::view-transition-new(root){animation:.45s both theme-fade-in}@keyframes theme-fade-out{to{opacity:0}}@keyframes theme-fade-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.theme-switch-thumb{transition:none}::view-transition-old(root),::view-transition-new(root){animation:none}}
