@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+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@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+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,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+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+1F00-1FFF}@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+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@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+0307-0308,U+0590-05FF,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+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,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+1EE00-1EEFF}@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+0001-000C,U+000E-001F,U+007F-009F,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+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,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+1F000-1F0FF,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+1F700-1F7FF,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+1FB00-1FBFF}@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+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,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+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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: #0066ff;--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:transparent}*::-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:transparent}html,body{height:100%}html{font-family:var(--font-system);font-size:100%;background:var(--prose-bg);color:var(--prose-fg);text-rendering:optimizeLegibility}body.full-bleed{overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.boot-splash{position:fixed;inset:0;z-index:0;display:flex;align-items:center;justify-content:center;pointer-events:none;background:var(--wallpaper)}.boot-orb{width:46px;height:46px;color:var(--desktop-fg);animation:cursor-pulse 1.6s ease-in-out infinite}.noscript-home{min-height:100vh;min-height:100dvh;max-width:34rem;margin:0 auto;display:flex;flex-direction:column;justify-content:center;gap:.75rem;padding:2rem 1.5rem;font-family:var(--font-system);color:var(--desktop-fg);background:var(--desktop-bg)}.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{display:flex;gap:1rem;margin-top:.5rem}.noscript-home a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}main.prose{max-width:var(--max-width);margin:0 auto;padding:var(--space-8) var(--space-3);line-height:1.6;font-weight:400;display:flex;flex-direction:column;gap:var(--space-2)}main.prose h1{font-size:1rem;font-weight:500;margin-bottom:var(--space-2)}main.prose p{margin-bottom:var(--space-3);color:var(--prose-fg)}main.prose a{color:var(--prose-accent);text-decoration:none;border-bottom:1px solid currentColor;transition:opacity .12s ease}@media(hover:hover){main.prose a:hover{opacity:.65}}main.prose ul{list-style:none}.desktop{width:100vw;height:100vh;background:var(--wallpaper);font-family:var(--font-system);color:var(--desktop-fg);overflow:hidden;position:relative;user-select:none}.menubar{height:24px;background:linear-gradient(to bottom,var(--menubar-top) 0%,var(--menubar-bottom) 100%);color:var(--menubar-fg);border-bottom:1px solid var(--menubar-border);display:flex;align-items:center;justify-content:space-between;padding:0 12px;font-family:var(--font-system);font-size:12px;font-weight:500;letter-spacing:.02em}.menubar-app{font-weight:500;letter-spacing:.1em}.menubar-date{font-variant-numeric:tabular-nums;color:var(--menubar-date)}.workspace{position:relative;width:100%;height:calc(100% - 24px)}@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:window-boot-in .76s cubic-bezier(.22,1,.36,1) both}@media(prefers-reduced-motion:reduce){.window.window--boot{animation-delay:0ms!important}}.window{position:absolute;animation:window-surface .42s cubic-bezier(.16,1,.3,1);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);display:flex;flex-direction:column;overflow:hidden}.window.window--closing{animation:window-close-out .16s cubic-bezier(.4,0,1,1) forwards;animation-delay:0!important;pointer-events:none}.window-titlebar{background:linear-gradient(180deg,var(--window-chrome) 0%,color-mix(in srgb,var(--window-chrome) 92%,#000) 100%);box-shadow:inset 0 1px #ffffff1f;color:var(--window-chrome-fg);transition:filter .55s ease;height:22px;display:flex;align-items:center;padding:0 8px;font-size:11px;font-weight:600;gap:8px;letter-spacing:.04em;touch-action:none}.window:not(.window--top) .window-titlebar{filter:saturate(.85) brightness(.94)}.window--top .window-title{display:flex;align-items:center;gap:10px}.window--top .window-title:before,.window--top .window-title:after{content:"";flex:1;height:0;border-top:1px solid color-mix(in srgb,#000 24%,transparent);border-bottom:1px solid color-mix(in srgb,#fff 13%,transparent)}.window>.window-titlebar:after{content:"";width:14px;flex-shrink:0}.window-close{position:relative;width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;background:var(--close-bg);color:var(--close-fg);font-size:12px;line-height:1;border:1px solid var(--window-border);flex-shrink:0;padding:0;cursor:pointer;font-family:inherit;transition:background-color .4s ease,color .4s ease}.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{flex:1;min-width:0;font-family:var(--font-display);font-size:12px;font-weight:400;letter-spacing:normal;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.window-body{background:var(--window-body);flex:1;overflow:auto;position:relative;container-type:inline-size}.window-resize{position:absolute;bottom:0;right:0;width:14px;height:14px;cursor:nwse-resize;touch-action:none}.window-resize:after{content:"";position:absolute;bottom:3px;right:3px;width:6px;height:6px;border-radius:50%;background:color-mix(in srgb,var(--window-body-fg) 50%,transparent)}.terminal{position:relative;height:100%}.note-viewer{display:flex;flex-direction:column;height:100%;background:var(--window-body);color:var(--window-body-fg)}.note-viewer-empty{align-items:center;justify-content:center;font-family:var(--font-system);font-size:12px;color:var(--window-body-fg-muted)}.note-readonly-banner{padding:6px 12px;font-family:var(--font-system);font-size:11px;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}.note-textarea{flex:1;padding:14px 16px;font-family:var(--font-mono);font-size:11px;line-height:1.6;background:transparent;color:inherit;border:0;resize:none;outline:none;white-space:pre-wrap}.note-textarea:focus-visible{outline:1px dotted var(--window-body-fg);outline-offset:-3px}.note-readonly-text{flex:1;margin:0;padding:14px 16px;font-family:var(--font-mono);font-size:11px;line-height:1.6;color:inherit;white-space:pre-wrap;overflow-wrap:break-word;overflow:auto}.note-readonly-text:focus-visible{outline:1px dotted var(--window-body-fg);outline-offset:-3px}@media(max-width:839px){.note-textarea{font-size:16px}.note-readonly-text{font-size:13px}}.note-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:6px 10px;border-top:1px solid color-mix(in srgb,var(--window-border) 30%,transparent);font-family:var(--font-system);font-size:11px;color:var(--window-body-fg-muted)}.note-save{font:inherit;color:var(--window-body-fg);padding:3px 10px;background:transparent;border:1px solid color-mix(in srgb,var(--window-border) 60%,transparent);cursor:pointer;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);font-size:11px;line-height:1.6;padding:18px 20px;margin:0;white-space:pre-wrap;height:100%;overflow:auto;cursor:text;-webkit-user-select:text;user-select:text}.terminal-body::selection,.terminal-body *::selection{background:color-mix(in srgb,var(--terminal-cursor) 32%,transparent);color:inherit}.terminal-prompt{opacity:.55}.terminal-keysink{position:absolute;inset:0;width:100%;height:100%;opacity:0;border:0;padding:0;margin:0;background:transparent;color:transparent;caret-color:transparent;outline:none;pointer-events:none;font:inherit}.folder-body{display:flex;flex-direction:column;height:100%;background:var(--window-body);color:var(--window-body-fg)}.folder-status{margin-top:auto;border-top:1px solid var(--surface-muted-border);padding:4px 10px;font-size:11px;color:var(--surface-muted-fg);font-family:var(--font-system);background:var(--surface-muted-bg)}.folder-empty{align-items:center;justify-content:center}.folder-empty-message{margin:0;font-family:var(--font-system);font-size:13px;font-style:italic;color:var(--window-body-fg);opacity:.6}.folder-list{flex:1;list-style:none;margin:0;padding:8px;overflow:auto;font-family:var(--font-system);font-size:12px}.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{display:block;color:var(--window-body-fg);text-decoration:none;padding:7px 10px;transition:background-color .55s ease,color .55s ease}@media(hover:hover){.folder-link:hover{background:var(--hover-bg);color:var(--hover-fg);transition-duration:90ms}}.folder-link-button{width:100%;text-align:left;background:transparent;border:none;font:inherit;cursor:pointer}.folder-symlink{display:flex;align-items:center;gap:8px}.folder-symlink-glyph{display:inline-flex;flex:none}.folder-symlink-glyph .mark-glyph{display:block;width:18px;height:18px}.folder-symlink-arrow{margin-left:auto;display:inline-flex;flex:none;opacity:.55;transition:transform .16s ease,opacity .16s ease}.folder-symlink-arrow .mark-glyph{display:block;width:13px;height:13px}@media(hover:hover){.folder-symlink:hover .folder-symlink-arrow{transform:translate(1.5px,-1.5px);opacity:.85}}@media(prefers-reduced-motion:reduce){.folder-symlink-arrow{transition:none}.folder-symlink:hover .folder-symlink-arrow{transform:none}}.project-body{display:flex;flex-direction:column;height:100%;background:var(--window-body);color:var(--window-body-fg);padding:16px 18px;gap:12px;font-family:var(--font-system)}.project-header{display:flex;align-items:center;gap:12px}.project-emoji{font-size:32px;line-height:1}.project-title{margin:0;font-size:16px;font-weight:600;color:var(--window-body-fg);letter-spacing:.01em}.project-description{margin:0;font-size:13px;line-height:1.5;color:var(--window-body-fg-muted)}.project-btns{margin-left:auto;display:flex;gap:var(--space-1)}.project-btn{display:inline-flex;align-items:center;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);font-size:11px;font-weight:500;letter-spacing:.02em;padding:4px 10px;text-decoration:none;cursor:pointer;transition:filter .45s ease,transform .12s ease}@media(hover:hover){.project-btn:not(.is-disabled):hover{filter:brightness(1.14);transition-duration:.1s,.12s}}.project-btn:not(.is-disabled):active{transform:scale(.97);filter:brightness(.94)}@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{align-self:flex-start;display:inline-flex;align-items:center;margin-top:auto;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);font-size:12px;font-weight:500;padding:5px 12px;text-decoration:none;cursor:pointer;letter-spacing:.02em}@media(hover:hover){.project-cta:hover{filter:brightness(1.1)}}.project-cta:active{background:linear-gradient(180deg,#908a82,#b8b4ac);box-shadow:inset 1px 1px #0000004d}.project-vision-wrap{flex:1;display:flex;align-items:center;justify-content:center;min-height:0}.project-vision-link{display:inline-flex;padding:12px;text-decoration:none;line-height:0;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);transition:border-color .2s ease,background-color .2s ease,transform .15s ease}.project-vision-icon{display:inline-flex}.project-vision-icon svg{display:block;width:160px;height:160px}.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 ease}@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{display:flex;flex-direction:column;height:100%;background:var(--window-body);color:var(--window-body-fg)}.gallery-empty{align-items:center;justify-content:center}.gallery-empty-message{margin:0;font-family:var(--font-system);font-size:13px;font-style:italic;color:var(--window-body-fg);opacity:.6}.gallery-grid{flex:1;list-style:none;margin:0;padding:10px;display:flex;justify-content:flex-start;align-items:flex-start;overflow:auto}.gallery-grid-inner{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;row-gap:6px;column-gap:10px}.gallery-cell{list-style:none;width:56px}.gallery-cell-dragging .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(--vision-glow)}.gallery-cell-target-end{box-shadow:inset -2px 0 0 var(--vision-glow)}.gallery-thumb{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;padding:4px 2px;background:transparent;border:none;cursor:pointer;font:inherit;color:var(--window-body-fg)}.gallery-thumb-frame{display:block;width:100%;aspect-ratio:1 / 1;background:var(--vision-card-bg);border:1px solid var(--vision-card-border);overflow:hidden;transition:border-color .2s ease}.gallery-thumb-image{display:block;width:100%;height:100%;object-fit:cover;transition:filter .22s ease}.gallery-thumb-label{font-family:var(--font-system);font-size:11px;line-height:1.2;text-align:center;word-break:break-all;color:var(--window-body-fg)}@media(hover:hover){.gallery-thumb:hover .gallery-thumb-frame{border-color:var(--vision-card-hover-border)}.gallery-thumb:hover .gallery-thumb-image{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))}}.gallery-thumb:active .gallery-thumb-frame{transform:scale(.98)}.gallery-viewer{outline:none;padding:12px;gap:8px}.gallery-viewer:focus-visible{outline:1px dotted var(--window-body-fg);outline-offset:-4px}.gallery-viewer-stage{position:relative;flex:1;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;overflow:hidden}.gallery-viewer-image{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;border:1px solid var(--vision-card-border);cursor:url(/icons/zoom_cursor.svg) 12 12,zoom-in}.gallery-viewer-row{flex:1;display:flex;align-items:center;min-height:0;overflow:hidden;gap:4px}.gallery-viewer-arrow{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:transparent;color:var(--gallery-fullscreen-icon);border:none;padding:4px;cursor:pointer;opacity:.85;transition:opacity .18s ease,color .18s ease}.gallery-viewer-arrow:after{content:"";position:absolute;inset:-4px 0}.gallery-viewer-arrow svg{display:block;width:20px;height:10px}.gallery-viewer-arrow svg circle{transition:filter .2s cubic-bezier(.4,0,.2,1)}@media(hover:hover){.gallery-viewer-arrow:hover{opacity:1}}.gallery-viewer-arrow:active{transform:scale(.92)}.gallery-viewer-meta{display:flex;align-items:center;gap:8px;font-family:var(--font-system);font-size:12px}.gallery-constellation{display:flex;align-items:center;gap:4px;min-width:0;overflow:hidden;font-family:var(--font-system);font-size:12px}.gallery-constellation-back{position:relative;display:inline-flex;align-items:center;background:transparent;border:none;padding:2px;cursor:pointer;color:var(--gallery-fullscreen-icon);opacity:.65;transition:opacity .15s ease,filter .18s ease}.gallery-constellation-back:after{content:"";position:absolute;inset:-4px}.gallery-constellation-back svg{display:block;width:12px;height:12px}.gallery-constellation-back svg circle{transition:fill .28s cubic-bezier(.4,0,.2,1)}@media(hover:hover){.gallery-constellation-back:hover{opacity:1;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--gallery-fullscreen-icon) var(--gallery-glow-intensity),transparent))}.gallery-constellation-back:hover svg circle{fill:currentColor}}.gallery-constellation-edge{width:16px;height:1px;background:color-mix(in srgb,var(--gallery-fullscreen-icon) 35%,transparent);flex-shrink:0}.gallery-constellation-node{display:inline-flex;align-items:center;color:var(--gallery-fullscreen-icon);filter:drop-shadow(0 0 4px color-mix(in srgb,var(--gallery-fullscreen-icon) var(--gallery-glow-intensity),transparent))}.gallery-constellation-node svg{display:block;width:12px;height:12px}.gallery-constellation-label{color:var(--window-body-fg);font-weight:600;margin-left:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gallery-viewer-caption{font-family:var(--font-system);font-size:12px;color:var(--window-body-fg);opacity:.7}.gallery-fullscreen{position:fixed;inset:0;z-index:10000;background:color-mix(in srgb,#000 92%,transparent);display:flex;align-items:center;justify-content:center;outline:none}.gallery-fullscreen-image{max-width:100vw;max-height:100vh;object-fit:contain;display:block;user-select:none}.gallery-fullscreen-arrow{position:absolute;top:50%;transform:translateY(-50%);background:transparent;border:none;padding:4px;color:#d8d8d8;filter:drop-shadow(0 1px 2px rgba(0,0,0,.55));cursor:pointer;opacity:.85;transition:opacity .2s ease,color .2s ease,filter .2s ease,transform .15s ease}.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:#f0f0f0}}.gallery-fullscreen-arrow:active{transform:translateY(-50%) scale(.92)}.gallery-fullscreen-close{position:absolute;top:16px;right:18px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;padding:4px;color:#d8d8d8;filter:drop-shadow(0 1px 2px rgba(0,0,0,.55));cursor:pointer;opacity:.85;transition:opacity .2s ease,color .2s ease,filter .2s ease}.gallery-fullscreen-close svg{display:block;width:28px;height:28px}@media(hover:hover){.gallery-fullscreen-close:hover{opacity:1;color:#f0f0f0}}.gallery-fullscreen-close:active{transform:scale(.92)}.gallery-fullscreen-meta{position:absolute;bottom:18px;left:0;right:0;display:flex;justify-content:center;align-items:baseline;gap:14px;font-family:var(--font-system);color:#d8d8d8;text-shadow:0 1px 2px rgba(0,0,0,.55)}.gallery-fullscreen-label{font-size:13px;font-weight:600}.music-body{display:flex;flex-direction:column;height:100%;background:var(--music-body-bg);color:var(--music-body-fg)}.music-list{flex:1;list-style:none;margin:0;padding:8px;overflow:auto;font-family:var(--font-system);font-size:12px}.music-list li{list-style:none}.music-row{display:flex;flex-direction:column;width:100%;background:transparent;border:none;padding:4px 8px;text-align:left;cursor:pointer;font-family:inherit;font-size:inherit;color:var(--desktop-fg);transition:background-color .55s ease,color .55s ease}@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{font-size:11px;opacity:.7}.music-empty{flex:1;display:flex;align-items:center;justify-content:center;font-family:var(--font-system);font-size:12px;color:var(--surface-muted-fg)}.music-quote{margin:0;padding-top:2px;font-family:var(--font-system);font-size:8px;font-style:italic;line-height:1.3;letter-spacing:.02em;text-align:left;color:var(--music-deck-fg);opacity:.6;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;flex-shrink:0}.music-quote-attribution{display:block;font-style:normal}.music-deck{position:relative;border-top:1px solid var(--window-border);background:linear-gradient(to bottom,var(--music-deck-top) 0%,var(--music-deck-bottom) 100%);padding:10px 12px 12px;display:flex;flex-direction:column;gap:8px;flex-shrink:0}.music-skip-notice{position:absolute;top:6px;left:50%;transform:translate(-50%);z-index:2;padding:3px 10px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.02em;white-space:nowrap;color:var(--music-readout-fg);background:var(--music-readout-bg);border:1px solid color-mix(in srgb,#000 55%,transparent);border-radius:var(--radius-sm);pointer-events:none;animation:music-skip-flash 2.6s ease both}@keyframes music-skip-flash{0%,to{opacity:0}8%,82%{opacity:.9}}.music-spectrum-slot{position:relative;width:100%;height:80px;background:var(--music-readout-bg);border:1px solid color-mix(in srgb,#000 70%,transparent);box-shadow:inset 1px 1px #0009;overflow:hidden}.music-spectrum-slot[data-mode=wheel]{width:140px;height:auto;aspect-ratio:1;max-width:100%;margin:0 auto;box-shadow:inset 1px 1px #0009,0 0 0 1px var(--music-separator),0 4px 8px #00000059}.music-spectrum-slot:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(to bottom,transparent 0,transparent 2px,rgba(0,0,0,.35) 2px,rgba(0,0,0,.35) 3px);pointer-events:none}.music-spectrum-canvas{display:block;width:100%;height:100%}.music-spectrum-toggle-group{position:absolute;top:4px;right:6px;display:flex;gap:2px;z-index:1}.music-spectrum-toggle{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--music-readout-fg);opacity:.65;font-family:var(--font-system);font-size:17px;line-height:1;padding:0;cursor:pointer;transition:opacity .12s;-webkit-tap-highlight-color:transparent}.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:"";position:absolute;top:0;bottom:0;left:calc(50% - 1px);width:2px;background:linear-gradient(to right,rgba(0,0,0,.55) 0 50%,var(--music-separator) 50% 100%);opacity:.7;pointer-events:none;z-index:1}.music-readout{background:transparent;border:none;box-shadow:none;padding:0 2px;display:flex;justify-content:space-between;align-items:baseline;gap:8px;overflow:hidden;white-space:nowrap}.music-readout-title{font-family:var(--font-system);font-size:11px;color:var(--music-deck-fg);overflow:hidden;text-overflow:ellipsis;flex:1}.music-readout-time{font-family:var(--font-mono);font-size:10px;font-variant-numeric:tabular-nums;color:var(--music-deck-fg);flex-shrink:0}.music-seek{display:block;width:100%;height:24px;margin:-8px 0;-webkit-appearance:none;appearance:none;background:transparent;border:none;padding:0;cursor:pointer}.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{height:8px;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;box-shadow:inset 1px 1px #0006;transition:background-size .1s linear}.music-seek::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:8px;height:16px;margin-top:-5px;background:linear-gradient(to bottom,var(--music-spectrum-top),var(--music-spectrum-bottom));border:1px solid #222;box-shadow:0 1px #fff3;cursor:pointer}.music-seek::-moz-range-track{height:8px;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;box-shadow:inset 1px 1px #0006}.music-seek::-moz-range-thumb{width:8px;height:16px;background:linear-gradient(to bottom,var(--music-spectrum-top),var(--music-spectrum-bottom));border:1px solid #222;border-radius:0;box-shadow:0 1px #fff3;cursor:pointer}.music-transport{display:flex;align-items:center;gap:10px}.music-btn{position:relative;width:32px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;box-shadow:none;font-family:var(--font-system);font-size:16px;cursor:pointer;color:var(--music-deck-fg);opacity:.75;padding:0;-webkit-tap-highlight-color:transparent;transition:opacity .12s}@media(hover:hover){.music-btn:hover{opacity:1}}.music-btn:active{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:"";position:absolute;width:1.5em;height:1.5em;border-radius:var(--radius-md);background:color-mix(in srgb,var(--music-deck-fg) 20%,transparent)}.music-btn-primary{font-size:20px}.music-volume{flex:0 1 130px;margin-left:auto;height:24px;min-width:0;-webkit-appearance:none;appearance:none;background:transparent;border:none;padding:0;cursor:pointer}.music-volume:focus-visible{outline:1px dotted var(--music-deck-fg);outline-offset:-4px}.music-volume::-webkit-slider-runnable-track{height:6px;border-radius:var(--radius-sm);background:#00000059;box-shadow:inset 0 1px 1px #00000080,0 1px #ffffff40}.music-volume::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;margin-top:-4px;background:#000000a6;border:1px solid rgba(0,0,0,.85);box-shadow:inset 0 1px #ffffff26,0 1px #ffffff40;cursor:pointer}.music-volume::-moz-range-track{height:6px;border-radius:var(--radius-sm);background:#00000059;box-shadow:inset 0 1px 1px #00000080,0 1px #ffffff40}.music-volume::-moz-range-thumb{width:14px;height:14px;background:#000000a6;border:1px solid rgba(0,0,0,.85);box-shadow:inset 0 1px #ffffff26,0 1px #ffffff40;cursor:pointer}.music-yt-host{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;overflow:hidden;bottom:0;right:0}.terminal-cursor{display:inline-block;margin-left:1px;color:var(--terminal-cursor);transition:opacity .6s ease;animation:cursor-pulse 1.6s ease-in-out infinite;text-shadow:0 0 8px color-mix(in srgb,var(--terminal-cursor) 60%,transparent)}@keyframes cursor-pulse{0%,to{opacity:.45}50%{opacity:1}}.terminal[data-phase=interactive] .terminal-cursor{animation:none;opacity:.3}.terminal[data-phase=interactive]:focus-within .terminal-cursor{animation:cursor-pulse 1.6s ease-in-out infinite;opacity:1}.icon{position:absolute;display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 8px;text-decoration:none;color:var(--desktop-fg);cursor:default;width:80px;touch-action:none}@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{position:relative;width:48px;height:48px;transition:filter .45s ease;background:linear-gradient(180deg,var(--icon-tile-top) 0%,var(--icon-tile-bottom) 100%);border:1px solid var(--icon-tile-border);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);display:flex;align-items:center;justify-content:center}.icon-tile-image{display:block;width:36px;height:36px;object-fit:contain;user-select:none;pointer-events:none;filter:drop-shadow(0 1px 0 var(--icon-tile-shadow))}.dock-tile .icon-tile-image{width:30px;height:30px}.mark-decor{position:absolute;inset:0;overflow:clip;pointer-events:none;z-index:5}.mark-decor>.mark-soul-wrap{pointer-events:none}.mark-soul-wrap{position:absolute;right:14px;bottom:8px;display:flex;flex-direction:column;align-items:flex-end;gap:4px;z-index:5}.mark-soul{pointer-events:auto;border:none;background:none;padding:0;font-size:38px;line-height:1;color:color-mix(in srgb,var(--window-body-fg) 12%,var(--window-body));filter:drop-shadow(0 1px 0 rgba(255,242,208,.22));cursor:pointer;user-select:none;transition:color .6s ease}@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 0 rgba(255,242,208,.08))}.mark-soul-glyph{display:block;animation:mark-settle .7s ease}.mark-soul-glyph .mark-glyph{overflow:visible}@keyframes mark-settle{0%{opacity:0;transform:scale(1.18);filter:blur(2px)}to{opacity:1;transform:none;filter:none}}.mark-tide{display:flex;flex-wrap:wrap;gap:0;width:112px;padding:0;overflow:hidden;border-radius:var(--radius-sm);background:color-mix(in srgb,color-mix(in srgb,var(--window-body-fg) 5%,var(--window-body)) 92%,transparent);box-shadow:1px 1px 0 var(--shadow-offset);backdrop-filter:blur(3px);pointer-events:none;-webkit-backdrop-filter:blur(3px);opacity:0;visibility:hidden;transform-origin:bottom right;transform:translateY(12px) scale(.82);--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)}.mark-soul-wrap--open .mark-tide{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:opacity .6s ease,transform .6s ease,visibility 0s}.mark-tide-glyph{position:relative;--strike-ms: .46s;width:28px;height:28px;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);background:none;padding:0;display:flex;align-items:center;justify-content:center;font-size:15px;line-height:1;color:var(--window-body-fg);opacity:.45;cursor:pointer;transition:opacity var(--strike-ms) cubic-bezier(.2,0,0,1)}.mark-tide-glyph:before{content:"";position:absolute;inset:0;background:var(--hover-bg);opacity:0;pointer-events:none;transition:opacity var(--strike-ms) cubic-bezier(.2,0,0,1)}.mark-tide-glyph .mark-glyph{position:relative;z-index:1;transition:transform .2s cubic-bezier(.2,0,0,1),color var(--strike-ms) cubic-bezier(.2,0,0,1)}.mark-glyph{width:1em;height:1em;display:block}.mark-soul-wrap--open .mark-tide-glyph{animation:tide-in .5s cubic-bezier(.16,1,.3,1) backwards;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{opacity:1;transition:opacity 30ms linear}.mark-tide-glyph:hover:before{opacity:1;transition:opacity 30ms linear}.mark-tide-glyph:hover .mark-glyph{transform:translateY(3px) scale(.9);color:var(--hover-fg);transition:transform 40ms linear,color 30ms linear}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.mark-tide-glyph:hover .mark-glyph{transform:none}}.mark-tide-glyph:focus-visible{opacity:1;outline:none;background:var(--hover-bg);color:var(--hover-fg)}.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{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transform:translate(8px,6px);font-size:10px;line-height:1;color:#2a21178c;filter:drop-shadow(0 1px 0 rgba(255,242,208,.22));user-select:none;pointer-events:none}.icon-mark .mark-glyph{animation:mark-settle .7s ease}.icon-label{font-size:11px;font-weight:500;padding:1px 4px;background:color-mix(in srgb,var(--desktop-bg) 55%,transparent);transition:background-color .4s ease,color .4s ease}.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{position:absolute;top:0;left:0;display:flex;flex-direction:column;background:var(--window-chrome);border-right:1px solid var(--dock-border);padding:0;z-index:10}.dock-icon{width:64px;height:64px;background:var(--dock-bg);border:none;border-bottom:1px solid var(--dock-border);padding:8px;cursor:pointer;color:inherit;text-decoration:none;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;transition:background-color .4s ease}@media(hover:hover){.dock-icon:hover{background:var(--dock-bg-hover);transition-duration:60ms}}.dock-tile{position:relative;width:40px;height:40px;background:linear-gradient(180deg,var(--icon-tile-top) 0%,var(--icon-tile-bottom) 100%);border:1px solid var(--icon-tile-border);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);display:flex;align-items:center;justify-content:center}.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{position:absolute;bottom:-5px;right:-5px;width:18px;height:18px;border-radius:50%;background:linear-gradient(180deg,var(--icon-tile-top) 0%,var(--icon-tile-bottom) 100%);border:1px solid var(--icon-tile-border);box-shadow:inset 0 1px 0 var(--icon-tile-highlight),inset 0 -1px 0 var(--icon-tile-shadow),1px 1px 0 var(--shadow-offset);display:flex;align-items:center;justify-content:center;pointer-events:none}.shortcut-badge:after{content:"";display:block;width:11px;height:11px;background-color:var(--shortcut-arrow);-webkit-mask:url(/icons/shortcut.svg) center / contain no-repeat;mask:url(/icons/shortcut.svg) center / contain no-repeat}.arcade-body{position:relative;height:100%;padding:12px;overflow:hidden;display:flex;flex-direction:column;background:linear-gradient(180deg,var(--arcade-window-bg-top) 0%,var(--arcade-window-bg-bottom) 100%)}.arcade-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:12px;align-content:start}.arcade-tile{display:flex;flex-direction:column;align-items:center;gap:6px;background:transparent;border:none;cursor:pointer;padding:6px 4px;color:var(--arcade-label);font-family:inherit;font-size:11px}.arcade-tile:hover .arcade-label,.arcade-tile:focus-visible .arcade-label{text-decoration:underline}.arcade-icon-wrap{position:relative;width:56px;height:56px;overflow:hidden;background:var(--vision-card-bg);border:1px solid var(--vision-card-border)}.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{position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 30%,var(--arcade-shimmer-color) 50%,transparent 70%);background-size:220% 100%;animation:arcade-shimmer var(--arcade-shimmer-speed) linear infinite}@keyframes arcade-shimmer{0%{background-position:220% 0}to{background-position:-220% 0}}.herald-backdrop{position:absolute;inset:0;background:#00000073;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:10}.herald-modal{position:relative;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);padding:18px 16px 16px;width:min(280px,calc(100% - 16px));text-align:center;color:var(--herald-fg);font-family:var(--font-system);outline:none}.herald-close{position:absolute;top:6px;right:6px;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;padding:0;font-family:var(--font-system);font-size:15px;line-height:1;color:var(--herald-fg);opacity:.55;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:opacity .18s ease}@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{position:relative;width:72px;height:72px;margin:0 auto 12px;overflow:hidden}.herald-icon{width:100%;height:100%;display:block;filter:blur(var(--arcade-blur))}.herald-title{font-size:13px;font-weight:600;margin-bottom:6px}.herald-title-text{display:inline-block;line-height:1}.herald-description{font-size:12px;opacity:.8;margin:0}.snake-description{font-size:12px;opacity:.8;margin:0;font-family:var(--font-mono);color:var(--herald-fg)}.snake-flow-letter{display:inline-block;width:8px;text-align:center;transform:scale(1);transition:opacity .6s ease,transform .6s ease;transition-delay:var(--engrave-delay, 0ms)}.snake-flow-letter--eaten{opacity:0;transform:scale(.85);transition:opacity .2s ease,transform .2s ease;transition-delay:0ms}.snake-flow-letter--respawn{animation:snake-letter-scramble-tear .28s steps(4,end) backwards;animation-delay:var(--engrave-delay, 0ms)}@keyframes snake-letter-scramble-tear{0%{transform:translate(1px);text-shadow:1px 0 var(--herald-fg)}25%{transform:translate(-1px);text-shadow:-1px 0 var(--herald-fg)}50%{transform:translate(1px);text-shadow:1px 0 var(--herald-fg)}75%{transform:translate(0);text-shadow:none}to{transform:translate(0);text-shadow:none}}.snake-trail{position:relative;display:inline-block;vertical-align:baseline;width:8px;height:5px;margin:0}.snake-trail--clickable{cursor:pointer}.snake-trail--clickable:after{content:"";position:absolute;inset:-4px -19px -4px -4px}.snake-inline{display:inline-block;vertical-align:baseline;width:5px;height:5px;margin:0;background-color:transparent}.snake-inline--awakening{transform:scale(.6);background-color:var(--herald-fg);opacity:.7}.snake-inline--idle{transform:scale(.625);background-color:var(--snake-color);opacity:1}.snake-trail .snake-inline{position:absolute;top:0;left:2px}.snake-inline-0.snake-inline--idle,.snake-inline-1.snake-inline--idle{left:2px;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}.snake-inline-1.snake-inline--idle{left:10px}.snake-inline-2.snake-inline--idle{left:18px;background:transparent;border-radius:0;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}.snake-inline-2.snake-inline--idle:after{content:"";position:absolute;inset:0;border:1px solid var(--snake-sonar-color, var(--snake-color));border-radius:50%;background:transparent;pointer-events:none;animation:snake-head-sonar var(--snake-sonar-speed, 1.8s) ease-out infinite;animation-delay:.4s}.snake-inline-2.snake-inline--idle:before{content:"";position:absolute;inset:0;border:1px solid var(--snake-sonar-color2, var(--snake-contrast));border-radius:50%;background:transparent;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)}@keyframes snake-head-sonar{0%{transform:scale(1.6);opacity:var(--snake-sonar-opacity, .7)}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;transform:translate(1px) scale(.5);background-color:var(--snake-color)}25%{opacity:1;transform:translate(-1px) scale(.5);background-color:var(--snake-color)}50%{opacity:0;transform:translate(1px) scale(.5);background-color:var(--snake-color)}75%{opacity:.6;transform:translate(0) scale(.5);background-color:var(--snake-color)}to{opacity:1;transform:translate(0) scale(.5);background-color:var(--snake-color)}}@keyframes snake-dot-glitch-in-head{0%{opacity:0;transform:translate(1px) scale(.5);color:var(--snake-color)}25%{opacity:1;transform:translate(-1px) scale(.5);color:var(--snake-color)}50%{opacity:0;transform:translate(1px) scale(.5);color:var(--snake-color)}75%{opacity:.6;transform:translate(0) scale(.5);color:var(--snake-color)}to{opacity:1;transform:translate(0) scale(.5);color:var(--snake-color)}}@keyframes snake-dot-grow{0%{transform:scale(.5)}to{transform:scale(.625)}}.snake-inline--spacer{transform:none;background-color:transparent;opacity:0;animation:none}.snake-play{position:absolute;inset:0;pointer-events:none;font-family:var(--font-mono);font-size:9px;line-height:8px}.snake-hint{position:absolute;bottom:-38px;right:-8px;transform:translateY(4px);padding:6px 14px;background:linear-gradient(180deg,var(--icon-tile-top) 0%,var(--icon-tile-bottom) 100%);border-radius:4px 16px 16px;box-shadow:0 4px 10px #0000001c;font-family:var(--font-mono);font-size:10px;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;animation:snake-hint-flash 3.5s ease-out forwards;pointer-events:none}@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{position:absolute;width:8px;height:8px;text-align:center;color:var(--herald-fg);opacity:.85;transition:opacity .2s ease;pointer-events:none;user-select:none}.snake-letter--eaten{opacity:0}.snake-cell{position:absolute;pointer-events:none;user-select:none}.snake-cell--block.snake-cell--invert{background:var(--snake-contrast)}.snake-cell--head.snake-cell--invert{background:transparent;color:var(--snake-contrast)}.snake-cell--shimmer{animation:snake-cell-shimmer var(--arcade-shimmer-speed) linear infinite}@keyframes snake-cell-shimmer{0%,to{filter:brightness(1)}50%{filter:brightness(2)}}.snake-cell--block{width:5px;height:5px;background:var(--snake-color);animation:snake-cell-grow-in .1s ease-out backwards;animation-delay:var(--enter-delay, 0ms)}@keyframes snake-cell-grow-in{0%{opacity:0}to{opacity:1}}.snake-cell--head{background:transparent;border-radius:0;color:var(--snake-color)}.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{display:block;width:100%;height:100%;transform:scale(1.4);transform-origin:center}.snake-cell-glitch{position:absolute;height:1px;background:var(--snake-color);pointer-events:none;opacity:0;transform-origin:0 50%;animation:snake-cell-glitch-flicker .36s steps(4,end) forwards;animation-delay:var(--glitch-delay, 0ms)}@keyframes snake-cell-glitch-flicker{0%{opacity:0}25%{opacity:1}50%{opacity:0}75%{opacity:1}to{opacity:0}}.snake-frag{position:absolute;width:2.5px;height:2.5px;background:var(--snake-color);border-radius:50%;pointer-events:none;animation:snake-frag-fall 1s steps(5,end) forwards;animation-delay:var(--frag-delay, 0ms)}@keyframes snake-frag-fall{0%{transform:translate(0) rotate(0);opacity:1}50%{opacity:0}to{transform:translate(var(--frag-dx, 0px),var(--frag-dy, 0px)) rotate(var(--frag-rot, 0deg));opacity:0}}.mobile-shell{position:fixed;inset:0;display:flex;flex-direction:column;background:var(--wallpaper);font-family:var(--font-system);color:var(--desktop-fg);overflow:hidden}.mobile-window{flex:1;display:flex;flex-direction:column;animation:window-surface .42s cubic-bezier(.16,1,.3,1);margin:0 12px 12px;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);overflow:hidden;min-height:0}.mobile-window .window-titlebar{cursor:default}.mobile-home{flex:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:16px;padding:24px 16px;align-content:start;justify-items:center;overflow-y:auto}.mobile-home-icon{background:transparent;border:none;padding:8px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;font-family:inherit;color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;transition:opacity .5s ease}.mobile-home-icon:active{opacity:.75;transition-duration:40ms}.mobile-home-icon .icon-tile{width:72px;height:72px}.mobile-home-icon .icon-label{font-size:13px;max-width:100%;text-align:center;overflow-wrap:anywhere;line-height:1.25}.mobile-system-bar{display:flex;justify-content:center;gap:12px;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)}.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);padding:8px 28px;font-family:inherit;font-size:13px;color:var(--window-body-fg);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:opacity .5s ease}.mobile-home-button:active{opacity:.75;transition-duration:40ms}.settings-body{padding:var(--space-2);display:flex;flex-direction:column;gap:var(--space-2);background:var(--window-body);font-family:var(--font-system);color:var(--window-body-fg)}.settings-nav{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.settings-nav-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;background:transparent;border:none;font-family:inherit;color:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .55s ease,color .55s ease}.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{display:flex;flex-direction:column;gap:2px}.settings-nav-name{font-size:13px;font-weight:600}.settings-nav-description{font-size:11px;opacity:.7}.settings-nav-chevron{font-size:14px;opacity:.5}.settings-breadcrumb{display:flex;align-items:center;gap:var(--space-1);width:100%;padding:0 0 var(--space-1);border:none;border-bottom:1px solid var(--list-separator);background:transparent;font-family:inherit;color:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.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{font-size:12px;font-weight:600;letter-spacing:.04em;opacity:.7}.settings-section{display:flex;flex-direction:column;gap:var(--space-1)}.settings-section-title{margin:0;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--window-body-fg);opacity:.7}@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:settings-appearance-in .24s cubic-bezier(.16,1,.3,1) both}.settings-appearance .box-card{animation:theme-tile-in .3s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--tile-index, 0) * 40ms)}@media(prefers-reduced-motion:reduce){.settings-appearance{animation:settings-fade-only .16s ease-out both}.settings-appearance .box-card{animation:none}}.box-grid{display:grid;grid-template-columns:repeat(2,minmax(0,var(--box-grid-cell)));gap:var(--box-grid-gap);justify-content:center}.box-card{position:relative;border:none;padding:0;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;aspect-ratio:1;container-type:inline-size;overflow:hidden;-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;transition:box-shadow .16s cubic-bezier(.4,0,.2,1)}.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);position:absolute;left:8px;right:8px;bottom:7px;font-size:16cqw;line-height:1.05;letter-spacing:normal;opacity:.8;text-align:left}.box-card-mark{display:block;position:absolute;left:8px;bottom:7px;width:42%;height:auto;opacity:.8;pointer-events:none}.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(max-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{position:absolute;top:6px;right:6px;width:6px;height:6px;border-radius:50%}.update-notification{position:fixed;top:36px;right:12px;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)),rgba(200,200,200,var(--uc-bg-bottom-alpha, .72)));backdrop-filter:blur(var(--uc-blur, 14px)) saturate(var(--uc-saturate, 150%));-webkit-backdrop-filter:blur(var(--uc-blur, 14px)) saturate(var(--uc-saturate, 150%));color:#1a1a1a;border:none;box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor var(--uc-border-pct, 22%),transparent),inset 0 1px 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));display:flex;flex-direction:column;padding:var(--uc-pad-y, 8px) var(--uc-pad-x, 10px);font-family:var(--font-system)}.update-notification-headline{font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;opacity:var(--uc-headline-opacity, .6);margin-bottom:6px}.update-notification-message{margin:0;font-size:var(--uc-message-font, 11px);line-height:1.5;letter-spacing:.02em;color:var(--uc-message-color, #3a3a3a);text-shadow:0 1px 0 rgba(255,255,255,var(--uc-text-shadow-alpha, .5))}.update-notification-actions{display:flex;justify-content:flex-end}.update-notification-button{position:absolute;top:6px;right:6px;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#f8f8f873,#c8c8c859);border:none;box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 18%,transparent),inset 0 1px #ffffff4d;padding:0;font-family:inherit;font-size:12px;line-height:1;color:#3a3a3a;opacity:.55;cursor:pointer;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)}.update-notification-button:after{content:"";position:absolute;inset:-4px}@media(hover:hover){.update-notification-button:hover{opacity:.9;background:linear-gradient(180deg,#ffffff8c,#d8d8d873)}}.update-notification-button:active{background:linear-gradient(180deg,#c8c8c880,#d8d8d873);box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 20%,transparent),inset 0 1px #0000001a}.patch-notification{position:fixed;top:130px;right:12px;z-index:9000;background:linear-gradient(180deg,var(--menubar-top) 0%,var(--menubar-bottom) 100%);color:var(--menubar-fg);border:none;box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 22%,transparent),inset 0 1px #ffffff1a,0 8px 22px #00000038;display:flex;flex-direction:row;align-items:center;gap:10px;padding:6px 6px 6px 10px;font-family:var(--font-system)}.patch-notification-headline{font-size:9px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;opacity:.7}.patch-notification-button{position:relative;width:12px;height:12px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(180deg,var(--cta-top) 0%,var(--cta-bottom) 100%);border:none;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);font-size:9px;line-height:1;padding:0;opacity:.55;cursor:pointer;font-family:inherit;transition:opacity .28s cubic-bezier(.4,0,.2,1),box-shadow .28s cubic-bezier(.4,0,.2,1)}.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(max-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{padding:10px 12px 12px;gap:8px}.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{position:fixed;bottom:12px;right:12px;z-index:10000;padding:6px 12px;background:var(--window-chrome);color:var(--window-chrome-fg);border:1px solid var(--window-border);font-family:var(--font-mono);font-size:11px;cursor:pointer;-webkit-tap-highlight-color:transparent}.theme-editor{position:fixed;bottom:12px;right:12px;width:320px;max-height:70vh;z-index:10000;background:var(--window-body);color:var(--window-body-fg);border:1px solid var(--window-border);box-shadow:4px 4px 0 0 var(--shadow-offset);display:flex;flex-direction:column;font-family:var(--font-mono);font-size:11px}.theme-editor-header{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:var(--window-chrome);color:var(--window-chrome-fg);border-bottom:1px solid var(--window-border)}.theme-editor-title{font-weight:600}.theme-editor-close{background:transparent;border:none;color:inherit;font-family:inherit;font-size:14px;cursor:pointer;padding:0 4px}.theme-editor-actions{display:flex;gap:6px;padding:6px 10px;border-bottom:1px solid var(--list-separator)}.theme-editor-actions button{padding:3px 8px;background:transparent;border:1px solid var(--list-separator);font-family:inherit;font-size:10px;color:inherit;cursor:pointer}.theme-editor-tokens{flex:1;overflow-y:auto;padding:6px 10px;display:flex;flex-direction:column;gap:4px}.theme-editor-token{display:flex;gap:6px;align-items:center}.theme-editor-token-name{width:120px;flex-shrink:0;font-size:10px;opacity:.7}.theme-editor-token input[type=text]{flex:1;min-width:0;background:var(--surface-muted-bg);color:var(--window-body-fg);border:1px solid var(--list-separator);padding:2px 4px;font-family:inherit;font-size:10px}.theme-editor-token-swatch{width:22px;height:22px;padding:0;border:1px solid var(--list-separator);background:none;cursor:pointer;flex-shrink: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{display:inline-block;cursor:default;opacity:.6}.theme-editor-token-reset{width:22px;height:22px;padding:0;background:transparent;border:1px solid var(--list-separator);color:var(--window-body-fg);font-family:inherit;font-size:12px;line-height:1;cursor:pointer;flex-shrink:0}.theme-editor-token-reset:hover{background:var(--hover-bg);color:var(--hover-fg)}.spectrum-editor-toggle{position:fixed;bottom:12px;left:12px;z-index:10000;padding:6px 12px;background:var(--window-chrome);color:var(--window-chrome-fg);border:1px solid var(--window-border);font-family:var(--font-mono);font-size:11px;cursor:pointer;-webkit-tap-highlight-color:transparent}.spectrum-editor{position:fixed;bottom:12px;left:12px;width:300px;max-height:70vh;z-index:10000;background:var(--window-body);color:var(--window-body-fg);border:1px solid var(--window-border);box-shadow:4px 4px 0 0 var(--shadow-offset);display:flex;flex-direction:column;font-family:var(--font-mono);font-size:11px}.spectrum-editor-header{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:var(--window-chrome);color:var(--window-chrome-fg);border-bottom:1px solid var(--window-border)}.spectrum-editor-title{font-weight:600}.spectrum-editor-close{background:transparent;border:none;color:inherit;font-family:inherit;font-size:14px;cursor:pointer;padding:0 4px}.spectrum-editor-actions{display:flex;gap:6px;padding:6px 10px;border-bottom:1px solid var(--list-separator)}.spectrum-editor-actions button{padding:3px 8px;background:transparent;border:1px solid var(--list-separator);font-family:inherit;font-size:10px;color:inherit;cursor:pointer}.spectrum-editor-tokens{flex:1;overflow-y:auto;padding:6px 10px;display:flex;flex-direction:column;gap:4px}.spectrum-editor-token{display:grid;grid-template-columns:90px 1fr 36px;gap:6px;align-items:center}.spectrum-editor-token-name{font-size:10px;opacity:.7}.spectrum-editor-token-value{font-size:10px;opacity:.85;text-align:right;font-variant-numeric:tabular-nums}.spectrum-editor-token input[type=range]{width:100%;cursor:pointer}.error-backdrop{position:fixed;inset:0;background:color-mix(in srgb,color-mix(in srgb,var(--window-shadow) 60%,#000) 45%,transparent);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:backdrop-fade-in .2s ease-out;z-index:9998}.error-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--window-body);border:1px solid var(--window-border);box-shadow:6px 6px 0 0 var(--shadow-offset);min-width:280px;max-width:400px;z-index:9999;display:flex;flex-direction:column;font-family:var(--font-system);color:var(--window-body-fg)}.error-dialog .window-titlebar{background:var(--error-red);color:#f5ecd9}.error-body{padding:16px;display:flex;flex-direction:column;gap:16px}.error-message-row{display:flex;gap:12px;align-items:flex-start}.error-icon{font-size:28px;line-height:1;color:var(--error-red);flex-shrink:0}.error-message{flex:1;margin:0;font-size:13px;line-height:1.5}.error-actions{display:flex;justify-content:flex-end}.error-button{background:var(--window-body);border:1px solid #333;box-shadow:2px 2px #0000004d;padding:6px 24px;font-family:inherit;font-size:13px;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}@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{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);animation:discord-dialog-in .24s cubic-bezier(.16,1,.3,1);width:calc(100% - 2rem);max-width:320px;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);z-index:9999;display:flex;flex-direction:column;font-family:var(--font-system);color:var(--window-body-fg)}.discord-dialog-close{position:absolute;top:6px;right:6px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;color:color-mix(in srgb,var(--window-body-fg) 55%,transparent);font-size:14px;line-height:1;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color .12s ease}@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{padding:32px 24px 24px;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.discord-copybox{display:flex;width:100%;align-items:center;gap:12px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--terminal-fg) 22%,transparent);background:var(--terminal-bg);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);font-size:14px;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.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);font-weight:400;user-select:none;-webkit-user-select:none}.discord-copybox--copied .discord-copybox-action{color:var(--accent)}.discord-copybox--copied{animation:discord-copied-pop .18s ease-out}@media(prefers-reduced-motion:reduce){.discord-dialog,.discord-copybox--copied{animation:none}}.discord-copybox-handle{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;user-select:text;-webkit-user-select:text}.discord-copybox-prompt:before{content:"$ ";opacity:.35;font-weight:400}.discord-dialog ::selection{background:var(--accent);color:var(--hover-fg)}.discord-copybox-action{flex:none;color:var(--window-body-fg-muted);font-size:12px;letter-spacing:.12em;transition:color .12s ease}@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);font-size:12px;letter-spacing:.12em;opacity:.7;color:inherit;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,currentColor 40%,transparent);transition:opacity .12s ease,text-decoration-color .12s ease}@media(hover:hover){.discord-open-link:hover{opacity:1;text-decoration-color:currentColor}}.oz-coin{position:fixed;top:36px;right:12px;width:64px;height:64px;padding:0;border:none;background:transparent;cursor:pointer;z-index:9000;-webkit-tap-highlight-color:transparent}.oz-coin img{width:100%;height:100%;display:block;animation:oz-coin-spin 12s linear infinite}@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{animation:doc-enter .32s cubic-bezier(.16,1,.3,1) 60ms both;font-family:var(--font-prose)}@media(prefers-reduced-motion:reduce){body.doc-page .manual,.doc-nav{animation:none}}.manual-index{max-width:64ch;margin:0 auto 1.75rem;padding:0 0 1.1rem;border-bottom:1px solid var(--list-separator);font-family:var(--font-mono);font-size:13px;line-height:1.4}.manual-index-label{margin:0 0 6px;padding-left:8px;font-size:11px;letter-spacing:.06em;color:var(--window-body-fg-muted)}.manual-index-list,.manual-index-subs{list-style:none;margin:0;padding:0}.manual-index-list{margin-left:8px;border-left:1px solid var(--list-separator)}.manual-index-item+.manual-index-item{margin-top:1px}.manual-index a,.manual-index-h2{position:relative;display:block;padding:4px 10px 4px 12px;color:var(--window-body-fg);text-decoration:none;cursor:pointer;border-radius:var(--radius-sm);transition:background-color .55s ease,color .55s ease}.manual-index-h2{flex:1;min-width:0;font-weight:500}.manual-index-subs-wrap{display:grid;grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows .24s cubic-bezier(.16,1,.3,1),opacity .2s ease,visibility 0s linear .24s}.manual-index-group.is-open .manual-index-subs-wrap{grid-template-rows:1fr;opacity:1;visibility:visible;transition:grid-template-rows .24s cubic-bezier(.16,1,.3,1),opacity .2s ease,visibility 0s}.manual-index-subs{overflow:hidden;min-height:0;padding-left:14px}.manual-index-subs a{color:var(--window-body-fg-muted);font-size:12px}.manual-index-h2row{display:flex;align-items:center;border-radius:var(--radius-sm);transition:background-color .55s ease}.manual-index-toggle{flex:none;display:flex;align-items:center;justify-content:center;width:28px;height:26px;padding:0;background:none;border:none;border-radius:var(--radius-sm);color:var(--window-body-fg-muted);cursor:pointer;transition:color .55s ease}.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){scroll-margin-top:4rem;font-family:var(--font-mono)}@media(prefers-reduced-motion:no-preference){html:has(body.doc-page){scroll-behavior:smooth}}.doc-nav{position:sticky;top:0;z-index:2;animation:doc-fade .3s ease both;background:linear-gradient(180deg,var(--window-chrome) 0%,color-mix(in srgb,var(--window-chrome) 92%,#000) 100%);box-shadow:inset 0 1px #ffffff1f;border-bottom:1px solid var(--window-border)}.doc-nav-inner{margin:0 auto;min-height:30px;padding:0 10px;display:flex;align-items:center;gap:10px}.doc-nav-close{position:relative;flex-shrink:0;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;background:var(--close-bg);color:var(--close-fg);border:1px solid var(--window-border);font-size:13px;line-height:1;text-decoration:none;transition:background-color .4s ease,color .4s ease}@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{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden;font-family:var(--font-mono);font-size:.8rem;letter-spacing:.02em}.doc-nav-link{color:color-mix(in srgb,var(--window-chrome-fg) 68%,transparent);text-decoration:none;white-space:nowrap}@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);font-weight:600;white-space:nowrap}.doc-nav-themes{display:flex;align-items:center;gap:6px;margin-left:auto;flex-shrink:0}@media(max-width:600px){.doc-nav-inner{gap:8px}.doc-nav-crumb>.doc-nav-link:not(:first-child){display:none}.doc-nav-crumb>.doc-nav-link:not(:first-child)+.doc-nav-sep{display:none}.doc-nav-current{overflow:hidden;text-overflow:ellipsis}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%;margin:0 auto;padding:var(--space-4) var(--space-3);border:none;border-radius:0;box-shadow:none}}.theme-swatch{width:24px;height:24px;padding:0;border:none;border-radius:50%;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}.theme-swatch:before{content:"";width:13px;height:13px;border-radius:50%;background:var(--sw-bg);border:1px solid color-mix(in srgb,var(--window-body-fg) 35%,transparent);transition:transform .4s ease}@media(hover:hover){.theme-swatch:hover:before{transform:scale(1.18);transition-duration:.12s}}.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;margin:0 auto;padding:var(--space-6) var(--space-3);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{font-size:1.7rem;font-weight:600;letter-spacing:-.01em;margin:0 0 var(--space-4)}.manual-doc h2{font-size:1.25rem;font-weight:600;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)}.manual-doc hr+h2{border-top:none;padding-top:0;margin-top:var(--space-4)}.manual-doc h3{font-size:1.1rem;font-weight:600;margin:var(--space-4) 0 var(--space-1)}.manual-doc p{margin:0 0 var(--space-3)}.manual-doc a{color:inherit;text-decoration:none;border-bottom:1px solid color-mix(in srgb,currentColor 45%,transparent)}@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{font-weight:400;color:inherit;background:color-mix(in srgb,var(--accent) 13%,transparent);padding:.02em .28em;border-radius:3px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.manual-doc :not(pre)>code{font-family:var(--font-mono);font-size:.85em;background:color-mix(in srgb,var(--window-body-fg) 12%,transparent);padding:.1em .4em;border-radius:var(--radius-sm)}: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);box-shadow:inset 1px 1px #00000080;overflow-x:auto;white-space:pre;max-width:100%;font-size:.82rem;line-height:1.5}.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{display:block;width:max-content;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:0 0 var(--space-3);font-size:.9rem}.manual-doc th,.manual-doc td{text-align:left;padding:.4em .6em;border:1px solid var(--list-separator)}.manual-doc th{font-weight:600;border-bottom:2px solid var(--list-separator)}.manual-footer{max-width:64ch;margin:var(--space-6) auto 0;padding:var(--space-3);border-top:1px solid var(--list-separator);display:flex;align-items:center;gap:var(--space-3);font-size:.9rem}@media(max-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);font-size:.8rem;color:var(--window-body-fg);background:transparent;border:1px solid var(--list-separator);border-radius:var(--radius-sm);padding:.35em .8em;cursor:pointer;transition:border-color .12s ease}@media(hover:hover){.manual-copy:hover{border-color:var(--accent)}}.back-to-top{position:fixed;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;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--list-separator);background:var(--window-body);color:var(--window-body-fg);cursor:pointer;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .26s ease,transform .26s cubic-bezier(.16,1,.3,1),border-color .12s ease,color .12s ease}.back-to-top.is-visible{opacity:1;transform:none;pointer-events:auto}.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{transform:none;transition:opacity .16s ease,border-color .12s ease}}.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);font-size:1.5rem;font-weight:600;letter-spacing:-.01em;margin:0}.project-index-list{list-style:none;display:flex;flex-direction:column;gap:0}.project-row{position:relative;display:grid;grid-template-columns:1fr auto;align-items:start;gap:var(--space-2) var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);transition:background-color .55s ease,color .55s ease}.project-row.is-pending{color:var(--window-body-fg-muted)}.project-row:not(:last-child):after{content:"";position:absolute;left:var(--space-3);right:var(--space-3);bottom:0;border-bottom:1px solid color-mix(in srgb,var(--list-separator) 30%,transparent)}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{position:relative;min-width:0;display:flex;align-items:baseline;gap:.8em}.project-row-name{margin:0;font-family:var(--font-mono);font-size:.95rem;font-weight:600;letter-spacing:.04em;flex:none;width:7ch}.project-row:not(.is-pending) .project-row-name{text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);text-underline-offset:3px;transition:text-decoration-color .13s ease}@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);margin:0;font-size:.8rem;color:var(--window-body-fg-muted);flex:1;min-width:0;padding-left:1em;text-indent:-1em;transition:color .55s ease}.project-row-desc:before{content:"▪" / "";margin-right:.4em;opacity:.5}.project-row-action{padding-top:.15em;white-space:nowrap;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);font-size:.7rem;letter-spacing:.06em;color:var(--window-body-fg-muted)}.arrow-link{display:inline-flex;align-items:center;gap:.3em;color:inherit;text-decoration:none}.arrow-link-text{border-bottom:1px solid color-mix(in srgb,currentColor 45%,transparent);transition:border-color .16s ease}.arrow-link-arrow{width:1em;height:1em;flex:none;transition:transform .18s cubic-bezier(.34,1.56,.64,1)}.arrow-link:active .arrow-link-arrow{transform:translate(7px);transition-duration:.11s}@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:center;animation:mark-spin 10s linear infinite}@keyframes mark-spin{to{transform:rotate(360deg)}}
