@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAAASUABAAAAAACRAAAAQ3AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVEwAdBEICoRkg3oLIAABNgIkAzoEIAWFHgeBFAwHG3AHKB4HzukrRjyF5Gb4kQ/B873d17mv8TWkoqUUGaHodJCtoqntw7m8tiPWyGkfWDU/IMpzVk4zAs9Czv3c7Os5NvKFG1Ht9vBVXySRZpJc4tTrbM3sTRFcLa3zVboKWRIoAksKSKgqUQWEwlSoqjp44V5J9/kjd0+Fi5xaFjwJArgBAIJgIAgCCAI4CdNMqGuYXYUKdADLAkAAJwl6iX0+bZqEm1AH0Hu9rvrJHwxQG1Q/gFYwWYbgTRWgwEESVzbmtjQAt3DXO7Tu/+9Q/KNKWhTCgZ8fQSWoL0CUUgTBjgL8iEAcce7YHBeA8ZvogieCnxI0BCVeACCAAhBD/oDcAdUPABSgAX4kBPBTwjCAjwYSCneiqF65LUo/qXdYFrRwTujtMrKm07plTbSqLQFAiHBN7E4DG5wkiGXhCYBNETh3K/AciHN69iFfQjFOr9EXQQAAQXRNszs8PR0OH4fDV/dwGe76CHdj1MQa11DXYGcfZ6+B1X0OfwjY+i7KpQ1w9d+1z3/HydCB1f3U8A0fRFv+0bXxPWrZu3d9Nn4UcbLs/QCXLH/j3PCKblKOiZxLOR78W9brPo7eGTLz/F27ZPmePQdCB1YP4nJU91o4gU9cy64L3c3SPu8GfDn6ZXD2cGmllVqSxtD5vCXHm5xaeHlnpffx7DcPvXog5NnjA//cPz2btsz3yf+0MI8ri33tuv7upNbYmW5STbosW8bYItV/SPzxvXC0KnpWnFdC91oojit5Lyo6WcJQ1YzwBYbi52ohJVpcxfcHBqsv0nFz8U74rzS6M7r0RVlXZ3jJC4G92O//7Lm78VOtnUx+aQxAzsqPnrRr1t9zDrezKePvZ027x+fGte4s4NXu7/jEp3G9cM1bICYgACbuETUUD5wmenGXA/IBpAKVrl0AEJ5cqr6Q89tGq+SpqkDfX2DtG+pZ9teuae0AX98c301CX179InyErnSG8WCiABB4HFbVrw/lpTdBIOk82nXbpHKoQGyBpUovAAD4XQA8ZTUCeBJHIpI0v0FRrgcnckV3ANckrwYJKXEihQfdSKPER6XeExmEeEMmSe6QBwWmkZdmSOSthhibgIkBlUYreBKd/0NeVAE9WAyEaQpH6KikDWlUVg43Jy2FOmaYlsZhDEGZXO3mWEyWHI6zuaJkMlcSQ9k4F+KidIiFyZItGDc7r1pUj6wP6zrWB0/fbeeFeHl4YOvETMNiM8Ny+7OO6Qh2wur20YVxFts5dlORdl5Kwd5utR7SRcxqX8RA5Ehacha76hg7c6yzNm/Xf6vOLNrv544lIEkWg7xWo/ItBAeIJEmt0XgBwgM8gTifoiiLJroYYooNTeziEKe4zOoR/wvIKp89hSr+6jFAqw/LaonjmZHSscMNg4iPlWpFrO1RN3zkMU+/xUP+JQ99TbvTl1Vg0gtirT6lbwYAAAA=)format("woff2"),url(data:font/woff;base64,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)format("woff");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;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-cyrillic-500-normal-DmUKJPL_.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-500-normal-DJqRU3vO.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-greek-500-normal-JpySY46c.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-500-normal-D7SFKleX.woff)format("woff");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;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,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)format("woff2"),url(/assets/jetbrains-mono-vietnamese-500-normal-DNRqzVM1.woff)format("woff");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;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-ext-500-normal-Cut-4mMH.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-500-normal-ckzbgY84.woff)format("woff");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;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff)format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(data:font/woff2;base64,d09GMgABAAAAAASAABAAAAAACNgAAAQlAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVEwAdBEICoRkg3gLIAABNgIkAzoEIAWEaAeBFAwHGzgHSJ4DbjN9OmtkIy0becnT/RjJ4uGfw99974/GXrhoTCqLok66NY3jTloEUdrmwCevn/Ls30xSpFlZ6UJMrW+fTNwAEdSuvSzCRANvEgnjUmw8swT+87+w7I/7qb8XlIB7NpGBjXiUjRX0b7ZpJ8+orRLzvGhWYCMdAU3BbRdPuqOeKAXuRKAWEEJJCIEQqNbLD9osq2kBviL8A4Fq4yLgAa+6DNaiAwcYOrqYHfgQcMgL3AFgG4fHHqREEUBSxUtmBfzNWxXADfviy8Kff7dA4QfFBQG6fnoX5Dh+gEEcIVRKtMIYhc/kCgsCDiarQY4QWpEKQoYTAAIJUcaHAHIXIN9BooBWhEAr0j7QzAkh1RnEWOY4wuRW8uX/f5o5W8gXcjriOUb9z/wjACRuWaWrpKIyLMQ/DUDN/TT+ErgHRpPBIRQrKCcZCvxBBCBEkSD4lKMjRblQlCvpQHPsSZE9R6K2o/vpXkGboKWbbltxx2feLT+a6KJb5293n7vTt53uwOzUO4gYc5eedhvS+a1bbdNuIiSA89cuGo25IZh6DXrJJIIUUibFUG0zt+ijO+cvnj8fjVm4cKlvN90DwzrdMmy8H9GjDyv90Xz2W10PVj3oTY7LLfwfmxMHoef+8n33R0duOxF3LPCYFXtymWNdcLBD3VF4S91+GWf8c9k7sZC6fPpnbENnCmayerBNki0ZbFUXiHV/wkxWklGmydCkaR5o0oZnlj3oSVdnZKjTITaXStOyWGYakzUgTSt1gvSs/otJL1FkzE/3e+aXvj7n+TOv9HkZ6evS4e3OXafCx8iqJfNGpQLM7rkt0ppRJ8N3gd1IjHLaROM0cLkhdf2NQjZ4bmjo2mBWKJ4CPA4IZXX9hFlPBnhxWhXzgBGQ88QeRD3j1/AD5a/JxMnL5gK5deaC2H7HvK98gngBbzfWLKD0g2ufeA7nMsQepBwDgpdhy90BzC+8DSCers8O6KKloYn0RCtKo9EM9LsAd7AgNBhFGEAsvl4K1LpCiCIF3IZHFUKvX5AqfUPBgkO+ovHpUNJtOJSN6hDWWxAigkCt9hbEXdaOHLvI6lM5gQA79LRYOpUsWBpKYu2klOQULGlGCwOzHIkSmYmZKBlQrlmCQ0mDv5SeiVyiemVqVJGyEDJhKemY1dLT0YsnpKch0UbKxExJTydIigQpkiUvYA3SVFDqFH2uNggh343VmPs2ycX0DIYwPYTigMak5AjS0ohI8zmoo4EJwypS4iVcDOuDuvRMgytHPa5LTjnoc1YiCcT0tBI3qjXxqqFomJf2PylAOHMDRp1HGBaDQCTiIC7iQSH4iEICRHMZkUlqk/KsOmVSGlOK7NIseRNZFp3NkbNaLateTmKScHGTAyu2WqQf6lD8rMNg1+lKTcpwkfvQ/7eRMwAA)format("woff2"),url(data:font/woff;base64,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)format("woff");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;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-cyrillic-700-normal-BWTpRfYl.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-700-normal-CEoEElIJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-greek-700-normal-C6CZE3T8.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-700-normal-DEigVDxa.woff)format("woff");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;font-style:normal;font-display:swap;font-weight:700;src:url(data:font/woff2;base64,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)format("woff2"),url(/assets/jetbrains-mono-vietnamese-700-normal-BDLVIk2r.woff)format("woff");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;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-ext-700-normal-CZipNAKV.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-700-normal-CxPITLHs.woff)format("woff");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;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-700-normal-BYuf6tUa.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-700-normal-D3wTyLJW.woff)format("woff");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}:root{--ink:#1c2028;--ink-2:#4a5160;--ink-3:#626a78;--ink-4:#8a919d;--ink-5:#a3aab6;--line:#e3e5ea;--line-soft:#eef0f3;--line-strong:#c6cad2;--bg:#f2f3f5;--bg-sunken:#e9ebef;--surface:#fff;--surface-2:#f7f8fa;--rail:#1c2028;--stitches:#4453e0;--stitches-ink:#3240c8;--stitches-soft:#eceefd;--stitches-rail:#8792ff;--garments:#0f7a6f;--garments-ink:#0b6b61;--garments-soft:#e3f3f1;--knitting:#b5491a;--knitting-ink:#a3401a;--knitting-soft:#fbede5;--projects:#2f3a4f;--projects-soft:#eceef2;--danger:#b42318;--danger-soft:#fdf0ee;--warn:#9a4a06;--warn-soft:#fef5e7;--ok:#1f7a4d;--ok-soft:#eaf6ef;--font:"Inter Variable", Inter, system-ui, sans-serif;--font-display:"Bricolage Grotesque Variable", "Inter Variable", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--shadow-sm:0 1px 2px #1418200f;--shadow-float:0 6px 20px #1418201a;--shadow-menu:0 12px 32px #14182029;--ring:0 0 0 2px var(--surface), 0 0 0 4px var(--ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.4}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default}:focus-visible{outline:2px solid var(--stitches);outline-offset:2px}h1,h2,h3,h4{margin:0}hr{border:0;border-top:1px solid var(--line-soft);margin:4px 0}code,.mono{font-family:var(--font-mono)}kbd,.kbd{font-family:var(--font-mono);color:var(--ink-2);background:var(--bg);white-space:nowrap;border-radius:6px;padding:3px 7px;font-size:12px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.grow{flex-grow:1}.muted{color:var(--ink-3)}.small{font-size:12px}.ellipsis{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-size:12px;font-weight:600}.pill{color:var(--stitches-ink);background:var(--stitches-soft);white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:600}.vsep{background:var(--line);flex:none;width:1px;height:24px;margin:0 4px}.btn{border:1px solid var(--line);background:var(--surface);height:40px;color:var(--ink);white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:14px;font-weight:500;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:disabled{opacity:.5}.btn.lg{border-radius:12px;height:44px;padding:0 16px}.btn.sm{border-radius:8px;height:34px;padding:0 10px;font-size:13px}.btn.primary{background:var(--stitches);border-color:var(--stitches);color:#fff;font-weight:600}.btn.primary:hover:not(:disabled){background:var(--stitches-ink)}.btn.dark{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:600}.btn.dark:hover:not(:disabled){background:#2b313d}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff;font-weight:600}.btn.dashed{border:1.5px dashed var(--line-strong);background:0 0}.icon-btn{width:40px;height:40px;color:var(--ink-2);background:0 0;border:0;border-radius:10px;flex:none;place-items:center;padding:0;display:grid}.icon-btn:hover:not(:disabled){background:var(--bg)}.icon-btn:disabled{color:var(--ink-5)}.icon-btn.sm{border-radius:8px;width:32px;height:32px}.icon-btn.active{background:var(--stitches-soft);color:var(--stitches-ink)}.icon-btn.bordered{border:1px solid var(--line);background:var(--surface)}.icon-btn.danger{color:var(--danger)}.chip{height:36px;color:var(--ink-2);white-space:nowrap;background:0 0;border:0;border-radius:10px;align-items:center;gap:6px;padding:0 10px;font-size:13px;font-weight:600;display:inline-flex}.chip:hover{background:var(--bg)}.chip.active{background:var(--stitches-soft);color:var(--stitches-ink)}.shell{min-width:1100px;height:100%;display:flex}.rail{background:var(--rail);flex-direction:column;flex:none;align-items:center;gap:6px;width:76px;padding:14px 0;display:flex}.rail-logo{margin-bottom:12px;display:block}.rail-link{width:62px;color:var(--ink-5);background:0 0;border:0;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:9px 0 7px;font-size:11px;font-weight:500;display:flex}.rail-link:hover{color:#fff;background:#ffffff0d}.rail-link[aria-current=page]{color:#fff;background:#ffffff1a;font-weight:600}.rail-link[aria-current=page].app-stitches svg{color:var(--stitches-rail)}.rail-link[aria-current=page].app-garments svg{color:#4fc2b5}.rail-link[aria-current=page].app-knitting svg{color:#f08a5d}.rail-icon{width:44px;height:44px;color:var(--ink-5);background:0 0;border:0;border-radius:12px;place-items:center;display:grid}.rail-icon:hover{color:#fff;background:#ffffff14}.app-area{flex-direction:column;flex:1 1 0;min-width:0;display:flex;overflow:hidden}.app-tile{border-radius:10px;flex:none;place-items:center;width:38px;height:38px;display:grid}.app-tile.big{border-radius:18px;width:64px;height:64px}.app-tile.app-projects{background:var(--projects-soft);color:var(--projects)}.app-tile.app-stitches{background:var(--stitches-soft);color:var(--stitches)}.app-tile.app-garments{background:var(--garments-soft);color:var(--garments)}.app-tile.app-knitting{background:var(--knitting-soft);color:var(--knitting)}.menu-anchor{position:relative}.menu{z-index:40;background:var(--surface);border:1px solid var(--line);min-width:240px;box-shadow:var(--shadow-menu);border-radius:12px;flex-direction:column;gap:1px;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);left:0}.menu.right{left:auto;right:0}.menu.up{top:auto;bottom:calc(100% + 8px)}.menu.wide{width:320px}.menu-title{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);padding:8px 10px 4px;font-size:12px;font-weight:600}.menu-scroll{flex-direction:column;gap:1px;max-height:320px;display:flex;overflow:auto}.menu button,.menu-scroll button{text-align:left;width:100%;color:var(--ink);background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:9px 10px;font-size:14px;display:flex}.menu button:hover{background:var(--bg)}.menu button.current{background:var(--bg);font-weight:600}.menu button.accent{color:var(--stitches-ink);font-weight:500}.menu button.danger{color:var(--danger)}.menu-label{text-overflow:ellipsis;white-space:nowrap;flex-grow:1;min-width:0;overflow:hidden}.popover{z-index:50;background:var(--surface);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:12px;padding:14px;display:flex;position:fixed;box-shadow:0 16px 40px #1418202e}.popover-arrow{background:var(--surface);border-right:1px solid var(--line);border-top:1px solid var(--line);width:12px;height:12px;position:absolute;right:-7px;transform:rotate(45deg)}.popover-head{align-items:center;gap:8px;font-size:14px;display:flex}.chip-swatch{border-radius:5px;flex:none;width:18px;height:18px;box-shadow:inset 0 0 0 1px #00000026}.toast{z-index:100;background:var(--ink);color:#fff;box-shadow:var(--shadow-menu);border-radius:10px;padding:10px 16px;font-size:14px;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.tooltip{z-index:200;background:var(--ink);color:#fff;max-width:280px;box-shadow:var(--shadow-menu);pointer-events:none;border-radius:8px;align-items:center;gap:8px;padding:6px 10px;font-size:13px;line-height:1.35;animation:.12s ease-out tooltip-in;display:flex;position:fixed}.tooltip kbd{color:#fff;min-width:20px;font-family:var(--font-mono);text-align:center;background:#ffffff29;border-radius:4px;flex:none;padding:1px 5px;font-size:11px}@keyframes tooltip-in{0%{opacity:0}}.modal-backdrop{z-index:60;background:#1c20287a;justify-content:center;align-items:flex-start;padding:10vh 24px 24px;display:flex;position:fixed;inset:0;overflow:auto}.modal{background:var(--surface);border-radius:18px;flex-direction:column;width:460px;max-width:100%;display:flex;overflow:hidden;box-shadow:0 24px 60px #0a0c1259}.modal.wide{width:640px}.modal.xl{width:960px;height:min(720px,82vh)}.modal-head{align-items:center;gap:8px;padding:16px 16px 4px 22px;display:flex}.modal-head h2{flex-grow:1;font-size:18px;font-weight:600}.modal-text{color:var(--ink-2);margin:0;padding:0 22px}.form .modal-text{padding:0}.modal-text.error{color:var(--danger)}.modal-foot{justify-content:flex-end;align-items:center;gap:10px;padding:18px 22px 20px;display:flex}.form .modal-foot{padding:8px 0 0}.modal-foot.tinted{border-top:1px solid var(--line-soft);background:var(--surface-2);padding:14px 20px}.form{flex-direction:column;gap:14px;padding:12px 22px 20px;display:flex}.form-section{margin-top:4px}.field{color:var(--ink-2);flex-direction:column;flex:1 1 0;gap:6px;min-width:0;font-size:13px;font-weight:500;display:flex}.field input:not([type=range]),.field select,.add-color input:not([type=color]),.other-color input:not([type=color]),.color-editor input:not([type=color]){border:1px solid var(--line);height:40px;color:var(--ink);background:var(--surface);border-radius:10px;min-width:0;padding:0 12px;font-size:14px;font-weight:400}.form-row{gap:12px;display:flex}.segmented{background:#e6e8ec;border:0;border-radius:10px;gap:2px;margin:0;padding:3px;display:flex}.segmented label{text-align:center;color:var(--ink-2);cursor:pointer;border-radius:8px;flex:1 1 0;padding:8px 12px;font-weight:500}.segmented label.active{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 1px 2px #00000014}.segmented input{opacity:0;pointer-events:none;position:absolute}.file-drop{border:1.5px dashed var(--line-strong);min-height:72px;color:var(--ink-2);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;display:flex;position:relative}.file-drop input{opacity:0;cursor:pointer;position:absolute;inset:0}.import-preview{flex-direction:column;align-items:center;gap:6px;display:flex}.import-preview canvas{max-width:100%;image-rendering:pixelated;border-radius:6px}.radio-list{flex-direction:column;gap:4px;max-height:340px;display:flex;overflow:auto}.radio-row{border:1px solid var(--line-soft);cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.radio-row.active{border-color:var(--stitches);background:var(--stitches-soft)}.radio-row.disabled{cursor:default;color:var(--ink-4)}.size-row{align-items:flex-end;gap:14px;display:flex}.size-row .form-row{flex-grow:1}.anchor-picker{border:1px solid var(--line);border-radius:10px;flex:none;grid-template-columns:repeat(3,13px);gap:3px;padding:5px;display:grid}.anchor-picker button{background:var(--line);border:0;border-radius:3px;width:13px;height:13px;padding:0}.anchor-picker button.active{background:var(--stitches)}.palette{flex-direction:column;max-height:76vh;display:flex}.palette-search{border-bottom:1px solid var(--line-soft);flex:none;align-items:center;gap:12px;height:62px;padding:0 20px;display:flex}.palette-search input{background:0 0;border:0;outline:0;flex-grow:1;font-size:17px}.palette-list{padding:10px;overflow:auto}.palette-section{padding:12px 10px 6px}.palette-item{cursor:pointer;border-radius:10px;align-items:center;gap:12px;padding:9px 10px;display:flex}.palette-item.app{border-radius:12px;gap:14px;padding:10px}.palette-item[aria-selected=true]{background:var(--bg)}.palette-text{flex-direction:column;flex-grow:1;gap:2px;min-width:0;display:flex}.palette-title{font-size:14px}.palette-item.app .palette-title{font-size:15px;font-weight:600}.palette-detail{color:var(--ink-2);font-size:13px}.palette-empty{color:var(--ink-3);margin:0;padding:16px 10px}.palette-foot{background:var(--surface-2);border-top:1px solid var(--line-soft);color:var(--ink-2);flex:none;gap:18px;padding:12px 20px;font-size:12px;display:flex}.palette-foot kbd{background:0 0;padding:0}.dot{background:#9aa3b5;border-radius:3px;flex:none;width:9px;height:9px}.dot-stitches{background:var(--stitches)}.dot-help{background:var(--line-strong)}.shortcuts-body{grid-template-columns:1fr 1.4fr;gap:24px;max-height:70vh;padding:8px 22px 22px;display:grid;overflow:auto}.shortcuts-group h3{margin-bottom:10px}.shortcuts{flex-direction:column;gap:6px;margin:0;display:flex}.shortcuts div{align-items:baseline;gap:12px;display:flex}.shortcuts dt{flex:none;min-width:96px}.shortcuts dd{color:var(--ink-2);margin:0}.soon{flex-grow:1;place-items:center;padding:32px;display:grid}.soon-card{background:var(--surface);width:520px;max-width:100%;box-shadow:var(--shadow-sm);border-radius:20px;flex-direction:column;align-items:flex-start;gap:14px;padding:32px;display:flex}.soon-card h1{font-family:var(--font-display);font-size:30px}.soon-lead{color:var(--ink-2);margin:0;font-size:16px}.soon-card ul{color:var(--ink-2);flex-direction:column;gap:6px;margin:0;padding-left:18px;display:flex}.soon-actions{gap:10px;margin-top:6px;display:flex}.projects{flex-direction:column;flex-grow:1;gap:28px;padding:32px 44px 48px;display:flex;overflow:auto}.page-head{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.page-head h1{font-family:var(--font-display);flex-grow:1;font-size:32px;font-weight:700}.search{background:var(--surface);border:1px solid var(--line);width:300px;height:44px;color:var(--ink-3);border-radius:12px;align-items:center;gap:8px;padding:0 14px;display:flex}.search:focus-within{border-color:var(--stitches)}.search input{color:var(--ink);background:0 0;border:0;outline:0;flex-grow:1;min-width:0;font-size:14px}.welcome{background:var(--surface);box-shadow:var(--shadow-sm);border-radius:20px;flex-direction:column;gap:12px;max-width:720px;padding:36px;display:flex}.welcome h2{font-family:var(--font-display);font-size:24px}.welcome p{color:var(--ink-2);margin:0;font-size:15px}.welcome-actions{gap:10px;margin-top:8px;display:flex}.page-section{flex-direction:column;gap:16px;display:flex}.section-head{align-items:baseline;gap:12px;display:flex}.section-head h2{font-size:17px;font-weight:600}.project-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;display:grid}.project-card{background:var(--surface);box-shadow:var(--shadow-sm);border-radius:16px;flex-direction:column;display:flex}.project-cover{text-align:left;background:0 0;border:0;border-radius:16px 16px 0 0;padding:0;position:relative;overflow:hidden}.knit-cover{background:var(--bg-sunken);padding:14px;display:flex}.knit-cover canvas{border-radius:8px;width:100%;height:112px;display:block;box-shadow:0 2px 6px #14182026}.knit-cover-empty{width:100%;height:112px;color:var(--ink-3);border:1.5px dashed var(--line-strong);border-radius:8px;place-items:center;display:grid}.garment-pill{background:var(--surface);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600;position:absolute;bottom:22px;left:22px;box-shadow:0 1px 3px #00000026}.project-body{flex-direction:column;gap:8px;padding:12px 14px 14px 16px;display:flex}.project-title-row{align-items:center;gap:8px;display:flex}.project-title-row h3{text-overflow:ellipsis;white-space:nowrap;flex-grow:1;min-width:0;font-size:16px;font-weight:600;overflow:hidden}.project-meta{color:var(--ink-2);font-size:13px}.open-in{border-top:1px solid var(--line-soft);align-items:center;gap:6px;margin-top:2px;padding-top:10px;display:flex}.open-in .muted{flex-grow:1}.app-chip{border:0;border-radius:8px;padding:6px 10px;font-size:13px;font-weight:600}.app-chip.app-stitches{color:var(--stitches-ink);background:var(--stitches-soft)}.app-chip.app-garments{color:var(--garments-ink);background:var(--garments-soft)}.app-chip.app-knitting{color:var(--knitting-ink);background:var(--knitting-soft)}.app-chip:disabled{opacity:.45}.chart-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;display:grid}.chart-card{background:var(--surface);box-shadow:var(--shadow-sm);border:0;border-radius:14px;position:relative}.chart-card:hover{box-shadow:0 0 0 1.5px var(--line-strong)}.chart-open{border-radius:inherit;text-align:left;width:100%;height:100%;color:inherit;background:0 0;border:0;flex-direction:column;gap:10px;padding:12px;display:flex}.chart-card-menu{position:absolute;top:18px;right:18px}.chart-card-menu>.icon-btn{background:var(--surface);box-shadow:var(--shadow-float);opacity:0;transition:opacity .12s}.chart-card:hover .chart-card-menu>.icon-btn,.chart-card:focus-within .chart-card-menu>.icon-btn,.chart-card.menu-open .chart-card-menu>.icon-btn{opacity:1}.chart-card-menu .menu{min-width:200px}@media (hover:none){.chart-card-menu>.icon-btn{opacity:1}}.chart-thumb{background:var(--bg-sunken);border-radius:8px;place-items:center;height:120px;display:grid;overflow:hidden}.chart-thumb img{max-width:100%;max-height:100%;image-rendering:pixelated}.chart-card-text{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.chart-card-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;font-weight:600;overflow:hidden}.chart-card .mono{font-size:12px}.chart-card.add{border:1.5px dashed var(--line-strong);box-shadow:none;color:var(--ink-2);background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:170px;padding:12px;font-size:14px;font-weight:500;display:flex}.stitches{flex-direction:column;flex-grow:1;min-height:0;display:flex}.stitches.empty{place-items:center;display:grid}.stitches-head{background:var(--surface);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:10px;height:60px;padding:0 16px 0 20px;display:flex}.crumbs{align-items:center;gap:8px;min-width:0;font-size:14px;display:flex}.crumb{color:var(--ink-2);white-space:nowrap;background:0 0;border:0;padding:0;font-weight:500}.crumb:hover{color:var(--stitches-ink);text-decoration:underline}.crumb-sep{color:var(--ink-4);flex:none}.chart-switch{background:var(--bg);white-space:nowrap;border:0;border-radius:9px;align-items:center;gap:6px;max-width:340px;padding:7px 10px;font-size:15px;font-weight:600;display:inline-flex}.chart-switch:hover{background:#e6e8ec}.size-chip{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);white-space:nowrap;border-radius:9px;padding:6px 10px;font-size:13px}.size-chip:hover{border-color:var(--line-strong)}.size-chip .mono{color:var(--ink)}.save-state{color:var(--ink-3);white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:inline-flex}.save-dot{background:#2e9d6a;border-radius:50%;width:7px;height:7px}.save-state.pending .save-dot{background:var(--ink-5)}.save-state.error{color:var(--danger)}.save-state.error .save-dot{background:var(--danger)}.stitches-body{flex-grow:1;min-height:0;display:flex}.tool-column{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;flex:none;align-items:center;gap:2px;width:60px;padding:12px 0;display:flex;overflow:auto}.tool{width:42px;height:42px;color:var(--ink-2);background:0 0;border:0;border-radius:11px;flex:none;place-items:center;padding:0;display:grid}.tool:hover{background:var(--bg)}.tool.active{background:var(--stitches-soft);color:var(--stitches-ink)}.tool-sep{background:var(--line);flex:none;width:28px;height:1px;margin:6px 0}.tool.knit-toggle{border-radius:12px;flex-direction:column;align-items:center;gap:3px;width:48px;height:auto;padding:7px 0 6px;font-size:10px;font-weight:600;display:flex}.stage{flex:1 1 0;min-width:0;display:flex}.chart-pane{background-color:var(--bg-sunken);background-image:radial-gradient(#d4d8df 1px,#0000 1px);background-size:16px 16px;flex:1 1 0;min-width:0;position:relative}.canvas-scroll{position:absolute;inset:0;overflow:auto}.grid-box{flex:none;position:relative}.resize-handle{z-index:2;background:var(--stitches);border:2px solid var(--surface);width:14px;height:14px;box-shadow:var(--shadow-sm);touch-action:none;border-radius:4px;margin:-7px 0 0 -7px;position:absolute}.side-buttons{z-index:2;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-float);border-radius:10px;gap:2px;padding:2px;display:flex;position:absolute}.side-buttons.vertical{flex-direction:column}.canvas-stage{justify-content:center;align-items:center;width:max-content;min-width:100%;min-height:100%;display:flex}.grid-canvas{touch-action:none;display:block}.floating{z-index:5;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-float);align-items:center;gap:6px;display:flex;position:absolute}.tool-options{white-space:nowrap;border-radius:16px;flex-wrap:wrap;row-gap:4px;width:max-content;max-width:calc(100% - 24px);padding:6px 8px 6px 14px;top:14px;left:50%;transform:translate(-50%)}.tool-options .hint{color:var(--ink-3);font-size:13px}.tool-options .hint.warn{color:var(--warn);align-items:center;gap:5px;display:inline-flex}.tool-options .seg button{align-items:center;gap:6px;display:inline-flex}.tool-options .chip:disabled{color:var(--ink-5);background:0 0}.num-field{align-items:center;gap:6px;padding:0 4px;display:inline-flex}.text-input{border:1px solid var(--line);width:200px;height:34px;font:inherit;background:var(--surface);color:var(--ink);border-radius:9px;padding:0 10px;font-size:14px}.text-input:focus{outline:2px solid var(--stitches);outline-offset:-1px;border-color:#0000}.font-menu{white-space:normal;width:300px}.menu-detail{white-space:normal;font-weight:400;display:block}.motif-chip{padding-left:6px}.pattern-thumb{flex:none;place-items:center;display:inline-grid}.pattern-thumb svg{display:block}.motif-library{white-space:normal;width:372px}.motif-grid{grid-template-columns:repeat(4,1fr);gap:6px;max-height:340px;padding:4px;display:grid;overflow:auto}.menu .motif-tile{text-align:center;border-radius:10px;flex-direction:column;align-items:center;gap:6px;padding:8px 4px;font-size:12px;display:flex}.motif-tile-art{background:var(--bg);border-radius:8px;place-items:center;width:64px;height:56px;display:grid}.menu .motif-tile.current{background:var(--stitches-soft);color:var(--stitches-ink);box-shadow:inset 0 0 0 1.5px var(--stitches)}.menu .motif-tile.current .motif-tile-art{background:var(--surface)}.motif-tile-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.motif-library-foot{border-top:1px solid var(--line);align-items:center;gap:4px;margin-top:4px;padding:8px 4px 2px 6px;display:flex}.motif-library-foot .small svg{vertical-align:-2px}.menu .motif-library-foot button{justify-content:center;width:32px;padding:0}.seg{background:var(--bg);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.seg button{color:var(--ink-2);background:0 0;border:0;border-radius:8px;padding:6px 10px;font-size:13px;font-weight:500}.seg button.active{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 1px 2px #00000014}.position-pill{color:var(--ink-2);font-variant-numeric:tabular-nums;box-shadow:none;pointer-events:none;background:#ffffffeb;border-radius:10px;gap:4px;padding:7px 12px;font-size:13px;bottom:20px;left:16px}.position-pill strong{color:var(--ink)}.view-cluster{border-radius:14px;gap:2px;padding:4px;bottom:18px;right:16px}.view-cluster.dark-shadow{border:0;box-shadow:0 6px 20px #00000040}.zoom-pct{color:var(--ink-2);text-align:center;font-variant-numeric:tabular-nums;background:0 0;border:0;width:46px;padding:0;font-size:12px}.divider{background:var(--surface);border-left:1px solid var(--line);border-right:1px solid var(--line);cursor:col-resize;touch-action:none;flex:none;place-items:center;width:12px;display:grid}.divider span{background:var(--line-strong);border-radius:2px;width:4px;height:40px}.knit-side{flex:0 0 50%;min-width:0;display:flex}.knit-pane{background:#3a4458;flex-grow:1;position:relative}.knit-host{cursor:grab;touch-action:none;position:absolute;inset:0;overflow:hidden}.knit-host:active{cursor:grabbing}.knit-host canvas{width:100%;height:100%;display:block}.inspector{background:var(--surface);border-left:1px solid var(--line);flex-direction:column;flex:none;width:340px;display:flex;overflow:auto}.panel-section{border-bottom:1px solid var(--line-soft);flex-direction:column;gap:12px;padding:16px 18px 18px;display:flex}.panel-section:last-child{border-bottom:0}.panel-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.select-btn{border:1px solid var(--line);background:var(--surface);border-radius:9px;align-items:center;gap:6px;max-width:200px;height:32px;padding:0 8px 0 10px;font-size:13px;font-weight:500;display:inline-flex}.select-btn:hover{border-color:var(--line-strong)}.palette-menu{width:280px}.menu button.palette-option,.palette-row{flex-direction:column;align-items:stretch;gap:6px}.palette-option-head{align-items:center;gap:8px;display:flex}.color-strip{background:var(--line-soft);border-radius:4px;height:8px;display:flex;overflow:hidden}.color-strip span{flex-grow:1}.swatch-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;display:grid}.swatch-grid.tight{gap:6px}.swatch{aspect-ratio:1;border:0;border-radius:9px;width:100%;padding:0;box-shadow:inset 0 0 0 1px #00000014}.swatch.light{box-shadow:inset 0 0 0 1px #0000002e}.swatch.active{box-shadow:var(--ring)}.swatch.sm{border-radius:8px;flex:none;width:28px;height:28px}.swatch.md{flex:none;width:34px;height:34px}.swatch.add{border:1.5px dashed var(--line-strong);box-shadow:none;color:var(--ink-2);background:0 0;place-items:center;display:grid}.swatch-grid .menu-anchor{display:flex}.add-color{gap:10px;width:260px;padding:12px}.add-color-row,.other-color{align-items:center;gap:8px;display:flex}.add-color-row input:not([type=color]){flex-grow:1}.color-well{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;flex:none;width:40px;height:40px;padding:3px}.color-well.sm{width:34px;height:34px}.color-well::-webkit-color-swatch-wrapper{padding:0}.color-well::-webkit-color-swatch{border:0;border-radius:7px}.usage{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.usage li{grid-template-columns:28px minmax(0,1fr) 52px 44px;align-items:center;gap:10px;padding:4px 0;display:grid}.usage-text{flex-direction:column;gap:4px;min-width:0;display:flex}.usage-name{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.usage-bar{background:#eceef2;border-radius:3px;height:5px;overflow:hidden}.usage-bar span{height:100%;display:block}.usage-count{color:var(--ink-3);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px}.change-btn{background:var(--bg);height:30px;color:var(--ink-2);border:0;border-radius:8px;justify-content:center;align-items:center;gap:3px;padding:0;display:inline-flex}.change-btn:hover{background:#e6e8ec}.change-btn.open{background:var(--stitches-soft);box-shadow:inset 0 0 0 1.5px var(--stitches)}.multicolor{background:conic-gradient(#bf392b,#e8b04b,#3e9e6e,#5ba4e7,#7c2d4b,#bf392b);border-radius:4px;width:13px;height:13px;box-shadow:inset 0 0 0 1px #0000001f}.replace-popover{width:296px}.other-color{color:var(--ink-2);font-size:13px}.other-color input.mono{flex-grow:1;width:0;height:34px;font-size:13px}.check{border-radius:12px;align-items:center;gap:10px;padding:12px 12px 12px 14px;display:flex}.check.error{background:var(--danger-soft)}.check.warn{background:var(--warn-soft)}.check.ok{background:var(--bg)}.check-text{color:var(--ink-2);flex-direction:column;flex-grow:1;gap:4px;font-size:13px;display:flex}.check-text strong{font-size:14px}.check.error strong{color:var(--danger)}.check.warn strong{color:var(--warn)}.check.ok strong{color:var(--ok)}.check-eye{background:var(--surface);width:40px;height:40px;color:var(--ink-2);border:0;border-radius:10px;flex:none;place-items:center;display:grid}.check.error .check-eye{color:var(--danger)}.check.warn .check-eye{color:var(--warn)}.check-eye.active{box-shadow:inset 0 0 0 1.5px}.check-eye:disabled{opacity:.4}.num-chip{width:44px;font-family:var(--font-mono);background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:1px 4px 1px 6px;font-size:13px}.palettes{border-top:1px solid var(--line-soft);flex-grow:1;min-height:0;display:flex}.palettes-list{border-right:1px solid var(--line-soft);background:var(--surface-2);flex-direction:column;flex:none;width:280px;display:flex}.palettes-scroll{flex-direction:column;flex-grow:1;gap:2px;padding:10px;display:flex;overflow:auto}.palette-row{text-align:left;background:0 0;border:0;border-radius:10px;padding:10px 12px;font-size:14px;font-weight:500;display:flex}.palette-row:hover{background:var(--bg)}.palette-row.current{background:var(--stitches-soft);font-weight:600}.in-use{color:var(--stitches-ink);font-size:12px;font-weight:600}.palettes-list-actions{border-top:1px solid var(--line-soft);flex-direction:column;gap:8px;padding:12px;display:flex}.palette-pane{flex-direction:column;flex-grow:1;min-width:0;display:flex}.palette-detail-head{align-items:center;gap:8px;padding:16px 20px 12px;display:flex}.palette-detail-head h3{text-overflow:ellipsis;white-space:nowrap;flex-grow:1;min-width:0;font-size:20px;font-weight:600;overflow:hidden}.palette-pane>.panel-head{padding:4px 20px 8px}.palette-colors-scroll{flex-grow:1;padding:0 20px 12px;overflow:auto}.palette-colors{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.palette-colors li{border:1px solid var(--line-soft);background:var(--surface);border-radius:10px;align-items:center;gap:10px;padding:6px 8px 6px 6px;display:flex}.palette-colors li.dragging{opacity:.5}.grip{color:var(--ink-5);cursor:grab;flex:none}.color-text{text-align:left;background:0 0;border:0;flex-direction:column;flex-grow:1;min-width:0;padding:0;font-size:14px;font-weight:500;display:flex}.color-editor{flex-grow:1;align-items:center;gap:6px;min-width:0;display:flex}.color-editor input:not([type=color]){flex:1 1 0;height:34px;padding:0 8px}.color-editor input.hex{flex:0 0 86px;font-size:12px}.color-editor .color-well{width:34px;height:34px}.palette-detail-actions{border-top:1px solid var(--line-soft);flex-wrap:wrap;gap:8px;padding:12px 20px;display:flex}.knitting{flex-direction:column;flex-grow:1;min-height:0;display:flex}.knitting.empty{place-items:center;display:grid}.knitting-head{background:var(--surface);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:10px;min-height:60px;padding:8px 16px 8px 20px;display:flex}.chart-pills{gap:4px;min-width:0;display:flex;overflow-x:auto}.chart-pills button{background:var(--bg);height:36px;color:var(--ink);border:0;border-radius:9px;flex:none;padding:0 12px;font-size:14px}.chart-pills button.active{background:var(--ink);color:#fff;font-weight:600}.method-seg button{align-items:center;gap:7px;padding:7px 14px;font-size:14px;display:inline-flex}.method-seg button:disabled{color:var(--ink-4,var(--ink-3))}.chip.active-knitting{color:var(--knitting-ink);background:var(--knitting-soft)}.knitting-body{flex-grow:1;min-height:0;display:flex}.knit-chart-pane{background:var(--bg-sunken);flex:1 1 0;min-width:0;position:relative}.knit-chart-scroll{position:absolute;inset:0;overflow:auto}.knit-chart-stage{box-sizing:border-box;place-items:center;width:max-content;min-width:100%;min-height:100%;display:grid}.knit-chart-frame{position:relative}.knit-chart-frame canvas{cursor:pointer;display:block}.reading-arrow{color:var(--knitting);transition:top .2s;display:grid;position:absolute;transform:translateY(-50%)}.row-panel{background:var(--surface);border-left:1px solid var(--line);flex-direction:column;flex:none;gap:20px;width:360px;padding:22px;display:flex;overflow:auto}.row-now{flex-direction:column;gap:2px;display:flex}.eyebrow-label{color:var(--ink-3);font-size:13px}.row-number{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:60px;font-weight:700;line-height:1}.row-number span{color:var(--ink-4,var(--ink-3));font-size:22px;font-weight:600}.row-detail{color:var(--ink-2);margin-top:4px;font-size:14px}.panel-block{flex-direction:column;gap:8px;display:flex}.panel-block h2{margin:0;font-size:13px;font-weight:600}.runs{flex-wrap:wrap;gap:6px;display:flex}.run{border:1px solid var(--line);font-variant-numeric:tabular-nums;border-radius:10px;align-items:center;gap:6px;padding:6px 9px;font-size:15px;font-weight:600;display:inline-flex}.run-swatch{border-radius:4px;width:14px;height:14px;box-shadow:inset 0 0 0 1px #00000026}.alerts{flex-direction:column;gap:10px;display:flex}.alert{background:var(--knitting-soft);border-radius:14px;align-items:flex-start;gap:12px;padding:14px;display:flex}.alert>svg{color:var(--knitting);flex:none}.alert div{flex-direction:column;gap:3px;display:flex}.alert strong{color:var(--knitting-ink);font-size:14px}.alert span{color:var(--ink-2);font-size:13px}.alert.warn{background:var(--warn-soft)}.alert.warn>svg,.alert.warn strong{color:var(--warn)}.alert.marker{background:var(--bg)}.alert.marker>svg,.alert.marker strong{color:var(--ink)}.alert.done{margin-top:12px}.markers{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.markers li{border-radius:8px;align-items:center;gap:10px;padding:2px 0 2px 2px;font-size:14px;display:flex}.markers li>svg{color:var(--knitting);flex:none}.markers li.current{font-weight:600}.link-btn{color:var(--knitting-ink);background:0 0;border:0;align-self:flex-start;padding:4px 0;font-size:14px;font-weight:600}.link-btn:hover{text-decoration:underline}.panel-block.settings{border-top:1px solid var(--line);margin-top:auto;padding-top:16px}.panel-block.settings .btn{align-self:flex-start}.setting{color:var(--ink-2);align-items:center;gap:10px;font-size:14px;display:flex}.knitting-foot{background:var(--surface);border-top:1px solid var(--line);flex:none;align-items:center;gap:16px;min-height:80px;padding:12px 20px;display:flex}.knitting-foot .btn.lg{border-radius:14px;height:52px;font-size:15px}.knitting-foot .btn.knit-next{background:var(--knitting);color:#fff;border:0;padding:0 22px;font-size:16px;font-weight:600}.knitting-foot .btn.knit-next:hover:not(:disabled){background:var(--knitting-ink)}.knitting-foot .btn:disabled{opacity:.45}.progress{flex-direction:column;flex:240px;gap:8px;display:flex}.progress-labels{color:var(--ink-2);font-variant-numeric:tabular-nums;justify-content:space-between;font-size:14px;display:flex}.progress-track{background:var(--bg);border-radius:4px;height:8px;overflow:hidden}.progress-track div{background:var(--knitting);border-radius:4px;height:100%;transition:width .2s}.knit-chart-pane.machine{flex-direction:column;display:flex}.machine-chart{flex:1 1 0;min-height:0;position:relative}.bed-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;flex:none;margin:0 16px 16px;padding:12px 14px 10px;box-shadow:0 1px 2px #0000000a}.bed-head{align-items:baseline;gap:10px;margin-bottom:4px;font-size:14px;display:flex}.needle-bed canvas{display:block}.machine-status.busy{background:var(--bg)}.machine-status.busy>svg,.machine-status.busy strong{color:var(--ink)}.machine-status.ok{background:var(--ok-soft)}.machine-status.ok>svg,.machine-status.ok strong{color:var(--ok)}.alert.error{background:var(--danger-soft)}.alert.error>svg,.alert.error strong{color:var(--danger)}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.machine-settings{border:0;gap:10px;min-width:0;margin:0}.machine-settings:disabled{opacity:.55}.setting-row{color:var(--ink-2);justify-content:space-between;align-items:center;gap:10px;font-size:14px;display:flex}.setting-row select,.needle-field select{border:1px solid var(--line);height:34px;color:var(--ink);background:var(--surface);border-radius:9px;min-width:0;max-width:210px;padding:0 8px;font-size:14px}.setting-row .seg button{align-items:center;gap:5px;display:inline-flex}.yarn-list{flex-direction:column;gap:2px;display:flex}.yarn{align-items:center;gap:10px;min-height:32px;font-size:14px;display:flex}.yarn-letter{background:var(--bg);border-radius:6px;flex:none;place-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:grid}.needle-range{align-items:center;gap:6px;display:inline-flex}.needle-field{align-items:center;gap:3px;display:inline-flex}.needle-field select{width:46px;padding:0 4px;font-weight:700}.needle-field select.left{color:#a8720d}.needle-field select.right{color:#2f7a46}.check-row{color:var(--ink-2);align-items:flex-start;gap:10px;font-size:14px;display:flex}.check-row input{accent-color:var(--knitting);margin:3px 0 0}.block{margin-top:2px;display:block}.foot-hint{max-width:260px}
