@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/newsreader-vietnamese-400-normal-DdKr49mV.woff2) format("woff2"),url(/assets/newsreader-vietnamese-400-normal-BekUZro8.woff) format("woff");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:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/newsreader-latin-ext-400-normal-svq1FPys.woff2) format("woff2"),url(/assets/newsreader-latin-ext-400-normal-DYA1XoQK.woff) format("woff");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:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/newsreader-latin-400-normal-BFBkh4jY.woff2) format("woff2"),url(/assets/newsreader-latin-400-normal-gRTjlS2D.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/newsreader-vietnamese-400-italic-bZegYFuM.woff2) format("woff2"),url(/assets/newsreader-vietnamese-400-italic-QbB8kb5s.woff) format("woff");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:Newsreader;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/newsreader-latin-ext-400-italic-BMTE_bNQ.woff2) format("woff2"),url(/assets/newsreader-latin-ext-400-italic-qdgKLcPG.woff) format("woff");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:Newsreader;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/newsreader-latin-400-italic-CEihAR-f.woff2) format("woff2"),url(/assets/newsreader-latin-400-italic-CNZoH1hn.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/newsreader-vietnamese-500-normal-CL6a8tp2.woff2) format("woff2"),url(/assets/newsreader-vietnamese-500-normal-BEAbKU8A.woff) format("woff");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:Newsreader;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/newsreader-latin-ext-500-normal-BNHmvKvI.woff2) format("woff2"),url(/assets/newsreader-latin-ext-500-normal-CZruMFou.woff) format("woff");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:Newsreader;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/newsreader-latin-500-normal-B66TYsaK.woff2) format("woff2"),url(/assets/newsreader-latin-500-normal-DFwuUcdu.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/newsreader-vietnamese-500-italic-D26NjlyL.woff2) format("woff2"),url(/assets/newsreader-vietnamese-500-italic-BsTGSz8L.woff) format("woff");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:Newsreader;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/newsreader-latin-ext-500-italic-B83LgwQp.woff2) format("woff2"),url(/assets/newsreader-latin-ext-500-italic-Bz3NsAdg.woff) format("woff");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:Newsreader;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/newsreader-latin-500-italic-Bsgye1qA.woff2) format("woff2"),url(/assets/newsreader-latin-500-italic-m-xI0GeS.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/newsreader-vietnamese-600-normal-CaH84vfx.woff2) format("woff2"),url(/assets/newsreader-vietnamese-600-normal-CVAR0otO.woff) format("woff");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:Newsreader;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/newsreader-latin-ext-600-normal-BXv5iMHi.woff2) format("woff2"),url(/assets/newsreader-latin-ext-600-normal-BrbfzHZ5.woff) format("woff");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:Newsreader;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/newsreader-latin-600-normal-30OJ_TG_.woff2) format("woff2"),url(/assets/newsreader-latin-600-normal-DUnT2r2g.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-cyrillic-400-normal-DnEqMUkt.woff2) format("woff2"),url(/assets/geist-cyrillic-400-normal-DoYExElg.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-latin-ext-400-normal-BP0SqLoz.woff2) format("woff2"),url(/assets/geist-latin-ext-400-normal-CxhClfoC.woff) format("woff");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:Geist;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-latin-400-normal-DSkA1yZt.woff2) format("woff2"),url(/assets/geist-latin-400-normal-BnFbi-1n.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-cyrillic-500-normal-C6JjjZZ1.woff2) format("woff2"),url(/assets/geist-cyrillic-500-normal-DEcJ8qix.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-latin-ext-500-normal-0UPWgPJt.woff2) format("woff2"),url(/assets/geist-latin-ext-500-normal-Cp7xHeNA.woff) format("woff");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:Geist;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-latin-500-normal-DJ9fwJi3.woff2) format("woff2"),url(/assets/geist-latin-500-normal-CIqOcbcu.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/geist-cyrillic-600-normal-X9X0urb-.woff2) format("woff2"),url(/assets/geist-cyrillic-600-normal-64f_Uksv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/geist-latin-ext-600-normal-CEqX-wEv.woff2) format("woff2"),url(/assets/geist-latin-ext-600-normal-ei6D1j5L.woff) format("woff");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:Geist;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/geist-latin-600-normal-C4XfSTOc.woff2) format("woff2"),url(/assets/geist-latin-600-normal-CvyQaDJg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/geist-cyrillic-700-normal-Bby3OhD7.woff2) format("woff2"),url(/assets/geist-cyrillic-700-normal-rSfeQ698.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/geist-latin-ext-700-normal-V3Z5_AfI.woff2) format("woff2"),url(/assets/geist-latin-ext-700-normal-DPScEqPK.woff) format("woff");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:Geist;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/geist-latin-700-normal-CKFtLPQ7.woff2) format("woff2"),url(/assets/geist-latin-700-normal-BKs1SfBc.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-ext-400-normal-C_uLvvQ5.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-ext-400-normal-Bh0R7Dhr.woff) format("woff");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;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2) format("woff2"),url(/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff) format("woff");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;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-vietnamese-400-normal-ByoDsISC.woff2) format("woff2"),url(/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff) format("woff");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;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff) format("woff");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;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-cyrillic-ext-500-normal-C9ShMxGR.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-ext-500-normal-CEVyPk4Y.woff) format("woff");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;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-cyrillic-500-normal-DmUKJPL_.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-500-normal-DJqRU3vO.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-greek-500-normal-JpySY46c.woff2) format("woff2"),url(/assets/jetbrains-mono-greek-500-normal-D7SFKleX.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-vietnamese-500-normal-BvH7FW2L.woff2) format("woff2"),url(/assets/jetbrains-mono-vietnamese-500-normal-DNRqzVM1.woff) format("woff");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;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-ext-500-normal-Cut-4mMH.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-ext-500-normal-ckzbgY84.woff) format("woff");unicode-range:U+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;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-cyrillic-ext-600-normal-Dj6eZy5f.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-ext-600-normal-DVvC-yKp.woff) format("woff");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;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-cyrillic-600-normal-EVf6-Yzo.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-600-normal-8K4wrrwR.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-greek-600-normal-H7WoG9Et.woff2) format("woff2"),url(/assets/jetbrains-mono-greek-600-normal-mc2nkWzM.woff) format("woff");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;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-vietnamese-600-normal-Dtizs43-.woff2) format("woff2"),url(/assets/jetbrains-mono-vietnamese-600-normal-OWROknRo.woff) format("woff");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;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-ext-600-normal-BfB_LPfz.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-ext-600-normal-DObL3zCW.woff) format("woff");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;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-600-normal-C8RAYTDA.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-600-normal-BfsvjouI.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper: #f7f3ea;--paper-2: #efe9d9;--grid: #d9cfb4;--grid-bold: #c2b691;--ink: #1f1d1a;--ink-2: #4a4640;--ink-3: #7a7568;--rule: #c8bfa4;--c-front: #e08566;--c-back: #c46545;--c-top: #6da3a0;--c-bottom: #4d8580;--c-left: #c9a14b;--c-right: #a47e2e;--c-tri-a: #8e6db5;--c-tri-b: #6f4d97;--c-side-1: #4f7b9e;--c-side-2: #3d6280;--c-side-3: #5e8a73;--c-side-4: #3f6b58;--c-curve: #b85c4f;--accent: #c14b2b;--accent-2: #2d5d6a;--good: #4a7a3a;--warn: #c87a2a;--r-sm: 6px;--r-md: 10px;--r-lg: 16px;--font-display: "Newsreader", Georgia, serif;--font-sans: "Geist", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body{margin:0;height:100%;font-family:var(--font-sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;font-feature-settings:"ss01","ss02"}#root{height:100vh}.app{display:grid;grid-template-columns:minmax(0,1fr) 380px;grid-template-rows:auto 1fr;height:100%;background:linear-gradient(var(--grid) 1px,transparent 1px) 0 0 / 24px 24px,linear-gradient(90deg,var(--grid) 1px,transparent 1px) 0 0 / 24px 24px,linear-gradient(var(--grid-bold) 1px,transparent 1px) 0 0 / 120px 120px,linear-gradient(90deg,var(--grid-bold) 1px,transparent 1px) 0 0 / 120px 120px,var(--paper)}.topbar{grid-column:1 / -1;display:flex;align-items:center;gap:24px;padding:14px 22px;border-bottom:1px solid var(--rule);background:#f7f3ead9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);flex-wrap:nowrap;white-space:nowrap}.brand{display:flex;align-items:baseline;gap:10px;font-family:var(--font-display)}.brand-mark{font-size:26px;font-weight:500;letter-spacing:-.02em}.brand-sub{font-family:var(--font-sans);color:var(--ink-3);font-size:13px;letter-spacing:.02em;white-space:nowrap}.mode-toggle{display:inline-flex;background:var(--paper-2);border:1px solid var(--rule);border-radius:999px;padding:3px;margin-left:auto}.mode-toggle button{border:0;background:transparent;font:inherit;font-size:13px;font-weight:500;padding:7px 18px;border-radius:999px;cursor:pointer;color:var(--ink-2);letter-spacing:.01em;white-space:nowrap;transition:background .12s ease,color .12s ease}.mode-toggle button.active{background:var(--ink);color:var(--paper)}.dim-toggle{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-2);cursor:pointer;-webkit-user-select:none;user-select:none;margin-left:auto;padding:6px 10px;border:1px dashed var(--rule);border-radius:999px;background:#f7f3ea99}.dim-toggle input{margin:0;accent-color:var(--accent);cursor:pointer}.dim-toggle+.mode-toggle{margin-left:12px}.face-editor{background:var(--paper);border:1.5px solid var(--ink);border-radius:10px;padding:8px 10px;box-shadow:0 6px 18px #1f1d1a2e;font-family:var(--font-sans);font-size:12px;color:var(--ink);pointer-events:auto;position:relative;z-index:50}.face-editor-formula{font-family:var(--font-mono);font-size:11.5px;color:var(--ink-2);margin-bottom:5px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.face-editor-formula em{font-style:italic;color:var(--ink);font-family:var(--font-display)}.face-editor-sub{color:var(--ink-3)}.face-editor-row{display:flex;gap:6px;align-items:stretch}.face-editor-row input{flex:1 1 auto;min-width:0;width:100%;font:inherit;font-family:var(--font-mono);font-size:13px;padding:5px 7px;border:1px solid var(--rule);border-radius:6px;background:var(--paper-2);color:var(--ink)}.face-editor-row input:focus{outline:none;border-color:var(--ink);background:#fff}.face-editor-row button{flex:0 0 auto;font:inherit;font-size:11.5px;font-weight:600;padding:4px 9px;border:1px solid var(--ink);border-radius:6px;background:var(--ink);color:var(--paper);cursor:pointer}.face-editor-fb{margin-top:5px;font-size:11px;font-family:var(--font-mono);line-height:1.2}.face-editor-fb.good{color:var(--good)}.face-editor-fb.warn{color:var(--warn)}.dim-overlay-formula{font-family:var(--font-display);font-style:italic;font-size:12px;fill:var(--ink);text-anchor:middle}.dim-overlay-sub{font-family:var(--font-mono);font-size:11px;fill:var(--ink-2);text-anchor:middle}.dim-edge-label{font-family:var(--font-mono);font-size:11px;font-weight:600;fill:var(--ink);text-anchor:middle}.shape-rail{display:flex;gap:8px;overflow-x:auto;padding:12px 22px 8px;border-bottom:1px dashed var(--rule);background:#f7f3ea8c;flex-shrink:0}.shape-chip{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 10px 6px;background:transparent;border:1px solid transparent;border-radius:var(--r-md);cursor:pointer;font:inherit;color:var(--ink-2);min-width:78px;transition:background .1s,border-color .1s}.shape-chip:hover{background:#00000008}.shape-chip.active{background:var(--paper-2);border-color:var(--rule);color:var(--ink)}.shape-chip svg{display:block}.shape-chip-label{font-size:11.5px;letter-spacing:.01em;font-weight:500}.stage-wrap{position:relative;overflow:hidden;display:flex;flex-direction:column;grid-row:2 / 3;grid-column:1 / 2;min-height:0;min-width:0}.stage{flex:1 1 auto;position:relative;min-height:320px;display:block}.stage svg.shape-svg{width:100%;height:100%;display:block}.unfold-bar{display:flex;align-items:center;gap:16px;padding:14px 22px;border-top:1px dashed var(--rule);background:#f7f3ea99}.unfold-label{font-family:var(--font-display);font-size:16px;font-style:italic;color:var(--ink-2)}.unfold-slider{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;height:24px}.unfold-slider::-webkit-slider-runnable-track{height:4px;background:var(--rule);border-radius:2px}.unfold-slider::-moz-range-track{height:4px;background:var(--rule);border-radius:2px}.unfold-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:var(--ink);border:3px solid var(--paper);box-shadow:0 1px 3px #00000040;margin-top:-9px;cursor:grab}.unfold-slider::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--ink);border:3px solid var(--paper);box-shadow:0 1px 3px #00000040;cursor:grab}.unfold-slider:active::-webkit-slider-thumb{cursor:grabbing}.unfold-ends{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:12px;color:var(--ink-3)}.unfold-step{font-family:var(--font-mono);font-size:13px;color:var(--ink-2)}.unfold-btn{border:1px solid var(--rule);background:var(--paper-2);font:inherit;font-size:13px;font-weight:500;padding:6px 12px;border-radius:var(--r-sm);cursor:pointer;color:var(--ink-2)}.unfold-btn:hover{background:var(--paper);border-color:var(--ink-3)}.sidebar{grid-row:2 / -1;grid-column:2 / 3;border-left:1px solid var(--rule);background:var(--paper);display:flex;flex-direction:column;min-height:0}.side-tabs{display:flex;border-bottom:1px solid var(--rule);background:var(--paper-2)}.side-tabs button{flex:1;border:0;background:transparent;padding:12px 8px;font:inherit;font-size:13px;font-weight:500;color:var(--ink-3);cursor:pointer;border-bottom:2px solid transparent;letter-spacing:.02em;transition:color .12s,border-color .12s}.side-tabs button.active{color:var(--ink);border-bottom-color:var(--ink);background:var(--paper)}.side-body{flex:1;overflow-y:auto;padding:18px 20px 100px}.section-title{font-family:var(--font-display);font-size:18px;font-weight:500;color:var(--ink);margin:0 0 4px;letter-spacing:-.01em}.section-sub{font-size:12.5px;color:var(--ink-3);margin:0 0 14px}.dim-row{display:grid;grid-template-columns:24px 1fr 88px;align-items:center;gap:10px;margin-bottom:10px}.dim-letter{font-family:var(--font-mono);font-size:14px;font-weight:600;color:var(--ink);background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-sm);text-align:center;padding:3px 0}.dim-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;height:22px;width:100%}.dim-slider::-webkit-slider-runnable-track{height:3px;background:var(--rule);border-radius:2px}.dim-slider::-moz-range-track{height:3px;background:var(--rule);border-radius:2px}.dim-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent);border:2px solid var(--paper);margin-top:-6.5px;cursor:pointer}.dim-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--accent);border:2px solid var(--paper);cursor:pointer}.dim-input{display:flex;align-items:center;gap:4px;border:1px solid var(--rule);background:var(--paper);border-radius:var(--r-sm);padding:4px 6px}.dim-input input{width:100%;border:0;background:transparent;font:inherit;font-family:var(--font-mono);font-size:13px;color:var(--ink);text-align:right;outline:none}.dim-input .unit{font-family:var(--font-mono);font-size:11px;color:var(--ink-3)}.pad-divider{height:1px;background:var(--rule);margin:22px 0 18px}.face-list{display:flex;flex-direction:column;gap:8px}.face-row{display:grid;grid-template-columns:14px 1fr auto;align-items:center;gap:10px;padding:9px 10px 9px 8px;background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-md);cursor:pointer;transition:border-color .15s,background .15s}.face-row:hover{background:var(--paper-2);border-color:var(--ink-3)}.face-row.active{border-color:var(--ink);background:var(--paper-2);box-shadow:inset 0 0 0 1px var(--ink)}.face-row.locked{background:#4a7a3a14;border-color:#4a7a3a66}.face-swatch{width:14px;height:14px;border-radius:3px;border:1px solid rgba(0,0,0,.15)}.face-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.face-name{font-size:13px;font-weight:500;color:var(--ink)}.face-formula{font-family:var(--font-mono);font-size:11.5px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.face-formula em{font-style:normal;color:var(--accent)}.face-area{font-family:var(--font-mono);font-size:13px;font-weight:500;color:var(--ink-3);text-align:right;white-space:nowrap}.face-area.set{color:var(--good)}.total-row{margin-top:14px;padding:12px;border:1.5px dashed var(--ink);border-radius:var(--r-md);background:#00000005;display:flex;justify-content:space-between;align-items:baseline;gap:10px}.total-label{font-family:var(--font-display);font-size:15px;font-style:italic;color:var(--ink-2);white-space:nowrap}.total-value{font-family:var(--font-mono);font-size:18px;font-weight:600;color:var(--ink)}.total-value .unit{font-size:12px;font-weight:400;color:var(--ink-3);margin-left:4px}.pad-actions{display:flex;gap:8px;margin-top:12px}.pad-actions button{flex:1;border:1px solid var(--rule);background:var(--paper-2);font:inherit;font-size:12.5px;font-weight:500;padding:7px 10px;border-radius:var(--r-sm);color:var(--ink-2);cursor:pointer}.pad-actions button:hover{background:var(--paper);border-color:var(--ink-3)}.pad-actions button.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.pad-actions button.primary:hover{background:var(--ink-2)}.calc-panel{margin-top:14px;padding:12px;border:1px solid var(--rule);border-radius:var(--r-md);background:var(--paper)}.calc-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:8px}.calc-title strong{font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.calc-title .pill{font-family:var(--font-mono);font-size:11px;color:var(--ink-3);background:var(--paper-2);padding:2px 7px;border-radius:999px;border:1px solid var(--rule);white-space:nowrap;flex-shrink:0}.calc-formula{font-family:var(--font-mono);font-size:14px;color:var(--ink);background:var(--paper-2);padding:8px 10px;border-radius:var(--r-sm);margin-bottom:8px;letter-spacing:.01em}.calc-formula em{font-style:normal;color:var(--accent);font-weight:600}.calc-substituted{font-family:var(--font-mono);font-size:13px;color:var(--ink-2);margin-bottom:10px}.calc-substituted .arrow{color:var(--ink-3);margin:0 6px}.calc-input-row{display:flex;gap:8px;align-items:center}.calc-input-row input{flex:1;border:1px solid var(--rule);background:var(--paper);border-radius:var(--r-sm);padding:8px 10px;font:inherit;font-family:var(--font-mono);font-size:14px;color:var(--ink);outline:none}.calc-input-row input:focus{border-color:var(--ink)}.calc-input-row button{border:1px solid var(--ink);background:var(--ink);color:var(--paper);font:inherit;font-size:13px;font-weight:500;padding:8px 14px;border-radius:var(--r-sm);cursor:pointer}.calc-feedback{margin-top:8px;font-size:12.5px;min-height:16px}.calc-feedback.good{color:var(--good)}.calc-feedback.warn{color:var(--warn)}.formula-card{border:1px solid var(--rule);border-radius:var(--r-md);padding:12px 14px;margin-bottom:10px;background:var(--paper)}.formula-card h4{margin:0 0 6px;font-size:13px;font-weight:600}.formula-card .formula-line{font-family:var(--font-mono);font-size:13px;color:var(--ink-2);margin-bottom:4px}.formula-card .formula-line .label{color:var(--ink-3)}.stage-help{position:absolute;top:14px;left:18px;font-family:var(--font-display);font-style:italic;font-size:14px;color:var(--ink-3);pointer-events:none;z-index:2}.view-presets{position:absolute;top:12px;right:14px;display:flex;gap:4px;z-index:2}.view-presets button{border:1px solid var(--rule);background:#f7f3ead9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font:inherit;font-size:11.5px;font-weight:500;padding:5px 9px;border-radius:var(--r-sm);color:var(--ink-2);cursor:pointer;letter-spacing:.01em}.view-presets button:hover{background:var(--paper-2);border-color:var(--ink-3);color:var(--ink)}.shape-svg{width:100%;height:100%;display:block;user-select:none;-webkit-user-select:none;touch-action:none}.face-label{font-family:var(--font-mono);font-size:11px;fill:var(--ink-2);font-weight:500;pointer-events:none;text-anchor:middle;dominant-baseline:middle}.face-label-area{font-family:var(--font-mono);font-size:10px;fill:var(--ink-3);text-anchor:middle;dominant-baseline:middle;pointer-events:none}.face-poly{cursor:pointer;transition:filter .15s}.face-poly:hover{filter:brightness(1.06)}.face-poly.active{stroke-width:2.5}.fill-bar{flex-wrap:wrap}.fill-type-picker{display:inline-flex;background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-sm);padding:2px;gap:2px}.fill-type-btn{border:0;background:transparent;font:inherit;font-size:12px;font-weight:500;padding:5px 10px;border-radius:4px;cursor:pointer;color:var(--ink-2);display:inline-flex;align-items:center;gap:6px;transition:background .1s,color .1s}.fill-type-btn:disabled{opacity:.35;cursor:not-allowed}.fill-type-btn:not(:disabled):hover{background:#0000000a}.fill-type-btn.active{background:var(--ink);color:var(--paper)}.fill-swatch{width:12px;height:12px;border-radius:3px;border:1px solid rgba(0,0,0,.18)}.side-body::-webkit-scrollbar{width:8px}.side-body::-webkit-scrollbar-track{background:transparent}.side-body::-webkit-scrollbar-thumb{background:var(--grid-bold);border-radius:4px}.empty-msg{text-align:center;color:var(--ink-3);font-style:italic;font-family:var(--font-display);font-size:14px;padding:30px 10px}
