@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2) format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2) format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2) format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2) format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2) format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2) format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.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:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-vietnamese-500-normal-BmEvtly_.woff2) format("woff2"),url(/assets/space-grotesk-vietnamese-500-normal-BTqKIpxg.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:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-ext-500-normal-DUe3BAxM.woff2) format("woff2"),url(/assets/space-grotesk-latin-ext-500-normal-3dgZTiw9.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:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-500-normal-lFbtlQH6.woff2) format("woff2"),url(/assets/space-grotesk-latin-500-normal-CNSSEhBt.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:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-vietnamese-600-normal-DUi7WF5p.woff2) format("woff2"),url(/assets/space-grotesk-vietnamese-600-normal-D6zpsUhD.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:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-latin-ext-600-normal-DxxdqCpr.woff2) format("woff2"),url(/assets/space-grotesk-latin-ext-600-normal-VcznFIpX.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:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-latin-600-normal-DjKNqYRj.woff2) format("woff2"),url(/assets/space-grotesk-latin-600-normal-BflQw4A9.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(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQQAAAQuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AdBEICoRkhAALIAABNgIkAzoEIAWFAAeBFAwHG2oHKJ6DceNW4lJEFHn9tEOE37LNsvkjHr7f739rn3u+OSrSxLQytE91Dw2PYtNVq3Qaw/vJ7fUBMdOj/u2ImB98cT5WUx9F13ZKt06mU7tG1sAYcM26yCRX4f/0904bmwq8hwkUUMTRX61pa9C3xlpAGYw1vOu8C2SBZZFlld7DAW82RJWmwYMI1AJCKBNCIASqdZGFmtPSNQRhMpR0EKjWTwm6z6sJ+4jqhxjovTinVdRpZaQjaQzAYjI8NgAKDJCokgunCn9oUQE8VZd/F//+v6P4F1U9gLr58yNI/dJX9BAshEoJbTDogz7ocKoUsPvES8UK/aQIUQgpGgECBVLkOEV6iASTYgNAPKdNXayhDPL7IJuAZnEYSZ0eOLc9i5Rv5/+lEi3sW/kfnCf/+fTe0sxS7CKLx5erRJkKOixEqQaoqrvx5HN4iz4VhX0gS6DjFIWUzn/fIXJRVFY1NFRVNVeFt+SYmrK6vCU6eJsnKnJj5HTESMTQZOTI3Y/tzr3rUcOsiRy/ciP50s3Mycgxmhz9GMXhjzVH30ut796NHP0UUa31/Zoa6vCH6iPvdIM0IRANaT60FablmZlZd+UKNFy9NrvnFGxb5NC2CRxR0/rIyF/WNn+35sv9r+tHVhkseuWGKkCPPh96+GXt8Lc/Sh24ujfjf+tNw1lZWreiPuHb/PSpyjdv2rf/++ZE5TSKjFdZxYsBvr1sEHl5STuHZqYR7jGYGvGBBdjcaB5bODY1GAxMjsd0wDMIzXAXODRd74DxNMtO4YuYHclgLQRzp9KlUmxptCwv9bYgvWGD2xBW7r9413fdJu+mxzvzAUYeeONQvZP4kgfqZle4jhH/MWh+UbxgtJdrLdXLymNL53PRU0D3Q6FcXTfGqGcul6vrqhgLGAVSv+IVIfZOHpu+mlLqSlnj903j8mazXDsba/wbxhS/4Oubh1c5/uXDgt4j5KtnGEy5BIJHo0ur+jD+r2qCkuP1aRVM8EpUoRYSJyqNRA38uwDvHBNo0AejO2Z+ZYLLal1QiFyFh1EDQOgSCSCpjwwKU8yDbIjroEwne0G5Qca49cYp4AlqtQNZfWTQoFb1tRpFYAmRD+HXTkV4uQhG2bg4OKmyoypAsUGtWgQXyFxYrkpODeUxvGqIZA61erXo0sFG1UBGuPgpuon8RNUG2DhovAjZCBuZwtXrU3mQGki9+pm0eVZAXoWxLWTQoYHBPrJR4WunNxIFbCHfkTyPK+sqxjxDmGArZvf79JGJ3GwEqjwc7a7NIrl/7bJ7Nzu4+n1Ow6shEPnUrtVo7cnd5Wi5qCUbBIQbNKCP95FMCSZylEV5VCiiMqqiOmrKZ/I/C0gI1fyuulVcM2E1r4MhtcV/fbCD+HwEvVzH1dGNAzFE0FTbKzyQz3gootrNbN2a4PuG0j0JOgE=) format("woff2"),url(data:font/woff;base64,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) 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(data:font/woff2;base64,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) 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(data:font/woff2;base64,d09GMgABAAAAAASUABAAAAAACRAAAAQ3AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVEwAdBEICoRkg3oLIAABNgIkAzoEIAWFHgeBFAwHG3AHKB4HzukrRjyF5Gb4kQ/B873d17mv8TWkoqUUGaHodJCtoqntw7m8tiPWyGkfWDU/IMpzVk4zAs9Czv3c7Os5NvKFG1Ht9vBVXySRZpJc4tTrbM3sTRFcLa3zVboKWRIoAksKSKgqUQWEwlSoqjp44V5J9/kjd0+Fi5xaFjwJArgBAIJgIAgCCAI4CdNMqGuYXYUKdADLAkAAJwl6iX0+bZqEm1AH0Hu9rvrJHwxQG1Q/gFYwWYbgTRWgwEESVzbmtjQAt3DXO7Tu/+9Q/KNKWhTCgZ8fQSWoL0CUUgTBjgL8iEAcce7YHBeA8ZvogieCnxI0BCVeACCAAhBD/oDcAdUPABSgAX4kBPBTwjCAjwYSCneiqF65LUo/qXdYFrRwTujtMrKm07plTbSqLQFAiHBN7E4DG5wkiGXhCYBNETh3K/AciHN69iFfQjFOr9EXQQAAQXRNszs8PR0OH4fDV/dwGe76CHdj1MQa11DXYGcfZ6+B1X0OfwjY+i7KpQ1w9d+1z3/HydCB1f3U8A0fRFv+0bXxPWrZu3d9Nn4UcbLs/QCXLH/j3PCKblKOiZxLOR78W9brPo7eGTLz/F27ZPmePQdCB1YP4nJU91o4gU9cy64L3c3SPu8GfDn6ZXD2cGmllVqSxtD5vCXHm5xaeHlnpffx7DcPvXog5NnjA//cPz2btsz3yf+0MI8ri33tuv7upNbYmW5STbosW8bYItV/SPzxvXC0KnpWnFdC91oojit5Lyo6WcJQ1YzwBYbi52ohJVpcxfcHBqsv0nFz8U74rzS6M7r0RVlXZ3jJC4G92O//7Lm78VOtnUx+aQxAzsqPnrRr1t9zDrezKePvZ027x+fGte4s4NXu7/jEp3G9cM1bICYgACbuETUUD5wmenGXA/IBpAKVrl0AEJ5cqr6Q89tGq+SpqkDfX2DtG+pZ9teuae0AX98c301CX179InyErnSG8WCiABB4HFbVrw/lpTdBIOk82nXbpHKoQGyBpUovAAD4XQA8ZTUCeBJHIpI0v0FRrgcnckV3ANckrwYJKXEihQfdSKPER6XeExmEeEMmSe6QBwWmkZdmSOSthhibgIkBlUYreBKd/0NeVAE9WAyEaQpH6KikDWlUVg43Jy2FOmaYlsZhDEGZXO3mWEyWHI6zuaJkMlcSQ9k4F+KidIiFyZItGDc7r1pUj6wP6zrWB0/fbeeFeHl4YOvETMNiM8Ny+7OO6Qh2wur20YVxFts5dlORdl5Kwd5utR7SRcxqX8RA5Ehacha76hg7c6yzNm/Xf6vOLNrv544lIEkWg7xWo/ItBAeIJEmt0XgBwgM8gTifoiiLJroYYooNTeziEKe4zOoR/wvIKp89hSr+6jFAqw/LaonjmZHSscMNg4iPlWpFrO1RN3zkMU+/xUP+JQ99TbvTl1Vg0gtirT6lbwYAAAA=) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:U+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(data:font/woff2;base64,d09GMgABAAAAAA/IABAAAAAALMwAAA9mAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGnAbhXAcghYGYD9TVEFUTACDBBEICrA8p1ILgjgAATYCJAOEKAQgBYUeB4xODAcbFCYzA/aDkxp0RMXmTMH/IcEUkaXZhe7qAVQoRhtRmOhkzaUYXs3lyzTUlwptwwNGy28PLP/oZewn39g4Jjp8YusISWZ9eNpW788MNQMI7jZprgsqRiJ7imCBYlEWIBhgoWjj7uJGcddednnRIQ/fX77n7i8NtLf08UwEQl3jq59XJCShypU4lMyz3Hb3X0omkAkZCYVNhfN/c3Pmf1nJcDqnj2VE35fYAx+8WYIJhZj4znn1Qbjp9+f4Pab0wOi7JSECzG0o6DRWu/MBgfu/NdPu5O8cUssKSJ1wUyTjq6oWZic7nUsKuIEySsIkzXvdKzArVNkCwvP1lQCgK4yu0BVWFp6vrWVm/6Nt7H82JGhxDyAteCbHZLRdzTsxJqNEUxb+txHysoxjwQzz2p8tU5uFtC4RmcGouCRX3v1195cCAYgBAECRIWSIVNsQCiqEhh6RpxRRzogwaUTYdSCc3AivAcSQCcSkacSCBbQlcbQ9DqAddgyNAFiZilAX9c1OSB/6ZyYgxQCwDgGQoVQGIYAIRvVlRAiR7Ax+jsqKIDacjVExNGWA/MQLk8VzJshTmOztrVbySNyHVnaAiUVpcgdvmnh9FNeAYYXkMl4AqisEoDtIZK0zs6lsSM8yAboEhZ5CFVqD23kNfor49QgAGWwFBeRAIZRCLdigBbqPFSIF+ABeQAfotUU0g+rL1gCMOnSNn4S0PWEL5Nw2QBqyIVvBT2Fe9wCSYDa3QH3Vt4cSaWSAug+NT0JKDgAKQOMLa96EFIKf/gOUWDQiE3EFgAB4aACxikhFAAwKZZ8DgHeiRQixRghm5n4HrCOOSrQAtqJU3LzpFAr/6TAHnDo8QQgszNHZ77FXwgom85JfwQOqMC8Ae/gYkSsURQ1AgQgAQAutAAoAALCdA3gIkv619L//vwb0H8nVgjz+bwLUlFoDaPGQkfqBjQcpc4R8ODxDAPwurhVJMbRRa7ksFTJAUJERK+RXgDxDi8az0D39NBJmMjGZP5MWgyH5+mYXeZg0kZOdJEIu5k1OaIYW0Rnqv/S2DtQxKCIjOSRMLuKNDjpwIXDRE0Y407zODF3/W/ovnvbiAz6YIOC0nZKaVrpMADK9/g8sQDORaaLiVmpCNj+DsAUJUg1SNBKpxbESqyNRj2XB2IWvmkANITOe42zRZqt223RIZbdRi00cNmu1QTMlFwWnTH2y+Gh4pemWrkeGXlpddgjYKUgnRG9Ajn55huQbViCiyKhiY0qMKzSiwpRykyrFGE0jSCIFAJwLADkD0AtMDvBegHkHug0AoFGJVK2qhCXG61AIrWWr8aYYT2zhWkVVD6EX62dQyHJqVGLicdAyTQtFjJgVi1Olw0wdI6eouC1SZjvL3umikG5h3BSHrTOMQKpkUgQu/aGoVC5VKLOjXKBIrWSy2FqmlB+dTKAUcDwJE5TwBkbFnJ/rY92ss4dzXxKbV1/T9hAJvBUu+bwOaq/XWDeXTEKvBMv+HYDYtSMXHI8lErBlDv1FvCF2yDfJcie3f1oWe+wCtb9HCZdshHBIfLC9FrNf60J4HGMKYkfC5TJ+lSNHd3NdZ5dNZ96o6OG8lOvpt5IcR3r2z61suaFBNQmrT0wrCXkvwKkNWenURddyk4+u1FuSiQRtRvQxxhEfxFo411PBvfbTQ1aCPSbA0yIczRIJRXEEQyYS4ocX/of1WiiyaY7SI3Z54u6pUe8m+30ZXB4f13V23XbupYoeLhwa5QqcRIKRdhwtDjdHX7sj8SSWqhgd2s25/B7OuTu4WLdz9FgQLtG55HhMlbFN/J5rrmGPXQWwZOVVLnn31VevgnPrfKt+IsHWeS5ZYVnCJZ9HIqem3z+aeAsjx92cK+7hnPGyVcarN47i9QctdADS864Xl+f2cM6E6W7jwyDLmWTlDNfAWRtN3eLupy1VuUoXA0Y9nDMwDm0aWWy8vkY6yniPTKmax1mFMSPTY+OyNo5gvPrMaWh+d6Yocqzobrh2BM+xO665gj12WQPSixm3X325OHNpey4+FiI+ViG4n+0mtkeDT6J77bK1vsLcqur1aMyF/u63T4xFx/V3vXhzq+VXFL7ypKwjPz+l4w2I7O1b21+wrz3XGCkzhqwKi3EwUtbo7w+YrLVVCuM8U1MAvrXrA5YXtX7tt5YAgoHTtp8WWF0eGHqRNVhUEjBba0v8h+bWaAV+c525JPC7Y/GXH19hrUyWl51baa04D0cn7Sp5qsze1VrwV7OyZHfSiyJTsZB0TFoerSjfW97MUD0Yt59oL3Kd4SNndY35u+St5yYTG575P1cpvWf3hskypgS/yB30tjjC3t6zi/Om4l/vjtYRYdOcpyc4FXQtRAZTN5h66vUdRpsxv/FMnSRHdzIYUWcg6vcHAtFOq8NmDm+l9r49tjYS2RI2O2zqvuITK5wVJxaXLhudxmXyUWt/K/Qiy0BJqb/mZHOpb6DEYg2VlPrMQWf+rheNhpOjo1zdfIfKkm6qMhsrTeZd234B2oMPB68Kyh+7OQi90BoqLvWbT6wt9YWKrdEKfLUnmkv9J2fxld9XeaLx3vKyZ40nVj6HfU/YdfKw79i9rQU1lSWHXuzBSScKzcZC3WPdlRcUl9xQeTh2aC6G9md6xnorxgsKd1f0dvkr/e7KQtNT/YHYFK691fHqc7z5WGnoTXPhm6HR0mnubTCFnYEJf7bfP+G0Ouw1k4QvuOw/rPsO97uflSxXKCuWS0rjlcrKePHlrYZWnH9AY9VoL03tATMa+kB/IGO1LLqakbF6sqvQHJhOLowm8cyBSHJmMonogaPJATpOOOweE/o99p7WWmfms1k7ns101lZHxtRBTefZMzIJkSsaNIZ6PReT/ohVl1uGg2e7ml3474DkI8kGTVtDZOe2TO2ONujXMk7TagqPrtGehm2f5GksNUqWOMsAC1JpXVMB8a265dwCWrecb+qjmcuF3pKhX/qEodrl80v5RPPuq9xGdUu9x3B2pnqrdvnB6Pe2BBpN7ap0nS5d1W7yN56QiB0YXTzQIWMqsVit2E1IJJ65TsI+KzVZbHmN6dJzkiro99t7Gqscyl/8nbTSUVWdjOByTedCSCZdr0kNW3MHcrWWxWmp1cp+yE6c98d0jC0lz4gdGXjRaLO92ffUHysp8pF3giv+eOcGjvsbGa11hkiW+PB5hmPdht38S67pmA9my+IbNmXULvS3VG07Lq136q4xnKz01oPhuZGJueMWrK31JofKklae1qlqKba7vg5yWnz3hzAuBOeGe+aQ8ur03gWhSNxQ3a/htqUcWzqxZsgptuwTcY3NaGzZLlTUKP8UW4zHk6oxHFFf9+F9MrFUwq/n52j06vNeGlmS9eyJU7A8ejA8F5uYO2Oh2i5K+uDcaxPRubvf6vbTxu85m5WnWqo9WbdqJUcOf3tSoNvCbrn09HJ9io6MjZ4Xny5qb2puApUNggl8KLVU1ACQTpMomG2HoEriLLkaejrIM8gzIx90Is8iz8bnjGNjNLQADHJcM4VcEXqXkOUhG7nIA5BvNJ+N9MKmYbuN05Tq5ZrWhcjqhmQ1IzdINamW1V4WrBhk29RG6FoDqfIt9wjkbNfvcq4XYOw1PHUJmquCZ03r3q6PSYNswHBLUJbKWbcHWUaWQZUN89AnAsi+EPxQrrIlEJnJIlUJM7HMcyIb2WdiwCYYhdkKuBjZ5gUYSBu2TYSNZEBQZ/dsLMogZAlqcMnlTpcszNOWC7LHy0oMpAd7JmhjAL8NbmRdayAVvDU+WxL5XR70AowhbINbkc7/KgLwLmPqTfwNBEUHCMBxmUhdQj6WUlkZlKnxu6pO1d9/v//3Q7rw+///2fMjAAB6oDb0HaH0b6GUJU8Y0eR64ojqUqm14Od8duRDHPKhFfZpiGupUNnzetjxdgRbK/5+l4IJ5JeSir8t3R+1IaFaa9AZitANXTvqUxavQ2TYeNmrYwP4det2tGuWgFpDejL9euYAfQfK28gGGIvbgQRcpXesotZIABUK/LoCMgX5tBzoUFiWbADfCNfMu98PsCghbdyeq6jgel07qoCDJjjsyIFY7MAODSYL1alQ9phCIRt3Ri4tbQVgE5dpkfhjGAkZMAWRYzPLNioh68Amvwwd4zGzodCRGaTlUjZqVdaBTSBDfJ6vWzoqG6lZhQKbFK6EAKgz5unB00f9KabfIE1/CcA764pzcPbvSz+DTdl+/xcAHwUACHwM3JK6lBL+d88HxAVfFHh3m1b6a8TWqK9qwVrRVjPaq6WqFSbUXqOOqrXXCkfN6KhWPgnndsCsD3CdZzHpoEPOX6wjz67FHso9aAqWW+ynpyeAc+VhtGMQgKDhk7pBGKUsAnBflEhlCV2wnFLxv2VpRo+QTFme7a4qy5cjUVaqjK2sjFJ+GTmx9FYE4M2hvDRKwSyXLSegQ9S4fhOazOT8YyJCPAaHHhY2o8XyD4iYNc7mNKNWTL+ICdO0Go+aiFqsGZM3ZyMDg2khMRGTZqrMfNN8LD/nqJhhBq3qNXN2r8LzGkBuHpMgYmkV2dpFChUKu08Vm1pVR9TBh+FjevSxMYZr7aNbRE1aFJsrvS1RcG1pOS9ocBJ8rTYx4yMuQj6W2WwW4VnSDJFz5tU/LKK0ZgWXCD2/qRmKRWuYh+47US6adX1FAOIfwbmATE+T2t4wLVab3eF0uT1eXz6MQKLQGCyuGE8gVpLIFCqNzmCy2Bwur54vEIrEEqlM3qxQqtTdSrU6vcFoMlusNjsz0q+WhVWdeg0aNfUmG7vmOrRwaNWmXYdOTi5uHl5deXXr0auPj19Av2C9QgYMGor2C4sYMWrMuAlRk6bETJsxa868BYuWxC3bbY+9EjhBUjTDcrwgSih88/y+eq/C13kHnXKhbTUDgISUCgNDoABXKLCL+2X27E/c2jAAQEKsFigx1qgLEbSeu+NyhcJGIECQNm9L567c3l7uZ5Wo3pkx4tYOhJANKw9dEonovRqVDb5dMKz515Ng+hci23hm4UQEs8eChwPB0BZYOBINbH3Erw0HECzUaokWa42eyGD3PIBIMBSOrfryBQ3G4oHQKi+/kEA0tuaDV40GP3h0+wuAAgXTKy0v5428xUDwksfm538juY9ni9fz2Ggy4iWLMz4qLklle7kcZvOLwy5bXp7fdYrRJlP4l5NDdZPiKVeLnJV7Ohg2VAs/aQwZNVtodX2jki6RU1e/j6GkgZbgAmmogZafuF4mZlb1t+COUyrcnF/CCZzS4MO/dX1T6QQAAAA=) 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}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}:root{--vallum-nuit: #111417;--vallum-ardoise: #2A3036;--vallum-pierre: #E9E4DA;--vallum-fond-clair: #EFEAE0;--vallum-encre: #16191C;--vallum-vert-de-gris: #3F8A7E;--vallum-vert-profond: #1F4A44;--vallum-vert-clair: #8CC3B7;--vallum-terre-cuite: #C2643A;--vallum-risque-critique: #D2453B;--vallum-risque-eleve: #E0883A;--vallum-risque-moyen: #D9B44A;--vallum-risque-faible: #6FA36F;--vallum-risque-non-evalue: #8A939B;--vallum-etat-valide: #1F4A44;--vallum-etat-propose-ia: #C2643A;--vallum-frontiere-confiance: #3F8A7E;--vallum-police-titre: "Space Grotesk", system-ui, sans-serif;--vallum-police-texte: "Inter", system-ui, sans-serif;--vallum-police-mono: "JetBrains Mono", ui-monospace, monospace;--vallum-taille-titre-1: 40px;--vallum-taille-titre-2: 26px;--vallum-taille-titre-3: 19px;--vallum-taille-texte: 15px;--vallum-taille-legende: 13px}:root,:root[data-theme=dark]{--fond: var(--vallum-nuit);--panneau: #181c20;--surface: var(--vallum-ardoise);--surface-noeud: #1c2126;--texte: var(--vallum-pierre);--texte-doux: #a9b0b6;--trait: #343b42;--trait-fort: #4a535b;--trait-valide: var(--vallum-vert-clair);--accent: var(--vallum-vert-clair);--frontiere: var(--vallum-vert-de-gris);--frontiere-fond: rgba(63, 138, 126, .05);--ia: var(--vallum-terre-cuite);--texte-ia: #e39a75;--ia-fond: rgba(194, 100, 58, .1);color-scheme:dark}:root[data-theme=light]{--fond: var(--vallum-fond-clair);--panneau: #f6f2ea;--surface: #ffffff;--surface-noeud: #fbf9f5;--texte: var(--vallum-encre);--texte-doux: #555c63;--trait: #d6d0c4;--trait-fort: #b9b2a5;--trait-valide: var(--vallum-vert-profond);--accent: var(--vallum-vert-profond);--frontiere: var(--vallum-vert-de-gris);--frontiere-fond: rgba(63, 138, 126, .06);--ia: var(--vallum-terre-cuite);--texte-ia: #9a4a26;--ia-fond: rgba(194, 100, 58, .08);color-scheme:light}*{box-sizing:border-box}html,body,#racine{height:100%;margin:0}body{background:var(--fond);color:var(--texte);font-family:var(--vallum-police-texte);font-size:var(--vallum-taille-texte);line-height:24px}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.application{display:flex;flex-direction:column;height:100vh}.application>.espace{flex:1}.entete{display:flex;align-items:center;gap:16px;padding:8px 16px;border-bottom:1px solid var(--trait);background:var(--panneau);min-width:0}.logo{height:28px;flex:none}.nom-projet{font-family:var(--vallum-police-titre);font-weight:500;font-size:var(--vallum-taille-titre-3);background:transparent;border:1px solid transparent;border-radius:6px;padding:2px 8px;min-width:12ch;max-width:32ch}.nom-projet:hover,.nom-projet:focus{border-color:var(--trait-fort)}.synthese{margin:0;color:var(--texte-doux);font-size:var(--vallum-taille-legende);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.synthese strong{color:var(--texte);font-weight:600}.texte-ia{color:var(--texte-ia)}.actions{display:flex;gap:8px;flex:none}.bouton{background:var(--surface);border:1px solid var(--trait-fort);border-radius:6px;padding:4px 12px;font-size:var(--vallum-taille-legende);font-weight:500;cursor:pointer;white-space:nowrap}.bouton:hover{border-color:var(--accent)}.bouton-principal:hover{background:#a9532d;border-color:#a9532d}.lien{background:none;border:none;padding:0;color:var(--accent);text-decoration:underline;cursor:pointer;font-size:inherit}.bandeau{display:flex;align-items:center;gap:12px;padding:8px 16px;background:var(--surface);border-bottom:1px solid var(--trait);font-size:var(--vallum-taille-legende)}.bandeau span{flex:1}.espace{display:grid;grid-template-columns:220px 1fr 380px;min-height:0}.espace.sans-palette{grid-template-columns:1fr 380px}.titre-panneau{font-family:var(--vallum-police-titre);font-weight:600;font-size:15px;margin:0 0 12px}.compte{font-family:var(--vallum-police-mono);font-weight:400;color:var(--texte-doux)}.palette{background:var(--panneau);border-right:1px solid var(--trait);padding:16px 12px;overflow-y:auto}.palette-entree{display:flex;align-items:center;gap:12px;width:100%;padding:8px;margin-bottom:8px;background:var(--surface);border:1px solid var(--trait);border-radius:8px;cursor:grab;text-align:left}.palette-entree:hover{border-color:var(--accent)}.palette-texte{display:flex;flex-direction:column;min-width:0}.palette-nom{font-size:13px;font-weight:500;line-height:18px}.palette-aide{font-size:12px;line-height:16px;color:var(--texte-doux)}.apercu{flex:none;width:32px;height:22px;border:2px solid var(--trait-valide)}.apercu-processus{border-radius:999px}.apercu-stockage{border-left:none;border-right:none}.apercu-frontiere{border:2px dashed var(--frontiere);border-radius:4px}.palette-astuce{font-size:12px;line-height:18px;color:var(--texte-doux);margin:16px 0 8px}.raccourcis{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;font-size:12px;line-height:18px;color:var(--texte-doux);margin:0}.raccourcis dt{font-family:var(--vallum-police-mono)}.raccourcis dd{margin:0}.canevas{position:relative;min-width:0;min-height:0}.canevas .react-flow{--xy-background-color: var(--fond);--xy-minimap-background-color: var(--panneau);--xy-controls-button-background-color: var(--surface);--xy-controls-button-border-color: var(--trait);--xy-controls-button-color: var(--texte)}.noeud{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:160px;min-height:56px;padding:8px 20px;background:var(--surface-noeud);border:2px solid var(--trait-valide);text-align:center}.noeud-entite{border-radius:2px}.noeud-processus{border-radius:999px;padding:8px 28px}.noeud-stockage{border-left:none;border-right:none;border-radius:0;background:transparent}.noeud.propose-ia{border-style:dashed;border-color:var(--ia);background:var(--ia-fond)}.noeud-stockage.propose-ia{border-left:none;border-right:none}.noeud.selectionne{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 40%,transparent)}.noeud-nom{font-weight:500;font-size:14px;line-height:20px}.saisie-nom{width:100%;text-align:center;background:var(--fond);border:1px solid var(--accent);border-radius:4px;padding:0 4px}.noeud-techno{font-family:var(--vallum-police-mono);font-size:11px;line-height:16px;color:var(--texte-doux)}.marque-ia{display:inline-block;font-size:11px;line-height:16px;font-weight:500;color:var(--texte-ia)}.noeud-verrou{font-size:11px;line-height:16px;color:var(--texte-doux)}.noeud .react-flow__handle{width:9px;height:9px;background:var(--fond);border:2px solid var(--accent);opacity:0;transition:opacity .1s}.noeud:hover .react-flow__handle,.noeud.selectionne .react-flow__handle,.react-flow__node.connectable .noeud .react-flow__handle.connectingto{opacity:1}.frontiere{width:100%;height:100%;border:2px dashed var(--frontiere);border-radius:8px;background:var(--frontiere-fond)}.frontiere.propose-ia{border-color:var(--ia)}.frontiere.selectionne{border-style:solid}.frontiere-entete{display:flex;align-items:center;gap:8px;padding:4px 10px}.frontiere-nom{font-family:var(--vallum-police-titre);font-weight:500;font-size:13px;color:var(--accent)}.poignee-frontiere{width:10px!important;height:10px!important;border-radius:2px}.react-flow__edge-path.flux{stroke:var(--frontiere);stroke-width:2}.react-flow__edge-path.flux.propose-ia{stroke:var(--ia);stroke-dasharray:6 4}.react-flow__edge-path.flux.selectionne{stroke-width:3}.etiquette-flux{position:absolute;display:flex;align-items:center;gap:6px;padding:1px 8px;font-size:12px;line-height:18px;background:var(--fond);border:1px solid var(--trait);border-radius:4px;pointer-events:all;cursor:pointer;white-space:nowrap}.etiquette-flux.propose-ia{border-style:dashed;border-color:var(--ia)}.etiquette-flux.selectionne{border-color:var(--accent)}.nom-flux{max-width:140px;overflow:hidden;text-overflow:ellipsis}.etiquette-flux.selectionne .nom-flux,.etiquette-flux:hover .nom-flux{max-width:320px}.etiquette-flux:hover,.etiquette-flux.selectionne{z-index:10}.etiquette-chiffre{font-family:var(--vallum-police-mono);font-size:10px;color:var(--texte-doux)}.badge-niveau,.badge-menaces{display:inline-block;border-radius:4px;padding:0 6px;font-size:11px;line-height:18px;font-weight:600;white-space:nowrap;border:1px solid transparent}.badge-menaces{position:absolute;top:-11px;right:-10px;cursor:pointer}.etiquette-flux .badge-menaces{position:static}.niveau-critique{background:var(--vallum-risque-critique);color:#fff}.niveau-eleve{background:var(--vallum-risque-eleve);color:var(--vallum-nuit)}.niveau-moyen{background:var(--vallum-risque-moyen);color:var(--vallum-nuit)}.niveau-faible{background:var(--vallum-risque-faible);color:var(--vallum-nuit)}.niveau-non_evalue{background:var(--fond);border-color:var(--vallum-risque-non-evalue);color:var(--texte)}.badge-stride{display:inline-grid;place-items:center;width:20px;height:20px;border:1px solid var(--trait-fort);border-radius:4px;font-family:var(--vallum-police-mono);font-weight:500;font-size:12px}.id-mono{font-family:var(--vallum-police-mono);font-size:12px}.panneau-droit{background:var(--panneau);border-left:1px solid var(--trait);overflow-y:auto;padding:16px}.proprietes{padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--trait)}.type-objet{font-family:var(--vallum-police-titre);font-weight:600;margin:0 0 12px}.champ{display:flex;flex-direction:column;gap:4px;margin:0 0 12px;padding:0;border:none;font-size:13px}.champ legend,.champ label{color:var(--texte-doux);font-size:12px;line-height:18px;padding:0;margin-bottom:4px}.champ input,.champ select,.champ textarea,.filtres select,.note select{background:var(--surface);border:1px solid var(--trait-fort);border-radius:6px;padding:4px 8px;font-size:13px}.champ textarea{resize:vertical}.cases{display:flex;flex-wrap:wrap;gap:4px 12px}.case{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--texte)}.aide,.vide{color:var(--texte-doux);font-size:13px}.bloc-ia{border:1px dashed var(--ia);background:var(--ia-fond);border-radius:8px;padding:8px 12px;margin-bottom:12px}.justification{margin:4px 0 8px;font-size:13px;line-height:20px}.entete-liste{display:flex;justify-content:space-between;align-items:baseline}.filtres{display:flex;gap:8px;margin-bottom:12px}.filtres select{flex:1;min-width:0}.cartes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.carte-menace{background:var(--surface);border:1px solid var(--trait);border-radius:8px;padding:10px 12px}.carte-menace.statut-a_revoir{border-color:var(--vallum-risque-eleve)}.carte-menace.statut-archivee{opacity:.7}.carte-entete{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.statut{font-size:11px;line-height:18px;color:var(--texte-doux);margin-left:auto}.carte-titre{font-size:14px;line-height:20px;font-weight:600;margin:6px 0 2px}.carte-scenario{font-size:13px;line-height:20px;margin:0 0 4px}.carte-meta{font-size:12px;line-height:18px;color:var(--texte-doux);margin:0}.cotation{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.note{display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--texte-doux)}.suggestion,.alerte-revue{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:12px;line-height:18px}.suggestion{color:var(--texte-doux)}.alerte-revue span,.suggestion span{flex:1}.lien-logo{display:inline-flex;flex:none}.fil{display:flex;gap:8px;align-items:center;font-size:var(--vallum-taille-legende);color:var(--texte-doux);white-space:nowrap}.fil a,.sous-titre a{color:var(--accent)}.etat-enregistrement{font-size:12px;color:var(--texte-doux);white-space:nowrap}.etat-conflit,.etat-erreur{color:var(--vallum-risque-eleve);font-weight:600}.bandeau-info{background:var(--panneau)}.bandeau-alerte{border-left:4px solid var(--vallum-risque-eleve)}.fieldset-nu{border:none;margin:0;padding:0;min-width:0}.canevas-vide{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;z-index:5;pointer-events:none;color:var(--texte-doux);text-align:center}.canevas-vide p{margin:0}.canevas-vide .bouton{pointer-events:all;margin-top:12px}.cadre{min-height:100vh;display:flex;flex-direction:column}.navigation{display:flex;gap:4px}.navigation a{padding:4px 12px;border-radius:6px;color:var(--texte-doux);text-decoration:none;font-weight:500;font-size:14px}.navigation a:hover{color:var(--texte)}.navigation a.active{color:var(--texte);background:var(--surface)}.espaceur{flex:1}.utilisateur{font-size:var(--vallum-taille-legende);color:var(--texte-doux)}.contenu{width:100%;max-width:1200px;margin:0 auto;padding:32px 24px 64px}.titre-page{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:8px}.titre-page h1{font-family:var(--vallum-police-titre);font-weight:600;font-size:var(--vallum-taille-titre-2);line-height:34px;margin:0}.contenu h2{font-family:var(--vallum-police-titre);font-weight:600;font-size:var(--vallum-taille-titre-3);line-height:26px;margin:0 0 12px}.sous-titre{color:var(--texte-doux);font-size:14px;margin:0 0 16px}.description-projet{max-width:75ch;margin:0 0 24px}.page-centree{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--texte-doux)}.page-connexion{min-height:100vh;display:grid;place-items:center;padding:24px 16px}.carte-connexion{width:100%;max-width:400px;background:var(--panneau);border:1px solid var(--trait);border-radius:12px;padding:32px}.carte-connexion h1{font-family:var(--vallum-police-titre);font-weight:600;font-size:var(--vallum-taille-titre-2);margin:24px 0 8px}.logo-connexion{height:32px}.champ>span{color:var(--texte-doux);font-size:12px;line-height:18px}.carte-connexion .champ input,.panneau-formulaire .champ input,.panneau-formulaire .champ textarea,.panneau-formulaire .champ select,.ligne-membre select,.ajout-membre select{background:var(--surface);border:1px solid var(--trait-fort);border-radius:6px;padding:6px 10px;font-size:14px}.bouton-large{width:100%;padding:8px 12px;font-size:14px;margin-top:8px}.bouton:disabled{opacity:.6;cursor:not-allowed}.message-erreur{color:#b2352c;font-size:13px;font-weight:500}:root[data-theme=dark] .message-erreur{color:#f08a82}.message-succes{color:var(--accent);font-size:13px}.panneau-formulaire{background:var(--panneau);border:1px solid var(--trait);border-radius:12px;padding:20px 24px;margin:16px 0 24px;max-width:640px}.panneau-formulaire .actions{margin-top:8px}.etat-vide{border:1px dashed var(--trait-fort);border-radius:12px;padding:32px;text-align:center;margin-top:16px}.grille-cartes{list-style:none;padding:0;margin:16px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.carte-projet{display:flex;flex-direction:column;gap:8px;height:100%;padding:16px 20px;background:var(--panneau);border:1px solid var(--trait);border-radius:12px;color:inherit;text-decoration:none}.carte-projet:hover{border-color:var(--accent)}.carte-projet.archive{opacity:.7}.carte-projet-nom{font-family:var(--vallum-police-titre);font-weight:600;font-size:17px}.carte-projet-desc{font-size:14px;color:var(--texte-doux);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.carte-projet-meta{font-size:12px;color:var(--texte-doux);margin-top:auto}.etiquettes{display:flex;flex-wrap:wrap;gap:6px}.etiquette{font-size:12px;line-height:20px;padding:0 8px;border:1px solid var(--trait-fort);border-radius:999px;color:var(--texte-doux);white-space:nowrap}.pied{margin-top:24px}.bloc{background:var(--panneau);border:1px solid var(--trait);border-radius:12px;padding:20px 24px;margin-bottom:24px}.synthese-risques{display:flex;flex-wrap:wrap;gap:12px}.tuile{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:110px;padding:8px 12px;border-radius:8px;background:var(--surface)}.tuile-valeur{font-family:var(--vallum-police-titre);font-weight:600;font-size:26px;line-height:32px}.tuile-libelle{font-size:12px;color:var(--texte-doux)}.colonnes{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:24px;align-items:start}.colonnes>.bloc,.colonnes>form{margin:0}.liste-simple{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.ligne-modele{display:flex;flex-direction:column;gap:2px;padding:12px 16px;border:1px solid var(--trait);border-radius:8px;background:var(--surface);color:inherit;text-decoration:none}.ligne-modele:hover{border-color:var(--accent)}.ligne-modele-nom{font-weight:600}.ligne-modele .aide,.ligne-membre .aide,.fil-activite .aide{font-size:12px;line-height:18px}.ligne-membre{display:flex;align-items:center;gap:8px}.membre-identite{display:flex;flex-direction:column;flex:1;min-width:0;font-size:14px}.ligne-membre select{max-width:150px;font-size:12px;padding:4px 6px}.ajout-membre{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--trait)}.ajout-membre select{flex:1;min-width:140px;font-size:13px}.fil-activite{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;font-size:13px;line-height:20px}.fil-activite li{display:flex;flex-direction:column}.onglets{display:flex;gap:4px;margin:-4px 0 16px;border-bottom:1px solid var(--trait)}.onglets{overflow-x:auto}.onglet{background:none;border:none;border-bottom:2px solid transparent;padding:6px;font-size:12px;white-space:nowrap;font-weight:500;color:var(--texte-doux);cursor:pointer}.onglet.actif{color:var(--texte);border-bottom-color:var(--accent)}.traitement{margin-top:10px;border-top:1px solid var(--trait);padding-top:8px}.traitement summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;cursor:pointer;font-size:13px;list-style-position:inside}.traitement[open] summary{margin-bottom:8px}.a-completer{font-size:11px;font-weight:600;color:var(--vallum-risque-eleve)}.traitement .champ textarea,.traitement .champ select,.nouvelle-mesure input,.ajout-mesure select,.carte-menace .note input,.saisie-titre,.statut-mesure{background:var(--fond);border:1px solid var(--trait-fort);border-radius:6px;padding:4px 8px;font-size:13px}.sous-titre-bloc{font-size:12px;font-weight:600;color:var(--texte-doux);text-transform:uppercase;letter-spacing:.04em;margin:16px 0 6px}.mesures-menace .sous-titre-bloc{margin-top:8px}.liste-mesures{list-style:none;padding:0;margin:0 0 8px;display:flex;flex-direction:column;gap:4px;font-size:13px}.liste-mesures li{display:flex;align-items:baseline;gap:8px}.mesure-titre{flex:1;min-width:0}.ajout-mesure{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.ajout-mesure select{width:100%}.nouvelle-mesure{width:100%;border:1px dashed var(--trait-fort);border-radius:8px;padding:10px}.deux-colonnes{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.deux-colonnes>*,.deux-colonnes select,.deux-colonnes input{min-width:0;width:100%}.approbation{display:flex;align-items:center;gap:8px;margin-top:8px;padding:8px;border-radius:6px;background:var(--fond);font-size:12px;line-height:18px}.approbation span{flex:1}.saisie-titre{width:100%;margin:6px 0;font-weight:600}.statut-mesure{margin-left:auto;font-size:12px;padding:2px 6px}.carte-entete .etiquette{font-size:11px;line-height:18px}.liste-controle{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-direction:column;gap:8px;font-size:13px;line-height:20px}.liste-controle li{display:flex;gap:8px}.marque-controle{flex:none;display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;font-size:12px;font-weight:700}.liste-controle .ok .marque-controle{background:var(--vallum-risque-faible);color:var(--vallum-nuit)}.liste-controle .manquant .marque-controle{border:1.5px solid var(--vallum-risque-eleve);color:var(--vallum-risque-eleve)}.detail-controle{display:block;font-size:12px;color:var(--texte-doux)}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.bloc-validation{display:flex;flex-direction:column;gap:8px;align-items:flex-start;padding:12px;border:1px solid var(--trait);border-radius:8px;background:var(--surface)}.bloc-validation .champ{width:100%}.bloc-validation textarea{background:var(--fond);border:1px solid var(--trait-fort);border-radius:6px;padding:4px 8px}.bloc-validation p{margin:0;font-size:13px}.statut-modele-valide{border-color:var(--vallum-risque-faible);color:var(--texte)}.statut-modele-en_revision{border-color:var(--vallum-risque-moyen);color:var(--texte)}.bandeau-valide{border-left:4px solid var(--vallum-risque-faible)}.lien-vue-metier,.lien-secondaire{font-size:var(--vallum-taille-legende);color:var(--accent);white-space:nowrap}.ligne-modele-conteneur{display:flex;flex-direction:column;gap:4px}.lien-secondaire{align-self:flex-end;margin-right:4px}.texte-attention{color:var(--vallum-risque-eleve)!important;font-weight:600}.colonnes-metier{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.colonnes-metier>div>.bloc,.colonnes-metier>div>form{margin-bottom:24px}.acteurs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 16px}.etiquette.acteur{color:var(--texte);border-color:var(--accent)}.etiquette.attention{border-color:var(--vallum-risque-moyen);color:var(--texte)}.etapes{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.etape{display:flex;gap:12px;align-items:flex-start}.etape p{margin:0 0 4px}.numero-etape{flex:none;display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;border:2px solid var(--accent);font-family:var(--vallum-police-titre);font-weight:600;font-size:13px}.formulaire-et-si textarea,.formulaire-et-si select,.entete-liste>select,.traiter-contribution input,.traiter-contribution select,.traiter-contribution textarea,.ajout-commentaire input{background:var(--surface);border:1px solid var(--trait-fort);border-radius:6px;padding:6px 10px;font-size:14px}.traiter-contribution input,.traiter-contribution select,.traiter-contribution textarea,.ajout-commentaire input{background:var(--fond);font-size:13px;padding:4px 8px}.amorces{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.amorce{background:none;border:1px dashed var(--trait-fort);border-radius:999px;padding:2px 10px;font-size:13px;color:var(--texte);cursor:pointer;text-align:left}.amorce:hover{border-color:var(--accent)}.carte-contribution{background:var(--surface);border:1px solid var(--trait);border-radius:8px;padding:10px 12px}.carte-contribution.statut-en_attente{border-left:3px solid var(--accent)}.contribution-texte{margin:6px 0 2px;font-size:14px;line-height:22px}.contribution-acceptee{border-color:var(--vallum-risque-faible);color:var(--texte)}.bouton-vote{margin-left:auto;background:none;border:1px solid var(--trait-fort);border-radius:999px;padding:0 10px;font-size:12px;line-height:22px;cursor:pointer;font-family:var(--vallum-police-mono)}.bouton-vote.actif{border-color:var(--accent);color:var(--accent);font-weight:600}.reponse-contribution{margin-top:8px;padding:8px 10px;border-radius:6px;background:var(--fond);font-size:13px;line-height:20px}.reponse-contribution p{margin:0}.reponse-acceptee{border-left:3px solid var(--vallum-risque-faible)}.reponse-rejetee{border-left:3px solid var(--vallum-risque-non-evalue)}.commentaires{margin-top:8px;font-size:13px}.commentaires summary{cursor:pointer;color:var(--texte-doux)}.liste-commentaires{list-style:none;padding:0;margin:8px 0;display:flex;flex-direction:column;gap:8px}.liste-commentaires p{margin:2px 0 0}.ajout-commentaire{display:flex;gap:8px}.ajout-commentaire input{flex:1;min-width:0}.traiter-contribution{margin-top:10px;padding-top:10px;border-top:1px solid var(--trait)}.suggestion-classement{font-size:12px;line-height:18px;color:var(--texte-doux);margin:0 0 8px}.traitees{margin-top:16px;font-size:13px}.traitees summary{cursor:pointer;color:var(--texte-doux);margin-bottom:8px}a.bouton{display:inline-block;color:var(--texte);text-decoration:none}.liens-secondaires{display:flex;justify-content:flex-end;gap:16px;margin-right:4px}.liens-secondaires .lien-secondaire{align-self:auto;margin:0}.bandeau-moteur{padding:8px 12px;border-radius:8px;border:1px solid var(--trait);background:var(--panneau);font-size:13px;margin:0 0 16px}.bandeau-moteur.simulation{border-color:var(--vallum-risque-moyen)}.etape-cadrage h2{display:flex;align-items:center;gap:10px}.etape-cadrage textarea,.guide-cadrage textarea,.questions-cadrage textarea,.actions-hypothese input{background:var(--surface);border:1px solid var(--trait-fort);border-radius:6px;padding:6px 10px;font-size:14px;width:100%}.guide-cadrage{margin:8px 0 16px}.guide-cadrage summary{cursor:pointer;color:var(--accent);font-size:13px;margin-bottom:8px}.questions-cadrage{padding-left:20px;display:flex;flex-direction:column;gap:16px;margin:0 0 16px}.questions-cadrage .question{font-weight:500;margin:0}.questions-cadrage .aide{margin:0 0 6px;font-size:12px}.liste-hypotheses{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.hypothese{border:1px solid var(--trait);border-left:3px solid var(--vallum-terre-cuite);border-radius:8px;padding:8px 12px;background:var(--surface)}.hypothese.statut-confirmee,.hypothese.statut-corrigee{border-left-color:var(--vallum-risque-faible)}.hypothese p{margin:6px 0;font-size:14px}.barre{text-decoration:line-through;color:var(--texte-doux)}.actions-hypothese{display:flex;gap:8px;align-items:center}.actions-hypothese input{flex:1;width:auto;min-width:0;font-size:13px;padding:4px 8px}.defilement-tableau{overflow-x:auto}.tableau td select{background:var(--surface);border:1px solid var(--trait-fort);border-radius:6px;padding:2px 6px;font-size:13px}.tableau a,.tableau a:visited{color:var(--accent)}.tableau tr.hors-perimetre{color:var(--texte-doux)}.filtre-filiale{max-width:320px}.filtre-filiale select{background:var(--surface);border:1px solid var(--trait-fort);border-radius:6px;padding:6px 10px}.etiquette.couverture-a_jour{border-color:var(--vallum-risque-faible);color:var(--texte)}.etiquette.couverture-revue_depassee{border-color:var(--vallum-risque-eleve);color:var(--texte)}.etiquette.couverture-absente{border-color:var(--vallum-risque-critique);color:var(--texte)}.taux{display:inline-flex;align-items:center;gap:8px;font-family:var(--vallum-police-mono);font-size:13px;white-space:nowrap}.barre-taux{display:inline-block;width:72px;height:8px;border-radius:4px;background:var(--trait);overflow:hidden}.barre-taux>span{display:block;height:100%}.taux-bon .barre-taux>span{background:var(--vallum-risque-faible)}.taux-moyen .barre-taux>span{background:var(--vallum-risque-moyen)}.taux-faible .barre-taux>span{background:var(--vallum-risque-eleve)}.tableau{width:100%;border-collapse:collapse;font-size:14px}.tableau th,.tableau td{text-align:left;padding:8px;border-bottom:1px solid var(--trait)}.tableau th{font-size:12px;color:var(--texte-doux);font-weight:500}@media (max-width: 900px){.colonnes{grid-template-columns:1fr}.entete{flex-wrap:wrap}.contenu{padding:24px 16px 48px}}.bouton-discret:hover{border-color:var(--trait-fort)}.bouton-icone,.bouton-texte{display:inline-grid;place-items:center;min-width:32px;height:32px;padding:0 6px;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--texte);cursor:pointer;font-size:12px;font-weight:500}.bouton-icone:hover:not(:disabled),.bouton-texte:hover{background:var(--surface)}.bouton-icone:disabled{opacity:.4;cursor:not-allowed}.bouton-icone.actif,.bouton-texte.actif{background:var(--surface);border-color:var(--accent)}.menu{position:relative}.menu>summary{list-style:none;display:inline-flex;align-items:center;gap:6px}.menu>summary::-webkit-details-marker{display:none}.menu-contenu{position:absolute;top:calc(100% + 6px);z-index:50;min-width:220px;padding:6px;background:var(--panneau);border:1px solid var(--trait-fort);border-radius:8px;box-shadow:0 8px 24px #00000040}.menu-droite .menu-contenu{right:0}.menu-gauche .menu-contenu{left:0}.menu-element{display:block;width:100%;padding:8px 10px;background:none;border:none;border-radius:6px;text-align:left;font-size:13px;cursor:pointer}.menu-separateur{margin:6px 4px;border:none;border-top:1px solid var(--trait)}.menu-element:hover:not(:disabled),.menu-element:focus-visible{background:var(--surface)}.menu-info{margin:0 0 6px;padding:6px 10px 10px;border-bottom:1px solid var(--trait);font-size:12px;line-height:18px;color:var(--texte-doux)}.utilisateur{color:var(--texte);font-weight:500}.entete-editeur{gap:12px}.entete-editeur .fil{min-width:0}.entete-editeur .nom-projet{font-size:16px;min-width:8ch}.onglets-vues{display:inline-flex;padding:3px;border-radius:8px;background:var(--fond);border:1px solid var(--trait)}.onglet-vue{padding:3px 12px;border-radius:6px;font-size:13px;font-weight:500;color:var(--texte-doux);text-decoration:none;white-space:nowrap}.onglet-vue:hover{color:var(--texte)}.onglet-vue.actif{background:var(--surface);color:var(--texte)}.pastille{font-size:12px;line-height:22px;padding:0 10px;border-radius:999px;border:1px solid var(--trait-fort);background:transparent;white-space:nowrap}.pastille-alerte{border-color:var(--vallum-risque-eleve);cursor:pointer}.pastille-ia{border-style:dashed;border-color:var(--ia);color:var(--texte-ia)}.etat-enregistrement.etat-enregistre{opacity:.7}.barre-outils{display:flex;align-items:center;gap:2px;padding:3px;background:var(--panneau);border:1px solid var(--trait);border-radius:8px}.espace{grid-template-columns:92px 1fr 380px}.palette{position:relative;display:flex;flex-direction:column;gap:6px;padding:12px 8px}.palette-entree{flex-direction:column;justify-content:center;gap:6px;padding:10px 4px;margin:0;text-align:center}.palette-nom{font-size:11px;line-height:14px}.palette-aide{align-self:center;margin-top:4px;color:var(--texte-doux)}.aide-diagramme{position:absolute;left:100px;top:64px;z-index:40;width:260px;padding:12px 14px;background:var(--panneau);border:1px solid var(--trait-fort);border-radius:8px;box-shadow:0 8px 24px #00000040;font-size:13px;line-height:20px}.aide-diagramme p{margin:0 0 8px}.etiquette-flux .badge-menaces,.etiquette-flux .etiquette-chiffre{display:none}.etiquette-flux:hover .badge-menaces,.etiquette-flux.selectionne .badge-menaces,.etiquette-flux:hover .etiquette-chiffre,.etiquette-flux.selectionne .etiquette-chiffre{display:inline-block}.carte-menace{padding:0}.details-menace>summary{list-style:none;cursor:pointer}.details-menace>summary::-webkit-details-marker{display:none}.ligne-menace{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;grid-template-areas:"id stride titre niveau" "id stride statut statut";align-items:center;column-gap:8px;padding:8px 10px;border-radius:8px}.ligne-menace:hover{background:color-mix(in srgb,var(--surface) 70%,var(--fond))}.ligne-menace .id-mono{grid-area:id;color:var(--texte-doux);font-size:11px}.ligne-menace .badge-stride{grid-area:stride}.titre-ligne{grid-area:titre;font-size:13px;font-weight:500;line-height:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ligne-menace .badge-niveau{grid-area:niveau}.ligne-menace .statut{grid-area:statut;margin:0;font-size:11px}.details-menace[open] .titre-ligne{white-space:normal}.corps-menace{padding:0 12px 12px}.cartes{gap:4px}.indicateurs{display:flex;flex-wrap:wrap;align-items:flex-start;gap:32px}.indicateur{display:flex;flex-direction:column}.detail-indicateurs{flex-basis:100%;font-size:13px}.detail-indicateurs summary{cursor:pointer;color:var(--accent);width:max-content}.detail-indicateurs .synthese-risques{margin-top:12px}.ligne-modele{gap:6px}.ligne-modele-nom{display:flex;align-items:center;gap:8px}.progression{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--texte-doux)}.progression .barre-taux>span{background:var(--accent)}.ligne-depliable{cursor:pointer}.ligne-depliable:hover{background:var(--surface)}.ligne-detail td{background:var(--fond)}.detail-filiale{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:4px 0;font-size:13px}.detail-filiale dt{color:var(--texte-doux)}.detail-filiale dd{margin:0}.niveaux-ligne{display:flex;flex-wrap:wrap;gap:12px}.onglets{margin-bottom:12px}.liste-menaces .filtres select{font-size:12px;padding:3px 6px}.barre-tickets{display:flex;align-items:center;gap:8px;margin:0 0 12px;padding:8px 10px;border:1px solid var(--trait);border-radius:6px}.barre-tickets .espaceur{flex:1}.ligne-ticket{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ligne-ticket a.etiquette{text-decoration:none}.ticket-ouvert{border-color:var(--trait-fort)}.ticket-en_cours{border-color:var(--vallum-vert-de-gris)}.ticket-ferme{border-color:var(--vallum-vert-de-gris);background:color-mix(in srgb,var(--vallum-vert-de-gris) 14%,transparent)}.formulaire-outil{display:grid;gap:12px;margin-top:8px}:root,:root[data-theme=dark]{--fond: #111417;--couche-1: #171b1f;--couche-2: #1e2328;--champ: #1a1e23;--panneau: var(--couche-1);--surface: var(--couche-2);--surface-noeud: #181d21;--trait: #262c32;--trait-fort: #353d44;--texte: var(--vallum-pierre);--texte-doux: #a3aab0;--texte-faible: #7c848b;--ombre: 0 1px 2px rgba(0, 0, 0, .35), 0 8px 24px rgba(0, 0, 0, .25)}:root[data-theme=light]{--fond: #f4f1ea;--couche-1: #ffffff;--couche-2: #f6f3ed;--champ: #ffffff;--panneau: var(--couche-1);--surface: var(--couche-2);--surface-noeud: #ffffff;--trait: #e4dfd5;--trait-fort: #cdc6b9;--texte: var(--vallum-encre);--texte-doux: #555c63;--texte-faible: #6e757b;--ombre: 0 1px 2px rgba(22, 25, 28, .08), 0 8px 24px rgba(22, 25, 28, .08)}body{font-size:14px;line-height:20px;-webkit-font-smoothing:antialiased}.coque{display:grid;grid-template-columns:224px minmax(0,1fr);grid-template-rows:48px minmax(0,1fr);min-height:100vh}.barre-haute{grid-column:1 / -1;display:flex;align-items:center;gap:16px;padding:0 16px 0 20px;background:var(--couche-1);border-bottom:1px solid var(--trait);position:sticky;top:0;z-index:30}.barre-haute .logo,.entete .logo{height:22px}.navigation-laterale{display:flex;flex-direction:column;gap:2px;padding:16px 12px;background:var(--couche-1);border-right:1px solid var(--trait);position:sticky;top:48px;height:calc(100vh - 48px)}.lien-navigation{display:flex;align-items:center;gap:12px;height:36px;padding:0 12px;border-radius:6px;color:var(--texte-doux);text-decoration:none;font-size:14px;font-weight:500;position:relative}.lien-navigation:hover,.lien-navigation.actif{background:var(--couche-2);color:var(--texte)}.lien-navigation.actif:before{content:"";position:absolute;left:-12px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--vallum-vert-de-gris)}.avatar{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--vallum-vert-profond);color:#fff;font-size:11px;font-weight:600;letter-spacing:.02em}.barre-haute .utilisateur{font-size:13px}.contenu{max-width:1280px;width:100%;margin:0;padding:32px 40px 64px}.titre-page{align-items:flex-end;margin-bottom:24px}.titre-page h1{font-size:24px;line-height:32px;letter-spacing:-.01em}.surtitre{margin:0 0 4px;font-size:13px;color:var(--texte-doux)}.surtitre a{color:var(--texte-doux)}.surtitre a:hover{color:var(--texte)}.sous-titre{font-size:13px}.contenu h2{font-family:var(--vallum-police-texte);font-size:15px;line-height:22px;font-weight:600}.bloc,.carte,.panneau-formulaire{background:var(--couche-1);border:1px solid var(--trait);border-radius:8px;padding:20px 24px}.carte{display:flex;flex-direction:column;gap:16px}.carte-entete-graphe{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.carte-titre-graphe{margin:0;font-size:15px!important;font-weight:600}.carte-sous-titre{margin:2px 0 0;font-size:13px;color:var(--texte-doux)}.grille-tableau{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;margin-bottom:24px}.col-4{grid-column:span 4}.col-5{grid-column:span 5}.col-6{grid-column:span 6}.col-7{grid-column:span 7}.col-8{grid-column:span 8}.col-12{grid-column:span 12}@media (max-width: 1000px){.col-4,.col-5,.col-6,.col-7,.col-8{grid-column:span 12}}.rangee-indicateurs{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;background:var(--trait);border:1px solid var(--trait);border-radius:8px;overflow:hidden;margin-bottom:24px}.indicateur-heros,.tuile-indicateur{display:flex;flex-direction:column;gap:4px;padding:20px 24px;background:var(--couche-1)}.indicateur-libelle{font-size:13px;color:var(--texte-doux)}.valeur-heros{font-family:var(--vallum-police-texte);font-size:48px;line-height:56px;font-weight:600;letter-spacing:-.02em}.valeur-tuile{font-family:var(--vallum-police-texte);font-size:28px;line-height:36px;font-weight:600;letter-spacing:-.01em}.indicateur-detail{font-size:12px;color:var(--texte-faible)}.tuile-indicateur.alerte .valeur-tuile:after{content:"";display:inline-block;width:8px;height:8px;margin-left:8px;vertical-align:middle;border-radius:50%;background:var(--vallum-risque-eleve)}.graphe-risques{display:flex;flex-direction:column;gap:12px}.barre-segmentee{display:flex;gap:2px;height:28px}.segment{position:relative;min-width:6px;flex-basis:0;border-radius:4px;display:flex;align-items:center;outline-offset:2px;cursor:default}.segment.survole{filter:brightness(1.12)}.segment-critique{background:var(--vallum-risque-critique);color:#fff}.segment-eleve{background:var(--vallum-risque-eleve);color:var(--vallum-nuit)}.segment-moyen{background:var(--vallum-risque-moyen);color:var(--vallum-nuit)}.segment-faible{background:var(--vallum-risque-faible);color:var(--vallum-nuit)}.segment-non_evalue{background:repeating-linear-gradient(45deg,var(--vallum-risque-non-evalue) 0 1.5px,transparent 1.5px 6px);box-shadow:inset 0 0 0 1.5px var(--vallum-risque-non-evalue);color:var(--texte)}.valeur-segment{padding:0 8px;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.segment-non_evalue .valeur-segment{background:var(--couche-1);margin-left:4px;padding:0 4px;border-radius:3px}.infobulle{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);z-index:20;padding:6px 10px;border-radius:6px;background:var(--couche-2);border:1px solid var(--trait-fort);box-shadow:var(--ombre);color:var(--texte);font-size:12px;font-weight:400;white-space:nowrap;pointer-events:none}.legende{display:flex;flex-wrap:wrap;gap:6px 20px;margin:0;padding:0;list-style:none;font-size:12px;color:var(--texte-doux)}.legende li{display:inline-flex;align-items:center;gap:8px}.pastille-legende{width:10px;height:10px;border-radius:2px}.barres-pourcentage{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.barres-pourcentage li{display:grid;grid-template-columns:minmax(96px,160px) minmax(0,1fr) 56px;align-items:center;gap:16px;font-size:13px}.libelle-barre{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.piste{position:relative;display:block;height:12px;border-radius:4px;background:var(--couche-2);box-shadow:inset 0 0 0 1px var(--trait)}.piste>.remplissage{display:block;height:100%;border-radius:0 4px 4px 0;background:var(--vallum-vert-de-gris)}.piste-fine{height:8px}.piste-fine>.remplissage{border-radius:4px}.valeur-barre,.jauge-valeur{text-align:right;font-variant-numeric:tabular-nums;color:var(--texte-doux)}.jauge{display:flex;flex-direction:column;gap:8px}.jauge-entete{display:flex;justify-content:space-between;font-size:13px}.deux-jauges{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-top:16px;border-top:1px solid var(--trait)}.tableau td.nombre,.tableau th.nombre{font-variant-numeric:tabular-nums}.lien-ligne{background:none;border:none;padding:0;font:inherit;font-weight:600;color:var(--texte);cursor:pointer}.lien-ligne:hover{color:var(--accent)}.bouton{height:32px;padding:0 14px;border-radius:6px;font-size:13px;font-weight:500;background:var(--couche-2);border:1px solid var(--trait-fort);display:inline-flex;align-items:center;gap:8px}.bouton:hover:not(:disabled){border-color:var(--texte-faible)}a.bouton{display:inline-flex;line-height:1}.bouton-principal{background:var(--vallum-terre-cuite);border-color:var(--vallum-terre-cuite);color:#fff}.bouton-principal:hover:not(:disabled){background:#ad5530;border-color:#ad5530}.bouton-discret{background:transparent;border-color:transparent}.contenu :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea),.panneau-droit :is(input:not([type=checkbox]):not([type=radio]),select,textarea),.carte-connexion :is(input,select){background:var(--champ);border:1px solid var(--trait-fort);border-radius:6px;padding:6px 10px;font-size:13px;line-height:20px;color:var(--texte)}.contenu :is(input,select,textarea):focus-visible,.panneau-droit :is(input,select,textarea):focus-visible{outline:2px solid var(--accent);outline-offset:0;border-color:transparent}input[type=checkbox]{accent-color:var(--vallum-vert-de-gris);width:16px;height:16px}.tableau{font-size:13px}.tableau th{background:var(--couche-2);font-size:12px;font-weight:600;color:var(--texte-doux);padding:10px 12px;border-bottom:1px solid var(--trait);white-space:nowrap}.tableau th:first-child{border-top-left-radius:6px}.tableau th:last-child{border-top-right-radius:6px}.tableau td{padding:12px;border-bottom:1px solid var(--trait);vertical-align:middle}.tableau tbody tr:hover{background:color-mix(in srgb,var(--couche-2) 60%,transparent)}.tableau tbody tr:last-child td{border-bottom:none}.etiquette{font-size:12px;line-height:20px;padding:0 8px;border-radius:4px;border:1px solid var(--trait-fort);background:transparent}.ligne-modele,.carte-projet{background:var(--couche-1);border:1px solid var(--trait);border-radius:8px;transition:border-color .12s}.ligne-modele:hover,.carte-projet:hover{border-color:var(--trait-fort)}.bloc .ligne-modele{background:var(--couche-2)}.entete{min-height:48px;padding:0 16px;background:var(--couche-1);border-bottom:1px solid var(--trait)}.palette,.panneau-droit{background:var(--couche-1)}.palette-entree{background:transparent;border:1px solid transparent}.palette-entree:hover{background:var(--couche-2);border-color:var(--trait)}.noeud{min-width:168px;min-height:52px;padding:8px 16px;gap:2px;background:var(--surface-noeud);border-width:1.5px;border-radius:6px;box-shadow:0 1px 2px #0000002e}.noeud-processus{border-radius:999px;padding:8px 24px}.noeud-stockage{border-radius:0;background:var(--surface-noeud);box-shadow:none}.icone-noeud{color:var(--texte-faible);line-height:0}.noeud.propose-ia .icone-noeud{color:var(--texte-ia)}.noeud-nom{font-size:13px;font-weight:600;line-height:18px}.noeud.selectionne{box-shadow:0 0 0 2px var(--fond),0 0 0 4px var(--accent)}.marque-ia{font-size:10px;letter-spacing:.02em}.badge-menaces{top:-10px;right:-8px;font-size:10px;line-height:16px;padding:0 6px;border-radius:4px;box-shadow:0 0 0 2px var(--fond)}.frontiere{border-width:1.5px;border-radius:10px;background:color-mix(in srgb,var(--vallum-vert-de-gris) 4%,transparent)}.frontiere-entete{padding:6px 12px}.frontiere-nom{font-family:var(--vallum-police-texte);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.react-flow__edge-path.flux{stroke-width:1.5}.etiquette-flux{font-size:11px;line-height:18px;padding:0 6px;border-radius:4px;background:var(--couche-1);border-color:var(--trait);color:var(--texte-doux)}.etiquette-flux.selectionne,.etiquette-flux:hover{color:var(--texte)}.page-connexion{background:radial-gradient(1200px 600px at 20% -10%,color-mix(in srgb,var(--vallum-vert-de-gris) 14%,transparent),transparent 60%),var(--fond)}.carte-connexion{background:var(--couche-1);border:1px solid var(--trait);box-shadow:var(--ombre);padding:40px}.carte-connexion h1{font-size:24px;line-height:32px}@media (max-width: 900px){.coque{grid-template-columns:minmax(0,1fr);grid-template-rows:48px auto minmax(0,1fr)}.navigation-laterale{position:static;height:auto;flex-direction:row;overflow-x:auto;border-right:none;border-bottom:1px solid var(--trait);padding:8px 12px}.lien-navigation.actif:before{display:none}.contenu{padding:24px 16px 48px}}
