@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2e4y-bhazgt_v.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.3o0_l_yqebdng.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.2mglm451ism6l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.3bjsqkuy1d2v8.woff2)format("woff2");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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0xluf1kzv7x5w.woff2)format("woff2");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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.45487z7p3r8wm.woff2)format("woff2");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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2e4y-bhazgt_v.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.3o0_l_yqebdng.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.2mglm451ism6l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.3bjsqkuy1d2v8.woff2)format("woff2");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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0xluf1kzv7x5w.woff2)format("woff2");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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.45487z7p3r8wm.woff2)format("woff2");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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2e4y-bhazgt_v.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.3o0_l_yqebdng.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.2mglm451ism6l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.3bjsqkuy1d2v8.woff2)format("woff2");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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0xluf1kzv7x5w.woff2)format("woff2");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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.45487z7p3r8wm.woff2)format("woff2");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:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2e4y-bhazgt_v.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.3o0_l_yqebdng.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.2mglm451ism6l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.3bjsqkuy1d2v8.woff2)format("woff2");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:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0xluf1kzv7x5w.woff2)format("woff2");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:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.45487z7p3r8wm.woff2)format("woff2");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:IBM Plex Sans Fallback;src:local(Arial);ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.0%;size-adjust:101.17%}.ibm_plex_sans_6044a18b-module__IeZqpq__className{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.ibm_plex_sans_6044a18b-module__IeZqpq__variable{--font-plex-sans:"IBM Plex Sans", "IBM Plex Sans Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.3zhtymus0wdqb.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.3nkuoiize4urq.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.1da667lu-u79a.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.1i05ju5aeyhye.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.1dgcou5jor5q_.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.31-2bzhq1gx_9.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.3xauquyg2sixn.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.2taws-qdxmzlf.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.0htwiiqufp3l9.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.28xcb7557rbh2.woff2)format("woff2");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:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_28411002-module__cjC0Ca__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_28411002-module__cjC0Ca__variable{--font-plex-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
@font-face{font-family:Newsreader;font-style:normal;font-weight:400;font-display:swap;src:url(../media/150f724d70372c02-s.2ym9msm88vm4r.woff2)format("woff2");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:Newsreader;font-style:normal;font-weight:400;font-display:swap;src:url(../media/750c737482d9de2f-s.08jxdyhjmo52g.woff2)format("woff2");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:Newsreader;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5f402bd2d8eef81a-s.p.23oeb0afa3wba.woff2)format("woff2");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:Newsreader;font-style:normal;font-weight:500;font-display:swap;src:url(../media/150f724d70372c02-s.2ym9msm88vm4r.woff2)format("woff2");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:Newsreader;font-style:normal;font-weight:500;font-display:swap;src:url(../media/750c737482d9de2f-s.08jxdyhjmo52g.woff2)format("woff2");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:Newsreader;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5f402bd2d8eef81a-s.p.23oeb0afa3wba.woff2)format("woff2");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:Newsreader Fallback;src:local(Times New Roman);ascent-override:69.68%;descent-override:25.12%;line-gap-override:0.0%;size-adjust:105.48%}.newsreader_6aa4d7c6-module__a0ZaVG__className{font-family:Newsreader,Newsreader Fallback;font-style:normal}.newsreader_6aa4d7c6-module__a0ZaVG__variable{--font-newsreader:"Newsreader", "Newsreader Fallback"}
:root{--background:#eee9df;--shell:#f2eee5;--panel:#faf8f2;--canvas:#f4f1e9;--field:#fff;--ink:#33302a;--muted:#837d6f;--quiet:#a29a88;--line:#e0dacd;--line-soft:#ece6d9;--accent:#6e7a6b;--accent-deep:#4d5a4b;--accent-soft:#eceee8;--radius:12px;--font-ui:var(--font-plex-sans), "Avenir Next", "Segoe UI", sans-serif;--font-mono:var(--font-plex-mono), "SFMono-Regular", Consolas, monospace;--font-display:var(--font-newsreader), Georgia, serif}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--background);color:var(--ink);font-family:var(--font-ui);padding:38px}button,input,select{font:inherit}button{color:inherit}.app-shell{background:var(--shell);border:1px solid #ded8ca;border-radius:15px;max-width:1360px;min-height:calc(100vh - 76px);margin:0 auto;overflow:hidden;box-shadow:0 24px 60px #3c322321}.chart-maker-loading{flex-direction:column;justify-content:center;align-items:center;gap:13px;display:flex}.chart-maker-loading .brand-mark{width:28px;height:28px}.chart-maker-loading p{color:var(--muted);margin:0;font-size:12px}.topbar{background:var(--panel);border-bottom:1px solid var(--line-soft);align-items:stretch;gap:16px;padding:20px 28px;display:grid}.project-bar{align-items:center;gap:20px;min-width:0;display:flex}.brand-lockup{letter-spacing:.01em;flex:none;align-items:center;gap:10px;font-size:22px;font-weight:500;display:flex}.brand-mark{border:2px solid var(--accent);border-radius:50%;width:23px;height:23px;display:block;position:relative}.brand-mark:after{border:1px solid var(--accent);content:"";opacity:.5;border-radius:50%;position:absolute;inset:4px}.brand-divider{background:var(--line-soft);width:1px;height:32px}.project-identity{gap:3px;min-width:0;display:grid}.project-identity label{color:#96907f;letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:600}.topbar-actions,.workflow-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.file-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.account-actions{align-items:center;gap:8px;display:flex}.header-link{color:var(--accent-deep);white-space:nowrap;padding:8px 4px;font-size:12px;font-weight:600;text-decoration:none}.header-link:hover{text-decoration:underline}.sign-in-link{border:1px solid var(--line);border-radius:9px;padding:8px 13px}.account-chip{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:700;text-decoration:none;display:flex}.account-chip .account-avatar{width:100%;height:100%}.help-button{color:var(--accent-deep);background:#f6f3eb;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;min-height:32px;padding:0;font-family:Georgia,serif;font-size:17px;display:flex}@keyframes cloud-pulse{50%{opacity:.35}}.chart-tabs-bar{border-bottom:1px solid var(--line);background:#ebe6dc;align-items:flex-end;gap:8px;min-width:0;padding:9px 18px 0;display:flex}.chart-tabs{scrollbar-width:thin;align-items:flex-end;gap:4px;min-width:0;display:flex;overflow-x:auto}.chart-tab{background:#e2ddd2;border:1px solid #0000;border-bottom:0;border-radius:9px 9px 0 0;flex:none;align-items:center;min-width:112px;max-width:210px;display:flex}.chart-tab.active{background:var(--panel);border-color:var(--line);margin-bottom:-1px;padding-bottom:1px}.chart-tab button{box-shadow:none;background:0 0;border:0;min-height:36px}.chart-tab button:hover:not(:disabled){box-shadow:none;transform:none}.chart-tab-select{text-align:left;text-overflow:ellipsis;white-space:nowrap;padding:7px 5px 7px 12px;overflow:hidden}.chart-tab-close{color:var(--muted);flex:none;padding:5px 9px 5px 5px;font-size:17px}.chart-tab-close:disabled{visibility:hidden}.new-chart-tab{box-shadow:none;white-space:nowrap;background:0 0;border:0;flex:none;min-height:30px;margin-bottom:4px;padding:5px 9px;font-size:12px}.new-chart-tab:hover:not(:disabled){box-shadow:none;transform:none}.chart-tab-actions{flex:none;align-items:center;gap:2px;display:flex}.eyebrow{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin:0 0 4px;font-size:11px;font-weight:700}.project-name{color:var(--ink);background:0 0;border:1px solid #0000;border-radius:7px;width:min(520px,48vw);height:28px;margin-left:-6px;padding:2px 5px;font-size:19px;font-weight:400}.project-name:focus{border-color:var(--line);outline:2px solid var(--accent-soft);background:#fff}.history-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.save-status{color:#96907f;white-space:nowrap;align-items:center;gap:7px;margin-left:auto;font-size:12px;display:flex}.save-status>span{background:var(--accent);border-radius:50%;width:6px;height:6px}button{background:var(--field);border:1px solid var(--line);cursor:pointer;border-radius:9px;min-height:34px;padding:8px 13px;transition:border-color .16s,box-shadow .16s,color .16s,transform .16s;box-shadow:0 1px 2px #3c32230a}button:hover:not(:disabled){border-color:var(--accent);color:var(--accent-deep);transform:translateY(-1px);box-shadow:0 4px 10px #3c322317}button:disabled{cursor:default;opacity:.42}.primary-button{background:var(--accent);border-color:var(--accent);color:#fff}.primary-button:hover:not(:disabled){background:var(--accent-deep);border-color:var(--accent-deep);color:#fff}.danger-button{color:#fff;background:#a64c40;border-color:#a64c40}.danger-button:hover:not(:disabled){color:#fff;background:#863b32;border-color:#863b32}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.file-menu{position:relative}.file-menu-popover{background:var(--panel);border:1px solid var(--line);z-index:15;border-radius:10px;min-width:265px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 14px 38px #3c32232e}.file-menu-popover button,.file-menu-popover a{color:var(--ink);font:inherit;text-align:left;background:0 0;border:0;border-radius:7px;justify-content:flex-start;align-items:center;width:100%;min-height:34px;padding:8px 10px;text-decoration:none;display:flex}.file-menu-popover button:hover,.file-menu-popover a:hover{box-shadow:none;color:var(--accent-deep);background:#f3f5f3;border-color:#0000;transform:none}.file-menu-divider{border-top:1px solid var(--line);margin:5px 3px}.file-menu-section-label{color:#96907f;letter-spacing:.11em;text-transform:uppercase;margin:5px 10px 2px;font-size:9px;font-weight:700}.file-menu-cloud-status{color:var(--muted);max-width:230px;margin:5px 10px;font-size:11px;line-height:1.35}.file-menu-cloud-status:before{background:var(--accent);content:"";border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.file-menu-cloud-status.saving:before{animation:1s infinite cloud-pulse}.file-menu-cloud-status.error{color:#943f32}.file-menu-cloud-status.error:before{background:#943f32}.file-menu-message{color:var(--muted);max-width:210px;margin:5px 7px 4px;font-size:11px;line-height:1.4}.modal-backdrop{z-index:20;background:#33302a85;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.tutorial-backdrop{z-index:45;background:#232825a8;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow:auto}.tutorial-welcome{background:var(--panel);border:1px solid #ffffffa6;border-radius:18px;grid-template-columns:minmax(240px,.82fr) minmax(420px,1.4fr);gap:24px;width:100%;max-width:940px;max-height:calc(100vh - 48px);padding:28px;display:grid;position:relative;overflow:auto;box-shadow:0 28px 90px #1f252152}.tutorial-close{z-index:1;position:absolute;top:16px;right:18px}.tutorial-welcome-copy{align-content:center;padding:12px 6px;display:grid}.tutorial-yarn-mark{background:var(--accent);box-shadow:0 0 0 1px var(--accent), inset 0 0 0 5px #ffffff26;border:2px solid #f5f1e7;border-radius:50%;width:36px;height:36px;margin-bottom:18px;position:relative}.tutorial-yarn-mark:after{border-bottom:2px solid var(--accent);content:"";border-radius:50%;width:42px;height:21px;position:absolute;top:17px;left:28px;transform:rotate(10deg)}.tutorial-welcome-copy h1{letter-spacing:-.025em;margin:3px 0 14px;font-family:Georgia,Times New Roman,serif;font-size:clamp(28px,3.4vw,42px);font-weight:400;line-height:1.02}.tutorial-welcome-copy>p:not(.eyebrow){color:var(--muted);max-width:360px;margin:0;font-size:13px;line-height:1.6}.tutorial-welcome-actions{flex-wrap:wrap;gap:8px;margin-top:22px;display:flex}.tutorial-examples{grid-template-columns:1fr 1fr;gap:12px;display:grid}.tutorial-example-card{border:1px solid var(--line);background:#f4f1e9;border-radius:12px;grid-template-rows:160px 1fr;display:grid;overflow:hidden}.tutorial-example-card canvas{height:160px;image-rendering:pixelated;background:#f5f1e8;width:100%;display:block}.tutorial-example-card>div{border-top:1px solid var(--line);align-content:start;padding:14px;display:grid}.tutorial-example-card span{color:var(--accent);letter-spacing:.11em;text-transform:uppercase;font-size:9px;font-weight:700}.tutorial-example-card h2{margin:4px 0 5px;font-family:Georgia,Times New Roman,serif;font-size:19px;font-weight:400}.tutorial-example-card p{color:var(--muted);margin:0 0 12px;font-size:11px;line-height:1.45}.tutorial-example-card button{place-self:end start;margin-top:auto}.tutorial-limit-note{color:#943f32;text-align:right;grid-column:1/-1;margin:-12px 0 0;font-size:11px}.tour-layer{pointer-events:none;z-index:60;position:fixed;inset:0}.tour-dim{background:#1f24219e;position:absolute;inset:0}.tour-highlight{border:2px solid #9bc09a;border-radius:12px;transition:height .2s,left .2s,top .2s,width .2s;position:fixed;box-shadow:0 0 0 9999px #1f2421a3,0 0 0 5px #9bc09a42}.tour-card{background:var(--panel);pointer-events:auto;border:1px solid #c9d9c7;border-radius:13px;padding:17px;display:grid;position:fixed;box-shadow:0 18px 48px #1c221e47}.tour-card-progress{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:10px;display:flex}.tour-card-progress button{box-shadow:none;color:var(--muted);background:0 0;border:0;min-height:22px;padding:0 2px;font-size:20px;line-height:1}.tour-card h2{margin:2px 0 8px;font-family:Georgia,Times New Roman,serif;font-size:23px;font-weight:400;line-height:1.1}.tour-card>p:not(.eyebrow){color:var(--muted);margin:0;font-size:12px;line-height:1.55}.tour-card-actions{justify-content:space-between;align-items:center;gap:10px;margin-top:17px;display:flex}.tour-card-actions>button{box-shadow:none;color:var(--muted);background:0 0;border:0;padding-left:0}.tour-card-actions>div{gap:7px;display:flex}.import-dialog{background:var(--panel);border:1px solid var(--line);border-radius:14px;gap:16px;width:100%;max-width:560px;max-height:calc(100vh - 40px);padding:22px;display:grid;overflow:auto;box-shadow:0 24px 70px #3c322347}.import-dialog-heading{justify-content:space-between;align-items:flex-start;display:flex}.close-tab-dialog{max-width:440px}.close-dialog{color:var(--muted);background:0 0;border:0;min-height:30px;padding:0 4px;font-size:24px;line-height:1}.import-preview{background:var(--canvas);border:1px solid var(--line);border-radius:9px;width:100%;max-height:48vh;overflow:hidden}.crop-canvas{object-fit:contain;touch-action:none;width:100%;height:100%;display:block}.crop-canvas.draggable{cursor:grab}.crop-canvas.draggable:active{cursor:grabbing}.crop-hint{color:var(--muted);text-align:center;margin:-10px 0 0;font-size:11px}.import-options{grid-template-columns:1fr 1fr;gap:10px;display:grid}.image-zoom{gap:7px}.image-zoom input{accent-color:var(--accent);width:100%}.import-note{color:var(--muted);margin:0;font-size:12px;line-height:1.45}.import-error{color:#943f32;background:#fff1ef;border-radius:6px;margin:0;padding:8px;font-size:12px}.import-trigger-error{color:#943f32;max-width:170px;font-size:11px}.import-actions{justify-content:flex-end;gap:8px;display:flex}.ai-dialog{max-width:620px}.ai-access-dialog{max-width:480px}.ai-form{gap:16px;display:grid}.ai-form textarea{border:1px solid var(--line);color:var(--ink);font:inherit;resize:vertical;border-radius:7px;width:100%;min-height:125px;padding:10px;line-height:1.5}.ai-form textarea:focus{border-color:var(--accent);outline:2px solid var(--accent-soft)}.ai-settings{grid-template-columns:1fr 1fr;gap:12px;display:grid}.ai-colour-control{gap:6px;display:grid}.ai-colour-control>span{color:var(--muted);font-size:12px}.ai-colour-mode{grid-template-columns:1fr 1fr;display:grid}.ai-colour-mode button{border-radius:0;min-height:30px;padding:4px 8px}.ai-colour-mode button:first-child{border-radius:6px 0 0 6px}.ai-colour-mode button:last-child{border-left:0;border-radius:0 6px 6px 0}.ai-colour-mode button.selected{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:700}.ai-colour-range{grid-template-columns:1fr 1fr;gap:8px;display:grid}.ai-colour-range label{gap:3px}.ai-colour-range select{height:32px}.ai-chart-summary{background:#f6f5f2;border-radius:7px;gap:2px;padding:9px 11px;display:grid}.ai-chart-summary span,.ai-chart-summary small{color:var(--muted);font-size:11px}.ai-chart-summary strong{font-size:15px}.ai-layout-control{gap:6px;display:grid}.ai-layout-control>span{color:var(--muted);font-size:12px}.ai-layout-options{grid-template-columns:1fr 1fr;gap:8px;display:grid}.ai-layout-options button{text-align:left;align-items:start;gap:2px;padding:9px 11px;display:grid}.ai-layout-options button strong{font-size:12px}.ai-layout-options button small{color:var(--muted);font-size:10px}.ai-layout-options button.selected{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.ai-loading{background:var(--accent-soft);color:var(--accent);border-radius:7px;margin:0;padding:10px;font-size:12px}.ai-preview{background:var(--canvas);border:1px solid var(--line);border-radius:9px;justify-content:center;align-items:center;width:100%;max-height:52vh;display:flex;overflow:hidden}.ai-preview img{height:100%;image-rendering:pixelated;object-fit:cover;width:100%;display:block}.ai-reference{border:1px solid var(--line);background:#f6f5f2;border-radius:8px;padding:12px}.ai-reference-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.ai-reference-heading>div{gap:2px;display:grid}.ai-reference-heading span{color:var(--muted);font-size:11px}.ai-reference-upload{cursor:pointer;white-space:nowrap;margin:0}.ai-reference-upload input{display:none}.ai-reference-selected{border-top:1px solid var(--line);grid-template-columns:64px 1fr auto;align-items:center;gap:12px;margin-top:10px;padding-top:10px;display:grid}.ai-reference-selected img{object-fit:cover;border-radius:6px;width:64px;height:56px}.ai-reference-selected>div{gap:6px;min-width:0;display:grid}.ai-reference-selected>div>strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ai-reference-selected label{gap:8px;margin:0;display:flex}.ai-reference-selected select{min-width:180px}.ai-edit-panel{border:1px solid var(--line);background:#f6f5f2;border-radius:8px;grid-template-columns:1fr auto;align-items:end;gap:10px;padding:12px;display:grid}.ai-edit-panel label{margin:0}.ai-edit-panel textarea{border:1px solid var(--line);color:var(--ink);font:inherit;resize:vertical;border-radius:7px;width:100%;min-height:64px;padding:9px 10px;line-height:1.4}.ai-edit-panel textarea:focus{border-color:var(--accent);outline:2px solid var(--accent-soft)}.resize-chart-button{width:100%;margin-top:10px}.resize-dialog{max-width:540px}.resize-options{gap:10px;display:grid}.resize-choice{border:1px solid var(--line);text-align:left;background:#fff;border-radius:8px;align-items:start;gap:5px;padding:14px;display:grid;position:relative}.resize-choice:hover{border-color:var(--accent)}.resize-choice strong{font-size:14px}.resize-choice span{color:var(--muted);padding-right:74px;font-size:12px;line-height:1.45}.resize-choice small{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:4px 7px;font-size:10px;position:absolute;top:12px;right:12px}.instructions-dialog{max-width:900px}.instruction-settings{border:1px solid var(--line);background:#f6f5f2;border-radius:8px;grid-template-columns:repeat(3,1fr);gap:10px;padding:12px;display:grid}.instruction-trim-option{border-top:1px solid var(--line);cursor:pointer;grid-column:1/-1;align-items:start;gap:9px;padding-top:10px;display:flex}.instruction-trim-option input{accent-color:var(--accent);margin:2px 0 0}.instruction-trim-option span{color:var(--ink);gap:2px;display:grid}.instruction-trim-option strong{font-size:12px}.instruction-trim-option small{color:var(--muted);font-size:11px;line-height:1.4}.instruction-setting-note{color:var(--muted);background:#fff;border-radius:6px;grid-column:1/-1;margin:0;padding:8px 9px;font-size:11px;line-height:1.4}.instruction-sheet{color:#202522;gap:22px;display:grid}.instruction-title-block{border-bottom:2px solid #202522;padding-bottom:12px}.instruction-title-block h1{font-size:26px}.instruction-title-block>p:last-child{color:var(--muted);margin:6px 0 0;font-size:12px}.instruction-title-block .instruction-crop-note{color:#4d554f;background:#f6f5f2;border-radius:6px;margin-top:9px;padding:7px 9px;font-size:11px;line-height:1.45}.instructions-chart{background:#fff;border:1px solid #333;width:100%;max-height:440px;display:block}.instruction-grid-line{stroke:#1414147a;stroke-width:.5px;vector-effect:non-scaling-stroke}.instruction-grid-major{stroke:#0a0a0acc;stroke-width:1px;vector-effect:non-scaling-stroke}.instruction-cell-symbol{fill:#111;font-family:var(--font-ui);paint-order:stroke;stroke:#ffffffe6;stroke-width:.12px;font-weight:700}.instruction-section{break-inside:avoid}.instruction-section h2{border-bottom:1px solid var(--line);margin-bottom:10px;padding-bottom:6px;font-size:16px}.instruction-section p{margin:7px 0;font-size:13px;line-height:1.55}.instruction-overview{grid-template-columns:1fr 1fr;gap:8px 18px;display:grid}.instruction-overview>div{gap:2px;display:grid}.instruction-overview strong{text-transform:uppercase;font-size:11px}.instruction-overview span{font-size:13px}.instruction-colours{grid-template-columns:1fr 1fr;gap:7px;display:grid}.instruction-colours>div{grid-template-columns:20px 38px 1fr auto;align-items:center;gap:7px;font-size:12px;display:grid}.instruction-colours>div:has(.instruction-key-symbol){grid-template-columns:20px 22px 38px 1fr auto}.instruction-key-symbol{text-align:center;font-size:15px}.instruction-colours code{color:var(--muted);font-size:10px}.instruction-swatch{border:1px solid #00000040;border-radius:50%;width:18px;height:18px}.instruction-note{color:var(--muted)}.written-row-list{columns:2 300px;margin:0;padding:0;font-size:12px;line-height:1.5;list-style:none}.written-row-list li{break-inside:avoid;margin:0 0 5px}.written-row-math{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:8px;font-size:10px;display:block}@keyframes auth-strand-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes auth-yarn-bob{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-7px)rotate(3deg)}}@keyframes auth-form-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes auth-chart-background-colour{0%,16%{background-color:#e6e1d5}20%,36%{background-color:#efe7d6}40%,56%{background-color:#e4e6e0}60%,76%{background-color:#f0e8da}80%,96%{background-color:#e8e2d3}to{background-color:#e6e1d5}}@keyframes auth-chart-motif-colour{0%,16%{background-color:#6e7a6b}20%,36%{background-color:#7a2e2a}40%,56%{background-color:#46557e}60%,76%{background-color:#a9613c}80%,96%{background-color:#4d5a4b}to{background-color:#6e7a6b}}@keyframes auth-colourway-one{0%,16%,to{opacity:1}20%,96%{opacity:0}}@keyframes auth-colourway-two{0%,16%,40%,to{opacity:0}20%,36%{opacity:1}}@keyframes auth-colourway-three{0%,36%,60%,to{opacity:0}40%,56%{opacity:1}}@keyframes auth-colourway-four{0%,56%,80%,to{opacity:0}60%,76%{opacity:1}}@keyframes auth-colourway-five{0%,76%,to{opacity:0}80%,96%{opacity:1}}.auth-page{justify-content:center;align-items:center;min-height:calc(100vh - 76px);display:flex}.auth-shell{background:var(--panel);border:1px solid #ded7c8;border-radius:18px;grid-template-columns:minmax(260px,34%) minmax(0,1fr);width:100%;max-width:920px;min-height:690px;display:grid;overflow:hidden;box-shadow:0 26px 64px #3c32232e}.auth-story-panel{background:var(--accent);flex-direction:column;justify-content:space-between;min-height:690px;padding:36px 32px;display:flex;position:relative;overflow:hidden}.auth-brand{color:#f3f5f1;font-family:var(--font-display);z-index:3;align-items:center;gap:10px;font-size:22px;font-weight:500;text-decoration:none;display:flex;position:relative}.auth-brand:hover{color:#fff}.auth-brand-mark{border:2px solid #dfe3dc;border-radius:50%;width:21px;height:21px;display:block;position:relative}.auth-brand-mark:after{content:"";opacity:.55;border:1px solid #dfe3dc;border-radius:50%;position:absolute;inset:4px}.auth-yarn-art{pointer-events:none;position:absolute;inset:0}.auth-yarn-ball{transform-origin:50%;z-index:2;width:118px;height:118px;animation:5.5s ease-in-out infinite auth-yarn-bob;position:absolute;top:112px;left:23px}.auth-yarn-strand{z-index:1;width:100%;height:100%;position:absolute;inset:0}.auth-yarn-strand path{fill:none;stroke:#e2b98a;stroke-dasharray:1;stroke-linecap:round;stroke-width:3px;vector-effect:non-scaling-stroke;animation:2.6s ease-out both auth-strand-draw}.auth-story-copy{z-index:2;position:relative}.auth-mini-chart{background:#f3f5f124;border-radius:8px;gap:3px;width:170px;margin-bottom:22px;padding:9px;display:grid}.auth-mini-chart>div{grid-template-columns:repeat(12,1fr);gap:3px;display:grid}.auth-mini-chart span{aspect-ratio:1;border-radius:2px;display:block}.auth-mini-chart .background{background:#e6e1d5;animation:18s ease-in-out infinite auth-chart-background-colour}.auth-mini-chart .motif{background:#6e7a6b;animation:18s ease-in-out infinite auth-chart-motif-colour}.auth-story-heading{color:#f3f5f1;font-family:var(--font-display);max-width:220px;margin:0 0 11px;font-size:29px;font-weight:400;line-height:1.16}.auth-story-body{color:#d3d9d0;max-width:225px;margin:0 0 16px;font-size:12px;line-height:1.7}.auth-story-note{color:#b8c3b5;font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:9px}.auth-colourway-name{display:inline-grid}.auth-colourway-name span{opacity:0;grid-area:1/1}.auth-colourway-name span:first-child{opacity:1;animation:18s ease-in-out infinite auth-colourway-one}.auth-colourway-name span:nth-child(2){animation:18s ease-in-out infinite auth-colourway-two}.auth-colourway-name span:nth-child(3){animation:18s ease-in-out infinite auth-colourway-three}.auth-colourway-name span:nth-child(4){animation:18s ease-in-out infinite auth-colourway-four}.auth-colourway-name span:nth-child(5){animation:18s ease-in-out infinite auth-colourway-five}.auth-form-panel{flex-direction:column;justify-content:center;min-width:0;padding:48px clamp(34px,6vw,68px);animation:.4s ease-out both auth-form-rise;display:flex}.auth-back-link{color:var(--accent-deep);align-self:flex-start;margin-bottom:38px;font-size:11px;font-weight:600;text-decoration:none}.auth-back-link:hover{text-decoration:underline}.auth-form-heading{margin-bottom:26px}.auth-form-heading h1{font-family:var(--font-display);letter-spacing:-.02em;margin:5px 0 9px;font-size:clamp(34px,4vw,42px);font-weight:400;line-height:1.08}.auth-form-heading>p:last-child{color:var(--muted);max-width:390px;margin:0;font-size:12px;line-height:1.6}.auth-clerk-wrap{min-height:265px}.auth-clerk-root,.auth-clerk-card-box,.auth-clerk-card{width:100%!important;max-width:none!important}.auth-clerk-card-box,.auth-clerk-card{box-shadow:none!important;background:0 0!important;border:0!important;margin:0!important}.auth-clerk-card{padding:0!important}.auth-clerk-hidden{display:none!important}.auth-clerk-label{color:#777060!important;font-size:11px!important;font-weight:500!important}.auth-clerk-input{box-shadow:none!important;color:var(--ink)!important;background:#fff!important;border-color:#ddd6c6!important;min-height:43px!important}.auth-clerk-input:focus{border-color:var(--accent)!important;box-shadow:0 0 0 2px #6e7a6b29!important}.auth-clerk-submit{background:var(--ink)!important;border:1px solid var(--ink)!important;box-shadow:none!important;color:#faf8f2!important;min-height:44px!important}.auth-clerk-submit:hover{background:var(--accent-deep)!important}.auth-clerk-action,.auth-clerk-footer-link{color:var(--accent-deep)!important}.auth-clerk-footer{background:0 0!important;padding:18px 0 0!important}.auth-clerk-footer-text{color:var(--muted)!important}.auth-clerk-social-button{box-shadow:none!important;background:#fff!important;border-color:#ddd6c6!important}.auth-clerk-divider{background:#ddd6c6!important}.auth-clerk-divider-text{color:var(--quiet)!important}.auth-clerk-identity{background:#f1eee6!important;border:0!important}.auth-clerk-otp{border-color:#ddd6c6!important}.auth-guest-route{border-top:1px dashed #ddd6c6;justify-content:space-between;align-items:center;gap:18px;margin-top:30px;padding-top:22px;display:flex}.auth-guest-route p{color:var(--quiet);margin:0;font-size:11px;line-height:1.45}.auth-guest-route a{color:#5c5647;border:1px solid #cfc7b4;border-radius:9px;flex:none;padding:10px 13px;font-size:11px;font-weight:600;text-decoration:none}.auth-guest-route a:hover{border-color:var(--accent);color:var(--accent-deep)}@media (prefers-reduced-motion:reduce){.auth-mini-chart .background,.auth-mini-chart .motif,.auth-colourway-name span{animation:none}}.account-hub-page{background:#e9e6df;min-height:100vh;padding:0 24px 60px}.account-hub-nav{border-bottom:1px solid #4641371f;justify-content:space-between;align-items:center;max-width:1120px;min-height:72px;margin:0 auto;display:flex}.account-hub-nav>div{align-items:center;gap:24px;display:flex}.account-hub-nav a{color:var(--accent-deep);font-size:12px;font-weight:600;text-decoration:none}.account-hub-nav a:hover{text-underline-offset:3px;text-decoration:underline}.account-hub-brand{font-family:var(--font-ui);letter-spacing:.01em;align-items:center;gap:9px;display:inline-flex;color:var(--ink)!important;font-size:22px!important;font-weight:500!important}.account-hub-brand>span{border:2px solid var(--accent);border-radius:50%;width:20px;height:20px;position:relative}.account-hub-brand>span:after{border:1px solid var(--accent);content:"";opacity:.55;border-radius:50%;position:absolute;inset:4px}.account-hub-nav .account-chart-maker-link{background:var(--accent);border:1px solid var(--accent);color:#fff;border-radius:999px;padding:9px 15px}.account-hub-nav .account-chart-maker-link:hover{background:var(--accent-deep);color:#fff;text-decoration:none}.account-hub-shell{max-width:980px;margin:0 auto;padding-top:54px}.account-hub-heading{align-items:center;gap:20px;margin-bottom:30px;display:flex}.account-hub-heading>.account-avatar{flex:none;width:64px;height:64px;box-shadow:0 7px 18px #3c322324}.account-hub-heading h1{font-family:var(--font-ui);letter-spacing:-.01em;margin:2px 0 3px;font-size:28px;font-weight:500}.account-hub-heading p{color:var(--muted);margin:0;font-size:12px}.account-hub-heading .eyebrow{color:var(--accent-deep);font-size:9px}.account-hub-grid{grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:18px;display:grid}.account-hub-card{background:var(--panel);border:1px solid #ddd6c6;border-radius:15px;align-content:start;gap:18px;padding:25px;display:grid;box-shadow:0 12px 30px #3c322314}.account-hub-card h2{font-family:var(--font-ui);letter-spacing:-.005em;margin:4px 0 7px;font-size:16px;font-weight:600}.account-hub-card>div>p:not(.account-card-kicker),.account-hub-card>p{color:var(--muted);margin:0;font-size:11px;line-height:1.6}.account-card-kicker{color:var(--accent-deep);font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;margin:0;font-size:8px}.account-profile-card,.account-ai-card{grid-row:span 2}.account-ai-card{grid-column:1}.account-signout-card{grid-column:2}.account-card-icon{background:var(--accent-soft);color:var(--accent-deep);font-family:var(--font-display);border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-size:25px;display:flex}.account-avatar{background:var(--accent);color:#fff;font-family:var(--font-ui);letter-spacing:-.02em;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:700;line-height:1;display:inline-flex}.account-avatar.symbol{font-family:Georgia,serif;font-size:20px}.account-avatar-editor{grid-template-columns:76px minmax(0,1fr);align-items:start;gap:20px;display:grid}.account-avatar-preview{background:#f0ede3;border-radius:14px;justify-content:center;align-items:center;width:76px;height:76px;display:flex}.account-avatar-preview .account-avatar{width:58px;height:58px;font-size:27px}.account-avatar-options{gap:12px;display:grid}.account-symbol-picker{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.account-symbol-picker button{border:1px solid var(--line);box-shadow:none;color:var(--muted);background:#fff;border-radius:10px;place-items:center;gap:5px;min-height:70px;padding:8px 4px;font-size:8px;display:grid}.account-symbol-picker button:hover{border-color:var(--accent);box-shadow:none;transform:none}.account-symbol-picker button.selected{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-deep)}.account-symbol-picker .account-avatar{width:33px;height:33px}.account-initials-field{flex-direction:row;justify-content:space-between;align-items:center;display:flex}.account-initials-field input{border:1px solid var(--line);font-family:var(--font-ui);letter-spacing:-.02em;text-align:center;text-transform:uppercase;background:#fff;border-radius:8px;width:52px;height:38px;padding:4px;font-size:14px;font-weight:700}.account-color-field{justify-content:space-between;align-items:center;display:flex}.account-color-field>span{color:var(--muted);font-size:12px}.account-color-picker{align-items:center;gap:7px;display:flex}.account-color-picker button{box-shadow:none;background:0 0;border:1px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;min-height:34px;padding:3px;display:flex}.account-color-picker button:hover{box-shadow:none;transform:none}.account-color-picker button.selected{border-color:var(--ink)}.account-color-picker button span{border:1px solid #0000001f;border-radius:50%;width:22px;height:22px;display:block}.account-save-avatar{justify-self:start}.secondary-link{color:var(--accent-deep);border:1px solid #cfc7b4;border-radius:9px;justify-content:center;align-items:center;min-height:38px;padding:8px 12px;font-size:11px;font-weight:600;text-decoration:none;display:inline-flex}.secondary-link:hover{border-color:var(--accent)}.account-hub-card .key-connection,.account-hub-card .account-form{gap:10px}.account-hub-card .account-form input{min-height:39px}.account-hub-card .connection-status{padding:10px}.account-signout-card .secondary-button{background:0 0;justify-self:start}.account-security-shell{gap:24px;max-width:980px;margin:0 auto;padding-top:42px;display:grid}.account-security-shell h1{font-family:var(--font-ui);letter-spacing:-.01em;margin:4px 0 0;font-size:28px;font-weight:500}.account-security-profile{width:100%;min-height:520px;display:flex}.account-security-profile>*{width:100%!important;max-width:none!important}@media (max-width:760px){.account-hub-page{padding-left:15px;padding-right:15px}.account-hub-nav>div{gap:13px}.account-hub-shell{padding-top:34px}.account-hub-grid{grid-template-columns:1fr}.account-profile-card,.account-ai-card,.account-signout-card{grid-area:auto/1}.account-avatar-editor{grid-template-columns:1fr}.account-avatar-preview{width:64px;height:64px}.account-symbol-picker{grid-template-columns:repeat(2,minmax(0,1fr))}}.library-page{background:#e9e6df;min-height:100vh;margin:-38px;padding:0 24px 64px}.library-nav{border-bottom:1px solid #4641371f;align-items:center;gap:34px;max-width:1240px;min-height:72px;margin:0 auto;display:flex}.library-brand{color:var(--ink);letter-spacing:.01em;flex:none;align-items:center;gap:9px;font-size:22px;font-weight:500;text-decoration:none;display:inline-flex}.library-brand>span{border:2px solid var(--accent);border-radius:50%;width:21px;height:21px;position:relative}.library-brand>span:after{border:1px solid var(--accent);content:"";opacity:.55;border-radius:50%;position:absolute;inset:4px}.library-main-nav{align-items:center;gap:5px;display:flex}.library-main-nav a{color:var(--muted);border-radius:8px;padding:9px 13px;font-size:12px;font-weight:500;text-decoration:none}.library-main-nav a.active{background:var(--accent-soft);color:var(--accent-deep)}.library-account-link{color:#5c5647;align-items:center;gap:9px;min-width:0;max-width:260px;margin-left:auto;font-size:12px;text-decoration:none;display:flex}.library-account-link>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.library-account-link .account-avatar{flex:none;width:31px;height:31px}.library-shell{max-width:1240px;margin:0 auto;padding-top:42px}.library-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.library-heading h1{font-family:var(--font-ui);letter-spacing:-.015em;margin:0 0 6px;font-size:30px;font-weight:500}.library-heading p{color:var(--muted);margin:0;font-size:12px}.library-new-chart{border-radius:999px;align-items:center;gap:6px;padding:9px 16px;font-size:12px;font-weight:600;display:inline-flex}.library-new-chart>span{font-size:16px;font-weight:400;line-height:.8}.library-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:26px;display:flex}.library-search{flex:1;min-width:240px;max-width:390px;position:relative}.library-search>span{color:var(--quiet);font-family:var(--font-display);pointer-events:none;font-size:22px;line-height:1;position:absolute;top:8px;left:13px}.library-search input{background:var(--panel);border:1px solid var(--line);color:var(--ink);border-radius:10px;width:100%;height:40px;padding:9px 14px 9px 38px}.library-search input:focus{border-color:var(--accent);outline:3px solid #6e7a6b1f}.library-sort{flex-direction:row;align-items:center;gap:9px;margin-left:auto;display:flex}.library-sort>span{color:var(--muted);font-size:11px}.library-sort select{background:var(--panel);min-width:130px;height:38px;font-size:11px}.library-view-toggle{background:#ded9cc;border-radius:9px;gap:3px;padding:4px;display:flex}.library-view-toggle button{box-shadow:none;color:var(--muted);background:0 0;border:0;border-radius:6px;width:32px;height:30px;min-height:30px;padding:2px;font-size:16px}.library-view-toggle button:hover{box-shadow:none;transform:none}.library-view-toggle button.active{background:var(--panel);color:var(--ink);box-shadow:0 1px 2px #3c32231f}.library-chart-section+.library-chart-section{margin-top:30px}.library-section-heading{align-items:center;gap:10px;margin:0 0 14px;display:flex}.library-section-heading span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:600}.library-section-heading.pinned span{color:var(--accent-deep)}.library-section-heading i{background:#d8d2c5;flex:1;height:1px}.library-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}.library-card{background:var(--panel);border:1px solid #e1dbce;border-radius:14px;min-width:0;transition:border-color .18s,box-shadow .18s,transform .18s;overflow:hidden;box-shadow:0 4px 12px #3c322308}.library-card:hover{border-color:#cfc7b8;transform:translateY(-2px);box-shadow:0 14px 30px #3c32231c}.library-card-preview{border-bottom:1px solid var(--line-soft);background:#f4f1e9;padding:18px;position:relative}.library-pin{color:var(--accent-deep);z-index:1;background:#faf8f2f5;border:1px solid #9eaa9b;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;min-height:30px;padding:0;font-size:15px;display:flex;position:absolute;top:10px;right:10px;box-shadow:0 2px 7px #3c322317}.library-pin:hover:not(:disabled){background:var(--panel);color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 10px #3c32231f}.library-pin.active{background:var(--accent);border-color:var(--accent);color:#fff}.library-pin.active:hover:not(:disabled){background:var(--accent-deep);color:#fff}.library-thumbnail{gap:2px;width:100%;display:grid;overflow:hidden}.library-thumbnail>div{gap:2px;display:grid}.library-thumbnail span{aspect-ratio:1.18;border-radius:1px;min-width:0;display:block}.library-card-copy{padding:15px 17px 17px}.library-card-title{justify-content:space-between;align-items:baseline;gap:9px;display:flex}.library-card-title h2{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:15px;font-weight:500;line-height:1.25;overflow:hidden}.library-card-title>span,.library-size{color:var(--muted);font-family:var(--font-mono);white-space:nowrap;flex:none;font-size:9px}.library-palette{align-items:center;gap:3px;min-height:12px;margin-top:9px;display:flex}.library-palette i{border:1px solid #3c322321;border-radius:3px;width:12px;height:12px;display:block}.library-card-copy>p{color:var(--muted);margin:11px 0 13px;font-size:10px}.library-card .cloud-chart-actions{border-top:1px solid var(--line-soft);justify-content:flex-start;padding-top:12px}.library-card .cloud-chart-actions button{min-height:30px;padding:5px 10px;font-size:10px}.library-list{background:var(--panel);border:1px solid #e1dbce;border-radius:14px;overflow:hidden}.library-list-header,.library-list-row{grid-template-columns:76px minmax(130px,1fr) 105px 125px 118px 170px;align-items:center;gap:16px;display:grid}.library-list-header{border-bottom:1px solid var(--line-soft);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;background:#f4f1e9;padding:12px 18px;font-size:9px;font-weight:600}.library-list-row{border-bottom:1px solid #f0ebdf;min-height:84px;padding:12px 18px}.library-list-row:last-child{border-bottom:0}.library-list-row:hover{background:#f7f4ed}.library-list-preview{position:relative}.library-list-preview .library-pin{width:23px;height:23px;min-height:23px;top:-7px;right:-7px}.library-list-row .library-thumbnail,.library-list-row .library-thumbnail>div{gap:1px}.library-list-row h2{margin:0;font-size:13px;font-weight:500}.library-list-row .library-palette{margin:0}.library-date{color:var(--muted);font-size:10px}.library-list-row .cloud-chart-actions{flex-wrap:nowrap}.library-list-row .cloud-chart-actions button{min-height:29px;padding:5px 8px;font-size:9px}.library-message{background:var(--panel);border:1px solid var(--line);color:var(--muted);border-radius:10px;padding:18px;font-size:12px}.library-message.error{color:#943f32;background:#fff1ef;border-color:#eed3ce}.library-empty{text-align:center;background:#faf8f2b8;border:1px dashed #cfc7b4;border-radius:14px;flex-direction:column;align-items:center;min-height:320px;padding:42px;display:flex}.library-empty>span{color:var(--accent);font-family:var(--font-display);font-size:42px}.library-empty h2{margin:10px 0 6px;font-size:17px}.library-empty p{color:var(--muted);margin:0 0 18px;font-size:12px;line-height:1.55}.library-empty>div{flex-wrap:wrap;justify-content:center;gap:9px;display:flex}.library-empty>div button{min-height:38px;padding:8px 14px;font-size:11px;font-weight:600}.library-local-panel{background:#faf8f29e;border:1px solid #d9d2c4;border-radius:14px;justify-content:space-between;align-items:center;gap:24px;margin-top:34px;padding:17px 19px;display:flex}.library-local-panel>div{align-items:center;gap:13px;min-width:0;display:flex}.library-local-panel>div>span{background:var(--accent-soft);color:var(--accent-deep);font-family:var(--font-display);border-radius:50%;flex:none;justify-content:center;align-items:center;width:35px;height:35px;font-size:20px;display:flex}.library-local-panel h2{margin:0 0 3px;font-size:12px;font-weight:600}.library-local-panel p{color:var(--muted);margin:0;font-size:10px;line-height:1.45}.library-local-panel>button{background:0 0;flex:none;min-height:34px;font-size:10px;font-weight:600}@media (max-width:1100px){.library-page{margin:-20px}.library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.library-list-header,.library-list-row{grid-template-columns:68px minmax(130px,1fr) 95px 105px 170px}.library-list-header>span:nth-child(4),.library-list-row>.library-palette{display:none}}@media (max-width:760px){.library-page{margin:0;padding:0 15px 45px}.library-nav{flex-wrap:wrap;gap:12px;padding:14px 0}.library-main-nav{order:3;width:100%}.library-account-link>span:last-child{display:none}.library-shell{padding-top:30px}.library-heading{flex-direction:column;align-items:flex-start}.library-new-chart{justify-content:center;align-self:stretch}.library-toolbar{align-items:stretch}.library-search{width:100%;max-width:none}.library-sort{margin-left:0}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-list-header{display:none}.library-list-row{grid-template-columns:70px minmax(0,1fr) auto;gap:12px}.library-list-row>.library-size,.library-list-row>.library-palette,.library-list-row>.library-date{display:none}.library-list-row .cloud-chart-actions{grid-column:2/4;justify-content:flex-start}.library-local-panel{flex-direction:column;align-items:stretch;gap:14px}.library-local-panel>button{align-self:flex-start}}@media (max-width:480px){.library-grid{grid-template-columns:1fr}}.account-page{justify-content:center;align-items:flex-start;min-height:calc(100vh - 76px);padding:44px 20px;display:flex}.account-card{background:var(--panel);border:1px solid var(--line);border-radius:15px;gap:24px;width:100%;max-width:520px;padding:30px;display:grid;box-shadow:0 24px 60px #3c322321}.account-wide{max-width:780px}.account-brand{margin-bottom:2px}.account-card h1{margin-top:5px;font-size:25px}.account-intro{color:var(--muted);margin:8px 0 0;font-size:13px;line-height:1.6}.back-link,.account-nav a{color:var(--accent-deep);font-size:12px;font-weight:600;text-decoration:none}.back-link:hover,.account-nav a:hover{text-decoration:underline}.account-nav{justify-content:space-between;align-items:center;display:flex}.account-form{gap:12px;display:grid}.account-form input{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;width:100%;min-height:42px;padding:9px 11px}.account-form input:focus{border-color:var(--accent);outline:2px solid var(--accent-soft)}.account-notice{background:var(--accent-soft);color:var(--accent-deep);border-radius:8px;margin:0;padding:11px 12px;font-size:12px;line-height:1.5}.account-notice.error{color:#943f32;background:#fff1ef}.account-notice.success{background:#edf4ec}.account-footnote{color:var(--muted);margin:0;font-size:11px;line-height:1.5}.account-section{border-top:1px solid var(--line);gap:16px;padding-top:22px;display:grid}.account-section h2{margin:0 0 5px;font-size:17px}.account-section>div>p{color:var(--muted);margin:0;font-size:12px;line-height:1.55}.key-connection{gap:12px;display:grid}.connection-status{background:#edf4ec;border-radius:9px;align-items:center;gap:10px;padding:12px;display:flex}.connection-status>span{background:var(--accent);border-radius:50%;width:9px;height:9px}.connection-status>div{gap:2px;display:grid}.connection-status small{color:var(--muted)}.primary-link{background:var(--accent);border:1px solid var(--accent);color:#fff;border-radius:9px;justify-content:center;align-items:center;min-height:34px;padding:8px 13px;font-size:13px;text-decoration:none;display:inline-flex}.primary-link:hover{background:var(--accent-deep)}.charts-library{max-width:880px}.empty-library{border:1px dashed var(--line);background:#f6f5f2;border-radius:10px;justify-items:start;gap:10px;padding:22px;display:grid}.empty-library h2,.empty-library p{margin:0}.empty-library p{color:var(--muted);font-size:12px;line-height:1.55}.cloud-chart-list{gap:10px;display:grid}.cloud-chart-card{border:1px solid var(--line);background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:18px;padding:15px 16px;display:flex}.cloud-chart-card h2{margin:0 0 4px;font-size:15px}.cloud-chart-card p{color:var(--ink);margin:0 0 3px;font-size:12px}.cloud-chart-card small{color:var(--muted);font-size:10px}.cloud-chart-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.cloud-chart-actions p{color:#943f32;flex-basis:100%;margin:0;font-size:10px}.cloud-rename-form{flex-wrap:wrap;gap:6px;width:100%;display:flex}.cloud-rename-form input{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:7px;flex:1 0 100%;width:100%;min-width:0;min-height:32px;padding:6px 8px;font-size:11px}.cloud-rename-form input:focus{border-color:var(--accent);outline:2px solid var(--accent-soft)}.cloud-rename-form button{min-height:29px!important;padding:5px 9px!important;font-size:9px!important}.workspace{grid-template-columns:244px minmax(0,1fr);align-items:start;gap:18px;margin:0;padding:18px;display:grid}.panel{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius);min-width:0}.sidebar{padding:0;overflow:hidden}.settings-group+.settings-group{border-top:1px solid var(--line-soft)}.settings-group>summary{cursor:pointer;justify-content:space-between;align-items:center;padding:17px 20px;font-size:15px;font-weight:500;list-style:none;display:flex}.settings-group>summary::-webkit-details-marker{display:none}.collapsible-heading::-webkit-details-marker{display:none}.settings-group>summary span,.collapse-label span{color:var(--muted);transition:transform .15s;display:inline-block}.settings-group:not([open])>summary span,.preview:not([open]) .collapse-label span{transform:rotate(-90deg)}.settings-content{border-top:1px solid var(--line-soft);padding:8px 20px 18px}.compact-section-action{justify-content:flex-end;margin:0 0 6px;display:flex}.text-button.active{color:#8c473b}.stitch-picker{background:#f0ede3;border-radius:10px;gap:8px;margin:2px 0 9px;padding:10px;display:grid}.stitch-picker p{color:var(--muted);margin:0;font-size:10px;line-height:1.4}.stitch-picker>div{flex-wrap:wrap;gap:5px;display:flex}.stitch-picker button{background:#fff;min-height:29px;padding:4px 8px;font-size:10px}.stitch-picker button.selected{background:var(--accent);border-color:var(--accent);color:#fff}.stitch-picker>div>span{color:var(--muted);padding:6px 2px;font-size:10px}h1,h2{margin:0}h1{font-size:19px}h2{margin-bottom:11px;font-size:14px}label{color:var(--muted);gap:5px;font-size:12px;display:grid}input[type=number],select{background:var(--field);border:1px solid var(--line);color:var(--ink);border-radius:8px;width:100%;height:36px;padding:0 8px}.sidebar input[type=number],.sidebar select{height:36px;padding:0 9px}.sidebar .gauge-settings input[type=number],.sidebar .gauge-settings select,.sidebar .settings-group:last-child input[type=number],.sidebar .settings-group:last-child select{font-size:11px}input:focus,select:focus{border-color:var(--accent);outline:2px solid var(--accent-soft)}.two-fields{grid-template-columns:1fr 1fr;gap:8px;display:grid}.measure-field{grid-template-columns:auto minmax(0,1fr) 52px;align-items:center;gap:5px;margin-top:8px;display:grid}.measure-field span{color:var(--muted);font-size:12px}.measure-field input,.measure-field select{min-width:0;padding-left:5px;padding-right:5px}.measurement{color:var(--accent-deep);background:#f0ede3;border-radius:10px;margin:14px 0 0;padding:12px 13px;font-size:14px;line-height:1.4}.stacked-field{margin-top:5px}.guide-toggle{cursor:pointer;align-items:center;gap:7px;margin-top:12px;display:flex}.guide-toggle input{accent-color:var(--accent);margin:0}.guide-size-fields{margin-top:10px}.setting-help{color:var(--muted);margin:10px 0 0;font-size:10px;line-height:1.45}.section-heading{justify-content:space-between;align-items:baseline;display:flex}.text-button{box-shadow:none;color:var(--accent-deep);background:0 0;border:0;min-height:auto;padding:0;font-size:12px}.palette-list{gap:3px;display:grid}.palette-row{border:1px solid #0000;border-radius:9px;grid-template-columns:minmax(0,1fr) 25px 19px;align-items:center;gap:5px;padding:5px 6px;display:grid}.palette-row.selected{background:var(--accent-soft);border-color:#dbe0d6}.swatch-button{box-shadow:none;background:0 0;border:0;justify-content:flex-start;align-items:center;gap:8px;min-width:0;min-height:34px;padding:2px;font-size:12px;display:flex}.swatch-button:hover:not(:disabled){box-shadow:none;transform:none}.swatch{border:1px solid #0000002b;border-radius:50%;width:22px;height:22px;display:block;box-shadow:0 1px 2px #00000014}.stitch-swatch{color:#202522;background:#fff;border:1px solid #00000040;border-radius:4px;flex:0 0 42px;justify-content:center;align-items:center;height:25px;font-family:Arial,sans-serif;font-size:8px;font-weight:800;display:inline-flex}.empty-stitch-palette{color:var(--muted);margin:3px 0 0;font-size:10px;line-height:1.45}.remove-stitch-tool{box-shadow:none;color:var(--muted);background:0 0;border:0;min-height:28px;margin-top:7px;padding:2px 5px;font-size:10px}.remove-stitch-tool:hover:not(:disabled){box-shadow:none;background:#f0ede3;transform:none}.remove-stitch-tool.selected{background:var(--accent-soft);color:var(--accent-deep)}.palette-name{text-align:left;gap:3px;min-width:0;display:grid}.palette-hex{color:var(--quiet);font-family:var(--font-mono);font-size:9px}.palette-row input[type=color]{cursor:pointer;background:0 0;border:0;border-radius:50%;width:24px;height:24px;padding:0;overflow:hidden}.palette-row input[type=color]::-webkit-color-swatch-wrapper{padding:0}.palette-row input[type=color]::-webkit-color-swatch{border:1px solid #0003;border-radius:50%}.remove-button{color:var(--muted);background:0 0;border:0;min-height:28px;padding:0;font-size:17px}.editor{flex-direction:column;min-height:620px;display:flex;overflow:hidden}.panel-heading{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;min-height:62px;padding:14px 20px;display:flex}.editor-heading{flex-wrap:wrap;gap:10px}.editor-actions{flex-wrap:wrap;align-items:center;gap:10px;width:100%;display:flex}.zoom-controls{align-items:center;gap:7px;margin-left:auto;display:flex}.zoom-controls button,.undo-controls button{background:#fff;min-width:32px;height:32px;min-height:32px;padding:3px 7px;font-size:16px}.zoom-controls span{color:var(--muted);text-align:center;min-width:42px;font-size:12px}.tool-group{background:#f0ede3;border-radius:10px;flex-wrap:wrap;gap:3px;padding:4px;display:flex}.tool-group button{box-shadow:none;background:0 0;border:0;min-height:32px;font-size:12px}.tool-group button:hover:not(:disabled){box-shadow:none;background:#ffffff94;transform:none}.tool-group button.active{color:var(--accent-deep);background:#fff;border-color:#0000;box-shadow:0 1px 3px #3c322324}.tool-group .selection-fill-button{background:var(--accent);color:#fff}.selection-move-controls{gap:1px;display:inline-flex}.selection-move-controls button{min-width:29px;padding-left:6px;padding-right:6px}.transform-controls{gap:5px;display:flex}.transform-controls button{background:#fff;justify-content:center;align-items:center;width:34px;height:32px;min-height:32px;padding:3px;font-size:18px;display:inline-flex}.transform-controls .rotate-chart-button{font-size:11px;font-weight:700}.toolbar-divider{background:var(--line-soft);width:1px;height:25px}.undo-controls{gap:6px;display:flex}.chart-frame{background:var(--canvas);width:100%;max-width:none;margin:auto;padding:32px 22px 28px;overflow:auto}.chart-content{min-width:100%}.chart-body{width:100%;padding-left:29px;position:relative}.chart-svg{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;cursor:crosshair;touch-action:none;background:#fff;border-radius:5px;width:100%;height:auto;display:block;box-shadow:0 2px 4px #3c322317,0 12px 30px #3c32231f}.chart-svg *{-webkit-user-select:none;user-select:none}.grid-line{stroke:#1c1f1d6b;stroke-width:.65px}.grid-line-major{stroke:#1c1f1d9e;stroke-width:1px}.chart-selection{fill:#6b7da82e;stroke:#526c9d;stroke-dasharray:4 3;stroke-width:2px}.symmetry-guide-lines line{stroke:#526c9d;stroke-dasharray:5 4;stroke-width:1.5px}.chart-column-numbers{color:var(--quiet);font-family:var(--font-mono);text-align:center;height:14px;margin-left:29px;font-size:8px;line-height:1;display:grid}.chart-column-numbers span{overflow:visible}.chart-row-numbers{color:var(--quiet);font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;width:29px;font-size:8px;line-height:1;display:grid;position:absolute;top:0;bottom:0;left:0}.chart-row-numbers span{white-space:nowrap;justify-content:flex-end;align-items:center;min-height:0;padding-right:6px;display:flex;overflow:visible}.chart-hint{color:var(--muted);text-align:center;margin:12px 0 0 25px;font-size:12px}.preview{background:var(--panel);grid-column:2;width:100%;overflow:hidden}.collapsible-heading{cursor:pointer;list-style:none}.collapse-label{color:var(--muted);align-items:center;gap:7px;font-size:11px;display:flex}.preview-content{flex-direction:column;display:flex}.preview-heading-copy{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.preview-heading-copy h1{font-size:15px;font-weight:500}.preview-heading-copy>span{color:var(--quiet);font-size:12px}.preview-stage{background:var(--canvas);justify-content:center;align-items:center;min-height:320px;padding:26px;display:flex;overflow:auto}.preview-canvas{object-fit:contain;border-radius:8px;max-width:100%;height:auto;display:block;box-shadow:0 12px 30px #3c322329}.repeat-controls{border-bottom:1px solid var(--line-soft);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;padding:10px 18px;display:flex}.repeat-controls>span{margin-right:auto;font-size:12px;font-weight:700}.repeat-controls label{flex-direction:row;align-items:center;gap:5px;display:flex}.repeat-controls select{width:49px;height:31px}.repeat-controls .repeat-style select{width:88px}.refresh-preview-button{min-height:31px;padding-top:5px;padding-bottom:5px}.preview-stale-note{color:#7b5d22;text-align:right;background:#fff7e8;margin:0;padding:7px 18px;font-size:11px}.preview-note{color:var(--muted);margin:0;padding:12px 18px 14px;font-size:11px}.knit-mode{color:var(--ink);z-index:50;background:#f4f1e9;flex-direction:column;display:flex;position:fixed;inset:0}.knit-mode-header{background:var(--panel);border-bottom:1px solid var(--line);grid-template-columns:1fr auto auto;align-items:center;gap:24px;padding:16px 24px;display:grid}.knit-mode-header h1{font-size:22px}.knit-mode-status{text-align:right;gap:2px;display:grid}.knit-mode-status strong{font-size:14px}.knit-mode-status span{color:var(--muted);font-size:12px}.knit-mode-header-actions{align-items:center;gap:12px;display:flex}.knit-wake-row{border:1px solid var(--line-soft);background:#fff;border-radius:9px;padding:9px 11px}.knit-wake-toggle{color:var(--ink);cursor:pointer;white-space:nowrap;justify-content:space-between;align-items:center;gap:8px;width:100%;font-size:11px;font-weight:600;display:flex}.knit-wake-toggle input{opacity:0;width:1px;height:1px;position:absolute}.knit-toggle-track{background:#c9c5bb;border-radius:999px;width:36px;height:20px;transition:background .15s;display:inline-block;position:relative}.knit-toggle-track:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #241f1947}.knit-wake-toggle input:checked+.knit-toggle-track{background:var(--accent)}.knit-wake-toggle input:checked+.knit-toggle-track:after{transform:translate(16px)}.knit-wake-toggle input:focus-visible+.knit-toggle-track{outline:2px solid var(--accent);outline-offset:2px}.knit-mode-body{flex:1;grid-template-columns:minmax(0,1fr) 290px;gap:20px;min-height:0;padding:20px;display:grid}.knit-mode-chart-frame{justify-content:center;align-items:center;min-height:0;display:flex;overflow:auto}.knit-mode-chart{cursor:pointer;background:0 0;max-width:100%;max-height:100%;display:block;overflow:visible}.knit-mode-row-dimmer{fill:#f4f1e9c9;pointer-events:none}.knit-mode-current-row{fill:#0000;pointer-events:none;stroke:#a64c40;stroke-width:.13px;vector-effect:non-scaling-stroke}.knit-mode-grid line{stroke:#1e1e1e57;stroke-width:.5px}.knit-mode-grid line.major{stroke:#141414b8;stroke-width:1.15px}.knit-mode-chart-labels{fill:var(--muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.knit-mode-stitch-marker circle{fill:#fff7ed;filter:drop-shadow(0 1px 1px #241f1959);stroke:#a64c40;stroke-width:2.5px}.knit-mode-stitch-marker text{fill:#a64c40;paint-order:stroke;stroke:#ffffffbf;stroke-width:.04px;font-family:Georgia,serif;font-weight:700}.knit-mode-stitch-marker.heart circle{fill:#fff1f0;stroke:#b64f5c}.knit-mode-stitch-marker.heart text{fill:#b64f5c}.knit-mode-stitch-marker.star circle{fill:#fff8dc;stroke:#a17425}.knit-mode-stitch-marker.star text{fill:#a17425}.knit-mode-stitch-marker.yarn circle{fill:#eef3ec;stroke:#5f795e}.knit-mode-stitch-marker.yarn text{fill:#5f795e}.knit-mode-controls{background:var(--panel);border:1px solid var(--line);border-radius:12px;align-content:start;gap:14px;padding:18px;display:grid;overflow:auto}.knit-mode-options{background:#f0ede3;border-radius:9px;gap:10px;padding:11px;display:grid}.knit-mode-options small{color:var(--muted);font-size:10px;line-height:1.4}.knit-mode-settings-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.knit-mode-settings-grid.single{grid-template-columns:1fr}.knit-mode-settings-grid select{height:34px;font-size:11px}.knit-trim-option{color:var(--ink);cursor:pointer;align-items:center;gap:7px;display:flex}.knit-trim-option input{accent-color:var(--accent);margin:0}.marker-picker{align-items:center;gap:5px;display:flex}.marker-picker>span{color:var(--muted);margin-right:3px;font-size:11px}.marker-picker button{background:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;min-height:32px;padding:0;font-family:Georgia,serif;font-size:17px;display:inline-flex}.marker-picker button.selected{color:#a64c40;background:#fff7ed;border-color:#a64c40;box-shadow:0 0 0 2px #a64c401f}.knit-direction{margin:0;font-size:14px;font-weight:600;line-height:1.45}.knit-row-math{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.knit-row-math>div{text-align:center;background:#f0ede3;border-radius:8px;gap:2px;padding:8px 9px;display:grid}.knit-row-math span{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:9px;font-weight:800}.knit-row-math strong{font-variant-numeric:tabular-nums;font-size:16px}.knit-row-math .increase strong{color:#3d7250}.knit-row-math .decrease strong{color:#9a4e43}.knit-current-step{border:1px solid var(--line-soft);background:#f0ede3;border-radius:9px;gap:2px;padding:10px 12px;display:grid}.knit-current-step.shaping{background:#fff4dc;border-color:#e4c885}.knit-current-step>span{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:9px;font-weight:800}.knit-current-step strong{font-size:16px}.knit-current-step small{color:#75591f;font-size:10px}.knit-sequence{flex-wrap:wrap;gap:6px;display:flex}.knit-sequence span{background:#f0ede3;border-radius:999px;align-items:center;gap:5px;padding:5px 8px;font-size:11px;display:flex}.knit-sequence span.stitch-action{color:#202522;background:#fff;border:1px solid #bcb7aa;font-weight:800}.knit-sequence i{border:1px solid #0000002e;border-radius:50%;width:12px;height:12px}.knit-step-controls,.knit-row-controls{grid-template-columns:1fr 1fr;gap:7px;display:grid}.knit-row-controls button{min-height:46px}.knit-reset{background:0 0}.knit-keyboard-hint{color:var(--muted);margin:0;font-size:11px;line-height:1.45}.chart-action-symbols text,.knit-mode-action-symbols text{fill:#17211d;font-family:Arial,sans-serif;font-weight:800}.knit-mode-no-stitch{cursor:not-allowed}.pattern-import-backdrop{z-index:35}.pattern-import-dialog{gap:14px;width:min(1040px,100vw - 40px);max-width:1040px}.pattern-import-steps{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.pattern-import-steps span{color:var(--muted);letter-spacing:.04em;text-align:center;text-transform:uppercase;background:#ece8de;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:800}.pattern-import-steps span.active{color:var(--accent-dark);background:#dce9df}.pattern-import-stage{gap:14px;min-height:0;display:grid}.pattern-file-prompt{background:#f4f1e8;border:1px dashed #b9b4a7;border-radius:12px;align-items:center;gap:14px;padding:16px;display:flex}.pattern-file-prompt p{color:var(--muted);margin:0;font-size:11px;line-height:1.45}.pattern-page-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pattern-page-controls label{align-items:center;gap:6px;display:flex}.pattern-page-controls input{width:64px}.pattern-page-controls>span{color:#7d6429;text-transform:uppercase;background:#fff5dc;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:800}.pattern-page-preview{background:#dedbd2;border-radius:10px;justify-content:center;align-items:center;min-height:260px;padding:14px;display:flex;overflow:auto}.pattern-page-preview img{max-width:100%;max-height:52vh;display:block;box-shadow:0 5px 18px #1f1d1926}.pattern-grid-stage{grid-template-columns:minmax(0,1fr) 245px;align-items:start}.pattern-crop-workspace{background:#d7d4cb;border-radius:10px;grid-column:1;gap:8px;min-width:0;padding:8px;display:grid}.pattern-crop-toolbar{background:#ffffffb8;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:7px 9px;display:flex}.pattern-crop-toolbar label{text-transform:uppercase;flex:1;grid-template-columns:auto 28px minmax(90px,1fr) 28px 38px;align-items:center;gap:7px;font-size:9px;font-weight:800;display:grid}.pattern-crop-toolbar label button{min-height:27px;padding:2px;font-size:15px}.pattern-crop-toolbar input{min-width:0;padding:0}.pattern-crop-toolbar span{font-variant-numeric:tabular-nums;text-align:right}.pattern-crop-toolbar button{white-space:nowrap;padding:6px 9px}.pattern-crop-viewport{align-items:flex-start;min-height:280px;max-height:60vh;display:flex;overflow:auto}.pattern-crop-preview{touch-action:none;-webkit-user-select:none;user-select:none;flex:none;min-width:50%;line-height:0;position:relative;overflow:hidden}.pattern-crop-preview>img{width:100%;height:100%;display:block;position:absolute;inset:0}.pattern-crop-box{cursor:move;border:0;display:grid;position:absolute;box-shadow:0 0 0 9999px #1c201d6b,inset 0 0 0 3px #4f8261,inset 0 0 0 4px #ffffffd9}.pattern-grid-overlay{pointer-events:none;background-image:linear-gradient(90deg,#354b3f4d 1px,#0000 1px),linear-gradient(#354b3f4d 1px,#0000 1px);position:absolute;inset:0}.pattern-crop-handle{cursor:nwse-resize;background:#fff;border:3px solid #4f8261;border-radius:50%;width:17px;height:17px;position:absolute;bottom:-10px;right:-10px}.pattern-grid-controls{grid-area:1/2/3;gap:9px;display:grid}.pattern-grid-controls>label{gap:5px;display:grid}.pattern-grid-controls p{color:var(--muted);margin:3px 0 0;font-size:10px;line-height:1.45}.pattern-snap-actions{grid-template-columns:1fr auto;gap:6px;display:grid}.pattern-snap-actions .primary-button{min-height:38px}.pattern-crop-closeup{border:1px solid var(--line);background:#fff;border-radius:9px;flex-direction:column;grid-column:1;align-items:flex-start;gap:7px;width:100%;min-height:130px;max-height:300px;padding:8px;display:flex;overflow:auto}.pattern-crop-closeup>strong{color:var(--accent-dark);letter-spacing:.04em;text-transform:uppercase;align-self:flex-start;font-size:9px}.pattern-crop-canonical{flex:none;position:relative;overflow:hidden}.pattern-crop-canonical>img{width:100%;height:100%;display:block}.pattern-crop-rendering{color:var(--muted);font-size:10px}.pattern-crop-sliders{background:#f5f2e9;border-radius:8px;gap:6px;padding:8px;display:grid}.pattern-crop-sliders label{grid-template-columns:58px 1fr;align-items:center;gap:5px;font-size:9px;display:grid}.pattern-crop-sliders input{min-width:0;padding:0}.pattern-wide-actions{grid-column:1/-1}.pattern-symbol-stage{grid-template-columns:minmax(340px,.85fr) minmax(300px,1.15fr)}.pattern-symbol-controls{min-height:0}.pattern-teach-heading{gap:3px;margin-bottom:10px;display:grid}.pattern-teach-heading h2{font-family:var(--font-display), Georgia, serif;margin:0;font-size:20px}.pattern-teach-heading p{color:var(--muted);margin:0;font-size:10px;line-height:1.4}.pattern-colour-groups{background:#eef4ef;border-radius:9px;gap:6px;margin-bottom:9px;padding:9px;display:grid}.pattern-colour-groups>strong{color:var(--accent-dark);letter-spacing:.04em;text-transform:uppercase;font-size:9px}.pattern-colour-groups label{grid-template-columns:78px 1fr minmax(120px,1.4fr);align-items:center;gap:6px;font-size:9px;display:grid}.pattern-colour-groups label span{color:var(--muted)}.pattern-group-count{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.pattern-group-count label{align-items:center;gap:7px;display:flex}.pattern-group-count span{color:var(--muted);max-width:220px;font-size:9px}.pattern-symbol-list{gap:7px;max-height:52vh;padding-right:4px;display:grid;overflow:auto}.pattern-symbol-row{border:1px solid var(--line-soft);background:#f5f2e9;border-radius:9px;grid-template-columns:minmax(78px,auto) minmax(66px,.7fr) minmax(155px,1.5fr);align-items:center;gap:9px;padding:7px;display:grid}.pattern-symbol-samples{gap:3px!important;display:flex!important}.pattern-symbol-row img{border:1px solid var(--line);height:42px;image-rendering:pixelated;background:#fff;border-radius:5px;width:42px}.pattern-symbol-row>span{gap:2px;display:grid}.pattern-symbol-row strong{font-size:11px}.pattern-symbol-row small{color:var(--muted);font-size:9px}.pattern-teach-list{max-height:43vh}.pattern-teach-row{border:1px solid var(--line-soft);background:#f5f2e9;border-radius:9px;gap:7px;padding:9px;display:grid}.pattern-teach-row.active{border-color:var(--accent);box-shadow:0 0 0 2px #4f82611f}.pattern-teach-row>div:first-child{grid-template-columns:66px 1fr;align-items:center;gap:7px;display:grid}.pattern-teach-row>div:first-child strong{font-size:10px}.pattern-teach-row>button{justify-self:start}.pattern-teach-row>small{color:var(--accent-dark);font-size:9px;font-weight:800}.pattern-template-samples{flex-wrap:wrap;align-items:center;gap:5px;min-height:38px;display:flex}.pattern-template-samples>span{color:var(--muted);font-size:9px}.pattern-template-samples button{border:1px solid var(--line);background:#fff;border-radius:6px;width:38px;height:38px;padding:2px;position:relative}.pattern-template-samples img{height:100%;image-rendering:pixelated;width:100%;display:block}.pattern-template-colour{border-radius:4px;width:100%;height:100%;display:block}.pattern-template-samples button span{color:#fff;background:#303632;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;font-size:8px;display:flex;position:absolute;top:-5px;right:-5px}.pattern-identify-button{width:100%;margin-top:9px}.pattern-result-preview{background:#f5f2e9;border-radius:11px;gap:9px;min-height:0;padding:14px;display:grid}.pattern-result-preview h2{font-family:var(--font-display), Georgia, serif;margin:0;font-size:20px}.pattern-result-heading>div:first-child{gap:2px;display:grid}.pattern-result-heading>div:first-child p{color:var(--muted);margin:0;font-size:9px}.pattern-result-preview>p{color:var(--muted);margin:0;font-size:10px;line-height:1.45}.pattern-result-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.pattern-result-toggle{background:#e9e5da;border-radius:999px;padding:3px;display:flex}.pattern-result-toggle button{background:0 0;border:0;border-radius:999px;padding:6px 8px;font-size:8px}.pattern-result-toggle button.active{color:var(--accent-dark);background:#fff;box-shadow:0 1px 3px #1f1d191f}.pattern-correction-controls{border:1px solid var(--line);background:#fff;border-radius:9px;grid-template-columns:auto 1fr 1.25fr;align-items:center;gap:7px;padding:9px;display:grid}.pattern-correction-controls>strong{color:var(--accent-dark);text-transform:uppercase;font-size:10px}.pattern-correction-controls label{align-items:center;gap:4px;font-size:9px;display:grid}.pattern-correction-controls select{width:100%;min-width:0}.pattern-correction-controls button{grid-column:1/-1;justify-self:start;padding:5px 8px;font-size:9px}.pattern-correction-controls p{color:var(--muted);grid-column:1/-1;margin:0;font-size:9px;line-height:1.4}.pattern-result-scroll{background:#dedbd2;border-radius:8px;justify-content:center;align-items:flex-start;min-height:260px;max-height:60vh;padding:12px;display:flex;overflow:auto}.pattern-result-grid{background:#fff;border:1px solid #555;width:100%;min-width:min(440px,100%);max-width:100%;display:grid;position:relative;overflow:hidden}.pattern-result-source-image{width:100%;height:100%;position:absolute;inset:0}.pattern-result-grid button{color:#18211d;z-index:1;border:1px solid #20222047;border-top:0;border-left:0;border-radius:0;justify-content:center;align-items:center;min-width:0;min-height:0;padding:0;font-size:clamp(3px,.7vw,9px);font-weight:900;display:flex;position:relative}.pattern-result-grid button:hover{z-index:1;position:relative;box-shadow:inset 0 0 0 2px #d18859}.pattern-result-grid button.corrected{box-shadow:inset 0 0 0 1px #d18859}.pattern-result-grid button.template-sample{z-index:1;position:relative;box-shadow:inset 0 0 0 2px #d18859}.pattern-result-grid button.no-stitch{color:#fff}.pattern-result-grid.show-source button{border-color:#2c302d3d}.pattern-result-grid.show-source button.corrected{box-shadow:inset 0 0 0 2px #d18859;background:#d188592e!important}.pattern-result-grid.show-source button.template-sample{box-shadow:inset 0 0 0 2px #d18859;background:#d1885938!important}.pattern-picking-hint{color:#735d28;background:#fff8e8;border:1px solid #ead9ac;border-radius:8px;margin:0;padding:8px 10px;font-size:10px;line-height:1.4}.pattern-import-message{color:#365443;background:#eef4ef;border-radius:8px;align-items:center;gap:8px;margin:0;padding:8px 10px;font-size:10px;line-height:1.4;display:flex}.pattern-spinner{border:2px solid #36544340;border-top-color:#365443;border-radius:50%;width:12px;height:12px;animation:.8s linear infinite pattern-spin}@keyframes pattern-spin{to{transform:rotate(360deg)}}@media (max-width:1100px){body{padding:20px}.app-shell{min-height:calc(100vh - 40px)}.workspace{grid-template-columns:220px minmax(0,1fr)}.preview{grid-column:2}}@media (max-width:720px){body{padding:0}.app-shell{border:0;border-radius:0;min-height:100vh}.topbar{gap:14px;padding:17px 16px}.project-bar{flex-wrap:wrap;align-items:flex-start;gap:12px}.brand-divider{height:28px}.project-identity{flex:1}.project-name{width:100%}.save-status{width:100%;margin-left:0}.topbar-actions{grid-template-columns:1fr 1fr;align-items:stretch;width:100%;display:grid}.topbar-actions>*,.topbar-actions>*>button{width:100%}.workflow-actions{grid-column:1/-1;grid-template-columns:1fr 1fr;display:grid}.help-button{grid-column:2;justify-self:end;width:32px!important}.chart-tabs-bar{padding-left:10px;padding-right:10px}.chart-tab{max-width:165px}.file-actions{grid-column:1/-1;grid-template-columns:1fr;width:100%;margin-left:0;display:grid}.file-actions .file-menu>button{width:100%}.workspace{flex-direction:column;display:flex}.sidebar{order:2;width:100%}.editor{order:1;min-height:560px}.preview{order:3}.chart-frame{padding:14px}.editor-actions{align-items:stretch}.tool-group{flex:1}.tool-group button{flex:1;padding-left:8px;padding-right:8px}.toolbar-divider{display:none}.undo-controls{order:2}.zoom-controls{order:3;margin-left:auto}.preview-heading-copy{flex-direction:column;align-items:flex-start;gap:4px}.preview-heading-copy>span{line-height:1.3}.ai-edit-panel,.ai-settings,.import-options,.instruction-settings,.instruction-overview,.instruction-colours{grid-template-columns:1fr}.ai-reference-heading{flex-direction:column;align-items:stretch}.ai-reference-selected{grid-template-columns:56px 1fr;align-items:stretch}.ai-reference-selected>button{grid-column:1/-1}.ai-reference-selected label{flex-direction:column;align-items:stretch}.ai-reference-selected select{min-width:0}.knit-mode-header{grid-template-columns:1fr auto;gap:10px}.knit-mode-status{text-align:left;grid-area:2/1/auto/-1}.knit-mode-header-actions{gap:8px}.knit-mode-body{flex-direction:column;display:flex;overflow:auto}.knit-mode-chart-frame{flex:1 0 48vh}.knit-mode-controls{flex:none}.knit-mode-settings-grid{grid-template-columns:1fr}.pattern-import-dialog{width:calc(100vw - 24px);max-height:calc(100vh - 24px)}.pattern-grid-stage,.pattern-symbol-stage{grid-template-columns:1fr}.pattern-grid-controls,.pattern-crop-closeup,.pattern-crop-workspace{grid-area:auto/1}.pattern-crop-viewport{max-height:48vh}.pattern-wide-actions{grid-column:1}.pattern-symbol-list{max-height:none}.pattern-correction-controls{grid-template-columns:1fr}.pattern-correction-controls>*,.pattern-correction-controls p,.pattern-correction-controls button{grid-column:1}.auth-page{min-height:100vh}.auth-shell{box-shadow:none;border:0;border-radius:0;min-height:100vh;display:block}.auth-story-panel{min-height:230px;padding:24px}.auth-yarn-ball{width:88px;height:88px;top:35px;left:auto;right:17px}.auth-yarn-strand{display:none}.auth-mini-chart{width:128px;margin:0 0 12px;padding:6px}.auth-story-heading{max-width:260px;margin-bottom:5px;font-size:22px}.auth-story-body{display:none}.auth-story-note{font-size:8px}.auth-form-panel{min-height:calc(100vh - 230px);padding:30px 24px 38px}.auth-back-link{margin-bottom:26px}.auth-form-heading h1{font-size:35px}.auth-guest-route{flex-direction:column;align-items:stretch;gap:10px}.auth-guest-route a{text-align:center}.tutorial-backdrop{align-items:flex-start;padding:12px}.tutorial-welcome{grid-template-columns:1fr;gap:20px;max-height:none;padding:22px 18px}.tutorial-welcome-copy{padding-right:28px}.tutorial-examples{grid-template-columns:1fr}.tutorial-example-card{grid-template-rows:minmax(150px,auto);grid-template-columns:42% 1fr}.tutorial-example-card canvas{height:100%;min-height:150px}.tutorial-example-card>div{border-left:1px solid var(--line);border-top:0}.tour-card{width:auto;max-height:calc(100vh - 24px);overflow:auto}}@media (max-width:460px){.brand-lockup{font-size:20px}.brand-divider{display:none}.project-identity{flex-basis:calc(100% - 40px)}.workspace{padding:10px}.panel-heading{padding-left:14px;padding-right:14px}.tool-group{flex-basis:100%}.repeat-controls{justify-content:flex-start}.repeat-controls>span{flex-basis:100%}.tutorial-example-card{grid-template-rows:145px auto;grid-template-columns:1fr}.tutorial-example-card canvas{min-height:145px}.tutorial-example-card>div{border-left:0;border-top:1px solid var(--line)}}@media print{@page{margin:14mm}body{background:#fff}body *{visibility:hidden}.instructions-dialog,.instructions-dialog *{visibility:visible}.instructions-backdrop{background:#fff;padding:0;display:block;position:absolute}.instructions-dialog{box-shadow:none;border:0;border-radius:0;width:100%;max-width:none;max-height:none;padding:0;display:block;overflow:visible}.no-print{display:none!important}.instruction-sheet{gap:16px}.instructions-chart{max-height:45vh}.instruction-section h2{border-color:#aaa}.written-row-list{columns:2}}@media (prefers-reduced-motion:reduce){.auth-yarn-ball,.auth-yarn-strand path,.auth-form-panel{animation:none}.tour-highlight{transition:none}}
