@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff)format("woff");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-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff)format("woff");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-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff)format("woff");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-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");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-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");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-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fraunces-vietnamese-400-normal-CvGt0Ybw.woff2)format("woff2"),url(/assets/fraunces-vietnamese-400-normal-B65MOf9T.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fraunces-latin-ext-400-normal-D8gbi3Gu.woff2)format("woff2"),url(/assets/fraunces-latin-ext-400-normal-UihxqfOe.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fraunces-latin-400-normal-6IfK1voy.woff2)format("woff2"),url(/assets/fraunces-latin-400-normal-NUPT2cO8.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/fraunces-vietnamese-400-italic-BTOWH4O7.woff2)format("woff2"),url(/assets/fraunces-vietnamese-400-italic-CO9zBbpA.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/fraunces-latin-ext-400-italic-jodr80a5.woff2)format("woff2"),url(/assets/fraunces-latin-ext-400-italic-CGHg0U1I.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/fraunces-latin-400-italic-ChpO6tcr.woff2)format("woff2"),url(/assets/fraunces-latin-400-italic-B7iDoVhm.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fraunces-vietnamese-500-normal-GOH_-EGq.woff2)format("woff2"),url(/assets/fraunces-vietnamese-500-normal-B-KbxExq.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fraunces-latin-ext-500-normal-Z5DV8IzT.woff2)format("woff2"),url(/assets/fraunces-latin-ext-500-normal-BMcFk1Xs.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fraunces-latin-500-normal-DnGCNyPD.woff2)format("woff2"),url(/assets/fraunces-latin-500-normal-BTR4KCeb.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-vietnamese-600-normal-BjlAJixd.woff2)format("woff2"),url(/assets/fraunces-vietnamese-600-normal-DlAl5EAR.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-ext-600-normal-BtzmzP0X.woff2)format("woff2"),url(/assets/fraunces-latin-ext-600-normal-B0Dy4lqi.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-600-normal-BFCDtZfi.woff2)format("woff2"),url(/assets/fraunces-latin-600-normal-DL5QCzvS.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:italic;font-display:swap;font-weight:600;src:url(/assets/fraunces-vietnamese-600-italic-DkyY-g7b.woff2)format("woff2"),url(/assets/fraunces-vietnamese-600-italic-BV4E0YjK.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:italic;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-ext-600-italic-BwNYOmL7.woff2)format("woff2"),url(/assets/fraunces-latin-ext-600-italic-CZUOs6oU.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:italic;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-600-italic-O70d2LGK.woff2)format("woff2"),url(/assets/fraunces-latin-600-italic-BlP2rMdV.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink-bg:#0e1512;--ink-surface:#161f1a;--ink-surface-raised:#1c2720;--hairline:#2b362f;--hairline-strong:#3c4a40;--brass:#c9a227;--brass-bright:#e8c766;--brass-dim:#8c7220;--parchment:#ede6d6;--parchment-dim:#a8a296;--parchment-faint:#706b60;--gain:#6fa46c;--gain-dim:#4c7249;--loss:#c1554f;--loss-dim:#8f3d38;--favourite-blue:#6f93c9;--focus-ring:#e8c766;--font-display:"Fraunces", "Iowan Old Style", ui-serif, serif;--font-body:"IBM Plex Sans", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--radius:3px;--radius-pill:999px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--ink-bg);color:var(--parchment);font-family:var(--font-body);-webkit-font-smoothing:antialiased;background-image:radial-gradient(1200px 600px at 50% -10%,#c9a2270f,#0000);font-size:16px;line-height:1.5}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:1px}h1,h2,h3{font-family:var(--font-display);color:var(--parchment);margin:0;font-weight:600}p{margin:0}a{color:var(--brass-bright)}main{max-width:1080px;padding:var(--space-6) var(--space-5) var(--space-8);margin:0 auto}@media (width<=640px){main{padding:var(--space-5) var(--space-4) var(--space-7)}}.eyebrow{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--brass);margin-bottom:var(--space-2);font-size:.72rem;font-weight:600;display:block}.figure,.signed{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.signed--gain{color:var(--gain)}.signed--loss{color:var(--loss)}.signed--flat{color:var(--parchment-dim)}.navbar{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--hairline);background:var(--ink-surface);justify-content:space-between;align-items:center;display:flex}.navbar-wordmark{font-family:var(--font-display);color:var(--parchment);letter-spacing:.01em;font-size:1.3rem;font-style:italic;font-weight:600;text-decoration:none}.navbar-wordmark span{color:var(--brass);font-style:normal;font-family:var(--font-mono);letter-spacing:.12em;vertical-align:middle;margin-left:var(--space-2);font-size:.7rem}.navbar-links{gap:var(--space-5);align-items:baseline;display:flex}.navbar-links a{letter-spacing:.04em;text-transform:uppercase;color:var(--parchment-dim);border-bottom:1px solid #0000;padding-bottom:2px;font-size:.85rem;font-weight:500;text-decoration:none;transition:color .15s,border-color .15s}.navbar-links a:hover,.navbar-links a.active{color:var(--parchment);border-bottom-color:var(--brass)}.navbar-user{align-items:center;gap:var(--space-4);display:flex}.navbar-email{font-family:var(--font-mono);color:var(--parchment-faint);font-size:.8rem}.portfolio-switcher{width:auto;padding:var(--space-2) var(--space-3);font-size:.8rem}@media (width<=640px){.navbar{gap:var(--space-3);flex-wrap:wrap}}button{font-family:var(--font-body);cursor:pointer}.btn{justify-content:center;align-items:center;gap:var(--space-2);border:1px solid var(--brass-dim);color:var(--brass-bright);letter-spacing:.04em;text-transform:uppercase;padding:var(--space-3) var(--space-5);border-radius:var(--radius);background:0 0;font-size:.85rem;font-weight:600;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.btn:hover:not(:disabled){background:var(--brass);border-color:var(--brass);color:var(--ink-bg)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-plain{border:1px solid var(--hairline-strong);color:var(--parchment-dim);letter-spacing:.04em;text-transform:uppercase;padding:var(--space-2) var(--space-4);border-radius:var(--radius);background:0 0;font-size:.78rem;font-weight:500;transition:border-color .15s,color .15s}.btn-plain:hover{border-color:var(--parchment-dim);color:var(--parchment)}label{letter-spacing:.06em;text-transform:uppercase;color:var(--parchment-dim);margin:var(--space-4) 0 var(--space-2);font-size:.78rem;font-weight:600;display:block}input,textarea,select{width:100%;font-family:var(--font-mono);color:var(--parchment);background:var(--ink-bg);border:1px solid var(--hairline-strong);border-radius:var(--radius);padding:var(--space-3);font-size:.95rem;transition:border-color .15s}input::placeholder,textarea::placeholder{color:var(--parchment-faint);font-family:var(--font-body);font-style:italic}input:focus,textarea:focus,select:focus{border-color:var(--brass)}textarea{font-family:var(--font-display);resize:vertical;font-size:1rem;font-style:italic}form{flex-direction:column;max-width:380px;display:flex}.form-error{color:var(--loss);margin-top:var(--space-3);font-size:.85rem}.panel{background:var(--ink-surface);border:1px solid var(--hairline);border-radius:var(--radius);padding:var(--space-5)}.auth-page{max-width:420px;margin:var(--space-8) auto 0}.auth-page .panel{margin-top:var(--space-5)}.auth-switch{margin-top:var(--space-4);color:var(--parchment-faint);font-size:.85rem}.table-scroll{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.ledger{border-collapse:collapse;width:100%;margin-top:var(--space-3)}@media (width<=640px){.ledger{min-width:640px}}.ledger th{text-align:left;letter-spacing:.1em;text-transform:uppercase;color:var(--parchment-faint);border-bottom:1px solid var(--hairline-strong);padding:var(--space-2) var(--space-3);white-space:nowrap;font-size:.68rem;font-weight:600}.ledger td{border-bottom:1px solid var(--hairline);padding:var(--space-3);vertical-align:top;white-space:nowrap;font-size:.9rem}.ledger tbody tr:hover{background:var(--ink-surface-raised)}.ledger tbody tr.is-clickable{cursor:pointer;position:relative}.holding-row-link{color:inherit;text-decoration:none}.holding-row-link:hover{color:var(--brass-bright)}.holding-row-link:after{content:"";position:absolute;inset:0}.journal-toggle{z-index:1;position:relative}.th-sort-toggle{font:inherit;color:inherit;cursor:pointer;text-transform:inherit;letter-spacing:inherit;background:0 0;border:none;align-items:center;gap:4px;padding:0;display:inline-flex}.th-sort-toggle:hover{color:var(--brass-dim)}.ledger .cell-ticker{font-family:var(--font-mono);letter-spacing:.02em;font-weight:500}.ledger .cell-name{color:var(--parchment-dim)}.ledger .cell-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.side-tag{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:6px;font-size:.75rem;display:inline-flex}.side-tag:before{content:"";border-radius:50%;width:7px;height:7px}.side-tag--buy{color:var(--brass-bright)}.side-tag--buy:before{background:var(--brass)}.side-tag--sell{color:var(--parchment-dim)}.side-tag--sell:before{border:1px solid var(--parchment-dim);background:0 0}.action-tag{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:6px;font-size:.75rem;display:inline-flex}.action-tag--buy{color:var(--gain)}.action-tag--sell{color:var(--loss)}.action-tag--hold{color:var(--brass-bright)}.action-tag--favourite{color:var(--favourite-blue)}.action-tag--unfavourite,.action-tag--observation{color:var(--parchment-dim)}.ledger-note-row td{border-bottom:1px solid var(--hairline);padding:0 var(--space-3) var(--space-4);white-space:normal}.ledger-note{margin-left:var(--space-4);padding-left:var(--space-4);border-left:1px solid var(--brass-dim);font-family:var(--font-display);color:var(--parchment-dim);max-width:60ch;font-size:.92rem;font-style:italic;position:relative}.hero-figure{font-family:var(--font-display);color:var(--parchment);font-size:clamp(2.5rem,6vw,3.75rem);font-weight:600;line-height:1.05}.allocation-bar{border-radius:var(--radius-pill);background:var(--hairline);width:100%;height:6px;margin-top:var(--space-4);display:flex;overflow:hidden}.allocation-bar__invested{background:var(--brass)}.allocation-bar__cash{background:var(--hairline-strong)}.allocation-legend{gap:var(--space-5);margin-top:var(--space-2);color:var(--parchment-faint);font-size:.78rem;display:flex}.allocation-legend .swatch{border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.swatch--invested{background:var(--brass)}.swatch--cash{background:var(--hairline-strong)}.section-heading{margin-top:var(--space-7);margin-bottom:var(--space-2);border-bottom:1px solid var(--hairline);padding-bottom:var(--space-3);justify-content:space-between;align-items:baseline;display:flex}.section-heading h2{font-size:1.3rem}.empty-note{color:var(--parchment-faint);font-style:italic;font-family:var(--font-display);padding:var(--space-4) 0}.sector-chart__bar{border-radius:var(--radius-pill);background:var(--ink-bg);gap:2px;width:100%;height:20px;display:flex;overflow:hidden}.sector-chart__segment{cursor:pointer;border:none;flex-shrink:0;flex-basis:0%;padding:0;transition:filter .15s}.sector-chart__segment:hover,.sector-chart__segment:focus-visible,.sector-chart__segment.is-active{filter:brightness(1.2);outline:none}.sector-chart__legend{margin:var(--space-3) 0 0;flex-direction:column;gap:2px;padding:0;list-style:none;display:flex}.sector-chart__legend li{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius);font-size:.8rem;transition:background-color .15s;display:flex}.sector-chart__legend li.is-active{background:var(--ink-surface-raised)}.sector-chart__swatch{border-radius:50%;flex-shrink:0;width:8px;height:8px}.sector-chart__label{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--parchment-dim);flex:1;overflow:hidden}.sector-chart__pct{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--parchment);text-align:right;min-width:3.6em}.sector-chart__value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--parchment-faint);text-align:right;min-width:6.5em}.market-header{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.cash-balance{text-align:right}.cash-balance__label{font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--parchment-faint);font-size:.72rem;font-weight:600;display:block}.cash-balance__value{margin-top:var(--space-1);font-family:var(--font-display);color:var(--brass-bright);font-size:1.75rem;font-weight:600;display:block}@media (width<=560px){.market-header{align-items:flex-start}.cash-balance{text-align:left}}.market-layout{gap:var(--space-6);margin-top:var(--space-5);align-items:flex-start;display:flex}@media (width<=800px){.market-layout{flex-direction:column}}.market-filters{gap:var(--space-3);flex-wrap:wrap;display:flex}.market-status{margin-top:var(--space-4);font-family:var(--font-mono);padding:var(--space-2) var(--space-3);border-left:3px solid var(--hairline-strong);font-size:.8rem;display:inline-block}.market-status--open{color:var(--gain);border-left-color:var(--gain)}.market-status--closed{color:var(--parchment-dim);border-left-color:var(--loss-dim)}.refresh-row{align-items:center;gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.refresh-row .market-status{margin-top:0}.refresh-info{font-family:var(--font-mono);color:var(--parchment-faint);font-size:.72rem}.search-input{max-width:340px}.filter-select{appearance:none;width:auto;max-width:220px;padding:var(--space-2) var(--space-6) var(--space-2) var(--space-3);font-family:var(--font-mono);color:var(--parchment-dim);background-color:var(--ink-surface);background-image:linear-gradient(45deg, transparent 50%, var(--brass) 50%), linear-gradient(135deg, var(--brass) 50%, transparent 50%);border:1px solid var(--hairline-strong);border-radius:var(--radius);cursor:pointer;background-position:calc(100% - 18px),calc(100% - 13px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;font-size:.8rem;transition:border-color .15s,color .15s}.filter-select:hover{border-color:var(--brass-dim);color:var(--parchment)}.filter-select:focus{border-color:var(--brass);color:var(--parchment)}.filter-select option{background:var(--ink-surface);color:var(--parchment)}.sector-tag{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--brass);margin-top:var(--space-1);font-size:.72rem;font-weight:600;display:inline-block}.fundamentals-row{gap:var(--space-4);margin-top:var(--space-2);font-family:var(--font-mono);color:var(--parchment-dim);flex-wrap:wrap;font-size:.78rem;display:flex}.ticker-list-wrap{border:1px solid var(--hairline);border-radius:var(--radius);flex-shrink:0;min-width:280px;overflow:hidden}@media (width<=800px){.ticker-list-wrap{width:100%}}.ticker-list-header{padding:var(--space-2) var(--space-3);background:var(--ink-surface-raised);border-bottom:1px solid var(--hairline);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--parchment-faint);justify-content:space-between;align-items:center;font-size:.72rem;display:flex}.price-sort-toggle{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0;transition:color .15s}.price-sort-toggle:hover{color:var(--brass-dim)}.ticker-list{max-height:560px;margin:0;padding:0;list-style:none;overflow-y:auto}@media (width<=800px){.ticker-list{max-height:320px}}.ticker-list li{border-bottom:1px solid var(--hairline);align-items:stretch;display:flex}.ticker-list li:last-child{border-bottom:none}.ticker-list li button.ticker-select{text-align:left;min-width:0;padding:var(--space-3);color:var(--parchment-dim);font-family:var(--font-body);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;flex:1;font-size:.85rem;display:block;overflow:hidden}.ticker-list li button.ticker-select:hover{background:var(--ink-surface-raised);color:var(--parchment)}.ticker-list li button.ticker-select.selected{background:var(--ink-surface-raised);color:var(--parchment);box-shadow:inset 3px 0 0 var(--brass)}.ticker-price{padding:var(--space-3);border-left:1px solid var(--hairline);font-family:var(--font-mono);color:var(--parchment-dim);white-space:nowrap;flex-shrink:0;align-items:center;font-size:.8rem;display:flex}.favourite-star{border:none;border-left:1px solid var(--hairline);width:36px;color:var(--hairline-strong);cursor:pointer;background:0 0;flex-shrink:0;font-size:1rem;line-height:1;transition:color .15s}.favourite-star:hover{color:var(--brass-dim)}.favourite-star--active{color:var(--brass-bright)}.favourites-toggle{white-space:nowrap}.favourites-toggle--active{border-color:var(--brass-dim);color:var(--brass-bright)}.ticker-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.favourite-toggle{border:1px solid var(--hairline-strong);color:var(--parchment-dim);font-family:var(--font-body);padding:var(--space-2) var(--space-3);border-radius:var(--radius);cursor:pointer;background:0 0;flex-shrink:0;font-size:.78rem;font-weight:600;transition:border-color .15s,color .15s}.favourite-toggle:hover{border-color:var(--brass-dim);color:var(--parchment)}.favourite-toggle--active{border-color:var(--brass-dim);color:var(--brass-bright)}.favourite-note{margin:0 0 var(--space-5);padding:var(--space-4);border-left:3px solid var(--hairline-strong);background:var(--ink-bg)}.favourite-note label{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--parchment-faint);margin-bottom:var(--space-2);font-size:.72rem;font-weight:600;display:block}.favourite-note textarea{margin-bottom:var(--space-3)}.journal-thread{margin:0 0 var(--space-5);padding:var(--space-4);border-left:3px solid var(--hairline-strong);background:var(--ink-bg)}.journal-entry-list{margin:0 0 var(--space-4);gap:var(--space-3);flex-direction:column;padding:0;list-style:none;display:flex}.journal-entry__meta{align-items:center;gap:var(--space-3);display:flex}.journal-entry__timestamp{font-family:var(--font-mono);color:var(--parchment-faint);font-size:.72rem}.journal-entry__delete{margin-left:auto;font-size:.72rem}.journal-thread__form label{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--parchment-faint);margin-bottom:var(--space-2);font-size:.72rem;font-weight:600;display:block}.journal-thread__form select,.journal-thread__form textarea{margin-bottom:var(--space-3)}.ticker-symbol{min-width:64px;font-family:var(--font-mono);color:var(--parchment);font-weight:500;display:inline-block}.ticker-detail{flex:1;min-width:0}.ticker-detail h2{align-items:baseline;gap:var(--space-3);flex-wrap:wrap;font-size:1.75rem;display:flex}.ticker-detail .company-name{font-family:var(--font-body);color:var(--parchment-dim);font-size:1rem;font-style:normal;font-weight:400}.price-summary{align-items:baseline;gap:var(--space-4);margin:var(--space-3) 0 var(--space-5);display:flex}.price-summary .price{font-family:var(--font-mono);font-size:1.5rem;font-weight:500}.chart-wrap{margin:var(--space-4) 0 var(--space-6)}.chart-axis-label{font-family:var(--font-mono);fill:var(--parchment-faint);font-size:11px}.trade-form{border:1px solid var(--hairline);border-radius:var(--radius);padding:var(--space-5);margin:var(--space-5) 0;background:var(--ink-surface);max-width:420px}.side-toggle{border:1px solid var(--hairline-strong);border-radius:var(--radius-pill);margin-bottom:var(--space-2);padding:3px;display:inline-flex}.side-toggle label{margin:0;position:relative}.side-toggle input{opacity:0;width:1px;height:1px;position:absolute}.side-toggle span{padding:var(--space-2) var(--space-5);border-radius:var(--radius-pill);letter-spacing:.06em;text-transform:uppercase;color:var(--parchment-faint);font-size:.78rem;font-weight:600;transition:background .15s,color .15s;display:inline-block}.side-toggle input:checked+span{background:var(--brass);color:var(--ink-bg)}.side-toggle input:focus-visible+span{outline:2px solid var(--focus-ring);outline-offset:2px}.trade-preview{margin-top:var(--space-4);padding:var(--space-4);border-left:3px solid var(--hairline-strong);background:var(--ink-bg);color:var(--parchment-dim);font-size:.85rem}.trade-preview--gain{border-left-color:var(--gain)}.trade-preview--loss{border-left-color:var(--loss)}.trade-preview .preview-pnl{margin-top:var(--space-1);font-family:var(--font-mono);font-size:1.1rem;display:block}.trade-preview .preview-detail{margin-top:var(--space-1);font-family:var(--font-mono);color:var(--parchment-faint);font-size:.72rem;display:block}.trade-confirmation{margin-top:var(--space-4);color:var(--parchment-dim);font-size:.9rem}.trade-confirmation .signed{font-weight:500}
