@font-face{font-family:__Inter_Tight_eb7c85;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/c95a17d6aa1ccc69-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_Tight_eb7c85;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/84792440f5374347-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_Tight_eb7c85;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/10735954b8957dce-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_Tight_eb7c85;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/69c8297e91a203ed-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_Tight_eb7c85;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/32ec8d161d520037-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_Tight_eb7c85;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ceda3e828136e1b8-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Inter_Tight_eb7c85;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/103fc5fac08dcb15-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Inter_Tight_eb7c85;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/c95a17d6aa1ccc69-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_Tight_eb7c85;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/84792440f5374347-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_Tight_eb7c85;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/10735954b8957dce-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_Tight_eb7c85;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/69c8297e91a203ed-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_Tight_eb7c85;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/32ec8d161d520037-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_Tight_eb7c85;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ceda3e828136e1b8-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Inter_Tight_eb7c85;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/103fc5fac08dcb15-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Inter_Tight_eb7c85;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c95a17d6aa1ccc69-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_Tight_eb7c85;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/84792440f5374347-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_Tight_eb7c85;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/10735954b8957dce-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_Tight_eb7c85;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/69c8297e91a203ed-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_Tight_eb7c85;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/32ec8d161d520037-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_Tight_eb7c85;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ceda3e828136e1b8-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Inter_Tight_eb7c85;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/103fc5fac08dcb15-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Inter_Tight_eb7c85;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/c95a17d6aa1ccc69-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_Tight_eb7c85;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/84792440f5374347-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_Tight_eb7c85;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/10735954b8957dce-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_Tight_eb7c85;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/69c8297e91a203ed-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_Tight_eb7c85;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/32ec8d161d520037-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_Tight_eb7c85;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ceda3e828136e1b8-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Inter_Tight_eb7c85;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/103fc5fac08dcb15-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Inter_Tight_Fallback_eb7c85;src:local("Arial");ascent-override:100.51%;descent-override:25.03%;line-gap-override:0.00%;size-adjust:96.39%}.__className_eb7c85{font-family:__Inter_Tight_eb7c85,__Inter_Tight_Fallback_eb7c85;font-style:normal}.__variable_eb7c85{--font-inter-tight:"__Inter_Tight_eb7c85","__Inter_Tight_Fallback_eb7c85"}@font-face{font-family:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__JetBrains_Mono_Fallback_6d24ac;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_6d24ac{font-family:__JetBrains_Mono_6d24ac,__JetBrains_Mono_Fallback_6d24ac;font-style:normal}.__variable_6d24ac{--font-jetbrains-mono:"__JetBrains_Mono_6d24ac","__JetBrains_Mono_Fallback_6d24ac"}@font-face{font-family:__Fraunces_3a6cb3;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Fraunces_3a6cb3;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Fraunces_3a6cb3;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Fraunces_3a6cb3;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Fraunces_3a6cb3;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Fraunces_3a6cb3;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Fraunces_3a6cb3;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Fraunces_3a6cb3;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Fraunces_3a6cb3;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Fraunces_Fallback_3a6cb3;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_3a6cb3{font-family:__Fraunces_3a6cb3,__Fraunces_Fallback_3a6cb3;font-style:normal}.__variable_3a6cb3{--font-fraunces:"__Fraunces_3a6cb3","__Fraunces_Fallback_3a6cb3"}:root{--font-ui:var(--font-inter-tight,"Inter Tight"),"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--font-mono:var(--font-jetbrains-mono,"JetBrains Mono"),ui-monospace,"SF Mono",Menlo,Consolas,monospace;--font-display:var(--font-fraunces,"Fraunces"),"Iowan Old Style",Georgia,serif;--font:var(--font-ui);--bg:#fff;--bg-soft:#f5f8fb;--bg-sunk:#eef3f8;--bg-card:#fff;--line:#e6ecf2;--line-strong:#cdd6e0;--line-faint:#f0f4f8;--text:#2c3e50;--text-muted:#7a8aa0;--text-faint:#b4bdc9;--ink:#1f2d3d;--accent:#4ea1d3;--accent-soft:#e6f2fa;--accent-deep:#2d7fb3;--gold:#4ea1d3;--ok:#6cbf84;--warn:#f0b350;--err:#e07a7a;--radius:12px;--radius-sm:8px;--radius-lg:16px;--radius-xl:24px;--shadow-xs:0 1px 2px rgba(78,161,211,.05);--shadow-sm:0 2px 8px rgba(78,161,211,.06);--shadow-md:0 4px 20px rgba(78,161,211,.08);--shadow-lg:0 12px 40px rgba(78,161,211,.14);--pad-x:32px;--pad-y:28px;--gap:20px;--tab-h:44px;--topbar-h:68px}.density-compact{--pad-x:22px;--pad-y:18px;--gap:14px;--tab-h:38px;--topbar-h:56px}.density-roomy{--pad-x:48px;--pad-y:40px;--gap:28px;--tab-h:50px;--topbar-h:76px}.theme-dark{--bg:#0f1419;--bg-soft:#161c24;--bg-sunk:#1c232c;--bg-card:#181f27;--line:#242c36;--line-strong:#364253;--line-faint:#1d242d;--text:#e6ecf2;--text-muted:#8a99ac;--text-faint:#5a6577;--ink:#e6ecf2;--accent:#6db7e0;--accent-soft:rgba(109,183,224,.12)}.dir-console{--accent:#5a6fc7;--gold:#5a6fc7;--accent-soft:#ebeef9}.font-sans{--font:var(--font-ui)}.font-serif{--font:var(--font-display)}.font-mono{--font:var(--font-mono)}*{box-sizing:border-box}#__next,body,html{height:100%;margin:0;padding:0}body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:15.5px;line-height:1.6;-webkit-font-smoothing:antialiased;letter-spacing:-.005em;position:relative}body:before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse 60% 40% at 80% -10%,color-mix(in oklch,var(--accent) 12%,transparent),transparent 60%),radial-gradient(ellipse 50% 35% at 10% 110%,color-mix(in oklch,var(--accent) 8%,transparent),transparent 60%);pointer-events:none;z-index:-1}button{cursor:pointer}button,input,select,textarea{font:inherit;color:inherit}::selection{background:var(--accent-soft);color:var(--accent-deep)}a{color:inherit;text-decoration:none}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{height:var(--topbar-h);display:flex;align-items:center;gap:16px;padding:0 var(--pad-x);background:hsla(0,0%,100%,.7);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:30}.theme-dark .topbar{background:rgba(15,20,25,.7)}.brand{display:flex;align-items:center;gap:14px}.brand-mark{width:38px;height:38px;border-radius:12px;background:linear-gradient(140deg,var(--accent),var(--accent-deep));color:#fff;display:grid;place-items:center;font-size:18px;letter-spacing:-.04em;box-shadow:0 4px 14px -2px color-mix(in oklch,var(--accent) 50%,transparent)}.brand-mark,.brand-name{font-family:var(--font-ui);font-weight:700}.brand-name{font-size:20px;letter-spacing:-.025em;color:var(--text)}.brand-name em{font-style:normal;color:var(--accent)}.tagline{color:var(--text-muted);font-size:14px;border-left:1px solid var(--line);padding-left:16px;white-space:nowrap;font-weight:400}@media (max-width:760px){.tagline{display:none}}.topbar-spacer{flex:1 1}.icon-btn{height:38px;min-width:38px;padding:0 14px;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--text-muted);display:inline-flex;align-items:center;gap:8px;font-size:14.5px;font-weight:500;transition:all .16s ease}.icon-btn:hover{background:var(--bg-soft);color:var(--accent)}.icon-btn.active{background:var(--accent-soft);color:var(--accent-deep)}.tabs{display:flex;gap:4px;padding:12px var(--pad-x);background:hsla(0,0%,100%,.6);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none;position:-webkit-sticky;position:sticky;top:var(--topbar-h);z-index:20}.theme-dark .tabs{background:rgba(15,20,25,.6)}.tabs::-webkit-scrollbar{display:none}.tab{height:var(--tab-h);padding:0 18px;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--text-muted);display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:500;letter-spacing:-.005em;white-space:nowrap;transition:all .18s cubic-bezier(.4,0,.2,1);text-decoration:none}.tab:hover{color:var(--text);background:var(--bg-soft)}.tab.active{background:var(--accent-soft);color:var(--accent-deep);font-weight:600}.tab .tab-ico{width:17px;height:17px;opacity:.6;display:inline-flex}.tab.active .tab-ico{opacity:1}.tab .kbd{font-family:var(--font-mono);font-size:12px;opacity:.55;margin-left:2px;padding:2px 6px;border-radius:4px;background:rgba(0,0,0,.04)}.tab.active .kbd{background:hsla(0,0%,100%,.5);opacity:.8}.theme-dark .tab .kbd{background:hsla(0,0%,100%,.05)}.theme-dark .tab.active .kbd{background:rgba(0,0,0,.2)}.tab-trigger{cursor:pointer;font:inherit;font-family:var(--font-ui)}.tab-trigger .tab-caret{margin-left:2px;opacity:.55;transition:transform .2s ease,opacity .16s ease}.tab-trigger:hover .tab-caret{opacity:.9}.tab-trigger.open{background:var(--accent-soft);color:var(--accent-deep)}.tab-trigger.open .tab-caret{transform:rotate(180deg);opacity:1}.tab-menu{position:fixed;min-width:200px;background:var(--bg-card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);padding:6px;z-index:60;display:flex;flex-direction:column;gap:2px;animation:tab-menu-in .14s cubic-bezier(.4,0,.2,1)}.tab-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));grid-gap:2px 4px;gap:2px 4px;max-width:calc(100vw - 24px)}@media (max-width:480px){.tab-menu-grid{grid-template-columns:1fr}}@keyframes tab-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.tab-menu-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;color:var(--text-muted);font-size:14.5px;font-weight:500;text-decoration:none;white-space:nowrap;transition:background .14s ease,color .14s ease}.tab-menu-item .tab-ico{width:17px;height:17px;opacity:.6;display:inline-flex}.tab-menu-item .tab-menu-name{flex:1 1}.tab-menu-item:hover{background:var(--bg-soft);color:var(--text)}.tab-menu-item:hover .tab-ico{opacity:.9}.tab-menu-item.active{background:var(--accent-soft);color:var(--accent-deep);font-weight:600}.tab-menu-item.active .tab-ico{opacity:1}.tab-menu-item .kbd{font-family:var(--font-mono);font-size:12px;opacity:.55;padding:2px 6px;border-radius:4px;background:rgba(0,0,0,.04)}.theme-dark .tab-menu-item .kbd{background:hsla(0,0%,100%,.05)}.tab-menu-item.active .kbd{background:hsla(0,0%,100%,.5);opacity:.8}.theme-dark .tab-menu-item.active .kbd{background:rgba(0,0,0,.2)}.main{flex:1 1;display:grid;grid-template-columns:1fr;min-height:0}.workspace{padding:var(--pad-y) var(--pad-x);max-width:1440px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:var(--gap)}.tool-head{display:none}.tool-intro{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:14px var(--pad-x);border-bottom:1px solid var(--line-faint);background:hsla(0,0%,100%,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.theme-dark .tool-intro{background:rgba(15,20,25,.4)}.tool-intro-title{margin:0;font-family:var(--font-ui);font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--text)}.tool-intro-sep{color:var(--text-faint);font-size:14px;line-height:1}.tool-intro-desc{margin:0;font-size:14.5px;font-weight:400;color:var(--text-muted);letter-spacing:-.003em}@media (max-width:600px){.tool-intro{padding:12px var(--pad-x);gap:8px}.tool-intro-title{font-size:15px}.tool-intro-desc{font-size:13.5px}}.panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-card);display:flex;flex-direction:column;min-height:0;box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow .2s ease,border-color .2s ease}.panel:hover{box-shadow:var(--shadow-md)}.panel-head{display:flex;align-items:center;gap:10px;padding:16px 22px;border-bottom:1px solid var(--line);font-size:16px;color:var(--text-muted);letter-spacing:.02em;font-family:var(--font-ui);font-weight:600;text-transform:none}.panel-head>span:first-child:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:10px;vertical-align:2px}.panel-head .right{margin-left:auto;display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.panel-body{padding:18px;display:flex;flex-direction:column;gap:14px}.panel-body.tight{padding:0}.split{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--gap);gap:var(--gap)}@media (max-width:880px){.split{grid-template-columns:1fr}}textarea.input{width:100%;min-height:260px;resize:vertical;border:none;outline:none;background:transparent;font-family:var(--font-mono);font-size:15px;line-height:1.7;padding:22px;color:var(--text)}.input::placeholder{color:var(--text-faint)}.output{font-family:var(--font-mono);font-size:15px;line-height:1.7;padding:22px;color:var(--text);white-space:pre-wrap;word-break:break-word;min-height:260px;flex:1 1}.output.empty{color:var(--text-faint);font-family:var(--font-ui);font-size:14px;display:flex;align-items:center;justify-content:center}.output.err{color:var(--err)}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.row.between{justify-content:space-between}.btn{height:38px;padding:0 16px;border-radius:10px;border:1px solid var(--line);background:var(--bg-card);color:var(--text);font-size:15px;font-weight:500;display:inline-flex;align-items:center;gap:7px;transition:all .16s ease;white-space:nowrap}.btn:hover{border-color:var(--accent);color:var(--accent-deep);background:var(--accent-soft)}.btn.primary{background:linear-gradient(180deg,var(--accent),var(--accent-deep));color:#fff;border-color:var(--accent-deep);box-shadow:0 2px 8px -1px color-mix(in oklch,var(--accent) 40%,transparent)}.btn.primary:hover{filter:brightness(1.06);transform:translateY(-1px)}.btn.ghost{border-color:transparent;color:var(--text-muted);background:transparent}.btn.ghost:hover{color:var(--accent-deep);background:var(--accent-soft);border-color:transparent}.btn:disabled{cursor:not-allowed;opacity:.5}.btn:disabled:hover{transform:none;filter:none;background:var(--bg-card);color:var(--text);border-color:var(--line)}.seg{border:1px solid var(--line);border-radius:10px;padding:3px;background:var(--bg-soft);gap:2px}.seg,.seg-item{display:inline-flex}.seg-item{height:32px;padding:0 14px;border-radius:7px;border:none;background:transparent;color:var(--text-muted);font-size:14.5px;font-weight:500;align-items:center;gap:6px;white-space:nowrap;transition:all .14s ease}.seg-item:hover{color:var(--text)}.seg-item.active{color:var(--accent-deep);box-shadow:0 1px 3px rgba(78,161,211,.15)}.chip,.seg-item.active{background:var(--bg-card)}.chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 11px;border-radius:999px;border:1px solid var(--line);font-size:12.5px;color:var(--text-muted);font-weight:500;letter-spacing:.01em}.chip.ok{color:var(--ok);border-color:color-mix(in oklch,var(--ok) 40%,transparent);background:color-mix(in oklch,var(--ok) 10%,var(--bg-card))}.chip.err{color:var(--err);border-color:color-mix(in oklch,var(--err) 40%,transparent);background:color-mix(in oklch,var(--err) 10%,var(--bg-card))}.chip.accent{color:var(--accent-deep);border-color:color-mix(in oklch,var(--accent) 40%,transparent);background:var(--accent-soft)}a.chip{text-decoration:none;cursor:pointer;transition:color .14s ease,border-color .14s ease,background .14s ease}a.chip:hover{color:var(--accent-deep);border-color:color-mix(in oklch,var(--accent) 45%,transparent);background:var(--accent-soft)}.kv{display:grid;grid-template-columns:170px 1fr auto;border-top:1px solid var(--line-faint);transition:background .14s ease}.kv:first-child{border-top:none}.kv:hover{background:var(--accent-soft)}.kv .k{color:var(--text-muted);font-size:14px;border-right:1px solid var(--line-faint);background:var(--bg-soft)}.kv .k,.kv .v{padding:16px 22px;font-weight:500;display:flex;align-items:center}.kv .v{font-family:var(--font-mono);font-size:15px;word-break:break-all;color:var(--text)}.kv .v.empty{color:var(--text-faint);font-family:var(--font-ui);font-weight:400}.kv .a{display:flex;align-items:center;padding:8px 12px 8px 0}.input-line{display:block;width:100%;height:44px;padding:0 16px;border:1px solid var(--line);border-radius:10px;background:var(--bg-card);font-family:var(--font-mono);font-size:14.5px;outline:none;transition:all .16s ease;color:var(--text)}.input-line:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.label{font-size:13.5px;color:var(--text-muted);font-weight:500}.hist-pop{position:fixed;top:calc(var(--topbar-h) + 12px);right:var(--pad-x);width:400px;max-width:calc(100vw - 32px);max-height:480px;overflow:auto;background:var(--bg-card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);z-index:50;padding:10px}.hist-item{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:10px;cursor:pointer;border:1px solid transparent}.hist-item:hover{background:var(--bg-soft)}.hist-item .row1{display:flex;justify-content:space-between;font-size:12px;color:var(--text-muted);font-weight:500}.hist-item .row1 span:first-child{color:var(--accent-deep)}.hist-item .row2{font-family:var(--font-mono);font-size:13.5px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hist-empty{padding:60px 24px;text-align:center;color:var(--text-faint);font-size:14px}.settings-pop{position:fixed;top:calc(var(--topbar-h) + 12px);right:var(--pad-x);width:320px;max-width:calc(100vw - 32px);background:var(--bg-card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);z-index:50;padding:18px;display:flex;flex-direction:column;gap:16px}.settings-pop .sect-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint)}.settings-pop .row-h{display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-pop .seg{width:100%}.settings-pop .seg-item{flex:1 1;justify-content:center}.swatch-row{display:flex;gap:8px}.swatch-row button{width:30px;height:30px;border-radius:8px;border:2px solid transparent;cursor:pointer;padding:0;background-clip:content-box;transition:transform .12s ease,border-color .12s ease}.swatch-row button:hover{transform:scale(1.08)}.swatch-row button.on{border-color:var(--text)}.foot{border-top:1px solid var(--line);padding:18px var(--pad-x);color:var(--text-muted);font-size:13.5px;display:flex;gap:16px;align-items:center;background:hsla(0,0%,100%,.5)}.theme-dark .foot{background:rgba(15,20,25,.5)}.foot .dot{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 4px color-mix(in oklch,var(--ok) 25%,transparent)}.foot .foot-sep{color:var(--text-faint);margin:0 -8px}.foot .foot-link{color:var(--text-muted);text-decoration:none;border-bottom:1px dashed var(--line-strong);padding-bottom:1px;transition:color .12s ease,border-color .12s ease}.foot .foot-link:hover{color:var(--accent-deep);border-bottom-color:var(--accent)}.theme-dark .foot .foot-link:hover{color:var(--accent)}@media (max-width:600px){.foot{flex-direction:column;gap:6px;align-items:flex-start}.foot .foot-sep{display:none}}.disclaimer{min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--text)}.disclaimer-bar{display:flex;align-items:center;justify-content:space-between;padding:18px var(--pad-x);border-bottom:1px solid var(--line);background:hsla(0,0%,100%,.6);-webkit-backdrop-filter:saturate(140%) blur(6px);backdrop-filter:saturate(140%) blur(6px);position:-webkit-sticky;position:sticky;top:0;z-index:10}.theme-dark .disclaimer-bar{background:rgba(15,20,25,.6)}.disclaimer-brand{font-family:var(--font-display);font-size:20px;font-weight:600;color:var(--ink);text-decoration:none;letter-spacing:-.01em}.disclaimer-brand:hover{color:var(--accent-deep)}.disclaimer-bar-actions{display:flex;align-items:center;gap:14px}.disclaimer-lang{font-family:var(--font-mono);font-size:12.5px;padding:4px 10px;border-radius:999px;border:1px solid var(--line-strong);background:transparent;color:var(--text-muted);cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.disclaimer-lang:hover{background:var(--accent-soft);color:var(--accent-deep);border-color:var(--accent)}.disclaimer-back{font-size:14px;color:var(--text-muted);text-decoration:none}.disclaimer-back:hover{color:var(--accent-deep)}.theme-dark .disclaimer-back:hover,.theme-dark .disclaimer-brand:hover,.theme-dark .disclaimer-lang:hover{color:var(--accent)}.disclaimer-main{max-width:760px;width:100%;margin:0 auto;padding:56px var(--pad-x) 80px;flex:1 1}.disclaimer-title{font-family:var(--font-display);font-weight:600;font-size:36px;letter-spacing:-.015em;margin:0 0 12px;color:var(--ink)}.disclaimer-meta{display:flex;flex-wrap:wrap;gap:18px;font-size:13.5px;color:var(--text-muted);margin:0 0 36px;padding-bottom:18px;border-bottom:1px solid var(--line)}.disclaimer-main section{margin:0 0 30px}.disclaimer-main h2{font-size:17px;font-weight:600;color:var(--ink);margin:0 0 12px;letter-spacing:-.005em}.disclaimer-main li,.disclaimer-main p{font-size:15px;line-height:1.75;color:var(--text)}.disclaimer-main p{margin:0 0 10px}.disclaimer-main ol,.disclaimer-main ul{padding-left:22px;margin:0 0 4px}.disclaimer-main li{margin-bottom:6px}.disclaimer-main strong{color:var(--ink);font-weight:600}.disclaimer-main code{font-family:var(--font-mono);font-size:13px;padding:1px 6px;border-radius:4px;background:var(--bg-sunk);color:var(--accent-deep)}.theme-dark .disclaimer-main code{color:var(--accent)}.disclaimer-contact{display:inline-flex;align-items:center;gap:12px;margin-top:8px!important;padding:10px 16px;background:var(--accent-soft);border:1px solid color-mix(in oklch,var(--accent) 30%,transparent);border-radius:var(--radius)}.disclaimer-contact-label{font-size:12.5px;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase}.disclaimer-contact a{font-family:var(--font-mono);font-size:14.5px;color:var(--accent-deep);text-decoration:none;border-bottom:1px dashed var(--accent)}.disclaimer-contact a:hover{border-bottom-style:solid}.theme-dark .disclaimer-contact a{color:var(--accent)}.disclaimer-hr{border:none;border-top:1px solid var(--line);margin:40px 0 20px}.disclaimer-foot{font-size:13.5px;color:var(--text-muted);line-height:1.7}@media (max-width:600px){.disclaimer-main{padding:36px 20px 60px}.disclaimer-title{font-size:28px}.disclaimer-bar{padding:14px 20px}}.swatch{width:26px;height:26px;border-radius:8px;border:1px solid var(--line-strong);cursor:pointer;transition:transform .12s ease}.swatch:hover{transform:scale(1.1)}.color-preview{height:200px;border-radius:12px;border:1px solid var(--line);position:relative;overflow:hidden}.qr-host{display:grid;place-items:center;padding:32px;background:linear-gradient(180deg,var(--bg-soft),var(--bg-sunk));border-radius:12px;border:1px solid var(--line);min-height:300px}.qr-host canvas,.qr-host svg{background:#fff;padding:16px;border-radius:12px;box-shadow:var(--shadow-md)}.match-row{display:grid;grid-template-columns:44px 88px 1fr;border-top:1px solid var(--line-faint);font-family:var(--font-mono);font-size:14.5px}.match-row:first-child{border-top:none}.match-row .ix{color:var(--accent-deep);background:var(--bg-soft);text-align:right;font-weight:600}.match-row .ix,.match-row .pos{padding:11px 14px;border-right:1px solid var(--line-faint)}.match-row .pos{color:var(--text-muted)}.match-row .val{padding:11px 14px;word-break:break-all}.match-row .val mark{background:var(--accent-soft);color:var(--accent-deep);border-radius:4px;padding:0 4px}.match-row.gp{background:var(--bg-soft);color:var(--text-muted)}.regex-pretty{font-family:var(--font-mono);font-size:15.5px;line-height:1.8;padding:22px;white-space:pre-wrap;word-break:break-word;min-height:100px}.regex-pretty mark{background:var(--accent-soft);padding:2px 5px;border-radius:4px}.copy-flash,.regex-pretty mark{color:var(--accent-deep);font-weight:500}.copy-flash{position:fixed;bottom:32px;left:50%;transform:translateX(-50%);background:var(--bg-card);padding:12px 20px;border-radius:999px;font-size:14px;z-index:100;box-shadow:var(--shadow-lg);border:1px solid var(--line);pointer-events:none;animation:flash 1.4s ease;display:inline-flex;gap:10px;align-items:center}.copy-flash:before{content:"✓";width:18px;height:18px;background:var(--accent);color:#fff;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700}@keyframes flash{0%{opacity:0;transform:translate(-50%,12px)}10%,80%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-6px)}}.meta{display:flex;gap:14px;font-size:13px;color:var(--text-muted);flex-wrap:wrap}.meta span b{color:var(--text);font-weight:600}.now-grid{display:grid;grid-template-columns:1fr 1fr 1fr;padding:0;grid-gap:0;gap:0}.now-card{padding:26px 28px;display:flex;flex-direction:column;gap:10px;position:relative}.now-card+.now-card{border-left:1px solid var(--line-faint)}.now-card .label{color:var(--accent-deep);font-weight:600}.now-card .val{font-family:var(--font-mono);font-size:22px;font-weight:500;letter-spacing:-.015em;word-break:break-all;color:var(--text)}@media (max-width:880px){.now-grid{grid-template-columns:1fr}.now-card+.now-card{border-left:none;border-top:1px solid var(--line-faint)}}.schedule-row{display:grid;grid-template-columns:60px 1fr 1fr 1fr 1fr;font-size:13px;font-family:var(--font-mono);padding:9px 14px;border-bottom:1px solid var(--line-faint)}.schedule-row.head{color:var(--text-muted);font-weight:600;border-bottom:1px solid var(--line);padding:10px 14px;position:-webkit-sticky;position:sticky;top:0;background:var(--bg-card);z-index:1}.hs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:12px;gap:12px}.hs-card{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;text-align:left;cursor:pointer;font-family:inherit;color:inherit;display:flex;flex-direction:column;gap:4px;transition:border-color .14s ease,transform .14s ease,box-shadow .14s ease}.hs-card:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.hs-card.active{border-color:var(--accent);box-shadow:var(--shadow-md)}.hs-code{font-family:var(--font-mono);font-size:22px;font-weight:600;letter-spacing:-.01em}.hs-1xx .hs-code{color:#6c8ebf}.hs-2xx .hs-code{color:var(--ok)}.hs-3xx .hs-code{color:var(--accent-deep)}.hs-4xx .hs-code{color:var(--warn)}.hs-5xx .hs-code{color:var(--err)}.hs-name{font-size:13px;color:var(--text);font-weight:600}.hs-desc{font-size:12.5px;color:var(--text-muted);line-height:1.5}.radix-grid{display:grid;grid-template-columns:100px 1fr;grid-gap:10px 14px;gap:10px 14px;align-items:center}.radix-grid .label{margin:0}.jp-hit{background:color-mix(in oklch,var(--accent) 18%,transparent);border-radius:4px}.tool-row{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line-faint)}.tool-row:last-child{border-bottom:none}.tool-row .label{margin-right:6px;align-self:center}.strength-bar{height:6px;border-radius:999px;background:var(--bg-sunk);overflow:hidden;margin-top:6px}.strength-bar>span{display:block;height:100%;transition:width .2s ease,background .2s ease}.strength-weak>span{background:var(--err)}.strength-fair>span{background:var(--warn)}.strength-strong>span{background:var(--accent)}.strength-excellent>span{background:var(--ok)}.color-picker{width:44px;height:36px;border:1px solid var(--line);border-radius:6px;padding:2px;background:var(--bg);cursor:pointer;flex-shrink:0}.palette-group{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.palette-group+.palette-group{margin-top:12px}.palette-group-head{padding:10px 14px;font-weight:600;font-size:14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line-faint);background:var(--bg-soft)}.palette-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:0;gap:0}.palette-swatch{position:relative;height:72px;border:none;cursor:pointer;font-family:var(--font-mono);transition:transform .14s ease}.palette-swatch:hover{transform:scale(1.02);z-index:2;box-shadow:0 4px 12px rgba(0,0,0,.18)}.palette-swatch-label{position:absolute;bottom:6px;left:8px;font-size:11px;padding:1px 6px;border-radius:3px;background:hsla(0,0%,100%,.85);color:#111;opacity:0;transition:opacity .14s ease}.palette-swatch:hover .palette-swatch-label{opacity:1}.bez-track{position:relative;height:8px;background:var(--bg-sunk);border-radius:999px;overflow:hidden}.bez-ball{position:absolute;top:-4px;left:0;width:16px;height:16px;border-radius:50%;background:var(--accent);animation:bez-move 1.5s forwards}@keyframes bez-move{0%{left:0}to{left:calc(100% - 16px)}}.shadow-layer{border-bottom:1px solid var(--line-faint);padding:10px 14px}.shadow-layer:last-child{border-bottom:none}.shadow-layer-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.shadow-fields{flex-wrap:wrap;gap:10px 14px}.grad-stop,.shadow-fields{display:flex;align-items:center}.grad-stop{gap:10px;padding:10px 14px;border-bottom:1px solid var(--line-faint)}.grad-stop:last-child{border-bottom:none}.drop-zone{border:2px dashed var(--line-strong);border-radius:var(--radius);padding:32px 24px;text-align:center;cursor:pointer;transition:border-color .14s ease,background .14s ease}.drop-zone.over,.drop-zone:hover{border-color:var(--accent);background:var(--accent-soft)}.emoji-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}.emoji-tab{flex-shrink:0;padding:7px 14px;border:1px solid var(--line);background:var(--bg-card);border-radius:999px;cursor:pointer;font-size:13px;color:var(--text-muted)}.emoji-tab:hover{color:var(--text)}.emoji-tab.active{background:var(--accent-soft);color:var(--accent-deep);border-color:var(--accent)}.emoji-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));grid-gap:4px;gap:4px;padding:8px}.emoji-cell{background:transparent;border:1px solid transparent;border-radius:6px;height:44px;font-size:22px;cursor:pointer;transition:background .1s ease,transform .1s ease}.emoji-cell:hover{background:var(--bg-soft);transform:scale(1.1)}.svg-preview{padding:18px;display:flex;align-items:center;justify-content:center;min-height:180px;background:linear-gradient(45deg,var(--bg-sunk) 25%,transparent 25%),linear-gradient(-45deg,var(--bg-sunk) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--bg-sunk) 75%),linear-gradient(-45deg,transparent 75%,var(--bg-sunk) 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0}.svg-preview svg{max-width:100%;max-height:240px}.favicon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:14px;gap:14px;padding:14px}.favicon-cell{flex-direction:column;gap:8px;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-card)}.favicon-cell,.favicon-preview{display:flex;align-items:center}.favicon-preview{justify-content:center;background:linear-gradient(45deg,var(--bg-sunk) 25%,transparent 25%),linear-gradient(-45deg,var(--bg-sunk) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--bg-sunk) 75%),linear-gradient(-45deg,transparent 75%,var(--bg-sunk) 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0;border-radius:6px}.favicon-label{text-align:center;font-size:13px}.tutorial-layout{display:grid;grid-template-columns:260px minmax(0,1fr);grid-gap:28px;gap:28px;padding:var(--pad-y) var(--pad-x);max-width:1440px;width:100%;margin:0 auto;align-items:start}@media (max-width:900px){.tutorial-layout{grid-template-columns:1fr;gap:18px}}.tutorial-side{position:-webkit-sticky;position:sticky;top:calc(var(--topbar-h) + var(--tab-h) + 28px);max-height:calc(100vh - var(--topbar-h) - var(--tab-h) - 56px);overflow-y:auto;background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);padding:22px 18px 14px;scrollbar-width:thin}.tutorial-side::-webkit-scrollbar{width:6px}.tutorial-side::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:3px}@media (max-width:900px){.tutorial-side{position:static;max-height:none}}.tutorial-side-head{padding:0 4px 16px;border-bottom:1px solid var(--line-faint);margin-bottom:12px}.tutorial-side-brand{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.18em;color:var(--text-muted);margin-bottom:12px}.tutorial-side-progress{display:flex;flex-direction:column;gap:6px}.tutorial-progress-bar{height:4px;background:var(--line);border-radius:99px;overflow:hidden}.tutorial-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-deep));border-radius:99px;transition:width .32s cubic-bezier(.4,0,.2,1)}.tutorial-progress-text{display:flex;align-items:baseline;gap:3px;font-family:var(--font-mono);font-size:12px;color:var(--text-muted)}.tutorial-progress-num{color:var(--accent-deep);font-weight:600;font-size:14px}.tutorial-progress-sep{opacity:.4}.tutorial-side-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.tutorial-side-list li{position:relative}.tutorial-side-list:before{content:"";position:absolute;left:calc(18px + 5px);top:18px;bottom:18px;width:1px;background:linear-gradient(to bottom,transparent,var(--line-strong) 8%,var(--line-strong) 92%,transparent);pointer-events:none}.tutorial-side-list{position:relative}.tutorial-side-item{position:relative;display:grid;grid-template-columns:10px 22px 1fr;align-items:center;grid-gap:12px;gap:12px;padding:10px 6px 10px 18px;border-radius:8px;font-size:14px;color:var(--text-muted);text-decoration:none;transition:color .14s ease,transform .16s ease;line-height:1.35}.tutorial-side-item:hover{color:var(--text)}.tutorial-side-marker{width:10px;height:10px;border-radius:50%;background:var(--bg-card);border:1.5px solid var(--line-strong);box-shadow:0 0 0 3px var(--bg-card);transition:all .18s cubic-bezier(.4,0,.2,1)}.tutorial-side-item.done .tutorial-side-marker{background:var(--line-strong);border-color:var(--line-strong)}.tutorial-side-item.active .tutorial-side-marker{width:12px;height:12px;background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 3px var(--bg-card),0 0 0 5px color-mix(in oklch,var(--accent) 25%,transparent)}.tutorial-side-item:hover .tutorial-side-marker{border-color:var(--accent)}.tutorial-side-idx{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.02em;opacity:.55;text-align:left}.tutorial-side-item.done .tutorial-side-idx{opacity:.7}.tutorial-side-item.active .tutorial-side-idx{color:var(--accent-deep);opacity:1;font-weight:600}.tutorial-side-name{font-size:14px;letter-spacing:-.005em}.tutorial-side-item.active .tutorial-side-name{color:var(--accent-deep);font-weight:600}.tutorial-side-item.done .tutorial-side-name{color:color-mix(in oklch,var(--text) 70%,var(--text-muted))}.tutorial-main{min-width:0;background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);padding:36px 40px 32px}@media (max-width:600px){.tutorial-main{padding:24px 20px}}.tutorial-head{padding-bottom:18px;border-bottom:1px solid var(--line-faint);margin-bottom:24px}.tutorial-eyebrow{font-size:12px;color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px}.tutorial-title{font-size:28px;font-weight:700;letter-spacing:-.01em;margin:0 0 8px;line-height:1.25}.tutorial-summary{font-size:15px;color:var(--text-muted);margin:0;line-height:1.55}.tutorial-body{display:flex;flex-direction:column;gap:16px}.tut-h2{font-size:20px;font-weight:600;margin:18px 0 4px;letter-spacing:-.005em;line-height:1.35}.tut-p{line-height:1.75}.tut-p,.tut-ul{font-size:15px;margin:0}.tut-ul{padding-left:22px;line-height:1.7;display:flex;flex-direction:column;gap:4px}.tut-code-wrap{position:relative;margin:4px 0}.tut-code-wrap .tut-code{margin:0}.tut-code-copy{position:absolute;top:8px;right:8px;display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border:1px solid var(--line);border-radius:6px;background:var(--bg-card);color:var(--text-muted);font-family:var(--font-ui);font-size:12px;line-height:1;cursor:pointer;opacity:0;transition:opacity .16s ease,color .16s ease,border-color .16s ease,background .16s ease}.tut-code-copy:focus-visible,.tut-code-wrap:hover .tut-code-copy{opacity:1}.tut-code-copy:hover{color:var(--text);border-color:var(--line-strong)}.tut-code-copy.copied{opacity:1;color:var(--accent-deep);border-color:color-mix(in oklch,var(--accent) 40%,transparent);background:var(--accent-soft)}@media (hover:none){.tut-code-copy{opacity:.85}}.tut-code{padding:14px 16px;background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:13.5px;line-height:1.6;overflow-x:auto;white-space:pre}.tut-code code{font:inherit;color:inherit;background:none;padding:0}.tut-note{display:flex;gap:10px;padding:12px 14px;background:var(--accent-soft);border:1px solid color-mix(in oklch,var(--accent) 30%,transparent);border-radius:var(--radius-sm);font-size:14px;line-height:1.6;color:var(--accent-deep)}.tut-note-icon{flex-shrink:0;font-weight:700;line-height:1.6}.tutorial-pager{margin-top:36px;padding-top:20px;border-top:1px solid var(--line-faint);display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.tutorial-pager-btn{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius-sm);text-decoration:none;color:var(--text);background:var(--bg-card);transition:border-color .14s ease,background .14s ease}.tutorial-pager-btn:hover{border-color:var(--accent);background:var(--bg-soft)}.tutorial-pager-next{text-align:right;align-items:flex-end}.tutorial-pager-label{font-size:12px;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase}.tutorial-pager-title{font-size:14.5px;font-weight:500}.tutorial-placeholder{padding:var(--pad-y) var(--pad-x);max-width:720px;margin:0 auto;width:100%}.tutorial-placeholder-card{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:60px 40px;text-align:center;box-shadow:var(--shadow-lg)}.tutorial-placeholder-eyebrow{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-deep);margin-bottom:12px}.tutorial-placeholder-title{font-size:32px;font-weight:700;margin:0 0 16px;letter-spacing:-.01em}.tutorial-placeholder-desc{font-size:15px;color:var(--text-muted);line-height:1.7;margin:0 0 28px}.tutorial-link{color:var(--accent-deep);text-decoration:underline;text-underline-offset:3px}.tutorial-placeholder-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.tutorial-btn{display:inline-flex;align-items:center;padding:10px 22px;border-radius:var(--radius-sm);font-size:14.5px;font-weight:500;text-decoration:none;border:1px solid var(--line);transition:all .14s ease}.tutorial-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.tutorial-btn.primary:hover{background:var(--accent-deep);border-color:var(--accent-deep)}.tutorial-btn.ghost{background:transparent;color:var(--text)}.tutorial-btn.ghost:hover{background:var(--bg-soft)}.wul{gap:20px}.wul-hero{border:1px solid var(--line);border-radius:var(--radius-lg);background:radial-gradient(120% 140% at 0 0,var(--accent-soft) 0,transparent 55%),var(--bg-card);box-shadow:var(--shadow-xs);padding:clamp(18px,2.6vw,28px) clamp(20px,3vw,32px)}.wul-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-deep);margin-bottom:10px}.wul-eyebrow:before{content:"";width:22px;height:2px;border-radius:2px;background:var(--accent)}.wul-h1{font-family:var(--font-display);font-weight:600;font-size:clamp(22px,3vw,30px);line-height:1.18;letter-spacing:-.015em;color:var(--ink);margin:0 0 8px}.wul-h1 b{color:var(--accent-deep);font-weight:600}.wul-sub{font-size:clamp(13.5px,1.1vw,15px);line-height:1.55;color:var(--text-muted);margin:0;max-width:64ch}.wul-tiles{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.wul-tile{flex:1 1 120px;min-width:110px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-soft);padding:12px 16px}.wul-tile .n{font-family:var(--font-display);font-size:clamp(20px,2.2vw,26px);font-weight:600;color:var(--ink);line-height:1}.wul-tile .l{display:block;margin-top:5px;font-size:12px;color:var(--text-muted);letter-spacing:.04em}.wul-tile.feature{background:var(--accent-soft);border-color:color-mix(in oklch,var(--accent) 35%,transparent)}.wul-tile.feature .n{color:var(--accent-deep);font-family:var(--font-mono)}.wul-groups{display:flex;flex-direction:column;gap:20px}.wul-group{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-card);box-shadow:var(--shadow-xs);overflow:hidden}.wul-group-head{display:flex;align-items:baseline;gap:12px;padding:20px 26px;border-bottom:1px solid var(--line-faint)}.wul-group-head h2{font-family:var(--font-display);font-size:22px;font-weight:600;color:var(--ink);margin:0}.wul-group-head .count{font-size:13px;color:var(--text-muted);font-weight:500}.wul-words{padding:22px 26px 26px;display:flex;flex-wrap:wrap;gap:12px}.wul-word{display:inline-flex;align-items:baseline;gap:8px;padding:11px 18px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg-soft);font-family:var(--font-mono);font-size:16px;font-weight:500;color:var(--text);text-decoration:none;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,background .14s ease}.wul-word .s{font-family:var(--font-ui);font-size:11.5px;font-weight:600;color:var(--text-faint)}a.wul-word:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:color-mix(in oklch,var(--accent) 45%,transparent);background:var(--bg-card)}.wul-word.top,a.wul-word:hover .s{color:var(--accent-deep)}.wul-word.top{background:var(--accent-soft);border-color:color-mix(in oklch,var(--accent) 45%,transparent);font-weight:600}.wul-word.top .s{color:var(--accent-deep)}span.wul-word[role=button]{cursor:pointer}span.wul-word[role=button]:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:color-mix(in oklch,var(--accent) 45%,transparent);background:var(--bg-card)}span.wul-word[role=button]:hover .s{color:var(--accent-deep)}.wul-letterbox{display:flex;align-items:center;gap:10px;border:2px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--bg-card);box-shadow:var(--shadow-sm);transition:border-color .16s ease,box-shadow .16s ease}.wul-letterbox:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.wul-letterfield{flex:1 1;min-width:0;border:none;outline:none;background:transparent;font-family:var(--font-mono);font-size:clamp(22px,3vw,32px);font-weight:500;letter-spacing:.1em;padding:20px 24px;color:var(--text)}.wul-letterfield::placeholder{color:var(--text-faint);letter-spacing:normal;font-size:15px;font-weight:400}.wul-letteractions{display:flex;gap:6px;flex-shrink:0;padding-right:10px}.wul-letterhint{display:flex;flex-wrap:wrap;gap:16px;margin-top:-8px;padding:0 6px;font-size:13px;color:var(--text-muted)}@media (max-width:620px){.wul-letterbox{flex-direction:column;align-items:stretch;gap:0}.wul-letteractions{padding:0 12px 12px}}.wul-resbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.wul-resbar>.wul-eyebrow{margin-bottom:0}.wul-resbar .right{display:inline-flex;gap:8px;flex-wrap:wrap}.wul-note{padding:28px 26px;color:var(--text-muted);font-size:15px;display:flex;align-items:center;gap:12px}.wul-note,.wul-prose{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-card)}.wul-prose{padding:clamp(24px,4vw,44px);max-width:820px}.wul-prose h2{font-family:var(--font-display);font-size:24px;font-weight:600;color:var(--ink);margin:0 0 14px}.wul-prose h2:not(:first-child){margin-top:32px}.wul-prose p{font-size:15.5px;line-height:1.75;color:var(--text);margin:0 0 14px}.wul-prose ul{margin:0;padding-left:22px}.wul-prose li{font-size:15px;line-height:1.7;color:var(--text);margin-bottom:8px}.wul-prose b{color:var(--ink)}.wu-collapse{width:100%;text-align:left;background:none;border:none;font:inherit;cursor:pointer;color:var(--text-muted)}.wu-collapse:hover{color:var(--accent-deep)}.wu-collapse .right{gap:6px;font-size:13px}.wu-chevron{display:inline-block;transition:transform .18s ease;font-size:12px}.wu-chevron.open{transform:rotate(180deg)}.wul-toolwrap{margin-top:8px;border:1px solid var(--line);border-radius:var(--radius-xl);background:radial-gradient(120% 140% at 100% 0,var(--accent-soft) 0,transparent 55%),var(--bg-card);box-shadow:var(--shadow-sm);padding:clamp(24px,4vw,48px)}.wul-toolwrap>.wul-eyebrow{margin-bottom:10px}.wul-toolwrap>p{font-size:16px;line-height:1.6;color:var(--text-muted);margin:0 0 26px;max-width:60ch}.wul-toolwrap .workspace{padding:0;gap:18px}.wul-toolwrap .panel{border-radius:var(--radius-lg)}.wul-toolwrap .panel-head{font-size:17px;padding:18px 24px}.wul-toolwrap .panel-body.tight>.tool-row{padding:16px 24px}.wul-toolwrap .label{font-size:15px}.wul-toolwrap .input-line{height:46px;font-size:15px}.wul-toolwrap .btn{height:42px;font-size:15px}.wul-toolwrap .chip{height:32px;padding:0 14px;font-size:15px}@media (max-width:720px){.wul-tile{flex-basis:calc(50% - 7px)}}