
/* Tailwind handles all styling, minimal custom CSS for animation fallback if needed */
.animate-fade-in-down[data-v-d5023515] {
  animation: fadeInDown-d5023515 0.3s ease-out;
}
@keyframes fadeInDown-d5023515 {
0% {
    opacity: 0;
    transform: translateY(-10px);
}
100% {
    opacity: 1;
    transform: translateY(0);
}
}

/* 按钮呼吸缩放动画 */
.btn-breathe[data-v-0f3a823f] {
  animation: btnBreathe-0f3a823f 1.2s ease-in-out infinite;
}
@keyframes btnBreathe-0f3a823f {
0%, 100% { transform: scale(1);
}
50% { transform: scale(1.08);
}
}

/* 脉冲扩散动画 */
.pulse-ring[data-v-0f3a823f] {
  animation: pulseRing-0f3a823f 1.4s ease-out infinite;
}
@keyframes pulseRing-0f3a823f {
0% { transform: scale(1); opacity: 0.6;
}
100% { transform: scale(1.6); opacity: 0;
}
}

/* Global styles handled by Tailwind via index.html */
body {
  margin: 0;
  padding: 0;
}
#app {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
/* inter-cyrillic-ext-400-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(./inter-cyrillic-ext-400-normal-ef572f91.woff2) format('woff2'), url(./inter-cyrillic-ext-400-normal-5cb2f1cc.woff) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* inter-cyrillic-400-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(./inter-cyrillic-400-normal-f0bb5864.woff2) format('woff2'), url(./inter-cyrillic-400-normal-6e441a6c.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* inter-greek-ext-400-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(./inter-greek-ext-400-normal-eadedd9e.woff2) format('woff2'), url(./inter-greek-ext-400-normal-4f2b6f92.woff) format('woff');
  unicode-range: U+1F00-1FFF;
}

/* inter-greek-400-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(./inter-greek-400-normal-c15ddd00.woff2) format('woff2'), url(./inter-greek-400-normal-bdae9d28.woff) format('woff');
  unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}

/* inter-vietnamese-400-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(./inter-vietnamese-400-normal-547ad9fd.woff2) format('woff2'), url(./inter-vietnamese-400-normal-54aa42d3.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;
}

/* inter-latin-ext-400-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(./inter-latin-ext-400-normal-6744a7f5.woff2) format('woff2'), url(./inter-latin-ext-400-normal-22ae8360.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;
}

/* inter-latin-400-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(./inter-latin-400-normal-8909904a.woff2) format('woff2'), url(./inter-latin-400-normal-e20fa0b4.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;
}/* inter-cyrillic-ext-500-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(./inter-cyrillic-ext-500-normal-1c2db92d.woff2) format('woff2'), url(./inter-cyrillic-ext-500-normal-e250c05a.woff) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* inter-cyrillic-500-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(./inter-cyrillic-500-normal-b77a86ec.woff2) format('woff2'), url(./inter-cyrillic-500-normal-5be18e03.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* inter-greek-ext-500-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(./inter-greek-ext-500-normal-75a9ec93.woff2) format('woff2'), url(./inter-greek-ext-500-normal-c85d11bd.woff) format('woff');
  unicode-range: U+1F00-1FFF;
}

/* inter-greek-500-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(./inter-greek-500-normal-cc197d79.woff2) format('woff2'), url(./inter-greek-500-normal-86d55a4b.woff) format('woff');
  unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}

/* inter-vietnamese-500-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(./inter-vietnamese-500-normal-44e36aa5.woff2) format('woff2'), url(./inter-vietnamese-500-normal-18a4a09f.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;
}

/* inter-latin-ext-500-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(./inter-latin-ext-500-normal-2c6fbc42.woff2) format('woff2'), url(./inter-latin-ext-500-normal-30d2903c.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;
}

/* inter-latin-500-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(./inter-latin-500-normal-f3779f1e.woff2) format('woff2'), url(./inter-latin-500-normal-9b42c108.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;
}/* inter-cyrillic-ext-600-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(./inter-cyrillic-ext-600-normal-509fca9c.woff2) format('woff2'), url(./inter-cyrillic-ext-600-normal-a5073285.woff) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* inter-cyrillic-600-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(./inter-cyrillic-600-normal-6c2a37f8.woff2) format('woff2'), url(./inter-cyrillic-600-normal-cc190ed1.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* inter-greek-ext-600-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(./inter-greek-ext-600-normal-399f94d7.woff2) format('woff2'), url(./inter-greek-ext-600-normal-efc7aa9c.woff) format('woff');
  unicode-range: U+1F00-1FFF;
}

/* inter-greek-600-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(./inter-greek-600-normal-9c5a897f.woff2) format('woff2'), url(./inter-greek-600-normal-090b24e2.woff) format('woff');
  unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}

/* inter-vietnamese-600-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(./inter-vietnamese-600-normal-1aeb94ae.woff2) format('woff2'), url(./inter-vietnamese-600-normal-24a01e7b.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;
}

/* inter-latin-ext-600-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(./inter-latin-ext-600-normal-e4bdf67b.woff2) format('woff2'), url(./inter-latin-ext-600-normal-22ff20a6.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;
}

/* inter-latin-600-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(./inter-latin-600-normal-f9a06e79.woff2) format('woff2'), url(./inter-latin-600-normal-6a9cb3a5.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;
}/* inter-cyrillic-ext-700-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(./inter-cyrillic-ext-700-normal-a46b9978.woff2) format('woff2'), url(./inter-cyrillic-ext-700-normal-0f3d4be2.woff) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* inter-cyrillic-700-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(./inter-cyrillic-700-normal-5917871d.woff2) format('woff2'), url(./inter-cyrillic-700-normal-72b6daa4.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* inter-greek-ext-700-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(./inter-greek-ext-700-normal-b7b2732e.woff2) format('woff2'), url(./inter-greek-ext-700-normal-b26ed64c.woff) format('woff');
  unicode-range: U+1F00-1FFF;
}

/* inter-greek-700-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(./inter-greek-700-normal-737c6c91.woff2) format('woff2'), url(./inter-greek-700-normal-53368f53.woff) format('woff');
  unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}

/* inter-vietnamese-700-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(./inter-vietnamese-700-normal-5fafa382.woff2) format('woff2'), url(./inter-vietnamese-700-normal-412023ab.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;
}

/* inter-latin-ext-700-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(./inter-latin-ext-700-normal-143f9504.woff2) format('woff2'), url(./inter-latin-ext-700-normal-1761edba.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;
}

/* inter-latin-700-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(./inter-latin-700-normal-6f56409f.woff2) format('woff2'), url(./inter-latin-700-normal-7c5ed565.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;
}/* inter-cyrillic-ext-800-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src: url(./inter-cyrillic-ext-800-normal-5c3f504d.woff2) format('woff2'), url(./inter-cyrillic-ext-800-normal-e87b63bf.woff) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* inter-cyrillic-800-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src: url(./inter-cyrillic-800-normal-e84cb164.woff2) format('woff2'), url(./inter-cyrillic-800-normal-5d3dc126.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* inter-greek-ext-800-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src: url(./inter-greek-ext-800-normal-33bc91a6.woff2) format('woff2'), url(./inter-greek-ext-800-normal-75c98d8d.woff) format('woff');
  unicode-range: U+1F00-1FFF;
}

/* inter-greek-800-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src: url(./inter-greek-800-normal-18a6a4a8.woff2) format('woff2'), url(./inter-greek-800-normal-67c23188.woff) format('woff');
  unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}

/* inter-vietnamese-800-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src: url(./inter-vietnamese-800-normal-37852ffd.woff2) format('woff2'), url(./inter-vietnamese-800-normal-46ce148a.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;
}

/* inter-latin-ext-800-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src: url(./inter-latin-ext-800-normal-eade5559.woff2) format('woff2'), url(./inter-latin-ext-800-normal-40c8e1bb.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;
}

/* inter-latin-800-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src: url(./inter-latin-800-normal-a7d0a50f.woff2) format('woff2'), url(./inter-latin-800-normal-a2fdc5be.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;
}/* inter-cyrillic-ext-900-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 900;
  src: url(./inter-cyrillic-ext-900-normal-bab6fa98.woff2) format('woff2'), url(./inter-cyrillic-ext-900-normal-ec5fab2c.woff) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* inter-cyrillic-900-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 900;
  src: url(./inter-cyrillic-900-normal-b077cd77.woff2) format('woff2'), url(./inter-cyrillic-900-normal-250b2e95.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* inter-greek-ext-900-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 900;
  src: url(./inter-greek-ext-900-normal-0a5995a6.woff2) format('woff2'), url(./inter-greek-ext-900-normal-ce029841.woff) format('woff');
  unicode-range: U+1F00-1FFF;
}

/* inter-greek-900-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 900;
  src: url(./inter-greek-900-normal-b247a595.woff2) format('woff2'), url(./inter-greek-900-normal-321c2777.woff) format('woff');
  unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}

/* inter-vietnamese-900-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 900;
  src: url(./inter-vietnamese-900-normal-885b386e.woff2) format('woff2'), url(./inter-vietnamese-900-normal-54e01026.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;
}

/* inter-latin-ext-900-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 900;
  src: url(./inter-latin-ext-900-normal-de536299.woff2) format('woff2'), url(./inter-latin-ext-900-normal-cff25eef.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;
}

/* inter-latin-900-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 900;
  src: url(./inter-latin-900-normal-d5c0ed7b.woff2) format('woff2'), url(./inter-latin-900-normal-59c48a05.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;
}/* 主题变量系统 - 通过CSS变量实现动态主题切换 */

