*,:before,:after{box-sizing:border-box}html{color-scheme:dark;background:var(--p-bg)}html[data-paint-tone=light]{color-scheme:light}body{font-family:var(--sl-font);color:var(--p-text);background:var(--p-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:1rem;line-height:1.6}img{max-width:100%;height:auto;display:block}a{color:inherit}:focus-visible{outline:2px solid var(--p-accent-hover);outline-offset:3px}.skip{position:absolute;left:-100vw}.skip:focus{z-index:10;background:var(--island);color:#fff;border-radius:999px;padding:.6rem 1rem;top:1rem;left:1rem}.capsule{background:var(--island);color:#fff;border:1px solid #ffffff14;border-radius:999px}.hero{isolation:isolate;color:#fff;grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr);min-height:max(100svh,42rem);padding:.9rem clamp(1rem,3vw,2rem) 1.1rem;display:grid;position:relative;overflow:hidden}.wall{z-index:-3;background:var(--island) var(--im-wall) center / cover no-repeat;position:absolute;inset:0}.wall-leaving{z-index:-2;clip-path:inset(0 0 0 100%);background-image:none}.scrim{z-index:-1;background:linear-gradient(#00000080,#0000 7rem),linear-gradient(#0000 38%,#0000008c 70%,#000000e0 100%),linear-gradient(90deg,#00000059,#0000 60%);position:absolute;inset:0}.bar{grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;display:grid}.brand{justify-self:start;align-items:center;gap:.45rem;height:2.75rem;padding:0 1.1rem 0 .5rem;text-decoration:none;display:inline-flex}.brand img{width:1.95rem;height:1.95rem}.wordmark{font-family:var(--im-hand);font-size:1.7rem;line-height:1;transform:translateY(.1em)}.island{font-variant-numeric:tabular-nums;letter-spacing:.02em;place-items:center;min-width:8.5rem;height:2.75rem;padding-inline:1.5rem;font-size:1rem;font-weight:650;display:grid}.links{justify-self:end;align-items:center;gap:.15rem;height:2.75rem;padding-inline:.35rem;display:flex}.links a{color:#d4d4d4;border-radius:999px;align-items:center;height:2.1rem;padding-inline:.85rem;font-size:.95rem;font-weight:550;text-decoration:none;display:inline-flex}.links a:hover{background:var(--island-surface-hover);color:#fff}.links svg{width:1.15rem;height:1.15rem}@media (width<=44rem){.bar{grid-template-columns:auto 1fr}.island,.links .optional{display:none}}.hero-copy{align-self:end;min-width:0;padding-block:3rem 1.75rem}.hero-copy h1{letter-spacing:-.04em;text-wrap:balance;text-shadow:0 2px 30px #00000059;max-width:15ch;margin:0 0 1.1rem;font-size:clamp(2.3rem,1.1rem + 4.4vw,4.6rem);font-weight:740;line-height:1}.hero-copy p{color:#ffffffdb;text-wrap:pretty;max-width:35rem;margin:0 0 1.75rem;font-size:clamp(1.05rem,.95rem + .4vw,1.25rem);line-height:1.5}.actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.button{border-radius:999px;align-items:center;height:3rem;padding-inline:1.4rem;font-weight:620;text-decoration:none;transition:background-color .2s;display:inline-flex}.button.primary{background:var(--p-accent);color:var(--p-accent-text)}.button.primary:hover{background:var(--p-accent-hover)}.command{align-items:center;min-width:0;max-width:min(100%,33rem);height:3rem;padding-left:1.15rem;display:flex}.command code{white-space:nowrap;text-overflow:ellipsis;font-family:var(--sl-font-mono);color:#dcdcdc;font-size:.84rem;overflow:hidden}.command code:before{content:"$ ";color:#767676}.copy{color:#b5b5b5;cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;place-items:center;width:3rem;height:3rem;display:grid;position:relative}.copy:hover{color:#fff}.copy svg{width:1.1rem;height:1.1rem}.copy .done,.copy[data-copied] .idle{display:none}.copy[data-copied] .done{color:#32d74b;display:block}.dock-wrap{justify-self:center;justify-items:center;gap:.55rem;width:min(100%,62rem);display:grid}.dock-hint{color:#ffffffc7;text-align:center;text-wrap:balance;margin:0;font-size:.9rem}.dock{border-radius:var(--radius-desk);scroll-snap-type:x proximity;scrollbar-width:none;gap:.4rem;max-width:100%;padding:.45rem .45rem .7rem;display:flex;overflow-x:auto}.dock::-webkit-scrollbar{display:none}.dock button{background:var(--island-surface);cursor:pointer;scroll-snap-align:center;border:0;border-radius:.65rem;flex:none;width:4.25rem;height:2.65rem;padding:0;transition:transform .18s;position:relative}.dock button img{object-fit:cover;border-radius:.65rem;width:100%;height:100%}.dock button:hover{transform:translateY(-3px)}.dock button[aria-pressed=true] img{box-shadow:0 0 0 2px var(--island), 0 0 0 3.5px #fff}.dock button[aria-pressed=true]:after{content:"";background:#fff;border-radius:50%;width:.3rem;height:.3rem;position:absolute;bottom:-.5rem;left:50%;transform:translate(-50%)}.dock button[aria-busy=true]{opacity:.6}@media (width<=44rem){.dock button{width:3.6rem;height:2.25rem}}@media (prefers-reduced-motion:reduce){.dock button,.button{transition:none}}main{padding-inline:clamp(1rem,4vw,3rem)}.room{border-top:1px solid color-mix(in oklab, var(--p-border) 50%, transparent);max-width:76rem;margin-inline:auto;padding-block:clamp(3.5rem,8vw,7rem)}main>.room:first-child{border-top:0}.room h2{letter-spacing:-.035em;color:var(--p-text);text-wrap:balance;margin:0 0 1rem;font-size:clamp(1.8rem,1.15rem + 2.2vw,2.9rem);font-weight:720;line-height:1.06}.room p{max-width:38rem;color:color-mix(in oklab, var(--p-text) 78%, var(--p-muted));text-wrap:pretty;margin:0 0 1.1rem;font-size:1.08rem}.room p code,.room li code{font-family:var(--sl-font-mono);background:color-mix(in oklab, var(--p-surface) 85%, var(--p-bg));border-radius:6px;padding:.1em .35em;font-size:.86em}.more{color:color-mix(in oklab, var(--p-accent-hover) 45%, var(--p-text));text-underline-offset:.25em;font-weight:620;text-decoration:underline 1px}.more:hover{text-decoration-thickness:2px}.media{min-width:0;margin:0}.media img{border-radius:var(--radius-desk);background:var(--island);width:100%}.media+.media{margin-top:1.25rem}.side{gap:clamp(1.5rem,4vw,4rem);display:grid}@media (width>=64rem){.side{grid-template-columns:minmax(18rem,24rem) 1fr;align-items:start}.side>.text{position:sticky;top:2rem}}.wide>.text{gap:.5rem 3rem;margin-bottom:2rem;display:grid}@media (width>=56rem){.wide>.text{grid-template-columns:1fr 1fr;align-items:end}.wide>.text h2{margin:0}.wide>.text p:last-of-type{margin-bottom:.6rem}}.followers{flex-wrap:wrap;gap:.4rem;margin:1.5rem 0 0;padding:0;list-style:none;display:flex}.followers li{color:var(--p-text);background:color-mix(in oklab, var(--p-surface) 80%, transparent);border:1px solid color-mix(in oklab, var(--p-border) 70%, transparent);border-radius:999px;align-items:center;gap:.45rem;padding:.3rem .8rem .3rem .6rem;font-size:.88rem;font-weight:550;display:inline-flex}.followers li:before{content:"";background:var(--p-accent-hover);border-radius:50%;width:.5rem;height:.5rem}.install{gap:2rem;display:grid}@media (width>=64rem){.install{grid-template-columns:minmax(18rem,26rem) 1fr;align-items:center}}.terminal{border:1px solid var(--island-border);border-radius:var(--radius-desk);background:var(--island);color:#e8e8e8;min-width:0;padding:1.4rem 3.5rem 1.4rem 1.5rem;position:relative}.terminal pre{font-family:var(--sl-font-mono);margin:0;font-size:.92rem;line-height:2;overflow-x:auto}.terminal .prompt{color:#6f6f6f;user-select:none}.terminal .copy{position:absolute;top:.5rem;right:.5rem}.map-grid{grid-template-columns:repeat(auto-fit,minmax(11.5rem,1fr));gap:2rem 1.5rem;margin-top:2.25rem;display:grid}.map h3{color:var(--p-text);margin:0 0 .8rem;font-size:1rem;font-weight:680}.map ul{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.map li a{color:color-mix(in oklab, var(--p-text) 72%, var(--p-muted));font-size:.95rem;text-decoration:none}.map li a:hover{color:var(--p-text);text-underline-offset:.22em;text-decoration:underline}.foot{border-top:1px solid color-mix(in oklab, var(--p-border) 50%, transparent);max-width:76rem;color:var(--p-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem;margin-inline:auto;padding:2.25rem clamp(1rem,4vw,3rem) 3rem;font-size:.9rem;display:flex}.foot .brand{color:var(--p-text);height:auto;padding:0}.foot p{margin:0}.foot nav{gap:1.25rem;display:flex}.foot a:not(.brand){color:var(--p-muted);text-underline-offset:.22em}.foot a:not(.brand):hover{color:var(--p-text)}.zoom:where(.astro-vqepb7gs){cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block}.zoom:where(.astro-vqepb7gs) img{border-radius:var(--radius-desk);background:var(--island);width:100%;height:auto;display:block}
