@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-Dc4VJyIJ.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-BPnxn4xp.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-BLGc9T1a.woff2) format("woff2"),url(/assets/inter-cyrillic-400-normal-ZzOtrSSW.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-Bput3-QP.woff2) format("woff2"),url(/assets/inter-greek-ext-400-normal-DCpCPQOf.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-DxZsaF_h.woff2) format("woff2"),url(/assets/inter-greek-400-normal-BZzXV7-1.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-BUNmGMP1.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-hnt3BR84.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-C1t-h-pH.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-BOOGhInR.woff2) format("woff2"),url(/assets/inter-latin-400-normal-gitzw0hO.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-BShVwWPj.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-CUiC4oBV.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-D4Vwzodn.woff2) format("woff2"),url(/assets/inter-cyrillic-500-normal-DH2hs3aW.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-B6guLgqG.woff2) format("woff2"),url(/assets/inter-greek-ext-500-normal-M2hEX8vc.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-CeQXL5ds.woff2) format("woff2"),url(/assets/inter-greek-500-normal-d_eO-yCQ.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-DQPw2Hwd.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-CIS2RHJS.woff2) format("woff2"),url(/assets/inter-latin-ext-500-normal-UMdmhHu2.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-D2bGa7uu.woff2) format("woff2"),url(/assets/inter-latin-500-normal-deR1Tlfd.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-CaqZN2hq.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bt9VVOA-.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-BGBWG807.woff2) format("woff2"),url(/assets/inter-cyrillic-600-normal-BuzJQFbW.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-Cnui8OiR.woff2) format("woff2"),url(/assets/inter-greek-ext-600-normal-C9WLioJ8.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-Dhlb-90d.woff2) format("woff2"),url(/assets/inter-greek-600-normal-CwicyhtI.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-Cm6aH8_k.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-BnYJhD27.woff2) format("woff2"),url(/assets/inter-latin-ext-600-normal-CAF0vJDd.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-D273HNI0.woff2) format("woff2"),url(/assets/inter-latin-600-normal-B5cFAncS.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:700;src:url(/assets/inter-cyrillic-ext-700-normal-ClVoMEGq.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-Ced3hgUT.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:700;src:url(/assets/inter-cyrillic-700-normal-bGtGjVdZ.woff2) format("woff2"),url(/assets/inter-cyrillic-700-normal-Bc8_fv8J.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:700;src:url(/assets/inter-greek-ext-700-normal-SzCdnevJ.woff2) format("woff2"),url(/assets/inter-greek-ext-700-normal-DXvzx4Na.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-Cxpycf-U.woff2) format("woff2"),url(/assets/inter-greek-700-normal-BRYTaFLL.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:700;src:url(/assets/inter-vietnamese-700-normal-CGpBpxLq.woff2) format("woff2"),url(/assets/inter-vietnamese-700-normal-dAnkLlTo.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:700;src:url(/assets/inter-latin-ext-700-normal-CzikT_rs.woff2) format("woff2"),url(/assets/inter-latin-ext-700-normal-6V9MnIL5.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:700;src:url(/assets/inter-latin-700-normal-Sckx8rpT.woff2) format("woff2"),url(/assets/inter-latin-700-normal-B8MtJ_2k.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:800;src:url(/assets/inter-cyrillic-ext-800-normal-DkJRRbRv.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-800-normal-Blqt89nY.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:800;src:url(/assets/inter-cyrillic-800-normal-Gn5VisWc.woff2) format("woff2"),url(/assets/inter-cyrillic-800-normal-C1n5rDZ2.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:800;src:url(/assets/inter-greek-ext-800-normal-JPzvdjtt.woff2) format("woff2"),url(/assets/inter-greek-ext-800-normal-D4Z3eQTi.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-greek-800-normal-C7uvZBs2.woff2) format("woff2"),url(/assets/inter-greek-800-normal-DCnbPe0-.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:800;src:url(/assets/inter-vietnamese-800-normal-Cm7tD1pz.woff2) format("woff2"),url(/assets/inter-vietnamese-800-normal-BUZV_87j.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:800;src:url(/assets/inter-latin-ext-800-normal-DhAspwKZ.woff2) format("woff2"),url(/assets/inter-latin-ext-800-normal-B4NYOez9.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:800;src:url(/assets/inter-latin-800-normal-qNthNgub.woff2) format("woff2"),url(/assets/inter-latin-800-normal-DDBFRMkW.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-B3hZxag_.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-ZyMXPjaT.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-DvQQgHTq.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CJUKFyLa.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BFiUPp6R.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DLynVohM.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-DxDDqVQb.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-uwM7KshN.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-Dm_PoFIZ.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-O6-GRVqx.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-CmcxpzmF.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-yqk7_qG0.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-BtGHVI3Q.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-N1TV9ACq.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-CevHOlzG.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-QhwQXayn.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-Dn-cqWhb.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-BhDX_RLI.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-C_OblDzq.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-zoSM89R3.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{--blue-primary: #009cdc;--blue-dark: #003087;--blue-mid: #0060b6;--blue-sky: #5bcfef;--hero: #d3eefb;--side-bg: #d3eefb;--bg: #eef8fe;--surface: #ffffff;--surface-2: #dff2fc;--line: #d3e6f2;--line-strong: #aecde1;--text: #0b2a45;--text-2: #4a6176;--accent: #007bb0;--accent-hover: #0060b6;--accent-text: #ffffff;--accent-soft: #dff2fc;--link: #0060b6;--side-text: #0b3a5e;--side-text-2: #2a5c82;--side-hover: rgb(255 255 255 / .5);--side-active: #ffffff;--side-line: rgb(11 58 94 / .14);--good: #0a7349;--good-bg: #dcf5e8;--bad: #b3261e;--bad-bg: #fbe7e5;--warn: #8a5a00;--warn-bg: #fdf1d7;--info: #0060b6;--info-bg: #dff2fc;--diff-add: #dcf5e8;--diff-del: #fcebe9;--code-bg: #f4fafe;--shadow: 0 10px 40px rgb(0 96 182 / .16);--shadow-sm: 0 1px 3px rgb(0 96 182 / .08);--shadow-blue: 0 4px 16px rgb(0 156 220 / .25);--sans: "Inter", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;overflow-wrap:break-word}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 var(--sans);-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--blue-primary);outline-offset:2px}.mono{font-family:var(--mono);font-size:13px}.muted{color:var(--text-2)}.small{font-size:12px}.nowrap{white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.shell{display:grid;grid-template-columns:216px minmax(0,1fr);min-height:100vh;min-height:100dvh}.sidebar{background:var(--side-bg);color:var(--side-text);z-index:30;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;height:100dvh;border-right:1px solid var(--side-line)}.brand{display:flex;align-items:center;gap:10px;padding:20px 18px 16px}.brand-mark{display:flex;flex-direction:column;gap:7px}.brand-mark img{display:block;width:128px;height:auto}.brand-mark span{font-size:13px;font-weight:700;color:var(--blue-mid)}.nav-toggle{display:none;margin-left:auto;background:none;border:0;color:var(--side-text);font-size:22px;line-height:1;cursor:pointer;padding:10px 12px;border-radius:8px}.nav-toggle:hover{background:var(--side-hover)}.side-content{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto}.side-content nav{flex:1;padding:4px 10px}.nav-group{margin-bottom:16px}.nav-title{padding:0 10px 4px;font-size:12px;font-weight:600;color:var(--side-text-2)}.nav-link{display:block;padding:8px 10px;border-radius:8px;color:var(--side-text);font-weight:500;transition:background .15s,color .15s}.nav-link:hover{background:var(--side-hover);color:var(--blue-dark);text-decoration:none}.nav-link.active{background:var(--side-active);color:var(--blue-dark);font-weight:600;box-shadow:inset 3px 0 0 var(--blue-primary),var(--shadow-sm)}.side-user{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 18px;border-top:1px solid var(--side-line)}.side-user-name{display:flex;flex-direction:column;min-width:0;color:var(--side-text)}.side-user-name:hover{text-decoration:none;color:var(--blue-dark)}.side-user-name strong{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-user-name span{font-size:12px;color:var(--side-text-2)}.side-user .link-btn{color:var(--side-text)}.main{padding:28px 32px 48px;max-width:1680px;width:100%;margin-inline:auto;min-width:0}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.page-head h1{font-size:24px;font-weight:800;letter-spacing:-.02em;line-height:1.2}.page-head p{color:var(--text-2);margin-top:2px}.page-actions{display:flex;flex-wrap:wrap;gap:8px}.crumb{color:var(--text-2);margin-bottom:4px;font-size:13px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 18px;border-radius:100px;border:1.5px solid var(--line-strong);background:var(--surface);color:var(--text);font:600 14px/1.3 var(--sans);cursor:pointer;white-space:nowrap;max-width:100%;transition:background .15s,border-color .15s,transform .15s}.btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--blue-primary);text-decoration:none}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);box-shadow:var(--shadow-blue)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);transform:translateY(-1px)}.btn-danger{background:var(--bad);border-color:var(--bad);color:#fff}.btn-danger:hover:not(:disabled){background:var(--bad);filter:brightness(.92)}.btn-sm{padding:4px 12px;font-size:13px}.btn-block{width:100%;padding:11px 18px}.icon-btn{background:none;border:0;color:var(--text-2);font-size:22px;line-height:1;padding:2px 8px;cursor:pointer;border-radius:8px}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.link-btn{background:none;border:0;padding:0;color:var(--link);font:inherit;font-size:13px;cursor:pointer}.link-btn:hover{text-decoration:underline}input,select,textarea{width:100%;padding:8px 12px;border:1.5px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--text);font:14px/1.4 var(--sans);transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blue-primary);box-shadow:0 0 0 3px #009cdc33}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:2px solid var(--blue-primary);outline-offset:2px;box-shadow:none}input.mono,textarea.mono{font-family:var(--mono);font-size:13px}input:disabled{background:var(--surface-2);color:var(--text-2)}input[type=checkbox],input[type=radio]{width:16px;height:16px;accent-color:var(--blue-mid);flex:none;margin:0}textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;align-items:start}.form-grid>.alert{grid-column:1 / -1;margin:0}.form-stack{display:flex;flex-direction:column;gap:14px}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.field-wide{grid-column:1 / -1}.field-label{font-weight:600;font-size:13px}.field-hint{color:var(--text-2);font-size:12px}.form-section{grid-column:1 / -1;font-size:14px;font-weight:700;color:var(--text);padding-top:8px;border-top:1px solid var(--line);margin-top:2px}.form-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:4px}.check{display:flex;align-items:center;gap:8px;font-size:14px;min-height:34px}.filter-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin:8px 0}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:8px}.seg{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1.5px solid var(--line-strong);border-radius:8px;cursor:pointer}.seg input{margin-top:2px}.seg strong{display:block;font-weight:600}.seg small{display:block;color:var(--text-2);font-size:12px}.seg-on{border-color:var(--blue-primary);background:var(--accent-soft)}.alert{padding:10px 14px;border-radius:8px;margin-bottom:14px;display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;overflow-wrap:anywhere}.alert-error{background:var(--bad-bg);color:var(--bad)}.alert-warn{background:var(--warn-bg);color:var(--warn)}.alert-warn a{color:inherit;text-decoration:underline}.alert-action{margin-left:auto}.badge{display:inline-block;padding:2px 10px;border-radius:100px;font-size:12px;font-weight:600;white-space:nowrap;background:var(--surface-2);color:var(--text-2)}.badge-good{background:var(--good-bg);color:var(--good)}.badge-bad{background:var(--bad-bg);color:var(--bad)}.badge-warn{background:var(--warn-bg);color:var(--warn)}.badge-info{background:var(--info-bg);color:var(--info)}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--line-strong);flex:none}.dot-on{background:var(--good);box-shadow:0 0 0 3px var(--good-bg)}.live{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}.stats-3{grid-template-columns:repeat(3,minmax(0,1fr))}.stat{display:flex;flex-direction:column;padding:18px 20px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-sm);color:inherit;transition:border-color .15s,transform .15s}.stat:hover{border-color:var(--blue-primary);transform:translateY(-1px);text-decoration:none}.stat-label{font-size:13px;color:var(--text-2)}.stat-value{font-size:30px;font-weight:800;line-height:1.25;letter-spacing:-.02em;color:var(--link);font-variant-numeric:tabular-nums}.stat-sub{font-size:12px;color:var(--text-2)}.stat-alert{border-color:var(--bad)}.stat-alert .stat-value{color:var(--bad)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-sm);padding:20px;margin-bottom:16px}.panel-narrow{max-width:420px}.panel-form{max-width:680px}.panel-note{margin-bottom:12px}.copy-row{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 12px;border:1.5px solid var(--line);border-radius:8px;background:var(--code-bg)}.copy-row code{flex:1;min-width:0;overflow-wrap:anywhere}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.panel-title{font-size:16px;font-weight:700;margin-bottom:10px}.panel-head .panel-title{margin:0}.panel-flush{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-sm)}.table-wrap{overflow-x:auto;position:relative}table{width:100%;border-collapse:collapse}th{text-align:left;font-weight:600;font-size:12px;color:var(--text-2);padding:11px 14px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:middle;overflow-wrap:break-word}td.wrap-any{overflow-wrap:anywhere}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:color-mix(in srgb,var(--surface-2) 55%,transparent)}.row-off td{color:var(--text-2)}.row-actions{display:flex;justify-content:flex-end;gap:6px;white-space:nowrap}td.row-actions{display:table-cell;text-align:right;overflow-wrap:normal}td.row-actions>*{margin-left:6px;vertical-align:middle}.cell-check{width:32px;padding-right:0}.cell-error{color:var(--bad);font-size:12px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.toolbar{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.toolbar .search{flex:1 1 260px;max-width:380px}.toolbar select{width:auto}.empty{padding:40px 16px;text-align:center;color:var(--text-2)}.empty strong{display:block;color:var(--text);font-weight:600;font-size:15px}.empty-body{margin-top:4px}.menu{display:inline-block}.menu summary{list-style:none}.menu summary::-webkit-details-marker{display:none}.menu-items{position:fixed;visibility:hidden;z-index:40;min-width:170px;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:4px;text-align:left}.menu-items button{display:block;width:100%;text-align:left;background:none;border:0;padding:7px 10px;border-radius:6px;color:var(--text);font:inherit;cursor:pointer}.menu-items button:hover{background:var(--surface-2)}.menu-items .danger{color:var(--bad)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,440px),1fr));gap:14px}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-sm);padding:20px;display:flex;flex-direction:column;gap:12px;min-width:0}.card-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:flex-start}.card-head h2{font-size:17px;font-weight:700}.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 16px;margin:0}.facts-wide{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.facts dt{font-size:12px;color:var(--text-2)}.facts dd{margin:0;overflow-wrap:anywhere}.server-status{border-top:1px solid var(--line);padding-top:12px;display:flex;flex-direction:column;gap:8px}.server-status .alert{margin:0}.server-facts{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13px;color:var(--text-2);align-items:center}.server-facts .dot{margin-right:4px}.server-services{display:flex;flex-wrap:wrap;gap:5px}.hostkey{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line);flex-wrap:wrap}.card .hostkey{margin-top:0}.hostkey .mono{overflow-wrap:anywhere}.modal{border:0;border-radius:16px;padding:0;width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 32px);background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.modal-wide{width:min(820px,calc(100vw - 24px))}.modal::backdrop{background:#28649659;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal[open]{display:flex;flex-direction:column}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line)}.modal-head h2{font-size:17px;font-weight:700;overflow-wrap:anywhere}.modal-body{padding:16px 18px 18px;overflow-y:auto}.modal-lead{margin-bottom:12px;color:var(--text-2)}.modal-lead strong{color:var(--text);font-weight:600}.confirm-text{margin-bottom:14px;display:flex;flex-direction:column;gap:8px}.kv{margin:0 0 14px;border:1px solid var(--line);border-radius:8px}.kv-row{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:10px;align-items:center;padding:6px 10px;border-bottom:1px solid var(--line)}.kv-row:last-child{border-bottom:0}.kv dt{color:var(--text-2);font-size:13px}.kv dd{margin:0;overflow-wrap:anywhere}.code-block{border:1px solid var(--line);border-radius:8px;margin-top:12px;overflow:hidden}.code-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;background:var(--surface-2);font-size:13px;color:var(--text-2);flex-wrap:wrap}.code-actions{display:flex;gap:6px}pre{margin:0;padding:10px 12px;background:var(--code-bg);font:12.5px/1.55 var(--mono);overflow-x:auto;white-space:pre-wrap;word-break:break-all}pre.config{max-height:60vh;overflow-y:auto;white-space:pre;word-break:normal}.diff-summary{margin-bottom:8px;font:500 13px var(--mono);display:flex;gap:12px}.diff-add{color:var(--good)}.diff-del{color:var(--bad)}.diff{border:1px solid var(--line);border-radius:8px;overflow:auto;max-height:62vh;font:12.5px/1.55 var(--mono)}.diff-row{display:grid;grid-template-columns:44px 44px 18px minmax(max-content,1fr);min-width:max-content}.diff-row code{font:inherit;white-space:pre;padding-right:12px}.diff-no{text-align:right;padding-right:8px;color:var(--text-2);-webkit-user-select:none;user-select:none}.diff-mark{-webkit-user-select:none;user-select:none;color:var(--text-2)}.diff-row.diff-add{background:var(--diff-add);color:var(--text)}.diff-row.diff-del{background:var(--diff-del);color:var(--text)}.diff-gap{padding:2px 12px;background:var(--surface-2);color:var(--text-2);font-family:var(--sans);font-size:12px}.overview{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:16px 40px;padding:26px 28px;margin-bottom:18px;background:var(--side-bg);border-radius:18px;color:var(--text)}.overview-main{min-width:0}.overview-figure{font-size:clamp(44px,5vw,64px);font-weight:800;letter-spacing:-.035em;line-height:1.05;color:var(--blue-dark);font-variant-numeric:tabular-nums}.overview-figure span{font-size:18px;font-weight:600;letter-spacing:-.01em;color:var(--side-text)}.tunnel-dots{display:flex;flex-wrap:wrap;gap:5px;margin-top:16px;max-width:560px}.tunnel-dots i{width:11px;height:11px;border-radius:50%;background:#0b3a5e29}.tunnel-dots i.on{background:var(--blue-mid)}.overview-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;margin:0;align-content:center}.overview-side dt{font-size:13px;color:var(--side-text-2)}.overview-side dt a{color:inherit;text-decoration:underline;text-decoration-color:#2a5c8266;text-underline-offset:3px}.overview-side dd{margin:0;font-size:19px;font-weight:700;letter-spacing:-.01em;color:var(--blue-dark);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.overview-side dd a{color:inherit;text-decoration:underline}.attention{margin-bottom:18px}.attention h2{font-size:15px;font-weight:700;margin-bottom:8px}.attention ul{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--line);border-radius:12px}.attention li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:2px 16px;padding:11px 16px 11px 14px;border-left:3px solid var(--warn)}.attention li:first-child{border-top-left-radius:11px}.attention li:last-child{border-bottom-left-radius:11px}.attention li+li{border-top:1px solid var(--line)}.attention li.attention-bad{border-left-color:var(--bad)}.attention li span{font-weight:500}.dash-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:0 32px}.dash-block{padding:8px 0 26px;min-width:0}.dash-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 12px;padding-bottom:10px;border-bottom:2px solid var(--text)}.dash-head h2{font-size:16px;font-weight:700;letter-spacing:-.01em}.dash-head a{font-size:13px}.dash-meters{display:flex;flex-direction:column;gap:16px;padding-top:16px}.dash-note{margin-top:14px}.dash-block .empty{padding:28px 12px}.dash-block .table-wrap th,.dash-block .table-wrap td{padding-inline:0 14px}.route-list,.tunnel-list,.server-list,.order-list{list-style:none;margin:0;padding:0}.route-list li,.tunnel-list li,.server-list li,.order-list li{border-bottom:1px solid var(--line)}.route-list{display:grid;grid-template-columns:minmax(120px,1fr) auto 26px auto auto;column-gap:12px}.route-list li{display:grid;grid-column:1 / -1;grid-template-columns:subgrid;align-items:center;padding:12px 0}.route-list-name{font-weight:600;min-width:0}.route-list-path{display:contents}.route-list-path code{font-family:var(--mono);font-size:13px;overflow-wrap:anywhere;min-width:0}.route-list-public{color:var(--link);font-weight:500}.route-list-wire{height:2px;background:var(--blue-primary);position:relative}.route-list-wire:after{content:"";position:absolute;right:0;top:-3px;border-left:6px solid var(--blue-primary);border-block:4px solid transparent}.route-list-end{display:flex;align-items:center;justify-content:flex-end;gap:10px}.tunnel-list li{display:flex;align-items:center;gap:12px;padding:11px 0}.tunnel-list-name{display:flex;flex-direction:column;flex:1;min-width:0}.tunnel-list-name small,.order-list-who small,.server-list-name small{font-size:12px;color:var(--text-2)}.tunnel-list-state{font-size:13px;color:var(--text-2);white-space:nowrap}.server-list li{padding:13px 0;display:flex;flex-direction:column;gap:7px}.server-list-name{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px}.server-list-name .dot{align-self:center}.server-list-name strong{font-weight:600;min-width:0}.capacity{display:grid;grid-template-columns:76px minmax(40px,1fr) minmax(88px,auto);align-items:center;gap:10px;font-size:13px;color:var(--text-2)}.capacity-count{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.order-list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 16px;padding:11px 0}.order-list-who{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere;flex:1 1 200px}.order-list-end{display:flex;align-items:center;gap:10px}.order-list-end strong{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.section-title{font-size:16px;font-weight:700;margin:24px 0 12px}.plans{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:14px}.plan{display:flex;flex-direction:column;gap:10px;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-sm)}.plan-current{border-color:var(--blue-primary)}.plan header{display:flex;align-items:center;justify-content:space-between;gap:8px}.plan h2{font-size:16px;font-weight:700}.plan-price{font-size:24px;font-weight:800;letter-spacing:-.02em;color:var(--link);margin:0;font-variant-numeric:tabular-nums}.plan-price span{font-size:13px;font-weight:400;letter-spacing:0;color:var(--text-2)}.plan ul{list-style:none;margin:0 0 auto;padding:0 0 8px;display:flex;flex-direction:column;gap:4px}.meters{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:16px;margin-top:14px}.meter-label{display:flex;justify-content:space-between;gap:8px;font-size:13px;margin-bottom:6px}.meter-track{height:6px;border-radius:3px;background:var(--surface-2);overflow:hidden}.meter-fill{height:100%;background:var(--blue-primary)}.meter-over{background:var(--bad)}.steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.step{display:flex;gap:12px;align-items:flex-start}.step p{margin:2px 0 0}.step-mark{flex:none;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;font-size:13px;font-weight:700;background:var(--surface-2);color:var(--link)}.step-done .step-mark{background:var(--good-bg);color:var(--good)}.check-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px}.address{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}.login-links{font-size:13px;color:var(--text-2);text-align:center;margin:0}.login{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px 16px;background:var(--hero)}.login-wrap{width:min(420px,100%);display:flex;flex-direction:column;align-items:center;gap:24px}.login-logo{width:184px;height:auto;display:block}.login-card{width:100%;background:var(--surface);padding:28px 24px;border-radius:16px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px}.login-card h1{font-size:24px;font-weight:800;letter-spacing:-.02em}.login-sub{color:var(--text-2);margin-top:-10px}.login-card .alert{margin:0}.login-foot{color:var(--side-text);font-size:12px;text-align:center}.toasts{position:fixed;right:16px;bottom:16px;z-index:1000;display:flex;flex-direction:column;gap:8px;max-width:min(440px,calc(100vw - 32px))}.toast{padding:10px 16px;border-radius:8px;background:var(--text);color:var(--surface);box-shadow:var(--shadow);overflow-wrap:anywhere}.toast-error{background:var(--bad);color:#fff}@media(max-width:1199px){.shell{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr}.sidebar{position:sticky;top:0;z-index:30;height:auto;border-right:0;border-bottom:1px solid var(--side-line)}.brand{padding:8px 12px 8px 16px}.brand-mark{gap:3px}.brand-mark img{width:96px}.brand-mark span{font-size:12px}.nav-toggle{display:block}.side-content{display:none}.sidebar-open .side-content{display:flex;max-height:calc(100dvh - 58px)}.main{padding:24px 24px 40px}}@media(min-width:1200px)and (max-width:1439px){th,td{padding-inline:10px}}@media(max-width:1100px){.table-stack{overflow:hidden}.table-stack tbody{margin-bottom:-1px}.table-stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.table-stack table,.table-stack tr,.table-stack td{display:block}.table-stack tbody{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}.table-stack tr{padding:10px 14px;border-bottom:1px solid var(--line);min-width:0}.table-stack td,.table-stack tbody tr:last-child td{display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px;padding:3px 0;border:0;overflow-wrap:anywhere}.table-stack td[data-label]:before{content:attr(data-label);color:var(--text-2);font:12px/20px var(--sans)}.table-stack td.row-actions,.table-stack tbody tr:last-child td.row-actions{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:6px;padding-top:8px;white-space:normal}.table-stack td.cell-check{display:flex;align-items:center;width:auto;padding-bottom:4px}.table-stack td>.badge{justify-self:start}.table-stack td.row-actions>*{margin-left:0}.table-stack .cell-error{white-space:normal;max-width:none}}@media(max-width:800px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.overview{grid-template-columns:minmax(0,1fr);padding:22px}.route-list{display:block}.route-list li{grid-template-columns:minmax(0,1fr) auto;gap:6px 12px}.route-list-path{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;grid-column:1 / -1;grid-row:2;min-width:0}.route-list-wire{flex:0 0 26px}.route-list-end{grid-column:2;grid-row:1}.overview-side dd{font-size:16px}}@media(max-width:600px){.main{padding:18px 16px 40px}.page-head{margin-bottom:16px}.page-head h1{font-size:22px}.form-grid,.segmented{grid-template-columns:minmax(0,1fr)}.kv-row{grid-template-columns:minmax(0,1fr) auto}.kv dt{grid-column:1 / -1}.filter-row{grid-template-columns:minmax(0,1fr)}.facts{grid-template-columns:repeat(2,minmax(0,1fr))}.page-actions{width:100%}.page-actions .btn{flex:1}.panel,.card{padding:16px}.stat{padding:14px}.stat-value{font-size:24px}.toolbar .search{max-width:none;flex-basis:100%}.toolbar select{width:100%}.form-actions .btn{flex:1 1 auto;white-space:normal}.modal,.modal-wide{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.modal-body{padding:14px}.modal-head{padding:12px 14px}}@media(max-width:360px){.check-list,.facts{grid-template-columns:minmax(0,1fr)}.login{padding:16px 8px}.login-card{padding:20px 16px}.table-stack td,.table-stack tbody tr:last-child td{grid-template-columns:80px minmax(0,1fr)}}@media(max-height:500px){.login{place-items:start center;padding-block:12px}.login-wrap{gap:12px}.login-logo{width:130px}.login-foot{display:none}}@media(pointer:coarse){input:not([type=checkbox],[type=radio]),input.mono,select,textarea,textarea.mono{font-size:16px;padding-block:10px}.btn{min-height:44px}.btn-sm{min-height:38px;padding-inline:14px}.nav-link{padding-block:11px}.check{min-height:44px}.link-btn{padding-block:8px}.menu-items button{padding-block:11px}.icon-btn{min-width:44px;min-height:44px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important}.btn-primary:hover:not(:disabled),.stat:hover{transform:none}}.landing{--bt-primary: #009cdc;--bt-navy: #003087;--bt-mid: #0060b6;--bt-ink: #0b2a45;--bt-text-2: #4a6176;--bt-sky: #dff2fc;--bt-line: #d3e6f2;--bt-gutter: clamp(16px, 4vw, 40px);background:#f4fbff;color:var(--bt-ink);font-family:var(--sans);font-size:16px;line-height:1.6;overflow-x:clip}html:has(.landing){scroll-padding-top:88px}.landing a{text-decoration:none}.landing a:focus-visible,.landing summary:focus-visible{outline:2px solid var(--bt-primary);outline-offset:3px}.landing h2{font-size:clamp(26px,3.2vw,38px);font-weight:800;letter-spacing:-.025em;line-height:1.15;text-wrap:balance}.landing h3{font-size:18px;font-weight:700;letter-spacing:-.01em;line-height:1.3}.landing code{font-family:var(--mono)}.bt-wrap{max-width:1120px;margin-inline:auto;padding-inline:var(--bt-gutter)}.bt-section{padding-block:clamp(56px,7vw,96px)}.bt-lead{color:var(--bt-text-2);margin-top:10px;max-width:60ch}.bt-btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 30px;border-radius:100px;border:2px solid transparent;font-size:15px;font-weight:600;line-height:1.3;transition:background .15s,color .15s,border-color .15s}.bt-btn-primary{background:#007bb0;color:#fff}.bt-btn-primary:hover{background:var(--bt-mid)}.bt-btn-white{background:#fff;color:var(--bt-mid)}.bt-btn-white:hover{background:var(--bt-sky)}.bt-btn-ghost{color:#fff;border-color:#ffffffa6}.bt-btn-ghost:hover{background:#ffffff24;border-color:#fff}.bt-btn-small{padding:8px 20px;font-size:14px}.bt-bar-wrap{position:sticky;top:0;z-index:30;height:0;padding-inline:var(--bt-gutter)}.bt-bar{position:relative;top:12px;max-width:1040px;margin-inline:auto;display:flex;align-items:center;gap:24px;padding:8px 10px 8px 20px;background:#fff;border-radius:100px;box-shadow:0 8px 28px #00308733}.bt-brand{display:flex;align-items:center;gap:10px}.bt-brand img{height:22px;width:auto;display:block}.bt-brand span{font-size:14px;font-weight:700;color:var(--bt-mid)}.bt-bar nav{display:flex;gap:22px;margin-left:auto;font-size:14px;font-weight:500}.bt-bar nav a{color:var(--bt-ink)}.bt-bar nav a:hover{color:var(--bt-mid)}.bt-bar-actions{display:flex;align-items:center;gap:14px;margin-left:8px}.bt-login{font-size:14px;font-weight:600;color:var(--bt-ink)}.bt-hero{padding:clamp(112px,13vw,160px) var(--bt-gutter) clamp(150px,15vw,210px);text-align:center;color:#fff;background:linear-gradient(170deg,#004a9f 0%,var(--bt-mid) 45%,#0a84c6 100%)}.bt-hero h1{font-size:clamp(34px,5.6vw,66px);font-weight:800;letter-spacing:-.03em;line-height:1.08;max-width:18ch;margin-inline:auto;text-wrap:balance}.bt-hero p{font-size:clamp(16px,1.5vw,19px);max-width:56ch;margin:20px auto 0;color:#fff}.bt-hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:30px}.bt-panel-wrap{margin-top:clamp(-170px,-12vw,-110px);position:relative;z-index:2}.bt-panel{margin:0;padding:clamp(20px,3vw,36px);background:#fff;border-radius:24px;box-shadow:0 24px 60px #00308733}.bt-panel figcaption{margin-top:14px;font-size:13px;color:var(--bt-text-2);text-align:center}.bt-route-line{display:grid;grid-template-columns:14px 1fr 72px 2fr 18px;align-items:center}.bt-route-start{width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid var(--bt-primary)}.bt-route-end{width:18px;height:18px;border-radius:4px;background:var(--bt-mid)}.bt-route-seg{position:relative;height:3px;background:var(--bt-primary);transform-origin:left}.bt-route-tunnel{height:12px;background:var(--bt-sky);border-block:2px solid var(--bt-primary)}.bt-route-hub{display:grid;place-items:center}.bt-route-packet{position:absolute;top:50%;left:0;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:var(--bt-mid);opacity:0}.bt-route-labels{display:grid;grid-template-columns:1fr 72px 2fr;margin-top:8px;font-size:13px;font-weight:600}.bt-route-labels span:nth-child(2){width:max-content;transform:translate(calc(36px - 50%))}.bt-route-labels span:nth-child(3){text-align:right}.bt-route-labels i{font-style:normal}@media(prefers-reduced-motion:no-preference){.bt-route-seg{animation:bt-draw .7s cubic-bezier(.3,0,.2,1) both}.bt-route-tunnel{animation-delay:.45s}.bt-route-packet{animation:bt-packet 1.5s 1s cubic-bezier(.45,0,.3,1) both}}@keyframes bt-draw{0%{transform:scaleX(0)}}@keyframes bt-packet{0%{left:0;opacity:0}10%,90%{opacity:1}to{left:calc(100% - 8px);opacity:0}}.bt-ports{margin-top:20px;border-top:1px solid var(--bt-line)}.bt-port{display:grid;grid-template-columns:minmax(100px,1fr) 21ch minmax(24px,1fr) 16ch 64px;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--bt-line);font-size:14px}.bt-port-name{font-weight:600}.bt-port code{font-size:14px}.bt-port-public{color:var(--bt-mid);font-weight:500}.bt-wire{display:block;height:2px;position:relative;background:var(--bt-primary)}.bt-wire:after{content:"";position:absolute;right:0;top:-3px;border-left:7px solid var(--bt-primary);border-block:4px solid transparent}.bt-port-state{display:flex;align-items:center;justify-content:flex-end;gap:6px;font-size:13px;font-weight:600;color:#0a7349}.bt-port-state i{width:8px;height:8px;border-radius:50%;background:#0a7349}.bt-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:28px;border-radius:20px;overflow:hidden;border:1px solid var(--bt-line);background:#fff}.bt-compare-col{padding:clamp(22px,3vw,36px)}.bt-compare-yes{background:var(--bt-sky)}.bt-compare ul{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}.bt-compare li{display:flex;gap:10px;color:var(--bt-text-2)}.bt-compare li span{flex:none;width:20px;font-weight:700}.bt-compare-yes li{color:var(--bt-ink)}.bt-compare-yes li span{color:var(--bt-mid)}.bt-band{padding-block:clamp(56px,7vw,96px);background:var(--bt-sky)}.bt-steps{list-style:none;counter-reset:step;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:36px 0 0;padding:0;position:relative}.bt-steps:before{content:"";position:absolute;top:19px;left:19px;right:30%;height:2px;background:var(--bt-primary)}.bt-steps li{counter-increment:step;position:relative}.bt-steps li:before{content:counter(step);display:grid;place-items:center;width:40px;height:40px;margin-bottom:14px;border-radius:50%;background:var(--bt-mid);color:#fff;font-weight:700}.bt-steps p{margin-top:4px;color:var(--bt-text-2);font-size:15px;max-width:34ch}.bt-code{margin-top:32px;background:#fff;border-radius:16px;overflow:hidden}.bt-code-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:10px 18px;font-size:13px;font-weight:600;border-bottom:1px solid var(--bt-line)}.bt-code pre{padding:16px 18px;background:none;font:14px/1.7 var(--mono);color:var(--bt-ink);white-space:pre-wrap;word-break:normal;overflow-wrap:anywhere}.bt-bento{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;margin-top:28px}.bt-tile{grid-column:span 2;display:flex;flex-direction:column;padding:26px;background:#fff;border:1px solid var(--bt-line);border-radius:20px;min-width:0}.bt-tile-wide{grid-column:span 4}.bt-tile p{margin-top:6px;font-size:15px;color:var(--bt-text-2);max-width:56ch}.bt-tile-accent{color:#fff;background:linear-gradient(160deg,var(--bt-mid),#0a84c6);border:0}.bt-tile-accent p{color:#fff}.bt-mini-ports{margin-top:auto;padding-top:18px;display:flex;flex-direction:column;gap:8px}.bt-mini-ports>div{display:grid;grid-template-columns:auto minmax(20px,1fr) 7ch 32px;align-items:center;gap:12px;padding:10px 14px;border-radius:10px;background:#f4fbff}.bt-mini-ports code{font-size:13px;color:var(--bt-mid);overflow-wrap:anywhere}.bt-mini-ports small{font-size:12px;font-weight:600;color:var(--bt-text-2);text-align:right}.bt-types{list-style:none;margin:auto 0 0;padding:18px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;font-weight:600;font-size:14px}.bt-diff{margin-top:auto;background:none;padding:16px 0 0;font:12.5px/1.8 var(--mono);white-space:pre-wrap;word-break:normal;overflow-wrap:anywhere}.bt-diff span{display:block;padding-inline:10px;border-radius:6px}.bt-diff .add{background:#dcf5e8;color:#0a7349}.bt-diff .del{background:#fbe7e5;color:#b3261e;margin-bottom:4px}.bt-mini-panel{margin-top:auto;padding-top:18px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:24px;align-items:center}.bt-mini-online strong{font-size:40px;font-weight:800;letter-spacing:-.03em;line-height:1;color:var(--bt-navy)}.bt-mini-online span{margin-left:8px;font-size:14px;font-weight:600}.bt-mini-dots{display:flex;gap:5px;margin-top:10px}.bt-mini-dots i{width:11px;height:11px;border-radius:50%;background:var(--bt-line)}.bt-mini-dots i.on{background:var(--bt-mid)}.bt-mini-bars{display:flex;flex-direction:column;gap:10px;font-size:13px}.bt-mini-bars b{display:block;height:6px;margin-top:4px;border-radius:3px;background:var(--bt-sky);overflow:hidden}.bt-mini-bars em{display:block;height:100%;background:var(--bt-primary)}.bt-prices{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:16px;margin-top:28px}.bt-price{display:flex;flex-direction:column;padding:28px;background:#fff;border-radius:20px}.bt-price-desc{min-height:24px;font-size:14px;color:var(--bt-text-2)}.bt-price-amount{margin:14px 0 16px}.bt-price-amount strong{display:block;font-size:32px;font-weight:800;letter-spacing:-.025em;line-height:1.15;color:var(--bt-mid);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.bt-price-amount span{font-size:13px;color:var(--bt-text-2)}.bt-price ul{list-style:none;flex:1;margin:0 0 22px;padding:14px 0 0;border-top:1px solid var(--bt-line);display:flex;flex-direction:column;gap:8px;font-size:15px}.bt-faq-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:clamp(20px,4vw,56px);align-items:start}.bt-faq details{border-bottom:1px solid var(--bt-line)}.bt-faq summary{position:relative;padding:16px 32px 16px 0;font-weight:600;cursor:pointer;list-style:none}.bt-faq summary::-webkit-details-marker{display:none}.bt-faq summary:after{content:"+";position:absolute;right:4px;top:12px;font-size:22px;font-weight:400;color:var(--bt-mid)}.bt-faq details[open] summary:after{content:"−"}.bt-faq details p{padding-bottom:18px;color:var(--bt-text-2);max-width:64ch}.bt-closing{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:32px;align-items:center;padding:clamp(28px,5vw,56px);border-radius:28px;color:#fff;background:linear-gradient(135deg,#004a9f,#0a84c6)}.bt-closing p{margin:8px 0 22px}.bt-contact{display:flex;flex-direction:column;gap:6px;padding:22px;border-radius:18px;background:#ffffff24}.bt-contact h3{margin-bottom:4px}.bt-contact a{color:#fff;font-size:15px;overflow-wrap:anywhere;text-decoration:underline;text-decoration-color:#ffffff80;text-underline-offset:3px}.bt-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 24px;padding-block:28px;font-size:14px;color:var(--bt-text-2)}.bt-foot a{color:var(--bt-mid)}@media(max-width:960px){.bt-bar nav{display:none}.bt-bar-actions{margin-left:auto}.bt-faq-grid,.bt-closing{grid-template-columns:minmax(0,1fr)}}@media(max-width:860px){.bt-tile,.bt-tile-wide{grid-column:1 / -1}.bt-port{grid-template-columns:minmax(0,1fr) auto;gap:2px 12px}.bt-port-name{grid-column:1}.bt-port-state{grid-column:2;grid-row:1}.bt-port .bt-wire{display:none}.bt-port code{grid-column:1 / -1;font-size:13px}.bt-port-target:before{content:"ke ";color:var(--bt-text-2);font-family:var(--sans)}}@media(max-width:680px){.bt-compare,.bt-steps{grid-template-columns:minmax(0,1fr)}.bt-steps{gap:22px}.bt-steps:before{top:19px;bottom:40px;left:19px;right:auto;width:2px;height:auto}.bt-steps li{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:14px}.bt-steps li:before{grid-row:span 2;margin:0;position:relative}.bt-steps p{max-width:none}.bt-hero-actions .bt-btn,.bt-closing .bt-btn{flex:1 1 100%}.bt-route-labels{font-size:12px}.bt-route-labels i{display:none}.bt-mini-panel{grid-template-columns:minmax(0,1fr)}}@media(max-width:420px){.bt-brand span{display:none}.bt-bar{padding-left:14px;gap:10px}.bt-types{grid-template-columns:minmax(0,1fr)}}@media(pointer:coarse){.bt-btn-small{min-height:44px;padding-inline:22px}.bt-login{padding-block:10px}.bt-contact a{padding-block:6px}}