:root {
  /* 默认蓝色主题（会被main.js中的JS覆盖） */
  --theme-primary: #2563EB;
  --theme-secondary: #7C3AED;
  --theme-accent: #06B6D4;
  --theme-rgb: 37, 99, 235;
}

/* 主题工具类 - 用于替换硬编码的颜色值 */

/* Primary Colors */
.theme-bg-primary { background-color: var(--theme-primary); }
.theme-text-primary { color: var(--theme-primary); }
.theme-border-primary { border-color: var(--theme-primary); }

/* Secondary Colors */
.theme-bg-secondary { background-color: var(--theme-secondary); }
.theme-text-secondary { color: var(--theme-secondary); }
.theme-border-secondary { border-color: var(--theme-secondary); }

/* Accent Colors */
.theme-bg-accent { background-color: var(--theme-accent); }
.theme-text-accent { color: var(--theme-accent); }
.theme-border-accent { border-color: var(--theme-accent); }

/* Gradient Backgrounds */
.theme-gradient-primary {
  background: linear-gradient(135deg, var(--theme-primary), var(--theme-secondary));
}

.theme-gradient-accent {
  background: linear-gradient(135deg, var(--theme-primary), var(--theme-accent));
}

/* Opacity Variants */
.theme-bg-primary-10 { background-color: rgba(var(--theme-rgb), 0.1); }
.theme-bg-primary-20 { background-color: rgba(var(--theme-rgb), 0.2); }
.theme-bg-primary-30 { background-color: rgba(var(--theme-rgb), 0.3); }
.theme-bg-primary-50 { background-color: rgba(var(--theme-rgb), 0.5); }

.theme-border-primary-20 { border-color: rgba(var(--theme-rgb), 0.2); }
.theme-border-primary-30 { border-color: rgba(var(--theme-rgb), 0.3); }

/* Shadow */
.theme-shadow { box-shadow: 0 10px 25px rgba(var(--theme-rgb), 0.3); }
.theme-shadow-lg { box-shadow: 0 20px 40px rgba(var(--theme-rgb), 0.4); }

/* Focus Ring */
.theme-focus-ring:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(var(--theme-rgb), 0.3);
}
