:root,[data-theme=light]{--bg:#fff;--fg:#1c1b1b;--muted:#75706f;--role:#3a3837;--card:#f7f6f4;--card-text:#2a2928;--line:#f3f1ef;--fill:#dad7d4;--node-on:#c8c4c1;--node-off:#e8e6e3;--halo:#b8b3b024;--deco:#d4d0ce;--border:#eceae7;--tone-1:#ece5dd;--tone-2:#dee3e3;--tone-3:#e6e2d5;--tone-4:#eadddc;--tone-5:#e4e1de;--glass:#ffffff80;--glass-sheen:linear-gradient(180deg, #ffffff80, #ffffff1a);--glass-filter:blur(28px) saturate(200%) brightness(1.06);--glass-rim:#fff9;--glass-edge:#fffffff2;--glass-border:#1c1b1b14;--glass-shadow:0 12px 32px #1c1b1b1f, 0 2px 6px #1c1b1b0f;--nav-on:#1c1b1b;--nav-on-text:#fff}[data-theme=dark]{--bg:#141312;--fg:#edeae6;--muted:#a39e9a;--role:#d2cdc8;--card:#1e1c1b;--card-text:#e4e0db;--line:#211f1e;--fill:#3f3c3a;--node-on:#5a5653;--node-off:#2e2b29;--halo:#5a56532e;--deco:#4a4644;--border:#2e2c2a;--tone-1:#362c26;--tone-2:#232a2c;--tone-3:#302d26;--tone-4:#2f2427;--tone-5:#262423;--glass:#2a282680;--glass-sheen:linear-gradient(180deg, #ffffff17, #ffffff03);--glass-filter:blur(28px) saturate(200%) brightness(1.18);--glass-rim:#ffffff12;--glass-edge:#fff3;--glass-border:#ffffff14;--glass-shadow:0 12px 32px #0006, 0 2px 6px #00000040;--nav-on:#edeae6;--nav-on-text:#141312}*,:before,:after{box-sizing:border-box}html{background:var(--bg)}body{background:var(--bg);color:var(--fg);letter-spacing:-.02em;-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,system-ui,sans-serif}a{color:var(--fg)}a:hover{color:var(--muted)}button{font:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--fg);outline-offset:4px}body,body *{transition:background-color .6s cubic-bezier(.4,0,.2,1),color .6s cubic-bezier(.4,0,.2,1),border-color .6s cubic-bezier(.4,0,.2,1),text-decoration-color .6s cubic-bezier(.4,0,.2,1)}html.vt body,html.vt body *{transition:none!important}html.vt::view-transition-old(root),html.vt::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.vt .nav,html.vt .cta,html.vt .theme-toggle,html.vt .brand{view-transition-name:none}@view-transition{navigation:auto}.theme-toggle{view-transition-name:theme-toggle}::view-transition-old(root){animation:.26s cubic-bezier(.4,0,1,1) both page-out}::view-transition-new(root){animation:.56s cubic-bezier(.22,1,.36,1) 90ms both page-in}::view-transition-group(dock-nav),::view-transition-group(dock-cta),::view-transition-group(theme-toggle){animation-duration:.45s}::view-transition-group(dock-nav){backdrop-filter:var(--glass-filter);border-radius:999px}::view-transition-old(dock-nav),::view-transition-old(dock-cta),::view-transition-old(theme-toggle){opacity:0;animation:none}::view-transition-new(dock-nav),::view-transition-new(dock-cta),::view-transition-new(theme-toggle){animation:none}@keyframes page-out{to{opacity:0;transform:translateY(-10px)}}@keyframes page-in{0%{opacity:0;transform:translateY(14px)}}html.no-vt main{animation:.56s cubic-bezier(.22,1,.36,1) both page-in}html.is-leaving main{opacity:0;transform:translateY(-10px);transition:opacity .26s cubic-bezier(.4,0,1,1),transform .26s cubic-bezier(.4,0,1,1)!important}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}html.no-vt main{animation:none}}.serif{font-family:Instrument Serif,Georgia,serif;font-weight:400}.mono{font-family:IBM Plex Mono,monospace}.brand{z-index:10;letter-spacing:-.005em;color:#fff;mix-blend-mode:difference;view-transition-name:brand;align-items:center;height:44px;font-size:20px;line-height:1;text-decoration:none;display:flex;position:fixed;top:20px;left:24px}.brand:hover,html.is-ready .brand:hover{color:#fff;opacity:.65}.footer{border-top:1px solid color-mix(in srgb, var(--border) 55%, transparent);justify-content:space-between;align-items:center;gap:16px;margin:0;padding:28px 40px;display:flex}@media (width<=600px){.footer{padding:28px 20px}}.footer-name{letter-spacing:-.005em;font-size:20px;line-height:1}.socials{gap:8px;margin:0;padding:0;list-style:none;display:flex}.socials a{border:1px solid var(--border);width:44px;height:44px;color:var(--muted);border-radius:50%;justify-content:center;align-items:center;display:flex}.socials a:hover{color:var(--fg);border-color:var(--deco)}.theme-toggle{z-index:10;width:44px;height:44px;color:var(--fg);border:.5px solid var(--glass-border);background:var(--glass-sheen), var(--glass);backdrop-filter:var(--glass-filter);box-shadow:inset 0 1px 0 var(--glass-rim), var(--glass-shadow);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:fixed;top:20px;right:20px;overflow:hidden}.theme-toggle .icon{display:flex;position:absolute;transition:transform .6s cubic-bezier(.34,1.4,.64,1),opacity .4s!important}[data-theme=light] .icon-sun{opacity:1;transform:rotate(0)scale(1)}[data-theme=light] .icon-moon{opacity:0;transform:rotate(90deg)scale(.4)}[data-theme=dark] .icon-sun{opacity:0;transform:rotate(-90deg)scale(.4)}[data-theme=dark] .icon-moon{opacity:1;transform:rotate(0)scale(1)}.dock{left:50%;bottom:calc(20px + env(safe-area-inset-bottom));z-index:10;align-items:center;gap:10px;display:flex;position:fixed;transform:translate(-50%)}.nav{border:.5px solid var(--glass-border);background:var(--glass-sheen), var(--glass);backdrop-filter:var(--glass-filter);box-shadow:inset 0 .5px 0 var(--glass-edge), var(--glass-shadow);border-radius:999px;gap:4px;padding:6.5px 6px;display:flex;position:relative}.nav-pill{z-index:0;background:var(--nav-on);border-radius:999px;position:absolute;top:6.5px;bottom:6.5px;left:0;transition:left .42s cubic-bezier(.65,0,.35,1),width .42s cubic-bezier(.65,0,.35,1),background-color .6s!important}.nav-item{z-index:1;white-space:nowrap;width:48px;height:44px;color:var(--muted);border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-size:15px;font-weight:500;text-decoration:none;display:flex;position:relative;overflow:hidden;transition:width .42s cubic-bezier(.65,0,.35,1),color .4s!important}.nav-item svg{flex:none}.nav-item:hover{color:var(--fg)}.nav-item.is-active{color:var(--nav-on-text)}.nav-label{flex:none;line-height:20px;display:block;overflow:hidden}.nav-label>span{opacity:0;filter:blur(2px);display:block;transform:translateY(110%);transition:opacity .2s,filter .2s,transform 0s linear .22s!important}.nav-item.is-active .nav-label>span{opacity:1;filter:none;transform:none;transition:transform .36s cubic-bezier(.22,1,.36,1) 60ms,opacity .3s 60ms,filter .3s 60ms!important}.nav-item:focus-visible{outline-offset:-2px}.nav.is-instant .nav-pill,.nav.is-instant .nav-item,.nav.is-instant .nav-label>span{transition:none!important}.dock-tip{z-index:2;pointer-events:none;white-space:nowrap;color:var(--fg);border:.5px solid var(--glass-border);background:var(--glass-sheen), var(--glass);backdrop-filter:var(--glass-filter);box-shadow:inset 0 .5px 0 var(--glass-edge), var(--glass-shadow);opacity:0;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:500;line-height:18px;position:absolute;bottom:calc(100% + 10px);left:0;transform:translate(-50%,4px)scale(.96);transition:opacity .16s,transform .22s cubic-bezier(.22,1,.36,1)!important}.dock-tip.is-shown{opacity:1;transform:translate(-50%)scale(1)}@media (prefers-reduced-motion:reduce){.dock-tip,.dock-tip.is-shown{transform:translate(-50%)}}.cta{--cta:#e8571a;white-space:nowrap;color:#fff;background:var(--cta);border-radius:999px;align-items:center;gap:10px;height:58px;padding:0 7px 0 20px;font-size:15px;font-weight:500;text-decoration:none;display:flex;position:relative;box-shadow:inset 0 0 0 1.5px #ffc4a080,inset 0 0 16px #ffaa7859,0 1px #3c100066,0 8px 24px #e8571a47;transition:background-color .3s,box-shadow .3s!important}.cta:hover{--cta:#ee6426;color:#fff;box-shadow:inset 0 0 0 1.5px #ffceaf99,inset 0 0 18px #ffb48273,0 1px #3c100066,0 10px 30px #e8571a5c}.cta:active{--cta:#d94e14}.cta:focus-visible{outline-color:#e8571a}.cta-neck{z-index:-1;pointer-events:none;width:30px;height:42px;margin-top:-21px;position:absolute;top:50%;left:-20px;overflow:visible}.cta-neck path{fill:var(--cta);d:path("M8.13 10.75A7.35 7.35 0 0 0 21.87 10.75L21.87 31.25A7.35 7.35 0 0 0 8.13 31.25Z");transition:d .65s cubic-bezier(.34,1.56,.64,1),fill .3s!important}.cta:hover .cta-neck path{d:path("M6.35 6.91A9.9 9.9 0 0 0 23.65 6.91L23.65 35.09A9.9 9.9 0 0 0 6.35 35.09Z")}.cta-dot{background:#fff;border-radius:50%;flex:none;width:7px;height:7px;position:relative}.cta-dot:after{content:"";background:#fff;border-radius:50%;animation:2.2s cubic-bezier(.22,1,.36,1) infinite cta-pulse;position:absolute;inset:0}@keyframes cta-pulse{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(3)}}.cta-arrow{background:#fff3;border-radius:50%;flex:none;width:44px;height:44px;position:relative;overflow:hidden}.cta-arrow svg{margin:-8px 0 0 -8px;position:absolute;top:50%;left:50%;transition:transform .5s cubic-bezier(.65,0,.35,1)!important}.cta-arrow svg+svg{transform:translate(-24px,24px)}.cta:hover .cta-arrow svg:first-child{transform:translate(24px,-24px)}.cta:hover .cta-arrow svg+svg{transform:none}.dock--attached{gap:0}.dock--attached .cta-neck{display:none}@media (width<=440px){.cta{padding:0 7px}.cta-dot,.cta-text{display:none}}.to-top{right:20px;bottom:calc(25px + env(safe-area-inset-bottom));z-index:10;cursor:pointer;width:48px;height:48px;color:var(--fg);border:.5px solid var(--glass-border);background:var(--glass-sheen), var(--glass);backdrop-filter:var(--glass-filter);box-shadow:inset 0 1px 0 var(--glass-rim), var(--glass-shadow);opacity:0;visibility:hidden;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:fixed;transform:translateY(12px)scale(.9);transition:opacity .3s,transform .45s cubic-bezier(.22,1,.36,1),visibility 0s linear .45s!important}.to-top.is-shown{opacity:1;visibility:visible;transform:none;transition:opacity .3s,transform .45s cubic-bezier(.22,1,.36,1),visibility!important}.to-top.is-shown:hover{transform:translateY(-2px)}.to-top.is-shown:active{transform:scale(.94)}@media (width<=600px){.to-top{bottom:calc(90px + env(safe-area-inset-bottom))}}html.is-loading .theme-toggle,html.is-loading .brand{opacity:0}html.is-loading .dock{opacity:0;transform:translate(-50%,24px)}html.is-ready .dock{opacity:1;transform:translate(-50%);transition:opacity .9s cubic-bezier(.22,1,.36,1) .55s,transform .9s cubic-bezier(.22,1,.36,1) .55s!important}html.is-ready .theme-toggle,html.is-ready .brand{opacity:1;transition:opacity .9s .5s!important}@media (prefers-reduced-motion:reduce){.cta-dot:after{opacity:0;animation:none}}.meadow{height:clamp(200px,15vw,280px);position:relative;overflow:hidden}.meadow-ground{object-fit:cover;object-position:50% 100%;width:100%;height:100%;image-rendering:pixelated;pointer-events:none;user-select:none;position:absolute;inset:0}[data-theme=dark] .meadow-ground{filter:brightness(.7)saturate(.85)}.cat{z-index:1;cursor:pointer;will-change:transform;-webkit-tap-highlight-color:transparent;background:0 0;border:0;width:60px;height:39px;padding:0;position:absolute;bottom:92px;left:0}.cat svg{width:100%;height:100%;display:block;overflow:visible}.cat:focus-visible{outline:2px solid var(--fg);outline-offset:4px;border-radius:6px}.cat-f{display:none}.cat.is-walking .cat-walk1,.cat.is-walking .cat-walk2,.cat.is-sitting .cat-sit,.cat.is-sleeping .cat-sleep{display:inline}.cat.is-walking .cat-walk1{animation:.36s step-end infinite cat-step}.cat.is-walking .cat-walk2{animation:.36s step-end -180ms infinite cat-step}@keyframes cat-step{0%{opacity:1}50%{opacity:0}}.cat-z{pointer-events:none;display:none;position:absolute;bottom:70%;left:70%}.cat.is-sleeping .cat-z{display:block}.cat-z i{color:#fbf3e4;text-shadow:1px 1px #3b2b22;opacity:0;font:500 12px/1 IBM Plex Mono,monospace;animation:2.4s ease-out infinite cat-z;position:absolute;bottom:0;left:0}.cat-z i:nth-child(2){font-size:10px;animation-delay:.8s}.cat-z i:nth-child(3){font-size:8px;animation-delay:1.6s}@keyframes cat-z{0%{opacity:0;transform:translate(0)}20%{opacity:1}to{opacity:0;transform:translate(14px,-26px)}}@media (width<=600px){.meadow{height:200px}}@media (prefers-reduced-motion:reduce){.cat-z i{opacity:1;animation:none}.cat-z i:nth-child(2){transform:translate(7px,-12px)}.cat-z i:nth-child(3){transform:translate(14px,-24px)}}
