/* orbitron-latin-400-normal */
@font-face {
  font-family: 'Orbitron';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/orbitron-latin-400-normal-U6xZUhur.woff2) format('woff2'), url(/assets/orbitron-latin-400-normal-DBk4Dmer.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;
}
/* orbitron-latin-700-normal */
@font-face {
  font-family: 'Orbitron';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/orbitron-latin-700-normal-4jsRXGGJ.woff2) format('woff2'), url(/assets/orbitron-latin-700-normal-DmYOh-W9.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;
}
/* orbitron-latin-900-normal */
@font-face {
  font-family: 'Orbitron';
  font-style: normal;
  font-display: swap;
  font-weight: 900;
  src: url(/assets/orbitron-latin-900-normal-DrIi7unX.woff2) format('woff2'), url(/assets/orbitron-latin-900-normal-BbJatbhp.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;
}
/* jetbrains-mono-cyrillic-ext-400-normal */
@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;
}

/* jetbrains-mono-cyrillic-400-normal */
@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;
}

/* jetbrains-mono-greek-400-normal */
@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;
}

/* jetbrains-mono-vietnamese-400-normal */
@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;
}

/* jetbrains-mono-latin-ext-400-normal */
@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;
}

/* jetbrains-mono-latin-400-normal */
@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;
}
/* jetbrains-mono-cyrillic-ext-500-normal */
@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;
}

/* jetbrains-mono-cyrillic-500-normal */
@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;
}

/* jetbrains-mono-greek-500-normal */
@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;
}

/* jetbrains-mono-vietnamese-500-normal */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(data:font/woff2;base64,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) 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;
}

/* jetbrains-mono-latin-ext-500-normal */
@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;
}

/* jetbrains-mono-latin-500-normal */
@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;
}
/* source-sans-3-cyrillic-ext-400-normal */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/source-sans-3-cyrillic-ext-400-normal-BwJdxs7r.woff2) format('woff2'), url(/assets/source-sans-3-cyrillic-ext-400-normal-Cd63HKDh.woff) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* source-sans-3-cyrillic-400-normal */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/source-sans-3-cyrillic-400-normal-DjhbW-4D.woff2) format('woff2'), url(/assets/source-sans-3-cyrillic-400-normal-7kQcAFpS.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* source-sans-3-greek-ext-400-normal */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/source-sans-3-greek-ext-400-normal-CpIwTHMM.woff2) format('woff2'), url(/assets/source-sans-3-greek-ext-400-normal-BI1kUwmR.woff) format('woff');
  unicode-range: U+1F00-1FFF;
}

/* source-sans-3-greek-400-normal */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/source-sans-3-greek-400-normal-DZReXJla.woff2) format('woff2'), url(/assets/source-sans-3-greek-400-normal-DJm9Ud5h.woff) format('woff');
  unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}

/* source-sans-3-vietnamese-400-normal */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/source-sans-3-vietnamese-400-normal-CwtaIDr2.woff2) format('woff2'), url(/assets/source-sans-3-vietnamese-400-normal-dYp9C364.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;
}

/* source-sans-3-latin-ext-400-normal */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/source-sans-3-latin-ext-400-normal-UNsKFIBq.woff2) format('woff2'), url(/assets/source-sans-3-latin-ext-400-normal-BGPHfnm_.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;
}

/* source-sans-3-latin-400-normal */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/source-sans-3-latin-400-normal-DQi5PRDE.woff2) format('woff2'), url(/assets/source-sans-3-latin-400-normal-AFMiCETP.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;
}
/* source-sans-3-cyrillic-ext-600-normal */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/source-sans-3-cyrillic-ext-600-normal-6AhwUnSr.woff2) format('woff2'), url(/assets/source-sans-3-cyrillic-ext-600-normal-uAL1a5gb.woff) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* source-sans-3-cyrillic-600-normal */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/source-sans-3-cyrillic-600-normal-BnFu5nHC.woff2) format('woff2'), url(/assets/source-sans-3-cyrillic-600-normal-y-RO8wOd.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* source-sans-3-greek-ext-600-normal */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/source-sans-3-greek-ext-600-normal-DynePNDL.woff2) format('woff2'), url(/assets/source-sans-3-greek-ext-600-normal-D7vJ4nVX.woff) format('woff');
  unicode-range: U+1F00-1FFF;
}

/* source-sans-3-greek-600-normal */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/source-sans-3-greek-600-normal-BSO157bq.woff2) format('woff2'), url(/assets/source-sans-3-greek-600-normal-BNF9LBpG.woff) format('woff');
  unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}

/* source-sans-3-vietnamese-600-normal */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/source-sans-3-vietnamese-600-normal-B2sTNYey.woff2) format('woff2'), url(/assets/source-sans-3-vietnamese-600-normal-DpSexF-T.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;
}

/* source-sans-3-latin-ext-600-normal */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/source-sans-3-latin-ext-600-normal-AEyhgUpm.woff2) format('woff2'), url(/assets/source-sans-3-latin-ext-600-normal-Wy7HIzqC.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;
}

/* source-sans-3-latin-600-normal */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/source-sans-3-latin-600-normal-DeckBYAU.woff2) format('woff2'), url(/assets/source-sans-3-latin-600-normal-BvDVuF-j.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;
}

*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

/* ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com *//*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: Source Sans 3, sans-serif; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: JetBrains Mono, monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
  /* Fullscreen PWA support */
  html, body {
    overscroll-behavior: none;
    -webkit-overflow-scrolling: touch;
    position: fixed;
    width: 100%;
    height: 100%;
    overflow: hidden;
    /* Sides only by default. Top stays 0 so HudAtmosphere can paint
       behind a translucent status bar. Bottom env() is kept for Chrome
       / PWA; the native shell zeros it and uses --hud-safe-* instead
       so body + #root + dock/sheet do not stack the same inset. */
    padding: 0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
  }

  #root {
    width: 100%;
    height: 100%;
    overflow: auto;
  }

  /* System nav only. The home dock pads itself; a leftover 4rem tab
     inset made Log a session and Readiness scroll for no reason. */
  @media (max-width: 639px) {
    #root {
      padding-bottom: max(env(safe-area-inset-bottom, 0px), var(--android-safe-bottom, 0px));
    }
  }

  /* Demo dock is in the page flow (not a fixed overlay), so #root scrolls as one. */

  :root {
    /* SkyBrain OLED Dark — true-black field. Surfaces stay at 2–4% so
     * cards read as ink, not mid-grey slabs on grey. 1px borders do the
     * lift; never raise fills into the #1a–#2a wash. */
    --background: 0 0% 0%;
    --foreground: 210 40% 96%;

    --card: 222 18% 2.5%;
    --card-foreground: 210 40% 96%;

    --popover: 222 16% 2%;
    --popover-foreground: 210 40% 96%;

    /* Primary - Electric Cyan (Brain/Neural) */
    --primary: 186 100% 50%;
    --primary-foreground: 0 0% 0%;

    /* Secondary - near-black panel */
    --secondary: 222 14% 4%;
    --secondary-foreground: 210 40% 96%;

    --muted: 222 10% 5%;
    --muted-foreground: 215 16% 68%;

    /* Accent - Amber */
    --accent: 38 100% 50%;
    --accent-foreground: 0 0% 0%;

    --destructive: 0 84% 60%;
    --destructive-foreground: 210 40% 98%;

    --border: 222 10% 10%;
    --input: 222 12% 3.5%;
    --ring: 186 100% 50%;

    --radius: 0.75rem;

    /* Custom SkyBrain tokens */
    --skybrain-cyan: 186 100% 50%;
    --skybrain-cyan-glow: 186 100% 60%;
    --skybrain-amber: 38 100% 50%;
    --skybrain-green: 142 76% 45%;
    --skybrain-red: 0 84% 60%;
    --skybrain-purple: 270 70% 60%;
    /* Home tile accents — sampled from the six-card mock */
    --skybrain-blue: 217 100% 63%;
    --skybrain-emerald: 145 100% 45%;
    --skybrain-sky: 199 100% 50%;
    --skybrain-teal: 187 100% 38%;

    /* Gradients */
    --gradient-neural: linear-gradient(135deg, hsl(186 100% 50%), hsl(270 70% 60%));
    --gradient-performance: linear-gradient(135deg, hsl(142 76% 45%), hsl(186 100% 50%));
    --gradient-warning: linear-gradient(135deg, hsl(38 100% 50%), hsl(0 84% 60%));
    --gradient-card: linear-gradient(180deg, hsl(222 14% 3.5%) 0%, hsl(0 0% 1.5%) 100%);
    
    /* Shadows & Glows */
    --shadow-glow-cyan: 0 0 16px hsl(186 100% 50% / 0.14);
    --shadow-glow-cyan-strong: 0 0 18px hsl(186 100% 55% / 0.18);
    --shadow-glow-frame: 0 0 0 1px hsl(var(--border));
    --shadow-glow-cta: none;
    --shadow-glow-amber: 0 0 30px hsl(38 100% 50% / 0.3);
    --shadow-glow-green: 0 0 30px hsl(142 76% 45% / 0.3);
    --shadow-card: 0 4px 24px -4px hsl(0 0% 0% / 0.6);

    /* Typography — Orbitron for numbers and short titles, Source Sans for sentences. */
    --font-display: 'Orbitron', sans-serif;
    --font-body: 'Source Sans 3', sans-serif;
    --font-mono: 'JetBrains Mono', monospace;

    /* 8px rhythm used by gym screens */
    --space-title-sub: 0.5rem;
    --space-section: 1.5rem;
    --space-card: 0.75rem;
    --space-card-pad: 1rem;

    /* Phone home scale — overridden by html[data-mobile-chrome] */
    --home-hero: 1.875rem;
    --home-card-min-h: 15.5rem;
    --home-card-title: 1.125rem;
    --home-card-body: 0.75rem;

    /* HUD chrome — phone first; tablet/desktop bump below */
    --hud-bar-h: 3.5rem;
    --hud-icon: 2.25rem;
    --hud-icon-svg: 1rem;
    /* Centered between two 2.25rem icons; the vw cap keeps it clear of them on 320px phones. */
    --hud-mark: clamp(1.25rem, 7vw, 1.625rem);
    --hud-mark-sub: 0.5rem;
    --hud-side: 4.75rem;
    --hud-dock-w: min(26rem, calc(100vw - 2.5rem));

    --sidebar-background: 0 0% 0%;
    --sidebar-foreground: 210 40% 96%;
    --sidebar-primary: 186 100% 50%;
    --sidebar-primary-foreground: 0 0% 0%;
    --sidebar-accent: 222 14% 3.5%;
    --sidebar-accent-foreground: 210 40% 96%;
    --sidebar-border: 222 10% 10%;
    --sidebar-ring: 186 100% 50%;

    /* HUD glass — near-black pills on OLED */
    --hud-surface: 222 14% 3.5%;
    --hud-panel: 222 14% 2%;
    --hud-surface-glass: hsl(222 14% 3.5% / 0.94);
    --hud-shadow: 0 10px 28px hsl(0 0% 0% / 0.45);
    --hud-glow: none;
    --hud-atmosphere-cyan: 0.1;
    --hud-atmosphere-violet: 0.08;
    --hud-icon-glow: 0.16;

    color-scheme: dark;
  }

  html[data-theme="light"] {
    /* Health-app grouped canvas — cool gray page, near-white cards.
       97% + 100% read as one blown-out white; this is Apple Health / Fitness. */
    --background: 220 8% 91%;
    --foreground: 222 20% 16%;

    --card: 0 0% 99%;
    --card-foreground: 222 20% 16%;

    --popover: 0 0% 99%;
    --popover-foreground: 222 20% 16%;

    --primary: 186 100% 32%;
    --primary-foreground: 0 0% 100%;

    --secondary: 220 8% 86%;
    --secondary-foreground: 222 20% 16%;

    --muted: 220 6% 84%;
    --muted-foreground: 220 8% 36%;

    --accent: 38 80% 42%;
    --accent-foreground: 0 0% 100%;

    --destructive: 0 72% 46%;
    --destructive-foreground: 0 0% 100%;

    --border: 220 8% 80%;
    --input: 220 8% 86%;
    --ring: 186 100% 32%;

    --gradient-card: linear-gradient(180deg, hsl(0 0% 99%) 0%, hsl(220 8% 96%) 100%);

    --shadow-glow-cyan: 0 8px 24px hsl(186 70% 36% / 0.1);
    --shadow-glow-cyan-strong: 0 8px 28px hsl(186 70% 36% / 0.14);
    --shadow-glow-frame: 0 8px 24px hsl(220 10% 30% / 0.08);
    --shadow-glow-cta: 0 6px 18px hsl(186 80% 36% / 0.2);
    --shadow-glow-amber: 0 6px 16px hsl(38 80% 42% / 0.14);
    --shadow-glow-green: 0 6px 16px hsl(142 50% 32% / 0.12);
    --shadow-card: 0 6px 24px -6px hsl(220 12% 30% / 0.14);

    --sidebar-background: 220 8% 91%;
    --sidebar-foreground: 222 20% 16%;
    --sidebar-primary: 186 100% 32%;
    --sidebar-primary-foreground: 0 0% 100%;
    --sidebar-accent: 220 8% 86%;
    --sidebar-accent-foreground: 222 20% 16%;
    --sidebar-border: 220 8% 80%;
    --sidebar-ring: 186 100% 32%;

    --hud-surface: 220 10% 96%;
    --hud-panel: 0 0% 99%;
    --hud-surface-glass: hsl(220 10% 97% / 0.94);
    --hud-shadow: 0 8px 24px hsl(220 12% 30% / 0.1);
    --hud-glow: none;
    --hud-atmosphere-cyan: 0.035;
    --hud-atmosphere-violet: 0.022;
    --hud-icon-glow: 0.14;

    color-scheme: light;
  }
  * {
  border-color: hsl(var(--border));
}

  body {
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
}

  @media print {

  body { background: #000; }
}

  body {
    font-family: var(--font-body);
    letter-spacing: 0;
  }

  h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-display);
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }
.container {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 2rem;
  padding-left: 2rem;
}
@media (min-width: 1400px) {
  .container {
    max-width: 1400px;
  }
}
  /* Every primary and secondary action: one height, one radius, one cyan. */
  .cta-primary,
  .cta-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: var(--cta-h, 2.75rem);
    padding: 0 1rem;
    border: 1px solid transparent;
    border-radius: 9999px;
    font-family: var(--font-display);
    font-size: 11px;
    line-height: 1;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    transition: background-color 160ms ease, border-color 160ms ease, opacity 160ms ease;
  }
  .cta-primary {
    background: hsl(var(--primary));
    color: hsl(var(--primary-foreground));
  }
  .cta-primary:hover:not(:disabled) {
    background: hsl(var(--primary) / 0.9);
  }
  .cta-secondary {
    background: transparent;
    border-color: hsl(var(--border));
    color: hsl(var(--foreground));
  }
  .cta-secondary:hover:not(:disabled) {
    border-color: hsl(var(--primary) / 0.5);
  }
  .cta-primary:disabled,
  .cta-secondary:disabled {
    opacity: 0.4;
    cursor: not-allowed;
  }
  .cta-primary svg,
  .cta-secondary svg {
    height: 0.875rem;
    width: 0.875rem;
    flex-shrink: 0;
  }
  html[data-native-shell] {
    --cta-h: 2.5rem;
  }
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.pointer-events-none {
  pointer-events: none;
}
.pointer-events-auto {
  pointer-events: auto;
}
.\!visible {
  visibility: visible !important;
}
.visible {
  visibility: visible;
}
.invisible {
  visibility: hidden;
}
.collapse {
  visibility: collapse;
}
.static {
  position: static;
}
.fixed {
  position: fixed;
}
.absolute {
  position: absolute;
}
.\!relative {
  position: relative !important;
}
.relative {
  position: relative;
}
.sticky {
  position: sticky;
}
.inset-0 {
  inset: 0px;
}
.inset-16 {
  inset: 4rem;
}
.inset-24 {
  inset: 6rem;
}
.inset-8 {
  inset: 2rem;
}
.inset-x-0 {
  left: 0px;
  right: 0px;
}
.inset-x-1 {
  left: 0.25rem;
  right: 0.25rem;
}
.inset-y-0 {
  top: 0px;
  bottom: 0px;
}
.-bottom-1 {
  bottom: -0.25rem;
}
.-bottom-12 {
  bottom: -3rem;
}
.-bottom-4 {
  bottom: -1rem;
}
.-left-10 {
  left: -2.5rem;
}
.-left-12 {
  left: -3rem;
}
.-left-8 {
  left: -2rem;
}
.-right-10 {
  right: -2.5rem;
}
.-right-12 {
  right: -3rem;
}
.-right-2 {
  right: -0.5rem;
}
.-right-px {
  right: -1px;
}
.-top-1\.5 {
  top: -0.375rem;
}
.-top-12 {
  top: -3rem;
}
.-top-2 {
  top: -0.5rem;
}
.-top-3 {
  top: -0.75rem;
}
.-top-4 {
  top: -1rem;
}
.bottom-0 {
  bottom: 0px;
}
.bottom-10 {
  bottom: 2.5rem;
}
.bottom-16 {
  bottom: 4rem;
}
.bottom-2 {
  bottom: 0.5rem;
}
.bottom-28 {
  bottom: 7rem;
}
.bottom-4 {
  bottom: 1rem;
}
.bottom-\[12\%\] {
  bottom: 12%;
}
.bottom-\[18\%\] {
  bottom: 18%;
}
.bottom-\[22\%\] {
  bottom: 22%;
}
.bottom-\[var\(--hud-safe-bottom\2c calc\(0\.5rem\+env\(safe-area-inset-bottom\)\)\)\] {
  bottom: var(--hud-safe-bottom,calc(0.5rem + env(safe-area-inset-bottom)));
}
.left-0 {
  left: 0px;
}
.left-1 {
  left: 0.25rem;
}
.left-1\/2 {
  left: 50%;
}
.left-2 {
  left: 0.5rem;
}
.left-3 {
  left: 0.75rem;
}
.left-4 {
  left: 1rem;
}
.left-\[10\%\] {
  left: 10%;
}
.left-\[18\%\] {
  left: 18%;
}
.left-\[2\%\] {
  left: 2%;
}
.left-\[28\%\] {
  left: 28%;
}
.left-\[32\%\] {
  left: 32%;
}
.left-\[50\%\] {
  left: 50%;
}
.right-0 {
  right: 0px;
}
.right-1 {
  right: 0.25rem;
}
.right-1\.5 {
  right: 0.375rem;
}
.right-2 {
  right: 0.5rem;
}
.right-3 {
  right: 0.75rem;
}
.right-4 {
  right: 1rem;
}
.right-\[12\%\] {
  right: 12%;
}
.right-\[18\%\] {
  right: 18%;
}
.right-\[2\%\] {
  right: 2%;
}
.right-\[28\%\] {
  right: 28%;
}
.top-0 {
  top: 0px;
}
.top-1 {
  top: 0.25rem;
}
.top-1\.5 {
  top: 0.375rem;
}
.top-1\/2 {
  top: 50%;
}
.top-2 {
  top: 0.5rem;
}
.top-3 {
  top: 0.75rem;
}
.top-3\.5 {
  top: 0.875rem;
}
.top-4 {
  top: 1rem;
}
.top-5 {
  top: 1.25rem;
}
.top-6 {
  top: 1.5rem;
}
.top-\[1\.1\%\] {
  top: 1.1%;
}
.top-\[12\%\] {
  top: 12%;
}
.top-\[18\%\] {
  top: 18%;
}
.top-\[1px\] {
  top: 1px;
}
.top-\[22\%\] {
  top: 22%;
}
.top-\[25\.5\%\] {
  top: 25.5%;
}
.top-\[34\.5\%\] {
  top: 34.5%;
}
.top-\[50\%\] {
  top: 50%;
}
.top-\[60\%\] {
  top: 60%;
}
.top-full {
  top: 100%;
}
.isolate {
  isolation: isolate;
}
.-z-10 {
  z-index: -10;
}
.z-10 {
  z-index: 10;
}
.z-20 {
  z-index: 20;
}
.z-30 {
  z-index: 30;
}
.z-40 {
  z-index: 40;
}
.z-50 {
  z-index: 50;
}
.z-\[100\] {
  z-index: 100;
}
.z-\[1\] {
  z-index: 1;
}
.z-\[2\] {
  z-index: 2;
}
.z-\[3\] {
  z-index: 3;
}
.z-\[55\] {
  z-index: 55;
}
.z-\[60\] {
  z-index: 60;
}
.z-\[80\] {
  z-index: 80;
}
.order-last {
  order: 9999;
}
.col-span-full {
  grid-column: 1 / -1;
}
.-m-1 {
  margin: -0.25rem;
}
.-mx-1 {
  margin-left: -0.25rem;
  margin-right: -0.25rem;
}
.-mx-4 {
  margin-left: -1rem;
  margin-right: -1rem;
}
.mx-2 {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}
.mx-3\.5 {
  margin-left: 0.875rem;
  margin-right: 0.875rem;
}
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.my-0\.5 {
  margin-top: 0.125rem;
  margin-bottom: 0.125rem;
}
.my-1 {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}
.my-3 {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}
.my-4 {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.-ml-0 {
  margin-left: -0px;
}
.-ml-2 {
  margin-left: -0.5rem;
}
.-ml-3 {
  margin-left: -0.75rem;
}
.-ml-4 {
  margin-left: -1rem;
}
.-mt-4 {
  margin-top: -1rem;
}
.mb-0 {
  margin-bottom: 0px;
}
.mb-0\.5 {
  margin-bottom: 0.125rem;
}
.mb-1 {
  margin-bottom: 0.25rem;
}
.mb-1\.5 {
  margin-bottom: 0.375rem;
}
.mb-10 {
  margin-bottom: 2.5rem;
}
.mb-12 {
  margin-bottom: 3rem;
}
.mb-14 {
  margin-bottom: 3.5rem;
}
.mb-16 {
  margin-bottom: 4rem;
}
.mb-2 {
  margin-bottom: 0.5rem;
}
.mb-2\.5 {
  margin-bottom: 0.625rem;
}
.mb-3 {
  margin-bottom: 0.75rem;
}
.mb-4 {
  margin-bottom: 1rem;
}
.mb-5 {
  margin-bottom: 1.25rem;
}
.mb-6 {
  margin-bottom: 1.5rem;
}
.mb-8 {
  margin-bottom: 2rem;
}
.mb-\[0\.85rem\] {
  margin-bottom: 0.85rem;
}
.mb-\[1\.15rem\] {
  margin-bottom: 1.15rem;
}
.mb-\[var\(--hud-safe-bottom\2c calc\(0\.75rem\+env\(safe-area-inset-bottom\)\)\)\] {
  margin-bottom: var(--hud-safe-bottom,calc(0.75rem + env(safe-area-inset-bottom)));
}
.ml-0\.5 {
  margin-left: 0.125rem;
}
.ml-1 {
  margin-left: 0.25rem;
}
.ml-1\.5 {
  margin-left: 0.375rem;
}
.ml-2 {
  margin-left: 0.5rem;
}
.ml-3 {
  margin-left: 0.75rem;
}
.ml-auto {
  margin-left: auto;
}
.mr-1 {
  margin-right: 0.25rem;
}
.mr-1\.5 {
  margin-right: 0.375rem;
}
.mr-2 {
  margin-right: 0.5rem;
}
.mr-4 {
  margin-right: 1rem;
}
.mt-0 {
  margin-top: 0px;
}
.mt-0\.5 {
  margin-top: 0.125rem;
}
.mt-1 {
  margin-top: 0.25rem;
}
.mt-1\.5 {
  margin-top: 0.375rem;
}
.mt-10 {
  margin-top: 2.5rem;
}
.mt-12 {
  margin-top: 3rem;
}
.mt-2 {
  margin-top: 0.5rem;
}
.mt-2\.5 {
  margin-top: 0.625rem;
}
.mt-24 {
  margin-top: 6rem;
}
.mt-3 {
  margin-top: 0.75rem;
}
.mt-4 {
  margin-top: 1rem;
}
.mt-5 {
  margin-top: 1.25rem;
}
.mt-6 {
  margin-top: 1.5rem;
}
.mt-7 {
  margin-top: 1.75rem;
}
.mt-8 {
  margin-top: 2rem;
}
.mt-auto {
  margin-top: auto;
}
.mt-px {
  margin-top: 1px;
}
.line-clamp-1 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.line-clamp-2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.line-clamp-3 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.\!block {
  display: block !important;
}
.block {
  display: block;
}
.inline-block {
  display: inline-block;
}
.inline {
  display: inline;
}
.flex {
  display: flex;
}
.inline-flex {
  display: inline-flex;
}
.table {
  display: table;
}
.grid {
  display: grid;
}
.contents {
  display: contents;
}
.hidden {
  display: none;
}
.aspect-\[3\/4\] {
  aspect-ratio: 3/4;
}
.aspect-\[709\/1463\] {
  aspect-ratio: 709/1463;
}
.aspect-square {
  aspect-ratio: 1 / 1;
}
.aspect-video {
  aspect-ratio: 16 / 9;
}
.size-10 {
  width: 2.5rem;
  height: 2.5rem;
}
.size-3\.5 {
  width: 0.875rem;
  height: 0.875rem;
}
.size-4 {
  width: 1rem;
  height: 1rem;
}
.size-5 {
  width: 1.25rem;
  height: 1.25rem;
}
.size-6 {
  width: 1.5rem;
  height: 1.5rem;
}
.size-\[var\(--hud-icon-svg\)\] {
  width: var(--hud-icon-svg);
  height: var(--hud-icon-svg);
}
.h-0\.5 {
  height: 0.125rem;
}
.h-1 {
  height: 0.25rem;
}
.h-1\.5 {
  height: 0.375rem;
}
.h-1\/3 {
  height: 33.333333%;
}
.h-10 {
  height: 2.5rem;
}
.h-11 {
  height: 2.75rem;
}
.h-12 {
  height: 3rem;
}
.h-14 {
  height: 3.5rem;
}
.h-16 {
  height: 4rem;
}
.h-2 {
  height: 0.5rem;
}
.h-2\.5 {
  height: 0.625rem;
}
.h-20 {
  height: 5rem;
}
.h-24 {
  height: 6rem;
}
.h-28 {
  height: 7rem;
}
.h-3 {
  height: 0.75rem;
}
.h-3\.5 {
  height: 0.875rem;
}
.h-4 {
  height: 1rem;
}
.h-40 {
  height: 10rem;
}
.h-48 {
  height: 12rem;
}
.h-5 {
  height: 1.25rem;
}
.h-56 {
  height: 14rem;
}
.h-6 {
  height: 1.5rem;
}
.h-64 {
  height: 16rem;
}
.h-7 {
  height: 1.75rem;
}
.h-72 {
  height: 18rem;
}
.h-8 {
  height: 2rem;
}
.h-9 {
  height: 2.25rem;
}
.h-\[1\.35\%\] {
  height: 1.35%;
}
.h-\[1\.3em\] {
  height: 1.3em;
}
.h-\[100dvh\] {
  height: 100dvh;
}
.h-\[100px\] {
  height: 100px;
}
.h-\[100svh\] {
  height: 100svh;
}
.h-\[120px\] {
  height: 120px;
}
.h-\[13\.5rem\] {
  height: 13.5rem;
}
.h-\[132px\] {
  height: 132px;
}
.h-\[1em\] {
  height: 1em;
}
.h-\[1px\] {
  height: 1px;
}
.h-\[200px\] {
  height: 200px;
}
.h-\[220px\] {
  height: 220px;
}
.h-\[240px\] {
  height: 240px;
}
.h-\[280px\] {
  height: 280px;
}
.h-\[28vh\] {
  height: 28vh;
}
.h-\[3\.35rem\] {
  height: 3.35rem;
}
.h-\[3\.75rem\] {
  height: 3.75rem;
}
.h-\[340px\] {
  height: 340px;
}
.h-\[4\.5rem\] {
  height: 4.5rem;
}
.h-\[4\.75rem\] {
  height: 4.75rem;
}
.h-\[5\.6rem\] {
  height: 5.6rem;
}
.h-\[6\%\] {
  height: 6%;
}
.h-\[72px\] {
  height: 72px;
}
.h-\[8\%\] {
  height: 8%;
}
.h-\[88px\] {
  height: 88px;
}
.h-\[var\(--radix-navigation-menu-viewport-height\)\] {
  height: var(--radix-navigation-menu-viewport-height);
}
.h-\[var\(--radix-select-trigger-height\)\] {
  height: var(--radix-select-trigger-height);
}
.h-auto {
  height: auto;
}
.h-full {
  height: 100%;
}
.h-px {
  height: 1px;
}
.h-svh {
  height: 100svh;
}
.max-h-48 {
  max-height: 12rem;
}
.max-h-96 {
  max-height: 24rem;
}
.max-h-\[100svh\] {
  max-height: 100svh;
}
.max-h-\[200px\] {
  max-height: 200px;
}
.max-h-\[22rem\] {
  max-height: 22rem;
}
.max-h-\[240px\] {
  max-height: 240px;
}
.max-h-\[280px\] {
  max-height: 280px;
}
.max-h-\[300px\] {
  max-height: 300px;
}
.max-h-\[36vh\] {
  max-height: 36vh;
}
.max-h-\[90vh\] {
  max-height: 90vh;
}
.max-h-\[calc\(100vh-280px\)\] {
  max-height: calc(100vh - 280px);
}
.max-h-\[calc\(100vh-400px\)\] {
  max-height: calc(100vh - 400px);
}
.max-h-\[min\(70vh\2c 40rem\)\] {
  max-height: min(70vh, 40rem);
}
.max-h-full {
  max-height: 100%;
}
.max-h-screen {
  max-height: 100vh;
}
.min-h-0 {
  min-height: 0px;
}
.min-h-11 {
  min-height: 2.75rem;
}
.min-h-\[1\.1rem\] {
  min-height: 1.1rem;
}
.min-h-\[1\.25rem\] {
  min-height: 1.25rem;
}
.min-h-\[1\.85rem\] {
  min-height: 1.85rem;
}
.min-h-\[12rem\] {
  min-height: 12rem;
}
.min-h-\[2\.25rem\] {
  min-height: 2.25rem;
}
.min-h-\[2\.4em\] {
  min-height: 2.4em;
}
.min-h-\[2\.6em\] {
  min-height: 2.6em;
}
.min-h-\[220px\] {
  min-height: 220px;
}
.min-h-\[28rem\] {
  min-height: 28rem;
}
.min-h-\[2rem\] {
  min-height: 2rem;
}
.min-h-\[3\.25rem\] {
  min-height: 3.25rem;
}
.min-h-\[3\.5rem\] {
  min-height: 3.5rem;
}
.min-h-\[3\.75rem\] {
  min-height: 3.75rem;
}
.min-h-\[36px\] {
  min-height: 36px;
}
.min-h-\[36rem\] {
  min-height: 36rem;
}
.min-h-\[4\.25rem\] {
  min-height: 4.25rem;
}
.min-h-\[4\.5rem\] {
  min-height: 4.5rem;
}
.min-h-\[40px\] {
  min-height: 40px;
}
.min-h-\[44px\] {
  min-height: 44px;
}
.min-h-\[48px\] {
  min-height: 48px;
}
.min-h-\[4rem\] {
  min-height: 4rem;
}
.min-h-\[52px\] {
  min-height: 52px;
}
.min-h-\[7\.25rem\] {
  min-height: 7.25rem;
}
.min-h-\[7\.5rem\] {
  min-height: 7.5rem;
}
.min-h-\[72px\] {
  min-height: 72px;
}
.min-h-\[7rem\] {
  min-height: 7rem;
}
.min-h-\[8\.5rem\] {
  min-height: 8.5rem;
}
.min-h-\[80px\] {
  min-height: 80px;
}
.min-h-\[96px\] {
  min-height: 96px;
}
.min-h-\[var\(--home-card-min-h\2c 17rem\)\] {
  min-height: var(--home-card-min-h,17rem);
}
.min-h-dvh {
  min-height: 100dvh;
}
.min-h-full {
  min-height: 100%;
}
.min-h-screen {
  min-height: 100vh;
}
.min-h-svh {
  min-height: 100svh;
}
.w-0 {
  width: 0px;
}
.w-1 {
  width: 0.25rem;
}
.w-1\.5 {
  width: 0.375rem;
}
.w-1\/2 {
  width: 50%;
}
.w-10 {
  width: 2.5rem;
}
.w-11 {
  width: 2.75rem;
}
.w-12 {
  width: 3rem;
}
.w-14 {
  width: 3.5rem;
}
.w-16 {
  width: 4rem;
}
.w-2 {
  width: 0.5rem;
}
.w-2\.5 {
  width: 0.625rem;
}
.w-20 {
  width: 5rem;
}
.w-24 {
  width: 6rem;
}
.w-3 {
  width: 0.75rem;
}
.w-3\.5 {
  width: 0.875rem;
}
.w-3\/4 {
  width: 75%;
}
.w-32 {
  width: 8rem;
}
.w-4 {
  width: 1rem;
}
.w-40 {
  width: 10rem;
}
.w-48 {
  width: 12rem;
}
.w-5 {
  width: 1.25rem;
}
.w-6 {
  width: 1.5rem;
}
.w-64 {
  width: 16rem;
}
.w-7 {
  width: 1.75rem;
}
.w-72 {
  width: 18rem;
}
.w-8 {
  width: 2rem;
}
.w-9 {
  width: 2.25rem;
}
.w-\[--sidebar-width\] {
  width: var(--sidebar-width);
}
.w-\[100px\] {
  width: 100px;
}
.w-\[120px\] {
  width: 120px;
}
.w-\[1em\] {
  width: 1em;
}
.w-\[1px\] {
  width: 1px;
}
.w-\[3\.2\%\] {
  width: 3.2%;
}
.w-\[3\.35rem\] {
  width: 3.35rem;
}
.w-\[3px\] {
  width: 3px;
}
.w-\[4\.25rem\] {
  width: 4.25rem;
}
.w-\[4\.75rem\] {
  width: 4.75rem;
}
.w-\[5\.5rem\] {
  width: 5.5rem;
}
.w-\[5\.6rem\] {
  width: 5.6rem;
}
.w-\[6\.5rem\] {
  width: 6.5rem;
}
.w-\[72px\] {
  width: 72px;
}
.w-\[78\%\] {
  width: 78%;
}
.w-\[88px\] {
  width: 88px;
}
.w-\[calc\(100vw-2rem\)\] {
  width: calc(100vw - 2rem);
}
.w-\[min\(20\.5rem\2c calc\(100vw-2rem\)\)\] {
  width: min(20.5rem, calc(100vw - 2rem));
}
.w-\[min\(74\%\2c 16\.75rem\)\] {
  width: min(74%, 16.75rem);
}
.w-auto {
  width: auto;
}
.w-fit {
  width: -moz-fit-content;
  width: fit-content;
}
.w-full {
  width: 100%;
}
.w-max {
  width: -moz-max-content;
  width: max-content;
}
.w-px {
  width: 1px;
}
.min-w-0 {
  min-width: 0px;
}
.min-w-48 {
  min-width: 12rem;
}
.min-w-5 {
  min-width: 1.25rem;
}
.min-w-\[100px\] {
  min-width: 100px;
}
.min-w-\[104px\] {
  min-width: 104px;
}
.min-w-\[10rem\] {
  min-width: 10rem;
}
.min-w-\[120px\] {
  min-width: 120px;
}
.min-w-\[12rem\] {
  min-width: 12rem;
}
.min-w-\[130px\] {
  min-width: 130px;
}
.min-w-\[180px\] {
  min-width: 180px;
}
.min-w-\[2\.75rem\] {
  min-width: 2.75rem;
}
.min-w-\[260px\] {
  min-width: 260px;
}
.min-w-\[2rem\] {
  min-width: 2rem;
}
.min-w-\[5\.5rem\] {
  min-width: 5.5rem;
}
.min-w-\[520px\] {
  min-width: 520px;
}
.min-w-\[560px\] {
  min-width: 560px;
}
.min-w-\[60px\] {
  min-width: 60px;
}
.min-w-\[8rem\] {
  min-width: 8rem;
}
.min-w-\[var\(--radix-select-trigger-width\)\] {
  min-width: var(--radix-select-trigger-width);
}
.max-w-2xl {
  max-width: 42rem;
}
.max-w-3xl {
  max-width: 48rem;
}
.max-w-4xl {
  max-width: 56rem;
}
.max-w-5xl {
  max-width: 64rem;
}
.max-w-6xl {
  max-width: 72rem;
}
.max-w-7xl {
  max-width: 80rem;
}
.max-w-\[--skeleton-width\] {
  max-width: var(--skeleton-width);
}
.max-w-\[10rem\] {
  max-width: 10rem;
}
.max-w-\[12\.5rem\] {
  max-width: 12.5rem;
}
.max-w-\[12rem\] {
  max-width: 12rem;
}
.max-w-\[1400px\] {
  max-width: 1400px;
}
.max-w-\[14rem\] {
  max-width: 14rem;
}
.max-w-\[16rem\] {
  max-width: 16rem;
}
.max-w-\[1800px\] {
  max-width: 1800px;
}
.max-w-\[18rem\] {
  max-width: 18rem;
}
.max-w-\[20\.5rem\] {
  max-width: 20.5rem;
}
.max-w-\[4\.5rem\] {
  max-width: 4.5rem;
}
.max-w-\[8rem\] {
  max-width: 8rem;
}
.max-w-\[9\.5rem\] {
  max-width: 9.5rem;
}
.max-w-full {
  max-width: 100%;
}
.max-w-lg {
  max-width: 32rem;
}
.max-w-max {
  max-width: -moz-max-content;
  max-width: max-content;
}
.max-w-md {
  max-width: 28rem;
}
.max-w-none {
  max-width: none;
}
.max-w-sm {
  max-width: 24rem;
}
.max-w-xl {
  max-width: 36rem;
}
.max-w-xs {
  max-width: 20rem;
}
.flex-1 {
  flex: 1 1 0%;
}
.flex-\[1\.6\] {
  flex: 1.6;
}
.flex-shrink-0 {
  flex-shrink: 0;
}
.shrink {
  flex-shrink: 1;
}
.shrink-0 {
  flex-shrink: 0;
}
.grow {
  flex-grow: 1;
}
.grow-0 {
  flex-grow: 0;
}
.basis-\[46\%\] {
  flex-basis: 46%;
}
.basis-\[47\%\] {
  flex-basis: 47%;
}
.basis-\[56\%\] {
  flex-basis: 56%;
}
.basis-\[78\%\] {
  flex-basis: 78%;
}
.basis-\[82\%\] {
  flex-basis: 82%;
}
.basis-full {
  flex-basis: 100%;
}
.caption-bottom {
  caption-side: bottom;
}
.border-collapse {
  border-collapse: collapse;
}
.-translate-x-1\/2 {
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-x-px {
  --tw-translate-x: -1px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-1\/2 {
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-\[40\%\] {
  --tw-translate-y: -40%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-\[-50\%\] {
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-px {
  --tw-translate-x: 1px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-\[-50\%\] {
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-rotate-90 {
  --tw-rotate: -90deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-rotate-\[135deg\] {
  --tw-rotate: -135deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-rotate-\[210deg\] {
  --tw-rotate: -210deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-180 {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-45 {
  --tw-rotate: 45deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-90 {
  --tw-rotate: 90deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-100 {
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-105 {
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-95 {
  --tw-scale-x: .95;
  --tw-scale-y: .95;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-\[0\.97\] {
  --tw-scale-x: 0.97;
  --tw-scale-y: 0.97;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-\[0\.98\] {
  --tw-scale-x: 0.98;
  --tw-scale-y: 0.98;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@keyframes pulse {
  50% {
    opacity: .5;
  }
}
.animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
.animate-spin {
  animation: spin 1s linear infinite;
}
.cursor-default {
  cursor: default;
}
.cursor-not-allowed {
  cursor: not-allowed;
}
.cursor-pointer {
  cursor: pointer;
}
.touch-none {
  touch-action: none;
}
.touch-pan-y {
  --tw-pan-y: pan-y;
  touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom);
}
.select-none {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.resize-none {
  resize: none;
}
.resize {
  resize: both;
}
.scroll-mt-6 {
  scroll-margin-top: 1.5rem;
}
.list-none {
  list-style-type: none;
}
.appearance-none {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.auto-rows-fr {
  grid-auto-rows: minmax(0, 1fr);
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-10 {
  grid-template-columns: repeat(10, minmax(0, 1fr));
}
.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.grid-cols-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.grid-cols-6 {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
.grid-cols-7 {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}
.grid-cols-\[3\.5rem_minmax\(0\2c 1fr\)\] {
  grid-template-columns: 3.5rem minmax(0,1fr);
}
.grid-cols-\[64px_1fr_60px\] {
  grid-template-columns: 64px 1fr 60px;
}
.grid-cols-\[auto_1fr\] {
  grid-template-columns: auto 1fr;
}
.flex-row {
  flex-direction: row;
}
.flex-col {
  flex-direction: column;
}
.flex-col-reverse {
  flex-direction: column-reverse;
}
.flex-wrap {
  flex-wrap: wrap;
}
.flex-nowrap {
  flex-wrap: nowrap;
}
.place-items-center {
  place-items: center;
}
.content-stretch {
  align-content: stretch;
}
.items-start {
  align-items: flex-start;
}
.items-end {
  align-items: flex-end;
}
.items-center {
  align-items: center;
}
.items-baseline {
  align-items: baseline;
}
.items-stretch {
  align-items: stretch;
}
.justify-start {
  justify-content: flex-start;
}
.justify-end {
  justify-content: flex-end;
}
.justify-center {
  justify-content: center;
}
.justify-between {
  justify-content: space-between;
}
.justify-around {
  justify-content: space-around;
}
.justify-evenly {
  justify-content: space-evenly;
}
.gap-0 {
  gap: 0px;
}
.gap-0\.5 {
  gap: 0.125rem;
}
.gap-1 {
  gap: 0.25rem;
}
.gap-1\.5 {
  gap: 0.375rem;
}
.gap-10 {
  gap: 2.5rem;
}
.gap-12 {
  gap: 3rem;
}
.gap-2 {
  gap: 0.5rem;
}
.gap-2\.5 {
  gap: 0.625rem;
}
.gap-3 {
  gap: 0.75rem;
}
.gap-3\.5 {
  gap: 0.875rem;
}
.gap-4 {
  gap: 1rem;
}
.gap-5 {
  gap: 1.25rem;
}
.gap-6 {
  gap: 1.5rem;
}
.gap-8 {
  gap: 2rem;
}
.gap-\[0\.12em\] {
  gap: 0.12em;
}
.gap-\[0\.15em\] {
  gap: 0.15em;
}
.gap-px {
  gap: 1px;
}
.gap-x-2 {
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
}
.gap-x-3 {
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
}
.gap-x-4 {
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
.gap-x-6 {
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
}
.gap-y-1 {
  row-gap: 0.25rem;
}
.gap-y-1\.5 {
  row-gap: 0.375rem;
}
.gap-y-2 {
  row-gap: 0.5rem;
}
.space-x-1 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(0.25rem * var(--tw-space-x-reverse));
  margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(1rem * var(--tw-space-x-reverse));
  margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-y-0\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));
}
.space-y-1 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}
.space-y-1\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));
}
.space-y-14 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(3.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(3.5rem * var(--tw-space-y-reverse));
}
.space-y-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}
.space-y-2\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.625rem * var(--tw-space-y-reverse));
}
.space-y-3 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}
.space-y-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}
.space-y-5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
}
.space-y-6 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}
.space-y-7 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.75rem * var(--tw-space-y-reverse));
}
.space-y-8 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2rem * var(--tw-space-y-reverse));
}
.divide-y > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-y-reverse: 0;
  border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}
.divide-border\/50 > :not([hidden]) ~ :not([hidden]) {
  border-color: hsl(var(--border) / 0.5);
}
.divide-border\/60 > :not([hidden]) ~ :not([hidden]) {
  border-color: hsl(var(--border) / 0.6);
}
.self-start {
  align-self: flex-start;
}
.self-center {
  align-self: center;
}
.self-stretch {
  align-self: stretch;
}
.overflow-auto {
  overflow: auto;
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-visible {
  overflow: visible;
}
.overflow-x-auto {
  overflow-x: auto;
}
.overflow-y-auto {
  overflow-y: auto;
}
.overflow-x-hidden {
  overflow-x: hidden;
}
.overflow-y-hidden {
  overflow-y: hidden;
}
.overscroll-contain {
  overscroll-behavior: contain;
}
.overscroll-none {
  overscroll-behavior: none;
}
.overscroll-x-contain {
  overscroll-behavior-x: contain;
}
.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.whitespace-nowrap {
  white-space: nowrap;
}
.break-words {
  overflow-wrap: break-word;
}
.break-all {
  word-break: break-all;
}
.rounded {
  border-radius: 0.25rem;
}
.rounded-2xl {
  border-radius: 1rem;
}
.rounded-3xl {
  border-radius: 1.5rem;
}
.rounded-\[1\.45rem\] {
  border-radius: 1.45rem;
}
.rounded-\[1\.75rem\] {
  border-radius: 1.75rem;
}
.rounded-\[1\.7rem\] {
  border-radius: 1.7rem;
}
.rounded-\[1px\] {
  border-radius: 1px;
}
.rounded-\[2px\] {
  border-radius: 2px;
}
.rounded-\[2rem\] {
  border-radius: 2rem;
}
.rounded-\[3px\] {
  border-radius: 3px;
}
.rounded-\[inherit\] {
  border-radius: inherit;
}
.rounded-full {
  border-radius: 9999px;
}
.rounded-lg {
  border-radius: var(--radius);
}
.rounded-md {
  border-radius: calc(var(--radius) - 2px);
}
.rounded-none {
  border-radius: 0px;
}
.rounded-sm {
  border-radius: calc(var(--radius) - 4px);
}
.rounded-xl {
  border-radius: 0.75rem;
}
.rounded-r-sm {
  border-top-right-radius: calc(var(--radius) - 4px);
  border-bottom-right-radius: calc(var(--radius) - 4px);
}
.rounded-t-2xl {
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
}
.rounded-t-\[10px\] {
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}
.rounded-tl-sm {
  border-top-left-radius: calc(var(--radius) - 4px);
}
.border {
  border-width: 1px;
}
.border-0 {
  border-width: 0px;
}
.border-2 {
  border-width: 2px;
}
.border-4 {
  border-width: 4px;
}
.border-\[1\.5px\] {
  border-width: 1.5px;
}
.border-y {
  border-top-width: 1px;
  border-bottom-width: 1px;
}
.border-b {
  border-bottom-width: 1px;
}
.border-b-2 {
  border-bottom-width: 2px;
}
.border-l {
  border-left-width: 1px;
}
.border-r {
  border-right-width: 1px;
}
.border-t {
  border-top-width: 1px;
}
.border-t-2 {
  border-top-width: 2px;
}
.border-dashed {
  border-style: dashed;
}
.border-dotted {
  border-style: dotted;
}
.border-\[--color-border\] {
  border-color: var(--color-border);
}
.border-amber-100\/70 {
  border-color: rgb(254 243 199 / 0.7);
}
.border-amber-400\/30 {
  border-color: rgb(251 191 36 / 0.3);
}
.border-amber-400\/40 {
  border-color: rgb(251 191 36 / 0.4);
}
.border-amber-400\/60 {
  border-color: rgb(251 191 36 / 0.6);
}
.border-amber-400\/70 {
  border-color: rgb(251 191 36 / 0.7);
}
.border-amber-500\/30 {
  border-color: rgb(245 158 11 / 0.3);
}
.border-amber-500\/40 {
  border-color: rgb(245 158 11 / 0.4);
}
.border-amber-500\/50 {
  border-color: rgb(245 158 11 / 0.5);
}
.border-amber-600\/60 {
  border-color: rgb(217 119 6 / 0.6);
}
.border-amber-700\/60 {
  border-color: rgb(180 83 9 / 0.6);
}
.border-amber-900\/60 {
  border-color: rgb(120 53 15 / 0.6);
}
.border-black\/20 {
  border-color: rgb(0 0 0 / 0.2);
}
.border-border {
  border-color: hsl(var(--border));
}
.border-border\/40 {
  border-color: hsl(var(--border) / 0.4);
}
.border-border\/50 {
  border-color: hsl(var(--border) / 0.5);
}
.border-border\/60 {
  border-color: hsl(var(--border) / 0.6);
}
.border-border\/70 {
  border-color: hsl(var(--border) / 0.7);
}
.border-border\/80 {
  border-color: hsl(var(--border) / 0.8);
}
.border-cyan-300\/70 {
  border-color: rgb(103 232 249 / 0.7);
}
.border-cyan-300\/80 {
  border-color: rgb(103 232 249 / 0.8);
}
.border-cyan-400 {
  --tw-border-opacity: 1;
  border-color: rgb(34 211 238 / var(--tw-border-opacity, 1));
}
.border-cyan-400\/20 {
  border-color: rgb(34 211 238 / 0.2);
}
.border-cyan-400\/30 {
  border-color: rgb(34 211 238 / 0.3);
}
.border-cyan-400\/40 {
  border-color: rgb(34 211 238 / 0.4);
}
.border-cyan-400\/60 {
  border-color: rgb(34 211 238 / 0.6);
}
.border-cyan-400\/70 {
  border-color: rgb(34 211 238 / 0.7);
}
.border-cyan-500 {
  --tw-border-opacity: 1;
  border-color: rgb(6 182 212 / var(--tw-border-opacity, 1));
}
.border-cyan-500\/30 {
  border-color: rgb(6 182 212 / 0.3);
}
.border-cyan-500\/40 {
  border-color: rgb(6 182 212 / 0.4);
}
.border-cyan-700\/50 {
  border-color: rgb(14 116 144 / 0.5);
}
.border-cyan-800\/60 {
  border-color: rgb(21 94 117 / 0.6);
}
.border-cyan-900\/40 {
  border-color: rgb(22 78 99 / 0.4);
}
.border-destructive {
  border-color: hsl(var(--destructive));
}
.border-destructive\/30 {
  border-color: hsl(var(--destructive) / 0.3);
}
.border-destructive\/40 {
  border-color: hsl(var(--destructive) / 0.4);
}
.border-destructive\/50 {
  border-color: hsl(var(--destructive) / 0.5);
}
.border-emerald-400\/40 {
  border-color: rgb(52 211 153 / 0.4);
}
.border-emerald-400\/70 {
  border-color: rgb(52 211 153 / 0.7);
}
.border-emerald-500\/30 {
  border-color: rgb(16 185 129 / 0.3);
}
.border-emerald-500\/40 {
  border-color: rgb(16 185 129 / 0.4);
}
.border-emerald-500\/50 {
  border-color: rgb(16 185 129 / 0.5);
}
.border-foreground\/10 {
  border-color: hsl(var(--foreground) / 0.1);
}
.border-foreground\/25 {
  border-color: hsl(var(--foreground) / 0.25);
}
.border-indigo-400\/30 {
  border-color: rgb(129 140 248 / 0.3);
}
.border-indigo-400\/40 {
  border-color: rgb(129 140 248 / 0.4);
}
.border-indigo-400\/50 {
  border-color: rgb(129 140 248 / 0.5);
}
.border-indigo-400\/70 {
  border-color: rgb(129 140 248 / 0.7);
}
.border-input {
  border-color: hsl(var(--input));
}
.border-muted-foreground\/30 {
  border-color: hsl(var(--muted-foreground) / 0.3);
}
.border-orange-500 {
  --tw-border-opacity: 1;
  border-color: rgb(249 115 22 / var(--tw-border-opacity, 1));
}
.border-orange-500\/40 {
  border-color: rgb(249 115 22 / 0.4);
}
.border-orange-500\/50 {
  border-color: rgb(249 115 22 / 0.5);
}
.border-primary {
  border-color: hsl(var(--primary));
}
.border-primary\/15 {
  border-color: hsl(var(--primary) / 0.15);
}
.border-primary\/20 {
  border-color: hsl(var(--primary) / 0.2);
}
.border-primary\/25 {
  border-color: hsl(var(--primary) / 0.25);
}
.border-primary\/30 {
  border-color: hsl(var(--primary) / 0.3);
}
.border-primary\/40 {
  border-color: hsl(var(--primary) / 0.4);
}
.border-primary\/45 {
  border-color: hsl(var(--primary) / 0.45);
}
.border-primary\/50 {
  border-color: hsl(var(--primary) / 0.5);
}
.border-primary\/55 {
  border-color: hsl(var(--primary) / 0.55);
}
.border-primary\/60 {
  border-color: hsl(var(--primary) / 0.6);
}
.border-primary\/65 {
  border-color: hsl(var(--primary) / 0.65);
}
.border-primary\/70 {
  border-color: hsl(var(--primary) / 0.7);
}
.border-red-500\/30 {
  border-color: rgb(239 68 68 / 0.3);
}
.border-rose-500\/30 {
  border-color: rgb(244 63 94 / 0.3);
}
.border-rose-500\/40 {
  border-color: rgb(244 63 94 / 0.4);
}
.border-rose-500\/50 {
  border-color: rgb(244 63 94 / 0.5);
}
.border-rose-900\/40 {
  border-color: rgb(136 19 55 / 0.4);
}
.border-sidebar-border {
  border-color: hsl(var(--sidebar-border));
}
.border-sky-300\/70 {
  border-color: rgb(125 211 252 / 0.7);
}
.border-sky-400\/40 {
  border-color: rgb(56 189 248 / 0.4);
}
.border-sky-400\/60 {
  border-color: rgb(56 189 248 / 0.6);
}
.border-sky-400\/70 {
  border-color: rgb(56 189 248 / 0.7);
}
.border-skybrain-amber {
  border-color: hsl(var(--skybrain-amber));
}
.border-skybrain-amber\/30 {
  border-color: hsl(var(--skybrain-amber) / 0.3);
}
.border-skybrain-amber\/35 {
  border-color: hsl(var(--skybrain-amber) / 0.35);
}
.border-skybrain-amber\/40 {
  border-color: hsl(var(--skybrain-amber) / 0.4);
}
.border-skybrain-amber\/55 {
  border-color: hsl(var(--skybrain-amber) / 0.55);
}
.border-skybrain-cyan\/30 {
  border-color: hsl(var(--skybrain-cyan) / 0.3);
}
.border-skybrain-cyan\/35 {
  border-color: hsl(var(--skybrain-cyan) / 0.35);
}
.border-skybrain-cyan\/40 {
  border-color: hsl(var(--skybrain-cyan) / 0.4);
}
.border-skybrain-cyan\/50 {
  border-color: hsl(var(--skybrain-cyan) / 0.5);
}
.border-skybrain-green {
  border-color: hsl(var(--skybrain-green));
}
.border-skybrain-green\/30 {
  border-color: hsl(var(--skybrain-green) / 0.3);
}
.border-skybrain-green\/35 {
  border-color: hsl(var(--skybrain-green) / 0.35);
}
.border-skybrain-green\/40 {
  border-color: hsl(var(--skybrain-green) / 0.4);
}
.border-skybrain-green\/45 {
  border-color: hsl(var(--skybrain-green) / 0.45);
}
.border-skybrain-green\/60 {
  border-color: hsl(var(--skybrain-green) / 0.6);
}
.border-skybrain-purple\/30 {
  border-color: hsl(var(--skybrain-purple) / 0.3);
}
.border-skybrain-purple\/40 {
  border-color: hsl(var(--skybrain-purple) / 0.4);
}
.border-skybrain-purple\/55 {
  border-color: hsl(var(--skybrain-purple) / 0.55);
}
.border-skybrain-purple\/60 {
  border-color: hsl(var(--skybrain-purple) / 0.6);
}
.border-skybrain-red {
  border-color: hsl(var(--skybrain-red));
}
.border-skybrain-red\/30 {
  border-color: hsl(var(--skybrain-red) / 0.3);
}
.border-skybrain-red\/40 {
  border-color: hsl(var(--skybrain-red) / 0.4);
}
.border-skybrain-red\/50 {
  border-color: hsl(var(--skybrain-red) / 0.5);
}
.border-skybrain-red\/60 {
  border-color: hsl(var(--skybrain-red) / 0.6);
}
.border-slate-700 {
  --tw-border-opacity: 1;
  border-color: rgb(51 65 85 / var(--tw-border-opacity, 1));
}
.border-slate-800 {
  --tw-border-opacity: 1;
  border-color: rgb(30 41 59 / var(--tw-border-opacity, 1));
}
.border-transparent {
  border-color: transparent;
}
.border-violet-400 {
  --tw-border-opacity: 1;
  border-color: rgb(167 139 250 / var(--tw-border-opacity, 1));
}
.border-violet-400\/20 {
  border-color: rgb(167 139 250 / 0.2);
}
.border-violet-400\/25 {
  border-color: rgb(167 139 250 / 0.25);
}
.border-violet-400\/30 {
  border-color: rgb(167 139 250 / 0.3);
}
.border-violet-400\/40 {
  border-color: rgb(167 139 250 / 0.4);
}
.border-violet-400\/50 {
  border-color: rgb(167 139 250 / 0.5);
}
.border-violet-400\/70 {
  border-color: rgb(167 139 250 / 0.7);
}
.border-violet-600\/60 {
  border-color: rgb(124 58 237 / 0.6);
}
.border-violet-700\/60 {
  border-color: rgb(109 40 217 / 0.6);
}
.border-violet-900\/40 {
  border-color: rgb(76 29 149 / 0.4);
}
.border-white\/25 {
  border-color: rgb(255 255 255 / 0.25);
}
.border-white\/55 {
  border-color: rgb(255 255 255 / 0.55);
}
.border-l-transparent {
  border-left-color: transparent;
}
.border-t-primary {
  border-top-color: hsl(var(--primary));
}
.border-t-transparent {
  border-top-color: transparent;
}
.bg-\[\#0a0c10\] {
  --tw-bg-opacity: 1;
  background-color: rgb(10 12 16 / var(--tw-bg-opacity, 1));
}
.bg-\[\#1a1c20\] {
  --tw-bg-opacity: 1;
  background-color: rgb(26 28 32 / var(--tw-bg-opacity, 1));
}
.bg-\[\#2a2e36\] {
  --tw-bg-opacity: 1;
  background-color: rgb(42 46 54 / var(--tw-bg-opacity, 1));
}
.bg-\[--color-bg\] {
  background-color: var(--color-bg);
}
.bg-\[hsl\(var\(--hud-panel\)\)\] {
  background-color: hsl(var(--hud-panel));
}
.bg-\[hsl\(var\(--hud-surface\)\)\] {
  background-color: hsl(var(--hud-surface));
}
.bg-\[var\(--hud-surface-glass\)\] {
  background-color: var(--hud-surface-glass);
}
.bg-accent {
  background-color: hsl(var(--accent));
}
.bg-amber-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(252 211 77 / var(--tw-bg-opacity, 1));
}
.bg-amber-300\/85 {
  background-color: rgb(252 211 77 / 0.85);
}
.bg-amber-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(251 191 36 / var(--tw-bg-opacity, 1));
}
.bg-amber-400\/10 {
  background-color: rgb(251 191 36 / 0.1);
}
.bg-amber-400\/5 {
  background-color: rgb(251 191 36 / 0.05);
}
.bg-amber-400\/70 {
  background-color: rgb(251 191 36 / 0.7);
}
.bg-amber-400\/80 {
  background-color: rgb(251 191 36 / 0.8);
}
.bg-amber-500\/10 {
  background-color: rgb(245 158 11 / 0.1);
}
.bg-amber-500\/20 {
  background-color: rgb(245 158 11 / 0.2);
}
.bg-amber-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(180 83 9 / var(--tw-bg-opacity, 1));
}
.bg-amber-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(146 64 14 / var(--tw-bg-opacity, 1));
}
.bg-amber-950\/40 {
  background-color: rgb(69 26 3 / 0.4);
}
.bg-background {
  background-color: hsl(var(--background));
}
.bg-background\/40 {
  background-color: hsl(var(--background) / 0.4);
}
.bg-background\/50 {
  background-color: hsl(var(--background) / 0.5);
}
.bg-background\/80 {
  background-color: hsl(var(--background) / 0.8);
}
.bg-background\/90 {
  background-color: hsl(var(--background) / 0.9);
}
.bg-black {
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}
.bg-black\/50 {
  background-color: rgb(0 0 0 / 0.5);
}
.bg-black\/60 {
  background-color: rgb(0 0 0 / 0.6);
}
.bg-black\/65 {
  background-color: rgb(0 0 0 / 0.65);
}
.bg-black\/70 {
  background-color: rgb(0 0 0 / 0.7);
}
.bg-black\/80 {
  background-color: rgb(0 0 0 / 0.8);
}
.bg-border {
  background-color: hsl(var(--border));
}
.bg-card {
  background-color: hsl(var(--card));
}
.bg-card\/50 {
  background-color: hsl(var(--card) / 0.5);
}
.bg-card\/60 {
  background-color: hsl(var(--card) / 0.6);
}
.bg-card\/70 {
  background-color: hsl(var(--card) / 0.7);
}
.bg-card\/80 {
  background-color: hsl(var(--card) / 0.8);
}
.bg-card\/90 {
  background-color: hsl(var(--card) / 0.9);
}
.bg-card\/95 {
  background-color: hsl(var(--card) / 0.95);
}
.bg-cyan-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(103 232 249 / var(--tw-bg-opacity, 1));
}
.bg-cyan-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(34 211 238 / var(--tw-bg-opacity, 1));
}
.bg-cyan-400\/10 {
  background-color: rgb(34 211 238 / 0.1);
}
.bg-cyan-400\/25 {
  background-color: rgb(34 211 238 / 0.25);
}
.bg-cyan-400\/30 {
  background-color: rgb(34 211 238 / 0.3);
}
.bg-cyan-400\/5 {
  background-color: rgb(34 211 238 / 0.05);
}
.bg-cyan-400\/60 {
  background-color: rgb(34 211 238 / 0.6);
}
.bg-cyan-400\/70 {
  background-color: rgb(34 211 238 / 0.7);
}
.bg-cyan-500\/15 {
  background-color: rgb(6 182 212 / 0.15);
}
.bg-cyan-500\/5 {
  background-color: rgb(6 182 212 / 0.05);
}
.bg-cyan-500\/\[0\.06\] {
  background-color: rgb(6 182 212 / 0.06);
}
.bg-cyan-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(8 145 178 / var(--tw-bg-opacity, 1));
}
.bg-cyan-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(14 116 144 / var(--tw-bg-opacity, 1));
}
.bg-cyan-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(21 94 117 / var(--tw-bg-opacity, 1));
}
.bg-cyan-950\/20 {
  background-color: rgb(8 51 68 / 0.2);
}
.bg-cyan-950\/40 {
  background-color: rgb(8 51 68 / 0.4);
}
.bg-destructive {
  background-color: hsl(var(--destructive));
}
.bg-destructive\/10 {
  background-color: hsl(var(--destructive) / 0.1);
}
.bg-destructive\/5 {
  background-color: hsl(var(--destructive) / 0.05);
}
.bg-emerald-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(52 211 153 / var(--tw-bg-opacity, 1));
}
.bg-emerald-400\/10 {
  background-color: rgb(52 211 153 / 0.1);
}
.bg-emerald-400\/5 {
  background-color: rgb(52 211 153 / 0.05);
}
.bg-emerald-500\/10 {
  background-color: rgb(16 185 129 / 0.1);
}
.bg-emerald-500\/15 {
  background-color: rgb(16 185 129 / 0.15);
}
.bg-emerald-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(4 120 87 / var(--tw-bg-opacity, 1));
}
.bg-foreground {
  background-color: hsl(var(--foreground));
}
.bg-foreground\/10 {
  background-color: hsl(var(--foreground) / 0.1);
}
.bg-indigo-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(129 140 248 / var(--tw-bg-opacity, 1));
}
.bg-indigo-400\/10 {
  background-color: rgb(129 140 248 / 0.1);
}
.bg-indigo-400\/5 {
  background-color: rgb(129 140 248 / 0.05);
}
.bg-indigo-400\/70 {
  background-color: rgb(129 140 248 / 0.7);
}
.bg-input {
  background-color: hsl(var(--input));
}
.bg-muted {
  background-color: hsl(var(--muted));
}
.bg-muted-foreground\/30 {
  background-color: hsl(var(--muted-foreground) / 0.3);
}
.bg-muted-foreground\/40 {
  background-color: hsl(var(--muted-foreground) / 0.4);
}
.bg-muted\/40 {
  background-color: hsl(var(--muted) / 0.4);
}
.bg-muted\/50 {
  background-color: hsl(var(--muted) / 0.5);
}
.bg-muted\/60 {
  background-color: hsl(var(--muted) / 0.6);
}
.bg-orange-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(251 146 60 / var(--tw-bg-opacity, 1));
}
.bg-orange-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(249 115 22 / var(--tw-bg-opacity, 1));
}
.bg-orange-500\/10 {
  background-color: rgb(249 115 22 / 0.1);
}
.bg-popover {
  background-color: hsl(var(--popover));
}
.bg-primary {
  background-color: hsl(var(--primary));
}
.bg-primary\/10 {
  background-color: hsl(var(--primary) / 0.1);
}
.bg-primary\/15 {
  background-color: hsl(var(--primary) / 0.15);
}
.bg-primary\/20 {
  background-color: hsl(var(--primary) / 0.2);
}
.bg-primary\/5 {
  background-color: hsl(var(--primary) / 0.05);
}
.bg-primary\/70 {
  background-color: hsl(var(--primary) / 0.7);
}
.bg-primary\/80 {
  background-color: hsl(var(--primary) / 0.8);
}
.bg-primary\/85 {
  background-color: hsl(var(--primary) / 0.85);
}
.bg-primary\/90 {
  background-color: hsl(var(--primary) / 0.9);
}
.bg-red-400\/80 {
  background-color: rgb(248 113 113 / 0.8);
}
.bg-red-500\/10 {
  background-color: rgb(239 68 68 / 0.1);
}
.bg-rose-400\/70 {
  background-color: rgb(251 113 133 / 0.7);
}
.bg-rose-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(244 63 94 / var(--tw-bg-opacity, 1));
}
.bg-rose-500\/10 {
  background-color: rgb(244 63 94 / 0.1);
}
.bg-rose-500\/15 {
  background-color: rgb(244 63 94 / 0.15);
}
.bg-rose-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(190 18 60 / var(--tw-bg-opacity, 1));
}
.bg-rose-950\/20 {
  background-color: rgb(76 5 25 / 0.2);
}
.bg-secondary {
  background-color: hsl(var(--secondary));
}
.bg-secondary\/10 {
  background-color: hsl(var(--secondary) / 0.1);
}
.bg-secondary\/20 {
  background-color: hsl(var(--secondary) / 0.2);
}
.bg-secondary\/30 {
  background-color: hsl(var(--secondary) / 0.3);
}
.bg-secondary\/40 {
  background-color: hsl(var(--secondary) / 0.4);
}
.bg-secondary\/50 {
  background-color: hsl(var(--secondary) / 0.5);
}
.bg-secondary\/60 {
  background-color: hsl(var(--secondary) / 0.6);
}
.bg-secondary\/70 {
  background-color: hsl(var(--secondary) / 0.7);
}
.bg-secondary\/80 {
  background-color: hsl(var(--secondary) / 0.8);
}
.bg-sidebar {
  background-color: hsl(var(--sidebar-background));
}
.bg-sidebar-border {
  background-color: hsl(var(--sidebar-border));
}
.bg-sky-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(56 189 248 / var(--tw-bg-opacity, 1));
}
.bg-sky-400\/10 {
  background-color: rgb(56 189 248 / 0.1);
}
.bg-sky-400\/5 {
  background-color: rgb(56 189 248 / 0.05);
}
.bg-skybrain-amber {
  background-color: hsl(var(--skybrain-amber));
}
.bg-skybrain-amber\/10 {
  background-color: hsl(var(--skybrain-amber) / 0.1);
}
.bg-skybrain-amber\/15 {
  background-color: hsl(var(--skybrain-amber) / 0.15);
}
.bg-skybrain-amber\/5 {
  background-color: hsl(var(--skybrain-amber) / 0.05);
}
.bg-skybrain-blue\/10 {
  background-color: hsl(var(--skybrain-blue) / 0.1);
}
.bg-skybrain-cyan {
  background-color: hsl(var(--skybrain-cyan));
}
.bg-skybrain-cyan\/10 {
  background-color: hsl(var(--skybrain-cyan) / 0.1);
}
.bg-skybrain-cyan\/15 {
  background-color: hsl(var(--skybrain-cyan) / 0.15);
}
.bg-skybrain-cyan\/5 {
  background-color: hsl(var(--skybrain-cyan) / 0.05);
}
.bg-skybrain-green {
  background-color: hsl(var(--skybrain-green));
}
.bg-skybrain-green\/10 {
  background-color: hsl(var(--skybrain-green) / 0.1);
}
.bg-skybrain-green\/15 {
  background-color: hsl(var(--skybrain-green) / 0.15);
}
.bg-skybrain-green\/20 {
  background-color: hsl(var(--skybrain-green) / 0.2);
}
.bg-skybrain-green\/5 {
  background-color: hsl(var(--skybrain-green) / 0.05);
}
.bg-skybrain-purple {
  background-color: hsl(var(--skybrain-purple));
}
.bg-skybrain-purple\/10 {
  background-color: hsl(var(--skybrain-purple) / 0.1);
}
.bg-skybrain-purple\/20 {
  background-color: hsl(var(--skybrain-purple) / 0.2);
}
.bg-skybrain-purple\/5 {
  background-color: hsl(var(--skybrain-purple) / 0.05);
}
.bg-skybrain-red {
  background-color: hsl(var(--skybrain-red));
}
.bg-skybrain-red\/10 {
  background-color: hsl(var(--skybrain-red) / 0.1);
}
.bg-skybrain-red\/5 {
  background-color: hsl(var(--skybrain-red) / 0.05);
}
.bg-slate-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
}
.bg-slate-900\/40 {
  background-color: rgb(15 23 42 / 0.4);
}
.bg-slate-900\/50 {
  background-color: rgb(15 23 42 / 0.5);
}
.bg-slate-950 {
  --tw-bg-opacity: 1;
  background-color: rgb(2 6 23 / var(--tw-bg-opacity, 1));
}
.bg-slate-950\/60 {
  background-color: rgb(2 6 23 / 0.6);
}
.bg-transparent {
  background-color: transparent;
}
.bg-violet-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(167 139 250 / var(--tw-bg-opacity, 1));
}
.bg-violet-400\/10 {
  background-color: rgb(167 139 250 / 0.1);
}
.bg-violet-400\/5 {
  background-color: rgb(167 139 250 / 0.05);
}
.bg-violet-400\/70 {
  background-color: rgb(167 139 250 / 0.7);
}
.bg-violet-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(139 92 246 / var(--tw-bg-opacity, 1));
}
.bg-violet-500\/5 {
  background-color: rgb(139 92 246 / 0.05);
}
.bg-violet-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(109 40 217 / var(--tw-bg-opacity, 1));
}
.bg-violet-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(91 33 182 / var(--tw-bg-opacity, 1));
}
.bg-violet-900\/30 {
  background-color: rgb(76 29 149 / 0.3);
}
.bg-violet-950\/20 {
  background-color: rgb(46 16 101 / 0.2);
}
.bg-violet-950\/50 {
  background-color: rgb(46 16 101 / 0.5);
}
.bg-white\/30 {
  background-color: rgb(255 255 255 / 0.3);
}
.bg-zinc-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(212 212 216 / var(--tw-bg-opacity, 1));
}
.bg-zinc-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(161 161 170 / var(--tw-bg-opacity, 1));
}
.bg-\[radial-gradient\(ellipse_80\%_70\%_at_50\%_38\%\2c hsl\(186_100\%_50\%\/0\.08\)\2c transparent_70\%\)\] {
  background-image: radial-gradient(ellipse 80% 70% at 50% 38%,hsl(186 100% 50%/0.08),transparent 70%);
}
.bg-\[radial-gradient\(ellipse_at_top\2c hsl\(186_100\%_50\%\/0\.1\)\2c transparent_64\%\)\] {
  background-image: radial-gradient(ellipse at top,hsl(186 100% 50%/0.1),transparent 64%);
}
.bg-gradient-to-b {
  background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
}
.bg-gradient-to-br {
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}
.bg-gradient-to-l {
  background-image: linear-gradient(to left, var(--tw-gradient-stops));
}
.bg-gradient-to-r {
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}
.from-amber-400\/25 {
  --tw-gradient-from: rgb(251 191 36 / 0.25) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(251 191 36 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-cyan-400\/25 {
  --tw-gradient-from: rgb(34 211 238 / 0.25) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(34 211 238 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-400\/25 {
  --tw-gradient-from: rgb(52 211 153 / 0.25) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(52 211 153 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-indigo-400\/15 {
  --tw-gradient-from: rgb(129 140 248 / 0.15) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(129 140 248 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-indigo-400\/25 {
  --tw-gradient-from: rgb(129 140 248 / 0.25) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(129 140 248 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-indigo-400\/5 {
  --tw-gradient-from: rgb(129 140 248 / 0.05) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(129 140 248 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary\/10 {
  --tw-gradient-from: hsl(var(--primary) / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary\/15 {
  --tw-gradient-from: hsl(var(--primary) / 0.15) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary\/20 {
  --tw-gradient-from: hsl(var(--primary) / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary\/5 {
  --tw-gradient-from: hsl(var(--primary) / 0.05) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-sky-400\/25 {
  --tw-gradient-from: rgb(56 189 248 / 0.25) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(56 189 248 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-skybrain-green\/15 {
  --tw-gradient-from: hsl(var(--skybrain-green) / 0.15) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--skybrain-green) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-transparent {
  --tw-gradient-from: transparent var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-400\/15 {
  --tw-gradient-from: rgb(167 139 250 / 0.15) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(167 139 250 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-400\/25 {
  --tw-gradient-from: rgb(167 139 250 / 0.25) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(167 139 250 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-400\/5 {
  --tw-gradient-from: rgb(167 139 250 / 0.05) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(167 139 250 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.via-amber-400\/10 {
  --tw-gradient-to: rgb(251 191 36 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(251 191 36 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-cyan-400\/10 {
  --tw-gradient-to: rgb(34 211 238 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(34 211 238 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-emerald-400\/10 {
  --tw-gradient-to: rgb(52 211 153 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(52 211 153 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-indigo-400\/10 {
  --tw-gradient-to: rgb(129 140 248 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(129 140 248 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-indigo-400\/5 {
  --tw-gradient-to: rgb(129 140 248 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(129 140 248 / 0.05) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-primary {
  --tw-gradient-to: hsl(var(--primary) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--primary)) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-primary\/40 {
  --tw-gradient-to: hsl(var(--primary) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--primary) / 0.4) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-primary\/5 {
  --tw-gradient-to: hsl(var(--primary) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--primary) / 0.05) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-primary\/50 {
  --tw-gradient-to: hsl(var(--primary) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--primary) / 0.5) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-sky-400\/10 {
  --tw-gradient-to: rgb(56 189 248 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(56 189 248 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-skybrain-green\/5 {
  --tw-gradient-to: hsl(var(--skybrain-green) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--skybrain-green) / 0.05) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-transparent {
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-violet-400\/10 {
  --tw-gradient-to: rgb(167 139 250 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(167 139 250 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-violet-400\/5 {
  --tw-gradient-to: rgb(167 139 250 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(167 139 250 / 0.05) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.to-background {
  --tw-gradient-to: hsl(var(--background)) var(--tw-gradient-to-position);
}
.to-primary\/20 {
  --tw-gradient-to: hsl(var(--primary) / 0.2) var(--tw-gradient-to-position);
}
.to-skybrain-purple\/10 {
  --tw-gradient-to: hsl(var(--skybrain-purple) / 0.1) var(--tw-gradient-to-position);
}
.to-skybrain-purple\/20 {
  --tw-gradient-to: hsl(var(--skybrain-purple) / 0.2) var(--tw-gradient-to-position);
}
.to-transparent {
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}
.fill-\[hsl\(var\(--hud-surface\)\)\] {
  fill: hsl(var(--hud-surface));
}
.fill-current {
  fill: currentColor;
}
.fill-primary {
  fill: hsl(var(--primary));
}
.fill-skybrain-amber {
  fill: hsl(var(--skybrain-amber));
}
.stroke-primary {
  stroke: hsl(var(--primary));
}
.stroke-primary\/20 {
  stroke: hsl(var(--primary) / 0.2);
}
.object-cover {
  -o-object-fit: cover;
     object-fit: cover;
}
.object-top {
  -o-object-position: top;
     object-position: top;
}
.p-0 {
  padding: 0px;
}
.p-0\.5 {
  padding: 0.125rem;
}
.p-1 {
  padding: 0.25rem;
}
.p-1\.5 {
  padding: 0.375rem;
}
.p-10 {
  padding: 2.5rem;
}
.p-12 {
  padding: 3rem;
}
.p-2 {
  padding: 0.5rem;
}
.p-2\.5 {
  padding: 0.625rem;
}
.p-3 {
  padding: 0.75rem;
}
.p-3\.5 {
  padding: 0.875rem;
}
.p-4 {
  padding: 1rem;
}
.p-5 {
  padding: 1.25rem;
}
.p-6 {
  padding: 1.5rem;
}
.p-8 {
  padding: 2rem;
}
.p-\[0\.28rem\] {
  padding: 0.28rem;
}
.p-\[1px\] {
  padding: 1px;
}
.p-\[7px\] {
  padding: 7px;
}
.px-0 {
  padding-left: 0px;
  padding-right: 0px;
}
.px-1 {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}
.px-1\.5 {
  padding-left: 0.375rem;
  padding-right: 0.375rem;
}
.px-10 {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}
.px-12 {
  padding-left: 3rem;
  padding-right: 3rem;
}
.px-2 {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.px-2\.5 {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}
.px-3 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.px-3\.5 {
  padding-left: 0.875rem;
  padding-right: 0.875rem;
}
.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}
.px-5 {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
.px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.px-7 {
  padding-left: 1.75rem;
  padding-right: 1.75rem;
}
.px-8 {
  padding-left: 2rem;
  padding-right: 2rem;
}
.py-0 {
  padding-top: 0px;
  padding-bottom: 0px;
}
.py-0\.5 {
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}
.py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.py-1\.5 {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}
.py-10 {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
.py-12 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.py-14 {
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
}
.py-16 {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.py-2\.5 {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}
.py-20 {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.py-3\.5 {
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
}
.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.py-5 {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
.py-6 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.py-px {
  padding-top: 1px;
  padding-bottom: 1px;
}
.pb-0\.5 {
  padding-bottom: 0.125rem;
}
.pb-1 {
  padding-bottom: 0.25rem;
}
.pb-1\.5 {
  padding-bottom: 0.375rem;
}
.pb-12 {
  padding-bottom: 3rem;
}
.pb-16 {
  padding-bottom: 4rem;
}
.pb-2 {
  padding-bottom: 0.5rem;
}
.pb-2\.5 {
  padding-bottom: 0.625rem;
}
.pb-20 {
  padding-bottom: 5rem;
}
.pb-24 {
  padding-bottom: 6rem;
}
.pb-28 {
  padding-bottom: 7rem;
}
.pb-3 {
  padding-bottom: 0.75rem;
}
.pb-4 {
  padding-bottom: 1rem;
}
.pb-5 {
  padding-bottom: 1.25rem;
}
.pb-6 {
  padding-bottom: 1.5rem;
}
.pb-8 {
  padding-bottom: 2rem;
}
.pb-\[calc\(0\.5rem\+var\(--hud-safe-bottom\2c env\(safe-area-inset-bottom\2c 0px\)\)\)\] {
  padding-bottom: calc(0.5rem + var(--hud-safe-bottom,env(safe-area-inset-bottom,0px)));
}
.pb-\[calc\(0\.75rem\+var\(--hud-safe-bottom\2c env\(safe-area-inset-bottom\)\)\)\] {
  padding-bottom: calc(0.75rem + var(--hud-safe-bottom,env(safe-area-inset-bottom)));
}
.pb-\[calc\(6\.5rem\+var\(--hud-safe-bottom\2c env\(safe-area-inset-bottom\)\)\)\] {
  padding-bottom: calc(6.5rem + var(--hud-safe-bottom,env(safe-area-inset-bottom)));
}
.pb-\[calc\(var\(--hud-bar-h\)\+0\.35rem\)\] {
  padding-bottom: calc(var(--hud-bar-h) + 0.35rem);
}
.pb-\[calc\(var\(--hud-bar-h\)\+1rem\)\] {
  padding-bottom: calc(var(--hud-bar-h) + 1rem);
}
.pl-0 {
  padding-left: 0px;
}
.pl-10 {
  padding-left: 2.5rem;
}
.pl-2 {
  padding-left: 0.5rem;
}
.pl-2\.5 {
  padding-left: 0.625rem;
}
.pl-3 {
  padding-left: 0.75rem;
}
.pl-4 {
  padding-left: 1rem;
}
.pl-6 {
  padding-left: 1.5rem;
}
.pl-8 {
  padding-left: 2rem;
}
.pl-\[76px\] {
  padding-left: 76px;
}
.pr-0\.5 {
  padding-right: 0.125rem;
}
.pr-1 {
  padding-right: 0.25rem;
}
.pr-2 {
  padding-right: 0.5rem;
}
.pr-2\.5 {
  padding-right: 0.625rem;
}
.pr-3 {
  padding-right: 0.75rem;
}
.pr-4 {
  padding-right: 1rem;
}
.pr-6 {
  padding-right: 1.5rem;
}
.pr-8 {
  padding-right: 2rem;
}
.pr-9 {
  padding-right: 2.25rem;
}
.pt-0 {
  padding-top: 0px;
}
.pt-1 {
  padding-top: 0.25rem;
}
.pt-12 {
  padding-top: 3rem;
}
.pt-2 {
  padding-top: 0.5rem;
}
.pt-2\.5 {
  padding-top: 0.625rem;
}
.pt-3 {
  padding-top: 0.75rem;
}
.pt-4 {
  padding-top: 1rem;
}
.pt-5 {
  padding-top: 1.25rem;
}
.pt-6 {
  padding-top: 1.5rem;
}
.pt-8 {
  padding-top: 2rem;
}
.pt-\[12vh\] {
  padding-top: 12vh;
}
.pt-\[calc\(var\(--hud-bar-h\)\+2\.5rem\)\] {
  padding-top: calc(var(--hud-bar-h) + 2.5rem);
}
.pt-\[var\(--hud-safe-top\2c env\(safe-area-inset-top\2c 0px\)\)\] {
  padding-top: var(--hud-safe-top,env(safe-area-inset-top,0px));
}
.text-left {
  text-align: left;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.align-middle {
  vertical-align: middle;
}
.align-super {
  vertical-align: super;
}
.font-display {
  font-family: Orbitron, sans-serif;
}
.font-mono {
  font-family: JetBrains Mono, monospace;
}
.font-sans {
  font-family: Source Sans 3, sans-serif;
}
.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}
.text-3xl {
  font-size: 1.875rem;
  line-height: 2.25rem;
}
.text-4xl {
  font-size: 2.25rem;
  line-height: 2.5rem;
}
.text-5xl {
  font-size: 3rem;
  line-height: 1;
}
.text-6xl {
  font-size: 3.75rem;
  line-height: 1;
}
.text-\[0\.42em\] {
  font-size: 0.42em;
}
.text-\[0\.49rem\] {
  font-size: 0.49rem;
}
.text-\[0\.8125rem\] {
  font-size: 0.8125rem;
}
.text-\[0\.81rem\] {
  font-size: 0.81rem;
}
.text-\[0\.8rem\] {
  font-size: 0.8rem;
}
.text-\[0\.95rem\] {
  font-size: 0.95rem;
}
.text-\[0\.98rem\] {
  font-size: 0.98rem;
}
.text-\[1\.05rem\] {
  font-size: 1.05rem;
}
.text-\[1\.15rem\] {
  font-size: 1.15rem;
}
.text-\[1\.2rem\] {
  font-size: 1.2rem;
}
.text-\[1\.35rem\] {
  font-size: 1.35rem;
}
.text-\[1\.5rem\] {
  font-size: 1.5rem;
}
.text-\[1\.7rem\] {
  font-size: 1.7rem;
}
.text-\[1\.85rem\] {
  font-size: 1.85rem;
}
.text-\[10\.5px\] {
  font-size: 10.5px;
}
.text-\[10px\] {
  font-size: 10px;
}
.text-\[11px\] {
  font-size: 11px;
}
.text-\[12px\] {
  font-size: 12px;
}
.text-\[13px\] {
  font-size: 13px;
}
.text-\[15px\] {
  font-size: 15px;
}
.text-\[2\.4rem\] {
  font-size: 2.4rem;
}
.text-\[2rem\] {
  font-size: 2rem;
}
.text-\[8\.5px\] {
  font-size: 8.5px;
}
.text-\[8px\] {
  font-size: 8px;
}
.text-\[9px\] {
  font-size: 9px;
}
.text-base {
  font-size: 1rem;
  line-height: 1.5rem;
}
.text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}
.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}
.text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}
.font-black {
  font-weight: 900;
}
.font-bold {
  font-weight: 700;
}
.font-medium {
  font-weight: 500;
}
.font-normal {
  font-weight: 400;
}
.font-semibold {
  font-weight: 600;
}
.uppercase {
  text-transform: uppercase;
}
.normal-case {
  text-transform: none;
}
.italic {
  font-style: italic;
}
.tabular-nums {
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.leading-\[1\.08\] {
  line-height: 1.08;
}
.leading-none {
  line-height: 1;
}
.leading-relaxed {
  line-height: 1.625;
}
.leading-snug {
  line-height: 1.375;
}
.leading-tight {
  line-height: 1.25;
}
.tracking-\[0\.04em\] {
  letter-spacing: 0.04em;
}
.tracking-\[0\.06em\] {
  letter-spacing: 0.06em;
}
.tracking-\[0\.08em\] {
  letter-spacing: 0.08em;
}
.tracking-\[0\.12em\] {
  letter-spacing: 0.12em;
}
.tracking-\[0\.14em\] {
  letter-spacing: 0.14em;
}
.tracking-\[0\.16em\] {
  letter-spacing: 0.16em;
}
.tracking-\[0\.18em\] {
  letter-spacing: 0.18em;
}
.tracking-\[0\.1em\] {
  letter-spacing: 0.1em;
}
.tracking-\[0\.22em\] {
  letter-spacing: 0.22em;
}
.tracking-\[0\.24em\] {
  letter-spacing: 0.24em;
}
.tracking-\[0\.25em\] {
  letter-spacing: 0.25em;
}
.tracking-\[0\.28em\] {
  letter-spacing: 0.28em;
}
.tracking-\[0\.2em\] {
  letter-spacing: 0.2em;
}
.tracking-\[0\.38em\] {
  letter-spacing: 0.38em;
}
.tracking-\[0\.42em\] {
  letter-spacing: 0.42em;
}
.tracking-normal {
  letter-spacing: 0em;
}
.tracking-tight {
  letter-spacing: -0.025em;
}
.tracking-wide {
  letter-spacing: 0.025em;
}
.tracking-wider {
  letter-spacing: 0.05em;
}
.tracking-widest {
  letter-spacing: 0.1em;
}
.text-accent-foreground {
  color: hsl(var(--accent-foreground));
}
.text-amber-100 {
  --tw-text-opacity: 1;
  color: rgb(254 243 199 / var(--tw-text-opacity, 1));
}
.text-amber-100\/80 {
  color: rgb(254 243 199 / 0.8);
}
.text-amber-100\/90 {
  color: rgb(254 243 199 / 0.9);
}
.text-amber-200 {
  --tw-text-opacity: 1;
  color: rgb(253 230 138 / var(--tw-text-opacity, 1));
}
.text-amber-200\/80 {
  color: rgb(253 230 138 / 0.8);
}
.text-amber-200\/90 {
  color: rgb(253 230 138 / 0.9);
}
.text-amber-300 {
  --tw-text-opacity: 1;
  color: rgb(252 211 77 / var(--tw-text-opacity, 1));
}
.text-amber-300\/80 {
  color: rgb(252 211 77 / 0.8);
}
.text-amber-400 {
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}
.text-amber-500 {
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}
.text-amber-500\/90 {
  color: rgb(245 158 11 / 0.9);
}
.text-amber-500\/95 {
  color: rgb(245 158 11 / 0.95);
}
.text-amber-600 {
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / var(--tw-text-opacity, 1));
}
.text-amber-950 {
  --tw-text-opacity: 1;
  color: rgb(69 26 3 / var(--tw-text-opacity, 1));
}
.text-background {
  color: hsl(var(--background));
}
.text-black {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}
.text-card-foreground {
  color: hsl(var(--card-foreground));
}
.text-current {
  color: currentColor;
}
.text-cyan-100 {
  --tw-text-opacity: 1;
  color: rgb(207 250 254 / var(--tw-text-opacity, 1));
}
.text-cyan-200 {
  --tw-text-opacity: 1;
  color: rgb(165 243 252 / var(--tw-text-opacity, 1));
}
.text-cyan-300 {
  --tw-text-opacity: 1;
  color: rgb(103 232 249 / var(--tw-text-opacity, 1));
}
.text-cyan-300\/90 {
  color: rgb(103 232 249 / 0.9);
}
.text-cyan-400 {
  --tw-text-opacity: 1;
  color: rgb(34 211 238 / var(--tw-text-opacity, 1));
}
.text-cyan-400\/90 {
  color: rgb(34 211 238 / 0.9);
}
.text-cyan-500\/90 {
  color: rgb(6 182 212 / 0.9);
}
.text-cyan-950 {
  --tw-text-opacity: 1;
  color: rgb(8 51 68 / var(--tw-text-opacity, 1));
}
.text-destructive {
  color: hsl(var(--destructive));
}
.text-destructive-foreground {
  color: hsl(var(--destructive-foreground));
}
.text-emerald-300 {
  --tw-text-opacity: 1;
  color: rgb(110 231 183 / var(--tw-text-opacity, 1));
}
.text-emerald-300\/55 {
  color: rgb(110 231 183 / 0.55);
}
.text-emerald-400 {
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}
.text-emerald-400\/90 {
  color: rgb(52 211 153 / 0.9);
}
.text-emerald-950 {
  --tw-text-opacity: 1;
  color: rgb(2 44 34 / var(--tw-text-opacity, 1));
}
.text-foreground {
  color: hsl(var(--foreground));
}
.text-foreground\/40 {
  color: hsl(var(--foreground) / 0.4);
}
.text-foreground\/50 {
  color: hsl(var(--foreground) / 0.5);
}
.text-foreground\/70 {
  color: hsl(var(--foreground) / 0.7);
}
.text-foreground\/75 {
  color: hsl(var(--foreground) / 0.75);
}
.text-foreground\/80 {
  color: hsl(var(--foreground) / 0.8);
}
.text-foreground\/85 {
  color: hsl(var(--foreground) / 0.85);
}
.text-foreground\/90 {
  color: hsl(var(--foreground) / 0.9);
}
.text-fuchsia-400\/90 {
  color: rgb(232 121 249 / 0.9);
}
.text-green-400 {
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}
.text-indigo-200 {
  --tw-text-opacity: 1;
  color: rgb(199 210 254 / var(--tw-text-opacity, 1));
}
.text-indigo-300 {
  --tw-text-opacity: 1;
  color: rgb(165 180 252 / var(--tw-text-opacity, 1));
}
.text-indigo-400 {
  --tw-text-opacity: 1;
  color: rgb(129 140 248 / var(--tw-text-opacity, 1));
}
.text-indigo-950 {
  --tw-text-opacity: 1;
  color: rgb(30 27 75 / var(--tw-text-opacity, 1));
}
.text-muted-foreground {
  color: hsl(var(--muted-foreground));
}
.text-muted-foreground\/20 {
  color: hsl(var(--muted-foreground) / 0.2);
}
.text-muted-foreground\/30 {
  color: hsl(var(--muted-foreground) / 0.3);
}
.text-muted-foreground\/40 {
  color: hsl(var(--muted-foreground) / 0.4);
}
.text-muted-foreground\/50 {
  color: hsl(var(--muted-foreground) / 0.5);
}
.text-muted-foreground\/60 {
  color: hsl(var(--muted-foreground) / 0.6);
}
.text-muted-foreground\/70 {
  color: hsl(var(--muted-foreground) / 0.7);
}
.text-muted-foreground\/80 {
  color: hsl(var(--muted-foreground) / 0.8);
}
.text-muted-foreground\/90 {
  color: hsl(var(--muted-foreground) / 0.9);
}
.text-orange-300 {
  --tw-text-opacity: 1;
  color: rgb(253 186 116 / var(--tw-text-opacity, 1));
}
.text-orange-500 {
  --tw-text-opacity: 1;
  color: rgb(249 115 22 / var(--tw-text-opacity, 1));
}
.text-popover-foreground {
  color: hsl(var(--popover-foreground));
}
.text-primary {
  color: hsl(var(--primary));
}
.text-primary-foreground {
  color: hsl(var(--primary-foreground));
}
.text-primary-foreground\/70 {
  color: hsl(var(--primary-foreground) / 0.7);
}
.text-primary\/80 {
  color: hsl(var(--primary) / 0.8);
}
.text-primary\/90 {
  color: hsl(var(--primary) / 0.9);
}
.text-red-300 {
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}
.text-red-400 {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}
.text-red-400\/80 {
  color: rgb(248 113 113 / 0.8);
}
.text-rose-300 {
  --tw-text-opacity: 1;
  color: rgb(253 164 175 / var(--tw-text-opacity, 1));
}
.text-rose-300\/50 {
  color: rgb(253 164 175 / 0.5);
}
.text-rose-400 {
  --tw-text-opacity: 1;
  color: rgb(251 113 133 / var(--tw-text-opacity, 1));
}
.text-rose-400\/90 {
  color: rgb(251 113 133 / 0.9);
}
.text-secondary-foreground {
  color: hsl(var(--secondary-foreground));
}
.text-sidebar-foreground {
  color: hsl(var(--sidebar-foreground));
}
.text-sidebar-foreground\/70 {
  color: hsl(var(--sidebar-foreground) / 0.7);
}
.text-sky-200 {
  --tw-text-opacity: 1;
  color: rgb(186 230 253 / var(--tw-text-opacity, 1));
}
.text-sky-300 {
  --tw-text-opacity: 1;
  color: rgb(125 211 252 / var(--tw-text-opacity, 1));
}
.text-sky-400\/90 {
  color: rgb(56 189 248 / 0.9);
}
.text-sky-950 {
  --tw-text-opacity: 1;
  color: rgb(8 47 73 / var(--tw-text-opacity, 1));
}
.text-skybrain-amber {
  color: hsl(var(--skybrain-amber));
}
.text-skybrain-blue {
  color: hsl(var(--skybrain-blue));
}
.text-skybrain-cyan {
  color: hsl(var(--skybrain-cyan));
}
.text-skybrain-cyan\/80 {
  color: hsl(var(--skybrain-cyan) / 0.8);
}
.text-skybrain-green {
  color: hsl(var(--skybrain-green));
}
.text-skybrain-purple {
  color: hsl(var(--skybrain-purple));
}
.text-skybrain-red {
  color: hsl(var(--skybrain-red));
}
.text-slate-200 {
  --tw-text-opacity: 1;
  color: rgb(226 232 240 / var(--tw-text-opacity, 1));
}
.text-slate-300 {
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}
.text-slate-400 {
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}
.text-slate-500 {
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}
.text-slate-800 {
  --tw-text-opacity: 1;
  color: rgb(30 41 59 / var(--tw-text-opacity, 1));
}
.text-violet-100 {
  --tw-text-opacity: 1;
  color: rgb(237 233 254 / var(--tw-text-opacity, 1));
}
.text-violet-200 {
  --tw-text-opacity: 1;
  color: rgb(221 214 254 / var(--tw-text-opacity, 1));
}
.text-violet-300 {
  --tw-text-opacity: 1;
  color: rgb(196 181 253 / var(--tw-text-opacity, 1));
}
.text-violet-300\/90 {
  color: rgb(196 181 253 / 0.9);
}
.text-violet-400 {
  --tw-text-opacity: 1;
  color: rgb(167 139 250 / var(--tw-text-opacity, 1));
}
.text-violet-400\/90 {
  color: rgb(167 139 250 / 0.9);
}
.text-violet-950 {
  --tw-text-opacity: 1;
  color: rgb(46 16 101 / var(--tw-text-opacity, 1));
}
.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.text-white\/50 {
  color: rgb(255 255 255 / 0.5);
}
.underline {
  text-decoration-line: underline;
}
.line-through {
  text-decoration-line: line-through;
}
.underline-offset-2 {
  text-underline-offset: 2px;
}
.underline-offset-4 {
  text-underline-offset: 4px;
}
.accent-amber-500 {
  accent-color: #f59e0b;
}
.accent-primary {
  accent-color: hsl(var(--primary));
}
.accent-violet-400 {
  accent-color: #a78bfa;
}
.opacity-0 {
  opacity: 0;
}
.opacity-100 {
  opacity: 1;
}
.opacity-25 {
  opacity: 0.25;
}
.opacity-30 {
  opacity: 0.3;
}
.opacity-35 {
  opacity: 0.35;
}
.opacity-40 {
  opacity: 0.4;
}
.opacity-45 {
  opacity: 0.45;
}
.opacity-50 {
  opacity: 0.5;
}
.opacity-55 {
  opacity: 0.55;
}
.opacity-60 {
  opacity: 0.6;
}
.opacity-70 {
  opacity: 0.7;
}
.opacity-80 {
  opacity: 0.8;
}
.opacity-90 {
  opacity: 0.9;
}
.shadow-2xl {
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\] {
  --tw-shadow: 0 0 0 1px hsl(var(--sidebar-border));
  --tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_10px_hsl\(186_100\%_50\%\/0\.12\)\] {
  --tw-shadow: 0 0 10px hsl(186 100% 50%/0.12);
  --tw-shadow-colored: 0 0 10px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_10px_hsl\(186_100\%_50\%\/0\.8\)\] {
  --tw-shadow: 0 0 10px hsl(186 100% 50%/0.8);
  --tw-shadow-colored: 0 0 10px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_24px_rgba\(103\2c 232\2c 249\2c 0\.35\)\] {
  --tw-shadow: 0 0 24px rgba(103,232,249,0.35);
  --tw-shadow-colored: 0 0 24px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_40px_rgba\(103\2c 232\2c 249\2c 0\.45\)\] {
  --tw-shadow: 0 0 40px rgba(103,232,249,0.45);
  --tw-shadow-colored: 0 0 40px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_60px_-12px_hsl\(var\(--primary\)\/0\.15\)\] {
  --tw-shadow: 0 0 60px -12px hsl(var(--primary)/0.15);
  --tw-shadow-colored: 0 0 60px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_6px_hsl\(186_100\%_50\%\)\] {
  --tw-shadow: 0 0 6px hsl(186 100% 50%);
  --tw-shadow-colored: 0 0 6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_12px_32px_rgba\(0\2c 0\2c 0\2c 0\.45\)\] {
  --tw-shadow: 0 12px 32px rgba(0,0,0,0.45);
  --tw-shadow-colored: 0 12px 32px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_28px_80px_rgba\(0\2c 0\2c 0\2c 0\.55\)\] {
  --tw-shadow: 0 28px 80px rgba(0,0,0,0.55);
  --tw-shadow-colored: 0 28px 80px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_8px_24px_hsl\(0_0\%_0\%\/0\.35\)\] {
  --tw-shadow: 0 8px 24px hsl(0 0% 0%/0.35);
  --tw-shadow-colored: 0 8px 24px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-lg {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-md {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-none {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-sm {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-xl {
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[var\(--hud-glow\)\] {
  --tw-shadow-color: var(--hud-glow);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-\[var\(--hud-shadow\)\] {
  --tw-shadow-color: var(--hud-shadow);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-primary\/10 {
  --tw-shadow-color: hsl(var(--primary) / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-primary\/20 {
  --tw-shadow-color: hsl(var(--primary) / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-skybrain-amber\/20 {
  --tw-shadow-color: hsl(var(--skybrain-amber) / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}
.outline-none {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.outline {
  outline-style: solid;
}
.ring {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-0 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-1 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-2 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-foreground {
  --tw-ring-color: hsl(var(--foreground));
}
.ring-primary\/30 {
  --tw-ring-color: hsl(var(--primary) / 0.3);
}
.ring-ring {
  --tw-ring-color: hsl(var(--ring));
}
.ring-sidebar-ring {
  --tw-ring-color: hsl(var(--sidebar-ring));
}
.ring-white\/10 {
  --tw-ring-color: rgb(255 255 255 / 0.1);
}
.ring-white\/25 {
  --tw-ring-color: rgb(255 255 255 / 0.25);
}
.ring-offset-background {
  --tw-ring-offset-color: hsl(var(--background));
}
.blur {
  --tw-blur: blur(8px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow {
  --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-\[var\(--hud-shadow\)\] {
  --tw-drop-shadow: drop-shadow(var(--hud-shadow));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.invert {
  --tw-invert: invert(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.sepia {
  --tw-sepia: sepia(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.\!filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow) !important;
}
.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.backdrop-blur-md {
  --tw-backdrop-blur: blur(12px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-sm {
  --tw-backdrop-blur: blur(4px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-xl {
  --tw-backdrop-blur: blur(24px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[left\2c right\2c width\] {
  transition-property: left,right,width;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[margin\2c opa\] {
  transition-property: margin,opa;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[stroke-dasharray\] {
  transition-property: stroke-dasharray;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[width\2c height\2c padding\] {
  transition-property: width,height,padding;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[width\2c height\] {
  transition-property: width,height;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[width\] {
  transition-property: width;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-colors {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-opacity {
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-transform {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.duration-100 {
  transition-duration: 100ms;
}
.duration-1000 {
  transition-duration: 1000ms;
}
.duration-150 {
  transition-duration: 150ms;
}
.duration-200 {
  transition-duration: 200ms;
}
.duration-300 {
  transition-duration: 300ms;
}
.duration-500 {
  transition-duration: 500ms;
}
.duration-700 {
  transition-duration: 700ms;
}
.duration-75 {
  transition-duration: 75ms;
}
.ease-in-out {
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-linear {
  transition-timing-function: linear;
}
.ease-out {
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
@keyframes enter {
  from {
    opacity: var(--tw-enter-opacity, 1);
    transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));
  }
}
@keyframes exit {
  to {
    opacity: var(--tw-exit-opacity, 1);
    transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));
  }
}
.animate-in {
  animation-name: enter;
  animation-duration: 150ms;
  --tw-enter-opacity: initial;
  --tw-enter-scale: initial;
  --tw-enter-rotate: initial;
  --tw-enter-translate-x: initial;
  --tw-enter-translate-y: initial;
}
.fade-in-0 {
  --tw-enter-opacity: 0;
}
.fade-in-80 {
  --tw-enter-opacity: 0.8;
}
.zoom-in-95 {
  --tw-enter-scale: .95;
}
.duration-100 {
  animation-duration: 100ms;
}
.duration-1000 {
  animation-duration: 1000ms;
}
.duration-150 {
  animation-duration: 150ms;
}
.duration-200 {
  animation-duration: 200ms;
}
.duration-300 {
  animation-duration: 300ms;
}
.duration-500 {
  animation-duration: 500ms;
}
.duration-700 {
  animation-duration: 700ms;
}
.duration-75 {
  animation-duration: 75ms;
}
.ease-in-out {
  animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-linear {
  animation-timing-function: linear;
}
.ease-out {
  animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
.running {
  animation-play-state: running;
}
.\!paused {
  animation-play-state: paused !important;
}
.paused {
  animation-play-state: paused;
}
  /* Extra air above the system nav after #root already applied the inset. */
  .page-safe-bottom {
    padding-bottom: 1rem;
  }

  /* Hidden scrollbar utility */
  .scrollbar-hidden {
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .scrollbar-hidden::-webkit-scrollbar {
    display: none;
  }

  .font-display {
    font-family: var(--font-display);
  }

  .font-mono {
    font-family: var(--font-mono);
  }

  /* Three card levels. Cyan borders mean selected or active, not "this is a card". */
  .card-surface {
    background: hsl(var(--card));
    border: 1px solid hsl(var(--border));
    border-radius: var(--radius);
    box-shadow: inset 0 1px 0 hsl(0 0% 100% / 0.03);
  }

  .card-interactive {
    background: hsl(var(--card));
    border: 1px solid hsl(var(--border));
    border-radius: var(--radius);
    box-shadow: inset 0 1px 0 hsl(0 0% 100% / 0.03);
    transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease;
  }

  .card-interactive:hover {
    border-color: hsl(var(--foreground) / 0.16);
  }

  .pressable {
    transition: transform 160ms ease, background-color 160ms ease, border-color 160ms ease;
  }

  .pressable:active {
    transform: scale(0.98);
  }

  @media (prefers-reduced-motion: reduce) {
    .pressable:active,
    .card-interactive,
    .card-selected {
      transition: none;
      transform: none;
    }
  }

  .text-gradient-neural {
    background: var(--gradient-neural);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }

  .glow-cyan {
    box-shadow: var(--shadow-glow-cyan);
  }
  .today-ring-track {
    stroke: hsl(var(--primary) / 0.18);
  }

  .glance-tile {
    background: linear-gradient(180deg, hsl(0 0% 4%) 0%, hsl(0 0% 1.5%) 100%);
    box-shadow:
      inset 0 1px 0 hsl(0 0% 100% / 0.035),
      0 8px 22px hsl(0 0% 0% / 0.45);
  }

  /* Icon well sets the column width; the digit is centered under the glyph. */
  .glance-tile-value {
    display: block;
    margin: 0;
    padding: 0;
    letter-spacing: 0;
    text-align: center;
    font-variant-numeric: slashed-zero;
  }
  .glance-tile-icon {
    align-self: center;
    margin-inline-start: 0;
  }

  html[data-theme="light"] .glance-tile {
    background: linear-gradient(180deg, hsl(0 0% 100%) 0%, hsl(220 8% 97%) 100%);
    box-shadow: 0 6px 20px hsl(220 12% 30% / 0.08);
  }

  html[data-theme="light"] .glance-tile-value {
    color: hsl(var(--primary));
    font-weight: 500;
  }

  .hud-icon-btn {
    height: var(--hud-icon);
    width: var(--hud-icon);
    min-width: var(--hud-icon);
    min-height: var(--hud-icon);
    flex-shrink: 0;
    overflow: visible;
  }

  .hud-icon-btn svg {
    height: var(--hud-icon-svg) !important;
    width: var(--hud-icon-svg) !important;
    max-width: none;
    flex-shrink: 0;
    overflow: visible;
    aspect-ratio: 1;
  }

  .hud-icon-glow svg {
    filter: drop-shadow(0 0 10px hsl(var(--primary) / var(--hud-icon-glow)));
  }

  .hud-icon-glow-halo svg {
    filter:
      drop-shadow(0 0 12px hsl(270 70% 60% / var(--hud-icon-glow)))
      drop-shadow(0 0 10px hsl(var(--primary) / var(--hud-icon-glow)));
  }

  html[data-theme="light"] .hud-atmosphere-waves {
    opacity: 0.22;
  }

  .glow-amber {
    box-shadow: var(--shadow-glow-amber);
  }

  .glow-green {
    box-shadow: var(--shadow-glow-green);
  }

  .splash-stage {
    background:
      radial-gradient(ellipse 90% 62% at 50% 40%, #101a2a 0%, #070b12 52%, #05070c 100%);
  }

  html[data-theme="light"] .splash-stage {
    background: hsl(var(--background));
  }

  html[data-theme="light"] .splash-spinner {
    filter: drop-shadow(0 0 8px hsl(186 100% 32% / 0.22));
  }

  .splash-track-label {
    position: relative;
    display: inline-block;
    padding: 0.5rem 0.72rem;
    font-family: var(--font-mono);
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.18em;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
    color: color-mix(in oklab, var(--foreground) 72%, transparent);
  }

  .splash-bracket {
    position: absolute;
    width: 0.42rem;
    height: 0.42rem;
    pointer-events: none;
  }

  .splash-bracket-tl {
    top: 0;
    left: 0;
    border-top: 1px solid color-mix(in oklab, var(--foreground) 38%, transparent);
    border-left: 1px solid color-mix(in oklab, var(--foreground) 38%, transparent);
  }

  .splash-bracket-tr {
    top: 0;
    right: 0;
    border-top: 1px solid color-mix(in oklab, var(--foreground) 38%, transparent);
    border-right: 1px solid color-mix(in oklab, var(--foreground) 38%, transparent);
  }

  .splash-bracket-bl {
    bottom: 0;
    left: 0;
    border-bottom: 1px solid color-mix(in oklab, var(--foreground) 38%, transparent);
    border-left: 1px solid color-mix(in oklab, var(--foreground) 38%, transparent);
  }

  .splash-bracket-br {
    bottom: 0;
    right: 0;
    border-bottom: 1px solid color-mix(in oklab, var(--foreground) 38%, transparent);
    border-right: 1px solid color-mix(in oklab, var(--foreground) 38%, transparent);
  }

  .splash-spinner {
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 999px;
    background: conic-gradient(from 180deg, #00d4ff, #2276d2, #9b6bff, #00d4ff);
    -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 2.5px), #000 0);
    mask: radial-gradient(farthest-side, transparent calc(100% - 2.5px), #000 0);
    filter: drop-shadow(0 0 10px rgba(0, 212, 255, 0.45));
    animation: splash-spin 1.05s linear infinite;
  }

  @keyframes splash-spin {
    to {
      transform: rotate(360deg);
    }
  }

  /* Login page: allow full-page scroll (overrides #root fixed height constraint) */
  .login-research-page {
    min-height: 100dvh;
  }

  /* Login and welcome stay on the dark product field even if the app theme is light. */
  .marketing-night {
    --background: 222 47% 5%;
    --foreground: 210 40% 98%;
    --card: 222 36% 8%;
    --card-foreground: 210 40% 98%;
    --muted-foreground: 215 18% 74%;
    --border: 214 24% 22%;
    --primary: 186 100% 50%;
    --primary-foreground: 222 47% 6%;
    --secondary: 222 30% 12%;
    background-color: hsl(var(--background));
    color: hsl(var(--foreground));
  }

  /* Native phone Home — #root already reserved the status bar and dock, so
     the glance stack must fit without a second scroll. */
  /* Android WebView often paints the next swipe dest (Practice) through Home.
     clip-path clips that layer; overflow:hidden alone does not. */
  html[data-native-shell="android"] [data-chrome="home-deck"] {
    overflow: hidden;
    isolation: isolate;
    background-color: hsl(var(--background));
    clip-path: inset(0);
  }
  html[data-native-shell="android"] [data-chrome="home-deck"] .overflow-hidden {
    overflow: hidden !important;
    contain: paint;
    background-color: hsl(var(--background));
    clip-path: inset(0);
  }
  /* Idle dest slides use SwipeDeck's `.invisible` when settled. Do not
     hide every [aria-hidden] descendant — Lucide icons are aria-hidden,
     and that rule wiped every Home tile icon on Android. */
  html[data-native-shell="android"] .glance-stack {
    background-color: hsl(var(--background));
  }
  html[data-native-shell="android"] .glance-tile,
  html[data-native-shell="android"] .glance-banner {
    background: hsl(var(--card));
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
  html[data-native-shell] .glance-stack {
    gap: 0.85rem;
    justify-content: space-between;
  }
  html[data-native-shell] .glance-main {
    display: flex;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 0.75rem;
  }
  html[data-native-shell] .glance-greeting h1 {
    font-size: 1.35rem;
  }
  html[data-native-shell] .glance-greeting .glance-name {
    font-size: 1.6rem;
  }
  html[data-native-shell] .glance-tiles {
    flex: 0 0 auto;
    align-content: start;
    align-items: start;
    grid-auto-rows: auto;
    gap: 0.55rem;
  }
  html[data-native-shell] .glance-tile {
    height: auto;
    min-height: 4.25rem;
    align-self: start;
    padding-top: 0.55rem;
    padding-bottom: 0.55rem;
  }
  /* Number only — the tile name must not inherit this size. */
  html[data-native-shell] .glance-tile-value {
    font-size: 1.5rem;
  }
  html[data-native-shell] .glance-tile .glance-tile-name {
    font-family: var(--font-display);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: -0.025em;
    line-height: 1;
    color: hsl(var(--foreground));
  }
  html[data-native-shell] .glance-tile .glance-tile-detail {
    font-family: var(--font-body);
    font-size: 0.6875rem;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.25;
    color: hsl(var(--muted-foreground));
  }
  html[data-native-shell] .glance-tile-icon {
    height: 2rem;
    width: 2rem;
    min-height: 2rem;
    min-width: 2rem;
    margin-inline-start: 0;
  }
  html[data-native-shell] .glance-tile-icon svg {
    height: 1.25rem;
    width: 1.25rem;
    min-height: 1.25rem;
    min-width: 1.25rem;
  }
  html[data-native-shell] .glance-offer {
    gap: 0.45rem;
    margin-top: auto;
    padding-bottom: 0;
  }
  html[data-native-shell] .glance-offer-actions {
    gap: 0.35rem;
  }

  /* Today — steps hug their label + detail. Leftover height sits between
     the path and the watch row (margin-top: auto), never inside the cards.
     Android WebView clips overflow-hidden children; keep the CTA a sibling
     of the main column. Watch tiles stay a 3-col grid so HR remains visible. */
  html[data-native-shell] .today-stack {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    gap: 0.65rem;
    padding-top: 0.45rem;
    padding-bottom: 0.15rem;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    justify-content: flex-start;
    overflow-x: hidden;
  }
  html[data-native-shell] .today-main {
    display: flex;
    min-height: 0;
    min-width: 0;
    max-width: 100%;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 0;
    overflow: hidden;
  }
  html[data-native-shell] .today-greeting {
    margin-bottom: 1.15rem;
  }
  html[data-native-shell] .today-greeting h1 {
    font-size: 1.35rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1;
  }
  html[data-native-shell] .today-name {
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1;
    color: hsl(var(--primary));
  }
  html[data-native-shell] .today-loop {
    flex: 0 0 auto;
    min-width: 0;
    max-width: 100%;
    gap: 0;
    overflow: visible;
  }
  html[data-native-shell] .today-loop > h2 {
    margin-bottom: 0.85rem;
  }
  html[data-native-shell] .today-progress {
    margin-bottom: 1rem;
    min-width: 0;
    max-width: 100%;
  }
  html[data-native-shell] .today-path {
    flex: 0 0 auto;
    min-width: 0;
    max-width: 100%;
    gap: 0.5rem;
    overflow: visible;
  }
  html[data-native-shell] .today-path > li {
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    min-height: 0;
  }
  html[data-native-shell] .today-step {
    flex: 0 0 auto;
    height: auto;
    min-height: 0;
    min-width: 0;
    max-width: 100%;
    width: 100%;
    box-sizing: border-box;
    padding: 0.5rem 0.75rem;
    overflow: hidden;
  }
  html[data-native-shell] .today-watch {
    flex: 0 0 auto;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin-top: auto;
    padding-top: 0.75rem;
    border-top: 1px solid hsl(var(--border) / 0.7);
  }
  html[data-native-shell] .today-watch-grid {
    width: 100%;
    min-width: 0;
    gap: 0.5rem;
  }
  html[data-native-shell] .today-watch-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
    min-height: 3.5rem;
    min-width: 0;
    padding: 0.6rem 0.7rem;
  }
  html[data-native-shell] .today-offer {
    flex: 0 0 auto;
    gap: 0.25rem;
    margin-top: 0;
    padding-bottom: 0;
  }

  /* Vite / Chrome phone Home — keep metric tiles content-sized above the
     headset line and CTAs. Android stays on native-shell. */
  @media (max-width: 639px) {
    html:not([data-native-shell]) .glance-stack {
      justify-content: flex-start;
      gap: 0.65rem;
    }
    html:not([data-native-shell]) .glance-main {
      overflow: hidden;
    }
    html:not([data-native-shell]) .glance-tiles {
      flex: 0 0 auto;
      align-content: start;
      grid-auto-rows: auto;
      gap: 0.5rem;
    }
    html:not([data-native-shell]) .glance-tile {
      height: auto;
      min-height: 4.25rem;
    }
    html:not([data-native-shell]) .glance-offer {
      position: relative;
      z-index: 2;
      flex: 0 0 auto;
      gap: 0.45rem;
      margin-top: 0;
    }
    html:not([data-native-shell]) .glance-banner {
      background: hsl(var(--card));
    }
    html:not([data-native-shell]) .today-stack {
      box-sizing: border-box;
      width: 100%;
      max-width: 100%;
      min-width: 0;
      justify-content: flex-start;
      gap: 0.65rem;
      padding-left: 0.75rem;
      padding-right: 0.75rem;
      overflow-x: hidden;
    }
    html:not([data-native-shell]) .today-main {
      min-width: 0;
      max-width: 100%;
      gap: 0;
      overflow: hidden;
    }
    html:not([data-native-shell]) .today-greeting {
      margin-bottom: 1.15rem;
    }
    html:not([data-native-shell]) .today-greeting h1 {
      font-size: 1.5rem;
      font-weight: 700;
      letter-spacing: 0.1em;
      line-height: 1;
    }
    html:not([data-native-shell]) .today-name {
      font-size: 1.85rem;
      font-weight: 700;
      letter-spacing: 0.04em;
      line-height: 1;
      color: hsl(var(--primary));
    }
    html:not([data-native-shell]) .today-loop {
      flex: 0 0 auto;
      min-width: 0;
      max-width: 100%;
      gap: 0;
      overflow: visible;
    }
    html:not([data-native-shell]) .today-loop > h2 {
      margin-bottom: 0.85rem;
    }
    html:not([data-native-shell]) .today-progress {
      margin-bottom: 1rem;
      min-width: 0;
      max-width: 100%;
    }
    html:not([data-native-shell]) .today-path {
      flex: 0 0 auto;
      min-width: 0;
      max-width: 100%;
      gap: 0.5rem;
      overflow: visible;
    }
    html:not([data-native-shell]) .today-path > li {
      display: flex;
      flex: 0 0 auto;
      flex-direction: column;
      width: 100%;
      min-width: 0;
      max-width: 100%;
      min-height: 0;
    }
    html:not([data-native-shell]) .today-step {
      flex: 0 0 auto;
      height: auto;
      min-height: 0;
      min-width: 0;
      max-width: 100%;
      width: 100%;
      box-sizing: border-box;
      padding: 0.5rem 0.75rem;
      overflow: hidden;
    }
    html:not([data-native-shell]) .today-watch {
      flex: 0 0 auto;
      width: 100%;
      min-width: 0;
      margin-top: auto;
      padding-top: 0.75rem;
      border-top: 1px solid hsl(var(--border) / 0.7);
    }
    html:not([data-native-shell]) .today-watch-card {
      display: flex;
      flex-direction: column;
      justify-content: center;
      box-sizing: border-box;
      min-height: 3.5rem;
      padding: 0.6rem 0.7rem;
    }
    html:not([data-native-shell]) .today-hero-title {
      font-size: 1.1rem;
      letter-spacing: 0.02em;
      text-transform: none;
    }
    html:not([data-native-shell]) .today-offer {
      position: relative;
      z-index: 2;
      flex: 0 0 auto;
      gap: 0.4rem;
      margin-top: 0;
    }
  }

  /* Native phone Log a session — S23-class height with HUD + dock.
     Vite phone preview keeps the Tailwind sizes on the components. */
  @media (max-width: 639px) {
    html[data-native-shell] .log-setup-heading {
      gap: 0.25rem;
      padding-bottom: 0.5rem;
    }
    html[data-native-shell] .log-setup-title {
      font-size: 1.125rem;
      letter-spacing: 0.05em;
    }
    html[data-native-shell] .log-setup-form {
      gap: 0.5rem;
    }
    html[data-native-shell] .log-setup-card {
      padding: 0.5rem 0.75rem;
    }
    html[data-native-shell] .log-setup-card-head {
      margin-bottom: 0.4rem;
      gap: 0.5rem;
    }
    html[data-native-shell] .log-setup-card-index {
      height: 1.375rem;
      width: 1.375rem;
      font-size: 10px;
    }
    html[data-native-shell] .log-setup-card-head h2 {
      font-size: 12px;
      letter-spacing: 0.1em;
    }
    html[data-native-shell] .log-setup-card-head p {
      margin-top: 0.1rem;
      font-size: 10px;
      line-height: 1.25;
    }
    html[data-native-shell] .log-setup .swipe-peek-card {
      min-height: 3.15rem;
      padding-top: 0.3rem;
      padding-bottom: 0.3rem;
    }
    html[data-native-shell] .log-setup .swipe-peek-card .h-8 {
      height: 1.35rem;
      width: 1.35rem;
    }
    html[data-native-shell] .log-setup .swipe-peek-card .h-6 {
      height: 1.05rem;
      width: 1.05rem;
    }
    html[data-native-shell] .log-setup .swipe-peek-card .gap-2 {
      gap: 0.25rem;
    }
    html[data-native-shell] .log-setup-field-label {
      margin-bottom: 0.25rem;
    }
    html[data-native-shell] .log-setup-field {
      height: 2.25rem;
      font-size: 0.75rem;
      border-radius: 0.625rem;
      padding-top: 0;
      padding-bottom: 0;
    }
    html[data-native-shell] .log-setup-cta {
      padding-top: 0.25rem;
    }
  }

  /* 360×649-class phones: Home and Log a session must fit above the dock. */
  @media (max-width: 639px) and (max-height: 720px) {
    .glance-stack {
      gap: 0.55rem;
      justify-content: flex-start;
    }
    .glance-greeting {
      gap: 0.15rem;
    }
    .glance-greeting h1 {
      font-size: 1.25rem;
      line-height: 1.1;
    }
    .glance-greeting .glance-name {
      font-size: 1.5rem;
    }
    .glance-greeting .glance-body {
      font-size: 1.125rem;
      line-height: 1.35;
    }
    html:not([data-native-shell]) .today-greeting h1 {
      font-size: 1.25rem;
      line-height: 1.1;
    }
    html:not([data-native-shell]) .today-name {
      font-size: 1.5rem;
    }
    html[data-native-shell] .today-greeting,
    html:not([data-native-shell]) .today-greeting {
      margin-bottom: 0.7rem;
    }
    html[data-native-shell] .today-loop > h2,
    html:not([data-native-shell]) .today-loop > h2 {
      margin-bottom: 0.55rem;
    }
    html[data-native-shell] .today-progress,
    html:not([data-native-shell]) .today-progress {
      margin-bottom: 0.65rem;
    }
    html[data-native-shell] .today-watch-card,
    html:not([data-native-shell]) .today-watch-card {
      min-height: 3.05rem;
      padding-top: 0.45rem;
      padding-bottom: 0.45rem;
    }
    .glance-tiles {
      gap: 0.45rem;
    }
    .glance-tile {
      min-height: 4.25rem;
      padding-top: 0.5rem;
      padding-bottom: 0.5rem;
    }
    .glance-tile-value {
      font-size: 1.5rem;
    }
    .glance-tile .glance-tile-name {
      font-family: var(--font-display);
      font-size: 0.8125rem;
      font-weight: 600;
      letter-spacing: -0.025em;
      line-height: 1;
      color: hsl(var(--foreground));
    }
    .glance-tile .glance-tile-detail {
      font-family: var(--font-body);
      font-size: 0.6875rem;
      font-weight: 400;
      letter-spacing: 0;
      line-height: 1.25;
      color: hsl(var(--muted-foreground));
    }
    .glance-offer {
      gap: 0.4rem;
    }
    .glance-offer-actions {
      gap: 0.35rem;
    }
    .glance-offer p {
      font-size: 0.7rem;
      line-height: 1.3;
    }
    .glance-swipe-hint {
      display: none;
    }
    .swipe-select-tile:not(.swipe-peek-card) {
      min-height: 3.25rem;
      padding-top: 0.4rem;
      padding-bottom: 0.4rem;
    }
    .log-setup-title {
      font-size: 1.125rem;
      letter-spacing: 0.05em;
    }
    .glow-cta {
      box-shadow: 0 0 8px hsl(186 100% 55% / 0.28);
    }
  }

  /* Self-report sliders: native input is a transparent hit target; the fill
     lives in the sibling bar. Thumb stays cyan. */
  .self-report-range {
    -webkit-appearance: none;
    -moz-appearance: none;
         appearance: none;
    height: 1.25rem;
    background: transparent;
    outline: none;
  }

  .self-report-range::-webkit-slider-runnable-track {
    height: 0.5rem;
    background: transparent;
    border: none;
  }

  .self-report-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 1.15rem;
    height: 1.15rem;
    margin-top: -0.32rem;
    border-radius: 9999px;
    background: hsl(var(--primary));
    border: 2px solid hsl(var(--background));
    box-shadow: 0 0 12px hsl(var(--primary) / 0.7);
    cursor: pointer;
  }

  .self-report-range::-moz-range-track {
    height: 0.5rem;
    border: none;
    background: transparent;
  }

  .self-report-range::-moz-range-thumb {
    width: 1rem;
    height: 1rem;
    border-radius: 9999px;
    background: hsl(var(--primary));
    border: 2px solid hsl(var(--background));
    box-shadow: 0 0 8px hsl(var(--primary) / 0.45);
    cursor: pointer;
  }

  /* Scan line effect */
  .scanline::after {
    content: '';
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(
      0deg,
      transparent,
      transparent 2px,
      hsl(var(--primary) / 0.03) 2px,
      hsl(var(--primary) / 0.03) 4px
    );
    pointer-events: none;
  }

  /* Pulse animation for live indicators */
  @keyframes pulse-glow {
    0%, 100% {
      opacity: 1;
      box-shadow: 0 0 10px hsl(var(--skybrain-cyan) / 0.5);
    }
    50% {
      opacity: 0.7;
      box-shadow: 0 0 20px hsl(var(--skybrain-cyan) / 0.8);
    }
  }

  /* Demo overlay pointers — visual only; never moves the system cursor. */
  @keyframes walkthrough-ring-pulse {
    0%, 100% {
      opacity: 0.55;
      box-shadow: 0 0 0 3px hsl(186 100% 50% / 0.12), 0 0 18px hsl(186 100% 50% / 0.28);
    }
    50% {
      opacity: 1;
      box-shadow: 0 0 0 6px hsl(186 100% 50% / 0.2), 0 0 28px hsl(186 100% 50% / 0.45);
    }
  }

  .walkthrough-ring {
    position: fixed;
    border-radius: 1.15rem;
    border: 2px solid hsl(186 100% 50% / 0.9);
    animation: walkthrough-ring-pulse 1.6s ease-in-out infinite;
    pointer-events: none;
  }

  @keyframes walkthrough-finger-bounce {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-7px) scale(1.08); }
  }

  .walkthrough-finger {
    position: fixed;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.3rem;
    pointer-events: none;
  }

  .walkthrough-finger-dot {
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 9999px;
    background: hsl(186 100% 50%);
    box-shadow: 0 0 0 8px hsl(186 100% 50% / 0.22), 0 0 18px hsl(186 100% 50% / 0.7);
    animation: walkthrough-finger-bounce 1.1s ease-in-out infinite;
  }

  .walkthrough-finger-label {
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #000;
    background: hsl(186 100% 50%);
    padding: 0.22rem 0.5rem;
    border-radius: 9999px;
    white-space: nowrap;
    box-shadow: 0 6px 18px hsl(0 0% 0% / 0.45);
  }

  .walkthrough-scroll-hint {
    position: fixed;
    left: 50%;
    z-index: 2;
    transform: translateX(-50%);
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #000;
    background: hsl(38 100% 50%);
    padding: 0.35rem 0.75rem;
    border-radius: 9999px;
    white-space: nowrap;
    box-shadow: 0 6px 18px hsl(0 0% 0% / 0.45);
    pointer-events: none;
  }

  /* Text-only pulse glow — animates `text-shadow` instead of `box-shadow`
     so it can be applied to inline / block text without producing a
     visible rectangular halo around the element. Used on the recording
     timer so the digits glow but the container blends with OLED black. */
  @keyframes pulse-text-glow {
    0%, 100% {
      text-shadow: 0 0 12px hsl(var(--skybrain-cyan) / 0.5);
      opacity: 1;
    }
    50% {
      text-shadow: 0 0 24px hsl(var(--skybrain-cyan) / 0.85);
      opacity: 0.9;
    }
  }
  .animate-text-glow {
    animation: pulse-text-glow 2s ease-in-out infinite;
  }

  @keyframes data-flow {
    0% {
      background-position: 200% 0;
    }
    100% {
      background-position: -200% 0;
    }
  }

  /* ===========================================================
     Mission-Control HUD utility classes
     Added 2026-05-17 for the responsive redesign. See plan:
     C:\Users\rakes\.claude\plans\now-check-the-insatlled-structured-knuth.md
     =========================================================== */

  /* Diagonal-cut HUD panel — used for instrument modules
     across screens so they read as cockpit modules, not generic
     rounded rectangles. clip-path leaves a 12px chamfer on the
     top-right and bottom-left corners. */

  /* Cyan border-beam sweep — applied to cards on mount so they
     read as "scanning" rather than static. Plays once. */
  @keyframes border-beam {
    0% { background-position: -100% 0%; }
    100% { background-position: 200% 0%; }
  }

  /* Small mono uppercase HUD label — used above instrument
     modules ("01 BASELINE", "QUALITY TIER", etc.). */
  .label-instrument {
    font-family: var(--font-mono);
    font-size: 0.625rem;
    line-height: 1;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: hsl(var(--muted-foreground));
  }

  /* Radial signal gauge — used in ContributionSession tablet
     layout. The SVG inside gets two <circle> elements: one
     .track and one .fill with stroke-dasharray controlled by
     React state. */
  .gauge-radial circle.\!track {
    stroke: hsl(var(--muted)) !important;
    stroke-width: 4 !important;
    fill: none !important;
  }
  .gauge-radial circle.track {
    stroke: hsl(var(--muted));
    stroke-width: 4;
    fill: none;
  }
  .gauge-radial circle.\!fill {
    stroke: hsl(var(--primary)) !important;
    stroke-width: 4 !important;
    fill: none !important;
    stroke-linecap: round !important;
    transition: stroke-dashoffset 0.5s ease, stroke 0.3s ease !important;
  }
  .gauge-radial circle.fill {
    stroke: hsl(var(--primary));
    stroke-width: 4;
    fill: none;
    stroke-linecap: round;
    transition: stroke-dashoffset 0.5s ease, stroke 0.3s ease;
  }
  .gauge-radial[data-state="warning"] circle.\!fill {
    stroke: hsl(var(--accent)) !important;
  }
  .gauge-radial[data-state="warning"] circle.fill {
    stroke: hsl(var(--accent));
  }
  .gauge-radial[data-state="poor"] circle.\!fill {
    stroke: hsl(var(--destructive)) !important;
  }
  .gauge-radial[data-state="poor"] circle.fill {
    stroke: hsl(var(--destructive));
  }
.\[--cta-h\:2rem\] {
  --cta-h: 2rem;
}
.\[clip-path\:inset\(0\)\] {
  clip-path: inset(0);
}

html[data-mobile-chrome="compact"] {
  --home-hero: 1.5rem;
  --home-card-min-h: 13.5rem;
  --home-card-title: 1rem;
  --home-card-body: 0.6875rem;
}

html[data-mobile-chrome="large"] {
  --home-hero: 2.25rem;
  --home-card-min-h: 17.5rem;
  --home-card-title: 1.25rem;
  --home-card-body: 0.8125rem;
}

@media (min-width: 768px) {
  :root {
    --hud-bar-h: 3.75rem;
    --hud-icon: 2.25rem;
    --hud-icon-svg: 1.125rem;
    --hud-mark: 1.875rem;
    --hud-mark-sub: 0.5625rem;
    --hud-side: 5.25rem;
    --hud-dock-w: min(36rem, calc(100vw - 4rem));
  }
}

@media (min-width: 1024px) {
  :root {
    --hud-bar-h: 4rem;
    --hud-icon: 2.375rem;
    --hud-icon-svg: 1.2rem;
    --hud-mark: 2rem;
    --hud-mark-sub: 0.625rem;
    --hud-side: 5.5rem;
    --hud-dock-w: min(42rem, calc(100vw - 6rem));
  }
}

/* Capacitor WebView — phone HUD is full-bleed. Tablet/desktop keep the
   Vite column so the APK does not stretch the bar and dock edge-to-edge. */
html[data-native-shell] {
  --hud-safe-top: max(0.5rem, env(safe-area-inset-top, 0px), var(--android-safe-top, 0px));
  --hud-safe-bottom: max(0.5rem, env(safe-area-inset-bottom, 0px), var(--android-safe-bottom, 0px));
  /* Keep --home-card-min-h on the Vite phone scale (15.5rem / compact / large).
     Stretching it to leftover viewport made APK cards fill the screen. */
}

/* Android WebView often reports env() as 0. CSS fallback, then MainActivity. */
html[data-native-shell="android"] {
  /* Punch-hole / status bar until MainActivity publishes real cutout px. */
  --android-safe-top: 2.75rem;
  --android-safe-bottom: 1rem;
}

html[data-native-shell],
html[data-native-shell] body {
  padding-top: 0;
  padding-bottom: 0;
}

html[data-native-shell] #root {
  padding-top: var(--hud-safe-top);
  padding-bottom: var(--hud-safe-bottom);
}

@media (max-width: 639px) {
  html[data-native-shell] #root {
    padding-bottom: var(--hud-safe-bottom);
  }
}

/* Vite / Chrome on Android — env() is usually 0, so the 3-button nav sits on CTAs. */
html[data-android-web]:not([data-native-shell]) {
  --android-safe-top: 1rem;
  --android-safe-bottom: 1rem;
  --hud-safe-top: max(0.5rem, env(safe-area-inset-top, 0px), var(--android-safe-top));
  --hud-safe-bottom: max(0.5rem, env(safe-area-inset-bottom, 0px), var(--android-safe-bottom));
}

html[data-android-web]:not([data-native-shell]) #root {
  padding-top: var(--hud-safe-top);
}

@media (max-width: 639px) {
  html[data-android-web]:not([data-native-shell]) #root {
    padding-bottom: var(--hud-safe-bottom);
  }
}

/* Home dock — TrackDock dest pages and TrackHome's own pill both reserve #root. */
html[data-track-dock] #root,
html[data-app-dock] #root {
  padding-bottom: calc(var(--hud-bar-h) + 0.75rem + var(--hud-safe-bottom, env(safe-area-inset-bottom, 0px)));
}

@media (max-width: 639px) {
  html[data-track-dock] #root,
  html[data-app-dock] #root {
    padding-bottom: calc(
      var(--hud-bar-h) + 0.75rem +
      max(env(safe-area-inset-bottom, 0px), var(--android-safe-bottom, 0px), var(--hud-safe-bottom, 0px))
    );
  }
}

html[data-native-shell][data-track-dock] #root,
html[data-native-shell][data-app-dock] #root {
  padding-bottom: calc(var(--hud-bar-h) + 0.75rem + var(--hud-safe-bottom));
}

/* Live EEG / NFB / drill / assessment — full bleed except the system-nav strip. */
html[data-live-viewport] #root,
html[data-live-viewport][data-track-dock] #root,
html[data-live-viewport][data-app-dock] #root {
  padding-bottom: 0;
  overflow: hidden;
}

/* Android system-nav strip only — sits *below* the dock pill. The taller
   dock-zone mask lives behind the pill in FloatingDockNav so it cannot
   paint over the bar. */
body::after {
  content: "";
  pointer-events: none;
  position: fixed;
  inset-inline: 0;
  bottom: 0;
  z-index: 35;
  height: var(--hud-safe-bottom, env(safe-area-inset-bottom, 0px));
  background: hsl(var(--background));
}

/* Full-screen protocol tasks (FocusTask, PVT, …) — fixed inset-0 ignores
   #root padding, so they must clear the punch-hole / status bar themselves. */
[data-chrome="task-overlay"] {
  padding-top: var(--hud-safe-top, env(safe-area-inset-top, 0px));
  padding-bottom: var(--hud-safe-bottom, env(safe-area-inset-bottom, 0px));
  padding-left: env(safe-area-inset-left, 0px);
  padding-right: env(safe-area-inset-right, 0px);
}

.end-session-fab {
  position: absolute;
  right: 1rem;
  bottom: calc(1rem + var(--hud-safe-bottom, env(safe-area-inset-bottom, 0px)));
}

html[data-native-shell] .min-h-dvh,
html[data-native-shell] .min-h-screen {
  min-height: 100%;
}

html[data-native-shell] [data-chrome="overlay-bottom"] {
  bottom: var(--hud-safe-bottom);
}

html[data-native-shell] [data-chrome="hud"] {
  padding-left: max(0.75rem, env(safe-area-inset-left));
  padding-right: max(0.75rem, env(safe-area-inset-right));
}

@media (max-width: 767px) {
  html[data-native-shell] {
    --hud-dock-w: calc(100vw - 1.25rem);
  }

  html[data-native-shell] [data-chrome="hud"] > div {
    max-width: none;
    width: 100%;
  }
}

/* Phone CTAs ship with desktop padding (px-8/10 py-4/5). Cap them once
   so Complete Self-Assessment, Sign in, and the other action pills shrink
   together. Card tiles use p-* + min-height and are left alone. */
@media (max-width: 639px) {
  button.py-5,
  button.py-4,
  button.px-10,
  button.px-8,
  button.min-h-\[48px\],
  a.py-5,
  a.py-4,
  a.px-10,
  a.px-8 {
    padding-block: 0.5rem !important;
    padding-inline: 0.875rem !important;
    font-size: 0.75rem !important;
    line-height: 1.25 !important;
    min-height: 2.25rem;
    -moz-column-gap: 0.375rem;
         column-gap: 0.375rem;
    row-gap: 0.375rem;
  }

  button.min-h-\[44px\] {
    min-height: 2.25rem !important;
    font-size: 0.75rem;
  }

  button.py-5 svg,
  button.py-4 svg,
  button.px-10 svg,
  button.px-8 svg,
  button.min-h-\[48px\] svg,
  button.min-h-\[44px\] svg {
    width: 1rem !important;
    height: 1rem !important;
  }
}

/* Held for the frame between clicking Print and the dialog opening, so the
   charts redraw at the width of the paper rather than the width of the window.
   See `printReport` in components/scan/ReportPrintChrome.tsx. */
.printing .print-report {
  width: 700px !important;
  max-width: 700px !important;
}

/* Printing a report. Keep the OLED sheet — print-color-adjust: exact holds
   backgrounds even when the dialog's "Background graphics" box is off.
   Anything marked `.no-print` (navigation, buttons, save state) is chrome
   that has no meaning on paper. */
@media print {
  .no-print { display: none !important; }

  /* The PWA shell above pins html/body and makes #root the scroll container, so
     the document is exactly one viewport tall with the rest scrolled out of
     view. A print of that is a single page holding a shrunk-to-fit screenshot
     of whatever happened to be on screen — the report has to be handed back to
     normal document flow before it can paginate. */
  html, body {
    position: static !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    padding: 0 !important;
    background: #000 !important;
    color: #e8eef5 !important;
  }

  #root {
    height: auto !important;
    overflow: visible !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Toasts, dialogs and tooltips are portalled to body, outside #root. */
  body > *:not(#root) { display: none !important; }

  /* App-level banners and any other fixed overlay would otherwise be stamped
     onto the page — and in Chrome, onto every page. */
  .fixed { display: none !important; }

  .bg-background { background: #000 !important; }

  /* Keep SkyBrain cyan/green/amber and band-bar fills. The old rule forced
     every descendant to black text + transparent background, which printed a
     grayscale sheet with empty Frequency Bands gaps. */
  html, body, .print-report {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    color-adjust: exact !important;
  }

  .print-report {
    max-width: none !important;
    padding: 0 !important;
    background: #000 !important;
    color: #e8eef5;
  }

  /* Gradient display text renders as an invisible clipped fill on paper. */
  .print-report .text-gradient-neural {
    background: none !important;
    -webkit-text-fill-color: #06b6d4 !important;
    color: #06b6d4 !important;
  }

  .print-report .print-bar-fill,
  .print-report .print-keep-color {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    color-adjust: exact !important;
  }

  .print-report .rounded-xl,
  .print-report .rounded-lg {
    -moz-column-break-inside: avoid;
         break-inside: avoid;
    page-break-inside: avoid;
  }

  .print-report svg path,
  .print-report svg line,
  .print-report svg circle {
    /* Recharts sets stroke inline; only the theme-token grid needs help. */
    opacity: 1 !important;
  }

  /* Recharts measures its container in screen pixels and writes the result onto
     the wrapper, the legend and the plot as inline px. On paper the column is
     far narrower, so those numbers are all too wide and the chart runs off the
     page — and it can't re-measure, because the relayout that print does never
     reaches React. The plot carries a viewBox, so letting it fill the column
     scales it to fit instead.

     The child combinator matters: recharts draws each legend swatch with a
     `.recharts-surface` too, and a 14 px swatch told to fill its column becomes
     an enormous blob sitting across the next panel. */
  .print-report .recharts-responsive-container,
  .print-report .recharts-wrapper,
  .print-report .recharts-legend-wrapper {
    width: 100% !important;
    max-width: 100% !important;
  }

  .print-report .recharts-responsive-container,
  .print-report .recharts-wrapper {
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
  }

  .print-report .recharts-wrapper > .recharts-surface {
    width: 100% !important;
    height: auto !important;
  }

  /* The legend is absolutely positioned against the pre-scale height, which is
     now well below where the scaled plot ends. */
  .print-report .recharts-legend-wrapper {
    position: static !important;
    height: auto !important;
    margin-top: 4px;
  }

  .print-report .recharts-tooltip-wrapper { display: none !important; }

  /* The masthead identifies the document; keep it with the report it heads. */
  .print-masthead {
    -moz-column-break-after: avoid;
         break-after: avoid;
    page-break-after: avoid;
  }

  .print-footer {
    -moz-column-break-inside: avoid;
         break-inside: avoid;
    page-break-inside: avoid;
  }

  @page {
    margin: 12mm;
    background: #000;
  }
}

/* Tablet landscape is short and wide. Today splits greeting | loop.
   Home tiles go to three columns. Mind puts the chart beside the controls. */
@media (orientation: landscape) and (min-width: 768px) and (max-height: 900px) and (any-pointer: coarse) {
  html[data-native-shell] .today-main {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    grid-template-rows: auto minmax(0, 1fr);
    -moz-column-gap: 1.25rem;
         column-gap: 1.25rem;
    row-gap: 0.5rem;
    align-items: start;
    overflow: hidden;
  }
  html[data-native-shell] .today-greeting {
    grid-column: 1;
    grid-row: 1;
    margin-bottom: 0;
  }
  html[data-native-shell] .today-loop {
    grid-column: 2;
    grid-row: 1 / span 2;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    touch-action: pan-y;
  }
  html[data-native-shell] .today-watch {
    grid-column: 1;
    grid-row: 2;
    align-self: end;
    margin-top: 0;
  }
  html[data-native-shell] .today-offer {
    margin-top: 0.35rem;
  }
  html[data-native-shell] .glance-stack,
  html[data-native-shell] .glance-main,
  html[data-native-shell] .glance-offer,
  html[data-native-shell] .glance-offer-actions {
    align-items: stretch;
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }
  html[data-native-shell] .glance-tiles {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  html[data-native-shell] .glance-swipe-hint {
    display: none;
  }
  html[data-native-shell] .mind-split {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    grid-auto-rows: auto;
    -moz-column-gap: 1.25rem;
         column-gap: 1.25rem;
    row-gap: 0.75rem;
    align-content: start;
    align-items: start;
    min-width: 0;
    overflow-x: hidden;
    touch-action: pan-y;
  }
  html[data-native-shell] .mind-lead {
    grid-column: 1;
    grid-row: 1;
  }
  html[data-native-shell] .mind-split:not(:has(.mind-chart)) .mind-lead {
    grid-column: 1 / -1;
  }
  html[data-native-shell] .mind-chart {
    grid-column: 2;
    grid-row: 1;
    align-self: stretch;
  }
  html[data-native-shell] .mind-sessions,
  html[data-native-shell] .mind-cta {
    grid-column: 1 / -1;
  }
}
.file\:border-0::file-selector-button {
  border-width: 0px;
}
.file\:bg-transparent::file-selector-button {
  background-color: transparent;
}
.file\:text-sm::file-selector-button {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.file\:font-medium::file-selector-button {
  font-weight: 500;
}
.file\:text-foreground::file-selector-button {
  color: hsl(var(--foreground));
}
.placeholder\:text-muted-foreground::-moz-placeholder {
  color: hsl(var(--muted-foreground));
}
.placeholder\:text-muted-foreground::placeholder {
  color: hsl(var(--muted-foreground));
}
.placeholder\:text-muted-foreground\/50::-moz-placeholder {
  color: hsl(var(--muted-foreground) / 0.5);
}
.placeholder\:text-muted-foreground\/50::placeholder {
  color: hsl(var(--muted-foreground) / 0.5);
}
.placeholder\:text-muted-foreground\/60::-moz-placeholder {
  color: hsl(var(--muted-foreground) / 0.6);
}
.placeholder\:text-muted-foreground\/60::placeholder {
  color: hsl(var(--muted-foreground) / 0.6);
}
.after\:absolute::after {
  content: var(--tw-content);
  position: absolute;
}
.after\:-inset-2::after {
  content: var(--tw-content);
  inset: -0.5rem;
}
.after\:inset-y-0::after {
  content: var(--tw-content);
  top: 0px;
  bottom: 0px;
}
.after\:left-1\/2::after {
  content: var(--tw-content);
  left: 50%;
}
.after\:w-1::after {
  content: var(--tw-content);
  width: 0.25rem;
}
.after\:w-\[2px\]::after {
  content: var(--tw-content);
  width: 2px;
}
.after\:-translate-x-1\/2::after {
  content: var(--tw-content);
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.first\:rounded-l-md:first-child {
  border-top-left-radius: calc(var(--radius) - 2px);
  border-bottom-left-radius: calc(var(--radius) - 2px);
}
.first\:border-l:first-child {
  border-left-width: 1px;
}
.last\:rounded-r-md:last-child {
  border-top-right-radius: calc(var(--radius) - 2px);
  border-bottom-right-radius: calc(var(--radius) - 2px);
}
.focus-within\:relative:focus-within {
  position: relative;
}
.focus-within\:z-20:focus-within {
  z-index: 20;
}
.hover\:border-border:hover {
  border-color: hsl(var(--border));
}
.hover\:border-destructive\/40:hover {
  border-color: hsl(var(--destructive) / 0.4);
}
.hover\:border-foreground\/15:hover {
  border-color: hsl(var(--foreground) / 0.15);
}
.hover\:border-foreground\/20:hover {
  border-color: hsl(var(--foreground) / 0.2);
}
.hover\:border-primary:hover {
  border-color: hsl(var(--primary));
}
.hover\:border-primary\/30:hover {
  border-color: hsl(var(--primary) / 0.3);
}
.hover\:border-primary\/40:hover {
  border-color: hsl(var(--primary) / 0.4);
}
.hover\:border-primary\/50:hover {
  border-color: hsl(var(--primary) / 0.5);
}
.hover\:border-primary\/60:hover {
  border-color: hsl(var(--primary) / 0.6);
}
.hover\:border-rose-500\/50:hover {
  border-color: rgb(244 63 94 / 0.5);
}
.hover\:border-skybrain-amber\/50:hover {
  border-color: hsl(var(--skybrain-amber) / 0.5);
}
.hover\:border-skybrain-cyan\/50:hover {
  border-color: hsl(var(--skybrain-cyan) / 0.5);
}
.hover\:border-skybrain-green:hover {
  border-color: hsl(var(--skybrain-green));
}
.hover\:border-skybrain-green\/50:hover {
  border-color: hsl(var(--skybrain-green) / 0.5);
}
.hover\:border-skybrain-purple\/40:hover {
  border-color: hsl(var(--skybrain-purple) / 0.4);
}
.hover\:border-skybrain-purple\/50:hover {
  border-color: hsl(var(--skybrain-purple) / 0.5);
}
.hover\:border-skybrain-purple\/70:hover {
  border-color: hsl(var(--skybrain-purple) / 0.7);
}
.hover\:border-skybrain-red\/30:hover {
  border-color: hsl(var(--skybrain-red) / 0.3);
}
.hover\:border-skybrain-red\/50:hover {
  border-color: hsl(var(--skybrain-red) / 0.5);
}
.hover\:border-slate-600:hover {
  --tw-border-opacity: 1;
  border-color: rgb(71 85 105 / var(--tw-border-opacity, 1));
}
.hover\:bg-accent:hover {
  background-color: hsl(var(--accent));
}
.hover\:bg-amber-300:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(252 211 77 / var(--tw-bg-opacity, 1));
}
.hover\:bg-amber-400\/10:hover {
  background-color: rgb(251 191 36 / 0.1);
}
.hover\:bg-amber-500\/30:hover {
  background-color: rgb(245 158 11 / 0.3);
}
.hover\:bg-amber-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(217 119 6 / var(--tw-bg-opacity, 1));
}
.hover\:bg-amber-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(180 83 9 / var(--tw-bg-opacity, 1));
}
.hover\:bg-amber-900\/40:hover {
  background-color: rgb(120 53 15 / 0.4);
}
.hover\:bg-card:hover {
  background-color: hsl(var(--card));
}
.hover\:bg-cyan-300:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(103 232 249 / var(--tw-bg-opacity, 1));
}
.hover\:bg-cyan-400\/10:hover {
  background-color: rgb(34 211 238 / 0.1);
}
.hover\:bg-cyan-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(8 145 178 / var(--tw-bg-opacity, 1));
}
.hover\:bg-cyan-900\/40:hover {
  background-color: rgb(22 78 99 / 0.4);
}
.hover\:bg-destructive\/10:hover {
  background-color: hsl(var(--destructive) / 0.1);
}
.hover\:bg-destructive\/20:hover {
  background-color: hsl(var(--destructive) / 0.2);
}
.hover\:bg-destructive\/5:hover {
  background-color: hsl(var(--destructive) / 0.05);
}
.hover\:bg-destructive\/80:hover {
  background-color: hsl(var(--destructive) / 0.8);
}
.hover\:bg-destructive\/90:hover {
  background-color: hsl(var(--destructive) / 0.9);
}
.hover\:bg-emerald-400\/10:hover {
  background-color: rgb(52 211 153 / 0.1);
}
.hover\:bg-emerald-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(5 150 105 / var(--tw-bg-opacity, 1));
}
.hover\:bg-foreground\/\[0\.06\]:hover {
  background-color: hsl(var(--foreground) / 0.06);
}
.hover\:bg-indigo-400\/10:hover {
  background-color: rgb(129 140 248 / 0.1);
}
.hover\:bg-muted:hover {
  background-color: hsl(var(--muted));
}
.hover\:bg-muted-foreground:hover {
  background-color: hsl(var(--muted-foreground));
}
.hover\:bg-muted\/50:hover {
  background-color: hsl(var(--muted) / 0.5);
}
.hover\:bg-primary:hover {
  background-color: hsl(var(--primary));
}
.hover\:bg-primary\/10:hover {
  background-color: hsl(var(--primary) / 0.1);
}
.hover\:bg-primary\/15:hover {
  background-color: hsl(var(--primary) / 0.15);
}
.hover\:bg-primary\/20:hover {
  background-color: hsl(var(--primary) / 0.2);
}
.hover\:bg-primary\/30:hover {
  background-color: hsl(var(--primary) / 0.3);
}
.hover\:bg-primary\/5:hover {
  background-color: hsl(var(--primary) / 0.05);
}
.hover\:bg-primary\/80:hover {
  background-color: hsl(var(--primary) / 0.8);
}
.hover\:bg-primary\/90:hover {
  background-color: hsl(var(--primary) / 0.9);
}
.hover\:bg-red-500\/10:hover {
  background-color: rgb(239 68 68 / 0.1);
}
.hover\:bg-rose-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(225 29 72 / var(--tw-bg-opacity, 1));
}
.hover\:bg-secondary:hover {
  background-color: hsl(var(--secondary));
}
.hover\:bg-secondary\/20:hover {
  background-color: hsl(var(--secondary) / 0.2);
}
.hover\:bg-secondary\/30:hover {
  background-color: hsl(var(--secondary) / 0.3);
}
.hover\:bg-secondary\/40:hover {
  background-color: hsl(var(--secondary) / 0.4);
}
.hover\:bg-secondary\/50:hover {
  background-color: hsl(var(--secondary) / 0.5);
}
.hover\:bg-secondary\/70:hover {
  background-color: hsl(var(--secondary) / 0.7);
}
.hover\:bg-secondary\/80:hover {
  background-color: hsl(var(--secondary) / 0.8);
}
.hover\:bg-sidebar-accent:hover {
  background-color: hsl(var(--sidebar-accent));
}
.hover\:bg-sky-300:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(125 211 252 / var(--tw-bg-opacity, 1));
}
.hover\:bg-sky-400\/10:hover {
  background-color: rgb(56 189 248 / 0.1);
}
.hover\:bg-skybrain-amber\/20:hover {
  background-color: hsl(var(--skybrain-amber) / 0.2);
}
.hover\:bg-skybrain-green\/90:hover {
  background-color: hsl(var(--skybrain-green) / 0.9);
}
.hover\:bg-skybrain-red\/10:hover {
  background-color: hsl(var(--skybrain-red) / 0.1);
}
.hover\:bg-skybrain-red\/20:hover {
  background-color: hsl(var(--skybrain-red) / 0.2);
}
.hover\:bg-skybrain-red\/90:hover {
  background-color: hsl(var(--skybrain-red) / 0.9);
}
.hover\:bg-violet-400:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(167 139 250 / var(--tw-bg-opacity, 1));
}
.hover\:bg-violet-400\/10:hover {
  background-color: rgb(167 139 250 / 0.1);
}
.hover\:bg-violet-400\/5:hover {
  background-color: rgb(167 139 250 / 0.05);
}
.hover\:bg-violet-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(124 58 237 / var(--tw-bg-opacity, 1));
}
.hover\:bg-violet-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(109 40 217 / var(--tw-bg-opacity, 1));
}
.hover\:bg-violet-800\/40:hover {
  background-color: rgb(91 33 182 / 0.4);
}
.hover\:text-accent-foreground:hover {
  color: hsl(var(--accent-foreground));
}
.hover\:text-amber-200:hover {
  --tw-text-opacity: 1;
  color: rgb(253 230 138 / var(--tw-text-opacity, 1));
}
.hover\:text-cyan-200:hover {
  --tw-text-opacity: 1;
  color: rgb(165 243 252 / var(--tw-text-opacity, 1));
}
.hover\:text-cyan-300:hover {
  --tw-text-opacity: 1;
  color: rgb(103 232 249 / var(--tw-text-opacity, 1));
}
.hover\:text-destructive:hover {
  color: hsl(var(--destructive));
}
.hover\:text-emerald-300:hover {
  --tw-text-opacity: 1;
  color: rgb(110 231 183 / var(--tw-text-opacity, 1));
}
.hover\:text-foreground:hover {
  color: hsl(var(--foreground));
}
.hover\:text-muted-foreground:hover {
  color: hsl(var(--muted-foreground));
}
.hover\:text-primary:hover {
  color: hsl(var(--primary));
}
.hover\:text-primary-foreground:hover {
  color: hsl(var(--primary-foreground));
}
.hover\:text-primary\/80:hover {
  color: hsl(var(--primary) / 0.8);
}
.hover\:text-primary\/90:hover {
  color: hsl(var(--primary) / 0.9);
}
.hover\:text-red-300:hover {
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}
.hover\:text-rose-300:hover {
  --tw-text-opacity: 1;
  color: rgb(253 164 175 / var(--tw-text-opacity, 1));
}
.hover\:text-rose-400:hover {
  --tw-text-opacity: 1;
  color: rgb(251 113 133 / var(--tw-text-opacity, 1));
}
.hover\:text-sidebar-accent-foreground:hover {
  color: hsl(var(--sidebar-accent-foreground));
}
.hover\:text-skybrain-amber:hover {
  color: hsl(var(--skybrain-amber));
}
.hover\:text-skybrain-red:hover {
  color: hsl(var(--skybrain-red));
}
.hover\:text-slate-400:hover {
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}
.hover\:text-violet-300:hover {
  --tw-text-opacity: 1;
  color: rgb(196 181 253 / var(--tw-text-opacity, 1));
}
.hover\:underline:hover {
  text-decoration-line: underline;
}
.hover\:opacity-100:hover {
  opacity: 1;
}
.hover\:opacity-90:hover {
  opacity: 0.9;
}
.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover {
  --tw-shadow: 0 0 0 1px hsl(var(--sidebar-accent));
  --tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-lg:hover {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-xl:hover {
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-indigo-400\/20:hover {
  --tw-shadow-color: rgb(129 140 248 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}
.hover\:shadow-primary\/20:hover {
  --tw-shadow-color: hsl(var(--primary) / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}
.hover\:shadow-violet-400\/20:hover {
  --tw-shadow-color: rgb(167 139 250 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}
.hover\:after\:bg-sidebar-border:hover::after {
  content: var(--tw-content);
  background-color: hsl(var(--sidebar-border));
}
.focus\:border-amber-400\/50:focus {
  border-color: rgb(251 191 36 / 0.5);
}
.focus\:border-primary:focus {
  border-color: hsl(var(--primary));
}
.focus\:border-primary\/50:focus {
  border-color: hsl(var(--primary) / 0.5);
}
.focus\:bg-accent:focus {
  background-color: hsl(var(--accent));
}
.focus\:bg-primary:focus {
  background-color: hsl(var(--primary));
}
.focus\:text-accent-foreground:focus {
  color: hsl(var(--accent-foreground));
}
.focus\:text-primary-foreground:focus {
  color: hsl(var(--primary-foreground));
}
.focus\:opacity-100:focus {
  opacity: 1;
}
.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.focus\:ring-2:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-primary\/20:focus {
  --tw-ring-color: hsl(var(--primary) / 0.2);
}
.focus\:ring-primary\/30:focus {
  --tw-ring-color: hsl(var(--primary) / 0.3);
}
.focus\:ring-primary\/40:focus {
  --tw-ring-color: hsl(var(--primary) / 0.4);
}
.focus\:ring-ring:focus {
  --tw-ring-color: hsl(var(--ring));
}
.focus\:ring-offset-2:focus {
  --tw-ring-offset-width: 2px;
}
.focus\:ring-offset-background:focus {
  --tw-ring-offset-color: hsl(var(--background));
}
.focus-visible\:outline-none:focus-visible {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.focus-visible\:ring-1:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus-visible\:ring-2:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus-visible\:ring-ring:focus-visible {
  --tw-ring-color: hsl(var(--ring));
}
.focus-visible\:ring-sidebar-ring:focus-visible {
  --tw-ring-color: hsl(var(--sidebar-ring));
}
.focus-visible\:ring-offset-1:focus-visible {
  --tw-ring-offset-width: 1px;
}
.focus-visible\:ring-offset-2:focus-visible {
  --tw-ring-offset-width: 2px;
}
.focus-visible\:ring-offset-background:focus-visible {
  --tw-ring-offset-color: hsl(var(--background));
}
.active\:scale-\[0\.98\]:active {
  --tw-scale-x: 0.98;
  --tw-scale-y: 0.98;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:bg-sidebar-accent:active {
  background-color: hsl(var(--sidebar-accent));
}
.active\:text-sidebar-accent-foreground:active {
  color: hsl(var(--sidebar-accent-foreground));
}
.disabled\:pointer-events-none:disabled {
  pointer-events: none;
}
.disabled\:cursor-not-allowed:disabled {
  cursor: not-allowed;
}
.disabled\:bg-secondary:disabled {
  background-color: hsl(var(--secondary));
}
.disabled\:text-muted-foreground:disabled {
  color: hsl(var(--muted-foreground));
}
.disabled\:opacity-30:disabled {
  opacity: 0.3;
}
.disabled\:opacity-40:disabled {
  opacity: 0.4;
}
.disabled\:opacity-50:disabled {
  opacity: 0.5;
}
.disabled\:opacity-60:disabled {
  opacity: 0.6;
}
.group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100 {
  opacity: 1;
}
.group:hover .group-hover\:translate-x-1 {
  --tw-translate-x: 0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group\/menu-item:hover .group-hover\/menu-item\:opacity-100 {
  opacity: 1;
}
.group:hover .group-hover\:opacity-100 {
  opacity: 1;
}
.group:hover .group-hover\:shadow-\[0_0_30px_-5px_hsl\(142\2c 76\%\2c 36\%\2c 0\.3\)\] {
  --tw-shadow: 0 0 30px -5px hsl(142,76%,36%,0.3);
  --tw-shadow-colored: 0 0 30px -5px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.group:hover .group-hover\:shadow-\[0_0_30px_-5px_hsl\(186\2c 100\%\2c 50\%\2c 0\.3\)\] {
  --tw-shadow: 0 0 30px -5px hsl(186,100%,50%,0.3);
  --tw-shadow-colored: 0 0 30px -5px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.group:hover .group-hover\:shadow-\[0_0_30px_-5px_hsl\(270\2c 76\%\2c 60\%\2c 0\.3\)\] {
  --tw-shadow: 0 0 30px -5px hsl(270,76%,60%,0.3);
  --tw-shadow-colored: 0 0 30px -5px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.group:hover .group-hover\:shadow-\[0_0_30px_-5px_hsl\(45\2c 93\%\2c 47\%\2c 0\.3\)\] {
  --tw-shadow: 0 0 30px -5px hsl(45,93%,47%,0.3);
  --tw-shadow-colored: 0 0 30px -5px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.group:hover .group-hover\:shadow-\[0_0_30px_-5px_hsl\(var\(--primary\)\/0\.3\)\] {
  --tw-shadow: 0 0 30px -5px hsl(var(--primary)/0.3);
  --tw-shadow-colored: 0 0 30px -5px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

  .group:hover .group-hover\:glow-cyan {
    box-shadow: var(--shadow-glow-cyan);
  }
.group.destructive .group-\[\.destructive\]\:border-muted\/40 {
  border-color: hsl(var(--muted) / 0.4);
}
.group.toaster .group-\[\.toaster\]\:border-border {
  border-color: hsl(var(--border));
}
.group.toast .group-\[\.toast\]\:bg-muted {
  background-color: hsl(var(--muted));
}
.group.toast .group-\[\.toast\]\:bg-primary {
  background-color: hsl(var(--primary));
}
.group.toaster .group-\[\.toaster\]\:bg-background {
  background-color: hsl(var(--background));
}
.group.destructive .group-\[\.destructive\]\:text-red-300 {
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}
.group.toast .group-\[\.toast\]\:text-muted-foreground {
  color: hsl(var(--muted-foreground));
}
.group.toast .group-\[\.toast\]\:text-primary-foreground {
  color: hsl(var(--primary-foreground));
}
.group.toaster .group-\[\.toaster\]\:text-foreground {
  color: hsl(var(--foreground));
}
.group.toaster .group-\[\.toaster\]\:shadow-lg {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover {
  border-color: hsl(var(--destructive) / 0.3);
}
.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover {
  background-color: hsl(var(--destructive));
}
.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover {
  color: hsl(var(--destructive-foreground));
}
.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover {
  --tw-text-opacity: 1;
  color: rgb(254 242 242 / var(--tw-text-opacity, 1));
}
.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus {
  --tw-ring-color: hsl(var(--destructive));
}
.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1));
}
.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus {
  --tw-ring-offset-color: #dc2626;
}
.peer\/menu-button:hover ~ .peer-hover\/menu-button\:text-sidebar-accent-foreground {
  color: hsl(var(--sidebar-accent-foreground));
}
.peer:disabled ~ .peer-disabled\:cursor-not-allowed {
  cursor: not-allowed;
}
.peer:disabled ~ .peer-disabled\:opacity-70 {
  opacity: 0.7;
}
.has-\[\[data-variant\=inset\]\]\:bg-sidebar:has([data-variant=inset]) {
  background-color: hsl(var(--sidebar-background));
}
.has-\[\:disabled\]\:opacity-50:has(:disabled) {
  opacity: 0.5;
}
.group\/menu-item:has([data-sidebar=menu-action]) .group-has-\[\[data-sidebar\=menu-action\]\]\/menu-item\:pr-8 {
  padding-right: 2rem;
}
.aria-disabled\:pointer-events-none[aria-disabled="true"] {
  pointer-events: none;
}
.aria-disabled\:opacity-50[aria-disabled="true"] {
  opacity: 0.5;
}
.aria-selected\:bg-accent[aria-selected="true"] {
  background-color: hsl(var(--accent));
}
.aria-selected\:bg-accent\/50[aria-selected="true"] {
  background-color: hsl(var(--accent) / 0.5);
}
.aria-selected\:text-accent-foreground[aria-selected="true"] {
  color: hsl(var(--accent-foreground));
}
.aria-selected\:text-muted-foreground[aria-selected="true"] {
  color: hsl(var(--muted-foreground));
}
.aria-selected\:opacity-100[aria-selected="true"] {
  opacity: 1;
}
.aria-selected\:opacity-30[aria-selected="true"] {
  opacity: 0.3;
}
.data-\[disabled\=true\]\:pointer-events-none[data-disabled="true"] {
  pointer-events: none;
}
.data-\[disabled\]\:pointer-events-none[data-disabled] {
  pointer-events: none;
}
.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction="vertical"] {
  height: 1px;
}
.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction="vertical"] {
  width: 100%;
}
.data-\[side\=bottom\]\:translate-y-1[data-side="bottom"] {
  --tw-translate-y: 0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[side\=left\]\:-translate-x-1[data-side="left"] {
  --tw-translate-x: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[side\=right\]\:translate-x-1[data-side="right"] {
  --tw-translate-x: 0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[side\=top\]\:-translate-y-1[data-side="top"] {
  --tw-translate-y: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[state\=checked\]\:translate-x-5[data-state="checked"] {
  --tw-translate-x: 1.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[state\=unchecked\]\:translate-x-0[data-state="unchecked"] {
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[swipe\=cancel\]\:translate-x-0[data-swipe="cancel"] {
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe="end"] {
  --tw-translate-x: var(--radix-toast-swipe-end-x);
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe="move"] {
  --tw-translate-x: var(--radix-toast-swipe-move-x);
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@keyframes accordion-up {
  from {
    height: var(--radix-accordion-content-height);
  }
  to {
    height: 0;
  }
}
.data-\[state\=closed\]\:animate-accordion-up[data-state="closed"] {
  animation: accordion-up 0.2s ease-out;
}
@keyframes accordion-down {
  from {
    height: 0;
  }
  to {
    height: var(--radix-accordion-content-height);
  }
}
.data-\[state\=open\]\:animate-accordion-down[data-state="open"] {
  animation: accordion-down 0.2s ease-out;
}
.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction="vertical"] {
  flex-direction: column;
}
.data-\[state\=active\]\:border-primary\/60[data-state="active"] {
  border-color: hsl(var(--primary) / 0.6);
}
.data-\[active\=true\]\:bg-sidebar-accent[data-active="true"] {
  background-color: hsl(var(--sidebar-accent));
}
.data-\[active\]\:bg-accent\/50[data-active] {
  background-color: hsl(var(--accent) / 0.5);
}
.data-\[selected\=\'true\'\]\:bg-accent[data-selected='true'] {
  background-color: hsl(var(--accent));
}
.data-\[state\=active\]\:bg-background[data-state="active"] {
  background-color: hsl(var(--background));
}
.data-\[state\=active\]\:bg-primary\/15[data-state="active"] {
  background-color: hsl(var(--primary) / 0.15);
}
.data-\[state\=checked\]\:bg-primary[data-state="checked"] {
  background-color: hsl(var(--primary));
}
.data-\[state\=on\]\:bg-accent[data-state="on"] {
  background-color: hsl(var(--accent));
}
.data-\[state\=open\]\:bg-accent[data-state="open"] {
  background-color: hsl(var(--accent));
}
.data-\[state\=open\]\:bg-accent\/50[data-state="open"] {
  background-color: hsl(var(--accent) / 0.5);
}
.data-\[state\=open\]\:bg-secondary[data-state="open"] {
  background-color: hsl(var(--secondary));
}
.data-\[state\=selected\]\:bg-muted[data-state="selected"] {
  background-color: hsl(var(--muted));
}
.data-\[state\=unchecked\]\:bg-input[data-state="unchecked"] {
  background-color: hsl(var(--input));
}
.data-\[active\=true\]\:font-medium[data-active="true"] {
  font-weight: 500;
}
.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active="true"] {
  color: hsl(var(--sidebar-accent-foreground));
}
.data-\[selected\=true\]\:text-accent-foreground[data-selected="true"] {
  color: hsl(var(--accent-foreground));
}
.data-\[state\=active\]\:text-foreground[data-state="active"] {
  color: hsl(var(--foreground));
}
.data-\[state\=active\]\:text-primary[data-state="active"] {
  color: hsl(var(--primary));
}
.data-\[state\=checked\]\:text-primary-foreground[data-state="checked"] {
  color: hsl(var(--primary-foreground));
}
.data-\[state\=on\]\:text-accent-foreground[data-state="on"] {
  color: hsl(var(--accent-foreground));
}
.data-\[state\=open\]\:text-accent-foreground[data-state="open"] {
  color: hsl(var(--accent-foreground));
}
.data-\[state\=open\]\:text-muted-foreground[data-state="open"] {
  color: hsl(var(--muted-foreground));
}
.data-\[disabled\=true\]\:opacity-50[data-disabled="true"] {
  opacity: 0.5;
}
.data-\[disabled\]\:opacity-50[data-disabled] {
  opacity: 0.5;
}
.data-\[state\=open\]\:opacity-100[data-state="open"] {
  opacity: 1;
}
.data-\[state\=active\]\:shadow-none[data-state="active"] {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.data-\[state\=active\]\:shadow-sm[data-state="active"] {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.data-\[swipe\=move\]\:transition-none[data-swipe="move"] {
  transition-property: none;
}
.data-\[state\=closed\]\:duration-300[data-state="closed"] {
  transition-duration: 300ms;
}
.data-\[state\=open\]\:duration-500[data-state="open"] {
  transition-duration: 500ms;
}
.data-\[motion\^\=from-\]\:animate-in[data-motion^="from-"] {
  animation-name: enter;
  animation-duration: 150ms;
  --tw-enter-opacity: initial;
  --tw-enter-scale: initial;
  --tw-enter-rotate: initial;
  --tw-enter-translate-x: initial;
  --tw-enter-translate-y: initial;
}
.data-\[state\=open\]\:animate-in[data-state="open"] {
  animation-name: enter;
  animation-duration: 150ms;
  --tw-enter-opacity: initial;
  --tw-enter-scale: initial;
  --tw-enter-rotate: initial;
  --tw-enter-translate-x: initial;
  --tw-enter-translate-y: initial;
}
.data-\[state\=visible\]\:animate-in[data-state="visible"] {
  animation-name: enter;
  animation-duration: 150ms;
  --tw-enter-opacity: initial;
  --tw-enter-scale: initial;
  --tw-enter-rotate: initial;
  --tw-enter-translate-x: initial;
  --tw-enter-translate-y: initial;
}
.data-\[motion\^\=to-\]\:animate-out[data-motion^="to-"] {
  animation-name: exit;
  animation-duration: 150ms;
  --tw-exit-opacity: initial;
  --tw-exit-scale: initial;
  --tw-exit-rotate: initial;
  --tw-exit-translate-x: initial;
  --tw-exit-translate-y: initial;
}
.data-\[state\=closed\]\:animate-out[data-state="closed"] {
  animation-name: exit;
  animation-duration: 150ms;
  --tw-exit-opacity: initial;
  --tw-exit-scale: initial;
  --tw-exit-rotate: initial;
  --tw-exit-translate-x: initial;
  --tw-exit-translate-y: initial;
}
.data-\[state\=hidden\]\:animate-out[data-state="hidden"] {
  animation-name: exit;
  animation-duration: 150ms;
  --tw-exit-opacity: initial;
  --tw-exit-scale: initial;
  --tw-exit-rotate: initial;
  --tw-exit-translate-x: initial;
  --tw-exit-translate-y: initial;
}
.data-\[swipe\=end\]\:animate-out[data-swipe="end"] {
  animation-name: exit;
  animation-duration: 150ms;
  --tw-exit-opacity: initial;
  --tw-exit-scale: initial;
  --tw-exit-rotate: initial;
  --tw-exit-translate-x: initial;
  --tw-exit-translate-y: initial;
}
.data-\[motion\^\=from-\]\:fade-in[data-motion^="from-"] {
  --tw-enter-opacity: 0;
}
.data-\[motion\^\=to-\]\:fade-out[data-motion^="to-"] {
  --tw-exit-opacity: 0;
}
.data-\[state\=closed\]\:fade-out-0[data-state="closed"] {
  --tw-exit-opacity: 0;
}
.data-\[state\=closed\]\:fade-out-80[data-state="closed"] {
  --tw-exit-opacity: 0.8;
}
.data-\[state\=hidden\]\:fade-out[data-state="hidden"] {
  --tw-exit-opacity: 0;
}
.data-\[state\=open\]\:fade-in-0[data-state="open"] {
  --tw-enter-opacity: 0;
}
.data-\[state\=visible\]\:fade-in[data-state="visible"] {
  --tw-enter-opacity: 0;
}
.data-\[state\=closed\]\:zoom-out-95[data-state="closed"] {
  --tw-exit-scale: .95;
}
.data-\[state\=open\]\:zoom-in-90[data-state="open"] {
  --tw-enter-scale: .9;
}
.data-\[state\=open\]\:zoom-in-95[data-state="open"] {
  --tw-enter-scale: .95;
}
.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion="from-end"] {
  --tw-enter-translate-x: 13rem;
}
.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion="from-start"] {
  --tw-enter-translate-x: -13rem;
}
.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion="to-end"] {
  --tw-exit-translate-x: 13rem;
}
.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion="to-start"] {
  --tw-exit-translate-x: -13rem;
}
.data-\[side\=bottom\]\:slide-in-from-top-2[data-side="bottom"] {
  --tw-enter-translate-y: -0.5rem;
}
.data-\[side\=left\]\:slide-in-from-right-2[data-side="left"] {
  --tw-enter-translate-x: 0.5rem;
}
.data-\[side\=right\]\:slide-in-from-left-2[data-side="right"] {
  --tw-enter-translate-x: -0.5rem;
}
.data-\[side\=top\]\:slide-in-from-bottom-2[data-side="top"] {
  --tw-enter-translate-y: 0.5rem;
}
.data-\[state\=closed\]\:slide-out-to-bottom[data-state="closed"] {
  --tw-exit-translate-y: 100%;
}
.data-\[state\=closed\]\:slide-out-to-left[data-state="closed"] {
  --tw-exit-translate-x: -100%;
}
.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state="closed"] {
  --tw-exit-translate-x: -50%;
}
.data-\[state\=closed\]\:slide-out-to-right[data-state="closed"] {
  --tw-exit-translate-x: 100%;
}
.data-\[state\=closed\]\:slide-out-to-right-full[data-state="closed"] {
  --tw-exit-translate-x: 100%;
}
.data-\[state\=closed\]\:slide-out-to-top[data-state="closed"] {
  --tw-exit-translate-y: -100%;
}
.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state="closed"] {
  --tw-exit-translate-y: -48%;
}
.data-\[state\=open\]\:slide-in-from-bottom[data-state="open"] {
  --tw-enter-translate-y: 100%;
}
.data-\[state\=open\]\:slide-in-from-left[data-state="open"] {
  --tw-enter-translate-x: -100%;
}
.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state="open"] {
  --tw-enter-translate-x: -50%;
}
.data-\[state\=open\]\:slide-in-from-right[data-state="open"] {
  --tw-enter-translate-x: 100%;
}
.data-\[state\=open\]\:slide-in-from-top[data-state="open"] {
  --tw-enter-translate-y: -100%;
}
.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state="open"] {
  --tw-enter-translate-y: -48%;
}
.data-\[state\=open\]\:slide-in-from-top-full[data-state="open"] {
  --tw-enter-translate-y: -100%;
}
.data-\[state\=closed\]\:duration-300[data-state="closed"] {
  animation-duration: 300ms;
}
.data-\[state\=open\]\:duration-500[data-state="open"] {
  animation-duration: 500ms;
}
.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction="vertical"]::after {
  content: var(--tw-content);
  left: 0px;
}
.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction="vertical"]::after {
  content: var(--tw-content);
  height: 0.25rem;
}
.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction="vertical"]::after {
  content: var(--tw-content);
  width: 100%;
}
.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction="vertical"]::after {
  content: var(--tw-content);
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction="vertical"]::after {
  content: var(--tw-content);
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[state\=open\]\:hover\:bg-sidebar-accent:hover[data-state="open"] {
  background-color: hsl(var(--sidebar-accent));
}
.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground:hover[data-state="open"] {
  color: hsl(var(--sidebar-accent-foreground));
}
.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\] {
  left: calc(var(--sidebar-width) * -1);
}
.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\] {
  right: calc(var(--sidebar-width) * -1);
}
.group[data-side="left"] .group-data-\[side\=left\]\:-right-4 {
  right: -1rem;
}
.group[data-side="right"] .group-data-\[side\=right\]\:left-0 {
  left: 0px;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:-mt-8 {
  margin-top: -2rem;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:hidden {
  display: none;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:\!size-8 {
  width: 2rem !important;
  height: 2rem !important;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:w-\[--sidebar-width-icon\] {
  width: var(--sidebar-width-icon);
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)\)\] {
  width: calc(var(--sidebar-width-icon) + 1rem);
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)_\+2px\)\] {
  width: calc(var(--sidebar-width-icon) + 1rem + 2px);
}
.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:w-0 {
  width: 0px;
}
.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:translate-x-0 {
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group[data-side="right"] .group-data-\[side\=right\]\:rotate-180 {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group[data-state="open"] .group-data-\[state\=open\]\:rotate-180 {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:overflow-hidden {
  overflow: hidden;
}
.group[data-variant="floating"] .group-data-\[variant\=floating\]\:rounded-lg {
  border-radius: var(--radius);
}
.group[data-variant="floating"] .group-data-\[variant\=floating\]\:border {
  border-width: 1px;
}
.group[data-side="left"] .group-data-\[side\=left\]\:border-r {
  border-right-width: 1px;
}
.group[data-side="right"] .group-data-\[side\=right\]\:border-l {
  border-left-width: 1px;
}
.group[data-variant="floating"] .group-data-\[variant\=floating\]\:border-sidebar-border {
  border-color: hsl(var(--sidebar-border));
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:\!p-0 {
  padding: 0px !important;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:\!p-2 {
  padding: 0.5rem !important;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:opacity-0 {
  opacity: 0;
}
.group[data-variant="floating"] .group-data-\[variant\=floating\]\:shadow {
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
  html[data-native-shell="android"] [data-chrome="home-deck"] .group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:overflow-hidden {
    overflow: hidden !important;
    contain: paint;
    background-color: hsl(var(--background));
    clip-path: inset(0);
  }
.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:after\:left-full::after {
  content: var(--tw-content);
  left: 100%;
}
.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:hover\:bg-sidebar:hover {
  background-color: hsl(var(--sidebar-background));
}
.peer\/menu-button[data-size="default"] ~ .peer-data-\[size\=default\]\/menu-button\:top-1\.5 {
  top: 0.375rem;
}
.peer\/menu-button[data-size="lg"] ~ .peer-data-\[size\=lg\]\/menu-button\:top-2\.5 {
  top: 0.625rem;
}
.peer\/menu-button[data-size="sm"] ~ .peer-data-\[size\=sm\]\/menu-button\:top-1 {
  top: 0.25rem;
}
.peer[data-variant="inset"] ~ .peer-data-\[variant\=inset\]\:min-h-\[calc\(100svh-theme\(spacing\.4\)\)\] {
  min-height: calc(100svh - 1rem);
}
.peer\/menu-button[data-active="true"] ~ .peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground {
  color: hsl(var(--sidebar-accent-foreground));
}
.dark\:border-destructive:is(.dark *) {
  border-color: hsl(var(--destructive));
}
@media not all and (min-width: 640px) {
  .max-sm\:h-\[min\(52dvh\2c 420px\)\] {
    height: min(52dvh, 420px);
  }
}
@media (min-width: 640px) {
  .sm\:bottom-0 {
    bottom: 0px;
  }
  .sm\:right-0 {
    right: 0px;
  }
  .sm\:top-auto {
    top: auto;
  }
  .sm\:order-none {
    order: 0;
  }
  .sm\:-mx-6 {
    margin-left: -1.5rem;
    margin-right: -1.5rem;
  }
  .sm\:mb-10 {
    margin-bottom: 2.5rem;
  }
  .sm\:mb-12 {
    margin-bottom: 3rem;
  }
  .sm\:mb-24 {
    margin-bottom: 6rem;
  }
  .sm\:mb-3 {
    margin-bottom: 0.75rem;
  }
  .sm\:mb-4 {
    margin-bottom: 1rem;
  }
  .sm\:mb-6 {
    margin-bottom: 1.5rem;
  }
  .sm\:mt-0 {
    margin-top: 0px;
  }
  .sm\:mt-12 {
    margin-top: 3rem;
  }
  .sm\:block {
    display: block;
  }
  .sm\:inline {
    display: inline;
  }
  .sm\:flex {
    display: flex;
  }
  .sm\:h-16 {
    height: 4rem;
  }
  .sm\:h-3\.5 {
    height: 0.875rem;
  }
  .sm\:h-4 {
    height: 1rem;
  }
  .sm\:h-8 {
    height: 2rem;
  }
  .sm\:h-\[5\.25rem\] {
    height: 5.25rem;
  }
  .sm\:w-12 {
    width: 3rem;
  }
  .sm\:w-16 {
    width: 4rem;
  }
  .sm\:w-3\.5 {
    width: 0.875rem;
  }
  .sm\:w-8 {
    width: 2rem;
  }
  .sm\:w-\[20\.5rem\] {
    width: 20.5rem;
  }
  .sm\:w-\[6\.25rem\] {
    width: 6.25rem;
  }
  .sm\:w-auto {
    width: auto;
  }
  .sm\:w-full {
    width: 100%;
  }
  .sm\:max-w-3xl {
    max-width: 48rem;
  }
  .sm\:max-w-\[10rem\] {
    max-width: 10rem;
  }
  .sm\:max-w-\[20\.5rem\] {
    max-width: 20.5rem;
  }
  .sm\:max-w-lg {
    max-width: 32rem;
  }
  .sm\:max-w-md {
    max-width: 28rem;
  }
  .sm\:max-w-sm {
    max-width: 24rem;
  }
  .sm\:grid-cols-11 {
    grid-template-columns: repeat(11, minmax(0, 1fr));
  }
  .sm\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .sm\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .sm\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .sm\:grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .sm\:grid-cols-\[6rem_1fr_auto\] {
    grid-template-columns: 6rem 1fr auto;
  }
  .sm\:grid-cols-\[7rem_1fr_1fr_auto\] {
    grid-template-columns: 7rem 1fr 1fr auto;
  }
  .sm\:flex-row {
    flex-direction: row;
  }
  .sm\:flex-col {
    flex-direction: column;
  }
  .sm\:flex-wrap {
    flex-wrap: wrap;
  }
  .sm\:items-center {
    align-items: center;
  }
  .sm\:justify-start {
    justify-content: flex-start;
  }
  .sm\:justify-end {
    justify-content: flex-end;
  }
  .sm\:justify-between {
    justify-content: space-between;
  }
  .sm\:gap-2 {
    gap: 0.5rem;
  }
  .sm\:gap-2\.5 {
    gap: 0.625rem;
  }
  .sm\:gap-6 {
    gap: 1.5rem;
  }
  .sm\:space-x-2 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(0.5rem * var(--tw-space-x-reverse));
    margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
  }
  .sm\:space-x-4 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(1rem * var(--tw-space-x-reverse));
    margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
  }
  .sm\:space-y-0 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0px * var(--tw-space-y-reverse));
  }
  .sm\:space-y-16 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(4rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(4rem * var(--tw-space-y-reverse));
  }
  .sm\:space-y-2 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
  }
  .sm\:space-y-3 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
  }
  .sm\:space-y-4 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1rem * var(--tw-space-y-reverse));
  }
  .sm\:space-y-6 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
  }
  .sm\:rounded-2xl {
    border-radius: 1rem;
  }
  .sm\:rounded-lg {
    border-radius: var(--radius);
  }
  .sm\:p-3 {
    padding: 0.75rem;
  }
  .sm\:p-4 {
    padding: 1rem;
  }
  .sm\:p-5 {
    padding: 1.25rem;
  }
  .sm\:p-6 {
    padding: 1.5rem;
  }
  .sm\:p-8 {
    padding: 2rem;
  }
  .sm\:px-2 {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
  .sm\:px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .sm\:px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
  .sm\:px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
  .sm\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .sm\:py-10 {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }
  .sm\:py-12 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
  .sm\:py-16 {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
  .sm\:py-8 {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
  .sm\:pb-8 {
    padding-bottom: 2rem;
  }
  .sm\:pt-8 {
    padding-top: 2rem;
  }
  .sm\:text-left {
    text-align: left;
  }
  .sm\:text-right {
    text-align: right;
  }
  .sm\:text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
  }
  .sm\:text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }
  .sm\:text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }
  .sm\:text-5xl {
    font-size: 3rem;
    line-height: 1;
  }
  .sm\:text-7xl {
    font-size: 4.5rem;
    line-height: 1;
  }
  .sm\:text-\[10px\] {
    font-size: 10px;
  }
  .sm\:text-base {
    font-size: 1rem;
    line-height: 1.5rem;
  }
  .sm\:text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
  .sm\:text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
  .sm\:text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
  .sm\:text-xs {
    font-size: 0.75rem;
    line-height: 1rem;
  }
  .sm\:tracking-\[0\.22em\] {
    letter-spacing: 0.22em;
  }
  @media (max-width: 639px) {
    html[data-native-shell] .log-setup .swipe-peek-card .sm\:h-8 {
      height: 1.35rem;
      width: 1.35rem;
    }
    html[data-native-shell] .log-setup .swipe-peek-card .sm\:gap-2 {
      gap: 0.25rem;
    }
  }
  .sm\:hover\:scale-\[1\.02\]:hover {
    --tw-scale-x: 1.02;
    --tw-scale-y: 1.02;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }
  .data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state="open"] {
    --tw-enter-translate-y: 100%;
  }
}
@media (min-width: 768px) {
  .md\:absolute {
    position: absolute;
  }
  .md\:left-auto {
    left: auto;
  }
  .md\:right-4 {
    right: 1rem;
  }
  .md\:col-span-2 {
    grid-column: span 2 / span 2;
  }
  .md\:block {
    display: block;
  }
  .md\:flex {
    display: flex;
  }
  .md\:grid {
    display: grid;
  }
  .md\:h-16 {
    height: 4rem;
  }
  .md\:h-9 {
    height: 2.25rem;
  }
  .md\:h-\[400px\] {
    height: 400px;
  }
  .md\:w-16 {
    width: 4rem;
  }
  .md\:w-9 {
    width: 2.25rem;
  }
  .md\:w-\[var\(--radix-navigation-menu-viewport-width\)\] {
    width: var(--radix-navigation-menu-viewport-width);
  }
  .md\:w-auto {
    width: auto;
  }
  .md\:max-w-3xl {
    max-width: 48rem;
  }
  .md\:max-w-\[420px\] {
    max-width: 420px;
  }
  .md\:max-w-md {
    max-width: 28rem;
  }
  .md\:basis-\[44\%\] {
    flex-basis: 44%;
  }
  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .md\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .md\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .md\:grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .md\:grid-cols-\[4rem_minmax\(0\2c 1fr\)\] {
    grid-template-columns: 4rem minmax(0,1fr);
  }
  .md\:flex-row {
    flex-direction: row;
  }
  .md\:gap-1\.5 {
    gap: 0.375rem;
  }
  .md\:p-4 {
    padding: 1rem;
  }
  .md\:px-2\.5 {
    padding-left: 0.625rem;
    padding-right: 0.625rem;
  }
  .md\:px-3 {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
  .md\:px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
  .md\:px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
  .md\:py-1 {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }
  .md\:text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
  }
  .md\:text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }
  .md\:text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }
  .md\:text-5xl {
    font-size: 3rem;
    line-height: 1;
  }
  .md\:text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
  .md\:text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
  .md\:text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
  .md\:leading-relaxed {
    line-height: 1.625;
  }
  .md\:opacity-0 {
    opacity: 0;
  }
  .after\:md\:hidden::after {
    content: var(--tw-content);
    display: none;
  }
  .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\:m-2 {
    margin: 0.5rem;
  }
  .peer[data-state="collapsed"][data-variant="inset"] ~ .md\:peer-data-\[state\=collapsed\]\:peer-data-\[variant\=inset\]\:ml-2 {
    margin-left: 0.5rem;
  }
  .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\:ml-0 {
    margin-left: 0px;
  }
  .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\:rounded-xl {
    border-radius: 0.75rem;
  }
  .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\:shadow {
    --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }
}
@media (min-width: 1024px) {
  .lg\:inset-10 {
    inset: 2.5rem;
  }
  .lg\:inset-20 {
    inset: 5rem;
  }
  .lg\:inset-28 {
    inset: 7rem;
  }
  .lg\:-left-10 {
    left: -2.5rem;
  }
  .lg\:-left-12 {
    left: -3rem;
  }
  .lg\:-right-12 {
    right: -3rem;
  }
  .lg\:left-\[4\%\] {
    left: 4%;
  }
  .lg\:right-\[4\%\] {
    right: 4%;
  }
  .lg\:col-span-2 {
    grid-column: span 2 / span 2;
  }
  .lg\:col-span-4 {
    grid-column: span 4 / span 4;
  }
  .lg\:col-span-8 {
    grid-column: span 8 / span 8;
  }
  .lg\:mx-0 {
    margin-left: 0px;
    margin-right: 0px;
  }
  .lg\:-ml-5 {
    margin-left: -1.25rem;
  }
  .lg\:mb-12 {
    margin-bottom: 3rem;
  }
  .lg\:mt-6 {
    margin-top: 1.5rem;
  }
  .lg\:h-12 {
    height: 3rem;
  }
  .lg\:h-16 {
    height: 4rem;
  }
  .lg\:h-96 {
    height: 24rem;
  }
  .lg\:h-\[calc\(100vh-12rem\)\] {
    height: calc(100vh - 12rem);
  }
  .lg\:h-\[calc\(100vh-24rem\)\] {
    height: calc(100vh - 24rem);
  }
  .lg\:max-h-\[calc\(100vh-6rem\)\] {
    max-height: calc(100vh - 6rem);
  }
  .lg\:max-h-\[calc\(100vh-8rem\)\] {
    max-height: calc(100vh - 8rem);
  }
  .lg\:w-12 {
    width: 3rem;
  }
  .lg\:w-16 {
    width: 4rem;
  }
  .lg\:w-96 {
    width: 24rem;
  }
  .lg\:w-\[17\.75rem\] {
    width: 17.75rem;
  }
  .lg\:max-w-4xl {
    max-width: 56rem;
  }
  .lg\:grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  .lg\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .lg\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .lg\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .lg\:grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .lg\:grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .lg\:grid-cols-\[140px_1fr\] {
    grid-template-columns: 140px 1fr;
  }
  .lg\:grid-cols-\[minmax\(0\2c 1fr\)_auto\] {
    grid-template-columns: minmax(0,1fr) auto;
  }
  .lg\:gap-12 {
    gap: 3rem;
  }
  .lg\:gap-20 {
    gap: 5rem;
  }
  .lg\:gap-6 {
    gap: 1.5rem;
  }
  .lg\:px-12 {
    padding-left: 3rem;
    padding-right: 3rem;
  }
  .lg\:px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .lg\:px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
  .lg\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .lg\:py-10 {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }
  .lg\:pl-5 {
    padding-left: 1.25rem;
  }
  .lg\:pt-24 {
    padding-top: 6rem;
  }
  .lg\:text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }
  .lg\:text-5xl {
    font-size: 3rem;
    line-height: 1;
  }
  .lg\:text-6xl {
    font-size: 3.75rem;
    line-height: 1;
  }
  .lg\:text-\[3\.15rem\] {
    font-size: 3.15rem;
  }
  .lg\:text-base {
    font-size: 1rem;
    line-height: 1.5rem;
  }
  .lg\:leading-\[1\.02\] {
    line-height: 1.02;
  }
}
@media (min-width: 1280px) {
  .xl\:max-w-5xl {
    max-width: 64rem;
  }
  .xl\:basis-\[48\%\] {
    flex-basis: 48%;
  }
  .xl\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .xl\:grid-cols-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
  .xl\:px-16 {
    padding-left: 4rem;
    padding-right: 4rem;
  }
}
@media (min-width: 1536px) {
  .\32xl\:basis-\[42\%\] {
    flex-basis: 42%;
  }
  .\32xl\:px-24 {
    padding-left: 6rem;
    padding-right: 6rem;
  }
}
@media print {
  .print\:block {
    display: block;
  }
}
.\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]) {
  background-color: hsl(var(--accent));
}
.first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child {
  border-top-left-radius: calc(var(--radius) - 2px);
  border-bottom-left-radius: calc(var(--radius) - 2px);
}
.last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has([aria-selected]):last-child {
  border-top-right-radius: calc(var(--radius) - 2px);
  border-bottom-right-radius: calc(var(--radius) - 2px);
}
.\[\&\:has\(\[aria-selected\]\.day-outside\)\]\:bg-accent\/50:has([aria-selected].day-outside) {
  background-color: hsl(var(--accent) / 0.5);
}
.\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has([aria-selected].day-range-end) {
  border-top-right-radius: calc(var(--radius) - 2px);
  border-bottom-right-radius: calc(var(--radius) - 2px);
}
.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]) {
  padding-right: 0px;
}
.\[\&\>button\]\:hidden>button {
  display: none;
}
.\[\&\>span\:last-child\]\:truncate>span:last-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.\[\&\>span\]\:line-clamp-1>span {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div {
  --tw-translate-y: -3px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.\[\&\>svg\]\:absolute>svg {
  position: absolute;
}
.\[\&\>svg\]\:left-4>svg {
  left: 1rem;
}
.\[\&\>svg\]\:top-4>svg {
  top: 1rem;
}
.\[\&\>svg\]\:size-3\.5>svg {
  width: 0.875rem;
  height: 0.875rem;
}
.\[\&\>svg\]\:size-4>svg {
  width: 1rem;
  height: 1rem;
}
.\[\&\>svg\]\:h-2\.5>svg {
  height: 0.625rem;
}
.\[\&\>svg\]\:h-3>svg {
  height: 0.75rem;
}
.\[\&\>svg\]\:w-2\.5>svg {
  width: 0.625rem;
}
.\[\&\>svg\]\:w-3>svg {
  width: 0.75rem;
}
.\[\&\>svg\]\:shrink-0>svg {
  flex-shrink: 0;
}
.\[\&\>svg\]\:text-destructive>svg {
  color: hsl(var(--destructive));
}
.\[\&\>svg\]\:text-foreground>svg {
  color: hsl(var(--foreground));
}
.\[\&\>svg\]\:text-muted-foreground>svg {
  color: hsl(var(--muted-foreground));
}
.\[\&\>svg\]\:text-sidebar-accent-foreground>svg {
  color: hsl(var(--sidebar-accent-foreground));
}
.\[\&\>svg\~\*\]\:pl-7>svg~* {
  padding-left: 1.75rem;
}
.\[\&\>tr\]\:last\:border-b-0:last-child>tr {
  border-bottom-width: 0px;
}
.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div {
  --tw-rotate: 90deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text {
  fill: hsl(var(--muted-foreground));
}
.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke='#ccc'] {
  stroke: hsl(var(--border) / 0.5);
}
.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor {
  stroke: hsl(var(--border));
}
.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke='#fff'] {
  stroke: transparent;
}
.\[\&_\.recharts-layer\]\:outline-none .recharts-layer {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke='#ccc'] {
  stroke: hsl(var(--border));
}
.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector {
  fill: hsl(var(--muted));
}
.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor {
  fill: hsl(var(--muted));
}
.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke='#ccc'] {
  stroke: hsl(var(--border));
}
.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke='#fff'] {
  stroke: transparent;
}
.\[\&_\.recharts-sector\]\:outline-none .recharts-sector {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.\[\&_\.recharts-surface\]\:outline-none .recharts-surface {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading] {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading] {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}
.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading] {
  font-size: 0.75rem;
  line-height: 1rem;
}
.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading] {
  font-weight: 500;
}
.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading] {
  color: hsl(var(--muted-foreground));
}
.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden]) ~[cmdk-group] {
  padding-top: 0px;
}
.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group] {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg {
  height: 1.25rem;
}
.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg {
  width: 1.25rem;
}
.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input] {
  height: 3rem;
}
.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item] {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item] {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg {
  height: 1.25rem;
}
.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg {
  width: 1.25rem;
}
.\[\&_a\]\:text-foreground a {
  color: hsl(var(--foreground));
}
.\[\&_a\]\:underline a {
  text-decoration-line: underline;
}
.\[\&_a\]\:underline-offset-2 a {
  text-underline-offset: 2px;
}
.\[\&_h2\]\:mb-2 h2 {
  margin-bottom: 0.5rem;
}
.\[\&_h2\]\:mt-8 h2 {
  margin-top: 2rem;
}
.\[\&_h2\]\:font-display h2 {
  font-family: Orbitron, sans-serif;
}
.\[\&_h2\]\:text-base h2 {
  font-size: 1rem;
  line-height: 1.5rem;
}
.\[\&_h2\]\:uppercase h2 {
  text-transform: uppercase;
}
.\[\&_h2\]\:tracking-wider h2 {
  letter-spacing: 0.05em;
}
.\[\&_h2\]\:text-foreground h2 {
  color: hsl(var(--foreground));
}

  .\[\&_h2\]\:font-display h2 {
    font-family: var(--font-display);
  }
.\[\&_p\]\:mb-3 p {
  margin-bottom: 0.75rem;
}
.\[\&_p\]\:leading-relaxed p {
  line-height: 1.625;
}
.\[\&_svg\]\:pointer-events-none svg {
  pointer-events: none;
}
.\[\&_svg\]\:size-4 svg {
  width: 1rem;
  height: 1rem;
}
.\[\&_svg\]\:h-11 svg {
  height: 2.75rem;
}
.\[\&_svg\]\:h-7 svg {
  height: 1.75rem;
}
.\[\&_svg\]\:h-8 svg {
  height: 2rem;
}
.\[\&_svg\]\:w-11 svg {
  width: 2.75rem;
}
.\[\&_svg\]\:w-7 svg {
  width: 1.75rem;
}
.\[\&_svg\]\:w-8 svg {
  width: 2rem;
}
.\[\&_svg\]\:shrink-0 svg {
  flex-shrink: 0;
}
  @media (max-width: 639px) {
    html[data-native-shell] .log-setup .swipe-peek-card .\[\&_svg\]\:h-8 svg {
      height: 1.35rem;
      width: 1.35rem;
    }
  }
.\[\&_tr\:last-child\]\:border-0 tr:last-child {
  border-width: 0px;
}
.\[\&_tr\]\:border-b tr {
  border-bottom-width: 1px;
}
.\[\&_ul\]\:list-disc ul {
  list-style-type: disc;
}
.\[\&_ul\]\:space-y-1\.5 ul > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));
}
.\[\&_ul\]\:pl-5 ul {
  padding-left: 1.25rem;
}
[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2 {
  right: -0.5rem;
}
[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize {
  cursor: e-resize;
}
[data-side=left] .\[\[data-side\=left\]_\&\]\:cursor-w-resize {
  cursor: w-resize;
}
[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2 {
  left: -0.5rem;
}
[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize {
  cursor: w-resize;
}
[data-side=right] .\[\[data-side\=right\]_\&\]\:cursor-e-resize {
  cursor: e-resize;
}
