@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAfsABQAAAAAEAwAAAeCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoP0hWQVJbBmA/U1RBVIFiJyYAdC9qEQgKhGSEAAsgADCGCAE2AiQDOgQgBYlMB4EUDAcbLQ4onoexrSC/2ZyLAa8p8VHB8/x3Vue+V0hVJalMJg2nx/TCrQXxBeqLjQG7FyM1WEa/X1tEXN7cFz9EJEMmMUz3RihWSSKeQCbcIou0izz/C8v+fq3VfajEa9gDD11CImXS7qL/RJFVzC1qiB6KmKeD6TZdQ6IRGv78dL6uSVVCfgni5mzu7kcgQBgAEAQTQRCoL++STTYybkJxNfQxAAIAGu8OdEB9teW2jh4BpgDqFjAeSEByW3zFP0CBBgNMsMCGEDjgggdhiEAUAeIIED7ABTDUEnkIE9Q9ahFgKttcVhApo4ACB4qobHaccgDfEjFO6aaWUhjMLt2SyIvHKoDqoA4CSUwEIYQCEjhAO9R1G6keDeDZGjNo+AhxOjCEGTr1WeIF3kYBiLAOKvkJSMiKX0VdAyQt3SDJClCkxJCHkCzfqyVTriJZLcolS32JZHUekq2TYNkYtCtjYHMQXSxGjXDz2t/yLWXzDzxz+o3zFwDEaN23F+13pyMdQAEaSKAR9vcGq4A4MTSKCElGW+M7UcY7xqkggITb28ZJhlqc9q2twYKTt0NjixBgYvO9BIihEBLYuOFXQzfIQ7dXGUEEEgFDooBfAzqiQbpJrhiWSuKJCRFKYbHCyJKI2G5GiZbNAvgAu5pc3vwx4G+g3aDkhklABiSz0BICXrYghtYhx/cdJ+44rY2oZ0aMNRFz3VZjb6W33F3gzltqtOCV8tTHSpOeXuItfvr5lCdfzFpqtEitvqdcdGGFd28ZqqC0tPbeChGXgrIlnhSWu/eUso4uKWFLugyDzQJhflY4659+WjQ++6x72WUMv9G8mw6QJl7BVxX5fe/kpUsOvnZwee9uQ0cGXYd0o89XB2748sDSnt8d2VphdOTTgceDVvOds0v9P/s7HPq15aGun/6Vllb56f1dl0t1LejqrNkpdRZsG8TOnM5vkBG5oiVyVGnS8LHps5cfNWJs6qKPfaNSxiQNBUm3cKNWROr0GSur7Za31k1vieq7LH11VF+jXdRIasRKflc7jkobm1Z9te1IyZA0pDkhLR98+H37Zf1c/8at+dB7x+7GfVyTfJMPiYztsnl59Y5l4j+0n1RXlpHnF3Tq7HecmNF/CJodEMAikruxiyJaGLvHOdAfoA+oDvpjBm2b91cHGRZMU9n25xEU0A8fgEEAdKI3Q1iDtc034sug5YVMkE2jsE+BIkwSoQ3gxXMqz9tELp48bd0cFKOKS7xYjEuXBnZP5ia7DyiO/X/YI+PQSbt2uSdqAkWL9nQbV1XB94/+uPfdZz8dnXYFBYrcTl2SIR/ybxJNJPz/Gupb0JaZeens2ekC7EKr8t+Ls/P5VJPYJdHKyqfg2nqU6bhlidzcddQV/7MmecTzJ5VPcKXkNKSEogHjYFx6QZ7rQ+FSe8njaiNuOnXS8H2ScQ619c2mC3VTtauL0rRbXd/CkSOP37FY9Zkjz8+GibYUMOEWF+RdrFS8Ecv1SHOpPUPZGEIpjPvFyU5cXKjd6OXqorTqy9GwRd++HVufPGnVsW+aO3vggKZ18jR9sXaTC1PWTEsVUaK0FkNySbTQDqlm2PfDjZcu4aalnSLKjnOoYQ0nUlqqXcGpPu/4VgV/xU2pAqW4BW3qzhQ8/hFKhV2qE3+BKAtDqBXjfgnVdH4y0wg5tbVNRenNdTWOrenWLcupQdmsbq5b+18piTe/xRdp1xbILxNPJGInm2z6hoB21Lal0i+ePTtd7B45+3XhFJ329evskXm7qurUVREotqSluSo/L29d3qDhI4YOQqWhI4YNvBNfsMHeXKemXrxQfKeuPOGRVayA3JtkJKEgbPp+dXUDluddutRYLFoXGXWX6N3WFaGLbQtRSitVYNacTNSdy7AaG/HSaUEANcBoGXNdcZvZsOqQ1icBDv21/gzAoYPHH/WDW0qNR3QTYKEAEHig6o13NXbND06CQPlRtYjGNnSktRc09k1mAMDvAlDKfQjgy6fssInlfzmNAjKkDxoxHOBLdVRAIVt9j4qo+hA1w9T1aNBNTUOTTNUHLbqokE+UAfJXCIGw/IxCSL5GRUJeR40rL/UxTm4Q08H6MbCs70ObuNyIIXrINHQYInF06UUlevTjbQzTh5upiDMzMMogUtEnjPs/Y7jAHCJeB0GBHh04tC6FiB6ZFB1oArUSIoFoqhzCeAN6lHwm0T4C3VVPWvjpSMXReuWesMEcoqrmgtNBGd2noWeV0hNAz9rFeShNJxHGsPa3HXeKTk8b55hahySYHaYKKFFLpCfN8rsoaJn01CR04Gkc+5k7KVTCmClX8Q10HCrUEkVlSX+XO33oQR9609tJ516H497WSobWs5Up6TLaS10/dessIskgJSLiDlWvHVUywpkQ7hdPZqGyiEF0uVQerVcPamT1A3eKXdyI1vG9OoflrSXihZ1qqGE3nhmAgiIbRCQgPLEPtOM3UQwTLYaYYomNlpA44opnjV6jkD6id80OOrzf6BzmMD6eEa1zKyeYG1fzfEf16V6jw9XYOaar1/b2kP/IYX8oR2mcFvv2GtBV3JXgd437AQAA)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2)format("woff2-variations");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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2)format("woff2-variations");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:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/_astro/open-sans-cyrillic-ext-wght-normal.D8xHCTEw.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/_astro/open-sans-cyrillic-wght-normal.bOs07Rf4.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/_astro/open-sans-greek-ext-wght-normal.Bm9CHu9r.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/_astro/open-sans-greek-wght-normal.8neIfJ3r.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/_astro/open-sans-hebrew-wght-normal.BjjtG49P.woff2)format("woff2-variations");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/_astro/open-sans-math-wght-normal.C1FvUlkR.woff2)format("woff2-variations");unicode-range:U+302-303,U+305,U+307-308,U+310,U+312,U+315,U+31A,U+326-327,U+32C,U+32F-330,U+332-333,U+338,U+33A,U+346,U+34D,U+391-3A1,U+3A3-3A9,U+3B1-3C9,U+3D1,U+3D5-3D6,U+3F0-3F1,U+3F4-3F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE??}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/_astro/open-sans-symbols-wght-normal.BAf6-sld.woff2)format("woff2-variations");unicode-range:U+1-C,U+E-1F,U+7F-9F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+28??,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B??,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F0??,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F7??,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB??}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/_astro/open-sans-vietnamese-wght-normal.UygKeDyW.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/_astro/open-sans-latin-ext-wght-normal.DPNHYqvY.woff2)format("woff2-variations");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:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/_astro/open-sans-latin-wght-normal.CWNzRldh.woff2)format("woff2-variations");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:Chicago Kare;src:url(/fonts/ChicagoKare-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--prose-bg:#fafafa;--prose-fg:#0a0a0a;--prose-fg-muted:#6a6a6a;--prose-accent:#06f;--max-width:64ch;--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2rem;--space-6:3rem;--space-8:4rem;--box-grid-cell:200px;--box-grid-gap:var(--space-2);--radius-sm:3px;--radius-md:6px;--font-system:"Open Sans Variable", Verdana, Geneva, Tahoma, sans-serif;--font-prose:Helvetica, Arial, sans-serif;--font-display:"Chicago Kare", var(--font-system);--font-mono:"JetBrains Mono Variable", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--wallpaper:radial-gradient(var(--wallpaper-dot) 1px, transparent 1px) 0 0 / 5px 5px var(--desktop-bg)}@media (prefers-color-scheme:dark){:root{--prose-bg:#0a0a0a;--prose-fg:#fafafa;--prose-fg-muted:#8a8a8a;--prose-accent:#4a9eff}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, currentColor 18%, transparent) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:color-mix(in srgb, currentColor 18%, transparent);border-radius:var(--radius-sm);transition:background .6s cubic-bezier(.4,0,.2,1)}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, currentColor 32%, transparent)}::-webkit-scrollbar-corner{background:0 0}html,body{height:100%}html{font-family:var(--font-system);background:var(--prose-bg);color:var(--prose-fg);text-rendering:optimizelegibility;font-size:100%}body.full-bleed{overflow:hidden}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.boot-splash{z-index:0;pointer-events:none;background:var(--wallpaper);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.boot-orb{width:46px;height:46px;color:var(--desktop-fg);animation:1.6s ease-in-out infinite cursor-pulse}.noscript-home{max-width:34rem;min-height:100dvh;font-family:var(--font-system);color:var(--desktop-fg);background:var(--desktop-bg);flex-direction:column;justify-content:center;gap:.75rem;margin:0 auto;padding:2rem 1.5rem;display:flex}.noscript-home h1{font-size:1.25rem;font-weight:600}.noscript-home p{color:var(--desktop-fg-muted);line-height:1.5}.noscript-home nav{gap:1rem;margin-top:.5rem;display:flex}.noscript-home a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}main.prose{max-width:var(--max-width);padding:var(--space-8) var(--space-3);gap:var(--space-2);flex-direction:column;margin:0 auto;font-weight:400;line-height:1.6;display:flex}main.prose h1{margin-bottom:var(--space-2);font-size:1rem;font-weight:500}main.prose p{margin-bottom:var(--space-3);color:var(--prose-fg)}main.prose a{color:var(--prose-accent);border-bottom:1px solid;text-decoration:none;transition:opacity .12s}@media (hover:hover){main.prose a:hover{opacity:.65}}main.prose ul{list-style:none}.desktop{background:var(--wallpaper);width:100vw;height:100vh;font-family:var(--font-system);color:var(--desktop-fg);user-select:none;position:relative;overflow:hidden}.menubar{background:linear-gradient(to bottom, var(--menubar-top) 0%, var(--menubar-bottom) 100%);height:24px;color:var(--menubar-fg);border-bottom:1px solid var(--menubar-border);font-family:var(--font-system);letter-spacing:.02em;justify-content:space-between;align-items:center;padding:0 12px;font-size:12px;font-weight:500;display:flex}.menubar-app{letter-spacing:.1em;font-weight:500}.menubar-date{font-variant-numeric:tabular-nums;color:var(--menubar-date)}.workspace{width:100%;height:calc(100% - 24px);position:relative}@keyframes window-surface{0%{opacity:0;transform:translateY(6px)}}@keyframes window-boot-in{0%{opacity:0;transform:translateY(13px)scale(.985)}}@keyframes window-close-out{to{opacity:0;transform:translateY(4px)scale(.985)}}.window.window--boot{animation:.76s cubic-bezier(.22,1,.36,1) both window-boot-in}@media (prefers-reduced-motion:reduce){.window.window--boot{animation-delay:0s!important}}.window{background:var(--window-body);border:1px solid var(--window-border);box-shadow:0 1px 2px color-mix(in srgb, var(--window-shadow) 26%, transparent), 0 8px 18px color-mix(in srgb, var(--window-shadow) 13%, transparent), 0 28px 56px color-mix(in srgb, var(--window-shadow) 7%, transparent);flex-direction:column;animation:.42s cubic-bezier(.16,1,.3,1) window-surface;display:flex;position:absolute;overflow:hidden}.window.window--closing{pointer-events:none;animation:.16s cubic-bezier(.4,0,1,1) forwards window-close-out;animation-delay:0!important}.window-titlebar{background:linear-gradient(180deg, var(--window-chrome) 0%, color-mix(in srgb, var(--window-chrome) 92%, #000) 100%);color:var(--window-chrome-fg);letter-spacing:.04em;touch-action:none;align-items:center;gap:8px;height:22px;padding:0 8px;font-size:11px;font-weight:600;transition:filter .55s;display:flex;box-shadow:inset 0 1px #ffffff1f}.window:not(.window--top) .window-titlebar{filter:saturate(.85)brightness(.94)}.window--top .window-title{align-items:center;gap:10px;display:flex}.window--top .window-title:before,.window--top .window-title:after{content:"";border-top:1px solid #0000003d;border-bottom:1px solid #ffffff21;flex:1;height:0}.window>.window-titlebar:after{content:"";flex-shrink:0;width:14px}.window-close{background:var(--close-bg);width:14px;height:14px;color:var(--close-fg);border:1px solid var(--window-border);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:12px;line-height:1;transition:background-color .4s,color .4s;display:inline-flex;position:relative}.window-close:after{content:"";position:absolute;inset:-5px}@media (hover:hover){.window-close:hover{background:var(--close-hover-bg);color:var(--close-hover-fg);transition-duration:60ms}}.window-title{min-width:0;font-family:var(--font-display);letter-spacing:normal;text-align:center;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;font-weight:400;overflow:hidden}.window-body{background:var(--window-body);flex:1;position:relative;overflow:auto;container-type:inline-size}.window-resize{cursor:nwse-resize;touch-action:none;width:14px;height:14px;position:absolute;bottom:0;right:0}.window-resize:after{content:"";background:color-mix(in srgb, var(--window-body-fg) 50%, transparent);border-radius:50%;width:6px;height:6px;position:absolute;bottom:3px;right:3px}.terminal{height:100%;position:relative}.note-viewer{background:var(--window-body);height:100%;color:var(--window-body-fg);flex-direction:column;display:flex}.note-viewer-empty{font-family:var(--font-system);color:var(--window-body-fg-muted);justify-content:center;align-items:center;font-size:12px}.note-readonly-banner{font-family:var(--font-system);color:var(--window-body-fg-muted);background:color-mix(in srgb, var(--window-border) 12%, transparent);border-bottom:1px solid color-mix(in srgb, var(--window-border) 30%, transparent);letter-spacing:.02em;padding:6px 12px;font-size:11px}.note-textarea{font-family:var(--font-mono);color:inherit;resize:none;white-space:pre-wrap;background:0 0;border:0;outline:none;flex:1;padding:14px 16px;font-size:11px;line-height:1.6}.note-textarea:focus-visible{outline:1px dotted var(--window-body-fg);outline-offset:-3px}.note-readonly-text{font-family:var(--font-mono);color:inherit;white-space:pre-wrap;overflow-wrap:break-word;flex:1;margin:0;padding:14px 16px;font-size:11px;line-height:1.6;overflow:auto}.note-readonly-text:focus-visible{outline:1px dotted var(--window-body-fg);outline-offset:-3px}@media (width<=839px){.note-textarea{font-size:16px}.note-readonly-text{font-size:13px}}.note-toolbar{border-top:1px solid color-mix(in srgb, var(--window-border) 30%, transparent);font-family:var(--font-system);color:var(--window-body-fg-muted);justify-content:flex-end;align-items:center;gap:10px;padding:6px 10px;font-size:11px;display:flex}.note-save{font:inherit;color:var(--window-body-fg);border:1px solid color-mix(in srgb, var(--window-border) 60%, transparent);cursor:pointer;background:0 0;padding:3px 10px;transition:background .4s cubic-bezier(.4,0,.2,1)}.note-save:hover:not(:disabled){background:color-mix(in srgb, var(--window-border) 20%, transparent)}.note-save:disabled{opacity:.4;cursor:default}.terminal-body{background:var(--terminal-bg);color:var(--terminal-fg);font-family:var(--font-mono);white-space:pre-wrap;cursor:text;-webkit-user-select:text;user-select:text;height:100%;margin:0;padding:18px 20px;font-size:11px;line-height:1.6;overflow:auto}.terminal-body::selection,.terminal-body ::selection{background:color-mix(in srgb, var(--terminal-cursor) 32%, transparent);color:inherit}.terminal-prompt{opacity:.55}.terminal-keysink{opacity:0;color:#0000;caret-color:#0000;pointer-events:none;width:100%;height:100%;font:inherit;background:0 0;border:0;outline:none;margin:0;padding:0;position:absolute;inset:0}.folder-body{background:var(--window-body);height:100%;color:var(--window-body-fg);flex-direction:column;display:flex}.folder-status{border-top:1px solid var(--surface-muted-border);color:var(--surface-muted-fg);font-size:11px;font-family:var(--font-system);background:var(--surface-muted-bg);margin-top:auto;padding:4px 10px}.folder-empty{justify-content:center;align-items:center}.folder-empty-message{font-family:var(--font-system);color:var(--surface-muted-fg);margin:0;font-size:13px;font-style:italic}.folder-list{font-family:var(--font-system);flex:1;margin:0;padding:8px;font-size:12px;list-style:none;overflow:auto}.folder-list li{list-style:none}.folder-list li:not(:last-child){border-bottom:1px solid color-mix(in srgb, var(--list-separator) 22%, transparent)}.folder-link{color:var(--window-body-fg);padding:7px 10px;text-decoration:none;transition:background-color .55s,color .55s;display:block}@media (hover:hover){.folder-link:hover{background:var(--hover-bg);color:var(--hover-fg);transition-duration:90ms}}.folder-link-button{text-align:left;width:100%;font:inherit;cursor:pointer;background:0 0;border:none}.folder-symlink{align-items:center;gap:8px;display:flex}.folder-symlink-glyph{flex:none;display:inline-flex}.folder-symlink-glyph .mark-glyph{width:18px;height:18px;display:block}.folder-symlink-arrow{opacity:.55;flex:none;margin-left:auto;transition:transform .16s,opacity .16s;display:inline-flex}.folder-symlink-arrow .mark-glyph{width:13px;height:13px;display:block}@media (hover:hover){.folder-symlink:hover .folder-symlink-arrow{opacity:.85;transform:translate(1.5px,-1.5px)}}@media (prefers-reduced-motion:reduce){.folder-symlink-arrow{transition:none}.folder-symlink:hover .folder-symlink-arrow{transform:none}}.project-body{background:var(--window-body);height:100%;color:var(--window-body-fg);font-family:var(--font-system);flex-direction:column;gap:12px;padding:16px 18px;display:flex}.project-header{align-items:center;gap:12px;display:flex}.project-emoji{font-size:32px;line-height:1}.project-title{color:var(--window-body-fg);letter-spacing:.01em;margin:0;font-size:16px;font-weight:600}.project-description{color:var(--window-body-fg-muted);margin:0;font-size:13px;line-height:1.5}.project-btns{gap:var(--space-1);margin-left:auto;display:flex}.project-btn{background:linear-gradient(180deg, var(--cta-top) 0%, var(--cta-bottom) 100%);border:1px solid var(--cta-border);box-shadow:inset 0 1px 0 var(--cta-highlight), inset 0 -1px 0 var(--cta-shadow), inset 0 0 6px var(--cta-inner-shadow), 1px 1px 0 var(--shadow-offset);color:var(--window-body-fg);font-family:var(--font-system);letter-spacing:.02em;cursor:pointer;align-items:center;padding:4px 10px;font-size:11px;font-weight:500;text-decoration:none;transition:filter .45s,transform .12s;display:inline-flex}@media (hover:hover){.project-btn:not(.is-disabled):hover{filter:brightness(1.14);transition-duration:.1s,.12s}}.project-btn:not(.is-disabled):active{filter:brightness(.94);transform:scale(.97)}@media (prefers-reduced-motion:reduce){.project-btn:not(.is-disabled):active{transform:none}}.project-btn.is-disabled{background:var(--surface-muted-bg);border-color:var(--surface-muted-border);color:var(--surface-muted-fg);cursor:default;box-shadow:none}.project-cta{background:linear-gradient(180deg, var(--cta-top) 0%, var(--cta-bottom) 100%);border:1px solid var(--cta-border);box-shadow:inset 0 1px 0 var(--cta-highlight), inset 0 -1px 0 var(--cta-shadow), inset 0 0 6px var(--cta-inner-shadow), 1px 1px 0 var(--shadow-offset);color:var(--window-body-fg);font-family:var(--font-system);cursor:pointer;letter-spacing:.02em;align-self:flex-start;align-items:center;margin-top:auto;padding:5px 12px;font-size:12px;font-weight:500;text-decoration:none;display:inline-flex}@media (hover:hover){.project-cta:hover{filter:brightness(1.1)}}.project-cta:active{background:linear-gradient(#908a82 0%,#b8b4ac 100%);box-shadow:inset 1px 1px #0000004d}.project-vision-wrap{flex:1;justify-content:center;align-items:center;min-height:0;display:flex}.project-vision-link{cursor:pointer;background-color:var(--vision-card-bg);background-image:radial-gradient(1.5px 1.5px at 12% 18%, color-mix(in srgb, var(--vision-glow) 55%, transparent), transparent), radial-gradient(1px 1px at 28% 64%, color-mix(in srgb, var(--vision-glow) 42%, transparent), transparent), radial-gradient(1px 1px at 56% 38%, color-mix(in srgb, var(--vision-glow) 48%, transparent), transparent), radial-gradient(1.5px 1.5px at 74% 76%, color-mix(in srgb, var(--vision-glow) 55%, transparent), transparent), radial-gradient(1px 1px at 88% 22%, color-mix(in srgb, var(--vision-glow) 38%, transparent), transparent), radial-gradient(.5px .5px at 40% 86%, color-mix(in srgb, var(--vision-glow) 32%, transparent), transparent);border:1px solid var(--vision-card-border);padding:12px;line-height:0;text-decoration:none;transition:border-color .2s,background-color .2s,transform .15s;display:inline-flex}.project-vision-icon{display:inline-flex}.project-vision-icon svg{width:160px;height:160px;display:block}.project-vision-link svg{filter:drop-shadow(0 0 3px color-mix(in srgb, var(--vision-glow) 55%, transparent)) drop-shadow(0 0 10px color-mix(in srgb, var(--vision-glow) 28%, transparent));transition:filter .22s}@media (hover:hover){.project-vision-link:not(.is-disabled):hover{border-color:var(--vision-card-hover-border);background-color:var(--vision-card-hover-bg)}.project-vision-link:not(.is-disabled):hover svg{filter:drop-shadow(0 0 4px color-mix(in srgb, var(--vision-glow) 75%, transparent)) drop-shadow(0 0 14px color-mix(in srgb, var(--vision-glow) 40%, transparent))}}.project-vision-link:not(.is-disabled):active{transform:scale(.98)}.project-vision-link.is-disabled{cursor:default;opacity:.45;filter:grayscale(.55)}.project-vision-link.is-disabled svg{filter:none}.gallery-body{background:var(--window-body);height:100%;color:var(--window-body-fg);-webkit-user-select:none;user-select:none;flex-direction:column;display:flex}.gallery-empty{justify-content:center;align-items:center}.gallery-empty-message{font-family:var(--font-system);color:var(--surface-muted-fg);margin:0;font-size:13px;font-style:italic}.gallery-grid{flex:1;margin:0;padding:10px 10px 36px;list-style:none;overflow:auto}.gallery-grid-inner{grid-template-columns:repeat(auto-fit,52px);justify-content:space-evenly;gap:8px;margin:0;padding:0;list-style:none;display:grid}.gallery-cell{min-width:0;list-style:none}.gallery-cell.gallery-cell-dragging .gallery-thumb .gallery-thumb-frame{border-color:var(--vision-card-hover-border);box-shadow:0 6px 12px color-mix(in srgb, var(--window-shadow) 45%, transparent), 0 2px 4px color-mix(in srgb, var(--window-shadow) 30%, transparent)}.gallery-cell-dragging .gallery-thumb{cursor:grabbing}.gallery-cell-target{box-shadow:inset 2px 0 0 var(--gallery-fullscreen-icon)}.gallery-cell-target-end{box-shadow:inset -2px 0 0 var(--gallery-fullscreen-icon)}.gallery-thumb{cursor:pointer;width:100%;font:inherit;color:var(--window-body-fg);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;align-items:center;gap:4px;padding:0;display:flex}.gallery-thumb-frame{aspect-ratio:1;background:var(--vision-card-bg);border:1px solid color-mix(in oklab, var(--vision-card-hover-border) 55%, transparent);width:100%;box-shadow:0 1px 0 color-mix(in srgb, var(--window-shadow) 14%, transparent);transition:border-color .16s ease-out,box-shadow .16s ease-out,transform .12s ease-out;display:block;overflow:hidden}.gallery-thumb-image{object-fit:cover;width:100%;height:100%;display:block}.gallery-thumb-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-family:var(--font-system);font-variant-numeric:tabular-nums;text-align:center;color:var(--surface-muted-fg);font-size:11px;line-height:1.3;overflow:hidden}@media (hover:hover){.gallery-thumb:hover .gallery-thumb-frame{border-color:var(--vision-card-hover-border);box-shadow:0 1px 1px color-mix(in srgb, var(--window-shadow) 22%, transparent), 0 3px 8px color-mix(in srgb, var(--window-shadow) 16%, transparent)}}.gallery-thumb:active .gallery-thumb-frame{transform:scale(.98)}.gallery-viewer{outline:none;gap:8px;padding:12px 12px 8px}.gallery-viewer:focus-visible{outline:1px dotted var(--window-body-fg);outline-offset:-4px}.gallery-viewer-stage{flex:1;justify-content:center;align-items:center;min-width:0;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.gallery-viewer-image{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%;box-shadow:0 1px 2px color-mix(in srgb, var(--window-shadow) 18%, transparent), 0 6px 16px color-mix(in srgb, var(--window-shadow) 12%, transparent);cursor:url(/icons/zoom_cursor.svg) 12 12,zoom-in;view-transition-name:gallery-hero;display:block}.gallery-viewer-row{flex:1;align-items:center;min-height:0;display:flex;overflow:hidden}.gallery-viewer-arrow{color:var(--gallery-fullscreen-icon);cursor:pointer;opacity:.85;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:4px;transition:opacity .18s,color .18s,transform .12s ease-out;display:inline-flex;position:relative}.gallery-viewer-arrow:after{content:"";position:absolute;inset:-4px 0}.gallery-viewer-arrow svg{width:20px;height:10px;display:block}.gallery-viewer-arrow svg circle{transition:fill .2s cubic-bezier(.4,0,.2,1)}.gallery-viewer-stage .gallery-viewer-arrow{z-index:1;filter:drop-shadow(0 0 1px var(--window-body)) drop-shadow(0 0 3px var(--window-body));position:absolute;top:50%;translate:0 -50%}.gallery-viewer-stage .gallery-viewer-arrow-left{left:2px}.gallery-viewer-stage .gallery-viewer-arrow-right{right:2px}@media (hover:hover){.gallery-viewer-arrow:hover{opacity:1}.gallery-viewer-arrow:hover svg circle{fill:currentColor}}.gallery-viewer-arrow:active{transform:scale(.92)}.gallery-viewer-meta{min-height:38px;font-family:var(--font-system);align-items:center;gap:8px;padding-right:48px;font-size:12px;display:flex}.gallery-constellation{align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.gallery-constellation-back{cursor:pointer;color:var(--gallery-fullscreen-icon);background:0 0;border:none;align-items:center;padding:2px;transition:filter .18s;display:inline-flex;position:relative}.gallery-constellation-back:after{content:"";position:absolute;inset:-4px}.gallery-constellation-back svg{opacity:.65;width:12px;height:12px;transition:opacity .15s;display:block}.gallery-constellation-back svg rect{fill:none;stroke:currentColor;stroke-width:1px;vector-effect:non-scaling-stroke;transition:fill .28s cubic-bezier(.4,0,.2,1)}@media (hover:hover){.gallery-constellation-back:hover svg{opacity:1}.gallery-constellation-back:hover{filter:drop-shadow(0 0 4px color-mix(in srgb, var(--gallery-fullscreen-icon) var(--gallery-glow-intensity), transparent))}.gallery-constellation-back:hover svg rect{fill:currentColor}}.gallery-constellation-edge{background:color-mix(in srgb, var(--gallery-fullscreen-icon) 35%, transparent);flex-shrink:0;width:16px;height:1px}.gallery-constellation-node{color:var(--gallery-fullscreen-icon);filter:drop-shadow(0 0 4px color-mix(in srgb, var(--gallery-fullscreen-icon) var(--gallery-glow-intensity), transparent));align-items:center;display:inline-flex}.gallery-constellation-node svg{width:12px;height:12px;display:block}.gallery-viewer-now{align-items:baseline;gap:6px;min-width:0;display:inline-flex;overflow:hidden}.gallery-constellation-label{min-width:0;color:var(--window-body-fg);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.gallery-viewer-count{font-variant-numeric:tabular-nums;color:var(--surface-muted-fg);white-space:nowrap;flex-shrink:0;font-size:11px}.gallery-viewer-caption{font-family:var(--font-system);color:var(--surface-muted-fg);font-size:12px}.gallery-fullscreen{--gallery-fs-fg:color-mix(in oklab, var(--window-body) 30%, #fff);--gallery-fs-fg-strong:color-mix(in oklab, var(--window-body) 10%, #fff);--gallery-fs-shadow:color-mix(in srgb, var(--gallery-fullscreen-shadow) 70%, #000);z-index:10000;background:color-mix(in oklab, color-mix(in oklab, var(--gallery-fullscreen-shadow) 30%, #000) 94%, transparent);-webkit-user-select:none;user-select:none;outline:none;justify-content:center;align-items:center;animation:.2s ease-out gallery-fade-in;display:flex;position:fixed;inset:0}.gallery-fullscreen-image{object-fit:contain;user-select:none;max-width:calc(100vw - 2*clamp(16px,6vw,64px));max-height:calc(100vh - 2*clamp(24px,6vh,56px));animation:.24s cubic-bezier(.22,1,.36,1) gallery-fs-image-in;display:block}.gallery-fullscreen-arrow{color:var(--gallery-fs-fg);filter:drop-shadow(0 1px 2px var(--gallery-fs-shadow));cursor:pointer;opacity:.85;background:0 0;border:none;padding:4px;transition:opacity .2s,color .2s,filter .2s,transform .12s ease-out;position:absolute;top:50%;transform:translateY(-50%)}.gallery-fullscreen-arrow svg{width:32px;height:16px;display:block}.gallery-fullscreen-arrow.gallery-viewer-arrow-left{left:16px}.gallery-fullscreen-arrow.gallery-viewer-arrow-right{right:16px}@media (hover:hover){.gallery-fullscreen-arrow:hover{opacity:1;color:var(--gallery-fs-fg-strong)}}.gallery-fullscreen-arrow:active{transform:translateY(-50%)scale(.92)}.gallery-fullscreen-close{color:var(--gallery-fs-fg);filter:drop-shadow(0 1px 2px var(--gallery-fs-shadow));cursor:pointer;opacity:.85;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;transition:opacity .2s,color .2s,filter .2s,transform .12s ease-out;display:inline-flex;position:absolute;top:16px;right:18px}.gallery-fullscreen-close svg{width:28px;height:28px;display:block}@media (hover:hover){.gallery-fullscreen-close:hover{opacity:1;color:var(--gallery-fs-fg-strong)}}.gallery-fullscreen-close:active{transform:scale(.92)}.gallery-fullscreen-meta{font-family:var(--font-system);color:var(--gallery-fs-fg);text-shadow:0 1px 2px var(--gallery-fs-shadow);justify-content:center;align-items:baseline;gap:14px;display:flex;position:absolute;bottom:18px;left:0;right:0}.gallery-fullscreen-label{font-size:13px;font-weight:600}.gallery-fullscreen-count{font-variant-numeric:tabular-nums;opacity:.75;font-size:12px}.gallery-image-step{animation:.16s ease-out gallery-fade-in}@keyframes gallery-fade-in{0%{opacity:0}}@keyframes gallery-fs-image-in{0%{opacity:0;transform:scale(.97)}}::view-transition-group(gallery-hero){animation-duration:.24s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-old(root),::view-transition-new(root){animation:none}.music-body{background:var(--music-body-bg);height:100%;color:var(--music-body-fg);flex-direction:column;display:flex}.music-list{font-family:var(--font-system);flex:1;margin:0;padding:8px;font-size:12px;list-style:none;overflow:auto}.music-list li{list-style:none}.music-row{text-align:left;cursor:pointer;width:100%;font-family:inherit;font-size:inherit;color:var(--desktop-fg);background:0 0;border:none;flex-direction:column;padding:4px 8px;transition:background-color .55s,color .55s;display:flex}@media (hover:hover){.music-row:hover{background:var(--hover-bg);color:var(--hover-fg);transition-duration:90ms}}.music-row-active{background:var(--music-row-active-bg);color:var(--music-row-active-fg)}.music-title{font-weight:500}.music-artist{opacity:.7;font-size:11px}.music-empty{font-family:var(--font-system);color:var(--surface-muted-fg);flex:1;justify-content:center;align-items:center;font-size:12px;display:flex}.music-quote{font-family:var(--font-system);letter-spacing:.02em;text-align:left;color:var(--music-deck-fg);opacity:.6;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;flex-shrink:0;margin:0;padding-top:2px;font-size:8px;font-style:italic;line-height:1.3}.music-quote-attribution{font-style:normal;display:block}.music-deck{border-top:1px solid var(--window-border);background:linear-gradient(to bottom, var(--music-deck-top) 0%, var(--music-deck-bottom) 100%);flex-direction:column;flex-shrink:0;gap:8px;padding:10px 12px 12px;display:flex;position:relative}.music-skip-notice{z-index:2;font-family:var(--font-mono);letter-spacing:.02em;white-space:nowrap;color:var(--music-readout-fg);background:var(--music-readout-bg);border-radius:var(--radius-sm);pointer-events:none;border:1px solid #0000008c;padding:3px 10px;font-size:10.5px;animation:2.6s both music-skip-flash;position:absolute;top:6px;left:50%;transform:translate(-50%)}@keyframes music-skip-flash{0%,to{opacity:0}8%,82%{opacity:.9}}.music-spectrum-slot{background:var(--music-readout-bg);border:1px solid #000000b3;width:100%;height:80px;position:relative;overflow:hidden;box-shadow:inset 1px 1px #0009}.music-spectrum-slot[data-mode=wheel]{aspect-ratio:1;width:140px;max-width:100%;height:auto;box-shadow:inset 1px 1px 0 0 #0009, 0 0 0 1px var(--music-separator), 0 4px 8px #00000059;margin:0 auto}.music-spectrum-slot:after{content:"";pointer-events:none;background:repeating-linear-gradient(#0000 0 2px,#00000059 2px 3px);position:absolute;inset:0}.music-spectrum-canvas{width:100%;height:100%;display:block}.music-spectrum-toggle-group{z-index:1;gap:2px;display:flex;position:absolute;top:4px;right:6px}.music-spectrum-toggle{width:26px;height:26px;color:var(--music-readout-fg);opacity:.65;font-family:var(--font-system);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:17px;line-height:1;transition:opacity .12s;display:inline-flex}.music-spectrum-toggle-active{opacity:1}@media (hover:hover){.music-spectrum-toggle:hover{opacity:.85}.music-spectrum-toggle-active:hover{opacity:1}}.music-spectrum-slot[data-mode=split]{display:flex}.music-spectrum-slot[data-mode=split]>canvas{flex:1;min-width:0}.music-spectrum-slot[data-mode=split]:before{content:"";background:linear-gradient(to right, #0000008c 0 50%, var(--music-separator) 50% 100%);opacity:.7;pointer-events:none;z-index:1;width:2px;position:absolute;top:0;bottom:0;left:calc(50% - 1px)}.music-readout{box-shadow:none;white-space:nowrap;background:0 0;border:none;justify-content:space-between;align-items:baseline;gap:8px;padding:0 2px;display:flex;overflow:hidden}.music-readout-title{font-family:var(--font-system);color:var(--music-deck-fg);text-overflow:ellipsis;flex:1;font-size:11px;overflow:hidden}.music-readout-time{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--music-deck-fg);flex-shrink:0;font-size:10px}.music-seek{-webkit-appearance:none;appearance:none;cursor:pointer;background:0 0;border:none;width:100%;height:24px;margin:-8px 0;padding:0;display:block}.music-seek:disabled{cursor:default}.music-seek:focus-visible{outline:1px dotted var(--music-deck-fg);outline-offset:-4px}.music-seek::-webkit-slider-runnable-track{background-color:#555;background-image:linear-gradient(to bottom, var(--music-spectrum-top) 0%, var(--music-spectrum-bottom) 100%);background-size:var(--seek-progress,0%) 100%;background-repeat:no-repeat;border:1px solid #222;height:8px;transition:background-size .1s linear;box-shadow:inset 1px 1px #0006}.music-seek::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:linear-gradient(to bottom, var(--music-spectrum-top), var(--music-spectrum-bottom));cursor:pointer;border:1px solid #222;width:8px;height:16px;margin-top:-5px;box-shadow:0 1px #fff3}.music-seek::-moz-range-track{background-color:#555;background-image:linear-gradient(to bottom, var(--music-spectrum-top) 0%, var(--music-spectrum-bottom) 100%);background-size:var(--seek-progress,0%) 100%;background-repeat:no-repeat;border:1px solid #222;height:8px;box-shadow:inset 1px 1px #0006}.music-seek::-moz-range-thumb{background:linear-gradient(to bottom, var(--music-spectrum-top), var(--music-spectrum-bottom));cursor:pointer;border:1px solid #222;border-radius:0;width:8px;height:16px;box-shadow:0 1px #fff3}.music-transport{align-items:center;gap:10px;display:flex}.music-btn{width:32px;height:28px;box-shadow:none;font-family:var(--font-system);cursor:pointer;color:var(--music-deck-fg);opacity:.75;-webkit-tap-highlight-color:transparent;background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:16px;transition:opacity .12s;display:inline-flex;position:relative}@media (hover:hover){.music-btn:hover{opacity:1}}.music-btn:active{opacity:1}:root:not([data-theme]),:root[data-theme=system]{--music-load-ring-color:#ff7300}.music-load-ring{pointer-events:none;width:22px;height:22px;color:var(--music-load-ring-color,var(--music-spectrum-top,currentColor));opacity:0;margin:-11px 0 0 -11px;transition:opacity .16s,transform .16s;position:absolute;top:50%;left:50%;transform:scale(.85)}.music-btn-primary[data-loading=true] .music-load-ring{opacity:1;transition-duration:90ms;transform:scale(1)}.music-load-track{fill:none;stroke:currentColor;stroke-opacity:.12;stroke-width:1.25px}.music-load-arc{fill:none;stroke:currentColor;stroke-opacity:.85;stroke-width:1.25px;stroke-linecap:round;stroke-dasharray:2 61;transform-box:fill-box;transform-origin:50%}.music-btn-primary[data-loading=true] .music-load-arc{animation:1.4s ease-in-out infinite music-load-arc,1.3s linear infinite music-load-spin}@keyframes music-load-spin{to{transform:rotate(360deg)}}@keyframes music-load-arc{0%{stroke-dasharray:2 61;stroke-dashoffset:0}50%{stroke-dasharray:47 16;stroke-dashoffset:-12px}to{stroke-dasharray:2 61;stroke-dashoffset:-62px}}@media (prefers-reduced-motion:reduce){.music-load-ring{transition:opacity .16s;transform:none}.music-btn-primary[data-loading=true] .music-load-arc{stroke-dasharray:47 16;stroke-opacity:.5;animation:none}.music-btn-primary[data-loading=true]{animation:1.6s ease-in-out infinite music-load-pulse}}@keyframes music-load-pulse{0%,to{opacity:.55}50%{opacity:1}}.music-btn:focus-visible{outline:1px dotted var(--music-deck-fg);outline-offset:2px}.music-btn-active{opacity:1}.music-btn-active:before{content:"";border-radius:var(--radius-md);background:color-mix(in srgb, var(--music-deck-fg) 20%, transparent);width:1.5em;height:1.5em;position:absolute}.music-btn-primary{font-size:20px}.music-volume{-webkit-appearance:none;appearance:none;cursor:pointer;background:0 0;border:none;flex:0 130px;min-width:0;height:24px;margin-left:auto;padding:0}.music-volume:focus-visible{outline:1px dotted var(--music-deck-fg);outline-offset:-4px}.music-volume::-webkit-slider-runnable-track{border-radius:var(--radius-sm);background:#00000059;height:6px;box-shadow:inset 0 1px 1px #00000080,0 1px #ffffff40}.music-volume::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;cursor:pointer;background:#000000a6;border:1px solid #000000d9;width:14px;height:14px;margin-top:-4px;box-shadow:inset 0 1px #ffffff26,0 1px #ffffff40}.music-volume::-moz-range-track{border-radius:var(--radius-sm);background:#00000059;height:6px;box-shadow:inset 0 1px 1px #00000080,0 1px #ffffff40}.music-volume::-moz-range-thumb{cursor:pointer;background:#000000a6;border:1px solid #000000d9;width:14px;height:14px;box-shadow:inset 0 1px #ffffff26,0 1px #ffffff40}.music-yt-host{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;bottom:0;right:0;overflow:hidden}.terminal-cursor{color:var(--terminal-cursor);text-shadow:0 0 8px color-mix(in srgb, var(--terminal-cursor) 60%, transparent);margin-left:1px;transition:opacity .6s;animation:1.6s ease-in-out infinite cursor-pulse;display:inline-block}@keyframes cursor-pulse{0%,to{opacity:.45}50%{opacity:1}}.terminal[data-phase=interactive] .terminal-cursor{opacity:.3;animation:none}.terminal[data-phase=interactive]:focus-within .terminal-cursor{opacity:1;animation:1.6s ease-in-out infinite cursor-pulse}.icon{color:var(--desktop-fg);cursor:default;touch-action:none;flex-direction:column;align-items:center;gap:4px;width:80px;padding:6px 8px;text-decoration:none;display:flex;position:absolute}@media (hover:hover){.icon:hover .icon-tile{outline:1px dotted var(--window-border);filter:brightness(1.06);transition-duration:90ms}}.icon:focus-visible{outline:none}.icon:focus-visible .icon-tile{outline:1px dotted var(--window-border)}.icon-tile{background:linear-gradient(180deg, var(--icon-tile-top) 0%, var(--icon-tile-bottom) 100%);border:1px solid var(--icon-tile-border);width:48px;height:48px;box-shadow:inset 0 1px 0 var(--icon-tile-highlight), inset 0 -1px 0 var(--icon-tile-shadow), inset 0 0 6px var(--icon-tile-inner-shadow), 1px 1px 0 var(--shadow-offset);justify-content:center;align-items:center;transition:filter .45s;display:flex;position:relative}.icon-tile-image{object-fit:contain;user-select:none;pointer-events:none;width:36px;height:36px;filter:drop-shadow(0 1px 0 var(--icon-tile-shadow));display:block}.dock-tile .icon-tile-image{width:30px;height:30px}.mark-decor{pointer-events:none;z-index:5;position:absolute;inset:0;overflow:clip}.mark-decor>.mark-soul-wrap{pointer-events:none}.mark-soul-wrap{z-index:5;flex-direction:column;align-items:flex-end;gap:4px;display:flex;position:absolute;bottom:8px;right:14px}.mark-soul{pointer-events:auto;color:color-mix(in srgb, var(--window-body-fg) 12%, var(--window-body));filter:drop-shadow(0 1px #fff2d038);cursor:pointer;user-select:none;background:0 0;border:none;padding:0;font-size:38px;line-height:1;transition:color .6s}@media (hover:hover){.mark-soul:hover{color:color-mix(in srgb, var(--window-body-fg) 32%, var(--window-body))}}.mark-soul:focus-visible,.mark-soul-wrap--open .mark-soul{color:color-mix(in srgb, var(--window-body-fg) 32%, var(--window-body));outline:none}.mark-soul:focus-visible{outline:1px dotted var(--window-body-fg);outline-offset:2px}.mark-soul--bare{color:color-mix(in srgb, var(--window-body-fg) 3%, var(--window-body));filter:drop-shadow(0 1px #fff2d014)}.mark-soul-glyph{animation:.7s mark-settle;display:block}.mark-soul-glyph .mark-glyph{overflow:visible}@keyframes mark-settle{0%{opacity:0;filter:blur(2px);transform:scale(1.18)}to{opacity:1;filter:none;transform:none}}.mark-tide{border-radius:var(--radius-sm);background:color-mix(in srgb, color-mix(in srgb, var(--window-body-fg) 5%, var(--window-body)) 92%, transparent);width:112px;box-shadow:1px 1px 0 var(--shadow-offset);-webkit-backdrop-filter:blur(3px);pointer-events:none;opacity:0;visibility:hidden;transform-origin:100% 100%;--ebb-ms:.9s;transition:opacity var(--ebb-ms) ease-in, transform var(--ebb-ms) cubic-bezier(.16, 1, .3, 1), visibility 0s linear var(--ebb-ms);flex-wrap:wrap;gap:0;padding:0;display:flex;overflow:hidden;transform:translateY(12px)scale(.82)}.mark-soul-wrap--open .mark-tide{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .6s,transform .6s,visibility;transform:none}.mark-tide-glyph{--strike-ms:.46s;border:none;border-right:1px solid color-mix(in srgb, var(--window-body-fg) 6%, transparent);border-bottom:1px solid color-mix(in srgb, var(--window-body-fg) 6%, transparent);width:28px;height:28px;color:var(--window-body-fg);opacity:.45;cursor:pointer;transition:opacity var(--strike-ms) cubic-bezier(.2, 0, 0, 1);background:0 0;justify-content:center;align-items:center;padding:0;font-size:15px;line-height:1;display:flex;position:relative}.mark-tide-glyph:before{content:"";background:var(--hover-bg);opacity:0;pointer-events:none;transition:opacity var(--strike-ms) cubic-bezier(.2, 0, 0, 1);position:absolute;inset:0}.mark-tide-glyph .mark-glyph{z-index:1;transition:transform .2s cubic-bezier(.2, 0, 0, 1), color var(--strike-ms) cubic-bezier(.2, 0, 0, 1);position:relative}.mark-glyph{width:1em;height:1em;display:block}.mark-soul-wrap--open .mark-tide-glyph{animation:.5s cubic-bezier(.16,1,.3,1) backwards tide-in;animation-delay:calc(var(--tide-i) * 45ms)}@keyframes tide-in{0%{opacity:0;transform:translateY(4px)}}.mark-tide-glyph:nth-child(-n+4){border-top:1px solid color-mix(in srgb, var(--window-body-fg) 6%, transparent)}.mark-tide-glyph:nth-child(4n+1){border-left:1px solid color-mix(in srgb, var(--window-body-fg) 6%, transparent)}@media (hover:hover){.mark-tide-glyph:hover,.mark-tide-glyph:hover:before{opacity:1;transition:opacity 30ms linear}.mark-tide-glyph:hover .mark-glyph{color:var(--hover-fg);transition:transform 40ms linear,color 30ms linear;transform:translateY(3px)scale(.9)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.mark-tide-glyph:hover .mark-glyph{transform:none}}.mark-tide-glyph:focus-visible{opacity:1;background:var(--hover-bg);color:var(--hover-fg);outline:none}.mark-tide-glyph--none{background:repeating-linear-gradient(45deg, transparent 0 4px, color-mix(in srgb, var(--window-body-fg) 10%, transparent) 4px 5px)}.mark-tide-glyph--current{opacity:.95}.mark-tide-glyph--none.mark-tide-glyph--current{background:repeating-linear-gradient(45deg, transparent 0 4px, color-mix(in srgb, var(--window-body-fg) 20%, transparent) 4px 5px)}.icon-mark{color:#2a21178c;filter:drop-shadow(0 1px #fff2d038);user-select:none;pointer-events:none;justify-content:center;align-items:center;font-size:10px;line-height:1;display:flex;position:absolute;inset:0;transform:translate(8px,6px)}.icon-mark .mark-glyph{animation:.7s mark-settle}.icon-label{background:color-mix(in srgb, var(--desktop-bg) 55%, transparent);padding:1px 4px;font-size:11px;font-weight:500;transition:background-color .4s,color .4s}.icon-selected .icon-tile{background:linear-gradient(to bottom, var(--icon-tile-bottom) 0%, var(--icon-tile-border) 100%);outline:1px dotted var(--icon-tile-border)}.icon-selected .icon-label{background:var(--selected-bg);color:var(--selected-fg)}.dock{background:var(--window-chrome);border-right:1px solid var(--dock-border);z-index:10;flex-direction:column;padding:0;display:flex;position:absolute;top:0;left:0}.dock-icon{background:var(--dock-bg);border:none;border-bottom:1px solid var(--dock-border);cursor:pointer;width:64px;height:64px;color:inherit;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;padding:8px;text-decoration:none;transition:background-color .4s;display:flex}@media (hover:hover){.dock-icon:hover{background:var(--dock-bg-hover);transition-duration:60ms}}.dock-tile{background:linear-gradient(180deg, var(--icon-tile-top) 0%, var(--icon-tile-bottom) 100%);border:1px solid var(--icon-tile-border);width:40px;height:40px;box-shadow:inset 0 1px 0 var(--icon-tile-highlight), inset 0 -1px 0 var(--icon-tile-shadow), inset 0 0 5px var(--icon-tile-inner-shadow), 1px 1px 0 var(--shadow-offset);justify-content:center;align-items:center;display:flex;position:relative}.icon-tile .shortcut-icon{width:36px;height:36px}.dock-tile .shortcut-icon{width:30px;height:30px}.shortcut-icon{background-color:var(--shortcut-icon-fg);-webkit-mask:var(--shortcut-mask) center / contain no-repeat;mask:var(--shortcut-mask) center / contain no-repeat;pointer-events:none}.shortcut-badge{background:linear-gradient(180deg, var(--icon-tile-top) 0%, var(--icon-tile-bottom) 100%);border:1px solid var(--icon-tile-border);width:18px;height:18px;box-shadow:inset 0 1px 0 var(--icon-tile-highlight), inset 0 -1px 0 var(--icon-tile-shadow), 1px 1px 0 var(--shadow-offset);pointer-events:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:-5px;right:-5px}.shortcut-badge:after{content:"";background-color:var(--shortcut-arrow);width:11px;height:11px;display:block;-webkit-mask:url(/icons/shortcut.svg) 50%/contain no-repeat;mask:url(/icons/shortcut.svg) 50%/contain no-repeat}.arcade-body{background:linear-gradient(180deg, var(--arcade-window-bg-top) 0%, var(--arcade-window-bg-bottom) 100%);flex-direction:column;height:100%;padding:12px;display:flex;position:relative;overflow:hidden}.arcade-grid{grid-template-columns:repeat(auto-fill,minmax(78px,1fr));align-content:start;gap:12px;display:grid}.arcade-tile{cursor:pointer;color:var(--arcade-label);background:0 0;border:none;flex-direction:column;align-items:center;gap:6px;padding:6px 4px;font-family:inherit;font-size:11px;display:flex}.arcade-tile:hover .arcade-label,.arcade-tile:focus-visible .arcade-label{text-decoration:underline}.arcade-icon-wrap{background:var(--vision-card-bg);border:1px solid var(--vision-card-border);width:56px;height:56px;position:relative;overflow:hidden}.arcade-icon{width:100%;height:100%;display:block}.arcade-tile--coming .arcade-icon{filter:blur(var(--arcade-blur))}.arcade-label{text-align:center}.arcade-shimmer{pointer-events:none;background:linear-gradient(115deg, transparent 30%, var(--arcade-shimmer-color) 50%, transparent 70%);animation:arcade-shimmer var(--arcade-shimmer-speed) linear infinite;background-size:220% 100%;position:absolute;inset:0}@keyframes arcade-shimmer{0%{background-position:220% 0}to{background-position:-220% 0}}.herald-backdrop{-webkit-backdrop-filter:blur(3px);z-index:10;background:#00000073;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.herald-modal{background:linear-gradient(180deg, var(--icon-tile-top) 0%, var(--icon-tile-bottom) 100%);border:1px solid var(--herald-border);box-shadow:inset 0 1px 0 var(--icon-tile-highlight), inset 0 -1px 0 var(--icon-tile-shadow), 2px 2px 0 var(--shadow-offset);text-align:center;width:min(280px,100% - 16px);color:var(--herald-fg);font-family:var(--font-system);outline:none;padding:18px 16px 16px;position:relative}.herald-close{width:24px;height:24px;font-family:var(--font-system);color:var(--herald-fg);opacity:.55;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:15px;line-height:1;transition:opacity .18s;display:inline-flex;position:absolute;top:6px;right:6px}@media (hover:hover){.herald-close:hover{opacity:.9}}.herald-close:focus-visible{outline:1px dotted var(--herald-fg);outline-offset:2px;opacity:.9}.herald-icon-wrap{width:72px;height:72px;margin:0 auto 12px;position:relative;overflow:hidden}.herald-icon{width:100%;height:100%;filter:blur(var(--arcade-blur));display:block}.herald-title{margin-bottom:6px;font-size:13px;font-weight:600}.herald-title-text{line-height:1;display:inline-block}.herald-description{opacity:.8;margin:0;font-size:12px}.snake-description{opacity:.8;font-size:12px;font-family:var(--font-mono);color:var(--herald-fg);margin:0}.snake-flow-letter{text-align:center;width:8px;transition:opacity .6s,transform .6s;transition-delay:var(--engrave-delay,0s);display:inline-block;transform:scale(1)}.snake-flow-letter--eaten{opacity:0;transition:opacity .2s,transform .2s;transform:scale(.85)}.snake-flow-letter--respawn{animation:.28s steps(4,end) backwards snake-letter-scramble-tear;animation-delay:var(--engrave-delay,0s)}@keyframes snake-letter-scramble-tear{0%{text-shadow:1px 0 var(--herald-fg);transform:translate(1px)}25%{text-shadow:-1px 0 var(--herald-fg);transform:translate(-1px)}50%{text-shadow:1px 0 var(--herald-fg);transform:translate(1px)}75%{text-shadow:none;transform:translate(0)}to{text-shadow:none;transform:translate(0)}}.snake-trail{vertical-align:baseline;width:8px;height:5px;margin:0;display:inline-block;position:relative}.snake-trail--clickable{cursor:pointer}.snake-trail--clickable:after{content:"";position:absolute;inset:-4px -19px -4px -4px}.snake-inline{vertical-align:baseline;background-color:#0000;width:5px;height:5px;margin:0;display:inline-block}.snake-inline--awakening{background-color:var(--herald-fg);opacity:.7;transform:scale(.6)}.snake-inline--idle{background-color:var(--snake-color);opacity:1;transform:scale(.625)}.snake-trail .snake-inline{position:absolute;top:0;left:2px}.snake-inline-0.snake-inline--idle,.snake-inline-1.snake-inline--idle{animation:snake-dot-glitch-in .28s steps(4, end) forwards, snake-dot-grow .12s ease-out forwards, snake-wiggle var(--snake-wave-speed) ease-in-out infinite;left:2px}.snake-inline-1.snake-inline--idle{left:10px}.snake-inline-2.snake-inline--idle{animation:snake-dot-glitch-in-head .28s steps(4, end) forwards, snake-dot-grow .12s ease-out forwards, snake-wiggle var(--snake-wave-speed) ease-in-out infinite;background:0 0;border-radius:0;left:18px}.snake-inline-2.snake-inline--idle:after{content:"";border:1px solid var(--snake-sonar-color,var(--snake-color));pointer-events:none;animation:snake-head-sonar var(--snake-sonar-speed,1.8s) ease-out infinite;background:0 0;border-radius:50%;animation-delay:.4s;position:absolute;inset:0}.snake-inline-2.snake-inline--idle:before{content:"";border:1px solid var(--snake-sonar-color2,var(--snake-contrast));pointer-events:none;animation:snake-head-sonar var(--snake-sonar-speed,1.8s) ease-out infinite;animation-delay:calc(.4s + var(--snake-sonar-speed,1.8s) / 2);background:0 0;border-radius:50%;position:absolute;inset:0}@keyframes snake-head-sonar{0%{opacity:var(--snake-sonar-opacity,.7);transform:scale(1.6)}to{transform:scale(var(--snake-sonar-max-scale,4.8));opacity:0}}.snake-inline-1.snake-inline--spacer,.snake-inline-2.snake-inline--spacer{display:none}@keyframes snake-dot-glitch-in{0%{opacity:0;background-color:var(--snake-color);transform:translate(1px)scale(.5)}25%{opacity:1;background-color:var(--snake-color);transform:translate(-1px)scale(.5)}50%{opacity:0;background-color:var(--snake-color);transform:translate(1px)scale(.5)}75%{opacity:.6;background-color:var(--snake-color);transform:translate(0)scale(.5)}to{opacity:1;background-color:var(--snake-color);transform:translate(0)scale(.5)}}@keyframes snake-dot-glitch-in-head{0%{opacity:0;color:var(--snake-color);transform:translate(1px)scale(.5)}25%{opacity:1;color:var(--snake-color);transform:translate(-1px)scale(.5)}50%{opacity:0;color:var(--snake-color);transform:translate(1px)scale(.5)}75%{opacity:.6;color:var(--snake-color);transform:translate(0)scale(.5)}to{opacity:1;color:var(--snake-color);transform:translate(0)scale(.5)}}@keyframes snake-dot-grow{0%{transform:scale(.5)}to{transform:scale(.625)}}.snake-inline--spacer{opacity:0;background-color:#0000;animation:none;transform:none}.snake-play{pointer-events:none;font-family:var(--font-mono);font-size:9px;line-height:8px;position:absolute;inset:0}.snake-hint{background:linear-gradient(180deg, var(--icon-tile-top) 0%, var(--icon-tile-bottom) 100%);font-family:var(--font-mono);letter-spacing:2px;color:color-mix(in srgb, var(--herald-fg) 55%, transparent);text-shadow:0 1px 0 var(--icon-tile-highlight);white-space:nowrap;opacity:0;pointer-events:none;border-radius:4px 16px 16px;padding:6px 14px;font-size:10px;animation:3.5s ease-out forwards snake-hint-flash;position:absolute;bottom:-38px;right:-8px;transform:translateY(4px);box-shadow:0 4px 10px #0000001c}@keyframes snake-hint-flash{0%{opacity:0;transform:translateY(4px)}10%{opacity:1;transform:translateY(0)}90%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(4px)}}.snake-letter{text-align:center;width:8px;height:8px;color:var(--herald-fg);opacity:.85;pointer-events:none;user-select:none;transition:opacity .2s;position:absolute}.snake-letter--eaten{opacity:0}.snake-cell{pointer-events:none;user-select:none;position:absolute}.snake-cell--block.snake-cell--invert{background:var(--snake-contrast)}.snake-cell--head.snake-cell--invert{color:var(--snake-contrast);background:0 0}.snake-cell--shimmer{animation:snake-cell-shimmer var(--arcade-shimmer-speed) linear infinite}@keyframes snake-cell-shimmer{0%,to{filter:brightness()}50%{filter:brightness(2)}}.snake-cell--block{background:var(--snake-color);width:5px;height:5px;animation:.1s ease-out backwards snake-cell-grow-in;animation-delay:var(--enter-delay,0s)}@keyframes snake-cell-grow-in{0%{opacity:0}to{opacity:1}}.snake-cell--head{color:var(--snake-color);background:0 0;border-radius:0}.snake-cell--head[data-direction=up]{transform:rotate(-90deg)}.snake-cell--head[data-direction=down]{transform:rotate(90deg)}.snake-cell--head[data-direction=left]{transform:scaleX(-1)}.snake-head-svg{transform-origin:50%;width:100%;height:100%;display:block;transform:scale(1.4)}.snake-cell-glitch{background:var(--snake-color);pointer-events:none;opacity:0;transform-origin:0;height:1px;animation:.36s steps(4,end) forwards snake-cell-glitch-flicker;animation-delay:var(--glitch-delay,0s);position:absolute}@keyframes snake-cell-glitch-flicker{0%{opacity:0}25%{opacity:1}50%{opacity:0}75%{opacity:1}to{opacity:0}}.snake-frag{background:var(--snake-color);pointer-events:none;width:2.5px;height:2.5px;animation:1s steps(5,end) forwards snake-frag-fall;animation-delay:var(--frag-delay,0s);border-radius:50%;position:absolute}@keyframes snake-frag-fall{0%{opacity:1;transform:translate(0)rotate(0)}50%{opacity:0}to{transform:translate(var(--frag-dx,0px), var(--frag-dy,0px)) rotate(var(--frag-rot,0deg));opacity:0}}.mobile-shell{background:var(--wallpaper);font-family:var(--font-system);color:var(--desktop-fg);flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.mobile-window{background:var(--window-body);border:1px solid var(--window-border);box-shadow:0 1px 2px color-mix(in srgb, var(--window-shadow) 28%, transparent), 0 6px 16px color-mix(in srgb, var(--window-shadow) 14%, transparent);flex-direction:column;flex:1;min-height:0;margin:0 12px 12px;animation:.42s cubic-bezier(.16,1,.3,1) window-surface;display:flex;overflow:hidden}.mobile-window .window-titlebar{cursor:default}.mobile-home{flex:1;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));align-content:start;justify-items:center;gap:16px;padding:24px 16px;display:grid;overflow-y:auto}.mobile-home-icon{cursor:pointer;color:inherit;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;align-items:center;gap:6px;padding:8px;font-family:inherit;text-decoration:none;transition:opacity .5s;display:flex}.mobile-home-icon:active{opacity:.75;transition-duration:40ms}.mobile-home-icon .icon-tile{width:72px;height:72px}.mobile-home-icon .icon-label{text-align:center;overflow-wrap:anywhere;max-width:100%;font-size:13px;line-height:1.25}.mobile-system-bar{padding:8px 16px calc(8px + env(safe-area-inset-bottom));background:var(--desktop-bg);border-top:1px solid color-mix(in srgb, var(--window-border) 40%, transparent);justify-content:center;gap:12px;display:flex}.mobile-home-button{background:var(--window-body);border:1px solid var(--window-border);box-shadow:0 1px 2px color-mix(in srgb, var(--window-shadow) 28%, transparent), 0 3px 10px color-mix(in srgb, var(--window-shadow) 12%, transparent);color:var(--window-body-fg);cursor:pointer;-webkit-tap-highlight-color:transparent;padding:8px 28px;font-family:inherit;font-size:13px;transition:opacity .5s}.mobile-home-button:active{opacity:.75;transition-duration:40ms}.settings-body{padding:var(--space-2);gap:var(--space-2);background:var(--window-body);font-family:var(--font-system);color:var(--window-body-fg);flex-direction:column;display:flex}.settings-nav{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.settings-nav-item{width:100%;color:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:12px;font-family:inherit;transition:background-color .55s,color .55s;display:flex}.settings-nav-item:not(:last-child){border-bottom:1px solid color-mix(in srgb, var(--list-separator) 45%, transparent)}@media (hover:hover){.settings-nav-item:hover{background:var(--hover-bg);color:var(--hover-fg);transition-duration:90ms}}.settings-nav-label{flex-direction:column;gap:2px;display:flex}.settings-nav-name{font-size:13px;font-weight:600}.settings-nav-description{opacity:.7;font-size:11px}.settings-nav-chevron{opacity:.5;font-size:14px}.settings-breadcrumb{align-items:center;gap:var(--space-1);width:100%;padding:0 0 var(--space-1);border:none;border-bottom:1px solid var(--list-separator);color:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;font-family:inherit;display:flex}.settings-back{font-size:12px;line-height:1}@media (hover:hover){.settings-breadcrumb:hover{opacity:.7}}.settings-breadcrumb:focus-visible{outline:1px dotted var(--window-body-fg);outline-offset:2px}.settings-breadcrumb-current{letter-spacing:.04em;opacity:.7;font-size:12px;font-weight:600}.settings-section{gap:var(--space-1);flex-direction:column;display:flex}.settings-section-title{letter-spacing:.06em;text-transform:uppercase;color:var(--window-body-fg);opacity:.7;margin:0;font-size:11px;font-weight:600}@keyframes settings-appearance-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes settings-fade-only{0%{opacity:0}to{opacity:1}}@keyframes theme-tile-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.settings-appearance{animation:.24s cubic-bezier(.16,1,.3,1) both settings-appearance-in}.settings-appearance .box-card{animation:.3s cubic-bezier(.16,1,.3,1) both theme-tile-in;animation-delay:calc(var(--tile-index,0) * 40ms)}@media (prefers-reduced-motion:reduce){.settings-appearance{animation:.16s ease-out both settings-fade-only}.settings-appearance .box-card{animation:none}}.box-grid{grid-template-columns:repeat(2, minmax(0, var(--box-grid-cell)));gap:var(--box-grid-gap);justify-content:center;display:grid}.box-card{cursor:pointer;aspect-ratio:1;-webkit-tap-highlight-color:transparent;box-shadow:inset 0 0 0 1px color-mix(in srgb, currentColor 16%, transparent), inset 0 0 0 0 currentColor;border:none;justify-content:center;align-items:center;padding:0;font-family:inherit;transition:box-shadow .16s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden;container-type:inline-size}.box-card-active{box-shadow:inset 0 0 0 1px color-mix(in srgb, currentColor 16%, transparent), inset 0 0 0 2px currentColor}@media (hover:hover){.box-card:not(.box-card-active):hover{box-shadow:inset 0 0 0 1px color-mix(in srgb, currentColor 34%, transparent)}}.box-card-wordmark{font-family:var(--font-display);letter-spacing:normal;opacity:.8;text-align:left;font-size:16cqw;line-height:1.05;position:absolute;bottom:7px;left:8px;right:8px}.box-card-mark{opacity:.8;pointer-events:none;width:42%;height:auto;display:block;position:absolute;bottom:7px;left:8px}.box-card-mark--wide{width:56%}.theme-transitioning,.theme-transitioning *{transition:background-color 2s cubic-bezier(.4,0,.2,1),color 2s cubic-bezier(.4,0,.2,1),border-color 2s cubic-bezier(.4,0,.2,1),box-shadow 2s cubic-bezier(.4,0,.2,1),fill 2s cubic-bezier(.4,0,.2,1),stroke 2s cubic-bezier(.4,0,.2,1)!important}.theme-transitioning .mark-glyph,.theme-transitioning .mark-glyph *,.theme-transitioning .mark-soul{transition:none!important}@media (width<=839px){.theme-transitioning,.theme-transitioning *{transition:background-color 2s cubic-bezier(.4,0,.2,1),color .5s cubic-bezier(.4,0,.2,1),border-color 2s cubic-bezier(.4,0,.2,1),box-shadow 2s cubic-bezier(.4,0,.2,1),fill .5s cubic-bezier(.4,0,.2,1),stroke .5s cubic-bezier(.4,0,.2,1)!important}}.box-card-accent-dot{border-radius:50%;width:6px;height:6px;position:absolute;top:6px;right:6px}.update-notification{width:min(var(--uc-width,200px), calc(100vw - 24px));z-index:9000;background:linear-gradient(180deg, rgba(232, 232, 232, var(--uc-bg-top-alpha,.78)) 0%, rgba(200, 200, 200, var(--uc-bg-bottom-alpha,.72)) 100%);-webkit-backdrop-filter:blur(var(--uc-blur,14px)) saturate(var(--uc-saturate,150%));color:#1a1a1a;box-shadow:inset 0 0 0 1px color-mix(in srgb, currentColor var(--uc-border-pct,22%), transparent), inset 0 1px 0 rgba(255, 255, 255, var(--uc-highlight-alpha,.45)), 0 var(--uc-shadow-y,10px) var(--uc-shadow-blur,28px) rgba(0, 0, 0, var(--uc-shadow-alpha,.22));padding:var(--uc-pad-y,8px) var(--uc-pad-x,10px);font-family:var(--font-system);border:none;flex-direction:column;display:flex;position:fixed;top:36px;right:12px}.update-notification-headline{letter-spacing:.1em;text-transform:uppercase;opacity:var(--uc-headline-opacity,.6);margin-bottom:6px;font-size:9px;font-weight:600}.update-notification-message{font-size:var(--uc-message-font,11px);letter-spacing:.02em;color:var(--uc-message-color,#3a3a3a);text-shadow:0 1px 0 rgba(255, 255, 255, var(--uc-text-shadow-alpha,.5));margin:0;line-height:1.5}.update-notification-actions{justify-content:flex-end;display:flex}.update-notification-button{width:16px;height:16px;box-shadow:inset 0 0 0 1px color-mix(in srgb, currentColor 18%, transparent), inset 0 1px 0 #ffffff4d;color:#3a3a3a;opacity:.55;cursor:pointer;background:linear-gradient(#f8f8f873 0%,#c8c8c859 100%);border:none;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:12px;line-height:1;transition:opacity .28s cubic-bezier(.4,0,.2,1),box-shadow .28s cubic-bezier(.4,0,.2,1),background .28s cubic-bezier(.4,0,.2,1);display:inline-flex;position:absolute;top:6px;right:6px}.update-notification-button:after{content:"";position:absolute;inset:-4px}@media (hover:hover){.update-notification-button:hover{opacity:.9;background:linear-gradient(#ffffff8c 0%,#d8d8d873 100%)}}.update-notification-button:active{box-shadow:inset 0 0 0 1px color-mix(in srgb, currentColor 20%, transparent), inset 0 1px 0 #0000001a;background:linear-gradient(#c8c8c880 0%,#d8d8d873 100%)}.patch-notification{z-index:9000;background:linear-gradient(180deg, var(--menubar-top) 0%, var(--menubar-bottom) 100%);color:var(--menubar-fg);box-shadow:inset 0 0 0 1px color-mix(in srgb, currentColor 22%, transparent), inset 0 1px 0 #ffffff1a, 0 8px 22px #00000038;font-family:var(--font-system);border:none;flex-direction:row;align-items:center;gap:10px;padding:6px 6px 6px 10px;display:flex;position:fixed;top:130px;right:12px}.patch-notification-headline{letter-spacing:.12em;text-transform:uppercase;opacity:.7;font-size:9px;font-weight:500}.patch-notification-button{background:linear-gradient(180deg, var(--cta-top) 0%, var(--cta-bottom) 100%);width:12px;height:12px;box-shadow:inset 0 0 0 1px color-mix(in srgb, currentColor 25%, transparent), inset 0 1px 0 var(--cta-highlight);color:var(--menubar-fg);opacity:.55;cursor:pointer;border:none;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:9px;line-height:1;transition:opacity .28s cubic-bezier(.4,0,.2,1),box-shadow .28s cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative}.patch-notification-button:after{content:"";position:absolute;inset:-6px}@media (hover:hover){.patch-notification-button:hover{opacity:.9}}.patch-notification-button:active{box-shadow:inset 0 0 0 1px color-mix(in srgb, currentColor 25%, transparent), inset 0 1px 0 var(--cta-shadow)}@media (width<=839px){.update-notification{top:auto;bottom:calc(60px + env(safe-area-inset-bottom))}.patch-notification{top:auto;bottom:calc(160px + env(safe-area-inset-bottom))}.music-deck{gap:8px;padding:10px 12px 12px}.music-transport{gap:14px}.music-btn{width:44px;height:36px;font-size:18px}.music-btn-primary{font-size:22px}.music-volume{display:none}}.theme-editor-toggle{z-index:10000;background:var(--window-chrome);color:var(--window-chrome-fg);border:1px solid var(--window-border);font-family:var(--font-mono);cursor:pointer;-webkit-tap-highlight-color:transparent;padding:6px 12px;font-size:11px;position:fixed;bottom:12px;right:12px}.theme-editor{z-index:10000;background:var(--window-body);width:320px;max-height:70vh;color:var(--window-body-fg);border:1px solid var(--window-border);box-shadow:4px 4px 0 0 var(--shadow-offset);font-family:var(--font-mono);flex-direction:column;font-size:11px;display:flex;position:fixed;bottom:12px;right:12px}.theme-editor-header{background:var(--window-chrome);color:var(--window-chrome-fg);border-bottom:1px solid var(--window-border);justify-content:space-between;align-items:center;padding:6px 10px;display:flex}.theme-editor-title{font-weight:600}.theme-editor-close{color:inherit;cursor:pointer;background:0 0;border:none;padding:0 4px;font-family:inherit;font-size:14px}.theme-editor-actions{border-bottom:1px solid var(--list-separator);gap:6px;padding:6px 10px;display:flex}.theme-editor-actions button{border:1px solid var(--list-separator);color:inherit;cursor:pointer;background:0 0;padding:3px 8px;font-family:inherit;font-size:10px}.theme-editor-tokens{flex-direction:column;flex:1;gap:4px;padding:6px 10px;display:flex;overflow-y:auto}.theme-editor-token{align-items:center;gap:6px;display:flex}.theme-editor-token-name{opacity:.7;flex-shrink:0;width:120px;font-size:10px}.theme-editor-token input[type=text]{background:var(--surface-muted-bg);min-width:0;color:var(--window-body-fg);border:1px solid var(--list-separator);flex:1;padding:2px 4px;font-family:inherit;font-size:10px}.theme-editor-token-swatch{border:1px solid var(--list-separator);cursor:pointer;background:0 0;flex-shrink:0;width:22px;height:22px;padding:0}.theme-editor-token-swatch::-webkit-color-swatch-wrapper{padding:0}.theme-editor-token-swatch::-webkit-color-swatch{border:none}.theme-editor-token-swatch-readonly{cursor:default;opacity:.6;display:inline-block}.theme-editor-token-reset{border:1px solid var(--list-separator);width:22px;height:22px;color:var(--window-body-fg);cursor:pointer;background:0 0;flex-shrink:0;padding:0;font-family:inherit;font-size:12px;line-height:1}.theme-editor-token-reset:hover{background:var(--hover-bg);color:var(--hover-fg)}.spectrum-editor-toggle{z-index:10000;background:var(--window-chrome);color:var(--window-chrome-fg);border:1px solid var(--window-border);font-family:var(--font-mono);cursor:pointer;-webkit-tap-highlight-color:transparent;padding:6px 12px;font-size:11px;position:fixed;bottom:12px;left:12px}.spectrum-editor{z-index:10000;background:var(--window-body);width:300px;max-height:70vh;color:var(--window-body-fg);border:1px solid var(--window-border);box-shadow:4px 4px 0 0 var(--shadow-offset);font-family:var(--font-mono);flex-direction:column;font-size:11px;display:flex;position:fixed;bottom:12px;left:12px}.spectrum-editor-header{background:var(--window-chrome);color:var(--window-chrome-fg);border-bottom:1px solid var(--window-border);justify-content:space-between;align-items:center;padding:6px 10px;display:flex}.spectrum-editor-title{font-weight:600}.spectrum-editor-close{color:inherit;cursor:pointer;background:0 0;border:none;padding:0 4px;font-family:inherit;font-size:14px}.spectrum-editor-actions{border-bottom:1px solid var(--list-separator);gap:6px;padding:6px 10px;display:flex}.spectrum-editor-actions button{border:1px solid var(--list-separator);color:inherit;cursor:pointer;background:0 0;padding:3px 8px;font-family:inherit;font-size:10px}.spectrum-editor-tokens{flex-direction:column;flex:1;gap:4px;padding:6px 10px;display:flex;overflow-y:auto}.spectrum-editor-token{grid-template-columns:90px 1fr 36px;align-items:center;gap:6px;display:grid}.spectrum-editor-token-name{opacity:.7;font-size:10px}.spectrum-editor-token-value{opacity:.85;text-align:right;font-variant-numeric:tabular-nums;font-size:10px}.spectrum-editor-token input[type=range]{cursor:pointer;width:100%}.error-backdrop{background:color-mix(in srgb, color-mix(in srgb, var(--window-shadow) 60%, #000) 45%, transparent);-webkit-backdrop-filter:blur(3px);z-index:9998;animation:.2s ease-out backdrop-fade-in;position:fixed;inset:0}.error-dialog{background:var(--window-body);border:1px solid var(--window-border);box-shadow:6px 6px 0 0 var(--shadow-offset);z-index:9999;min-width:280px;max-width:400px;font-family:var(--font-system);color:var(--window-body-fg);flex-direction:column;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.error-dialog .window-titlebar{background:var(--error-red);color:#f5ecd9}.error-body{flex-direction:column;gap:16px;padding:16px;display:flex}.error-message-row{align-items:flex-start;gap:12px;display:flex}.error-icon{color:var(--error-red);flex-shrink:0;font-size:28px;line-height:1}.error-message{flex:1;margin:0;font-size:13px;line-height:1.5}.error-actions{justify-content:flex-end;display:flex}.error-button{background:var(--window-body);color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;border:1px solid #333;padding:6px 24px;font-family:inherit;font-size:13px;box-shadow:2px 2px #0000004d}@keyframes discord-dialog-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.96)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes backdrop-fade-in{0%{opacity:0}to{opacity:1}}@keyframes discord-copied-pop{50%{transform:scale(1.008)}}.discord-dialog{background:var(--window-body);border:1px solid var(--window-border);width:calc(100% - 2rem);max-width:320px;box-shadow:0 1px 2px color-mix(in srgb, var(--window-shadow) 26%, transparent), 0 8px 18px color-mix(in srgb, var(--window-shadow) 13%, transparent), 0 28px 56px color-mix(in srgb, var(--window-shadow) 7%, transparent);z-index:9999;font-family:var(--font-system);color:var(--window-body-fg);flex-direction:column;animation:.24s cubic-bezier(.16,1,.3,1) discord-dialog-in;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.discord-dialog-close{width:24px;height:24px;color:color-mix(in srgb, var(--window-body-fg) 55%, transparent);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;transition:color .12s;display:flex;position:absolute;top:6px;right:6px}@media (hover:hover){.discord-dialog-close:hover{color:var(--window-body-fg)}}.discord-dialog-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.discord-dialog-body{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:32px 24px 24px;display:flex}.discord-copybox{border:1px solid color-mix(in srgb, var(--terminal-fg) 22%, transparent);background:var(--terminal-bg);width:100%;color:var(--terminal-fg);box-shadow:0 1px 2px color-mix(in srgb, var(--window-shadow) 24%, transparent), 0 4px 10px color-mix(in srgb, var(--window-shadow) 12%, transparent);font-family:var(--font-mono);text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;align-items:center;gap:12px;padding:12px 14px;font-size:14px;display:flex}.discord-dialog:focus{outline:none}.discord-copybox:focus-visible,.discord-open-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.discord-at{color:var(--window-body-fg-muted);-webkit-user-select:none;user-select:none;font-weight:400}.discord-copybox--copied .discord-copybox-action{color:var(--accent)}.discord-copybox--copied{animation:.18s ease-out discord-copied-pop}@media (prefers-reduced-motion:reduce){.discord-dialog,.discord-copybox--copied{animation:none}}.discord-copybox-handle{text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:text;user-select:text;flex:1;min-width:0;font-weight:600;overflow:hidden}.discord-copybox-prompt:before{content:"$ ";opacity:.35;font-weight:400}.discord-dialog ::selection{background:var(--accent);color:var(--hover-fg)}.discord-copybox-action{color:var(--window-body-fg-muted);letter-spacing:.12em;flex:none;font-size:12px;transition:color .12s}@media (hover:hover){.discord-copybox:not(.discord-copybox--copied):hover .discord-copybox-action{color:var(--terminal-fg)}}.discord-copybox:active .discord-copybox-action{color:var(--accent)}.discord-open-link{font-family:var(--font-mono);letter-spacing:.12em;opacity:.7;color:inherit;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:color-mix(in srgb, currentColor 40%, transparent);font-size:12px;transition:opacity .12s,text-decoration-color .12s}@media (hover:hover){.discord-open-link:hover{opacity:1;text-decoration-color:currentColor}}.oz-coin{cursor:pointer;z-index:9000;-webkit-tap-highlight-color:transparent;background:0 0;border:none;width:64px;height:64px;padding:0;position:fixed;top:36px;right:12px}.oz-coin img{width:100%;height:100%;animation:12s linear infinite oz-coin-spin;display:block}@keyframes oz-coin-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}html:has(body.full-bleed){background:var(--wallpaper)}html:has(body.doc-page){background:var(--window-body)}body.doc-page{background:var(--window-body);color:var(--window-body-fg);min-height:100vh}html:has(.project-index),body.doc-page:has(.project-index){background:linear-gradient(var(--doc-scrim), var(--doc-scrim)), var(--wallpaper)}@keyframes doc-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes doc-fade{0%{opacity:0}to{opacity:1}}body.doc-page .manual{font-family:var(--font-prose);animation:.32s cubic-bezier(.16,1,.3,1) 60ms both doc-enter}@media (prefers-reduced-motion:reduce){body.doc-page .manual,.doc-nav{animation:none}}.manual-index{border-bottom:1px solid var(--list-separator);max-width:64ch;font-family:var(--font-mono);margin:0 auto 1.75rem;padding:0 0 1.1rem;font-size:13px;line-height:1.4}.manual-index-label{letter-spacing:.06em;color:var(--window-body-fg-muted);margin:0 0 6px;padding-left:8px;font-size:11px}.manual-index-list,.manual-index-subs{margin:0;padding:0;list-style:none}.manual-index-list{border-left:1px solid var(--list-separator);margin-left:8px}.manual-index-item+.manual-index-item{margin-top:1px}.manual-index a,.manual-index-h2{color:var(--window-body-fg);cursor:pointer;border-radius:var(--radius-sm);padding:4px 10px 4px 12px;text-decoration:none;transition:background-color .55s,color .55s;display:block;position:relative}.manual-index-h2{flex:1;min-width:0;font-weight:500}.manual-index-subs-wrap{opacity:0;visibility:hidden;grid-template-rows:0fr;transition:grid-template-rows .24s cubic-bezier(.16,1,.3,1),opacity .2s,visibility 0s linear .24s;display:grid}.manual-index-group.is-open .manual-index-subs-wrap{opacity:1;visibility:visible;grid-template-rows:1fr;transition:grid-template-rows .24s cubic-bezier(.16,1,.3,1),opacity .2s,visibility}.manual-index-subs{min-height:0;padding-left:14px;overflow:hidden}.manual-index-subs a{color:var(--window-body-fg-muted);font-size:12px}.manual-index-h2row{border-radius:var(--radius-sm);align-items:center;transition:background-color .55s;display:flex}.manual-index-toggle{border-radius:var(--radius-sm);width:28px;height:26px;color:var(--window-body-fg-muted);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;transition:color .55s;display:flex}.manual-index-toggle svg{width:12px;height:12px;transition:transform .24s cubic-bezier(.16,1,.3,1)}@media (prefers-reduced-motion:reduce){.manual-index-subs-wrap,.manual-index-toggle svg{transition:none}}.manual-index-toggle[aria-expanded=true] svg{transform:rotate(90deg)}@media (hover:hover){.manual-index-h2row:hover,.manual-index-leaf a:hover,.manual-index-subs a:hover{background:var(--hover-bg);transition-duration:90ms}.manual-index-h2row:hover .manual-index-h2,.manual-index-h2row:hover .manual-index-toggle,.manual-index-leaf a:hover,.manual-index-subs a:hover{color:var(--hover-fg);transition-duration:90ms}}.manual-doc :is(h1,h2,h3,h4){font-family:var(--font-mono);scroll-margin-top:4rem}@media (prefers-reduced-motion:no-preference){html:has(body.doc-page){scroll-behavior:smooth}}.doc-nav{z-index:2;background:linear-gradient(180deg, var(--window-chrome) 0%, color-mix(in srgb, var(--window-chrome) 92%, #000) 100%);border-bottom:1px solid var(--window-border);animation:.3s both doc-fade;position:sticky;top:0;box-shadow:inset 0 1px #ffffff1f}.doc-nav-inner{align-items:center;gap:10px;min-height:30px;margin:0 auto;padding:0 10px;display:flex}.doc-nav-close{background:var(--close-bg);width:16px;height:16px;color:var(--close-fg);border:1px solid var(--window-border);flex-shrink:0;justify-content:center;align-items:center;font-size:13px;line-height:1;text-decoration:none;transition:background-color .4s,color .4s;display:inline-flex;position:relative}@media (hover:hover){.doc-nav-close:hover{background:var(--close-hover-bg);color:var(--close-hover-fg);transition-duration:60ms}}.doc-nav-close:after{content:"";position:absolute;inset:-6px}.doc-nav-crumb{min-width:0;font-family:var(--font-mono);letter-spacing:.02em;align-items:center;gap:6px;font-size:.8rem;display:flex;overflow:hidden}.doc-nav-link{color:color-mix(in srgb, var(--window-chrome-fg) 68%, transparent);white-space:nowrap;text-decoration:none}@media (hover:hover){.doc-nav-link:hover{color:var(--window-chrome-fg)}}.doc-nav-sep{color:var(--window-chrome-fg);opacity:.4}.doc-nav-current{color:var(--window-chrome-fg);white-space:nowrap;font-weight:600}.doc-nav-themes{flex-shrink:0;align-items:center;gap:6px;margin-left:auto;display:flex}@media (width<=600px){.doc-nav-inner{gap:8px}.doc-nav-crumb>.doc-nav-link:not(:first-child),.doc-nav-crumb>.doc-nav-link:not(:first-child)+.doc-nav-sep{display:none}.doc-nav-current{text-overflow:ellipsis;overflow:hidden}html:has(.project-index),body.doc-page:has(.project-index){background:var(--window-body)}body.doc-page .manual{padding:var(--space-4) var(--space-3)}body.doc-page .project-index{width:100%;padding:var(--space-4) var(--space-3);box-shadow:none;border:none;border-radius:0;margin:0 auto}}.theme-swatch{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;padding:0;display:inline-flex}.theme-swatch:before{content:"";background:var(--sw-bg);border:1px solid color-mix(in srgb, var(--window-body-fg) 35%, transparent);border-radius:50%;width:13px;height:13px;transition:transform .4s}@media (hover:hover){.theme-swatch:hover:before{transition-duration:.12s;transform:scale(1.18)}}.theme-swatch:focus-visible{outline:1px dotted var(--window-body-fg);outline-offset:2px}.theme-swatch.is-active:before{box-shadow:0 0 0 2px var(--window-body), 0 0 0 3px var(--window-body-fg)}.manual{max-width:64ch;padding:var(--space-6) var(--space-3);margin:0 auto;line-height:1.65}.manual-doc{overflow-wrap:break-word}.manual-doc img{max-width:100%;height:auto}.manual-doc>:first-child{margin-top:0}.manual-doc h1{letter-spacing:-.01em;margin:0 0 var(--space-4);font-size:1.7rem;font-weight:600}.manual-doc h2{margin:var(--space-6) 0 var(--space-2);padding-top:var(--space-3);border-top:1px solid color-mix(in srgb, var(--list-separator) 50%, transparent);font-size:1.25rem;font-weight:600}.manual-doc hr+h2{margin-top:var(--space-4);border-top:none;padding-top:0}.manual-doc h3{margin:var(--space-4) 0 var(--space-1);font-size:1.1rem;font-weight:600}.manual-doc p{margin:0 0 var(--space-3)}.manual-doc a{color:inherit;border-bottom:1px solid color-mix(in srgb, currentColor 45%, transparent);text-decoration:none}@media (hover:hover){.manual-doc a:hover{opacity:.75}}.manual-doc ul,.manual-doc ol{margin:0 0 var(--space-3);padding-left:var(--space-3)}.manual-doc li{margin-bottom:.35em}.manual-doc p,.manual-doc li{font-family:var(--font-prose)}.manual-doc strong{color:inherit;background:color-mix(in srgb, var(--accent) 13%, transparent);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:3px;padding:.02em .28em;font-weight:400}.manual-doc :not(pre)>code{font-family:var(--font-mono);background:color-mix(in srgb, var(--window-body-fg) 12%, transparent);border-radius:var(--radius-sm);padding:.1em .4em;font-size:.85em}:root{--astro-code-background:color-mix(in srgb, var(--terminal-fg) 6%, var(--terminal-bg));--astro-code-foreground:var(--terminal-fg);--astro-code-token-comment:#8b949e;--astro-code-token-punctuation:color-mix(in srgb, var(--terminal-fg) 80%, var(--terminal-bg));--astro-code-token-keyword:#ff7b72;--astro-code-token-function:#d2a8ff;--astro-code-token-constant:#79c0ff;--astro-code-token-parameter:#ffa657;--astro-code-token-string:var(--accent);--astro-code-token-string-expression:var(--accent);--astro-code-token-link:var(--accent)}.manual-doc pre{margin:0 0 var(--space-3);padding:var(--space-2);border:1px solid var(--list-separator);border-radius:var(--radius-md);white-space:pre;max-width:100%;font-size:.82rem;line-height:1.5;overflow-x:auto;box-shadow:inset 1px 1px #00000080}.manual-doc pre::-webkit-scrollbar{height:10px}.manual-doc pre::-webkit-scrollbar-thumb{background:color-mix(in srgb, currentColor 45%, transparent);border-radius:var(--radius-md)}.manual-doc pre code{font-family:var(--font-mono);white-space:inherit}.manual-doc hr{border:none;border-top:1px solid color-mix(in srgb, var(--list-separator) 50%, transparent);margin:var(--space-4) 0}.manual-doc blockquote{margin:0 0 var(--space-3);padding-left:var(--space-2);border-left:2px solid var(--list-separator);color:var(--window-body-fg-muted)}.manual-doc table{border-collapse:collapse;width:max-content;max-width:100%;margin:0 0 var(--space-3);font-size:.9rem;display:block;overflow-x:auto}.manual-doc th,.manual-doc td{text-align:left;border:1px solid var(--list-separator);padding:.4em .6em}.manual-doc th{border-bottom:2px solid var(--list-separator);font-weight:600}.manual-footer{max-width:64ch;margin:var(--space-6) auto 0;padding:var(--space-3);border-top:1px solid var(--list-separator);align-items:center;gap:var(--space-3);font-size:.9rem;display:flex}@media (width<=480px){.manual,.doc-nav-inner,.manual-footer{padding-left:var(--space-2);padding-right:var(--space-2)}.manual{font-size:.95rem}.manual-doc h1,.project-index-head h1{font-size:1.4rem}.manual-doc h2{font-size:1.15rem}.manual-doc h3{font-size:1.05rem}.project-row-name{font-size:1rem}}.manual-copy{font-family:var(--font-mono);color:var(--window-body-fg);border:1px solid var(--list-separator);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:.35em .8em;font-size:.8rem;transition:border-color .12s}@media (hover:hover){.manual-copy:hover{border-color:var(--accent)}}.back-to-top{right:calc(var(--space-3) + env(safe-area-inset-right,0px));bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px));z-index:3;border:1px solid var(--list-separator);background:var(--window-body);width:44px;height:44px;color:var(--window-body-fg);cursor:pointer;opacity:0;pointer-events:none;border-radius:50%;place-items:center;transition:opacity .26s,transform .26s cubic-bezier(.16,1,.3,1),border-color .12s,color .12s;display:grid;position:fixed;transform:translateY(8px)}.back-to-top.is-visible{opacity:1;pointer-events:auto;transform:none}.back-to-top svg{width:18px;height:18px}@media (hover:hover){.back-to-top:hover{border-color:var(--accent);color:var(--accent)}}@media (prefers-reduced-motion:reduce){.back-to-top{transition:opacity .16s,border-color .12s;transform:none}}.project-index{overflow-wrap:break-word;width:calc(100% - 2 * var(--space-3));max-width:600px;margin:var(--space-6) auto;padding:var(--space-6) var(--space-4);background:var(--window-body);border:1px solid var(--window-border);box-shadow:0 1px 2px color-mix(in srgb, var(--window-shadow) 26%, transparent), 0 8px 18px color-mix(in srgb, var(--window-shadow) 13%, transparent), 0 28px 56px color-mix(in srgb, var(--window-shadow) 7%, transparent)}.project-index-head{margin-bottom:var(--space-4)}.project-index-head h1{font-family:var(--font-mono);letter-spacing:-.01em;margin:0;font-size:1.5rem;font-weight:600}.project-index-list{flex-direction:column;gap:0;list-style:none;display:flex}.project-row{align-items:start;gap:var(--space-2) var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);grid-template-columns:1fr auto;transition:background-color .55s,color .55s;display:grid;position:relative}.project-row.is-pending{color:var(--window-body-fg-muted)}.project-row:not(:last-child):after{content:"";left:var(--space-3);right:var(--space-3);border-bottom:1px solid color-mix(in srgb, var(--list-separator) 30%, transparent);position:absolute;bottom:0}a.project-row-manual:after{content:"";position:absolute;inset:0}a.project-row-manual:focus-visible:after{outline:2px solid var(--accent);outline-offset:-3px;border-radius:var(--radius-sm)}a.project-row-manual:focus-visible{outline:none}.project-row-main{align-items:baseline;gap:.8em;min-width:0;display:flex;position:relative}.project-row-name{font-family:var(--font-mono);letter-spacing:.04em;flex:none;width:7ch;margin:0;font-size:.95rem;font-weight:600}.project-row:not(.is-pending) .project-row-name{text-decoration:underline 1px;text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);text-underline-offset:3px;transition:text-decoration-color .13s}@media (hover:hover){.project-row:not(.is-pending):hover{background:var(--hover-bg);color:var(--hover-fg);transition-duration:90ms}.project-row:not(.is-pending):hover .project-row-desc{color:var(--hover-fg);transition-duration:90ms}.project-row:not(.is-pending):hover .project-row-name{text-decoration-color:currentColor}}.project-row-desc{font-family:var(--font-mono);color:var(--window-body-fg-muted);text-indent:-1em;flex:1;min-width:0;margin:0;padding-left:1em;font-size:.8rem;transition:color .55s}.project-row-desc:before{content:"▪" / "";opacity:.5;margin-right:.4em}.project-row-action{white-space:nowrap;padding-top:.15em;font-size:.85rem}.project-row-action .arrow-link-arrow{width:1.15em;height:1.15em}span.project-row-manual.is-pending{font-family:var(--font-mono);letter-spacing:.06em;color:var(--window-body-fg-muted);font-size:.7rem}.arrow-link{color:inherit;align-items:center;gap:.3em;text-decoration:none;display:inline-flex}.arrow-link-text{border-bottom:1px solid color-mix(in srgb, currentColor 45%, transparent);transition:border-color .16s}.arrow-link-arrow{flex:none;width:1em;height:1em;transition:transform .18s cubic-bezier(.34,1.56,.64,1)}.arrow-link:active .arrow-link-arrow{transition-duration:.11s;transform:translate(7px)}@media (hover:hover){.arrow-link:hover .arrow-link-text{border-color:color-mix(in srgb, currentColor 80%, transparent)}.arrow-link:hover .arrow-link-arrow{transform:translate(2px)}}@media (prefers-reduced-motion:reduce){.arrow-link-arrow,.project-row-name{transition:none}.arrow-link:hover .arrow-link-arrow,.arrow-link:active .arrow-link-arrow,.project-row:not(.is-pending):hover .arrow-link-arrow,.project-row:not(.is-pending):hover .project-row-name{transform:none}}.project-row-manual.is-pending{color:var(--window-body-fg-muted);opacity:.65;cursor:not-allowed}.project-row.is-pending .project-row-main{opacity:.55}.mark-spin{transform-box:fill-box;transform-origin:50%;animation:10s linear infinite mark-spin}@keyframes mark-spin{to{transform:rotate(360deg)}}
