@charset "UTF-8";.no-gap {
  --v-row-gap: 4px;
}

@layer vuetify-core {
  @layer reset, base;
}
@layer vuetify-components;
@layer vuetify-overrides;
@layer vuetify-utilities {
  @layer theme-base;
  @layer typography;
  @layer helpers;
  @layer theme-background;
  @layer theme-foreground;
}
@layer vuetify-final {
  @layer transitions, trumps;
}
@layer vuetify-final.transitions {
  @keyframes v-shake {
    59% {
      margin-left: 0;
    }
    60%, 80% {
      margin-left: 2px;
    }
    70%, 90% {
      margin-left: -2px;
    }
  }
}
@layer vuetify-utilities.theme-base {
  .v-theme-on-light {
    color: rgb(var(--v-theme-on-light));
  }
  .v-theme-on-dark {
    color: rgb(var(--v-theme-on-dark));
  }
}
@layer vuetify-utilities.theme-background {
  .bg-black {
    background-color: #000000;
  }
  .bg-black {
    color: #FFFFFF;
  }
  .bg-white {
    background-color: #FFFFFF;
  }
  .bg-white {
    color: #000000;
  }
  .bg-transparent {
    background-color: transparent;
  }
  .bg-transparent {
    color: currentColor;
  }
  .bg-red {
    background-color: #F44336;
  }
  .bg-red {
    color: #FFFFFF;
  }
  .bg-red-lighten-5 {
    background-color: #FFEBEE;
  }
  .bg-red-lighten-5 {
    color: #000000;
  }
  .bg-red-lighten-4 {
    background-color: #FFCDD2;
  }
  .bg-red-lighten-4 {
    color: #000000;
  }
  .bg-red-lighten-3 {
    background-color: #EF9A9A;
  }
  .bg-red-lighten-3 {
    color: #000000;
  }
  .bg-red-lighten-2 {
    background-color: #E57373;
  }
  .bg-red-lighten-2 {
    color: #FFFFFF;
  }
  .bg-red-lighten-1 {
    background-color: #EF5350;
  }
  .bg-red-lighten-1 {
    color: #FFFFFF;
  }
  .bg-red-darken-1 {
    background-color: #E53935;
  }
  .bg-red-darken-1 {
    color: #FFFFFF;
  }
  .bg-red-darken-2 {
    background-color: #D32F2F;
  }
  .bg-red-darken-2 {
    color: #FFFFFF;
  }
  .bg-red-darken-3 {
    background-color: #C62828;
  }
  .bg-red-darken-3 {
    color: #FFFFFF;
  }
  .bg-red-darken-4 {
    background-color: #B71C1C;
  }
  .bg-red-darken-4 {
    color: #FFFFFF;
  }
  .bg-red-accent-1 {
    background-color: #FF8A80;
  }
  .bg-red-accent-1 {
    color: #000000;
  }
  .bg-red-accent-2 {
    background-color: #FF5252;
  }
  .bg-red-accent-2 {
    color: #FFFFFF;
  }
  .bg-red-accent-3 {
    background-color: #FF1744;
  }
  .bg-red-accent-3 {
    color: #FFFFFF;
  }
  .bg-red-accent-4 {
    background-color: #D50000;
  }
  .bg-red-accent-4 {
    color: #FFFFFF;
  }
  .bg-pink {
    background-color: #e91e63;
  }
  .bg-pink {
    color: #FFFFFF;
  }
  .bg-pink-lighten-5 {
    background-color: #fce4ec;
  }
  .bg-pink-lighten-5 {
    color: #000000;
  }
  .bg-pink-lighten-4 {
    background-color: #f8bbd0;
  }
  .bg-pink-lighten-4 {
    color: #000000;
  }
  .bg-pink-lighten-3 {
    background-color: #f48fb1;
  }
  .bg-pink-lighten-3 {
    color: #000000;
  }
  .bg-pink-lighten-2 {
    background-color: #f06292;
  }
  .bg-pink-lighten-2 {
    color: #FFFFFF;
  }
  .bg-pink-lighten-1 {
    background-color: #ec407a;
  }
  .bg-pink-lighten-1 {
    color: #FFFFFF;
  }
  .bg-pink-darken-1 {
    background-color: #d81b60;
  }
  .bg-pink-darken-1 {
    color: #FFFFFF;
  }
  .bg-pink-darken-2 {
    background-color: #c2185b;
  }
  .bg-pink-darken-2 {
    color: #FFFFFF;
  }
  .bg-pink-darken-3 {
    background-color: #ad1457;
  }
  .bg-pink-darken-3 {
    color: #FFFFFF;
  }
  .bg-pink-darken-4 {
    background-color: #880e4f;
  }
  .bg-pink-darken-4 {
    color: #FFFFFF;
  }
  .bg-pink-accent-1 {
    background-color: #ff80ab;
  }
  .bg-pink-accent-1 {
    color: #FFFFFF;
  }
  .bg-pink-accent-2 {
    background-color: #ff4081;
  }
  .bg-pink-accent-2 {
    color: #FFFFFF;
  }
  .bg-pink-accent-3 {
    background-color: #f50057;
  }
  .bg-pink-accent-3 {
    color: #FFFFFF;
  }
  .bg-pink-accent-4 {
    background-color: #c51162;
  }
  .bg-pink-accent-4 {
    color: #FFFFFF;
  }
  .bg-purple {
    background-color: #9c27b0;
  }
  .bg-purple {
    color: #FFFFFF;
  }
  .bg-purple-lighten-5 {
    background-color: #f3e5f5;
  }
  .bg-purple-lighten-5 {
    color: #000000;
  }
  .bg-purple-lighten-4 {
    background-color: #e1bee7;
  }
  .bg-purple-lighten-4 {
    color: #000000;
  }
  .bg-purple-lighten-3 {
    background-color: #ce93d8;
  }
  .bg-purple-lighten-3 {
    color: #FFFFFF;
  }
  .bg-purple-lighten-2 {
    background-color: #ba68c8;
  }
  .bg-purple-lighten-2 {
    color: #FFFFFF;
  }
  .bg-purple-lighten-1 {
    background-color: #ab47bc;
  }
  .bg-purple-lighten-1 {
    color: #FFFFFF;
  }
  .bg-purple-darken-1 {
    background-color: #8e24aa;
  }
  .bg-purple-darken-1 {
    color: #FFFFFF;
  }
  .bg-purple-darken-2 {
    background-color: #7b1fa2;
  }
  .bg-purple-darken-2 {
    color: #FFFFFF;
  }
  .bg-purple-darken-3 {
    background-color: #6a1b9a;
  }
  .bg-purple-darken-3 {
    color: #FFFFFF;
  }
  .bg-purple-darken-4 {
    background-color: #4a148c;
  }
  .bg-purple-darken-4 {
    color: #FFFFFF;
  }
  .bg-purple-accent-1 {
    background-color: #ea80fc;
  }
  .bg-purple-accent-1 {
    color: #FFFFFF;
  }
  .bg-purple-accent-2 {
    background-color: #e040fb;
  }
  .bg-purple-accent-2 {
    color: #FFFFFF;
  }
  .bg-purple-accent-3 {
    background-color: #d500f9;
  }
  .bg-purple-accent-3 {
    color: #FFFFFF;
  }
  .bg-purple-accent-4 {
    background-color: #aa00ff;
  }
  .bg-purple-accent-4 {
    color: #FFFFFF;
  }
  .bg-deep-purple {
    background-color: #673ab7;
  }
  .bg-deep-purple {
    color: #FFFFFF;
  }
  .bg-deep-purple-lighten-5 {
    background-color: #ede7f6;
  }
  .bg-deep-purple-lighten-5 {
    color: #000000;
  }
  .bg-deep-purple-lighten-4 {
    background-color: #d1c4e9;
  }
  .bg-deep-purple-lighten-4 {
    color: #000000;
  }
  .bg-deep-purple-lighten-3 {
    background-color: #b39ddb;
  }
  .bg-deep-purple-lighten-3 {
    color: #FFFFFF;
  }
  .bg-deep-purple-lighten-2 {
    background-color: #9575cd;
  }
  .bg-deep-purple-lighten-2 {
    color: #FFFFFF;
  }
  .bg-deep-purple-lighten-1 {
    background-color: #7e57c2;
  }
  .bg-deep-purple-lighten-1 {
    color: #FFFFFF;
  }
  .bg-deep-purple-darken-1 {
    background-color: #5e35b1;
  }
  .bg-deep-purple-darken-1 {
    color: #FFFFFF;
  }
  .bg-deep-purple-darken-2 {
    background-color: #512da8;
  }
  .bg-deep-purple-darken-2 {
    color: #FFFFFF;
  }
  .bg-deep-purple-darken-3 {
    background-color: #4527a0;
  }
  .bg-deep-purple-darken-3 {
    color: #FFFFFF;
  }
  .bg-deep-purple-darken-4 {
    background-color: #311b92;
  }
  .bg-deep-purple-darken-4 {
    color: #FFFFFF;
  }
  .bg-deep-purple-accent-1 {
    background-color: #b388ff;
  }
  .bg-deep-purple-accent-1 {
    color: #FFFFFF;
  }
  .bg-deep-purple-accent-2 {
    background-color: #7c4dff;
  }
  .bg-deep-purple-accent-2 {
    color: #FFFFFF;
  }
  .bg-deep-purple-accent-3 {
    background-color: #651fff;
  }
  .bg-deep-purple-accent-3 {
    color: #FFFFFF;
  }
  .bg-deep-purple-accent-4 {
    background-color: #6200ea;
  }
  .bg-deep-purple-accent-4 {
    color: #FFFFFF;
  }
  .bg-indigo {
    background-color: #3f51b5;
  }
  .bg-indigo {
    color: #FFFFFF;
  }
  .bg-indigo-lighten-5 {
    background-color: #e8eaf6;
  }
  .bg-indigo-lighten-5 {
    color: #000000;
  }
  .bg-indigo-lighten-4 {
    background-color: #c5cae9;
  }
  .bg-indigo-lighten-4 {
    color: #000000;
  }
  .bg-indigo-lighten-3 {
    background-color: #9fa8da;
  }
  .bg-indigo-lighten-3 {
    color: #FFFFFF;
  }
  .bg-indigo-lighten-2 {
    background-color: #7986cb;
  }
  .bg-indigo-lighten-2 {
    color: #FFFFFF;
  }
  .bg-indigo-lighten-1 {
    background-color: #5c6bc0;
  }
  .bg-indigo-lighten-1 {
    color: #FFFFFF;
  }
  .bg-indigo-darken-1 {
    background-color: #3949ab;
  }
  .bg-indigo-darken-1 {
    color: #FFFFFF;
  }
  .bg-indigo-darken-2 {
    background-color: #303f9f;
  }
  .bg-indigo-darken-2 {
    color: #FFFFFF;
  }
  .bg-indigo-darken-3 {
    background-color: #283593;
  }
  .bg-indigo-darken-3 {
    color: #FFFFFF;
  }
  .bg-indigo-darken-4 {
    background-color: #1a237e;
  }
  .bg-indigo-darken-4 {
    color: #FFFFFF;
  }
  .bg-indigo-accent-1 {
    background-color: #8c9eff;
  }
  .bg-indigo-accent-1 {
    color: #FFFFFF;
  }
  .bg-indigo-accent-2 {
    background-color: #536dfe;
  }
  .bg-indigo-accent-2 {
    color: #FFFFFF;
  }
  .bg-indigo-accent-3 {
    background-color: #3d5afe;
  }
  .bg-indigo-accent-3 {
    color: #FFFFFF;
  }
  .bg-indigo-accent-4 {
    background-color: #304ffe;
  }
  .bg-indigo-accent-4 {
    color: #FFFFFF;
  }
  .bg-blue {
    background-color: #2196F3;
  }
  .bg-blue {
    color: #FFFFFF;
  }
  .bg-blue-lighten-5 {
    background-color: #E3F2FD;
  }
  .bg-blue-lighten-5 {
    color: #000000;
  }
  .bg-blue-lighten-4 {
    background-color: #BBDEFB;
  }
  .bg-blue-lighten-4 {
    color: #000000;
  }
  .bg-blue-lighten-3 {
    background-color: #90CAF9;
  }
  .bg-blue-lighten-3 {
    color: #000000;
  }
  .bg-blue-lighten-2 {
    background-color: #64B5F6;
  }
  .bg-blue-lighten-2 {
    color: #000000;
  }
  .bg-blue-lighten-1 {
    background-color: #42A5F5;
  }
  .bg-blue-lighten-1 {
    color: #FFFFFF;
  }
  .bg-blue-darken-1 {
    background-color: #1E88E5;
  }
  .bg-blue-darken-1 {
    color: #FFFFFF;
  }
  .bg-blue-darken-2 {
    background-color: #1976D2;
  }
  .bg-blue-darken-2 {
    color: #FFFFFF;
  }
  .bg-blue-darken-3 {
    background-color: #1565C0;
  }
  .bg-blue-darken-3 {
    color: #FFFFFF;
  }
  .bg-blue-darken-4 {
    background-color: #0D47A1;
  }
  .bg-blue-darken-4 {
    color: #FFFFFF;
  }
  .bg-blue-accent-1 {
    background-color: #82B1FF;
  }
  .bg-blue-accent-1 {
    color: #000000;
  }
  .bg-blue-accent-2 {
    background-color: #448AFF;
  }
  .bg-blue-accent-2 {
    color: #FFFFFF;
  }
  .bg-blue-accent-3 {
    background-color: #2979FF;
  }
  .bg-blue-accent-3 {
    color: #FFFFFF;
  }
  .bg-blue-accent-4 {
    background-color: #2962FF;
  }
  .bg-blue-accent-4 {
    color: #FFFFFF;
  }
  .bg-light-blue {
    background-color: #03a9f4;
  }
  .bg-light-blue {
    color: #FFFFFF;
  }
  .bg-light-blue-lighten-5 {
    background-color: #e1f5fe;
  }
  .bg-light-blue-lighten-5 {
    color: #000000;
  }
  .bg-light-blue-lighten-4 {
    background-color: #b3e5fc;
  }
  .bg-light-blue-lighten-4 {
    color: #000000;
  }
  .bg-light-blue-lighten-3 {
    background-color: #81d4fa;
  }
  .bg-light-blue-lighten-3 {
    color: #000000;
  }
  .bg-light-blue-lighten-2 {
    background-color: #4fc3f7;
  }
  .bg-light-blue-lighten-2 {
    color: #000000;
  }
  .bg-light-blue-lighten-1 {
    background-color: #29b6f6;
  }
  .bg-light-blue-lighten-1 {
    color: #000000;
  }
  .bg-light-blue-darken-1 {
    background-color: #039be5;
  }
  .bg-light-blue-darken-1 {
    color: #FFFFFF;
  }
  .bg-light-blue-darken-2 {
    background-color: #0288d1;
  }
  .bg-light-blue-darken-2 {
    color: #FFFFFF;
  }
  .bg-light-blue-darken-3 {
    background-color: #0277bd;
  }
  .bg-light-blue-darken-3 {
    color: #FFFFFF;
  }
  .bg-light-blue-darken-4 {
    background-color: #01579b;
  }
  .bg-light-blue-darken-4 {
    color: #FFFFFF;
  }
  .bg-light-blue-accent-1 {
    background-color: #80d8ff;
  }
  .bg-light-blue-accent-1 {
    color: #000000;
  }
  .bg-light-blue-accent-2 {
    background-color: #40c4ff;
  }
  .bg-light-blue-accent-2 {
    color: #000000;
  }
  .bg-light-blue-accent-3 {
    background-color: #00b0ff;
  }
  .bg-light-blue-accent-3 {
    color: #FFFFFF;
  }
  .bg-light-blue-accent-4 {
    background-color: #0091ea;
  }
  .bg-light-blue-accent-4 {
    color: #FFFFFF;
  }
  .bg-cyan {
    background-color: #00bcd4;
  }
  .bg-cyan {
    color: #000000;
  }
  .bg-cyan-lighten-5 {
    background-color: #e0f7fa;
  }
  .bg-cyan-lighten-5 {
    color: #000000;
  }
  .bg-cyan-lighten-4 {
    background-color: #b2ebf2;
  }
  .bg-cyan-lighten-4 {
    color: #000000;
  }
  .bg-cyan-lighten-3 {
    background-color: #80deea;
  }
  .bg-cyan-lighten-3 {
    color: #000000;
  }
  .bg-cyan-lighten-2 {
    background-color: #4dd0e1;
  }
  .bg-cyan-lighten-2 {
    color: #000000;
  }
  .bg-cyan-lighten-1 {
    background-color: #26c6da;
  }
  .bg-cyan-lighten-1 {
    color: #000000;
  }
  .bg-cyan-darken-1 {
    background-color: #00acc1;
  }
  .bg-cyan-darken-1 {
    color: #FFFFFF;
  }
  .bg-cyan-darken-2 {
    background-color: #0097a7;
  }
  .bg-cyan-darken-2 {
    color: #FFFFFF;
  }
  .bg-cyan-darken-3 {
    background-color: #00838f;
  }
  .bg-cyan-darken-3 {
    color: #FFFFFF;
  }
  .bg-cyan-darken-4 {
    background-color: #006064;
  }
  .bg-cyan-darken-4 {
    color: #FFFFFF;
  }
  .bg-cyan-accent-1 {
    background-color: #84ffff;
  }
  .bg-cyan-accent-1 {
    color: #000000;
  }
  .bg-cyan-accent-2 {
    background-color: #18ffff;
  }
  .bg-cyan-accent-2 {
    color: #000000;
  }
  .bg-cyan-accent-3 {
    background-color: #00e5ff;
  }
  .bg-cyan-accent-3 {
    color: #000000;
  }
  .bg-cyan-accent-4 {
    background-color: #00b8d4;
  }
  .bg-cyan-accent-4 {
    color: #FFFFFF;
  }
  .bg-teal {
    background-color: #009688;
  }
  .bg-teal {
    color: #FFFFFF;
  }
  .bg-teal-lighten-5 {
    background-color: #e0f2f1;
  }
  .bg-teal-lighten-5 {
    color: #000000;
  }
  .bg-teal-lighten-4 {
    background-color: #b2dfdb;
  }
  .bg-teal-lighten-4 {
    color: #000000;
  }
  .bg-teal-lighten-3 {
    background-color: #80cbc4;
  }
  .bg-teal-lighten-3 {
    color: #000000;
  }
  .bg-teal-lighten-2 {
    background-color: #4db6ac;
  }
  .bg-teal-lighten-2 {
    color: #FFFFFF;
  }
  .bg-teal-lighten-1 {
    background-color: #26a69a;
  }
  .bg-teal-lighten-1 {
    color: #FFFFFF;
  }
  .bg-teal-darken-1 {
    background-color: #00897b;
  }
  .bg-teal-darken-1 {
    color: #FFFFFF;
  }
  .bg-teal-darken-2 {
    background-color: #00796b;
  }
  .bg-teal-darken-2 {
    color: #FFFFFF;
  }
  .bg-teal-darken-3 {
    background-color: #00695c;
  }
  .bg-teal-darken-3 {
    color: #FFFFFF;
  }
  .bg-teal-darken-4 {
    background-color: #004d40;
  }
  .bg-teal-darken-4 {
    color: #FFFFFF;
  }
  .bg-teal-accent-1 {
    background-color: #a7ffeb;
  }
  .bg-teal-accent-1 {
    color: #000000;
  }
  .bg-teal-accent-2 {
    background-color: #64ffda;
  }
  .bg-teal-accent-2 {
    color: #000000;
  }
  .bg-teal-accent-3 {
    background-color: #1de9b6;
  }
  .bg-teal-accent-3 {
    color: #000000;
  }
  .bg-teal-accent-4 {
    background-color: #00bfa5;
  }
  .bg-teal-accent-4 {
    color: #FFFFFF;
  }
  .bg-green {
    background-color: #4CAF50;
  }
  .bg-green {
    color: #FFFFFF;
  }
  .bg-green-lighten-5 {
    background-color: #E8F5E9;
  }
  .bg-green-lighten-5 {
    color: #000000;
  }
  .bg-green-lighten-4 {
    background-color: #C8E6C9;
  }
  .bg-green-lighten-4 {
    color: #000000;
  }
  .bg-green-lighten-3 {
    background-color: #A5D6A7;
  }
  .bg-green-lighten-3 {
    color: #000000;
  }
  .bg-green-lighten-2 {
    background-color: #81C784;
  }
  .bg-green-lighten-2 {
    color: #000000;
  }
  .bg-green-lighten-1 {
    background-color: #66BB6A;
  }
  .bg-green-lighten-1 {
    color: #FFFFFF;
  }
  .bg-green-darken-1 {
    background-color: #43A047;
  }
  .bg-green-darken-1 {
    color: #FFFFFF;
  }
  .bg-green-darken-2 {
    background-color: #388E3C;
  }
  .bg-green-darken-2 {
    color: #FFFFFF;
  }
  .bg-green-darken-3 {
    background-color: #2E7D32;
  }
  .bg-green-darken-3 {
    color: #FFFFFF;
  }
  .bg-green-darken-4 {
    background-color: #1B5E20;
  }
  .bg-green-darken-4 {
    color: #FFFFFF;
  }
  .bg-green-accent-1 {
    background-color: #B9F6CA;
  }
  .bg-green-accent-1 {
    color: #000000;
  }
  .bg-green-accent-2 {
    background-color: #69F0AE;
  }
  .bg-green-accent-2 {
    color: #000000;
  }
  .bg-green-accent-3 {
    background-color: #00E676;
  }
  .bg-green-accent-3 {
    color: #000000;
  }
  .bg-green-accent-4 {
    background-color: #00C853;
  }
  .bg-green-accent-4 {
    color: #000000;
  }
  .bg-light-green {
    background-color: #8bc34a;
  }
  .bg-light-green {
    color: #000000;
  }
  .bg-light-green-lighten-5 {
    background-color: #f1f8e9;
  }
  .bg-light-green-lighten-5 {
    color: #000000;
  }
  .bg-light-green-lighten-4 {
    background-color: #dcedc8;
  }
  .bg-light-green-lighten-4 {
    color: #000000;
  }
  .bg-light-green-lighten-3 {
    background-color: #c5e1a5;
  }
  .bg-light-green-lighten-3 {
    color: #000000;
  }
  .bg-light-green-lighten-2 {
    background-color: #aed581;
  }
  .bg-light-green-lighten-2 {
    color: #000000;
  }
  .bg-light-green-lighten-1 {
    background-color: #9ccc65;
  }
  .bg-light-green-lighten-1 {
    color: #000000;
  }
  .bg-light-green-darken-1 {
    background-color: #7cb342;
  }
  .bg-light-green-darken-1 {
    color: #FFFFFF;
  }
  .bg-light-green-darken-2 {
    background-color: #689f38;
  }
  .bg-light-green-darken-2 {
    color: #FFFFFF;
  }
  .bg-light-green-darken-3 {
    background-color: #558b2f;
  }
  .bg-light-green-darken-3 {
    color: #FFFFFF;
  }
  .bg-light-green-darken-4 {
    background-color: #33691e;
  }
  .bg-light-green-darken-4 {
    color: #FFFFFF;
  }
  .bg-light-green-accent-1 {
    background-color: #ccff90;
  }
  .bg-light-green-accent-1 {
    color: #000000;
  }
  .bg-light-green-accent-2 {
    background-color: #b2ff59;
  }
  .bg-light-green-accent-2 {
    color: #000000;
  }
  .bg-light-green-accent-3 {
    background-color: #76ff03;
  }
  .bg-light-green-accent-3 {
    color: #000000;
  }
  .bg-light-green-accent-4 {
    background-color: #64dd17;
  }
  .bg-light-green-accent-4 {
    color: #000000;
  }
  .bg-lime {
    background-color: #cddc39;
  }
  .bg-lime {
    color: #000000;
  }
  .bg-lime-lighten-5 {
    background-color: #f9fbe7;
  }
  .bg-lime-lighten-5 {
    color: #000000;
  }
  .bg-lime-lighten-4 {
    background-color: #f0f4c3;
  }
  .bg-lime-lighten-4 {
    color: #000000;
  }
  .bg-lime-lighten-3 {
    background-color: #e6ee9c;
  }
  .bg-lime-lighten-3 {
    color: #000000;
  }
  .bg-lime-lighten-2 {
    background-color: #dce775;
  }
  .bg-lime-lighten-2 {
    color: #000000;
  }
  .bg-lime-lighten-1 {
    background-color: #d4e157;
  }
  .bg-lime-lighten-1 {
    color: #000000;
  }
  .bg-lime-darken-1 {
    background-color: #c0ca33;
  }
  .bg-lime-darken-1 {
    color: #000000;
  }
  .bg-lime-darken-2 {
    background-color: #afb42b;
  }
  .bg-lime-darken-2 {
    color: #000000;
  }
  .bg-lime-darken-3 {
    background-color: #9e9d24;
  }
  .bg-lime-darken-3 {
    color: #FFFFFF;
  }
  .bg-lime-darken-4 {
    background-color: #827717;
  }
  .bg-lime-darken-4 {
    color: #FFFFFF;
  }
  .bg-lime-accent-1 {
    background-color: #f4ff81;
  }
  .bg-lime-accent-1 {
    color: #000000;
  }
  .bg-lime-accent-2 {
    background-color: #eeff41;
  }
  .bg-lime-accent-2 {
    color: #000000;
  }
  .bg-lime-accent-3 {
    background-color: #c6ff00;
  }
  .bg-lime-accent-3 {
    color: #000000;
  }
  .bg-lime-accent-4 {
    background-color: #aeea00;
  }
  .bg-lime-accent-4 {
    color: #000000;
  }
  .bg-yellow {
    background-color: #ffeb3b;
  }
  .bg-yellow {
    color: #000000;
  }
  .bg-yellow-lighten-5 {
    background-color: #fffde7;
  }
  .bg-yellow-lighten-5 {
    color: #000000;
  }
  .bg-yellow-lighten-4 {
    background-color: #fff9c4;
  }
  .bg-yellow-lighten-4 {
    color: #000000;
  }
  .bg-yellow-lighten-3 {
    background-color: #fff59d;
  }
  .bg-yellow-lighten-3 {
    color: #000000;
  }
  .bg-yellow-lighten-2 {
    background-color: #fff176;
  }
  .bg-yellow-lighten-2 {
    color: #000000;
  }
  .bg-yellow-lighten-1 {
    background-color: #ffee58;
  }
  .bg-yellow-lighten-1 {
    color: #000000;
  }
  .bg-yellow-darken-1 {
    background-color: #fdd835;
  }
  .bg-yellow-darken-1 {
    color: #000000;
  }
  .bg-yellow-darken-2 {
    background-color: #fbc02d;
  }
  .bg-yellow-darken-2 {
    color: #000000;
  }
  .bg-yellow-darken-3 {
    background-color: #f9a825;
  }
  .bg-yellow-darken-3 {
    color: #000000;
  }
  .bg-yellow-darken-4 {
    background-color: #f57f17;
  }
  .bg-yellow-darken-4 {
    color: #FFFFFF;
  }
  .bg-yellow-accent-1 {
    background-color: #ffff8d;
  }
  .bg-yellow-accent-1 {
    color: #000000;
  }
  .bg-yellow-accent-2 {
    background-color: #ffff00;
  }
  .bg-yellow-accent-2 {
    color: #000000;
  }
  .bg-yellow-accent-3 {
    background-color: #ffea00;
  }
  .bg-yellow-accent-3 {
    color: #000000;
  }
  .bg-yellow-accent-4 {
    background-color: #ffd600;
  }
  .bg-yellow-accent-4 {
    color: #000000;
  }
  .bg-amber {
    background-color: #ffc107;
  }
  .bg-amber {
    color: #000000;
  }
  .bg-amber-lighten-5 {
    background-color: #fff8e1;
  }
  .bg-amber-lighten-5 {
    color: #000000;
  }
  .bg-amber-lighten-4 {
    background-color: #ffecb3;
  }
  .bg-amber-lighten-4 {
    color: #000000;
  }
  .bg-amber-lighten-3 {
    background-color: #ffe082;
  }
  .bg-amber-lighten-3 {
    color: #000000;
  }
  .bg-amber-lighten-2 {
    background-color: #ffd54f;
  }
  .bg-amber-lighten-2 {
    color: #000000;
  }
  .bg-amber-lighten-1 {
    background-color: #ffca28;
  }
  .bg-amber-lighten-1 {
    color: #000000;
  }
  .bg-amber-darken-1 {
    background-color: #ffb300;
  }
  .bg-amber-darken-1 {
    color: #000000;
  }
  .bg-amber-darken-2 {
    background-color: #ffa000;
  }
  .bg-amber-darken-2 {
    color: #000000;
  }
  .bg-amber-darken-3 {
    background-color: #ff8f00;
  }
  .bg-amber-darken-3 {
    color: #000000;
  }
  .bg-amber-darken-4 {
    background-color: #ff6f00;
  }
  .bg-amber-darken-4 {
    color: #FFFFFF;
  }
  .bg-amber-accent-1 {
    background-color: #ffe57f;
  }
  .bg-amber-accent-1 {
    color: #000000;
  }
  .bg-amber-accent-2 {
    background-color: #ffd740;
  }
  .bg-amber-accent-2 {
    color: #000000;
  }
  .bg-amber-accent-3 {
    background-color: #ffc400;
  }
  .bg-amber-accent-3 {
    color: #000000;
  }
  .bg-amber-accent-4 {
    background-color: #ffab00;
  }
  .bg-amber-accent-4 {
    color: #000000;
  }
  .bg-orange {
    background-color: #ff9800;
  }
  .bg-orange {
    color: #000000;
  }
  .bg-orange-lighten-5 {
    background-color: #fff3e0;
  }
  .bg-orange-lighten-5 {
    color: #000000;
  }
  .bg-orange-lighten-4 {
    background-color: #ffe0b2;
  }
  .bg-orange-lighten-4 {
    color: #000000;
  }
  .bg-orange-lighten-3 {
    background-color: #ffcc80;
  }
  .bg-orange-lighten-3 {
    color: #000000;
  }
  .bg-orange-lighten-2 {
    background-color: #ffb74d;
  }
  .bg-orange-lighten-2 {
    color: #000000;
  }
  .bg-orange-lighten-1 {
    background-color: #ffa726;
  }
  .bg-orange-lighten-1 {
    color: #000000;
  }
  .bg-orange-darken-1 {
    background-color: #fb8c00;
  }
  .bg-orange-darken-1 {
    color: #FFFFFF;
  }
  .bg-orange-darken-2 {
    background-color: #f57c00;
  }
  .bg-orange-darken-2 {
    color: #FFFFFF;
  }
  .bg-orange-darken-3 {
    background-color: #ef6c00;
  }
  .bg-orange-darken-3 {
    color: #FFFFFF;
  }
  .bg-orange-darken-4 {
    background-color: #e65100;
  }
  .bg-orange-darken-4 {
    color: #FFFFFF;
  }
  .bg-orange-accent-1 {
    background-color: #ffd180;
  }
  .bg-orange-accent-1 {
    color: #000000;
  }
  .bg-orange-accent-2 {
    background-color: #ffab40;
  }
  .bg-orange-accent-2 {
    color: #000000;
  }
  .bg-orange-accent-3 {
    background-color: #ff9100;
  }
  .bg-orange-accent-3 {
    color: #000000;
  }
  .bg-orange-accent-4 {
    background-color: #ff6d00;
  }
  .bg-orange-accent-4 {
    color: #FFFFFF;
  }
  .bg-deep-orange {
    background-color: #ff5722;
  }
  .bg-deep-orange {
    color: #FFFFFF;
  }
  .bg-deep-orange-lighten-5 {
    background-color: #fbe9e7;
  }
  .bg-deep-orange-lighten-5 {
    color: #000000;
  }
  .bg-deep-orange-lighten-4 {
    background-color: #ffccbc;
  }
  .bg-deep-orange-lighten-4 {
    color: #000000;
  }
  .bg-deep-orange-lighten-3 {
    background-color: #ffab91;
  }
  .bg-deep-orange-lighten-3 {
    color: #000000;
  }
  .bg-deep-orange-lighten-2 {
    background-color: #ff8a65;
  }
  .bg-deep-orange-lighten-2 {
    color: #000000;
  }
  .bg-deep-orange-lighten-1 {
    background-color: #ff7043;
  }
  .bg-deep-orange-lighten-1 {
    color: #FFFFFF;
  }
  .bg-deep-orange-darken-1 {
    background-color: #f4511e;
  }
  .bg-deep-orange-darken-1 {
    color: #FFFFFF;
  }
  .bg-deep-orange-darken-2 {
    background-color: #e64a19;
  }
  .bg-deep-orange-darken-2 {
    color: #FFFFFF;
  }
  .bg-deep-orange-darken-3 {
    background-color: #d84315;
  }
  .bg-deep-orange-darken-3 {
    color: #FFFFFF;
  }
  .bg-deep-orange-darken-4 {
    background-color: #bf360c;
  }
  .bg-deep-orange-darken-4 {
    color: #FFFFFF;
  }
  .bg-deep-orange-accent-1 {
    background-color: #ff9e80;
  }
  .bg-deep-orange-accent-1 {
    color: #000000;
  }
  .bg-deep-orange-accent-2 {
    background-color: #ff6e40;
  }
  .bg-deep-orange-accent-2 {
    color: #FFFFFF;
  }
  .bg-deep-orange-accent-3 {
    background-color: #ff3d00;
  }
  .bg-deep-orange-accent-3 {
    color: #FFFFFF;
  }
  .bg-deep-orange-accent-4 {
    background-color: #dd2c00;
  }
  .bg-deep-orange-accent-4 {
    color: #FFFFFF;
  }
  .bg-brown {
    background-color: #795548;
  }
  .bg-brown {
    color: #FFFFFF;
  }
  .bg-brown-lighten-5 {
    background-color: #efebe9;
  }
  .bg-brown-lighten-5 {
    color: #000000;
  }
  .bg-brown-lighten-4 {
    background-color: #d7ccc8;
  }
  .bg-brown-lighten-4 {
    color: #000000;
  }
  .bg-brown-lighten-3 {
    background-color: #bcaaa4;
  }
  .bg-brown-lighten-3 {
    color: #000000;
  }
  .bg-brown-lighten-2 {
    background-color: #a1887f;
  }
  .bg-brown-lighten-2 {
    color: #FFFFFF;
  }
  .bg-brown-lighten-1 {
    background-color: #8d6e63;
  }
  .bg-brown-lighten-1 {
    color: #FFFFFF;
  }
  .bg-brown-darken-1 {
    background-color: #6d4c41;
  }
  .bg-brown-darken-1 {
    color: #FFFFFF;
  }
  .bg-brown-darken-2 {
    background-color: #5d4037;
  }
  .bg-brown-darken-2 {
    color: #FFFFFF;
  }
  .bg-brown-darken-3 {
    background-color: #4e342e;
  }
  .bg-brown-darken-3 {
    color: #FFFFFF;
  }
  .bg-brown-darken-4 {
    background-color: #3e2723;
  }
  .bg-brown-darken-4 {
    color: #FFFFFF;
  }
  .bg-blue-grey {
    background-color: #607d8b;
  }
  .bg-blue-grey {
    color: #FFFFFF;
  }
  .bg-blue-grey-lighten-5 {
    background-color: #eceff1;
  }
  .bg-blue-grey-lighten-5 {
    color: #000000;
  }
  .bg-blue-grey-lighten-4 {
    background-color: #cfd8dc;
  }
  .bg-blue-grey-lighten-4 {
    color: #000000;
  }
  .bg-blue-grey-lighten-3 {
    background-color: #b0bec5;
  }
  .bg-blue-grey-lighten-3 {
    color: #000000;
  }
  .bg-blue-grey-lighten-2 {
    background-color: #90a4ae;
  }
  .bg-blue-grey-lighten-2 {
    color: #FFFFFF;
  }
  .bg-blue-grey-lighten-1 {
    background-color: #78909c;
  }
  .bg-blue-grey-lighten-1 {
    color: #FFFFFF;
  }
  .bg-blue-grey-darken-1 {
    background-color: #546e7a;
  }
  .bg-blue-grey-darken-1 {
    color: #FFFFFF;
  }
  .bg-blue-grey-darken-2 {
    background-color: #455a64;
  }
  .bg-blue-grey-darken-2 {
    color: #FFFFFF;
  }
  .bg-blue-grey-darken-3 {
    background-color: #37474f;
  }
  .bg-blue-grey-darken-3 {
    color: #FFFFFF;
  }
  .bg-blue-grey-darken-4 {
    background-color: #263238;
  }
  .bg-blue-grey-darken-4 {
    color: #FFFFFF;
  }
  .bg-grey {
    background-color: #9e9e9e;
  }
  .bg-grey {
    color: #FFFFFF;
  }
  .bg-grey-lighten-5 {
    background-color: #fafafa;
  }
  .bg-grey-lighten-5 {
    color: #000000;
  }
  .bg-grey-lighten-4 {
    background-color: #f5f5f5;
  }
  .bg-grey-lighten-4 {
    color: #000000;
  }
  .bg-grey-lighten-3 {
    background-color: #eeeeee;
  }
  .bg-grey-lighten-3 {
    color: #000000;
  }
  .bg-grey-lighten-2 {
    background-color: #e0e0e0;
  }
  .bg-grey-lighten-2 {
    color: #000000;
  }
  .bg-grey-lighten-1 {
    background-color: #bdbdbd;
  }
  .bg-grey-lighten-1 {
    color: #000000;
  }
  .bg-grey-darken-1 {
    background-color: #757575;
  }
  .bg-grey-darken-1 {
    color: #FFFFFF;
  }
  .bg-grey-darken-2 {
    background-color: #616161;
  }
  .bg-grey-darken-2 {
    color: #FFFFFF;
  }
  .bg-grey-darken-3 {
    background-color: #424242;
  }
  .bg-grey-darken-3 {
    color: #FFFFFF;
  }
  .bg-grey-darken-4 {
    background-color: #212121;
  }
  .bg-grey-darken-4 {
    color: #FFFFFF;
  }
  .bg-shades-black {
    background-color: #000000;
  }
  .bg-shades-black {
    color: #FFFFFF;
  }
  .bg-shades-white {
    background-color: #FFFFFF;
  }
  .bg-shades-white {
    color: #000000;
  }
  .bg-shades-transparent {
    background-color: transparent;
  }
  .bg-shades-transparent {
    color: currentColor;
  }
}
@layer vuetify-utilities.theme-foreground {
  .text-black {
    color: #000000;
  }
  .text-white {
    color: #FFFFFF;
  }
  .text-transparent {
    color: transparent;
  }
  .text-red {
    color: #F44336;
  }
  .text-red-lighten-5 {
    color: #FFEBEE;
  }
  .text-red-lighten-4 {
    color: #FFCDD2;
  }
  .text-red-lighten-3 {
    color: #EF9A9A;
  }
  .text-red-lighten-2 {
    color: #E57373;
  }
  .text-red-lighten-1 {
    color: #EF5350;
  }
  .text-red-darken-1 {
    color: #E53935;
  }
  .text-red-darken-2 {
    color: #D32F2F;
  }
  .text-red-darken-3 {
    color: #C62828;
  }
  .text-red-darken-4 {
    color: #B71C1C;
  }
  .text-red-accent-1 {
    color: #FF8A80;
  }
  .text-red-accent-2 {
    color: #FF5252;
  }
  .text-red-accent-3 {
    color: #FF1744;
  }
  .text-red-accent-4 {
    color: #D50000;
  }
  .text-pink {
    color: #e91e63;
  }
  .text-pink-lighten-5 {
    color: #fce4ec;
  }
  .text-pink-lighten-4 {
    color: #f8bbd0;
  }
  .text-pink-lighten-3 {
    color: #f48fb1;
  }
  .text-pink-lighten-2 {
    color: #f06292;
  }
  .text-pink-lighten-1 {
    color: #ec407a;
  }
  .text-pink-darken-1 {
    color: #d81b60;
  }
  .text-pink-darken-2 {
    color: #c2185b;
  }
  .text-pink-darken-3 {
    color: #ad1457;
  }
  .text-pink-darken-4 {
    color: #880e4f;
  }
  .text-pink-accent-1 {
    color: #ff80ab;
  }
  .text-pink-accent-2 {
    color: #ff4081;
  }
  .text-pink-accent-3 {
    color: #f50057;
  }
  .text-pink-accent-4 {
    color: #c51162;
  }
  .text-purple {
    color: #9c27b0;
  }
  .text-purple-lighten-5 {
    color: #f3e5f5;
  }
  .text-purple-lighten-4 {
    color: #e1bee7;
  }
  .text-purple-lighten-3 {
    color: #ce93d8;
  }
  .text-purple-lighten-2 {
    color: #ba68c8;
  }
  .text-purple-lighten-1 {
    color: #ab47bc;
  }
  .text-purple-darken-1 {
    color: #8e24aa;
  }
  .text-purple-darken-2 {
    color: #7b1fa2;
  }
  .text-purple-darken-3 {
    color: #6a1b9a;
  }
  .text-purple-darken-4 {
    color: #4a148c;
  }
  .text-purple-accent-1 {
    color: #ea80fc;
  }
  .text-purple-accent-2 {
    color: #e040fb;
  }
  .text-purple-accent-3 {
    color: #d500f9;
  }
  .text-purple-accent-4 {
    color: #aa00ff;
  }
  .text-deep-purple {
    color: #673ab7;
  }
  .text-deep-purple-lighten-5 {
    color: #ede7f6;
  }
  .text-deep-purple-lighten-4 {
    color: #d1c4e9;
  }
  .text-deep-purple-lighten-3 {
    color: #b39ddb;
  }
  .text-deep-purple-lighten-2 {
    color: #9575cd;
  }
  .text-deep-purple-lighten-1 {
    color: #7e57c2;
  }
  .text-deep-purple-darken-1 {
    color: #5e35b1;
  }
  .text-deep-purple-darken-2 {
    color: #512da8;
  }
  .text-deep-purple-darken-3 {
    color: #4527a0;
  }
  .text-deep-purple-darken-4 {
    color: #311b92;
  }
  .text-deep-purple-accent-1 {
    color: #b388ff;
  }
  .text-deep-purple-accent-2 {
    color: #7c4dff;
  }
  .text-deep-purple-accent-3 {
    color: #651fff;
  }
  .text-deep-purple-accent-4 {
    color: #6200ea;
  }
  .text-indigo {
    color: #3f51b5;
  }
  .text-indigo-lighten-5 {
    color: #e8eaf6;
  }
  .text-indigo-lighten-4 {
    color: #c5cae9;
  }
  .text-indigo-lighten-3 {
    color: #9fa8da;
  }
  .text-indigo-lighten-2 {
    color: #7986cb;
  }
  .text-indigo-lighten-1 {
    color: #5c6bc0;
  }
  .text-indigo-darken-1 {
    color: #3949ab;
  }
  .text-indigo-darken-2 {
    color: #303f9f;
  }
  .text-indigo-darken-3 {
    color: #283593;
  }
  .text-indigo-darken-4 {
    color: #1a237e;
  }
  .text-indigo-accent-1 {
    color: #8c9eff;
  }
  .text-indigo-accent-2 {
    color: #536dfe;
  }
  .text-indigo-accent-3 {
    color: #3d5afe;
  }
  .text-indigo-accent-4 {
    color: #304ffe;
  }
  .text-blue {
    color: #2196F3;
  }
  .text-blue-lighten-5 {
    color: #E3F2FD;
  }
  .text-blue-lighten-4 {
    color: #BBDEFB;
  }
  .text-blue-lighten-3 {
    color: #90CAF9;
  }
  .text-blue-lighten-2 {
    color: #64B5F6;
  }
  .text-blue-lighten-1 {
    color: #42A5F5;
  }
  .text-blue-darken-1 {
    color: #1E88E5;
  }
  .text-blue-darken-2 {
    color: #1976D2;
  }
  .text-blue-darken-3 {
    color: #1565C0;
  }
  .text-blue-darken-4 {
    color: #0D47A1;
  }
  .text-blue-accent-1 {
    color: #82B1FF;
  }
  .text-blue-accent-2 {
    color: #448AFF;
  }
  .text-blue-accent-3 {
    color: #2979FF;
  }
  .text-blue-accent-4 {
    color: #2962FF;
  }
  .text-light-blue {
    color: #03a9f4;
  }
  .text-light-blue-lighten-5 {
    color: #e1f5fe;
  }
  .text-light-blue-lighten-4 {
    color: #b3e5fc;
  }
  .text-light-blue-lighten-3 {
    color: #81d4fa;
  }
  .text-light-blue-lighten-2 {
    color: #4fc3f7;
  }
  .text-light-blue-lighten-1 {
    color: #29b6f6;
  }
  .text-light-blue-darken-1 {
    color: #039be5;
  }
  .text-light-blue-darken-2 {
    color: #0288d1;
  }
  .text-light-blue-darken-3 {
    color: #0277bd;
  }
  .text-light-blue-darken-4 {
    color: #01579b;
  }
  .text-light-blue-accent-1 {
    color: #80d8ff;
  }
  .text-light-blue-accent-2 {
    color: #40c4ff;
  }
  .text-light-blue-accent-3 {
    color: #00b0ff;
  }
  .text-light-blue-accent-4 {
    color: #0091ea;
  }
  .text-cyan {
    color: #00bcd4;
  }
  .text-cyan-lighten-5 {
    color: #e0f7fa;
  }
  .text-cyan-lighten-4 {
    color: #b2ebf2;
  }
  .text-cyan-lighten-3 {
    color: #80deea;
  }
  .text-cyan-lighten-2 {
    color: #4dd0e1;
  }
  .text-cyan-lighten-1 {
    color: #26c6da;
  }
  .text-cyan-darken-1 {
    color: #00acc1;
  }
  .text-cyan-darken-2 {
    color: #0097a7;
  }
  .text-cyan-darken-3 {
    color: #00838f;
  }
  .text-cyan-darken-4 {
    color: #006064;
  }
  .text-cyan-accent-1 {
    color: #84ffff;
  }
  .text-cyan-accent-2 {
    color: #18ffff;
  }
  .text-cyan-accent-3 {
    color: #00e5ff;
  }
  .text-cyan-accent-4 {
    color: #00b8d4;
  }
  .text-teal {
    color: #009688;
  }
  .text-teal-lighten-5 {
    color: #e0f2f1;
  }
  .text-teal-lighten-4 {
    color: #b2dfdb;
  }
  .text-teal-lighten-3 {
    color: #80cbc4;
  }
  .text-teal-lighten-2 {
    color: #4db6ac;
  }
  .text-teal-lighten-1 {
    color: #26a69a;
  }
  .text-teal-darken-1 {
    color: #00897b;
  }
  .text-teal-darken-2 {
    color: #00796b;
  }
  .text-teal-darken-3 {
    color: #00695c;
  }
  .text-teal-darken-4 {
    color: #004d40;
  }
  .text-teal-accent-1 {
    color: #a7ffeb;
  }
  .text-teal-accent-2 {
    color: #64ffda;
  }
  .text-teal-accent-3 {
    color: #1de9b6;
  }
  .text-teal-accent-4 {
    color: #00bfa5;
  }
  .text-green {
    color: #4CAF50;
  }
  .text-green-lighten-5 {
    color: #E8F5E9;
  }
  .text-green-lighten-4 {
    color: #C8E6C9;
  }
  .text-green-lighten-3 {
    color: #A5D6A7;
  }
  .text-green-lighten-2 {
    color: #81C784;
  }
  .text-green-lighten-1 {
    color: #66BB6A;
  }
  .text-green-darken-1 {
    color: #43A047;
  }
  .text-green-darken-2 {
    color: #388E3C;
  }
  .text-green-darken-3 {
    color: #2E7D32;
  }
  .text-green-darken-4 {
    color: #1B5E20;
  }
  .text-green-accent-1 {
    color: #B9F6CA;
  }
  .text-green-accent-2 {
    color: #69F0AE;
  }
  .text-green-accent-3 {
    color: #00E676;
  }
  .text-green-accent-4 {
    color: #00C853;
  }
  .text-light-green {
    color: #8bc34a;
  }
  .text-light-green-lighten-5 {
    color: #f1f8e9;
  }
  .text-light-green-lighten-4 {
    color: #dcedc8;
  }
  .text-light-green-lighten-3 {
    color: #c5e1a5;
  }
  .text-light-green-lighten-2 {
    color: #aed581;
  }
  .text-light-green-lighten-1 {
    color: #9ccc65;
  }
  .text-light-green-darken-1 {
    color: #7cb342;
  }
  .text-light-green-darken-2 {
    color: #689f38;
  }
  .text-light-green-darken-3 {
    color: #558b2f;
  }
  .text-light-green-darken-4 {
    color: #33691e;
  }
  .text-light-green-accent-1 {
    color: #ccff90;
  }
  .text-light-green-accent-2 {
    color: #b2ff59;
  }
  .text-light-green-accent-3 {
    color: #76ff03;
  }
  .text-light-green-accent-4 {
    color: #64dd17;
  }
  .text-lime {
    color: #cddc39;
  }
  .text-lime-lighten-5 {
    color: #f9fbe7;
  }
  .text-lime-lighten-4 {
    color: #f0f4c3;
  }
  .text-lime-lighten-3 {
    color: #e6ee9c;
  }
  .text-lime-lighten-2 {
    color: #dce775;
  }
  .text-lime-lighten-1 {
    color: #d4e157;
  }
  .text-lime-darken-1 {
    color: #c0ca33;
  }
  .text-lime-darken-2 {
    color: #afb42b;
  }
  .text-lime-darken-3 {
    color: #9e9d24;
  }
  .text-lime-darken-4 {
    color: #827717;
  }
  .text-lime-accent-1 {
    color: #f4ff81;
  }
  .text-lime-accent-2 {
    color: #eeff41;
  }
  .text-lime-accent-3 {
    color: #c6ff00;
  }
  .text-lime-accent-4 {
    color: #aeea00;
  }
  .text-yellow {
    color: #ffeb3b;
  }
  .text-yellow-lighten-5 {
    color: #fffde7;
  }
  .text-yellow-lighten-4 {
    color: #fff9c4;
  }
  .text-yellow-lighten-3 {
    color: #fff59d;
  }
  .text-yellow-lighten-2 {
    color: #fff176;
  }
  .text-yellow-lighten-1 {
    color: #ffee58;
  }
  .text-yellow-darken-1 {
    color: #fdd835;
  }
  .text-yellow-darken-2 {
    color: #fbc02d;
  }
  .text-yellow-darken-3 {
    color: #f9a825;
  }
  .text-yellow-darken-4 {
    color: #f57f17;
  }
  .text-yellow-accent-1 {
    color: #ffff8d;
  }
  .text-yellow-accent-2 {
    color: #ffff00;
  }
  .text-yellow-accent-3 {
    color: #ffea00;
  }
  .text-yellow-accent-4 {
    color: #ffd600;
  }
  .text-amber {
    color: #ffc107;
  }
  .text-amber-lighten-5 {
    color: #fff8e1;
  }
  .text-amber-lighten-4 {
    color: #ffecb3;
  }
  .text-amber-lighten-3 {
    color: #ffe082;
  }
  .text-amber-lighten-2 {
    color: #ffd54f;
  }
  .text-amber-lighten-1 {
    color: #ffca28;
  }
  .text-amber-darken-1 {
    color: #ffb300;
  }
  .text-amber-darken-2 {
    color: #ffa000;
  }
  .text-amber-darken-3 {
    color: #ff8f00;
  }
  .text-amber-darken-4 {
    color: #ff6f00;
  }
  .text-amber-accent-1 {
    color: #ffe57f;
  }
  .text-amber-accent-2 {
    color: #ffd740;
  }
  .text-amber-accent-3 {
    color: #ffc400;
  }
  .text-amber-accent-4 {
    color: #ffab00;
  }
  .text-orange {
    color: #ff9800;
  }
  .text-orange-lighten-5 {
    color: #fff3e0;
  }
  .text-orange-lighten-4 {
    color: #ffe0b2;
  }
  .text-orange-lighten-3 {
    color: #ffcc80;
  }
  .text-orange-lighten-2 {
    color: #ffb74d;
  }
  .text-orange-lighten-1 {
    color: #ffa726;
  }
  .text-orange-darken-1 {
    color: #fb8c00;
  }
  .text-orange-darken-2 {
    color: #f57c00;
  }
  .text-orange-darken-3 {
    color: #ef6c00;
  }
  .text-orange-darken-4 {
    color: #e65100;
  }
  .text-orange-accent-1 {
    color: #ffd180;
  }
  .text-orange-accent-2 {
    color: #ffab40;
  }
  .text-orange-accent-3 {
    color: #ff9100;
  }
  .text-orange-accent-4 {
    color: #ff6d00;
  }
  .text-deep-orange {
    color: #ff5722;
  }
  .text-deep-orange-lighten-5 {
    color: #fbe9e7;
  }
  .text-deep-orange-lighten-4 {
    color: #ffccbc;
  }
  .text-deep-orange-lighten-3 {
    color: #ffab91;
  }
  .text-deep-orange-lighten-2 {
    color: #ff8a65;
  }
  .text-deep-orange-lighten-1 {
    color: #ff7043;
  }
  .text-deep-orange-darken-1 {
    color: #f4511e;
  }
  .text-deep-orange-darken-2 {
    color: #e64a19;
  }
  .text-deep-orange-darken-3 {
    color: #d84315;
  }
  .text-deep-orange-darken-4 {
    color: #bf360c;
  }
  .text-deep-orange-accent-1 {
    color: #ff9e80;
  }
  .text-deep-orange-accent-2 {
    color: #ff6e40;
  }
  .text-deep-orange-accent-3 {
    color: #ff3d00;
  }
  .text-deep-orange-accent-4 {
    color: #dd2c00;
  }
  .text-brown {
    color: #795548;
  }
  .text-brown-lighten-5 {
    color: #efebe9;
  }
  .text-brown-lighten-4 {
    color: #d7ccc8;
  }
  .text-brown-lighten-3 {
    color: #bcaaa4;
  }
  .text-brown-lighten-2 {
    color: #a1887f;
  }
  .text-brown-lighten-1 {
    color: #8d6e63;
  }
  .text-brown-darken-1 {
    color: #6d4c41;
  }
  .text-brown-darken-2 {
    color: #5d4037;
  }
  .text-brown-darken-3 {
    color: #4e342e;
  }
  .text-brown-darken-4 {
    color: #3e2723;
  }
  .text-blue-grey {
    color: #607d8b;
  }
  .text-blue-grey-lighten-5 {
    color: #eceff1;
  }
  .text-blue-grey-lighten-4 {
    color: #cfd8dc;
  }
  .text-blue-grey-lighten-3 {
    color: #b0bec5;
  }
  .text-blue-grey-lighten-2 {
    color: #90a4ae;
  }
  .text-blue-grey-lighten-1 {
    color: #78909c;
  }
  .text-blue-grey-darken-1 {
    color: #546e7a;
  }
  .text-blue-grey-darken-2 {
    color: #455a64;
  }
  .text-blue-grey-darken-3 {
    color: #37474f;
  }
  .text-blue-grey-darken-4 {
    color: #263238;
  }
  .text-grey {
    color: #9e9e9e;
  }
  .text-grey-lighten-5 {
    color: #fafafa;
  }
  .text-grey-lighten-4 {
    color: #f5f5f5;
  }
  .text-grey-lighten-3 {
    color: #eeeeee;
  }
  .text-grey-lighten-2 {
    color: #e0e0e0;
  }
  .text-grey-lighten-1 {
    color: #bdbdbd;
  }
  .text-grey-darken-1 {
    color: #757575;
  }
  .text-grey-darken-2 {
    color: #616161;
  }
  .text-grey-darken-3 {
    color: #424242;
  }
  .text-grey-darken-4 {
    color: #212121;
  }
  .text-shades-black {
    color: #000000;
  }
  .text-shades-white {
    color: #FFFFFF;
  }
  .text-shades-transparent {
    color: transparent;
  }
}
@layer vuetify-core.reset {
  html {
    box-sizing: border-box;
    /* Prevent adjustments of font size after orientation changes in iOS */
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    margin: 0;
  }
  body {
    margin: 0;
  }
  *,
  ::before,
  ::after {
    background-repeat: no-repeat;
    box-sizing: inherit;
  }
  ::before,
  ::after {
    text-decoration: inherit;
    vertical-align: inherit;
  }
  input {
    border-radius: 0;
  }
  /* Replace pointer cursor in disabled elements */
  [disabled] {
    cursor: default;
  }
  [type=number]::-webkit-inner-spin-button,
  [type=number]::-webkit-outer-spin-button {
    /* Correct the cursor style of increment and decrement buttons in Chrome */
    height: auto;
  }
  [type=search] {
    -webkit-appearance: textfield; /* Correct the odd appearance in Chrome and Safari */
    outline-offset: -2px; /* Correct the outline style in Safari */
  }
  [type=search]::-webkit-search-cancel-button,
  [type=search]::-webkit-search-decoration {
    /* Remove the inner padding in Chrome and Safari on macOS */
    -webkit-appearance: none;
  }
  button,
  input,
  optgroup,
  select,
  textarea {
    font: inherit;
  }
  optgroup {
    /* Restore the font weight unset by the previous rule */
    font-weight: bold;
  }
  /* Apply cursor pointer to button elements */
  button,
  [type=button],
  [type=reset],
  [type=submit],
  [role=button] {
    cursor: pointer;
    color: inherit;
  }
  /* Specify the progress cursor of updating elements */
  [aria-busy=true] {
    cursor: progress;
  }
  /* Specify the pointer cursor of trigger elements */
  [aria-controls] {
    cursor: pointer;
  }
  /* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
  [aria-disabled=true] {
    cursor: default;
  }
}
@layer vuetify-final.transitions {
  @media (prefers-reduced-motion: no-preference) {
    .dialog-transition-enter-active,
    .dialog-bottom-transition-enter-active,
    .dialog-top-transition-enter-active {
      transition-duration: 225ms;
      transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
    }
    .dialog-transition-leave-active,
    .dialog-bottom-transition-leave-active,
    .dialog-top-transition-leave-active {
      transition-duration: 125ms;
      transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
    }
    .dialog-transition-enter-active, .dialog-transition-leave-active,
    .dialog-bottom-transition-enter-active,
    .dialog-bottom-transition-leave-active,
    .dialog-top-transition-enter-active,
    .dialog-top-transition-leave-active {
      transition-property: transform, opacity;
      pointer-events: none;
    }
    .dialog-transition-enter-from, .dialog-transition-leave-to {
      transform: scale(0.9);
      opacity: 0;
    }
    .dialog-transition-enter-to, .dialog-transition-leave-from {
      opacity: 1;
    }
    .dialog-bottom-transition-enter-from, .dialog-bottom-transition-leave-to {
      transform: translateY(calc(50vh + 50%));
    }
    .dialog-top-transition-enter-from, .dialog-top-transition-leave-to {
      transform: translateY(calc(-50vh - 50%));
    }
    .picker-transition-enter-active,
    .picker-reverse-transition-enter-active {
      transition-duration: 0.3s;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .picker-transition-leave-active,
    .picker-reverse-transition-leave-active {
      transition-duration: 0.3s;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .picker-transition-move,
    .picker-reverse-transition-move {
      transition-duration: 0.5s;
      transition-property: transform;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .picker-transition-enter-from, .picker-transition-leave-to,
    .picker-reverse-transition-enter-from,
    .picker-reverse-transition-leave-to {
      opacity: 0;
    }
    .picker-transition-leave-from, .picker-transition-leave-active, .picker-transition-leave-to,
    .picker-reverse-transition-leave-from,
    .picker-reverse-transition-leave-active,
    .picker-reverse-transition-leave-to {
      position: absolute;
    }
    .picker-transition-enter-active, .picker-transition-leave-active,
    .picker-reverse-transition-enter-active,
    .picker-reverse-transition-leave-active {
      transition-property: transform, opacity;
    }
    .picker-transition-enter-active {
      transition-duration: 0.3s;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .picker-transition-leave-active {
      transition-duration: 0.3s;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .picker-transition-move {
      transition-duration: 0.5s;
      transition-property: transform;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .picker-transition-enter-from {
      transform: translate(100%, 0);
    }
    .picker-transition-leave-to {
      transform: translate(-100%, 0);
    }
    .picker-reverse-transition-enter-active {
      transition-duration: 0.3s;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .picker-reverse-transition-leave-active {
      transition-duration: 0.3s;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .picker-reverse-transition-move {
      transition-duration: 0.5s;
      transition-property: transform;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .picker-reverse-transition-enter-from {
      transform: translate(-100%, 0);
    }
    .picker-reverse-transition-leave-to {
      transform: translate(100%, 0);
    }
    .expand-transition-enter-active {
      transition-duration: 0.3s;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .expand-transition-leave-active {
      transition-duration: 0.3s;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .expand-transition-move {
      transition-duration: 0.5s;
      transition-property: transform;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .expand-transition-enter-active, .expand-transition-leave-active {
      transition-property: height;
    }
    .expand-x-transition-enter-active {
      transition-duration: 0.3s;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .expand-x-transition-leave-active {
      transition-duration: 0.3s;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .expand-x-transition-move {
      transition-duration: 0.5s;
      transition-property: transform;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .expand-x-transition-enter-active, .expand-x-transition-leave-active {
      transition-property: width;
    }
    .expand-both-transition-enter-active {
      transition-duration: 0.3s;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .expand-both-transition-leave-active {
      transition-duration: 0.3s;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .expand-both-transition-move {
      transition-duration: 0.5s;
      transition-property: transform;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .expand-both-transition-enter-active, .expand-both-transition-leave-active {
      transition-property: height, width !important;
    }
    .scale-transition-enter-active {
      transition-duration: 0.3s;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .scale-transition-leave-active {
      transition-duration: 0.3s;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .scale-transition-move {
      transition-duration: 0.5s;
      transition-property: transform;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .scale-transition-leave-to {
      opacity: 0;
    }
    .scale-transition-leave-active {
      transition-duration: 100ms;
    }
    .scale-transition-enter-from {
      opacity: 0;
      transform: scale(0);
    }
    .scale-transition-enter-active, .scale-transition-leave-active {
      transition-property: transform, opacity;
    }
    .scale-rotate-transition-enter-active {
      transition-duration: 0.3s;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .scale-rotate-transition-leave-active {
      transition-duration: 0.3s;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .scale-rotate-transition-move {
      transition-duration: 0.5s;
      transition-property: transform;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .scale-rotate-transition-leave-to {
      opacity: 0;
    }
    .scale-rotate-transition-leave-active {
      transition-duration: 100ms;
    }
    .scale-rotate-transition-enter-from {
      opacity: 0;
      transform: scale(0) rotate(-45deg);
    }
    .scale-rotate-transition-enter-active, .scale-rotate-transition-leave-active {
      transition-property: transform, opacity;
    }
    .scale-rotate-reverse-transition-enter-active {
      transition-duration: 0.3s;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .scale-rotate-reverse-transition-leave-active {
      transition-duration: 0.3s;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .scale-rotate-reverse-transition-move {
      transition-duration: 0.5s;
      transition-property: transform;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .scale-rotate-reverse-transition-leave-to {
      opacity: 0;
    }
    .scale-rotate-reverse-transition-leave-active {
      transition-duration: 100ms;
    }
    .scale-rotate-reverse-transition-enter-from {
      opacity: 0;
      transform: scale(0) rotate(45deg);
    }
    .scale-rotate-reverse-transition-enter-active, .scale-rotate-reverse-transition-leave-active {
      transition-property: transform, opacity;
    }
    .message-transition-enter-active {
      transition-duration: 0.3s;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .message-transition-leave-active {
      transition-duration: 0.3s;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .message-transition-move {
      transition-duration: 0.5s;
      transition-property: transform;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .message-transition-enter-from, .message-transition-leave-to {
      opacity: 0;
      transform: translateY(-15px);
    }
    .message-transition-leave-from, .message-transition-leave-active {
      position: absolute;
    }
    .message-transition-enter-active, .message-transition-leave-active {
      transition-property: transform, opacity;
    }
    .slide-y-transition-enter-active {
      transition-duration: 0.3s;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .slide-y-transition-leave-active {
      transition-duration: 0.3s;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .slide-y-transition-move {
      transition-duration: 0.5s;
      transition-property: transform;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .slide-y-transition-enter-from, .slide-y-transition-leave-to {
      opacity: 0;
      transform: translateY(-15px);
    }
    .slide-y-transition-enter-active, .slide-y-transition-leave-active {
      transition-property: transform, opacity;
    }
    .slide-y-reverse-transition-enter-active {
      transition-duration: 0.3s;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .slide-y-reverse-transition-leave-active {
      transition-duration: 0.3s;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .slide-y-reverse-transition-move {
      transition-duration: 0.5s;
      transition-property: transform;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .slide-y-reverse-transition-enter-from, .slide-y-reverse-transition-leave-to {
      opacity: 0;
      transform: translateY(15px);
    }
    .slide-y-reverse-transition-enter-active, .slide-y-reverse-transition-leave-active {
      transition-property: transform, opacity;
    }
    .scroll-y-transition-enter-active {
      transition-duration: 0.3s;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .scroll-y-transition-leave-active {
      transition-duration: 0.3s;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .scroll-y-transition-move {
      transition-duration: 0.5s;
      transition-property: transform;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .scroll-y-transition-enter-from, .scroll-y-transition-leave-to {
      opacity: 0;
    }
    .scroll-y-transition-enter-from {
      transform: translateY(-15px);
    }
    .scroll-y-transition-leave-to {
      transform: translateY(15px);
    }
    .scroll-y-transition-enter-active, .scroll-y-transition-leave-active {
      transition-property: transform, opacity;
    }
    .scroll-y-reverse-transition-enter-active {
      transition-duration: 0.3s;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .scroll-y-reverse-transition-leave-active {
      transition-duration: 0.3s;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .scroll-y-reverse-transition-move {
      transition-duration: 0.5s;
      transition-property: transform;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .scroll-y-reverse-transition-enter-from, .scroll-y-reverse-transition-leave-to {
      opacity: 0;
    }
    .scroll-y-reverse-transition-enter-from {
      transform: translateY(15px);
    }
    .scroll-y-reverse-transition-leave-to {
      transform: translateY(-15px);
    }
    .scroll-y-reverse-transition-enter-active, .scroll-y-reverse-transition-leave-active {
      transition-property: transform, opacity;
    }
    .scroll-x-transition-enter-active {
      transition-duration: 0.3s;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .scroll-x-transition-leave-active {
      transition-duration: 0.3s;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .scroll-x-transition-move {
      transition-duration: 0.5s;
      transition-property: transform;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .scroll-x-transition-enter-from, .scroll-x-transition-leave-to {
      opacity: 0;
    }
    .scroll-x-transition-enter-from {
      transform: translateX(-15px);
    }
    .scroll-x-transition-leave-to {
      transform: translateX(15px);
    }
    .scroll-x-transition-enter-active, .scroll-x-transition-leave-active {
      transition-property: transform, opacity;
    }
    .scroll-x-reverse-transition-enter-active {
      transition-duration: 0.3s;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .scroll-x-reverse-transition-leave-active {
      transition-duration: 0.3s;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .scroll-x-reverse-transition-move {
      transition-duration: 0.5s;
      transition-property: transform;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .scroll-x-reverse-transition-enter-from, .scroll-x-reverse-transition-leave-to {
      opacity: 0;
    }
    .scroll-x-reverse-transition-enter-from {
      transform: translateX(15px);
    }
    .scroll-x-reverse-transition-leave-to {
      transform: translateX(-15px);
    }
    .scroll-x-reverse-transition-enter-active, .scroll-x-reverse-transition-leave-active {
      transition-property: transform, opacity;
    }
    .slide-x-transition-enter-active {
      transition-duration: 0.3s;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .slide-x-transition-leave-active {
      transition-duration: 0.3s;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .slide-x-transition-move {
      transition-duration: 0.5s;
      transition-property: transform;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .slide-x-transition-enter-from, .slide-x-transition-leave-to {
      opacity: 0;
      transform: translateX(-15px);
    }
    .slide-x-transition-enter-active, .slide-x-transition-leave-active {
      transition-property: transform, opacity;
    }
    .slide-x-reverse-transition-enter-active {
      transition-duration: 0.3s;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .slide-x-reverse-transition-leave-active {
      transition-duration: 0.3s;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .slide-x-reverse-transition-move {
      transition-duration: 0.5s;
      transition-property: transform;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .slide-x-reverse-transition-enter-from, .slide-x-reverse-transition-leave-to {
      opacity: 0;
      transform: translateX(15px);
    }
    .slide-x-reverse-transition-enter-active, .slide-x-reverse-transition-leave-active {
      transition-property: transform, opacity;
    }
    .fade-transition-enter-active {
      transition-duration: 0.3s;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .fade-transition-leave-active {
      transition-duration: 0.3s;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .fade-transition-move {
      transition-duration: 0.5s;
      transition-property: transform;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .fade-transition-enter-from, .fade-transition-leave-to {
      opacity: 0;
    }
    .fade-transition-enter-active, .fade-transition-leave-active {
      transition-property: opacity;
    }
    .fab-transition-enter-active {
      transition-duration: 0.3s;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .fab-transition-leave-active {
      transition-duration: 0.3s;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .fab-transition-move {
      transition-duration: 0.5s;
      transition-property: transform;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    .fab-transition-enter-from, .fab-transition-leave-to {
      transform: scale(0) rotate(-45deg);
    }
    .fab-transition-enter-active, .fab-transition-leave-active {
      transition-property: transform;
    }
  }
}
@layer vuetify-core.base {
  .v-locale--is-rtl {
    direction: rtl;
  }
  .v-locale--is-ltr {
    direction: ltr;
  }
}
@layer vuetify-components {
  .blockquote {
    margin: 0;
    padding: 16px 0 16px 24px;
    font-size: 18px;
    font-weight: 300;
  }
}
@layer vuetify-core.base {
  html {
    font-family: var(--v-font-body, "Roboto", sans-serif);
    line-height: 1.5;
    font-size: 1rem;
    overflow-x: hidden;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  html.overflow-y-hidden {
    overflow-y: hidden;
  }
  :root {
    --v-theme-overlay-multiplier: 1;
    --v-scrollbar-offset: 0px;
  }
  @supports (-webkit-touch-callout: none) {
    body {
      cursor: pointer;
    }
  }
}
@layer vuetify-utilities.helpers {
  @media only print {
    .hidden-print-only {
      display: none !important;
    }
  }
  @media only screen {
    .hidden-screen-only {
      display: none !important;
    }
  }
  @media (max-width: 599.98px) {
    .hidden-xs {
      display: none !important;
    }
  }
  @media (min-width: 600px) and (max-width: 839.98px) {
    .hidden-sm {
      display: none !important;
    }
  }
  @media (min-width: 840px) and (max-width: 1144.98px) {
    .hidden-md {
      display: none !important;
    }
  }
  @media (min-width: 1145px) and (max-width: 1544.98px) {
    .hidden-lg {
      display: none !important;
    }
  }
  @media (min-width: 1545px) and (max-width: 2137.98px) {
    .hidden-xl {
      display: none !important;
    }
  }
  @media (min-width: 2138px) {
    .hidden-xxl {
      display: none !important;
    }
  }
  @media (min-width: 600px) {
    .hidden-sm-and-up {
      display: none !important;
    }
  }
  @media (min-width: 840px) {
    .hidden-md-and-up {
      display: none !important;
    }
  }
  @media (min-width: 1145px) {
    .hidden-lg-and-up {
      display: none !important;
    }
  }
  @media (min-width: 1545px) {
    .hidden-xl-and-up {
      display: none !important;
    }
  }
  @media (max-width: 839.98px) {
    .hidden-sm-and-down {
      display: none !important;
    }
  }
  @media (max-width: 1144.98px) {
    .hidden-md-and-down {
      display: none !important;
    }
  }
  @media (max-width: 1544.98px) {
    .hidden-lg-and-down {
      display: none !important;
    }
  }
  @media (max-width: 2137.98px) {
    .hidden-xl-and-down {
      display: none !important;
    }
  }
}
@property --v-elevation-overlay {
  syntax: "<color>";
  inherits: false;
  initial-value: transparent;
}
@layer vuetify-utilities.helpers {
  .elevation-0 {
    box-shadow: 0px 0px 0px 0px rgba(var(--v-shadow-color), var(--v-shadow-key-opacity, 0.3)), 0px 0px 0px 0px rgba(var(--v-shadow-color), var(--v-shadow-ambient-opacity, 0.15));
    --v-elevation-overlay: color-mix(in srgb, var(--v-elevation-overlay-color) 0%, transparent);
  }
  .elevation-1 {
    box-shadow: 0px 1px 2px 0px rgba(var(--v-shadow-color), var(--v-shadow-key-opacity, 0.3)), 0px 1px 3px 1px rgba(var(--v-shadow-color), var(--v-shadow-ambient-opacity, 0.15));
    --v-elevation-overlay: color-mix(in srgb, var(--v-elevation-overlay-color) 2%, transparent);
  }
  .elevation-2 {
    box-shadow: 0px 1px 2px 0px rgba(var(--v-shadow-color), var(--v-shadow-key-opacity, 0.3)), 0px 2px 6px 2px rgba(var(--v-shadow-color), var(--v-shadow-ambient-opacity, 0.15));
    --v-elevation-overlay: color-mix(in srgb, var(--v-elevation-overlay-color) 4%, transparent);
  }
  .elevation-3 {
    box-shadow: 0px 1px 3px 0px rgba(var(--v-shadow-color), var(--v-shadow-key-opacity, 0.3)), 0px 4px 8px 3px rgba(var(--v-shadow-color), var(--v-shadow-ambient-opacity, 0.15));
    --v-elevation-overlay: color-mix(in srgb, var(--v-elevation-overlay-color) 6%, transparent);
  }
  .elevation-4 {
    box-shadow: 0px 2px 3px 0px rgba(var(--v-shadow-color), var(--v-shadow-key-opacity, 0.3)), 0px 6px 10px 4px rgba(var(--v-shadow-color), var(--v-shadow-ambient-opacity, 0.15));
    --v-elevation-overlay: color-mix(in srgb, var(--v-elevation-overlay-color) 8%, transparent);
  }
  .elevation-5 {
    box-shadow: 0px 4px 4px 0px rgba(var(--v-shadow-color), var(--v-shadow-key-opacity, 0.3)), 0px 8px 12px 6px rgba(var(--v-shadow-color), var(--v-shadow-ambient-opacity, 0.15));
    --v-elevation-overlay: color-mix(in srgb, var(--v-elevation-overlay-color) 10%, transparent);
  }
  .hover-elevation-0:hover {
    box-shadow: 0px 0px 0px 0px rgba(var(--v-shadow-color), var(--v-shadow-key-opacity, 0.3)), 0px 0px 0px 0px rgba(var(--v-shadow-color), var(--v-shadow-ambient-opacity, 0.15));
    --v-elevation-overlay: color-mix(in srgb, var(--v-elevation-overlay-color) 0%, transparent);
  }
  .hover-elevation-1:hover {
    box-shadow: 0px 1px 2px 0px rgba(var(--v-shadow-color), var(--v-shadow-key-opacity, 0.3)), 0px 1px 3px 1px rgba(var(--v-shadow-color), var(--v-shadow-ambient-opacity, 0.15));
    --v-elevation-overlay: color-mix(in srgb, var(--v-elevation-overlay-color) 2%, transparent);
  }
  .hover-elevation-2:hover {
    box-shadow: 0px 1px 2px 0px rgba(var(--v-shadow-color), var(--v-shadow-key-opacity, 0.3)), 0px 2px 6px 2px rgba(var(--v-shadow-color), var(--v-shadow-ambient-opacity, 0.15));
    --v-elevation-overlay: color-mix(in srgb, var(--v-elevation-overlay-color) 4%, transparent);
  }
  .hover-elevation-3:hover {
    box-shadow: 0px 1px 3px 0px rgba(var(--v-shadow-color), var(--v-shadow-key-opacity, 0.3)), 0px 4px 8px 3px rgba(var(--v-shadow-color), var(--v-shadow-ambient-opacity, 0.15));
    --v-elevation-overlay: color-mix(in srgb, var(--v-elevation-overlay-color) 6%, transparent);
  }
  .hover-elevation-4:hover {
    box-shadow: 0px 2px 3px 0px rgba(var(--v-shadow-color), var(--v-shadow-key-opacity, 0.3)), 0px 6px 10px 4px rgba(var(--v-shadow-color), var(--v-shadow-ambient-opacity, 0.15));
    --v-elevation-overlay: color-mix(in srgb, var(--v-elevation-overlay-color) 8%, transparent);
  }
  .hover-elevation-5:hover {
    box-shadow: 0px 4px 4px 0px rgba(var(--v-shadow-color), var(--v-shadow-key-opacity, 0.3)), 0px 8px 12px 6px rgba(var(--v-shadow-color), var(--v-shadow-ambient-opacity, 0.15));
    --v-elevation-overlay: color-mix(in srgb, var(--v-elevation-overlay-color) 10%, transparent);
  }
  .elevation-overlay {
    background-image: linear-gradient(var(--v-elevation-overlay), var(--v-elevation-overlay));
  }
}
@layer vuetify-utilities.helpers {
  .pointer-events-none {
    pointer-events: none !important;
  }
  .pointer-events-auto {
    pointer-events: auto !important;
  }
  .pointer-pass-through {
    pointer-events: none !important;
  }
  .pointer-pass-through > * {
    pointer-events: auto !important;
  }
}
@layer vuetify-utilities.helpers {
  .d-sr-only,
  .d-sr-only-focusable:not(:focus) {
    border: 0 !important;
    clip: rect(0, 0, 0, 0) !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    white-space: nowrap !important;
    width: 1px !important;
  }
}
@layer vuetify-utilities.typography {
  .text-display-large {
    font-size: 3.5625rem;
    font-weight: 400;
    line-height: 1.1228070175;
    letter-spacing: -0.0043859649em;
    font-family: var(--v-font-heading, var(--v-font-body, "Roboto", sans-serif));
  }
  .text-display-medium {
    font-size: 2.8125rem;
    font-weight: 400;
    line-height: 1.1555555556;
    letter-spacing: normal;
    font-family: var(--v-font-heading, var(--v-font-body, "Roboto", sans-serif));
  }
  .text-display-small {
    font-size: 2.25rem;
    font-weight: 400;
    line-height: 1.2222222222;
    letter-spacing: normal;
    font-family: var(--v-font-heading, var(--v-font-body, "Roboto", sans-serif));
  }
  .text-headline-large {
    font-size: 2rem;
    font-weight: 400;
    line-height: 1.25;
    letter-spacing: normal;
    font-family: var(--v-font-heading, var(--v-font-body, "Roboto", sans-serif));
  }
  .text-headline-medium {
    font-size: 1.75rem;
    font-weight: 400;
    line-height: 1.2857142857;
    letter-spacing: normal;
    font-family: var(--v-font-heading, var(--v-font-body, "Roboto", sans-serif));
  }
  .text-headline-small {
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1.3333333333;
    letter-spacing: normal;
    font-family: var(--v-font-heading, var(--v-font-body, "Roboto", sans-serif));
  }
  .text-title-large {
    font-size: 1.375rem;
    font-weight: 400;
    line-height: 1.2727272727;
    letter-spacing: normal;
    font-family: var(--v-font-heading, var(--v-font-body, "Roboto", sans-serif));
  }
  .text-title-medium {
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.009375em;
    font-family: var(--v-font-body, "Roboto", sans-serif);
  }
  .text-title-small {
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.4285714286;
    letter-spacing: 0.0071428571em;
    font-family: var(--v-font-body, "Roboto", sans-serif);
  }
  .text-body-large {
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.03125em;
    font-family: var(--v-font-body, "Roboto", sans-serif);
  }
  .text-body-medium {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.4285714286;
    letter-spacing: 0.0178571429em;
    font-family: var(--v-font-body, "Roboto", sans-serif);
  }
  .text-body-small {
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1.3333333333;
    letter-spacing: 0.0333333333em;
    font-family: var(--v-font-body, "Roboto", sans-serif);
  }
  .text-label-large {
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.4285714286;
    letter-spacing: 0.0071428571em;
    font-family: var(--v-font-body, "Roboto", sans-serif);
  }
  .text-label-medium {
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.3333333333;
    letter-spacing: 0.0416666667em;
    font-family: var(--v-font-body, "Roboto", sans-serif);
  }
  .text-label-small {
    font-size: 0.6875rem;
    font-weight: 500;
    line-height: 1.4545454545;
    letter-spacing: 0.0454545455em;
    font-family: var(--v-font-body, "Roboto", sans-serif);
  }
  @media (min-width: 600px) {
    .text-sm-display-large {
      font-size: 3.5625rem;
      font-weight: 400;
      line-height: 1.1228070175;
      letter-spacing: -0.0043859649em;
      font-family: var(--v-font-heading, var(--v-font-body, "Roboto", sans-serif));
    }
    .text-sm-display-medium {
      font-size: 2.8125rem;
      font-weight: 400;
      line-height: 1.1555555556;
      letter-spacing: normal;
      font-family: var(--v-font-heading, var(--v-font-body, "Roboto", sans-serif));
    }
    .text-sm-display-small {
      font-size: 2.25rem;
      font-weight: 400;
      line-height: 1.2222222222;
      letter-spacing: normal;
      font-family: var(--v-font-heading, var(--v-font-body, "Roboto", sans-serif));
    }
    .text-sm-headline-large {
      font-size: 2rem;
      font-weight: 400;
      line-height: 1.25;
      letter-spacing: normal;
      font-family: var(--v-font-heading, var(--v-font-body, "Roboto", sans-serif));
    }
    .text-sm-headline-medium {
      font-size: 1.75rem;
      font-weight: 400;
      line-height: 1.2857142857;
      letter-spacing: normal;
      font-family: var(--v-font-heading, var(--v-font-body, "Roboto", sans-serif));
    }
    .text-sm-headline-small {
      font-size: 1.5rem;
      font-weight: 400;
      line-height: 1.3333333333;
      letter-spacing: normal;
      font-family: var(--v-font-heading, var(--v-font-body, "Roboto", sans-serif));
    }
    .text-sm-title-large {
      font-size: 1.375rem;
      font-weight: 400;
      line-height: 1.2727272727;
      letter-spacing: normal;
      font-family: var(--v-font-heading, var(--v-font-body, "Roboto", sans-serif));
    }
    .text-sm-title-medium {
      font-size: 1rem;
      font-weight: 500;
      line-height: 1.5;
      letter-spacing: 0.009375em;
      font-family: var(--v-font-body, "Roboto", sans-serif);
    }
    .text-sm-title-small {
      font-size: 0.875rem;
      font-weight: 500;
      line-height: 1.4285714286;
      letter-spacing: 0.0071428571em;
      font-family: var(--v-font-body, "Roboto", sans-serif);
    }
    .text-sm-body-large {
      font-size: 1rem;
      font-weight: 400;
      line-height: 1.5;
      letter-spacing: 0.03125em;
      font-family: var(--v-font-body, "Roboto", sans-serif);
    }
    .text-sm-body-medium {
      font-size: 0.875rem;
      font-weight: 400;
      line-height: 1.4285714286;
      letter-spacing: 0.0178571429em;
      font-family: var(--v-font-body, "Roboto", sans-serif);
    }
    .text-sm-body-small {
      font-size: 0.75rem;
      font-weight: 400;
      line-height: 1.3333333333;
      letter-spacing: 0.0333333333em;
      font-family: var(--v-font-body, "Roboto", sans-serif);
    }
    .text-sm-label-large {
      font-size: 0.875rem;
      font-weight: 500;
      line-height: 1.4285714286;
      letter-spacing: 0.0071428571em;
      font-family: var(--v-font-body, "Roboto", sans-serif);
    }
    .text-sm-label-medium {
      font-size: 0.75rem;
      font-weight: 500;
      line-height: 1.3333333333;
      letter-spacing: 0.0416666667em;
      font-family: var(--v-font-body, "Roboto", sans-serif);
    }
    .text-sm-label-small {
      font-size: 0.6875rem;
      font-weight: 500;
      line-height: 1.4545454545;
      letter-spacing: 0.0454545455em;
      font-family: var(--v-font-body, "Roboto", sans-serif);
    }
  }
  @media (min-width: 840px) {
    .text-md-display-large {
      font-size: 3.5625rem;
      font-weight: 400;
      line-height: 1.1228070175;
      letter-spacing: -0.0043859649em;
      font-family: var(--v-font-heading, var(--v-font-body, "Roboto", sans-serif));
    }
    .text-md-display-medium {
      font-size: 2.8125rem;
      font-weight: 400;
      line-height: 1.1555555556;
      letter-spacing: normal;
      font-family: var(--v-font-heading, var(--v-font-body, "Roboto", sans-serif));
    }
    .text-md-display-small {
      font-size: 2.25rem;
      font-weight: 400;
      line-height: 1.2222222222;
      letter-spacing: normal;
      font-family: var(--v-font-heading, var(--v-font-body, "Roboto", sans-serif));
    }
    .text-md-headline-large {
      font-size: 2rem;
      font-weight: 400;
      line-height: 1.25;
      letter-spacing: normal;
      font-family: var(--v-font-heading, var(--v-font-body, "Roboto", sans-serif));
    }
    .text-md-headline-medium {
      font-size: 1.75rem;
      font-weight: 400;
      line-height: 1.2857142857;
      letter-spacing: normal;
      font-family: var(--v-font-heading, var(--v-font-body, "Roboto", sans-serif));
    }
    .text-md-headline-small {
      font-size: 1.5rem;
      font-weight: 400;
      line-height: 1.3333333333;
      letter-spacing: normal;
      font-family: var(--v-font-heading, var(--v-font-body, "Roboto", sans-serif));
    }
    .text-md-title-large {
      font-size: 1.375rem;
      font-weight: 400;
      line-height: 1.2727272727;
      letter-spacing: normal;
      font-family: var(--v-font-heading, var(--v-font-body, "Roboto", sans-serif));
    }
    .text-md-title-medium {
      font-size: 1rem;
      font-weight: 500;
      line-height: 1.5;
      letter-spacing: 0.009375em;
      font-family: var(--v-font-body, "Roboto", sans-serif);
    }
    .text-md-title-small {
      font-size: 0.875rem;
      font-weight: 500;
      line-height: 1.4285714286;
      letter-spacing: 0.0071428571em;
      font-family: var(--v-font-body, "Roboto", sans-serif);
    }
    .text-md-body-large {
      font-size: 1rem;
      font-weight: 400;
      line-height: 1.5;
      letter-spacing: 0.03125em;
      font-family: var(--v-font-body, "Roboto", sans-serif);
    }
    .text-md-body-medium {
      font-size: 0.875rem;
      font-weight: 400;
      line-height: 1.4285714286;
      letter-spacing: 0.0178571429em;
      font-family: var(--v-font-body, "Roboto", sans-serif);
    }
    .text-md-body-small {
      font-size: 0.75rem;
      font-weight: 400;
      line-height: 1.3333333333;
      letter-spacing: 0.0333333333em;
      font-family: var(--v-font-body, "Roboto", sans-serif);
    }
    .text-md-label-large {
      font-size: 0.875rem;
      font-weight: 500;
      line-height: 1.4285714286;
      letter-spacing: 0.0071428571em;
      font-family: var(--v-font-body, "Roboto", sans-serif);
    }
    .text-md-label-medium {
      font-size: 0.75rem;
      font-weight: 500;
      line-height: 1.3333333333;
      letter-spacing: 0.0416666667em;
      font-family: var(--v-font-body, "Roboto", sans-serif);
    }
    .text-md-label-small {
      font-size: 0.6875rem;
      font-weight: 500;
      line-height: 1.4545454545;
      letter-spacing: 0.0454545455em;
      font-family: var(--v-font-body, "Roboto", sans-serif);
    }
  }
  @media (min-width: 1145px) {
    .text-lg-display-large {
      font-size: 3.5625rem;
      font-weight: 400;
      line-height: 1.1228070175;
      letter-spacing: -0.0043859649em;
      font-family: var(--v-font-heading, var(--v-font-body, "Roboto", sans-serif));
    }
    .text-lg-display-medium {
      font-size: 2.8125rem;
      font-weight: 400;
      line-height: 1.1555555556;
      letter-spacing: normal;
      font-family: var(--v-font-heading, var(--v-font-body, "Roboto", sans-serif));
    }
    .text-lg-display-small {
      font-size: 2.25rem;
      font-weight: 400;
      line-height: 1.2222222222;
      letter-spacing: normal;
      font-family: var(--v-font-heading, var(--v-font-body, "Roboto", sans-serif));
    }
    .text-lg-headline-large {
      font-size: 2rem;
      font-weight: 400;
      line-height: 1.25;
      letter-spacing: normal;
      font-family: var(--v-font-heading, var(--v-font-body, "Roboto", sans-serif));
    }
    .text-lg-headline-medium {
      font-size: 1.75rem;
      font-weight: 400;
      line-height: 1.2857142857;
      letter-spacing: normal;
      font-family: var(--v-font-heading, var(--v-font-body, "Roboto", sans-serif));
    }
    .text-lg-headline-small {
      font-size: 1.5rem;
      font-weight: 400;
      line-height: 1.3333333333;
      letter-spacing: normal;
      font-family: var(--v-font-heading, var(--v-font-body, "Roboto", sans-serif));
    }
    .text-lg-title-large {
      font-size: 1.375rem;
      font-weight: 400;
      line-height: 1.2727272727;
      letter-spacing: normal;
      font-family: var(--v-font-heading, var(--v-font-body, "Roboto", sans-serif));
    }
    .text-lg-title-medium {
      font-size: 1rem;
      font-weight: 500;
      line-height: 1.5;
      letter-spacing: 0.009375em;
      font-family: var(--v-font-body, "Roboto", sans-serif);
    }
    .text-lg-title-small {
      font-size: 0.875rem;
      font-weight: 500;
      line-height: 1.4285714286;
      letter-spacing: 0.0071428571em;
      font-family: var(--v-font-body, "Roboto", sans-serif);
    }
    .text-lg-body-large {
      font-size: 1rem;
      font-weight: 400;
      line-height: 1.5;
      letter-spacing: 0.03125em;
      font-family: var(--v-font-body, "Roboto", sans-serif);
    }
    .text-lg-body-medium {
      font-size: 0.875rem;
      font-weight: 400;
      line-height: 1.4285714286;
      letter-spacing: 0.0178571429em;
      font-family: var(--v-font-body, "Roboto", sans-serif);
    }
    .text-lg-body-small {
      font-size: 0.75rem;
      font-weight: 400;
      line-height: 1.3333333333;
      letter-spacing: 0.0333333333em;
      font-family: var(--v-font-body, "Roboto", sans-serif);
    }
    .text-lg-label-large {
      font-size: 0.875rem;
      font-weight: 500;
      line-height: 1.4285714286;
      letter-spacing: 0.0071428571em;
      font-family: var(--v-font-body, "Roboto", sans-serif);
    }
    .text-lg-label-medium {
      font-size: 0.75rem;
      font-weight: 500;
      line-height: 1.3333333333;
      letter-spacing: 0.0416666667em;
      font-family: var(--v-font-body, "Roboto", sans-serif);
    }
    .text-lg-label-small {
      font-size: 0.6875rem;
      font-weight: 500;
      line-height: 1.4545454545;
      letter-spacing: 0.0454545455em;
      font-family: var(--v-font-body, "Roboto", sans-serif);
    }
  }
  @media (min-width: 1545px) {
    .text-xl-display-large {
      font-size: 3.5625rem;
      font-weight: 400;
      line-height: 1.1228070175;
      letter-spacing: -0.0043859649em;
      font-family: var(--v-font-heading, var(--v-font-body, "Roboto", sans-serif));
    }
    .text-xl-display-medium {
      font-size: 2.8125rem;
      font-weight: 400;
      line-height: 1.1555555556;
      letter-spacing: normal;
      font-family: var(--v-font-heading, var(--v-font-body, "Roboto", sans-serif));
    }
    .text-xl-display-small {
      font-size: 2.25rem;
      font-weight: 400;
      line-height: 1.2222222222;
      letter-spacing: normal;
      font-family: var(--v-font-heading, var(--v-font-body, "Roboto", sans-serif));
    }
    .text-xl-headline-large {
      font-size: 2rem;
      font-weight: 400;
      line-height: 1.25;
      letter-spacing: normal;
      font-family: var(--v-font-heading, var(--v-font-body, "Roboto", sans-serif));
    }
    .text-xl-headline-medium {
      font-size: 1.75rem;
      font-weight: 400;
      line-height: 1.2857142857;
      letter-spacing: normal;
      font-family: var(--v-font-heading, var(--v-font-body, "Roboto", sans-serif));
    }
    .text-xl-headline-small {
      font-size: 1.5rem;
      font-weight: 400;
      line-height: 1.3333333333;
      letter-spacing: normal;
      font-family: var(--v-font-heading, var(--v-font-body, "Roboto", sans-serif));
    }
    .text-xl-title-large {
      font-size: 1.375rem;
      font-weight: 400;
      line-height: 1.2727272727;
      letter-spacing: normal;
      font-family: var(--v-font-heading, var(--v-font-body, "Roboto", sans-serif));
    }
    .text-xl-title-medium {
      font-size: 1rem;
      font-weight: 500;
      line-height: 1.5;
      letter-spacing: 0.009375em;
      font-family: var(--v-font-body, "Roboto", sans-serif);
    }
    .text-xl-title-small {
      font-size: 0.875rem;
      font-weight: 500;
      line-height: 1.4285714286;
      letter-spacing: 0.0071428571em;
      font-family: var(--v-font-body, "Roboto", sans-serif);
    }
    .text-xl-body-large {
      font-size: 1rem;
      font-weight: 400;
      line-height: 1.5;
      letter-spacing: 0.03125em;
      font-family: var(--v-font-body, "Roboto", sans-serif);
    }
    .text-xl-body-medium {
      font-size: 0.875rem;
      font-weight: 400;
      line-height: 1.4285714286;
      letter-spacing: 0.0178571429em;
      font-family: var(--v-font-body, "Roboto", sans-serif);
    }
    .text-xl-body-small {
      font-size: 0.75rem;
      font-weight: 400;
      line-height: 1.3333333333;
      letter-spacing: 0.0333333333em;
      font-family: var(--v-font-body, "Roboto", sans-serif);
    }
    .text-xl-label-large {
      font-size: 0.875rem;
      font-weight: 500;
      line-height: 1.4285714286;
      letter-spacing: 0.0071428571em;
      font-family: var(--v-font-body, "Roboto", sans-serif);
    }
    .text-xl-label-medium {
      font-size: 0.75rem;
      font-weight: 500;
      line-height: 1.3333333333;
      letter-spacing: 0.0416666667em;
      font-family: var(--v-font-body, "Roboto", sans-serif);
    }
    .text-xl-label-small {
      font-size: 0.6875rem;
      font-weight: 500;
      line-height: 1.4545454545;
      letter-spacing: 0.0454545455em;
      font-family: var(--v-font-body, "Roboto", sans-serif);
    }
  }
  @media (min-width: 2138px) {
    .text-xxl-display-large {
      font-size: 3.5625rem;
      font-weight: 400;
      line-height: 1.1228070175;
      letter-spacing: -0.0043859649em;
      font-family: var(--v-font-heading, var(--v-font-body, "Roboto", sans-serif));
    }
    .text-xxl-display-medium {
      font-size: 2.8125rem;
      font-weight: 400;
      line-height: 1.1555555556;
      letter-spacing: normal;
      font-family: var(--v-font-heading, var(--v-font-body, "Roboto", sans-serif));
    }
    .text-xxl-display-small {
      font-size: 2.25rem;
      font-weight: 400;
      line-height: 1.2222222222;
      letter-spacing: normal;
      font-family: var(--v-font-heading, var(--v-font-body, "Roboto", sans-serif));
    }
    .text-xxl-headline-large {
      font-size: 2rem;
      font-weight: 400;
      line-height: 1.25;
      letter-spacing: normal;
      font-family: var(--v-font-heading, var(--v-font-body, "Roboto", sans-serif));
    }
    .text-xxl-headline-medium {
      font-size: 1.75rem;
      font-weight: 400;
      line-height: 1.2857142857;
      letter-spacing: normal;
      font-family: var(--v-font-heading, var(--v-font-body, "Roboto", sans-serif));
    }
    .text-xxl-headline-small {
      font-size: 1.5rem;
      font-weight: 400;
      line-height: 1.3333333333;
      letter-spacing: normal;
      font-family: var(--v-font-heading, var(--v-font-body, "Roboto", sans-serif));
    }
    .text-xxl-title-large {
      font-size: 1.375rem;
      font-weight: 400;
      line-height: 1.2727272727;
      letter-spacing: normal;
      font-family: var(--v-font-heading, var(--v-font-body, "Roboto", sans-serif));
    }
    .text-xxl-title-medium {
      font-size: 1rem;
      font-weight: 500;
      line-height: 1.5;
      letter-spacing: 0.009375em;
      font-family: var(--v-font-body, "Roboto", sans-serif);
    }
    .text-xxl-title-small {
      font-size: 0.875rem;
      font-weight: 500;
      line-height: 1.4285714286;
      letter-spacing: 0.0071428571em;
      font-family: var(--v-font-body, "Roboto", sans-serif);
    }
    .text-xxl-body-large {
      font-size: 1rem;
      font-weight: 400;
      line-height: 1.5;
      letter-spacing: 0.03125em;
      font-family: var(--v-font-body, "Roboto", sans-serif);
    }
    .text-xxl-body-medium {
      font-size: 0.875rem;
      font-weight: 400;
      line-height: 1.4285714286;
      letter-spacing: 0.0178571429em;
      font-family: var(--v-font-body, "Roboto", sans-serif);
    }
    .text-xxl-body-small {
      font-size: 0.75rem;
      font-weight: 400;
      line-height: 1.3333333333;
      letter-spacing: 0.0333333333em;
      font-family: var(--v-font-body, "Roboto", sans-serif);
    }
    .text-xxl-label-large {
      font-size: 0.875rem;
      font-weight: 500;
      line-height: 1.4285714286;
      letter-spacing: 0.0071428571em;
      font-family: var(--v-font-body, "Roboto", sans-serif);
    }
    .text-xxl-label-medium {
      font-size: 0.75rem;
      font-weight: 500;
      line-height: 1.3333333333;
      letter-spacing: 0.0416666667em;
      font-family: var(--v-font-body, "Roboto", sans-serif);
    }
    .text-xxl-label-small {
      font-size: 0.6875rem;
      font-weight: 500;
      line-height: 1.4545454545;
      letter-spacing: 0.0454545455em;
      font-family: var(--v-font-body, "Roboto", sans-serif);
    }
  }
}
@layer vuetify-utilities.helpers {
  .overflow-auto {
    overflow: auto;
  }
  .overflow-hidden {
    overflow: hidden;
  }
  .overflow-visible {
    overflow: visible;
  }
  .overflow-scroll {
    overflow: scroll;
  }
  .overflow-x-auto {
    overflow-x: auto;
  }
  .overflow-x-hidden {
    overflow-x: hidden;
  }
  .overflow-x-scroll {
    overflow-x: scroll;
  }
  .overflow-y-auto {
    overflow-y: auto;
  }
  .overflow-y-hidden {
    overflow-y: hidden;
  }
  .overflow-y-scroll {
    overflow-y: scroll;
  }
  .d-none {
    display: none;
  }
  .d-inline {
    display: inline;
  }
  .d-inline-block {
    display: inline-block;
  }
  .d-block {
    display: block;
  }
  .d-table {
    display: table;
  }
  .d-table-row {
    display: table-row;
  }
  .d-table-cell {
    display: table-cell;
  }
  .d-flex {
    display: flex;
  }
  .d-inline-flex {
    display: inline-flex;
  }
  .float-none {
    float: none;
  }
  .float-left {
    float: left;
  }
  .float-right {
    float: right;
  }
  .v-locale--is-rtl .float-end {
    float: left;
  }
  .v-locale--is-rtl .float-start {
    float: right;
  }
  .v-locale--is-ltr .float-end {
    float: right;
  }
  .v-locale--is-ltr .float-start {
    float: left;
  }
  .flex-fill {
    flex: 1 1 auto;
  }
  .flex-1-1 {
    flex: 1 1 auto;
  }
  .flex-1-0 {
    flex: 1 0 auto;
  }
  .flex-0-1 {
    flex: 0 1 auto;
  }
  .flex-0-0 {
    flex: 0 0 auto;
  }
  .flex-1-1-100 {
    flex: 1 1 100%;
  }
  .flex-1-0-100 {
    flex: 1 0 100%;
  }
  .flex-0-1-100 {
    flex: 0 1 100%;
  }
  .flex-0-0-100 {
    flex: 0 0 100%;
  }
  .flex-1-1-0 {
    flex: 1 1 0;
  }
  .flex-1-0-0 {
    flex: 1 0 0;
  }
  .flex-0-1-0 {
    flex: 0 1 0;
  }
  .flex-0-0-0 {
    flex: 0 0 0;
  }
  .flex-row {
    flex-direction: row;
  }
  .flex-column {
    flex-direction: column;
  }
  .flex-row-reverse {
    flex-direction: row-reverse;
  }
  .flex-column-reverse {
    flex-direction: column-reverse;
  }
  .flex-grow-0 {
    flex-grow: 0;
  }
  .flex-grow-1 {
    flex-grow: 1;
  }
  .flex-shrink-0 {
    flex-shrink: 0;
  }
  .flex-shrink-1 {
    flex-shrink: 1;
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .flex-nowrap {
    flex-wrap: nowrap;
  }
  .flex-wrap-reverse {
    flex-wrap: wrap-reverse;
  }
  .justify-start {
    justify-content: flex-start;
  }
  .justify-end {
    justify-content: flex-end;
  }
  .justify-center {
    justify-content: center;
  }
  .justify-space-between {
    justify-content: space-between;
  }
  .justify-space-around {
    justify-content: space-around;
  }
  .justify-space-evenly {
    justify-content: space-evenly;
  }
  .justify-items-start {
    justify-items: flex-start;
  }
  .justify-items-end {
    justify-items: flex-end;
  }
  .justify-items-center {
    justify-items: center;
  }
  .justify-items-stretch {
    justify-items: stretch;
  }
  .align-start {
    align-items: flex-start;
  }
  .align-end {
    align-items: flex-end;
  }
  .align-center {
    align-items: center;
  }
  .align-baseline {
    align-items: baseline;
  }
  .align-stretch {
    align-items: stretch;
  }
  .align-content-start {
    align-content: flex-start;
  }
  .align-content-end {
    align-content: flex-end;
  }
  .align-content-center {
    align-content: center;
  }
  .align-content-space-between {
    align-content: space-between;
  }
  .align-content-space-around {
    align-content: space-around;
  }
  .align-content-space-evenly {
    align-content: space-evenly;
  }
  .align-content-stretch {
    align-content: stretch;
  }
  .align-self-auto {
    align-self: auto;
  }
  .align-self-start {
    align-self: flex-start;
  }
  .align-self-end {
    align-self: flex-end;
  }
  .align-self-center {
    align-self: center;
  }
  .align-self-baseline {
    align-self: baseline;
  }
  .align-self-stretch {
    align-self: stretch;
  }
  .order-first {
    order: -1;
  }
  .order-0 {
    order: 0;
  }
  .order-1 {
    order: 1;
  }
  .order-2 {
    order: 2;
  }
  .order-3 {
    order: 3;
  }
  .order-4 {
    order: 4;
  }
  .order-5 {
    order: 5;
  }
  .order-6 {
    order: 6;
  }
  .order-7 {
    order: 7;
  }
  .order-8 {
    order: 8;
  }
  .order-9 {
    order: 9;
  }
  .order-10 {
    order: 10;
  }
  .order-11 {
    order: 11;
  }
  .order-12 {
    order: 12;
  }
  .order-last {
    order: 13;
  }
  .ga-0 {
    gap: 0px;
  }
  .ga-1 {
    gap: 4px;
  }
  .ga-2 {
    gap: 8px;
  }
  .ga-3 {
    gap: 12px;
  }
  .ga-4 {
    gap: 16px;
  }
  .ga-5 {
    gap: 20px;
  }
  .ga-6 {
    gap: 24px;
  }
  .ga-7 {
    gap: 28px;
  }
  .ga-8 {
    gap: 32px;
  }
  .ga-9 {
    gap: 36px;
  }
  .ga-10 {
    gap: 40px;
  }
  .ga-11 {
    gap: 44px;
  }
  .ga-12 {
    gap: 48px;
  }
  .ga-13 {
    gap: 52px;
  }
  .ga-14 {
    gap: 56px;
  }
  .ga-15 {
    gap: 60px;
  }
  .ga-16 {
    gap: 64px;
  }
  .ga-auto {
    gap: auto;
  }
  .gr-0 {
    row-gap: 0px;
  }
  .gr-1 {
    row-gap: 4px;
  }
  .gr-2 {
    row-gap: 8px;
  }
  .gr-3 {
    row-gap: 12px;
  }
  .gr-4 {
    row-gap: 16px;
  }
  .gr-5 {
    row-gap: 20px;
  }
  .gr-6 {
    row-gap: 24px;
  }
  .gr-7 {
    row-gap: 28px;
  }
  .gr-8 {
    row-gap: 32px;
  }
  .gr-9 {
    row-gap: 36px;
  }
  .gr-10 {
    row-gap: 40px;
  }
  .gr-11 {
    row-gap: 44px;
  }
  .gr-12 {
    row-gap: 48px;
  }
  .gr-13 {
    row-gap: 52px;
  }
  .gr-14 {
    row-gap: 56px;
  }
  .gr-15 {
    row-gap: 60px;
  }
  .gr-16 {
    row-gap: 64px;
  }
  .gr-auto {
    row-gap: auto;
  }
  .gc-0 {
    column-gap: 0px;
  }
  .gc-1 {
    column-gap: 4px;
  }
  .gc-2 {
    column-gap: 8px;
  }
  .gc-3 {
    column-gap: 12px;
  }
  .gc-4 {
    column-gap: 16px;
  }
  .gc-5 {
    column-gap: 20px;
  }
  .gc-6 {
    column-gap: 24px;
  }
  .gc-7 {
    column-gap: 28px;
  }
  .gc-8 {
    column-gap: 32px;
  }
  .gc-9 {
    column-gap: 36px;
  }
  .gc-10 {
    column-gap: 40px;
  }
  .gc-11 {
    column-gap: 44px;
  }
  .gc-12 {
    column-gap: 48px;
  }
  .gc-13 {
    column-gap: 52px;
  }
  .gc-14 {
    column-gap: 56px;
  }
  .gc-15 {
    column-gap: 60px;
  }
  .gc-16 {
    column-gap: 64px;
  }
  .gc-auto {
    column-gap: auto;
  }
  .ma-0 {
    margin: 0px;
  }
  .ma-1 {
    margin: 4px;
  }
  .ma-2 {
    margin: 8px;
  }
  .ma-3 {
    margin: 12px;
  }
  .ma-4 {
    margin: 16px;
  }
  .ma-5 {
    margin: 20px;
  }
  .ma-6 {
    margin: 24px;
  }
  .ma-7 {
    margin: 28px;
  }
  .ma-8 {
    margin: 32px;
  }
  .ma-9 {
    margin: 36px;
  }
  .ma-10 {
    margin: 40px;
  }
  .ma-11 {
    margin: 44px;
  }
  .ma-12 {
    margin: 48px;
  }
  .ma-13 {
    margin: 52px;
  }
  .ma-14 {
    margin: 56px;
  }
  .ma-15 {
    margin: 60px;
  }
  .ma-16 {
    margin: 64px;
  }
  .ma-auto {
    margin: auto;
  }
  .mx-0 {
    margin-right: 0px;
    margin-left: 0px;
  }
  .mx-1 {
    margin-right: 4px;
    margin-left: 4px;
  }
  .mx-2 {
    margin-right: 8px;
    margin-left: 8px;
  }
  .mx-3 {
    margin-right: 12px;
    margin-left: 12px;
  }
  .mx-4 {
    margin-right: 16px;
    margin-left: 16px;
  }
  .mx-5 {
    margin-right: 20px;
    margin-left: 20px;
  }
  .mx-6 {
    margin-right: 24px;
    margin-left: 24px;
  }
  .mx-7 {
    margin-right: 28px;
    margin-left: 28px;
  }
  .mx-8 {
    margin-right: 32px;
    margin-left: 32px;
  }
  .mx-9 {
    margin-right: 36px;
    margin-left: 36px;
  }
  .mx-10 {
    margin-right: 40px;
    margin-left: 40px;
  }
  .mx-11 {
    margin-right: 44px;
    margin-left: 44px;
  }
  .mx-12 {
    margin-right: 48px;
    margin-left: 48px;
  }
  .mx-13 {
    margin-right: 52px;
    margin-left: 52px;
  }
  .mx-14 {
    margin-right: 56px;
    margin-left: 56px;
  }
  .mx-15 {
    margin-right: 60px;
    margin-left: 60px;
  }
  .mx-16 {
    margin-right: 64px;
    margin-left: 64px;
  }
  .mx-auto {
    margin-right: auto;
    margin-left: auto;
  }
  .my-0 {
    margin-top: 0px;
    margin-bottom: 0px;
  }
  .my-1 {
    margin-top: 4px;
    margin-bottom: 4px;
  }
  .my-2 {
    margin-top: 8px;
    margin-bottom: 8px;
  }
  .my-3 {
    margin-top: 12px;
    margin-bottom: 12px;
  }
  .my-4 {
    margin-top: 16px;
    margin-bottom: 16px;
  }
  .my-5 {
    margin-top: 20px;
    margin-bottom: 20px;
  }
  .my-6 {
    margin-top: 24px;
    margin-bottom: 24px;
  }
  .my-7 {
    margin-top: 28px;
    margin-bottom: 28px;
  }
  .my-8 {
    margin-top: 32px;
    margin-bottom: 32px;
  }
  .my-9 {
    margin-top: 36px;
    margin-bottom: 36px;
  }
  .my-10 {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .my-11 {
    margin-top: 44px;
    margin-bottom: 44px;
  }
  .my-12 {
    margin-top: 48px;
    margin-bottom: 48px;
  }
  .my-13 {
    margin-top: 52px;
    margin-bottom: 52px;
  }
  .my-14 {
    margin-top: 56px;
    margin-bottom: 56px;
  }
  .my-15 {
    margin-top: 60px;
    margin-bottom: 60px;
  }
  .my-16 {
    margin-top: 64px;
    margin-bottom: 64px;
  }
  .my-auto {
    margin-top: auto;
    margin-bottom: auto;
  }
  .mt-0 {
    margin-top: 0px;
  }
  .mt-1 {
    margin-top: 4px;
  }
  .mt-2 {
    margin-top: 8px;
  }
  .mt-3 {
    margin-top: 12px;
  }
  .mt-4 {
    margin-top: 16px;
  }
  .mt-5 {
    margin-top: 20px;
  }
  .mt-6 {
    margin-top: 24px;
  }
  .mt-7 {
    margin-top: 28px;
  }
  .mt-8 {
    margin-top: 32px;
  }
  .mt-9 {
    margin-top: 36px;
  }
  .mt-10 {
    margin-top: 40px;
  }
  .mt-11 {
    margin-top: 44px;
  }
  .mt-12 {
    margin-top: 48px;
  }
  .mt-13 {
    margin-top: 52px;
  }
  .mt-14 {
    margin-top: 56px;
  }
  .mt-15 {
    margin-top: 60px;
  }
  .mt-16 {
    margin-top: 64px;
  }
  .mt-auto {
    margin-top: auto;
  }
  .mr-0 {
    margin-right: 0px;
  }
  .mr-1 {
    margin-right: 4px;
  }
  .mr-2 {
    margin-right: 8px;
  }
  .mr-3 {
    margin-right: 12px;
  }
  .mr-4 {
    margin-right: 16px;
  }
  .mr-5 {
    margin-right: 20px;
  }
  .mr-6 {
    margin-right: 24px;
  }
  .mr-7 {
    margin-right: 28px;
  }
  .mr-8 {
    margin-right: 32px;
  }
  .mr-9 {
    margin-right: 36px;
  }
  .mr-10 {
    margin-right: 40px;
  }
  .mr-11 {
    margin-right: 44px;
  }
  .mr-12 {
    margin-right: 48px;
  }
  .mr-13 {
    margin-right: 52px;
  }
  .mr-14 {
    margin-right: 56px;
  }
  .mr-15 {
    margin-right: 60px;
  }
  .mr-16 {
    margin-right: 64px;
  }
  .mr-auto {
    margin-right: auto;
  }
  .mb-0 {
    margin-bottom: 0px;
  }
  .mb-1 {
    margin-bottom: 4px;
  }
  .mb-2 {
    margin-bottom: 8px;
  }
  .mb-3 {
    margin-bottom: 12px;
  }
  .mb-4 {
    margin-bottom: 16px;
  }
  .mb-5 {
    margin-bottom: 20px;
  }
  .mb-6 {
    margin-bottom: 24px;
  }
  .mb-7 {
    margin-bottom: 28px;
  }
  .mb-8 {
    margin-bottom: 32px;
  }
  .mb-9 {
    margin-bottom: 36px;
  }
  .mb-10 {
    margin-bottom: 40px;
  }
  .mb-11 {
    margin-bottom: 44px;
  }
  .mb-12 {
    margin-bottom: 48px;
  }
  .mb-13 {
    margin-bottom: 52px;
  }
  .mb-14 {
    margin-bottom: 56px;
  }
  .mb-15 {
    margin-bottom: 60px;
  }
  .mb-16 {
    margin-bottom: 64px;
  }
  .mb-auto {
    margin-bottom: auto;
  }
  .ml-0 {
    margin-left: 0px;
  }
  .ml-1 {
    margin-left: 4px;
  }
  .ml-2 {
    margin-left: 8px;
  }
  .ml-3 {
    margin-left: 12px;
  }
  .ml-4 {
    margin-left: 16px;
  }
  .ml-5 {
    margin-left: 20px;
  }
  .ml-6 {
    margin-left: 24px;
  }
  .ml-7 {
    margin-left: 28px;
  }
  .ml-8 {
    margin-left: 32px;
  }
  .ml-9 {
    margin-left: 36px;
  }
  .ml-10 {
    margin-left: 40px;
  }
  .ml-11 {
    margin-left: 44px;
  }
  .ml-12 {
    margin-left: 48px;
  }
  .ml-13 {
    margin-left: 52px;
  }
  .ml-14 {
    margin-left: 56px;
  }
  .ml-15 {
    margin-left: 60px;
  }
  .ml-16 {
    margin-left: 64px;
  }
  .ml-auto {
    margin-left: auto;
  }
  .ms-0 {
    margin-inline-start: 0px;
  }
  .ms-1 {
    margin-inline-start: 4px;
  }
  .ms-2 {
    margin-inline-start: 8px;
  }
  .ms-3 {
    margin-inline-start: 12px;
  }
  .ms-4 {
    margin-inline-start: 16px;
  }
  .ms-5 {
    margin-inline-start: 20px;
  }
  .ms-6 {
    margin-inline-start: 24px;
  }
  .ms-7 {
    margin-inline-start: 28px;
  }
  .ms-8 {
    margin-inline-start: 32px;
  }
  .ms-9 {
    margin-inline-start: 36px;
  }
  .ms-10 {
    margin-inline-start: 40px;
  }
  .ms-11 {
    margin-inline-start: 44px;
  }
  .ms-12 {
    margin-inline-start: 48px;
  }
  .ms-13 {
    margin-inline-start: 52px;
  }
  .ms-14 {
    margin-inline-start: 56px;
  }
  .ms-15 {
    margin-inline-start: 60px;
  }
  .ms-16 {
    margin-inline-start: 64px;
  }
  .ms-auto {
    margin-inline-start: auto;
  }
  .me-0 {
    margin-inline-end: 0px;
  }
  .me-1 {
    margin-inline-end: 4px;
  }
  .me-2 {
    margin-inline-end: 8px;
  }
  .me-3 {
    margin-inline-end: 12px;
  }
  .me-4 {
    margin-inline-end: 16px;
  }
  .me-5 {
    margin-inline-end: 20px;
  }
  .me-6 {
    margin-inline-end: 24px;
  }
  .me-7 {
    margin-inline-end: 28px;
  }
  .me-8 {
    margin-inline-end: 32px;
  }
  .me-9 {
    margin-inline-end: 36px;
  }
  .me-10 {
    margin-inline-end: 40px;
  }
  .me-11 {
    margin-inline-end: 44px;
  }
  .me-12 {
    margin-inline-end: 48px;
  }
  .me-13 {
    margin-inline-end: 52px;
  }
  .me-14 {
    margin-inline-end: 56px;
  }
  .me-15 {
    margin-inline-end: 60px;
  }
  .me-16 {
    margin-inline-end: 64px;
  }
  .me-auto {
    margin-inline-end: auto;
  }
  .ma-n1 {
    margin: -4px;
  }
  .ma-n2 {
    margin: -8px;
  }
  .ma-n3 {
    margin: -12px;
  }
  .ma-n4 {
    margin: -16px;
  }
  .ma-n5 {
    margin: -20px;
  }
  .ma-n6 {
    margin: -24px;
  }
  .ma-n7 {
    margin: -28px;
  }
  .ma-n8 {
    margin: -32px;
  }
  .ma-n9 {
    margin: -36px;
  }
  .ma-n10 {
    margin: -40px;
  }
  .ma-n11 {
    margin: -44px;
  }
  .ma-n12 {
    margin: -48px;
  }
  .ma-n13 {
    margin: -52px;
  }
  .ma-n14 {
    margin: -56px;
  }
  .ma-n15 {
    margin: -60px;
  }
  .ma-n16 {
    margin: -64px;
  }
  .mx-n1 {
    margin-right: -4px;
    margin-left: -4px;
  }
  .mx-n2 {
    margin-right: -8px;
    margin-left: -8px;
  }
  .mx-n3 {
    margin-right: -12px;
    margin-left: -12px;
  }
  .mx-n4 {
    margin-right: -16px;
    margin-left: -16px;
  }
  .mx-n5 {
    margin-right: -20px;
    margin-left: -20px;
  }
  .mx-n6 {
    margin-right: -24px;
    margin-left: -24px;
  }
  .mx-n7 {
    margin-right: -28px;
    margin-left: -28px;
  }
  .mx-n8 {
    margin-right: -32px;
    margin-left: -32px;
  }
  .mx-n9 {
    margin-right: -36px;
    margin-left: -36px;
  }
  .mx-n10 {
    margin-right: -40px;
    margin-left: -40px;
  }
  .mx-n11 {
    margin-right: -44px;
    margin-left: -44px;
  }
  .mx-n12 {
    margin-right: -48px;
    margin-left: -48px;
  }
  .mx-n13 {
    margin-right: -52px;
    margin-left: -52px;
  }
  .mx-n14 {
    margin-right: -56px;
    margin-left: -56px;
  }
  .mx-n15 {
    margin-right: -60px;
    margin-left: -60px;
  }
  .mx-n16 {
    margin-right: -64px;
    margin-left: -64px;
  }
  .my-n1 {
    margin-top: -4px;
    margin-bottom: -4px;
  }
  .my-n2 {
    margin-top: -8px;
    margin-bottom: -8px;
  }
  .my-n3 {
    margin-top: -12px;
    margin-bottom: -12px;
  }
  .my-n4 {
    margin-top: -16px;
    margin-bottom: -16px;
  }
  .my-n5 {
    margin-top: -20px;
    margin-bottom: -20px;
  }
  .my-n6 {
    margin-top: -24px;
    margin-bottom: -24px;
  }
  .my-n7 {
    margin-top: -28px;
    margin-bottom: -28px;
  }
  .my-n8 {
    margin-top: -32px;
    margin-bottom: -32px;
  }
  .my-n9 {
    margin-top: -36px;
    margin-bottom: -36px;
  }
  .my-n10 {
    margin-top: -40px;
    margin-bottom: -40px;
  }
  .my-n11 {
    margin-top: -44px;
    margin-bottom: -44px;
  }
  .my-n12 {
    margin-top: -48px;
    margin-bottom: -48px;
  }
  .my-n13 {
    margin-top: -52px;
    margin-bottom: -52px;
  }
  .my-n14 {
    margin-top: -56px;
    margin-bottom: -56px;
  }
  .my-n15 {
    margin-top: -60px;
    margin-bottom: -60px;
  }
  .my-n16 {
    margin-top: -64px;
    margin-bottom: -64px;
  }
  .mt-n1 {
    margin-top: -4px;
  }
  .mt-n2 {
    margin-top: -8px;
  }
  .mt-n3 {
    margin-top: -12px;
  }
  .mt-n4 {
    margin-top: -16px;
  }
  .mt-n5 {
    margin-top: -20px;
  }
  .mt-n6 {
    margin-top: -24px;
  }
  .mt-n7 {
    margin-top: -28px;
  }
  .mt-n8 {
    margin-top: -32px;
  }
  .mt-n9 {
    margin-top: -36px;
  }
  .mt-n10 {
    margin-top: -40px;
  }
  .mt-n11 {
    margin-top: -44px;
  }
  .mt-n12 {
    margin-top: -48px;
  }
  .mt-n13 {
    margin-top: -52px;
  }
  .mt-n14 {
    margin-top: -56px;
  }
  .mt-n15 {
    margin-top: -60px;
  }
  .mt-n16 {
    margin-top: -64px;
  }
  .mr-n1 {
    margin-right: -4px;
  }
  .mr-n2 {
    margin-right: -8px;
  }
  .mr-n3 {
    margin-right: -12px;
  }
  .mr-n4 {
    margin-right: -16px;
  }
  .mr-n5 {
    margin-right: -20px;
  }
  .mr-n6 {
    margin-right: -24px;
  }
  .mr-n7 {
    margin-right: -28px;
  }
  .mr-n8 {
    margin-right: -32px;
  }
  .mr-n9 {
    margin-right: -36px;
  }
  .mr-n10 {
    margin-right: -40px;
  }
  .mr-n11 {
    margin-right: -44px;
  }
  .mr-n12 {
    margin-right: -48px;
  }
  .mr-n13 {
    margin-right: -52px;
  }
  .mr-n14 {
    margin-right: -56px;
  }
  .mr-n15 {
    margin-right: -60px;
  }
  .mr-n16 {
    margin-right: -64px;
  }
  .mb-n1 {
    margin-bottom: -4px;
  }
  .mb-n2 {
    margin-bottom: -8px;
  }
  .mb-n3 {
    margin-bottom: -12px;
  }
  .mb-n4 {
    margin-bottom: -16px;
  }
  .mb-n5 {
    margin-bottom: -20px;
  }
  .mb-n6 {
    margin-bottom: -24px;
  }
  .mb-n7 {
    margin-bottom: -28px;
  }
  .mb-n8 {
    margin-bottom: -32px;
  }
  .mb-n9 {
    margin-bottom: -36px;
  }
  .mb-n10 {
    margin-bottom: -40px;
  }
  .mb-n11 {
    margin-bottom: -44px;
  }
  .mb-n12 {
    margin-bottom: -48px;
  }
  .mb-n13 {
    margin-bottom: -52px;
  }
  .mb-n14 {
    margin-bottom: -56px;
  }
  .mb-n15 {
    margin-bottom: -60px;
  }
  .mb-n16 {
    margin-bottom: -64px;
  }
  .ml-n1 {
    margin-left: -4px;
  }
  .ml-n2 {
    margin-left: -8px;
  }
  .ml-n3 {
    margin-left: -12px;
  }
  .ml-n4 {
    margin-left: -16px;
  }
  .ml-n5 {
    margin-left: -20px;
  }
  .ml-n6 {
    margin-left: -24px;
  }
  .ml-n7 {
    margin-left: -28px;
  }
  .ml-n8 {
    margin-left: -32px;
  }
  .ml-n9 {
    margin-left: -36px;
  }
  .ml-n10 {
    margin-left: -40px;
  }
  .ml-n11 {
    margin-left: -44px;
  }
  .ml-n12 {
    margin-left: -48px;
  }
  .ml-n13 {
    margin-left: -52px;
  }
  .ml-n14 {
    margin-left: -56px;
  }
  .ml-n15 {
    margin-left: -60px;
  }
  .ml-n16 {
    margin-left: -64px;
  }
  .ms-n1 {
    margin-inline-start: -4px;
  }
  .ms-n2 {
    margin-inline-start: -8px;
  }
  .ms-n3 {
    margin-inline-start: -12px;
  }
  .ms-n4 {
    margin-inline-start: -16px;
  }
  .ms-n5 {
    margin-inline-start: -20px;
  }
  .ms-n6 {
    margin-inline-start: -24px;
  }
  .ms-n7 {
    margin-inline-start: -28px;
  }
  .ms-n8 {
    margin-inline-start: -32px;
  }
  .ms-n9 {
    margin-inline-start: -36px;
  }
  .ms-n10 {
    margin-inline-start: -40px;
  }
  .ms-n11 {
    margin-inline-start: -44px;
  }
  .ms-n12 {
    margin-inline-start: -48px;
  }
  .ms-n13 {
    margin-inline-start: -52px;
  }
  .ms-n14 {
    margin-inline-start: -56px;
  }
  .ms-n15 {
    margin-inline-start: -60px;
  }
  .ms-n16 {
    margin-inline-start: -64px;
  }
  .me-n1 {
    margin-inline-end: -4px;
  }
  .me-n2 {
    margin-inline-end: -8px;
  }
  .me-n3 {
    margin-inline-end: -12px;
  }
  .me-n4 {
    margin-inline-end: -16px;
  }
  .me-n5 {
    margin-inline-end: -20px;
  }
  .me-n6 {
    margin-inline-end: -24px;
  }
  .me-n7 {
    margin-inline-end: -28px;
  }
  .me-n8 {
    margin-inline-end: -32px;
  }
  .me-n9 {
    margin-inline-end: -36px;
  }
  .me-n10 {
    margin-inline-end: -40px;
  }
  .me-n11 {
    margin-inline-end: -44px;
  }
  .me-n12 {
    margin-inline-end: -48px;
  }
  .me-n13 {
    margin-inline-end: -52px;
  }
  .me-n14 {
    margin-inline-end: -56px;
  }
  .me-n15 {
    margin-inline-end: -60px;
  }
  .me-n16 {
    margin-inline-end: -64px;
  }
  .pa-0 {
    padding: 0px;
  }
  .pa-1 {
    padding: 4px;
  }
  .pa-2 {
    padding: 8px;
  }
  .pa-3 {
    padding: 12px;
  }
  .pa-4 {
    padding: 16px;
  }
  .pa-5 {
    padding: 20px;
  }
  .pa-6 {
    padding: 24px;
  }
  .pa-7 {
    padding: 28px;
  }
  .pa-8 {
    padding: 32px;
  }
  .pa-9 {
    padding: 36px;
  }
  .pa-10 {
    padding: 40px;
  }
  .pa-11 {
    padding: 44px;
  }
  .pa-12 {
    padding: 48px;
  }
  .pa-13 {
    padding: 52px;
  }
  .pa-14 {
    padding: 56px;
  }
  .pa-15 {
    padding: 60px;
  }
  .pa-16 {
    padding: 64px;
  }
  .px-0 {
    padding-right: 0px;
    padding-left: 0px;
  }
  .px-1 {
    padding-right: 4px;
    padding-left: 4px;
  }
  .px-2 {
    padding-right: 8px;
    padding-left: 8px;
  }
  .px-3 {
    padding-right: 12px;
    padding-left: 12px;
  }
  .px-4 {
    padding-right: 16px;
    padding-left: 16px;
  }
  .px-5 {
    padding-right: 20px;
    padding-left: 20px;
  }
  .px-6 {
    padding-right: 24px;
    padding-left: 24px;
  }
  .px-7 {
    padding-right: 28px;
    padding-left: 28px;
  }
  .px-8 {
    padding-right: 32px;
    padding-left: 32px;
  }
  .px-9 {
    padding-right: 36px;
    padding-left: 36px;
  }
  .px-10 {
    padding-right: 40px;
    padding-left: 40px;
  }
  .px-11 {
    padding-right: 44px;
    padding-left: 44px;
  }
  .px-12 {
    padding-right: 48px;
    padding-left: 48px;
  }
  .px-13 {
    padding-right: 52px;
    padding-left: 52px;
  }
  .px-14 {
    padding-right: 56px;
    padding-left: 56px;
  }
  .px-15 {
    padding-right: 60px;
    padding-left: 60px;
  }
  .px-16 {
    padding-right: 64px;
    padding-left: 64px;
  }
  .py-0 {
    padding-top: 0px;
    padding-bottom: 0px;
  }
  .py-1 {
    padding-top: 4px;
    padding-bottom: 4px;
  }
  .py-2 {
    padding-top: 8px;
    padding-bottom: 8px;
  }
  .py-3 {
    padding-top: 12px;
    padding-bottom: 12px;
  }
  .py-4 {
    padding-top: 16px;
    padding-bottom: 16px;
  }
  .py-5 {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .py-6 {
    padding-top: 24px;
    padding-bottom: 24px;
  }
  .py-7 {
    padding-top: 28px;
    padding-bottom: 28px;
  }
  .py-8 {
    padding-top: 32px;
    padding-bottom: 32px;
  }
  .py-9 {
    padding-top: 36px;
    padding-bottom: 36px;
  }
  .py-10 {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .py-11 {
    padding-top: 44px;
    padding-bottom: 44px;
  }
  .py-12 {
    padding-top: 48px;
    padding-bottom: 48px;
  }
  .py-13 {
    padding-top: 52px;
    padding-bottom: 52px;
  }
  .py-14 {
    padding-top: 56px;
    padding-bottom: 56px;
  }
  .py-15 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .py-16 {
    padding-top: 64px;
    padding-bottom: 64px;
  }
  .pt-0 {
    padding-top: 0px;
  }
  .pt-1 {
    padding-top: 4px;
  }
  .pt-2 {
    padding-top: 8px;
  }
  .pt-3 {
    padding-top: 12px;
  }
  .pt-4 {
    padding-top: 16px;
  }
  .pt-5 {
    padding-top: 20px;
  }
  .pt-6 {
    padding-top: 24px;
  }
  .pt-7 {
    padding-top: 28px;
  }
  .pt-8 {
    padding-top: 32px;
  }
  .pt-9 {
    padding-top: 36px;
  }
  .pt-10 {
    padding-top: 40px;
  }
  .pt-11 {
    padding-top: 44px;
  }
  .pt-12 {
    padding-top: 48px;
  }
  .pt-13 {
    padding-top: 52px;
  }
  .pt-14 {
    padding-top: 56px;
  }
  .pt-15 {
    padding-top: 60px;
  }
  .pt-16 {
    padding-top: 64px;
  }
  .pr-0 {
    padding-right: 0px;
  }
  .pr-1 {
    padding-right: 4px;
  }
  .pr-2 {
    padding-right: 8px;
  }
  .pr-3 {
    padding-right: 12px;
  }
  .pr-4 {
    padding-right: 16px;
  }
  .pr-5 {
    padding-right: 20px;
  }
  .pr-6 {
    padding-right: 24px;
  }
  .pr-7 {
    padding-right: 28px;
  }
  .pr-8 {
    padding-right: 32px;
  }
  .pr-9 {
    padding-right: 36px;
  }
  .pr-10 {
    padding-right: 40px;
  }
  .pr-11 {
    padding-right: 44px;
  }
  .pr-12 {
    padding-right: 48px;
  }
  .pr-13 {
    padding-right: 52px;
  }
  .pr-14 {
    padding-right: 56px;
  }
  .pr-15 {
    padding-right: 60px;
  }
  .pr-16 {
    padding-right: 64px;
  }
  .pb-0 {
    padding-bottom: 0px;
  }
  .pb-1 {
    padding-bottom: 4px;
  }
  .pb-2 {
    padding-bottom: 8px;
  }
  .pb-3 {
    padding-bottom: 12px;
  }
  .pb-4 {
    padding-bottom: 16px;
  }
  .pb-5 {
    padding-bottom: 20px;
  }
  .pb-6 {
    padding-bottom: 24px;
  }
  .pb-7 {
    padding-bottom: 28px;
  }
  .pb-8 {
    padding-bottom: 32px;
  }
  .pb-9 {
    padding-bottom: 36px;
  }
  .pb-10 {
    padding-bottom: 40px;
  }
  .pb-11 {
    padding-bottom: 44px;
  }
  .pb-12 {
    padding-bottom: 48px;
  }
  .pb-13 {
    padding-bottom: 52px;
  }
  .pb-14 {
    padding-bottom: 56px;
  }
  .pb-15 {
    padding-bottom: 60px;
  }
  .pb-16 {
    padding-bottom: 64px;
  }
  .pl-0 {
    padding-left: 0px;
  }
  .pl-1 {
    padding-left: 4px;
  }
  .pl-2 {
    padding-left: 8px;
  }
  .pl-3 {
    padding-left: 12px;
  }
  .pl-4 {
    padding-left: 16px;
  }
  .pl-5 {
    padding-left: 20px;
  }
  .pl-6 {
    padding-left: 24px;
  }
  .pl-7 {
    padding-left: 28px;
  }
  .pl-8 {
    padding-left: 32px;
  }
  .pl-9 {
    padding-left: 36px;
  }
  .pl-10 {
    padding-left: 40px;
  }
  .pl-11 {
    padding-left: 44px;
  }
  .pl-12 {
    padding-left: 48px;
  }
  .pl-13 {
    padding-left: 52px;
  }
  .pl-14 {
    padding-left: 56px;
  }
  .pl-15 {
    padding-left: 60px;
  }
  .pl-16 {
    padding-left: 64px;
  }
  .ps-0 {
    padding-inline-start: 0px;
  }
  .ps-1 {
    padding-inline-start: 4px;
  }
  .ps-2 {
    padding-inline-start: 8px;
  }
  .ps-3 {
    padding-inline-start: 12px;
  }
  .ps-4 {
    padding-inline-start: 16px;
  }
  .ps-5 {
    padding-inline-start: 20px;
  }
  .ps-6 {
    padding-inline-start: 24px;
  }
  .ps-7 {
    padding-inline-start: 28px;
  }
  .ps-8 {
    padding-inline-start: 32px;
  }
  .ps-9 {
    padding-inline-start: 36px;
  }
  .ps-10 {
    padding-inline-start: 40px;
  }
  .ps-11 {
    padding-inline-start: 44px;
  }
  .ps-12 {
    padding-inline-start: 48px;
  }
  .ps-13 {
    padding-inline-start: 52px;
  }
  .ps-14 {
    padding-inline-start: 56px;
  }
  .ps-15 {
    padding-inline-start: 60px;
  }
  .ps-16 {
    padding-inline-start: 64px;
  }
  .pe-0 {
    padding-inline-end: 0px;
  }
  .pe-1 {
    padding-inline-end: 4px;
  }
  .pe-2 {
    padding-inline-end: 8px;
  }
  .pe-3 {
    padding-inline-end: 12px;
  }
  .pe-4 {
    padding-inline-end: 16px;
  }
  .pe-5 {
    padding-inline-end: 20px;
  }
  .pe-6 {
    padding-inline-end: 24px;
  }
  .pe-7 {
    padding-inline-end: 28px;
  }
  .pe-8 {
    padding-inline-end: 32px;
  }
  .pe-9 {
    padding-inline-end: 36px;
  }
  .pe-10 {
    padding-inline-end: 40px;
  }
  .pe-11 {
    padding-inline-end: 44px;
  }
  .pe-12 {
    padding-inline-end: 48px;
  }
  .pe-13 {
    padding-inline-end: 52px;
  }
  .pe-14 {
    padding-inline-end: 56px;
  }
  .pe-15 {
    padding-inline-end: 60px;
  }
  .pe-16 {
    padding-inline-end: 64px;
  }
  .rounded-0 {
    border-radius: 0;
  }
  .rounded-sm {
    border-radius: 2px;
  }
  .rounded {
    border-radius: 4px;
  }
  .rounded-md {
    border-radius: 4px;
  }
  .rounded-lg {
    border-radius: 8px;
  }
  .rounded-xl {
    border-radius: 24px;
  }
  .rounded-pill {
    border-radius: 9999px;
  }
  .rounded-circle {
    border-radius: 50%;
  }
  .rounded-shaped {
    border-radius: 24px 0;
  }
  .rounded-t-0 {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }
  .rounded-t-sm {
    border-top-left-radius: 2px;
    border-top-right-radius: 2px;
  }
  .rounded-t {
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
  }
  .rounded-t-md {
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
  }
  .rounded-t-lg {
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
  }
  .rounded-t-xl {
    border-top-left-radius: 24px;
    border-top-right-radius: 24px;
  }
  .rounded-t-pill {
    border-top-left-radius: 9999px;
    border-top-right-radius: 9999px;
  }
  .rounded-t-circle {
    border-top-left-radius: 50%;
    border-top-right-radius: 50%;
  }
  .rounded-t-shaped {
    border-top-left-radius: 24px;
    border-top-right-radius: 0;
  }
  .v-locale--is-ltr .rounded-e-0 {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
  .v-locale--is-rtl .rounded-e-0 {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
  .v-locale--is-ltr .rounded-e-sm {
    border-top-right-radius: 2px;
    border-bottom-right-radius: 2px;
  }
  .v-locale--is-rtl .rounded-e-sm {
    border-top-left-radius: 2px;
    border-bottom-left-radius: 2px;
  }
  .v-locale--is-ltr .rounded-e {
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
  }
  .v-locale--is-rtl .rounded-e {
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
  }
  .v-locale--is-ltr .rounded-e-md {
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
  }
  .v-locale--is-rtl .rounded-e-md {
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
  }
  .v-locale--is-ltr .rounded-e-lg {
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
  }
  .v-locale--is-rtl .rounded-e-lg {
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
  }
  .v-locale--is-ltr .rounded-e-xl {
    border-top-right-radius: 24px;
    border-bottom-right-radius: 24px;
  }
  .v-locale--is-rtl .rounded-e-xl {
    border-top-left-radius: 24px;
    border-bottom-left-radius: 24px;
  }
  .v-locale--is-ltr .rounded-e-pill {
    border-top-right-radius: 9999px;
    border-bottom-right-radius: 9999px;
  }
  .v-locale--is-rtl .rounded-e-pill {
    border-top-left-radius: 9999px;
    border-bottom-left-radius: 9999px;
  }
  .v-locale--is-ltr .rounded-e-circle {
    border-top-right-radius: 50%;
    border-bottom-right-radius: 50%;
  }
  .v-locale--is-rtl .rounded-e-circle {
    border-top-left-radius: 50%;
    border-bottom-left-radius: 50%;
  }
  .v-locale--is-ltr .rounded-e-shaped {
    border-top-right-radius: 24px;
    border-bottom-right-radius: 0;
  }
  .v-locale--is-rtl .rounded-e-shaped {
    border-top-left-radius: 24px;
    border-bottom-left-radius: 0;
  }
  .rounded-b-0 {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
  }
  .rounded-b-sm {
    border-bottom-left-radius: 2px;
    border-bottom-right-radius: 2px;
  }
  .rounded-b {
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
  }
  .rounded-b-md {
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
  }
  .rounded-b-lg {
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
  }
  .rounded-b-xl {
    border-bottom-left-radius: 24px;
    border-bottom-right-radius: 24px;
  }
  .rounded-b-pill {
    border-bottom-left-radius: 9999px;
    border-bottom-right-radius: 9999px;
  }
  .rounded-b-circle {
    border-bottom-left-radius: 50%;
    border-bottom-right-radius: 50%;
  }
  .rounded-b-shaped {
    border-bottom-left-radius: 24px;
    border-bottom-right-radius: 0;
  }
  .v-locale--is-ltr .rounded-s-0 {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
  .v-locale--is-rtl .rounded-s-0 {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
  .v-locale--is-ltr .rounded-s-sm {
    border-top-left-radius: 2px;
    border-bottom-left-radius: 2px;
  }
  .v-locale--is-rtl .rounded-s-sm {
    border-top-right-radius: 2px;
    border-bottom-right-radius: 2px;
  }
  .v-locale--is-ltr .rounded-s {
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
  }
  .v-locale--is-rtl .rounded-s {
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
  }
  .v-locale--is-ltr .rounded-s-md {
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
  }
  .v-locale--is-rtl .rounded-s-md {
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
  }
  .v-locale--is-ltr .rounded-s-lg {
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
  }
  .v-locale--is-rtl .rounded-s-lg {
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
  }
  .v-locale--is-ltr .rounded-s-xl {
    border-top-left-radius: 24px;
    border-bottom-left-radius: 24px;
  }
  .v-locale--is-rtl .rounded-s-xl {
    border-top-right-radius: 24px;
    border-bottom-right-radius: 24px;
  }
  .v-locale--is-ltr .rounded-s-pill {
    border-top-left-radius: 9999px;
    border-bottom-left-radius: 9999px;
  }
  .v-locale--is-rtl .rounded-s-pill {
    border-top-right-radius: 9999px;
    border-bottom-right-radius: 9999px;
  }
  .v-locale--is-ltr .rounded-s-circle {
    border-top-left-radius: 50%;
    border-bottom-left-radius: 50%;
  }
  .v-locale--is-rtl .rounded-s-circle {
    border-top-right-radius: 50%;
    border-bottom-right-radius: 50%;
  }
  .v-locale--is-ltr .rounded-s-shaped {
    border-top-left-radius: 24px;
    border-bottom-left-radius: 0;
  }
  .v-locale--is-rtl .rounded-s-shaped {
    border-top-right-radius: 24px;
    border-bottom-right-radius: 0;
  }
  .v-locale--is-ltr .rounded-ts-0 {
    border-top-left-radius: 0;
  }
  .v-locale--is-rtl .rounded-ts-0 {
    border-top-right-radius: 0;
  }
  .v-locale--is-ltr .rounded-ts-sm {
    border-top-left-radius: 2px;
  }
  .v-locale--is-rtl .rounded-ts-sm {
    border-top-right-radius: 2px;
  }
  .v-locale--is-ltr .rounded-ts {
    border-top-left-radius: 4px;
  }
  .v-locale--is-rtl .rounded-ts {
    border-top-right-radius: 4px;
  }
  .v-locale--is-ltr .rounded-ts-md {
    border-top-left-radius: 4px;
  }
  .v-locale--is-rtl .rounded-ts-md {
    border-top-right-radius: 4px;
  }
  .v-locale--is-ltr .rounded-ts-lg {
    border-top-left-radius: 8px;
  }
  .v-locale--is-rtl .rounded-ts-lg {
    border-top-right-radius: 8px;
  }
  .v-locale--is-ltr .rounded-ts-xl {
    border-top-left-radius: 24px;
  }
  .v-locale--is-rtl .rounded-ts-xl {
    border-top-right-radius: 24px;
  }
  .v-locale--is-ltr .rounded-ts-pill {
    border-top-left-radius: 9999px;
  }
  .v-locale--is-rtl .rounded-ts-pill {
    border-top-right-radius: 9999px;
  }
  .v-locale--is-ltr .rounded-ts-circle {
    border-top-left-radius: 50%;
  }
  .v-locale--is-rtl .rounded-ts-circle {
    border-top-right-radius: 50%;
  }
  .v-locale--is-ltr .rounded-ts-shaped {
    border-top-left-radius: 24px 0;
  }
  .v-locale--is-rtl .rounded-ts-shaped {
    border-top-right-radius: 24px 0;
  }
  .v-locale--is-ltr .rounded-te-0 {
    border-top-right-radius: 0;
  }
  .v-locale--is-rtl .rounded-te-0 {
    border-top-left-radius: 0;
  }
  .v-locale--is-ltr .rounded-te-sm {
    border-top-right-radius: 2px;
  }
  .v-locale--is-rtl .rounded-te-sm {
    border-top-left-radius: 2px;
  }
  .v-locale--is-ltr .rounded-te {
    border-top-right-radius: 4px;
  }
  .v-locale--is-rtl .rounded-te {
    border-top-left-radius: 4px;
  }
  .v-locale--is-ltr .rounded-te-md {
    border-top-right-radius: 4px;
  }
  .v-locale--is-rtl .rounded-te-md {
    border-top-left-radius: 4px;
  }
  .v-locale--is-ltr .rounded-te-lg {
    border-top-right-radius: 8px;
  }
  .v-locale--is-rtl .rounded-te-lg {
    border-top-left-radius: 8px;
  }
  .v-locale--is-ltr .rounded-te-xl {
    border-top-right-radius: 24px;
  }
  .v-locale--is-rtl .rounded-te-xl {
    border-top-left-radius: 24px;
  }
  .v-locale--is-ltr .rounded-te-pill {
    border-top-right-radius: 9999px;
  }
  .v-locale--is-rtl .rounded-te-pill {
    border-top-left-radius: 9999px;
  }
  .v-locale--is-ltr .rounded-te-circle {
    border-top-right-radius: 50%;
  }
  .v-locale--is-rtl .rounded-te-circle {
    border-top-left-radius: 50%;
  }
  .v-locale--is-ltr .rounded-te-shaped {
    border-top-right-radius: 24px 0;
  }
  .v-locale--is-rtl .rounded-te-shaped {
    border-top-left-radius: 24px 0;
  }
  .v-locale--is-ltr .rounded-be-0 {
    border-bottom-right-radius: 0;
  }
  .v-locale--is-rtl .rounded-be-0 {
    border-bottom-left-radius: 0;
  }
  .v-locale--is-ltr .rounded-be-sm {
    border-bottom-right-radius: 2px;
  }
  .v-locale--is-rtl .rounded-be-sm {
    border-bottom-left-radius: 2px;
  }
  .v-locale--is-ltr .rounded-be {
    border-bottom-right-radius: 4px;
  }
  .v-locale--is-rtl .rounded-be {
    border-bottom-left-radius: 4px;
  }
  .v-locale--is-ltr .rounded-be-md {
    border-bottom-right-radius: 4px;
  }
  .v-locale--is-rtl .rounded-be-md {
    border-bottom-left-radius: 4px;
  }
  .v-locale--is-ltr .rounded-be-lg {
    border-bottom-right-radius: 8px;
  }
  .v-locale--is-rtl .rounded-be-lg {
    border-bottom-left-radius: 8px;
  }
  .v-locale--is-ltr .rounded-be-xl {
    border-bottom-right-radius: 24px;
  }
  .v-locale--is-rtl .rounded-be-xl {
    border-bottom-left-radius: 24px;
  }
  .v-locale--is-ltr .rounded-be-pill {
    border-bottom-right-radius: 9999px;
  }
  .v-locale--is-rtl .rounded-be-pill {
    border-bottom-left-radius: 9999px;
  }
  .v-locale--is-ltr .rounded-be-circle {
    border-bottom-right-radius: 50%;
  }
  .v-locale--is-rtl .rounded-be-circle {
    border-bottom-left-radius: 50%;
  }
  .v-locale--is-ltr .rounded-be-shaped {
    border-bottom-right-radius: 24px 0;
  }
  .v-locale--is-rtl .rounded-be-shaped {
    border-bottom-left-radius: 24px 0;
  }
  .v-locale--is-ltr .rounded-bs-0 {
    border-bottom-left-radius: 0;
  }
  .v-locale--is-rtl .rounded-bs-0 {
    border-bottom-right-radius: 0;
  }
  .v-locale--is-ltr .rounded-bs-sm {
    border-bottom-left-radius: 2px;
  }
  .v-locale--is-rtl .rounded-bs-sm {
    border-bottom-right-radius: 2px;
  }
  .v-locale--is-ltr .rounded-bs {
    border-bottom-left-radius: 4px;
  }
  .v-locale--is-rtl .rounded-bs {
    border-bottom-right-radius: 4px;
  }
  .v-locale--is-ltr .rounded-bs-md {
    border-bottom-left-radius: 4px;
  }
  .v-locale--is-rtl .rounded-bs-md {
    border-bottom-right-radius: 4px;
  }
  .v-locale--is-ltr .rounded-bs-lg {
    border-bottom-left-radius: 8px;
  }
  .v-locale--is-rtl .rounded-bs-lg {
    border-bottom-right-radius: 8px;
  }
  .v-locale--is-ltr .rounded-bs-xl {
    border-bottom-left-radius: 24px;
  }
  .v-locale--is-rtl .rounded-bs-xl {
    border-bottom-right-radius: 24px;
  }
  .v-locale--is-ltr .rounded-bs-pill {
    border-bottom-left-radius: 9999px;
  }
  .v-locale--is-rtl .rounded-bs-pill {
    border-bottom-right-radius: 9999px;
  }
  .v-locale--is-ltr .rounded-bs-circle {
    border-bottom-left-radius: 50%;
  }
  .v-locale--is-rtl .rounded-bs-circle {
    border-bottom-right-radius: 50%;
  }
  .v-locale--is-ltr .rounded-bs-shaped {
    border-bottom-left-radius: 24px 0;
  }
  .v-locale--is-rtl .rounded-bs-shaped {
    border-bottom-right-radius: 24px 0;
  }
  .border-0 {
    border-width: 0;
    border-style: solid;
    border-color: rgba(var(--v-border-color), var(--v-border-opacity));
  }
  .border {
    border-width: thin;
    border-style: solid;
    border-color: rgba(var(--v-border-color), var(--v-border-opacity));
  }
  .border-thin {
    border-width: thin;
    border-style: solid;
    border-color: rgba(var(--v-border-color), var(--v-border-opacity));
  }
  .border-sm {
    border-width: 1px;
    border-style: solid;
    border-color: rgba(var(--v-border-color), var(--v-border-opacity));
  }
  .border-md {
    border-width: 2px;
    border-style: solid;
    border-color: rgba(var(--v-border-color), var(--v-border-opacity));
  }
  .border-lg {
    border-width: 4px;
    border-style: solid;
    border-color: rgba(var(--v-border-color), var(--v-border-opacity));
  }
  .border-xl {
    border-width: 8px;
    border-style: solid;
    border-color: rgba(var(--v-border-color), var(--v-border-opacity));
  }
  .border-current {
    border-color: currentColor;
  }
  .border-opacity-0 {
    --v-border-opacity: 0;
  }
  .border-opacity {
    --v-border-opacity: 0.12;
  }
  .border-opacity-25 {
    --v-border-opacity: 0.25;
  }
  .border-opacity-50 {
    --v-border-opacity: 0.5;
  }
  .border-opacity-75 {
    --v-border-opacity: 0.75;
  }
  .border-opacity-100 {
    --v-border-opacity: 1;
  }
  .border-t-0 {
    border-block-start-width: 0;
    border-block-start-style: solid;
    border-block-start-color: rgba(var(--v-border-color), var(--v-border-opacity));
  }
  .border-t {
    border-block-start-width: thin;
    border-block-start-style: solid;
    border-block-start-color: rgba(var(--v-border-color), var(--v-border-opacity));
  }
  .border-t-thin {
    border-block-start-width: thin;
    border-block-start-style: solid;
    border-block-start-color: rgba(var(--v-border-color), var(--v-border-opacity));
  }
  .border-t-sm {
    border-block-start-width: 1px;
    border-block-start-style: solid;
    border-block-start-color: rgba(var(--v-border-color), var(--v-border-opacity));
  }
  .border-t-md {
    border-block-start-width: 2px;
    border-block-start-style: solid;
    border-block-start-color: rgba(var(--v-border-color), var(--v-border-opacity));
  }
  .border-t-lg {
    border-block-start-width: 4px;
    border-block-start-style: solid;
    border-block-start-color: rgba(var(--v-border-color), var(--v-border-opacity));
  }
  .border-t-xl {
    border-block-start-width: 8px;
    border-block-start-style: solid;
    border-block-start-color: rgba(var(--v-border-color), var(--v-border-opacity));
  }
  .border-e-0 {
    border-inline-end-width: 0;
    border-inline-end-style: solid;
    border-inline-end-color: rgba(var(--v-border-color), var(--v-border-opacity));
  }
  .border-e {
    border-inline-end-width: thin;
    border-inline-end-style: solid;
    border-inline-end-color: rgba(var(--v-border-color), var(--v-border-opacity));
  }
  .border-e-thin {
    border-inline-end-width: thin;
    border-inline-end-style: solid;
    border-inline-end-color: rgba(var(--v-border-color), var(--v-border-opacity));
  }
  .border-e-sm {
    border-inline-end-width: 1px;
    border-inline-end-style: solid;
    border-inline-end-color: rgba(var(--v-border-color), var(--v-border-opacity));
  }
  .border-e-md {
    border-inline-end-width: 2px;
    border-inline-end-style: solid;
    border-inline-end-color: rgba(var(--v-border-color), var(--v-border-opacity));
  }
  .border-e-lg {
    border-inline-end-width: 4px;
    border-inline-end-style: solid;
    border-inline-end-color: rgba(var(--v-border-color), var(--v-border-opacity));
  }
  .border-e-xl {
    border-inline-end-width: 8px;
    border-inline-end-style: solid;
    border-inline-end-color: rgba(var(--v-border-color), var(--v-border-opacity));
  }
  .border-b-0 {
    border-block-end-width: 0;
    border-block-end-style: solid;
    border-block-end-color: rgba(var(--v-border-color), var(--v-border-opacity));
  }
  .border-b {
    border-block-end-width: thin;
    border-block-end-style: solid;
    border-block-end-color: rgba(var(--v-border-color), var(--v-border-opacity));
  }
  .border-b-thin {
    border-block-end-width: thin;
    border-block-end-style: solid;
    border-block-end-color: rgba(var(--v-border-color), var(--v-border-opacity));
  }
  .border-b-sm {
    border-block-end-width: 1px;
    border-block-end-style: solid;
    border-block-end-color: rgba(var(--v-border-color), var(--v-border-opacity));
  }
  .border-b-md {
    border-block-end-width: 2px;
    border-block-end-style: solid;
    border-block-end-color: rgba(var(--v-border-color), var(--v-border-opacity));
  }
  .border-b-lg {
    border-block-end-width: 4px;
    border-block-end-style: solid;
    border-block-end-color: rgba(var(--v-border-color), var(--v-border-opacity));
  }
  .border-b-xl {
    border-block-end-width: 8px;
    border-block-end-style: solid;
    border-block-end-color: rgba(var(--v-border-color), var(--v-border-opacity));
  }
  .border-s-0 {
    border-inline-start-width: 0;
    border-inline-start-style: solid;
    border-inline-start-color: rgba(var(--v-border-color), var(--v-border-opacity));
  }
  .border-s {
    border-inline-start-width: thin;
    border-inline-start-style: solid;
    border-inline-start-color: rgba(var(--v-border-color), var(--v-border-opacity));
  }
  .border-s-thin {
    border-inline-start-width: thin;
    border-inline-start-style: solid;
    border-inline-start-color: rgba(var(--v-border-color), var(--v-border-opacity));
  }
  .border-s-sm {
    border-inline-start-width: 1px;
    border-inline-start-style: solid;
    border-inline-start-color: rgba(var(--v-border-color), var(--v-border-opacity));
  }
  .border-s-md {
    border-inline-start-width: 2px;
    border-inline-start-style: solid;
    border-inline-start-color: rgba(var(--v-border-color), var(--v-border-opacity));
  }
  .border-s-lg {
    border-inline-start-width: 4px;
    border-inline-start-style: solid;
    border-inline-start-color: rgba(var(--v-border-color), var(--v-border-opacity));
  }
  .border-s-xl {
    border-inline-start-width: 8px;
    border-inline-start-style: solid;
    border-inline-start-color: rgba(var(--v-border-color), var(--v-border-opacity));
  }
  .border-solid {
    border-style: solid;
  }
  .border-dashed {
    border-style: dashed;
  }
  .border-dotted {
    border-style: dotted;
  }
  .border-double {
    border-style: double;
  }
  .border-none {
    border-style: none;
  }
  .text-left {
    text-align: left;
  }
  .text-right {
    text-align: right;
  }
  .text-center {
    text-align: center;
  }
  .text-justify {
    text-align: justify;
  }
  .text-start {
    text-align: start;
  }
  .text-end {
    text-align: end;
  }
  .text-decoration-line-through {
    text-decoration: line-through;
  }
  .text-decoration-none {
    text-decoration: none;
  }
  .text-decoration-overline {
    text-decoration: overline;
  }
  .text-decoration-underline {
    text-decoration: underline;
  }
  .text-wrap {
    white-space: normal;
  }
  .text-no-wrap {
    white-space: nowrap;
  }
  .text-pre {
    white-space: pre;
  }
  .text-pre-line {
    white-space: pre-line;
  }
  .text-pre-wrap {
    white-space: pre-wrap;
  }
  .text-break {
    overflow-wrap: break-word;
    word-break: break-word;
  }
  .opacity-hover {
    opacity: var(--v-hover-opacity);
  }
  .opacity-focus {
    opacity: var(--v-focus-opacity);
  }
  .opacity-selected {
    opacity: var(--v-selected-opacity);
  }
  .opacity-activated {
    opacity: var(--v-activated-opacity);
  }
  .opacity-pressed {
    opacity: var(--v-pressed-opacity);
  }
  .opacity-dragged {
    opacity: var(--v-dragged-opacity);
  }
  .opacity-0 {
    opacity: 0;
  }
  .opacity-10 {
    opacity: 0.1;
  }
  .opacity-20 {
    opacity: 0.2;
  }
  .opacity-30 {
    opacity: 0.3;
  }
  .opacity-40 {
    opacity: 0.4;
  }
  .opacity-50 {
    opacity: 0.5;
  }
  .opacity-60 {
    opacity: 0.6;
  }
  .opacity-70 {
    opacity: 0.7;
  }
  .opacity-80 {
    opacity: 0.8;
  }
  .opacity-90 {
    opacity: 0.9;
  }
  .opacity-100 {
    opacity: 1;
  }
  .text-high-emphasis {
    color: color-mix(in srgb, rgb(var(--v-theme-on-background)) calc(var(--v-high-emphasis-opacity) * 100%), transparent);
  }
  .text-medium-emphasis {
    color: color-mix(in srgb, rgb(var(--v-theme-on-background)) calc(var(--v-medium-emphasis-opacity) * 100%), transparent);
  }
  .text-disabled {
    color: color-mix(in srgb, rgb(var(--v-theme-on-background)) calc(var(--v-disabled-opacity) * 100%), transparent);
  }
  .text-truncate {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .text-none {
    text-transform: none;
  }
  .text-capitalize {
    text-transform: capitalize;
  }
  .text-lowercase {
    text-transform: lowercase;
  }
  .text-uppercase {
    text-transform: uppercase;
  }
  .font-weight-thin {
    font-weight: 100;
  }
  .font-weight-light {
    font-weight: 300;
  }
  .font-weight-regular {
    font-weight: 400;
  }
  .font-weight-medium {
    font-weight: 500;
  }
  .font-weight-semibold {
    font-weight: 600;
  }
  .font-weight-bold {
    font-weight: 700;
  }
  .font-weight-black {
    font-weight: 900;
  }
  .font-italic {
    font-style: italic;
  }
  .text-mono {
    font-family: monospace;
  }
  .position-static {
    position: static;
  }
  .position-relative {
    position: relative;
  }
  .position-fixed {
    position: fixed;
  }
  .position-absolute {
    position: absolute;
  }
  .position-sticky {
    position: sticky;
  }
  .top-0 {
    top: 0;
  }
  .right-0 {
    right: 0;
  }
  .bottom-0 {
    bottom: 0;
  }
  .left-0 {
    left: 0;
  }
  .cursor-auto {
    cursor: auto;
  }
  .cursor-default {
    cursor: default;
  }
  .cursor-pointer {
    cursor: pointer;
  }
  .cursor-wait {
    cursor: wait;
  }
  .cursor-text {
    cursor: text;
  }
  .cursor-move {
    cursor: move;
  }
  .cursor-help {
    cursor: help;
  }
  .cursor-not-allowed {
    cursor: not-allowed;
  }
  .cursor-progress {
    cursor: progress;
  }
  .cursor-grab {
    cursor: grab;
  }
  .cursor-grabbing {
    cursor: grabbing;
  }
  .cursor-none {
    cursor: none;
  }
  .fill-height {
    height: 100%;
  }
  .h-auto {
    height: auto;
  }
  .h-screen {
    height: 100dvh;
  }
  .h-0 {
    height: 0;
  }
  .h-25 {
    height: 25%;
  }
  .h-50 {
    height: 50%;
  }
  .h-75 {
    height: 75%;
  }
  .h-100 {
    height: 100%;
  }
  .w-auto {
    width: auto;
  }
  .w-0 {
    width: 0;
  }
  .w-25 {
    width: 25%;
  }
  .w-33 {
    width: 33%;
  }
  .w-50 {
    width: 50%;
  }
  .w-66 {
    width: 66%;
  }
  .w-75 {
    width: 75%;
  }
  .w-100 {
    width: 100%;
  }
  @media (min-width: 600px) {
    .d-sm-none {
      display: none;
    }
    .d-sm-inline {
      display: inline;
    }
    .d-sm-inline-block {
      display: inline-block;
    }
    .d-sm-block {
      display: block;
    }
    .d-sm-table {
      display: table;
    }
    .d-sm-table-row {
      display: table-row;
    }
    .d-sm-table-cell {
      display: table-cell;
    }
    .d-sm-flex {
      display: flex;
    }
    .d-sm-inline-flex {
      display: inline-flex;
    }
    .float-sm-none {
      float: none;
    }
    .float-sm-left {
      float: left;
    }
    .float-sm-right {
      float: right;
    }
    .v-locale--is-rtl .float-sm-end {
      float: left;
    }
    .v-locale--is-rtl .float-sm-start {
      float: right;
    }
    .v-locale--is-ltr .float-sm-end {
      float: right;
    }
    .v-locale--is-ltr .float-sm-start {
      float: left;
    }
    .flex-sm-fill {
      flex: 1 1 auto;
    }
    .flex-sm-1-1 {
      flex: 1 1 auto;
    }
    .flex-sm-1-0 {
      flex: 1 0 auto;
    }
    .flex-sm-0-1 {
      flex: 0 1 auto;
    }
    .flex-sm-0-0 {
      flex: 0 0 auto;
    }
    .flex-sm-1-1-100 {
      flex: 1 1 100%;
    }
    .flex-sm-1-0-100 {
      flex: 1 0 100%;
    }
    .flex-sm-0-1-100 {
      flex: 0 1 100%;
    }
    .flex-sm-0-0-100 {
      flex: 0 0 100%;
    }
    .flex-sm-1-1-0 {
      flex: 1 1 0;
    }
    .flex-sm-1-0-0 {
      flex: 1 0 0;
    }
    .flex-sm-0-1-0 {
      flex: 0 1 0;
    }
    .flex-sm-0-0-0 {
      flex: 0 0 0;
    }
    .flex-sm-row {
      flex-direction: row;
    }
    .flex-sm-column {
      flex-direction: column;
    }
    .flex-sm-row-reverse {
      flex-direction: row-reverse;
    }
    .flex-sm-column-reverse {
      flex-direction: column-reverse;
    }
    .flex-sm-grow-0 {
      flex-grow: 0;
    }
    .flex-sm-grow-1 {
      flex-grow: 1;
    }
    .flex-sm-shrink-0 {
      flex-shrink: 0;
    }
    .flex-sm-shrink-1 {
      flex-shrink: 1;
    }
    .flex-sm-wrap {
      flex-wrap: wrap;
    }
    .flex-sm-nowrap {
      flex-wrap: nowrap;
    }
    .flex-sm-wrap-reverse {
      flex-wrap: wrap-reverse;
    }
    .justify-sm-start {
      justify-content: flex-start;
    }
    .justify-sm-end {
      justify-content: flex-end;
    }
    .justify-sm-center {
      justify-content: center;
    }
    .justify-sm-space-between {
      justify-content: space-between;
    }
    .justify-sm-space-around {
      justify-content: space-around;
    }
    .justify-sm-space-evenly {
      justify-content: space-evenly;
    }
    .justify-items-sm-start {
      justify-items: flex-start;
    }
    .justify-items-sm-end {
      justify-items: flex-end;
    }
    .justify-items-sm-center {
      justify-items: center;
    }
    .justify-items-sm-stretch {
      justify-items: stretch;
    }
    .align-sm-start {
      align-items: flex-start;
    }
    .align-sm-end {
      align-items: flex-end;
    }
    .align-sm-center {
      align-items: center;
    }
    .align-sm-baseline {
      align-items: baseline;
    }
    .align-sm-stretch {
      align-items: stretch;
    }
    .align-content-sm-start {
      align-content: flex-start;
    }
    .align-content-sm-end {
      align-content: flex-end;
    }
    .align-content-sm-center {
      align-content: center;
    }
    .align-content-sm-space-between {
      align-content: space-between;
    }
    .align-content-sm-space-around {
      align-content: space-around;
    }
    .align-content-sm-space-evenly {
      align-content: space-evenly;
    }
    .align-content-sm-stretch {
      align-content: stretch;
    }
    .align-self-sm-auto {
      align-self: auto;
    }
    .align-self-sm-start {
      align-self: flex-start;
    }
    .align-self-sm-end {
      align-self: flex-end;
    }
    .align-self-sm-center {
      align-self: center;
    }
    .align-self-sm-baseline {
      align-self: baseline;
    }
    .align-self-sm-stretch {
      align-self: stretch;
    }
    .order-sm-first {
      order: -1;
    }
    .order-sm-0 {
      order: 0;
    }
    .order-sm-1 {
      order: 1;
    }
    .order-sm-2 {
      order: 2;
    }
    .order-sm-3 {
      order: 3;
    }
    .order-sm-4 {
      order: 4;
    }
    .order-sm-5 {
      order: 5;
    }
    .order-sm-6 {
      order: 6;
    }
    .order-sm-7 {
      order: 7;
    }
    .order-sm-8 {
      order: 8;
    }
    .order-sm-9 {
      order: 9;
    }
    .order-sm-10 {
      order: 10;
    }
    .order-sm-11 {
      order: 11;
    }
    .order-sm-12 {
      order: 12;
    }
    .order-sm-last {
      order: 13;
    }
    .ga-sm-0 {
      gap: 0px;
    }
    .ga-sm-1 {
      gap: 4px;
    }
    .ga-sm-2 {
      gap: 8px;
    }
    .ga-sm-3 {
      gap: 12px;
    }
    .ga-sm-4 {
      gap: 16px;
    }
    .ga-sm-5 {
      gap: 20px;
    }
    .ga-sm-6 {
      gap: 24px;
    }
    .ga-sm-7 {
      gap: 28px;
    }
    .ga-sm-8 {
      gap: 32px;
    }
    .ga-sm-9 {
      gap: 36px;
    }
    .ga-sm-10 {
      gap: 40px;
    }
    .ga-sm-11 {
      gap: 44px;
    }
    .ga-sm-12 {
      gap: 48px;
    }
    .ga-sm-13 {
      gap: 52px;
    }
    .ga-sm-14 {
      gap: 56px;
    }
    .ga-sm-15 {
      gap: 60px;
    }
    .ga-sm-16 {
      gap: 64px;
    }
    .ga-sm-auto {
      gap: auto;
    }
    .gr-sm-0 {
      row-gap: 0px;
    }
    .gr-sm-1 {
      row-gap: 4px;
    }
    .gr-sm-2 {
      row-gap: 8px;
    }
    .gr-sm-3 {
      row-gap: 12px;
    }
    .gr-sm-4 {
      row-gap: 16px;
    }
    .gr-sm-5 {
      row-gap: 20px;
    }
    .gr-sm-6 {
      row-gap: 24px;
    }
    .gr-sm-7 {
      row-gap: 28px;
    }
    .gr-sm-8 {
      row-gap: 32px;
    }
    .gr-sm-9 {
      row-gap: 36px;
    }
    .gr-sm-10 {
      row-gap: 40px;
    }
    .gr-sm-11 {
      row-gap: 44px;
    }
    .gr-sm-12 {
      row-gap: 48px;
    }
    .gr-sm-13 {
      row-gap: 52px;
    }
    .gr-sm-14 {
      row-gap: 56px;
    }
    .gr-sm-15 {
      row-gap: 60px;
    }
    .gr-sm-16 {
      row-gap: 64px;
    }
    .gr-sm-auto {
      row-gap: auto;
    }
    .gc-sm-0 {
      column-gap: 0px;
    }
    .gc-sm-1 {
      column-gap: 4px;
    }
    .gc-sm-2 {
      column-gap: 8px;
    }
    .gc-sm-3 {
      column-gap: 12px;
    }
    .gc-sm-4 {
      column-gap: 16px;
    }
    .gc-sm-5 {
      column-gap: 20px;
    }
    .gc-sm-6 {
      column-gap: 24px;
    }
    .gc-sm-7 {
      column-gap: 28px;
    }
    .gc-sm-8 {
      column-gap: 32px;
    }
    .gc-sm-9 {
      column-gap: 36px;
    }
    .gc-sm-10 {
      column-gap: 40px;
    }
    .gc-sm-11 {
      column-gap: 44px;
    }
    .gc-sm-12 {
      column-gap: 48px;
    }
    .gc-sm-13 {
      column-gap: 52px;
    }
    .gc-sm-14 {
      column-gap: 56px;
    }
    .gc-sm-15 {
      column-gap: 60px;
    }
    .gc-sm-16 {
      column-gap: 64px;
    }
    .gc-sm-auto {
      column-gap: auto;
    }
    .ma-sm-0 {
      margin: 0px;
    }
    .ma-sm-1 {
      margin: 4px;
    }
    .ma-sm-2 {
      margin: 8px;
    }
    .ma-sm-3 {
      margin: 12px;
    }
    .ma-sm-4 {
      margin: 16px;
    }
    .ma-sm-5 {
      margin: 20px;
    }
    .ma-sm-6 {
      margin: 24px;
    }
    .ma-sm-7 {
      margin: 28px;
    }
    .ma-sm-8 {
      margin: 32px;
    }
    .ma-sm-9 {
      margin: 36px;
    }
    .ma-sm-10 {
      margin: 40px;
    }
    .ma-sm-11 {
      margin: 44px;
    }
    .ma-sm-12 {
      margin: 48px;
    }
    .ma-sm-13 {
      margin: 52px;
    }
    .ma-sm-14 {
      margin: 56px;
    }
    .ma-sm-15 {
      margin: 60px;
    }
    .ma-sm-16 {
      margin: 64px;
    }
    .ma-sm-auto {
      margin: auto;
    }
    .mx-sm-0 {
      margin-right: 0px;
      margin-left: 0px;
    }
    .mx-sm-1 {
      margin-right: 4px;
      margin-left: 4px;
    }
    .mx-sm-2 {
      margin-right: 8px;
      margin-left: 8px;
    }
    .mx-sm-3 {
      margin-right: 12px;
      margin-left: 12px;
    }
    .mx-sm-4 {
      margin-right: 16px;
      margin-left: 16px;
    }
    .mx-sm-5 {
      margin-right: 20px;
      margin-left: 20px;
    }
    .mx-sm-6 {
      margin-right: 24px;
      margin-left: 24px;
    }
    .mx-sm-7 {
      margin-right: 28px;
      margin-left: 28px;
    }
    .mx-sm-8 {
      margin-right: 32px;
      margin-left: 32px;
    }
    .mx-sm-9 {
      margin-right: 36px;
      margin-left: 36px;
    }
    .mx-sm-10 {
      margin-right: 40px;
      margin-left: 40px;
    }
    .mx-sm-11 {
      margin-right: 44px;
      margin-left: 44px;
    }
    .mx-sm-12 {
      margin-right: 48px;
      margin-left: 48px;
    }
    .mx-sm-13 {
      margin-right: 52px;
      margin-left: 52px;
    }
    .mx-sm-14 {
      margin-right: 56px;
      margin-left: 56px;
    }
    .mx-sm-15 {
      margin-right: 60px;
      margin-left: 60px;
    }
    .mx-sm-16 {
      margin-right: 64px;
      margin-left: 64px;
    }
    .mx-sm-auto {
      margin-right: auto;
      margin-left: auto;
    }
    .my-sm-0 {
      margin-top: 0px;
      margin-bottom: 0px;
    }
    .my-sm-1 {
      margin-top: 4px;
      margin-bottom: 4px;
    }
    .my-sm-2 {
      margin-top: 8px;
      margin-bottom: 8px;
    }
    .my-sm-3 {
      margin-top: 12px;
      margin-bottom: 12px;
    }
    .my-sm-4 {
      margin-top: 16px;
      margin-bottom: 16px;
    }
    .my-sm-5 {
      margin-top: 20px;
      margin-bottom: 20px;
    }
    .my-sm-6 {
      margin-top: 24px;
      margin-bottom: 24px;
    }
    .my-sm-7 {
      margin-top: 28px;
      margin-bottom: 28px;
    }
    .my-sm-8 {
      margin-top: 32px;
      margin-bottom: 32px;
    }
    .my-sm-9 {
      margin-top: 36px;
      margin-bottom: 36px;
    }
    .my-sm-10 {
      margin-top: 40px;
      margin-bottom: 40px;
    }
    .my-sm-11 {
      margin-top: 44px;
      margin-bottom: 44px;
    }
    .my-sm-12 {
      margin-top: 48px;
      margin-bottom: 48px;
    }
    .my-sm-13 {
      margin-top: 52px;
      margin-bottom: 52px;
    }
    .my-sm-14 {
      margin-top: 56px;
      margin-bottom: 56px;
    }
    .my-sm-15 {
      margin-top: 60px;
      margin-bottom: 60px;
    }
    .my-sm-16 {
      margin-top: 64px;
      margin-bottom: 64px;
    }
    .my-sm-auto {
      margin-top: auto;
      margin-bottom: auto;
    }
    .mt-sm-0 {
      margin-top: 0px;
    }
    .mt-sm-1 {
      margin-top: 4px;
    }
    .mt-sm-2 {
      margin-top: 8px;
    }
    .mt-sm-3 {
      margin-top: 12px;
    }
    .mt-sm-4 {
      margin-top: 16px;
    }
    .mt-sm-5 {
      margin-top: 20px;
    }
    .mt-sm-6 {
      margin-top: 24px;
    }
    .mt-sm-7 {
      margin-top: 28px;
    }
    .mt-sm-8 {
      margin-top: 32px;
    }
    .mt-sm-9 {
      margin-top: 36px;
    }
    .mt-sm-10 {
      margin-top: 40px;
    }
    .mt-sm-11 {
      margin-top: 44px;
    }
    .mt-sm-12 {
      margin-top: 48px;
    }
    .mt-sm-13 {
      margin-top: 52px;
    }
    .mt-sm-14 {
      margin-top: 56px;
    }
    .mt-sm-15 {
      margin-top: 60px;
    }
    .mt-sm-16 {
      margin-top: 64px;
    }
    .mt-sm-auto {
      margin-top: auto;
    }
    .mr-sm-0 {
      margin-right: 0px;
    }
    .mr-sm-1 {
      margin-right: 4px;
    }
    .mr-sm-2 {
      margin-right: 8px;
    }
    .mr-sm-3 {
      margin-right: 12px;
    }
    .mr-sm-4 {
      margin-right: 16px;
    }
    .mr-sm-5 {
      margin-right: 20px;
    }
    .mr-sm-6 {
      margin-right: 24px;
    }
    .mr-sm-7 {
      margin-right: 28px;
    }
    .mr-sm-8 {
      margin-right: 32px;
    }
    .mr-sm-9 {
      margin-right: 36px;
    }
    .mr-sm-10 {
      margin-right: 40px;
    }
    .mr-sm-11 {
      margin-right: 44px;
    }
    .mr-sm-12 {
      margin-right: 48px;
    }
    .mr-sm-13 {
      margin-right: 52px;
    }
    .mr-sm-14 {
      margin-right: 56px;
    }
    .mr-sm-15 {
      margin-right: 60px;
    }
    .mr-sm-16 {
      margin-right: 64px;
    }
    .mr-sm-auto {
      margin-right: auto;
    }
    .mb-sm-0 {
      margin-bottom: 0px;
    }
    .mb-sm-1 {
      margin-bottom: 4px;
    }
    .mb-sm-2 {
      margin-bottom: 8px;
    }
    .mb-sm-3 {
      margin-bottom: 12px;
    }
    .mb-sm-4 {
      margin-bottom: 16px;
    }
    .mb-sm-5 {
      margin-bottom: 20px;
    }
    .mb-sm-6 {
      margin-bottom: 24px;
    }
    .mb-sm-7 {
      margin-bottom: 28px;
    }
    .mb-sm-8 {
      margin-bottom: 32px;
    }
    .mb-sm-9 {
      margin-bottom: 36px;
    }
    .mb-sm-10 {
      margin-bottom: 40px;
    }
    .mb-sm-11 {
      margin-bottom: 44px;
    }
    .mb-sm-12 {
      margin-bottom: 48px;
    }
    .mb-sm-13 {
      margin-bottom: 52px;
    }
    .mb-sm-14 {
      margin-bottom: 56px;
    }
    .mb-sm-15 {
      margin-bottom: 60px;
    }
    .mb-sm-16 {
      margin-bottom: 64px;
    }
    .mb-sm-auto {
      margin-bottom: auto;
    }
    .ml-sm-0 {
      margin-left: 0px;
    }
    .ml-sm-1 {
      margin-left: 4px;
    }
    .ml-sm-2 {
      margin-left: 8px;
    }
    .ml-sm-3 {
      margin-left: 12px;
    }
    .ml-sm-4 {
      margin-left: 16px;
    }
    .ml-sm-5 {
      margin-left: 20px;
    }
    .ml-sm-6 {
      margin-left: 24px;
    }
    .ml-sm-7 {
      margin-left: 28px;
    }
    .ml-sm-8 {
      margin-left: 32px;
    }
    .ml-sm-9 {
      margin-left: 36px;
    }
    .ml-sm-10 {
      margin-left: 40px;
    }
    .ml-sm-11 {
      margin-left: 44px;
    }
    .ml-sm-12 {
      margin-left: 48px;
    }
    .ml-sm-13 {
      margin-left: 52px;
    }
    .ml-sm-14 {
      margin-left: 56px;
    }
    .ml-sm-15 {
      margin-left: 60px;
    }
    .ml-sm-16 {
      margin-left: 64px;
    }
    .ml-sm-auto {
      margin-left: auto;
    }
    .ms-sm-0 {
      margin-inline-start: 0px;
    }
    .ms-sm-1 {
      margin-inline-start: 4px;
    }
    .ms-sm-2 {
      margin-inline-start: 8px;
    }
    .ms-sm-3 {
      margin-inline-start: 12px;
    }
    .ms-sm-4 {
      margin-inline-start: 16px;
    }
    .ms-sm-5 {
      margin-inline-start: 20px;
    }
    .ms-sm-6 {
      margin-inline-start: 24px;
    }
    .ms-sm-7 {
      margin-inline-start: 28px;
    }
    .ms-sm-8 {
      margin-inline-start: 32px;
    }
    .ms-sm-9 {
      margin-inline-start: 36px;
    }
    .ms-sm-10 {
      margin-inline-start: 40px;
    }
    .ms-sm-11 {
      margin-inline-start: 44px;
    }
    .ms-sm-12 {
      margin-inline-start: 48px;
    }
    .ms-sm-13 {
      margin-inline-start: 52px;
    }
    .ms-sm-14 {
      margin-inline-start: 56px;
    }
    .ms-sm-15 {
      margin-inline-start: 60px;
    }
    .ms-sm-16 {
      margin-inline-start: 64px;
    }
    .ms-sm-auto {
      margin-inline-start: auto;
    }
    .me-sm-0 {
      margin-inline-end: 0px;
    }
    .me-sm-1 {
      margin-inline-end: 4px;
    }
    .me-sm-2 {
      margin-inline-end: 8px;
    }
    .me-sm-3 {
      margin-inline-end: 12px;
    }
    .me-sm-4 {
      margin-inline-end: 16px;
    }
    .me-sm-5 {
      margin-inline-end: 20px;
    }
    .me-sm-6 {
      margin-inline-end: 24px;
    }
    .me-sm-7 {
      margin-inline-end: 28px;
    }
    .me-sm-8 {
      margin-inline-end: 32px;
    }
    .me-sm-9 {
      margin-inline-end: 36px;
    }
    .me-sm-10 {
      margin-inline-end: 40px;
    }
    .me-sm-11 {
      margin-inline-end: 44px;
    }
    .me-sm-12 {
      margin-inline-end: 48px;
    }
    .me-sm-13 {
      margin-inline-end: 52px;
    }
    .me-sm-14 {
      margin-inline-end: 56px;
    }
    .me-sm-15 {
      margin-inline-end: 60px;
    }
    .me-sm-16 {
      margin-inline-end: 64px;
    }
    .me-sm-auto {
      margin-inline-end: auto;
    }
    .ma-sm-n1 {
      margin: -4px;
    }
    .ma-sm-n2 {
      margin: -8px;
    }
    .ma-sm-n3 {
      margin: -12px;
    }
    .ma-sm-n4 {
      margin: -16px;
    }
    .ma-sm-n5 {
      margin: -20px;
    }
    .ma-sm-n6 {
      margin: -24px;
    }
    .ma-sm-n7 {
      margin: -28px;
    }
    .ma-sm-n8 {
      margin: -32px;
    }
    .ma-sm-n9 {
      margin: -36px;
    }
    .ma-sm-n10 {
      margin: -40px;
    }
    .ma-sm-n11 {
      margin: -44px;
    }
    .ma-sm-n12 {
      margin: -48px;
    }
    .ma-sm-n13 {
      margin: -52px;
    }
    .ma-sm-n14 {
      margin: -56px;
    }
    .ma-sm-n15 {
      margin: -60px;
    }
    .ma-sm-n16 {
      margin: -64px;
    }
    .mx-sm-n1 {
      margin-right: -4px;
      margin-left: -4px;
    }
    .mx-sm-n2 {
      margin-right: -8px;
      margin-left: -8px;
    }
    .mx-sm-n3 {
      margin-right: -12px;
      margin-left: -12px;
    }
    .mx-sm-n4 {
      margin-right: -16px;
      margin-left: -16px;
    }
    .mx-sm-n5 {
      margin-right: -20px;
      margin-left: -20px;
    }
    .mx-sm-n6 {
      margin-right: -24px;
      margin-left: -24px;
    }
    .mx-sm-n7 {
      margin-right: -28px;
      margin-left: -28px;
    }
    .mx-sm-n8 {
      margin-right: -32px;
      margin-left: -32px;
    }
    .mx-sm-n9 {
      margin-right: -36px;
      margin-left: -36px;
    }
    .mx-sm-n10 {
      margin-right: -40px;
      margin-left: -40px;
    }
    .mx-sm-n11 {
      margin-right: -44px;
      margin-left: -44px;
    }
    .mx-sm-n12 {
      margin-right: -48px;
      margin-left: -48px;
    }
    .mx-sm-n13 {
      margin-right: -52px;
      margin-left: -52px;
    }
    .mx-sm-n14 {
      margin-right: -56px;
      margin-left: -56px;
    }
    .mx-sm-n15 {
      margin-right: -60px;
      margin-left: -60px;
    }
    .mx-sm-n16 {
      margin-right: -64px;
      margin-left: -64px;
    }
    .my-sm-n1 {
      margin-top: -4px;
      margin-bottom: -4px;
    }
    .my-sm-n2 {
      margin-top: -8px;
      margin-bottom: -8px;
    }
    .my-sm-n3 {
      margin-top: -12px;
      margin-bottom: -12px;
    }
    .my-sm-n4 {
      margin-top: -16px;
      margin-bottom: -16px;
    }
    .my-sm-n5 {
      margin-top: -20px;
      margin-bottom: -20px;
    }
    .my-sm-n6 {
      margin-top: -24px;
      margin-bottom: -24px;
    }
    .my-sm-n7 {
      margin-top: -28px;
      margin-bottom: -28px;
    }
    .my-sm-n8 {
      margin-top: -32px;
      margin-bottom: -32px;
    }
    .my-sm-n9 {
      margin-top: -36px;
      margin-bottom: -36px;
    }
    .my-sm-n10 {
      margin-top: -40px;
      margin-bottom: -40px;
    }
    .my-sm-n11 {
      margin-top: -44px;
      margin-bottom: -44px;
    }
    .my-sm-n12 {
      margin-top: -48px;
      margin-bottom: -48px;
    }
    .my-sm-n13 {
      margin-top: -52px;
      margin-bottom: -52px;
    }
    .my-sm-n14 {
      margin-top: -56px;
      margin-bottom: -56px;
    }
    .my-sm-n15 {
      margin-top: -60px;
      margin-bottom: -60px;
    }
    .my-sm-n16 {
      margin-top: -64px;
      margin-bottom: -64px;
    }
    .mt-sm-n1 {
      margin-top: -4px;
    }
    .mt-sm-n2 {
      margin-top: -8px;
    }
    .mt-sm-n3 {
      margin-top: -12px;
    }
    .mt-sm-n4 {
      margin-top: -16px;
    }
    .mt-sm-n5 {
      margin-top: -20px;
    }
    .mt-sm-n6 {
      margin-top: -24px;
    }
    .mt-sm-n7 {
      margin-top: -28px;
    }
    .mt-sm-n8 {
      margin-top: -32px;
    }
    .mt-sm-n9 {
      margin-top: -36px;
    }
    .mt-sm-n10 {
      margin-top: -40px;
    }
    .mt-sm-n11 {
      margin-top: -44px;
    }
    .mt-sm-n12 {
      margin-top: -48px;
    }
    .mt-sm-n13 {
      margin-top: -52px;
    }
    .mt-sm-n14 {
      margin-top: -56px;
    }
    .mt-sm-n15 {
      margin-top: -60px;
    }
    .mt-sm-n16 {
      margin-top: -64px;
    }
    .mr-sm-n1 {
      margin-right: -4px;
    }
    .mr-sm-n2 {
      margin-right: -8px;
    }
    .mr-sm-n3 {
      margin-right: -12px;
    }
    .mr-sm-n4 {
      margin-right: -16px;
    }
    .mr-sm-n5 {
      margin-right: -20px;
    }
    .mr-sm-n6 {
      margin-right: -24px;
    }
    .mr-sm-n7 {
      margin-right: -28px;
    }
    .mr-sm-n8 {
      margin-right: -32px;
    }
    .mr-sm-n9 {
      margin-right: -36px;
    }
    .mr-sm-n10 {
      margin-right: -40px;
    }
    .mr-sm-n11 {
      margin-right: -44px;
    }
    .mr-sm-n12 {
      margin-right: -48px;
    }
    .mr-sm-n13 {
      margin-right: -52px;
    }
    .mr-sm-n14 {
      margin-right: -56px;
    }
    .mr-sm-n15 {
      margin-right: -60px;
    }
    .mr-sm-n16 {
      margin-right: -64px;
    }
    .mb-sm-n1 {
      margin-bottom: -4px;
    }
    .mb-sm-n2 {
      margin-bottom: -8px;
    }
    .mb-sm-n3 {
      margin-bottom: -12px;
    }
    .mb-sm-n4 {
      margin-bottom: -16px;
    }
    .mb-sm-n5 {
      margin-bottom: -20px;
    }
    .mb-sm-n6 {
      margin-bottom: -24px;
    }
    .mb-sm-n7 {
      margin-bottom: -28px;
    }
    .mb-sm-n8 {
      margin-bottom: -32px;
    }
    .mb-sm-n9 {
      margin-bottom: -36px;
    }
    .mb-sm-n10 {
      margin-bottom: -40px;
    }
    .mb-sm-n11 {
      margin-bottom: -44px;
    }
    .mb-sm-n12 {
      margin-bottom: -48px;
    }
    .mb-sm-n13 {
      margin-bottom: -52px;
    }
    .mb-sm-n14 {
      margin-bottom: -56px;
    }
    .mb-sm-n15 {
      margin-bottom: -60px;
    }
    .mb-sm-n16 {
      margin-bottom: -64px;
    }
    .ml-sm-n1 {
      margin-left: -4px;
    }
    .ml-sm-n2 {
      margin-left: -8px;
    }
    .ml-sm-n3 {
      margin-left: -12px;
    }
    .ml-sm-n4 {
      margin-left: -16px;
    }
    .ml-sm-n5 {
      margin-left: -20px;
    }
    .ml-sm-n6 {
      margin-left: -24px;
    }
    .ml-sm-n7 {
      margin-left: -28px;
    }
    .ml-sm-n8 {
      margin-left: -32px;
    }
    .ml-sm-n9 {
      margin-left: -36px;
    }
    .ml-sm-n10 {
      margin-left: -40px;
    }
    .ml-sm-n11 {
      margin-left: -44px;
    }
    .ml-sm-n12 {
      margin-left: -48px;
    }
    .ml-sm-n13 {
      margin-left: -52px;
    }
    .ml-sm-n14 {
      margin-left: -56px;
    }
    .ml-sm-n15 {
      margin-left: -60px;
    }
    .ml-sm-n16 {
      margin-left: -64px;
    }
    .ms-sm-n1 {
      margin-inline-start: -4px;
    }
    .ms-sm-n2 {
      margin-inline-start: -8px;
    }
    .ms-sm-n3 {
      margin-inline-start: -12px;
    }
    .ms-sm-n4 {
      margin-inline-start: -16px;
    }
    .ms-sm-n5 {
      margin-inline-start: -20px;
    }
    .ms-sm-n6 {
      margin-inline-start: -24px;
    }
    .ms-sm-n7 {
      margin-inline-start: -28px;
    }
    .ms-sm-n8 {
      margin-inline-start: -32px;
    }
    .ms-sm-n9 {
      margin-inline-start: -36px;
    }
    .ms-sm-n10 {
      margin-inline-start: -40px;
    }
    .ms-sm-n11 {
      margin-inline-start: -44px;
    }
    .ms-sm-n12 {
      margin-inline-start: -48px;
    }
    .ms-sm-n13 {
      margin-inline-start: -52px;
    }
    .ms-sm-n14 {
      margin-inline-start: -56px;
    }
    .ms-sm-n15 {
      margin-inline-start: -60px;
    }
    .ms-sm-n16 {
      margin-inline-start: -64px;
    }
    .me-sm-n1 {
      margin-inline-end: -4px;
    }
    .me-sm-n2 {
      margin-inline-end: -8px;
    }
    .me-sm-n3 {
      margin-inline-end: -12px;
    }
    .me-sm-n4 {
      margin-inline-end: -16px;
    }
    .me-sm-n5 {
      margin-inline-end: -20px;
    }
    .me-sm-n6 {
      margin-inline-end: -24px;
    }
    .me-sm-n7 {
      margin-inline-end: -28px;
    }
    .me-sm-n8 {
      margin-inline-end: -32px;
    }
    .me-sm-n9 {
      margin-inline-end: -36px;
    }
    .me-sm-n10 {
      margin-inline-end: -40px;
    }
    .me-sm-n11 {
      margin-inline-end: -44px;
    }
    .me-sm-n12 {
      margin-inline-end: -48px;
    }
    .me-sm-n13 {
      margin-inline-end: -52px;
    }
    .me-sm-n14 {
      margin-inline-end: -56px;
    }
    .me-sm-n15 {
      margin-inline-end: -60px;
    }
    .me-sm-n16 {
      margin-inline-end: -64px;
    }
    .pa-sm-0 {
      padding: 0px;
    }
    .pa-sm-1 {
      padding: 4px;
    }
    .pa-sm-2 {
      padding: 8px;
    }
    .pa-sm-3 {
      padding: 12px;
    }
    .pa-sm-4 {
      padding: 16px;
    }
    .pa-sm-5 {
      padding: 20px;
    }
    .pa-sm-6 {
      padding: 24px;
    }
    .pa-sm-7 {
      padding: 28px;
    }
    .pa-sm-8 {
      padding: 32px;
    }
    .pa-sm-9 {
      padding: 36px;
    }
    .pa-sm-10 {
      padding: 40px;
    }
    .pa-sm-11 {
      padding: 44px;
    }
    .pa-sm-12 {
      padding: 48px;
    }
    .pa-sm-13 {
      padding: 52px;
    }
    .pa-sm-14 {
      padding: 56px;
    }
    .pa-sm-15 {
      padding: 60px;
    }
    .pa-sm-16 {
      padding: 64px;
    }
    .px-sm-0 {
      padding-right: 0px;
      padding-left: 0px;
    }
    .px-sm-1 {
      padding-right: 4px;
      padding-left: 4px;
    }
    .px-sm-2 {
      padding-right: 8px;
      padding-left: 8px;
    }
    .px-sm-3 {
      padding-right: 12px;
      padding-left: 12px;
    }
    .px-sm-4 {
      padding-right: 16px;
      padding-left: 16px;
    }
    .px-sm-5 {
      padding-right: 20px;
      padding-left: 20px;
    }
    .px-sm-6 {
      padding-right: 24px;
      padding-left: 24px;
    }
    .px-sm-7 {
      padding-right: 28px;
      padding-left: 28px;
    }
    .px-sm-8 {
      padding-right: 32px;
      padding-left: 32px;
    }
    .px-sm-9 {
      padding-right: 36px;
      padding-left: 36px;
    }
    .px-sm-10 {
      padding-right: 40px;
      padding-left: 40px;
    }
    .px-sm-11 {
      padding-right: 44px;
      padding-left: 44px;
    }
    .px-sm-12 {
      padding-right: 48px;
      padding-left: 48px;
    }
    .px-sm-13 {
      padding-right: 52px;
      padding-left: 52px;
    }
    .px-sm-14 {
      padding-right: 56px;
      padding-left: 56px;
    }
    .px-sm-15 {
      padding-right: 60px;
      padding-left: 60px;
    }
    .px-sm-16 {
      padding-right: 64px;
      padding-left: 64px;
    }
    .py-sm-0 {
      padding-top: 0px;
      padding-bottom: 0px;
    }
    .py-sm-1 {
      padding-top: 4px;
      padding-bottom: 4px;
    }
    .py-sm-2 {
      padding-top: 8px;
      padding-bottom: 8px;
    }
    .py-sm-3 {
      padding-top: 12px;
      padding-bottom: 12px;
    }
    .py-sm-4 {
      padding-top: 16px;
      padding-bottom: 16px;
    }
    .py-sm-5 {
      padding-top: 20px;
      padding-bottom: 20px;
    }
    .py-sm-6 {
      padding-top: 24px;
      padding-bottom: 24px;
    }
    .py-sm-7 {
      padding-top: 28px;
      padding-bottom: 28px;
    }
    .py-sm-8 {
      padding-top: 32px;
      padding-bottom: 32px;
    }
    .py-sm-9 {
      padding-top: 36px;
      padding-bottom: 36px;
    }
    .py-sm-10 {
      padding-top: 40px;
      padding-bottom: 40px;
    }
    .py-sm-11 {
      padding-top: 44px;
      padding-bottom: 44px;
    }
    .py-sm-12 {
      padding-top: 48px;
      padding-bottom: 48px;
    }
    .py-sm-13 {
      padding-top: 52px;
      padding-bottom: 52px;
    }
    .py-sm-14 {
      padding-top: 56px;
      padding-bottom: 56px;
    }
    .py-sm-15 {
      padding-top: 60px;
      padding-bottom: 60px;
    }
    .py-sm-16 {
      padding-top: 64px;
      padding-bottom: 64px;
    }
    .pt-sm-0 {
      padding-top: 0px;
    }
    .pt-sm-1 {
      padding-top: 4px;
    }
    .pt-sm-2 {
      padding-top: 8px;
    }
    .pt-sm-3 {
      padding-top: 12px;
    }
    .pt-sm-4 {
      padding-top: 16px;
    }
    .pt-sm-5 {
      padding-top: 20px;
    }
    .pt-sm-6 {
      padding-top: 24px;
    }
    .pt-sm-7 {
      padding-top: 28px;
    }
    .pt-sm-8 {
      padding-top: 32px;
    }
    .pt-sm-9 {
      padding-top: 36px;
    }
    .pt-sm-10 {
      padding-top: 40px;
    }
    .pt-sm-11 {
      padding-top: 44px;
    }
    .pt-sm-12 {
      padding-top: 48px;
    }
    .pt-sm-13 {
      padding-top: 52px;
    }
    .pt-sm-14 {
      padding-top: 56px;
    }
    .pt-sm-15 {
      padding-top: 60px;
    }
    .pt-sm-16 {
      padding-top: 64px;
    }
    .pr-sm-0 {
      padding-right: 0px;
    }
    .pr-sm-1 {
      padding-right: 4px;
    }
    .pr-sm-2 {
      padding-right: 8px;
    }
    .pr-sm-3 {
      padding-right: 12px;
    }
    .pr-sm-4 {
      padding-right: 16px;
    }
    .pr-sm-5 {
      padding-right: 20px;
    }
    .pr-sm-6 {
      padding-right: 24px;
    }
    .pr-sm-7 {
      padding-right: 28px;
    }
    .pr-sm-8 {
      padding-right: 32px;
    }
    .pr-sm-9 {
      padding-right: 36px;
    }
    .pr-sm-10 {
      padding-right: 40px;
    }
    .pr-sm-11 {
      padding-right: 44px;
    }
    .pr-sm-12 {
      padding-right: 48px;
    }
    .pr-sm-13 {
      padding-right: 52px;
    }
    .pr-sm-14 {
      padding-right: 56px;
    }
    .pr-sm-15 {
      padding-right: 60px;
    }
    .pr-sm-16 {
      padding-right: 64px;
    }
    .pb-sm-0 {
      padding-bottom: 0px;
    }
    .pb-sm-1 {
      padding-bottom: 4px;
    }
    .pb-sm-2 {
      padding-bottom: 8px;
    }
    .pb-sm-3 {
      padding-bottom: 12px;
    }
    .pb-sm-4 {
      padding-bottom: 16px;
    }
    .pb-sm-5 {
      padding-bottom: 20px;
    }
    .pb-sm-6 {
      padding-bottom: 24px;
    }
    .pb-sm-7 {
      padding-bottom: 28px;
    }
    .pb-sm-8 {
      padding-bottom: 32px;
    }
    .pb-sm-9 {
      padding-bottom: 36px;
    }
    .pb-sm-10 {
      padding-bottom: 40px;
    }
    .pb-sm-11 {
      padding-bottom: 44px;
    }
    .pb-sm-12 {
      padding-bottom: 48px;
    }
    .pb-sm-13 {
      padding-bottom: 52px;
    }
    .pb-sm-14 {
      padding-bottom: 56px;
    }
    .pb-sm-15 {
      padding-bottom: 60px;
    }
    .pb-sm-16 {
      padding-bottom: 64px;
    }
    .pl-sm-0 {
      padding-left: 0px;
    }
    .pl-sm-1 {
      padding-left: 4px;
    }
    .pl-sm-2 {
      padding-left: 8px;
    }
    .pl-sm-3 {
      padding-left: 12px;
    }
    .pl-sm-4 {
      padding-left: 16px;
    }
    .pl-sm-5 {
      padding-left: 20px;
    }
    .pl-sm-6 {
      padding-left: 24px;
    }
    .pl-sm-7 {
      padding-left: 28px;
    }
    .pl-sm-8 {
      padding-left: 32px;
    }
    .pl-sm-9 {
      padding-left: 36px;
    }
    .pl-sm-10 {
      padding-left: 40px;
    }
    .pl-sm-11 {
      padding-left: 44px;
    }
    .pl-sm-12 {
      padding-left: 48px;
    }
    .pl-sm-13 {
      padding-left: 52px;
    }
    .pl-sm-14 {
      padding-left: 56px;
    }
    .pl-sm-15 {
      padding-left: 60px;
    }
    .pl-sm-16 {
      padding-left: 64px;
    }
    .ps-sm-0 {
      padding-inline-start: 0px;
    }
    .ps-sm-1 {
      padding-inline-start: 4px;
    }
    .ps-sm-2 {
      padding-inline-start: 8px;
    }
    .ps-sm-3 {
      padding-inline-start: 12px;
    }
    .ps-sm-4 {
      padding-inline-start: 16px;
    }
    .ps-sm-5 {
      padding-inline-start: 20px;
    }
    .ps-sm-6 {
      padding-inline-start: 24px;
    }
    .ps-sm-7 {
      padding-inline-start: 28px;
    }
    .ps-sm-8 {
      padding-inline-start: 32px;
    }
    .ps-sm-9 {
      padding-inline-start: 36px;
    }
    .ps-sm-10 {
      padding-inline-start: 40px;
    }
    .ps-sm-11 {
      padding-inline-start: 44px;
    }
    .ps-sm-12 {
      padding-inline-start: 48px;
    }
    .ps-sm-13 {
      padding-inline-start: 52px;
    }
    .ps-sm-14 {
      padding-inline-start: 56px;
    }
    .ps-sm-15 {
      padding-inline-start: 60px;
    }
    .ps-sm-16 {
      padding-inline-start: 64px;
    }
    .pe-sm-0 {
      padding-inline-end: 0px;
    }
    .pe-sm-1 {
      padding-inline-end: 4px;
    }
    .pe-sm-2 {
      padding-inline-end: 8px;
    }
    .pe-sm-3 {
      padding-inline-end: 12px;
    }
    .pe-sm-4 {
      padding-inline-end: 16px;
    }
    .pe-sm-5 {
      padding-inline-end: 20px;
    }
    .pe-sm-6 {
      padding-inline-end: 24px;
    }
    .pe-sm-7 {
      padding-inline-end: 28px;
    }
    .pe-sm-8 {
      padding-inline-end: 32px;
    }
    .pe-sm-9 {
      padding-inline-end: 36px;
    }
    .pe-sm-10 {
      padding-inline-end: 40px;
    }
    .pe-sm-11 {
      padding-inline-end: 44px;
    }
    .pe-sm-12 {
      padding-inline-end: 48px;
    }
    .pe-sm-13 {
      padding-inline-end: 52px;
    }
    .pe-sm-14 {
      padding-inline-end: 56px;
    }
    .pe-sm-15 {
      padding-inline-end: 60px;
    }
    .pe-sm-16 {
      padding-inline-end: 64px;
    }
    .text-sm-left {
      text-align: left;
    }
    .text-sm-right {
      text-align: right;
    }
    .text-sm-center {
      text-align: center;
    }
    .text-sm-justify {
      text-align: justify;
    }
    .text-sm-start {
      text-align: start;
    }
    .text-sm-end {
      text-align: end;
    }
    .h-sm-auto {
      height: auto;
    }
    .h-sm-screen {
      height: 100dvh;
    }
    .h-sm-0 {
      height: 0;
    }
    .h-sm-25 {
      height: 25%;
    }
    .h-sm-50 {
      height: 50%;
    }
    .h-sm-75 {
      height: 75%;
    }
    .h-sm-100 {
      height: 100%;
    }
    .w-sm-auto {
      width: auto;
    }
    .w-sm-0 {
      width: 0;
    }
    .w-sm-25 {
      width: 25%;
    }
    .w-sm-33 {
      width: 33%;
    }
    .w-sm-50 {
      width: 50%;
    }
    .w-sm-66 {
      width: 66%;
    }
    .w-sm-75 {
      width: 75%;
    }
    .w-sm-100 {
      width: 100%;
    }
  }
  @media (min-width: 840px) {
    .d-md-none {
      display: none;
    }
    .d-md-inline {
      display: inline;
    }
    .d-md-inline-block {
      display: inline-block;
    }
    .d-md-block {
      display: block;
    }
    .d-md-table {
      display: table;
    }
    .d-md-table-row {
      display: table-row;
    }
    .d-md-table-cell {
      display: table-cell;
    }
    .d-md-flex {
      display: flex;
    }
    .d-md-inline-flex {
      display: inline-flex;
    }
    .float-md-none {
      float: none;
    }
    .float-md-left {
      float: left;
    }
    .float-md-right {
      float: right;
    }
    .v-locale--is-rtl .float-md-end {
      float: left;
    }
    .v-locale--is-rtl .float-md-start {
      float: right;
    }
    .v-locale--is-ltr .float-md-end {
      float: right;
    }
    .v-locale--is-ltr .float-md-start {
      float: left;
    }
    .flex-md-fill {
      flex: 1 1 auto;
    }
    .flex-md-1-1 {
      flex: 1 1 auto;
    }
    .flex-md-1-0 {
      flex: 1 0 auto;
    }
    .flex-md-0-1 {
      flex: 0 1 auto;
    }
    .flex-md-0-0 {
      flex: 0 0 auto;
    }
    .flex-md-1-1-100 {
      flex: 1 1 100%;
    }
    .flex-md-1-0-100 {
      flex: 1 0 100%;
    }
    .flex-md-0-1-100 {
      flex: 0 1 100%;
    }
    .flex-md-0-0-100 {
      flex: 0 0 100%;
    }
    .flex-md-1-1-0 {
      flex: 1 1 0;
    }
    .flex-md-1-0-0 {
      flex: 1 0 0;
    }
    .flex-md-0-1-0 {
      flex: 0 1 0;
    }
    .flex-md-0-0-0 {
      flex: 0 0 0;
    }
    .flex-md-row {
      flex-direction: row;
    }
    .flex-md-column {
      flex-direction: column;
    }
    .flex-md-row-reverse {
      flex-direction: row-reverse;
    }
    .flex-md-column-reverse {
      flex-direction: column-reverse;
    }
    .flex-md-grow-0 {
      flex-grow: 0;
    }
    .flex-md-grow-1 {
      flex-grow: 1;
    }
    .flex-md-shrink-0 {
      flex-shrink: 0;
    }
    .flex-md-shrink-1 {
      flex-shrink: 1;
    }
    .flex-md-wrap {
      flex-wrap: wrap;
    }
    .flex-md-nowrap {
      flex-wrap: nowrap;
    }
    .flex-md-wrap-reverse {
      flex-wrap: wrap-reverse;
    }
    .justify-md-start {
      justify-content: flex-start;
    }
    .justify-md-end {
      justify-content: flex-end;
    }
    .justify-md-center {
      justify-content: center;
    }
    .justify-md-space-between {
      justify-content: space-between;
    }
    .justify-md-space-around {
      justify-content: space-around;
    }
    .justify-md-space-evenly {
      justify-content: space-evenly;
    }
    .justify-items-md-start {
      justify-items: flex-start;
    }
    .justify-items-md-end {
      justify-items: flex-end;
    }
    .justify-items-md-center {
      justify-items: center;
    }
    .justify-items-md-stretch {
      justify-items: stretch;
    }
    .align-md-start {
      align-items: flex-start;
    }
    .align-md-end {
      align-items: flex-end;
    }
    .align-md-center {
      align-items: center;
    }
    .align-md-baseline {
      align-items: baseline;
    }
    .align-md-stretch {
      align-items: stretch;
    }
    .align-content-md-start {
      align-content: flex-start;
    }
    .align-content-md-end {
      align-content: flex-end;
    }
    .align-content-md-center {
      align-content: center;
    }
    .align-content-md-space-between {
      align-content: space-between;
    }
    .align-content-md-space-around {
      align-content: space-around;
    }
    .align-content-md-space-evenly {
      align-content: space-evenly;
    }
    .align-content-md-stretch {
      align-content: stretch;
    }
    .align-self-md-auto {
      align-self: auto;
    }
    .align-self-md-start {
      align-self: flex-start;
    }
    .align-self-md-end {
      align-self: flex-end;
    }
    .align-self-md-center {
      align-self: center;
    }
    .align-self-md-baseline {
      align-self: baseline;
    }
    .align-self-md-stretch {
      align-self: stretch;
    }
    .order-md-first {
      order: -1;
    }
    .order-md-0 {
      order: 0;
    }
    .order-md-1 {
      order: 1;
    }
    .order-md-2 {
      order: 2;
    }
    .order-md-3 {
      order: 3;
    }
    .order-md-4 {
      order: 4;
    }
    .order-md-5 {
      order: 5;
    }
    .order-md-6 {
      order: 6;
    }
    .order-md-7 {
      order: 7;
    }
    .order-md-8 {
      order: 8;
    }
    .order-md-9 {
      order: 9;
    }
    .order-md-10 {
      order: 10;
    }
    .order-md-11 {
      order: 11;
    }
    .order-md-12 {
      order: 12;
    }
    .order-md-last {
      order: 13;
    }
    .ga-md-0 {
      gap: 0px;
    }
    .ga-md-1 {
      gap: 4px;
    }
    .ga-md-2 {
      gap: 8px;
    }
    .ga-md-3 {
      gap: 12px;
    }
    .ga-md-4 {
      gap: 16px;
    }
    .ga-md-5 {
      gap: 20px;
    }
    .ga-md-6 {
      gap: 24px;
    }
    .ga-md-7 {
      gap: 28px;
    }
    .ga-md-8 {
      gap: 32px;
    }
    .ga-md-9 {
      gap: 36px;
    }
    .ga-md-10 {
      gap: 40px;
    }
    .ga-md-11 {
      gap: 44px;
    }
    .ga-md-12 {
      gap: 48px;
    }
    .ga-md-13 {
      gap: 52px;
    }
    .ga-md-14 {
      gap: 56px;
    }
    .ga-md-15 {
      gap: 60px;
    }
    .ga-md-16 {
      gap: 64px;
    }
    .ga-md-auto {
      gap: auto;
    }
    .gr-md-0 {
      row-gap: 0px;
    }
    .gr-md-1 {
      row-gap: 4px;
    }
    .gr-md-2 {
      row-gap: 8px;
    }
    .gr-md-3 {
      row-gap: 12px;
    }
    .gr-md-4 {
      row-gap: 16px;
    }
    .gr-md-5 {
      row-gap: 20px;
    }
    .gr-md-6 {
      row-gap: 24px;
    }
    .gr-md-7 {
      row-gap: 28px;
    }
    .gr-md-8 {
      row-gap: 32px;
    }
    .gr-md-9 {
      row-gap: 36px;
    }
    .gr-md-10 {
      row-gap: 40px;
    }
    .gr-md-11 {
      row-gap: 44px;
    }
    .gr-md-12 {
      row-gap: 48px;
    }
    .gr-md-13 {
      row-gap: 52px;
    }
    .gr-md-14 {
      row-gap: 56px;
    }
    .gr-md-15 {
      row-gap: 60px;
    }
    .gr-md-16 {
      row-gap: 64px;
    }
    .gr-md-auto {
      row-gap: auto;
    }
    .gc-md-0 {
      column-gap: 0px;
    }
    .gc-md-1 {
      column-gap: 4px;
    }
    .gc-md-2 {
      column-gap: 8px;
    }
    .gc-md-3 {
      column-gap: 12px;
    }
    .gc-md-4 {
      column-gap: 16px;
    }
    .gc-md-5 {
      column-gap: 20px;
    }
    .gc-md-6 {
      column-gap: 24px;
    }
    .gc-md-7 {
      column-gap: 28px;
    }
    .gc-md-8 {
      column-gap: 32px;
    }
    .gc-md-9 {
      column-gap: 36px;
    }
    .gc-md-10 {
      column-gap: 40px;
    }
    .gc-md-11 {
      column-gap: 44px;
    }
    .gc-md-12 {
      column-gap: 48px;
    }
    .gc-md-13 {
      column-gap: 52px;
    }
    .gc-md-14 {
      column-gap: 56px;
    }
    .gc-md-15 {
      column-gap: 60px;
    }
    .gc-md-16 {
      column-gap: 64px;
    }
    .gc-md-auto {
      column-gap: auto;
    }
    .ma-md-0 {
      margin: 0px;
    }
    .ma-md-1 {
      margin: 4px;
    }
    .ma-md-2 {
      margin: 8px;
    }
    .ma-md-3 {
      margin: 12px;
    }
    .ma-md-4 {
      margin: 16px;
    }
    .ma-md-5 {
      margin: 20px;
    }
    .ma-md-6 {
      margin: 24px;
    }
    .ma-md-7 {
      margin: 28px;
    }
    .ma-md-8 {
      margin: 32px;
    }
    .ma-md-9 {
      margin: 36px;
    }
    .ma-md-10 {
      margin: 40px;
    }
    .ma-md-11 {
      margin: 44px;
    }
    .ma-md-12 {
      margin: 48px;
    }
    .ma-md-13 {
      margin: 52px;
    }
    .ma-md-14 {
      margin: 56px;
    }
    .ma-md-15 {
      margin: 60px;
    }
    .ma-md-16 {
      margin: 64px;
    }
    .ma-md-auto {
      margin: auto;
    }
    .mx-md-0 {
      margin-right: 0px;
      margin-left: 0px;
    }
    .mx-md-1 {
      margin-right: 4px;
      margin-left: 4px;
    }
    .mx-md-2 {
      margin-right: 8px;
      margin-left: 8px;
    }
    .mx-md-3 {
      margin-right: 12px;
      margin-left: 12px;
    }
    .mx-md-4 {
      margin-right: 16px;
      margin-left: 16px;
    }
    .mx-md-5 {
      margin-right: 20px;
      margin-left: 20px;
    }
    .mx-md-6 {
      margin-right: 24px;
      margin-left: 24px;
    }
    .mx-md-7 {
      margin-right: 28px;
      margin-left: 28px;
    }
    .mx-md-8 {
      margin-right: 32px;
      margin-left: 32px;
    }
    .mx-md-9 {
      margin-right: 36px;
      margin-left: 36px;
    }
    .mx-md-10 {
      margin-right: 40px;
      margin-left: 40px;
    }
    .mx-md-11 {
      margin-right: 44px;
      margin-left: 44px;
    }
    .mx-md-12 {
      margin-right: 48px;
      margin-left: 48px;
    }
    .mx-md-13 {
      margin-right: 52px;
      margin-left: 52px;
    }
    .mx-md-14 {
      margin-right: 56px;
      margin-left: 56px;
    }
    .mx-md-15 {
      margin-right: 60px;
      margin-left: 60px;
    }
    .mx-md-16 {
      margin-right: 64px;
      margin-left: 64px;
    }
    .mx-md-auto {
      margin-right: auto;
      margin-left: auto;
    }
    .my-md-0 {
      margin-top: 0px;
      margin-bottom: 0px;
    }
    .my-md-1 {
      margin-top: 4px;
      margin-bottom: 4px;
    }
    .my-md-2 {
      margin-top: 8px;
      margin-bottom: 8px;
    }
    .my-md-3 {
      margin-top: 12px;
      margin-bottom: 12px;
    }
    .my-md-4 {
      margin-top: 16px;
      margin-bottom: 16px;
    }
    .my-md-5 {
      margin-top: 20px;
      margin-bottom: 20px;
    }
    .my-md-6 {
      margin-top: 24px;
      margin-bottom: 24px;
    }
    .my-md-7 {
      margin-top: 28px;
      margin-bottom: 28px;
    }
    .my-md-8 {
      margin-top: 32px;
      margin-bottom: 32px;
    }
    .my-md-9 {
      margin-top: 36px;
      margin-bottom: 36px;
    }
    .my-md-10 {
      margin-top: 40px;
      margin-bottom: 40px;
    }
    .my-md-11 {
      margin-top: 44px;
      margin-bottom: 44px;
    }
    .my-md-12 {
      margin-top: 48px;
      margin-bottom: 48px;
    }
    .my-md-13 {
      margin-top: 52px;
      margin-bottom: 52px;
    }
    .my-md-14 {
      margin-top: 56px;
      margin-bottom: 56px;
    }
    .my-md-15 {
      margin-top: 60px;
      margin-bottom: 60px;
    }
    .my-md-16 {
      margin-top: 64px;
      margin-bottom: 64px;
    }
    .my-md-auto {
      margin-top: auto;
      margin-bottom: auto;
    }
    .mt-md-0 {
      margin-top: 0px;
    }
    .mt-md-1 {
      margin-top: 4px;
    }
    .mt-md-2 {
      margin-top: 8px;
    }
    .mt-md-3 {
      margin-top: 12px;
    }
    .mt-md-4 {
      margin-top: 16px;
    }
    .mt-md-5 {
      margin-top: 20px;
    }
    .mt-md-6 {
      margin-top: 24px;
    }
    .mt-md-7 {
      margin-top: 28px;
    }
    .mt-md-8 {
      margin-top: 32px;
    }
    .mt-md-9 {
      margin-top: 36px;
    }
    .mt-md-10 {
      margin-top: 40px;
    }
    .mt-md-11 {
      margin-top: 44px;
    }
    .mt-md-12 {
      margin-top: 48px;
    }
    .mt-md-13 {
      margin-top: 52px;
    }
    .mt-md-14 {
      margin-top: 56px;
    }
    .mt-md-15 {
      margin-top: 60px;
    }
    .mt-md-16 {
      margin-top: 64px;
    }
    .mt-md-auto {
      margin-top: auto;
    }
    .mr-md-0 {
      margin-right: 0px;
    }
    .mr-md-1 {
      margin-right: 4px;
    }
    .mr-md-2 {
      margin-right: 8px;
    }
    .mr-md-3 {
      margin-right: 12px;
    }
    .mr-md-4 {
      margin-right: 16px;
    }
    .mr-md-5 {
      margin-right: 20px;
    }
    .mr-md-6 {
      margin-right: 24px;
    }
    .mr-md-7 {
      margin-right: 28px;
    }
    .mr-md-8 {
      margin-right: 32px;
    }
    .mr-md-9 {
      margin-right: 36px;
    }
    .mr-md-10 {
      margin-right: 40px;
    }
    .mr-md-11 {
      margin-right: 44px;
    }
    .mr-md-12 {
      margin-right: 48px;
    }
    .mr-md-13 {
      margin-right: 52px;
    }
    .mr-md-14 {
      margin-right: 56px;
    }
    .mr-md-15 {
      margin-right: 60px;
    }
    .mr-md-16 {
      margin-right: 64px;
    }
    .mr-md-auto {
      margin-right: auto;
    }
    .mb-md-0 {
      margin-bottom: 0px;
    }
    .mb-md-1 {
      margin-bottom: 4px;
    }
    .mb-md-2 {
      margin-bottom: 8px;
    }
    .mb-md-3 {
      margin-bottom: 12px;
    }
    .mb-md-4 {
      margin-bottom: 16px;
    }
    .mb-md-5 {
      margin-bottom: 20px;
    }
    .mb-md-6 {
      margin-bottom: 24px;
    }
    .mb-md-7 {
      margin-bottom: 28px;
    }
    .mb-md-8 {
      margin-bottom: 32px;
    }
    .mb-md-9 {
      margin-bottom: 36px;
    }
    .mb-md-10 {
      margin-bottom: 40px;
    }
    .mb-md-11 {
      margin-bottom: 44px;
    }
    .mb-md-12 {
      margin-bottom: 48px;
    }
    .mb-md-13 {
      margin-bottom: 52px;
    }
    .mb-md-14 {
      margin-bottom: 56px;
    }
    .mb-md-15 {
      margin-bottom: 60px;
    }
    .mb-md-16 {
      margin-bottom: 64px;
    }
    .mb-md-auto {
      margin-bottom: auto;
    }
    .ml-md-0 {
      margin-left: 0px;
    }
    .ml-md-1 {
      margin-left: 4px;
    }
    .ml-md-2 {
      margin-left: 8px;
    }
    .ml-md-3 {
      margin-left: 12px;
    }
    .ml-md-4 {
      margin-left: 16px;
    }
    .ml-md-5 {
      margin-left: 20px;
    }
    .ml-md-6 {
      margin-left: 24px;
    }
    .ml-md-7 {
      margin-left: 28px;
    }
    .ml-md-8 {
      margin-left: 32px;
    }
    .ml-md-9 {
      margin-left: 36px;
    }
    .ml-md-10 {
      margin-left: 40px;
    }
    .ml-md-11 {
      margin-left: 44px;
    }
    .ml-md-12 {
      margin-left: 48px;
    }
    .ml-md-13 {
      margin-left: 52px;
    }
    .ml-md-14 {
      margin-left: 56px;
    }
    .ml-md-15 {
      margin-left: 60px;
    }
    .ml-md-16 {
      margin-left: 64px;
    }
    .ml-md-auto {
      margin-left: auto;
    }
    .ms-md-0 {
      margin-inline-start: 0px;
    }
    .ms-md-1 {
      margin-inline-start: 4px;
    }
    .ms-md-2 {
      margin-inline-start: 8px;
    }
    .ms-md-3 {
      margin-inline-start: 12px;
    }
    .ms-md-4 {
      margin-inline-start: 16px;
    }
    .ms-md-5 {
      margin-inline-start: 20px;
    }
    .ms-md-6 {
      margin-inline-start: 24px;
    }
    .ms-md-7 {
      margin-inline-start: 28px;
    }
    .ms-md-8 {
      margin-inline-start: 32px;
    }
    .ms-md-9 {
      margin-inline-start: 36px;
    }
    .ms-md-10 {
      margin-inline-start: 40px;
    }
    .ms-md-11 {
      margin-inline-start: 44px;
    }
    .ms-md-12 {
      margin-inline-start: 48px;
    }
    .ms-md-13 {
      margin-inline-start: 52px;
    }
    .ms-md-14 {
      margin-inline-start: 56px;
    }
    .ms-md-15 {
      margin-inline-start: 60px;
    }
    .ms-md-16 {
      margin-inline-start: 64px;
    }
    .ms-md-auto {
      margin-inline-start: auto;
    }
    .me-md-0 {
      margin-inline-end: 0px;
    }
    .me-md-1 {
      margin-inline-end: 4px;
    }
    .me-md-2 {
      margin-inline-end: 8px;
    }
    .me-md-3 {
      margin-inline-end: 12px;
    }
    .me-md-4 {
      margin-inline-end: 16px;
    }
    .me-md-5 {
      margin-inline-end: 20px;
    }
    .me-md-6 {
      margin-inline-end: 24px;
    }
    .me-md-7 {
      margin-inline-end: 28px;
    }
    .me-md-8 {
      margin-inline-end: 32px;
    }
    .me-md-9 {
      margin-inline-end: 36px;
    }
    .me-md-10 {
      margin-inline-end: 40px;
    }
    .me-md-11 {
      margin-inline-end: 44px;
    }
    .me-md-12 {
      margin-inline-end: 48px;
    }
    .me-md-13 {
      margin-inline-end: 52px;
    }
    .me-md-14 {
      margin-inline-end: 56px;
    }
    .me-md-15 {
      margin-inline-end: 60px;
    }
    .me-md-16 {
      margin-inline-end: 64px;
    }
    .me-md-auto {
      margin-inline-end: auto;
    }
    .ma-md-n1 {
      margin: -4px;
    }
    .ma-md-n2 {
      margin: -8px;
    }
    .ma-md-n3 {
      margin: -12px;
    }
    .ma-md-n4 {
      margin: -16px;
    }
    .ma-md-n5 {
      margin: -20px;
    }
    .ma-md-n6 {
      margin: -24px;
    }
    .ma-md-n7 {
      margin: -28px;
    }
    .ma-md-n8 {
      margin: -32px;
    }
    .ma-md-n9 {
      margin: -36px;
    }
    .ma-md-n10 {
      margin: -40px;
    }
    .ma-md-n11 {
      margin: -44px;
    }
    .ma-md-n12 {
      margin: -48px;
    }
    .ma-md-n13 {
      margin: -52px;
    }
    .ma-md-n14 {
      margin: -56px;
    }
    .ma-md-n15 {
      margin: -60px;
    }
    .ma-md-n16 {
      margin: -64px;
    }
    .mx-md-n1 {
      margin-right: -4px;
      margin-left: -4px;
    }
    .mx-md-n2 {
      margin-right: -8px;
      margin-left: -8px;
    }
    .mx-md-n3 {
      margin-right: -12px;
      margin-left: -12px;
    }
    .mx-md-n4 {
      margin-right: -16px;
      margin-left: -16px;
    }
    .mx-md-n5 {
      margin-right: -20px;
      margin-left: -20px;
    }
    .mx-md-n6 {
      margin-right: -24px;
      margin-left: -24px;
    }
    .mx-md-n7 {
      margin-right: -28px;
      margin-left: -28px;
    }
    .mx-md-n8 {
      margin-right: -32px;
      margin-left: -32px;
    }
    .mx-md-n9 {
      margin-right: -36px;
      margin-left: -36px;
    }
    .mx-md-n10 {
      margin-right: -40px;
      margin-left: -40px;
    }
    .mx-md-n11 {
      margin-right: -44px;
      margin-left: -44px;
    }
    .mx-md-n12 {
      margin-right: -48px;
      margin-left: -48px;
    }
    .mx-md-n13 {
      margin-right: -52px;
      margin-left: -52px;
    }
    .mx-md-n14 {
      margin-right: -56px;
      margin-left: -56px;
    }
    .mx-md-n15 {
      margin-right: -60px;
      margin-left: -60px;
    }
    .mx-md-n16 {
      margin-right: -64px;
      margin-left: -64px;
    }
    .my-md-n1 {
      margin-top: -4px;
      margin-bottom: -4px;
    }
    .my-md-n2 {
      margin-top: -8px;
      margin-bottom: -8px;
    }
    .my-md-n3 {
      margin-top: -12px;
      margin-bottom: -12px;
    }
    .my-md-n4 {
      margin-top: -16px;
      margin-bottom: -16px;
    }
    .my-md-n5 {
      margin-top: -20px;
      margin-bottom: -20px;
    }
    .my-md-n6 {
      margin-top: -24px;
      margin-bottom: -24px;
    }
    .my-md-n7 {
      margin-top: -28px;
      margin-bottom: -28px;
    }
    .my-md-n8 {
      margin-top: -32px;
      margin-bottom: -32px;
    }
    .my-md-n9 {
      margin-top: -36px;
      margin-bottom: -36px;
    }
    .my-md-n10 {
      margin-top: -40px;
      margin-bottom: -40px;
    }
    .my-md-n11 {
      margin-top: -44px;
      margin-bottom: -44px;
    }
    .my-md-n12 {
      margin-top: -48px;
      margin-bottom: -48px;
    }
    .my-md-n13 {
      margin-top: -52px;
      margin-bottom: -52px;
    }
    .my-md-n14 {
      margin-top: -56px;
      margin-bottom: -56px;
    }
    .my-md-n15 {
      margin-top: -60px;
      margin-bottom: -60px;
    }
    .my-md-n16 {
      margin-top: -64px;
      margin-bottom: -64px;
    }
    .mt-md-n1 {
      margin-top: -4px;
    }
    .mt-md-n2 {
      margin-top: -8px;
    }
    .mt-md-n3 {
      margin-top: -12px;
    }
    .mt-md-n4 {
      margin-top: -16px;
    }
    .mt-md-n5 {
      margin-top: -20px;
    }
    .mt-md-n6 {
      margin-top: -24px;
    }
    .mt-md-n7 {
      margin-top: -28px;
    }
    .mt-md-n8 {
      margin-top: -32px;
    }
    .mt-md-n9 {
      margin-top: -36px;
    }
    .mt-md-n10 {
      margin-top: -40px;
    }
    .mt-md-n11 {
      margin-top: -44px;
    }
    .mt-md-n12 {
      margin-top: -48px;
    }
    .mt-md-n13 {
      margin-top: -52px;
    }
    .mt-md-n14 {
      margin-top: -56px;
    }
    .mt-md-n15 {
      margin-top: -60px;
    }
    .mt-md-n16 {
      margin-top: -64px;
    }
    .mr-md-n1 {
      margin-right: -4px;
    }
    .mr-md-n2 {
      margin-right: -8px;
    }
    .mr-md-n3 {
      margin-right: -12px;
    }
    .mr-md-n4 {
      margin-right: -16px;
    }
    .mr-md-n5 {
      margin-right: -20px;
    }
    .mr-md-n6 {
      margin-right: -24px;
    }
    .mr-md-n7 {
      margin-right: -28px;
    }
    .mr-md-n8 {
      margin-right: -32px;
    }
    .mr-md-n9 {
      margin-right: -36px;
    }
    .mr-md-n10 {
      margin-right: -40px;
    }
    .mr-md-n11 {
      margin-right: -44px;
    }
    .mr-md-n12 {
      margin-right: -48px;
    }
    .mr-md-n13 {
      margin-right: -52px;
    }
    .mr-md-n14 {
      margin-right: -56px;
    }
    .mr-md-n15 {
      margin-right: -60px;
    }
    .mr-md-n16 {
      margin-right: -64px;
    }
    .mb-md-n1 {
      margin-bottom: -4px;
    }
    .mb-md-n2 {
      margin-bottom: -8px;
    }
    .mb-md-n3 {
      margin-bottom: -12px;
    }
    .mb-md-n4 {
      margin-bottom: -16px;
    }
    .mb-md-n5 {
      margin-bottom: -20px;
    }
    .mb-md-n6 {
      margin-bottom: -24px;
    }
    .mb-md-n7 {
      margin-bottom: -28px;
    }
    .mb-md-n8 {
      margin-bottom: -32px;
    }
    .mb-md-n9 {
      margin-bottom: -36px;
    }
    .mb-md-n10 {
      margin-bottom: -40px;
    }
    .mb-md-n11 {
      margin-bottom: -44px;
    }
    .mb-md-n12 {
      margin-bottom: -48px;
    }
    .mb-md-n13 {
      margin-bottom: -52px;
    }
    .mb-md-n14 {
      margin-bottom: -56px;
    }
    .mb-md-n15 {
      margin-bottom: -60px;
    }
    .mb-md-n16 {
      margin-bottom: -64px;
    }
    .ml-md-n1 {
      margin-left: -4px;
    }
    .ml-md-n2 {
      margin-left: -8px;
    }
    .ml-md-n3 {
      margin-left: -12px;
    }
    .ml-md-n4 {
      margin-left: -16px;
    }
    .ml-md-n5 {
      margin-left: -20px;
    }
    .ml-md-n6 {
      margin-left: -24px;
    }
    .ml-md-n7 {
      margin-left: -28px;
    }
    .ml-md-n8 {
      margin-left: -32px;
    }
    .ml-md-n9 {
      margin-left: -36px;
    }
    .ml-md-n10 {
      margin-left: -40px;
    }
    .ml-md-n11 {
      margin-left: -44px;
    }
    .ml-md-n12 {
      margin-left: -48px;
    }
    .ml-md-n13 {
      margin-left: -52px;
    }
    .ml-md-n14 {
      margin-left: -56px;
    }
    .ml-md-n15 {
      margin-left: -60px;
    }
    .ml-md-n16 {
      margin-left: -64px;
    }
    .ms-md-n1 {
      margin-inline-start: -4px;
    }
    .ms-md-n2 {
      margin-inline-start: -8px;
    }
    .ms-md-n3 {
      margin-inline-start: -12px;
    }
    .ms-md-n4 {
      margin-inline-start: -16px;
    }
    .ms-md-n5 {
      margin-inline-start: -20px;
    }
    .ms-md-n6 {
      margin-inline-start: -24px;
    }
    .ms-md-n7 {
      margin-inline-start: -28px;
    }
    .ms-md-n8 {
      margin-inline-start: -32px;
    }
    .ms-md-n9 {
      margin-inline-start: -36px;
    }
    .ms-md-n10 {
      margin-inline-start: -40px;
    }
    .ms-md-n11 {
      margin-inline-start: -44px;
    }
    .ms-md-n12 {
      margin-inline-start: -48px;
    }
    .ms-md-n13 {
      margin-inline-start: -52px;
    }
    .ms-md-n14 {
      margin-inline-start: -56px;
    }
    .ms-md-n15 {
      margin-inline-start: -60px;
    }
    .ms-md-n16 {
      margin-inline-start: -64px;
    }
    .me-md-n1 {
      margin-inline-end: -4px;
    }
    .me-md-n2 {
      margin-inline-end: -8px;
    }
    .me-md-n3 {
      margin-inline-end: -12px;
    }
    .me-md-n4 {
      margin-inline-end: -16px;
    }
    .me-md-n5 {
      margin-inline-end: -20px;
    }
    .me-md-n6 {
      margin-inline-end: -24px;
    }
    .me-md-n7 {
      margin-inline-end: -28px;
    }
    .me-md-n8 {
      margin-inline-end: -32px;
    }
    .me-md-n9 {
      margin-inline-end: -36px;
    }
    .me-md-n10 {
      margin-inline-end: -40px;
    }
    .me-md-n11 {
      margin-inline-end: -44px;
    }
    .me-md-n12 {
      margin-inline-end: -48px;
    }
    .me-md-n13 {
      margin-inline-end: -52px;
    }
    .me-md-n14 {
      margin-inline-end: -56px;
    }
    .me-md-n15 {
      margin-inline-end: -60px;
    }
    .me-md-n16 {
      margin-inline-end: -64px;
    }
    .pa-md-0 {
      padding: 0px;
    }
    .pa-md-1 {
      padding: 4px;
    }
    .pa-md-2 {
      padding: 8px;
    }
    .pa-md-3 {
      padding: 12px;
    }
    .pa-md-4 {
      padding: 16px;
    }
    .pa-md-5 {
      padding: 20px;
    }
    .pa-md-6 {
      padding: 24px;
    }
    .pa-md-7 {
      padding: 28px;
    }
    .pa-md-8 {
      padding: 32px;
    }
    .pa-md-9 {
      padding: 36px;
    }
    .pa-md-10 {
      padding: 40px;
    }
    .pa-md-11 {
      padding: 44px;
    }
    .pa-md-12 {
      padding: 48px;
    }
    .pa-md-13 {
      padding: 52px;
    }
    .pa-md-14 {
      padding: 56px;
    }
    .pa-md-15 {
      padding: 60px;
    }
    .pa-md-16 {
      padding: 64px;
    }
    .px-md-0 {
      padding-right: 0px;
      padding-left: 0px;
    }
    .px-md-1 {
      padding-right: 4px;
      padding-left: 4px;
    }
    .px-md-2 {
      padding-right: 8px;
      padding-left: 8px;
    }
    .px-md-3 {
      padding-right: 12px;
      padding-left: 12px;
    }
    .px-md-4 {
      padding-right: 16px;
      padding-left: 16px;
    }
    .px-md-5 {
      padding-right: 20px;
      padding-left: 20px;
    }
    .px-md-6 {
      padding-right: 24px;
      padding-left: 24px;
    }
    .px-md-7 {
      padding-right: 28px;
      padding-left: 28px;
    }
    .px-md-8 {
      padding-right: 32px;
      padding-left: 32px;
    }
    .px-md-9 {
      padding-right: 36px;
      padding-left: 36px;
    }
    .px-md-10 {
      padding-right: 40px;
      padding-left: 40px;
    }
    .px-md-11 {
      padding-right: 44px;
      padding-left: 44px;
    }
    .px-md-12 {
      padding-right: 48px;
      padding-left: 48px;
    }
    .px-md-13 {
      padding-right: 52px;
      padding-left: 52px;
    }
    .px-md-14 {
      padding-right: 56px;
      padding-left: 56px;
    }
    .px-md-15 {
      padding-right: 60px;
      padding-left: 60px;
    }
    .px-md-16 {
      padding-right: 64px;
      padding-left: 64px;
    }
    .py-md-0 {
      padding-top: 0px;
      padding-bottom: 0px;
    }
    .py-md-1 {
      padding-top: 4px;
      padding-bottom: 4px;
    }
    .py-md-2 {
      padding-top: 8px;
      padding-bottom: 8px;
    }
    .py-md-3 {
      padding-top: 12px;
      padding-bottom: 12px;
    }
    .py-md-4 {
      padding-top: 16px;
      padding-bottom: 16px;
    }
    .py-md-5 {
      padding-top: 20px;
      padding-bottom: 20px;
    }
    .py-md-6 {
      padding-top: 24px;
      padding-bottom: 24px;
    }
    .py-md-7 {
      padding-top: 28px;
      padding-bottom: 28px;
    }
    .py-md-8 {
      padding-top: 32px;
      padding-bottom: 32px;
    }
    .py-md-9 {
      padding-top: 36px;
      padding-bottom: 36px;
    }
    .py-md-10 {
      padding-top: 40px;
      padding-bottom: 40px;
    }
    .py-md-11 {
      padding-top: 44px;
      padding-bottom: 44px;
    }
    .py-md-12 {
      padding-top: 48px;
      padding-bottom: 48px;
    }
    .py-md-13 {
      padding-top: 52px;
      padding-bottom: 52px;
    }
    .py-md-14 {
      padding-top: 56px;
      padding-bottom: 56px;
    }
    .py-md-15 {
      padding-top: 60px;
      padding-bottom: 60px;
    }
    .py-md-16 {
      padding-top: 64px;
      padding-bottom: 64px;
    }
    .pt-md-0 {
      padding-top: 0px;
    }
    .pt-md-1 {
      padding-top: 4px;
    }
    .pt-md-2 {
      padding-top: 8px;
    }
    .pt-md-3 {
      padding-top: 12px;
    }
    .pt-md-4 {
      padding-top: 16px;
    }
    .pt-md-5 {
      padding-top: 20px;
    }
    .pt-md-6 {
      padding-top: 24px;
    }
    .pt-md-7 {
      padding-top: 28px;
    }
    .pt-md-8 {
      padding-top: 32px;
    }
    .pt-md-9 {
      padding-top: 36px;
    }
    .pt-md-10 {
      padding-top: 40px;
    }
    .pt-md-11 {
      padding-top: 44px;
    }
    .pt-md-12 {
      padding-top: 48px;
    }
    .pt-md-13 {
      padding-top: 52px;
    }
    .pt-md-14 {
      padding-top: 56px;
    }
    .pt-md-15 {
      padding-top: 60px;
    }
    .pt-md-16 {
      padding-top: 64px;
    }
    .pr-md-0 {
      padding-right: 0px;
    }
    .pr-md-1 {
      padding-right: 4px;
    }
    .pr-md-2 {
      padding-right: 8px;
    }
    .pr-md-3 {
      padding-right: 12px;
    }
    .pr-md-4 {
      padding-right: 16px;
    }
    .pr-md-5 {
      padding-right: 20px;
    }
    .pr-md-6 {
      padding-right: 24px;
    }
    .pr-md-7 {
      padding-right: 28px;
    }
    .pr-md-8 {
      padding-right: 32px;
    }
    .pr-md-9 {
      padding-right: 36px;
    }
    .pr-md-10 {
      padding-right: 40px;
    }
    .pr-md-11 {
      padding-right: 44px;
    }
    .pr-md-12 {
      padding-right: 48px;
    }
    .pr-md-13 {
      padding-right: 52px;
    }
    .pr-md-14 {
      padding-right: 56px;
    }
    .pr-md-15 {
      padding-right: 60px;
    }
    .pr-md-16 {
      padding-right: 64px;
    }
    .pb-md-0 {
      padding-bottom: 0px;
    }
    .pb-md-1 {
      padding-bottom: 4px;
    }
    .pb-md-2 {
      padding-bottom: 8px;
    }
    .pb-md-3 {
      padding-bottom: 12px;
    }
    .pb-md-4 {
      padding-bottom: 16px;
    }
    .pb-md-5 {
      padding-bottom: 20px;
    }
    .pb-md-6 {
      padding-bottom: 24px;
    }
    .pb-md-7 {
      padding-bottom: 28px;
    }
    .pb-md-8 {
      padding-bottom: 32px;
    }
    .pb-md-9 {
      padding-bottom: 36px;
    }
    .pb-md-10 {
      padding-bottom: 40px;
    }
    .pb-md-11 {
      padding-bottom: 44px;
    }
    .pb-md-12 {
      padding-bottom: 48px;
    }
    .pb-md-13 {
      padding-bottom: 52px;
    }
    .pb-md-14 {
      padding-bottom: 56px;
    }
    .pb-md-15 {
      padding-bottom: 60px;
    }
    .pb-md-16 {
      padding-bottom: 64px;
    }
    .pl-md-0 {
      padding-left: 0px;
    }
    .pl-md-1 {
      padding-left: 4px;
    }
    .pl-md-2 {
      padding-left: 8px;
    }
    .pl-md-3 {
      padding-left: 12px;
    }
    .pl-md-4 {
      padding-left: 16px;
    }
    .pl-md-5 {
      padding-left: 20px;
    }
    .pl-md-6 {
      padding-left: 24px;
    }
    .pl-md-7 {
      padding-left: 28px;
    }
    .pl-md-8 {
      padding-left: 32px;
    }
    .pl-md-9 {
      padding-left: 36px;
    }
    .pl-md-10 {
      padding-left: 40px;
    }
    .pl-md-11 {
      padding-left: 44px;
    }
    .pl-md-12 {
      padding-left: 48px;
    }
    .pl-md-13 {
      padding-left: 52px;
    }
    .pl-md-14 {
      padding-left: 56px;
    }
    .pl-md-15 {
      padding-left: 60px;
    }
    .pl-md-16 {
      padding-left: 64px;
    }
    .ps-md-0 {
      padding-inline-start: 0px;
    }
    .ps-md-1 {
      padding-inline-start: 4px;
    }
    .ps-md-2 {
      padding-inline-start: 8px;
    }
    .ps-md-3 {
      padding-inline-start: 12px;
    }
    .ps-md-4 {
      padding-inline-start: 16px;
    }
    .ps-md-5 {
      padding-inline-start: 20px;
    }
    .ps-md-6 {
      padding-inline-start: 24px;
    }
    .ps-md-7 {
      padding-inline-start: 28px;
    }
    .ps-md-8 {
      padding-inline-start: 32px;
    }
    .ps-md-9 {
      padding-inline-start: 36px;
    }
    .ps-md-10 {
      padding-inline-start: 40px;
    }
    .ps-md-11 {
      padding-inline-start: 44px;
    }
    .ps-md-12 {
      padding-inline-start: 48px;
    }
    .ps-md-13 {
      padding-inline-start: 52px;
    }
    .ps-md-14 {
      padding-inline-start: 56px;
    }
    .ps-md-15 {
      padding-inline-start: 60px;
    }
    .ps-md-16 {
      padding-inline-start: 64px;
    }
    .pe-md-0 {
      padding-inline-end: 0px;
    }
    .pe-md-1 {
      padding-inline-end: 4px;
    }
    .pe-md-2 {
      padding-inline-end: 8px;
    }
    .pe-md-3 {
      padding-inline-end: 12px;
    }
    .pe-md-4 {
      padding-inline-end: 16px;
    }
    .pe-md-5 {
      padding-inline-end: 20px;
    }
    .pe-md-6 {
      padding-inline-end: 24px;
    }
    .pe-md-7 {
      padding-inline-end: 28px;
    }
    .pe-md-8 {
      padding-inline-end: 32px;
    }
    .pe-md-9 {
      padding-inline-end: 36px;
    }
    .pe-md-10 {
      padding-inline-end: 40px;
    }
    .pe-md-11 {
      padding-inline-end: 44px;
    }
    .pe-md-12 {
      padding-inline-end: 48px;
    }
    .pe-md-13 {
      padding-inline-end: 52px;
    }
    .pe-md-14 {
      padding-inline-end: 56px;
    }
    .pe-md-15 {
      padding-inline-end: 60px;
    }
    .pe-md-16 {
      padding-inline-end: 64px;
    }
    .text-md-left {
      text-align: left;
    }
    .text-md-right {
      text-align: right;
    }
    .text-md-center {
      text-align: center;
    }
    .text-md-justify {
      text-align: justify;
    }
    .text-md-start {
      text-align: start;
    }
    .text-md-end {
      text-align: end;
    }
    .h-md-auto {
      height: auto;
    }
    .h-md-screen {
      height: 100dvh;
    }
    .h-md-0 {
      height: 0;
    }
    .h-md-25 {
      height: 25%;
    }
    .h-md-50 {
      height: 50%;
    }
    .h-md-75 {
      height: 75%;
    }
    .h-md-100 {
      height: 100%;
    }
    .w-md-auto {
      width: auto;
    }
    .w-md-0 {
      width: 0;
    }
    .w-md-25 {
      width: 25%;
    }
    .w-md-33 {
      width: 33%;
    }
    .w-md-50 {
      width: 50%;
    }
    .w-md-66 {
      width: 66%;
    }
    .w-md-75 {
      width: 75%;
    }
    .w-md-100 {
      width: 100%;
    }
  }
  @media (min-width: 1145px) {
    .d-lg-none {
      display: none;
    }
    .d-lg-inline {
      display: inline;
    }
    .d-lg-inline-block {
      display: inline-block;
    }
    .d-lg-block {
      display: block;
    }
    .d-lg-table {
      display: table;
    }
    .d-lg-table-row {
      display: table-row;
    }
    .d-lg-table-cell {
      display: table-cell;
    }
    .d-lg-flex {
      display: flex;
    }
    .d-lg-inline-flex {
      display: inline-flex;
    }
    .float-lg-none {
      float: none;
    }
    .float-lg-left {
      float: left;
    }
    .float-lg-right {
      float: right;
    }
    .v-locale--is-rtl .float-lg-end {
      float: left;
    }
    .v-locale--is-rtl .float-lg-start {
      float: right;
    }
    .v-locale--is-ltr .float-lg-end {
      float: right;
    }
    .v-locale--is-ltr .float-lg-start {
      float: left;
    }
    .flex-lg-fill {
      flex: 1 1 auto;
    }
    .flex-lg-1-1 {
      flex: 1 1 auto;
    }
    .flex-lg-1-0 {
      flex: 1 0 auto;
    }
    .flex-lg-0-1 {
      flex: 0 1 auto;
    }
    .flex-lg-0-0 {
      flex: 0 0 auto;
    }
    .flex-lg-1-1-100 {
      flex: 1 1 100%;
    }
    .flex-lg-1-0-100 {
      flex: 1 0 100%;
    }
    .flex-lg-0-1-100 {
      flex: 0 1 100%;
    }
    .flex-lg-0-0-100 {
      flex: 0 0 100%;
    }
    .flex-lg-1-1-0 {
      flex: 1 1 0;
    }
    .flex-lg-1-0-0 {
      flex: 1 0 0;
    }
    .flex-lg-0-1-0 {
      flex: 0 1 0;
    }
    .flex-lg-0-0-0 {
      flex: 0 0 0;
    }
    .flex-lg-row {
      flex-direction: row;
    }
    .flex-lg-column {
      flex-direction: column;
    }
    .flex-lg-row-reverse {
      flex-direction: row-reverse;
    }
    .flex-lg-column-reverse {
      flex-direction: column-reverse;
    }
    .flex-lg-grow-0 {
      flex-grow: 0;
    }
    .flex-lg-grow-1 {
      flex-grow: 1;
    }
    .flex-lg-shrink-0 {
      flex-shrink: 0;
    }
    .flex-lg-shrink-1 {
      flex-shrink: 1;
    }
    .flex-lg-wrap {
      flex-wrap: wrap;
    }
    .flex-lg-nowrap {
      flex-wrap: nowrap;
    }
    .flex-lg-wrap-reverse {
      flex-wrap: wrap-reverse;
    }
    .justify-lg-start {
      justify-content: flex-start;
    }
    .justify-lg-end {
      justify-content: flex-end;
    }
    .justify-lg-center {
      justify-content: center;
    }
    .justify-lg-space-between {
      justify-content: space-between;
    }
    .justify-lg-space-around {
      justify-content: space-around;
    }
    .justify-lg-space-evenly {
      justify-content: space-evenly;
    }
    .justify-items-lg-start {
      justify-items: flex-start;
    }
    .justify-items-lg-end {
      justify-items: flex-end;
    }
    .justify-items-lg-center {
      justify-items: center;
    }
    .justify-items-lg-stretch {
      justify-items: stretch;
    }
    .align-lg-start {
      align-items: flex-start;
    }
    .align-lg-end {
      align-items: flex-end;
    }
    .align-lg-center {
      align-items: center;
    }
    .align-lg-baseline {
      align-items: baseline;
    }
    .align-lg-stretch {
      align-items: stretch;
    }
    .align-content-lg-start {
      align-content: flex-start;
    }
    .align-content-lg-end {
      align-content: flex-end;
    }
    .align-content-lg-center {
      align-content: center;
    }
    .align-content-lg-space-between {
      align-content: space-between;
    }
    .align-content-lg-space-around {
      align-content: space-around;
    }
    .align-content-lg-space-evenly {
      align-content: space-evenly;
    }
    .align-content-lg-stretch {
      align-content: stretch;
    }
    .align-self-lg-auto {
      align-self: auto;
    }
    .align-self-lg-start {
      align-self: flex-start;
    }
    .align-self-lg-end {
      align-self: flex-end;
    }
    .align-self-lg-center {
      align-self: center;
    }
    .align-self-lg-baseline {
      align-self: baseline;
    }
    .align-self-lg-stretch {
      align-self: stretch;
    }
    .order-lg-first {
      order: -1;
    }
    .order-lg-0 {
      order: 0;
    }
    .order-lg-1 {
      order: 1;
    }
    .order-lg-2 {
      order: 2;
    }
    .order-lg-3 {
      order: 3;
    }
    .order-lg-4 {
      order: 4;
    }
    .order-lg-5 {
      order: 5;
    }
    .order-lg-6 {
      order: 6;
    }
    .order-lg-7 {
      order: 7;
    }
    .order-lg-8 {
      order: 8;
    }
    .order-lg-9 {
      order: 9;
    }
    .order-lg-10 {
      order: 10;
    }
    .order-lg-11 {
      order: 11;
    }
    .order-lg-12 {
      order: 12;
    }
    .order-lg-last {
      order: 13;
    }
    .ga-lg-0 {
      gap: 0px;
    }
    .ga-lg-1 {
      gap: 4px;
    }
    .ga-lg-2 {
      gap: 8px;
    }
    .ga-lg-3 {
      gap: 12px;
    }
    .ga-lg-4 {
      gap: 16px;
    }
    .ga-lg-5 {
      gap: 20px;
    }
    .ga-lg-6 {
      gap: 24px;
    }
    .ga-lg-7 {
      gap: 28px;
    }
    .ga-lg-8 {
      gap: 32px;
    }
    .ga-lg-9 {
      gap: 36px;
    }
    .ga-lg-10 {
      gap: 40px;
    }
    .ga-lg-11 {
      gap: 44px;
    }
    .ga-lg-12 {
      gap: 48px;
    }
    .ga-lg-13 {
      gap: 52px;
    }
    .ga-lg-14 {
      gap: 56px;
    }
    .ga-lg-15 {
      gap: 60px;
    }
    .ga-lg-16 {
      gap: 64px;
    }
    .ga-lg-auto {
      gap: auto;
    }
    .gr-lg-0 {
      row-gap: 0px;
    }
    .gr-lg-1 {
      row-gap: 4px;
    }
    .gr-lg-2 {
      row-gap: 8px;
    }
    .gr-lg-3 {
      row-gap: 12px;
    }
    .gr-lg-4 {
      row-gap: 16px;
    }
    .gr-lg-5 {
      row-gap: 20px;
    }
    .gr-lg-6 {
      row-gap: 24px;
    }
    .gr-lg-7 {
      row-gap: 28px;
    }
    .gr-lg-8 {
      row-gap: 32px;
    }
    .gr-lg-9 {
      row-gap: 36px;
    }
    .gr-lg-10 {
      row-gap: 40px;
    }
    .gr-lg-11 {
      row-gap: 44px;
    }
    .gr-lg-12 {
      row-gap: 48px;
    }
    .gr-lg-13 {
      row-gap: 52px;
    }
    .gr-lg-14 {
      row-gap: 56px;
    }
    .gr-lg-15 {
      row-gap: 60px;
    }
    .gr-lg-16 {
      row-gap: 64px;
    }
    .gr-lg-auto {
      row-gap: auto;
    }
    .gc-lg-0 {
      column-gap: 0px;
    }
    .gc-lg-1 {
      column-gap: 4px;
    }
    .gc-lg-2 {
      column-gap: 8px;
    }
    .gc-lg-3 {
      column-gap: 12px;
    }
    .gc-lg-4 {
      column-gap: 16px;
    }
    .gc-lg-5 {
      column-gap: 20px;
    }
    .gc-lg-6 {
      column-gap: 24px;
    }
    .gc-lg-7 {
      column-gap: 28px;
    }
    .gc-lg-8 {
      column-gap: 32px;
    }
    .gc-lg-9 {
      column-gap: 36px;
    }
    .gc-lg-10 {
      column-gap: 40px;
    }
    .gc-lg-11 {
      column-gap: 44px;
    }
    .gc-lg-12 {
      column-gap: 48px;
    }
    .gc-lg-13 {
      column-gap: 52px;
    }
    .gc-lg-14 {
      column-gap: 56px;
    }
    .gc-lg-15 {
      column-gap: 60px;
    }
    .gc-lg-16 {
      column-gap: 64px;
    }
    .gc-lg-auto {
      column-gap: auto;
    }
    .ma-lg-0 {
      margin: 0px;
    }
    .ma-lg-1 {
      margin: 4px;
    }
    .ma-lg-2 {
      margin: 8px;
    }
    .ma-lg-3 {
      margin: 12px;
    }
    .ma-lg-4 {
      margin: 16px;
    }
    .ma-lg-5 {
      margin: 20px;
    }
    .ma-lg-6 {
      margin: 24px;
    }
    .ma-lg-7 {
      margin: 28px;
    }
    .ma-lg-8 {
      margin: 32px;
    }
    .ma-lg-9 {
      margin: 36px;
    }
    .ma-lg-10 {
      margin: 40px;
    }
    .ma-lg-11 {
      margin: 44px;
    }
    .ma-lg-12 {
      margin: 48px;
    }
    .ma-lg-13 {
      margin: 52px;
    }
    .ma-lg-14 {
      margin: 56px;
    }
    .ma-lg-15 {
      margin: 60px;
    }
    .ma-lg-16 {
      margin: 64px;
    }
    .ma-lg-auto {
      margin: auto;
    }
    .mx-lg-0 {
      margin-right: 0px;
      margin-left: 0px;
    }
    .mx-lg-1 {
      margin-right: 4px;
      margin-left: 4px;
    }
    .mx-lg-2 {
      margin-right: 8px;
      margin-left: 8px;
    }
    .mx-lg-3 {
      margin-right: 12px;
      margin-left: 12px;
    }
    .mx-lg-4 {
      margin-right: 16px;
      margin-left: 16px;
    }
    .mx-lg-5 {
      margin-right: 20px;
      margin-left: 20px;
    }
    .mx-lg-6 {
      margin-right: 24px;
      margin-left: 24px;
    }
    .mx-lg-7 {
      margin-right: 28px;
      margin-left: 28px;
    }
    .mx-lg-8 {
      margin-right: 32px;
      margin-left: 32px;
    }
    .mx-lg-9 {
      margin-right: 36px;
      margin-left: 36px;
    }
    .mx-lg-10 {
      margin-right: 40px;
      margin-left: 40px;
    }
    .mx-lg-11 {
      margin-right: 44px;
      margin-left: 44px;
    }
    .mx-lg-12 {
      margin-right: 48px;
      margin-left: 48px;
    }
    .mx-lg-13 {
      margin-right: 52px;
      margin-left: 52px;
    }
    .mx-lg-14 {
      margin-right: 56px;
      margin-left: 56px;
    }
    .mx-lg-15 {
      margin-right: 60px;
      margin-left: 60px;
    }
    .mx-lg-16 {
      margin-right: 64px;
      margin-left: 64px;
    }
    .mx-lg-auto {
      margin-right: auto;
      margin-left: auto;
    }
    .my-lg-0 {
      margin-top: 0px;
      margin-bottom: 0px;
    }
    .my-lg-1 {
      margin-top: 4px;
      margin-bottom: 4px;
    }
    .my-lg-2 {
      margin-top: 8px;
      margin-bottom: 8px;
    }
    .my-lg-3 {
      margin-top: 12px;
      margin-bottom: 12px;
    }
    .my-lg-4 {
      margin-top: 16px;
      margin-bottom: 16px;
    }
    .my-lg-5 {
      margin-top: 20px;
      margin-bottom: 20px;
    }
    .my-lg-6 {
      margin-top: 24px;
      margin-bottom: 24px;
    }
    .my-lg-7 {
      margin-top: 28px;
      margin-bottom: 28px;
    }
    .my-lg-8 {
      margin-top: 32px;
      margin-bottom: 32px;
    }
    .my-lg-9 {
      margin-top: 36px;
      margin-bottom: 36px;
    }
    .my-lg-10 {
      margin-top: 40px;
      margin-bottom: 40px;
    }
    .my-lg-11 {
      margin-top: 44px;
      margin-bottom: 44px;
    }
    .my-lg-12 {
      margin-top: 48px;
      margin-bottom: 48px;
    }
    .my-lg-13 {
      margin-top: 52px;
      margin-bottom: 52px;
    }
    .my-lg-14 {
      margin-top: 56px;
      margin-bottom: 56px;
    }
    .my-lg-15 {
      margin-top: 60px;
      margin-bottom: 60px;
    }
    .my-lg-16 {
      margin-top: 64px;
      margin-bottom: 64px;
    }
    .my-lg-auto {
      margin-top: auto;
      margin-bottom: auto;
    }
    .mt-lg-0 {
      margin-top: 0px;
    }
    .mt-lg-1 {
      margin-top: 4px;
    }
    .mt-lg-2 {
      margin-top: 8px;
    }
    .mt-lg-3 {
      margin-top: 12px;
    }
    .mt-lg-4 {
      margin-top: 16px;
    }
    .mt-lg-5 {
      margin-top: 20px;
    }
    .mt-lg-6 {
      margin-top: 24px;
    }
    .mt-lg-7 {
      margin-top: 28px;
    }
    .mt-lg-8 {
      margin-top: 32px;
    }
    .mt-lg-9 {
      margin-top: 36px;
    }
    .mt-lg-10 {
      margin-top: 40px;
    }
    .mt-lg-11 {
      margin-top: 44px;
    }
    .mt-lg-12 {
      margin-top: 48px;
    }
    .mt-lg-13 {
      margin-top: 52px;
    }
    .mt-lg-14 {
      margin-top: 56px;
    }
    .mt-lg-15 {
      margin-top: 60px;
    }
    .mt-lg-16 {
      margin-top: 64px;
    }
    .mt-lg-auto {
      margin-top: auto;
    }
    .mr-lg-0 {
      margin-right: 0px;
    }
    .mr-lg-1 {
      margin-right: 4px;
    }
    .mr-lg-2 {
      margin-right: 8px;
    }
    .mr-lg-3 {
      margin-right: 12px;
    }
    .mr-lg-4 {
      margin-right: 16px;
    }
    .mr-lg-5 {
      margin-right: 20px;
    }
    .mr-lg-6 {
      margin-right: 24px;
    }
    .mr-lg-7 {
      margin-right: 28px;
    }
    .mr-lg-8 {
      margin-right: 32px;
    }
    .mr-lg-9 {
      margin-right: 36px;
    }
    .mr-lg-10 {
      margin-right: 40px;
    }
    .mr-lg-11 {
      margin-right: 44px;
    }
    .mr-lg-12 {
      margin-right: 48px;
    }
    .mr-lg-13 {
      margin-right: 52px;
    }
    .mr-lg-14 {
      margin-right: 56px;
    }
    .mr-lg-15 {
      margin-right: 60px;
    }
    .mr-lg-16 {
      margin-right: 64px;
    }
    .mr-lg-auto {
      margin-right: auto;
    }
    .mb-lg-0 {
      margin-bottom: 0px;
    }
    .mb-lg-1 {
      margin-bottom: 4px;
    }
    .mb-lg-2 {
      margin-bottom: 8px;
    }
    .mb-lg-3 {
      margin-bottom: 12px;
    }
    .mb-lg-4 {
      margin-bottom: 16px;
    }
    .mb-lg-5 {
      margin-bottom: 20px;
    }
    .mb-lg-6 {
      margin-bottom: 24px;
    }
    .mb-lg-7 {
      margin-bottom: 28px;
    }
    .mb-lg-8 {
      margin-bottom: 32px;
    }
    .mb-lg-9 {
      margin-bottom: 36px;
    }
    .mb-lg-10 {
      margin-bottom: 40px;
    }
    .mb-lg-11 {
      margin-bottom: 44px;
    }
    .mb-lg-12 {
      margin-bottom: 48px;
    }
    .mb-lg-13 {
      margin-bottom: 52px;
    }
    .mb-lg-14 {
      margin-bottom: 56px;
    }
    .mb-lg-15 {
      margin-bottom: 60px;
    }
    .mb-lg-16 {
      margin-bottom: 64px;
    }
    .mb-lg-auto {
      margin-bottom: auto;
    }
    .ml-lg-0 {
      margin-left: 0px;
    }
    .ml-lg-1 {
      margin-left: 4px;
    }
    .ml-lg-2 {
      margin-left: 8px;
    }
    .ml-lg-3 {
      margin-left: 12px;
    }
    .ml-lg-4 {
      margin-left: 16px;
    }
    .ml-lg-5 {
      margin-left: 20px;
    }
    .ml-lg-6 {
      margin-left: 24px;
    }
    .ml-lg-7 {
      margin-left: 28px;
    }
    .ml-lg-8 {
      margin-left: 32px;
    }
    .ml-lg-9 {
      margin-left: 36px;
    }
    .ml-lg-10 {
      margin-left: 40px;
    }
    .ml-lg-11 {
      margin-left: 44px;
    }
    .ml-lg-12 {
      margin-left: 48px;
    }
    .ml-lg-13 {
      margin-left: 52px;
    }
    .ml-lg-14 {
      margin-left: 56px;
    }
    .ml-lg-15 {
      margin-left: 60px;
    }
    .ml-lg-16 {
      margin-left: 64px;
    }
    .ml-lg-auto {
      margin-left: auto;
    }
    .ms-lg-0 {
      margin-inline-start: 0px;
    }
    .ms-lg-1 {
      margin-inline-start: 4px;
    }
    .ms-lg-2 {
      margin-inline-start: 8px;
    }
    .ms-lg-3 {
      margin-inline-start: 12px;
    }
    .ms-lg-4 {
      margin-inline-start: 16px;
    }
    .ms-lg-5 {
      margin-inline-start: 20px;
    }
    .ms-lg-6 {
      margin-inline-start: 24px;
    }
    .ms-lg-7 {
      margin-inline-start: 28px;
    }
    .ms-lg-8 {
      margin-inline-start: 32px;
    }
    .ms-lg-9 {
      margin-inline-start: 36px;
    }
    .ms-lg-10 {
      margin-inline-start: 40px;
    }
    .ms-lg-11 {
      margin-inline-start: 44px;
    }
    .ms-lg-12 {
      margin-inline-start: 48px;
    }
    .ms-lg-13 {
      margin-inline-start: 52px;
    }
    .ms-lg-14 {
      margin-inline-start: 56px;
    }
    .ms-lg-15 {
      margin-inline-start: 60px;
    }
    .ms-lg-16 {
      margin-inline-start: 64px;
    }
    .ms-lg-auto {
      margin-inline-start: auto;
    }
    .me-lg-0 {
      margin-inline-end: 0px;
    }
    .me-lg-1 {
      margin-inline-end: 4px;
    }
    .me-lg-2 {
      margin-inline-end: 8px;
    }
    .me-lg-3 {
      margin-inline-end: 12px;
    }
    .me-lg-4 {
      margin-inline-end: 16px;
    }
    .me-lg-5 {
      margin-inline-end: 20px;
    }
    .me-lg-6 {
      margin-inline-end: 24px;
    }
    .me-lg-7 {
      margin-inline-end: 28px;
    }
    .me-lg-8 {
      margin-inline-end: 32px;
    }
    .me-lg-9 {
      margin-inline-end: 36px;
    }
    .me-lg-10 {
      margin-inline-end: 40px;
    }
    .me-lg-11 {
      margin-inline-end: 44px;
    }
    .me-lg-12 {
      margin-inline-end: 48px;
    }
    .me-lg-13 {
      margin-inline-end: 52px;
    }
    .me-lg-14 {
      margin-inline-end: 56px;
    }
    .me-lg-15 {
      margin-inline-end: 60px;
    }
    .me-lg-16 {
      margin-inline-end: 64px;
    }
    .me-lg-auto {
      margin-inline-end: auto;
    }
    .ma-lg-n1 {
      margin: -4px;
    }
    .ma-lg-n2 {
      margin: -8px;
    }
    .ma-lg-n3 {
      margin: -12px;
    }
    .ma-lg-n4 {
      margin: -16px;
    }
    .ma-lg-n5 {
      margin: -20px;
    }
    .ma-lg-n6 {
      margin: -24px;
    }
    .ma-lg-n7 {
      margin: -28px;
    }
    .ma-lg-n8 {
      margin: -32px;
    }
    .ma-lg-n9 {
      margin: -36px;
    }
    .ma-lg-n10 {
      margin: -40px;
    }
    .ma-lg-n11 {
      margin: -44px;
    }
    .ma-lg-n12 {
      margin: -48px;
    }
    .ma-lg-n13 {
      margin: -52px;
    }
    .ma-lg-n14 {
      margin: -56px;
    }
    .ma-lg-n15 {
      margin: -60px;
    }
    .ma-lg-n16 {
      margin: -64px;
    }
    .mx-lg-n1 {
      margin-right: -4px;
      margin-left: -4px;
    }
    .mx-lg-n2 {
      margin-right: -8px;
      margin-left: -8px;
    }
    .mx-lg-n3 {
      margin-right: -12px;
      margin-left: -12px;
    }
    .mx-lg-n4 {
      margin-right: -16px;
      margin-left: -16px;
    }
    .mx-lg-n5 {
      margin-right: -20px;
      margin-left: -20px;
    }
    .mx-lg-n6 {
      margin-right: -24px;
      margin-left: -24px;
    }
    .mx-lg-n7 {
      margin-right: -28px;
      margin-left: -28px;
    }
    .mx-lg-n8 {
      margin-right: -32px;
      margin-left: -32px;
    }
    .mx-lg-n9 {
      margin-right: -36px;
      margin-left: -36px;
    }
    .mx-lg-n10 {
      margin-right: -40px;
      margin-left: -40px;
    }
    .mx-lg-n11 {
      margin-right: -44px;
      margin-left: -44px;
    }
    .mx-lg-n12 {
      margin-right: -48px;
      margin-left: -48px;
    }
    .mx-lg-n13 {
      margin-right: -52px;
      margin-left: -52px;
    }
    .mx-lg-n14 {
      margin-right: -56px;
      margin-left: -56px;
    }
    .mx-lg-n15 {
      margin-right: -60px;
      margin-left: -60px;
    }
    .mx-lg-n16 {
      margin-right: -64px;
      margin-left: -64px;
    }
    .my-lg-n1 {
      margin-top: -4px;
      margin-bottom: -4px;
    }
    .my-lg-n2 {
      margin-top: -8px;
      margin-bottom: -8px;
    }
    .my-lg-n3 {
      margin-top: -12px;
      margin-bottom: -12px;
    }
    .my-lg-n4 {
      margin-top: -16px;
      margin-bottom: -16px;
    }
    .my-lg-n5 {
      margin-top: -20px;
      margin-bottom: -20px;
    }
    .my-lg-n6 {
      margin-top: -24px;
      margin-bottom: -24px;
    }
    .my-lg-n7 {
      margin-top: -28px;
      margin-bottom: -28px;
    }
    .my-lg-n8 {
      margin-top: -32px;
      margin-bottom: -32px;
    }
    .my-lg-n9 {
      margin-top: -36px;
      margin-bottom: -36px;
    }
    .my-lg-n10 {
      margin-top: -40px;
      margin-bottom: -40px;
    }
    .my-lg-n11 {
      margin-top: -44px;
      margin-bottom: -44px;
    }
    .my-lg-n12 {
      margin-top: -48px;
      margin-bottom: -48px;
    }
    .my-lg-n13 {
      margin-top: -52px;
      margin-bottom: -52px;
    }
    .my-lg-n14 {
      margin-top: -56px;
      margin-bottom: -56px;
    }
    .my-lg-n15 {
      margin-top: -60px;
      margin-bottom: -60px;
    }
    .my-lg-n16 {
      margin-top: -64px;
      margin-bottom: -64px;
    }
    .mt-lg-n1 {
      margin-top: -4px;
    }
    .mt-lg-n2 {
      margin-top: -8px;
    }
    .mt-lg-n3 {
      margin-top: -12px;
    }
    .mt-lg-n4 {
      margin-top: -16px;
    }
    .mt-lg-n5 {
      margin-top: -20px;
    }
    .mt-lg-n6 {
      margin-top: -24px;
    }
    .mt-lg-n7 {
      margin-top: -28px;
    }
    .mt-lg-n8 {
      margin-top: -32px;
    }
    .mt-lg-n9 {
      margin-top: -36px;
    }
    .mt-lg-n10 {
      margin-top: -40px;
    }
    .mt-lg-n11 {
      margin-top: -44px;
    }
    .mt-lg-n12 {
      margin-top: -48px;
    }
    .mt-lg-n13 {
      margin-top: -52px;
    }
    .mt-lg-n14 {
      margin-top: -56px;
    }
    .mt-lg-n15 {
      margin-top: -60px;
    }
    .mt-lg-n16 {
      margin-top: -64px;
    }
    .mr-lg-n1 {
      margin-right: -4px;
    }
    .mr-lg-n2 {
      margin-right: -8px;
    }
    .mr-lg-n3 {
      margin-right: -12px;
    }
    .mr-lg-n4 {
      margin-right: -16px;
    }
    .mr-lg-n5 {
      margin-right: -20px;
    }
    .mr-lg-n6 {
      margin-right: -24px;
    }
    .mr-lg-n7 {
      margin-right: -28px;
    }
    .mr-lg-n8 {
      margin-right: -32px;
    }
    .mr-lg-n9 {
      margin-right: -36px;
    }
    .mr-lg-n10 {
      margin-right: -40px;
    }
    .mr-lg-n11 {
      margin-right: -44px;
    }
    .mr-lg-n12 {
      margin-right: -48px;
    }
    .mr-lg-n13 {
      margin-right: -52px;
    }
    .mr-lg-n14 {
      margin-right: -56px;
    }
    .mr-lg-n15 {
      margin-right: -60px;
    }
    .mr-lg-n16 {
      margin-right: -64px;
    }
    .mb-lg-n1 {
      margin-bottom: -4px;
    }
    .mb-lg-n2 {
      margin-bottom: -8px;
    }
    .mb-lg-n3 {
      margin-bottom: -12px;
    }
    .mb-lg-n4 {
      margin-bottom: -16px;
    }
    .mb-lg-n5 {
      margin-bottom: -20px;
    }
    .mb-lg-n6 {
      margin-bottom: -24px;
    }
    .mb-lg-n7 {
      margin-bottom: -28px;
    }
    .mb-lg-n8 {
      margin-bottom: -32px;
    }
    .mb-lg-n9 {
      margin-bottom: -36px;
    }
    .mb-lg-n10 {
      margin-bottom: -40px;
    }
    .mb-lg-n11 {
      margin-bottom: -44px;
    }
    .mb-lg-n12 {
      margin-bottom: -48px;
    }
    .mb-lg-n13 {
      margin-bottom: -52px;
    }
    .mb-lg-n14 {
      margin-bottom: -56px;
    }
    .mb-lg-n15 {
      margin-bottom: -60px;
    }
    .mb-lg-n16 {
      margin-bottom: -64px;
    }
    .ml-lg-n1 {
      margin-left: -4px;
    }
    .ml-lg-n2 {
      margin-left: -8px;
    }
    .ml-lg-n3 {
      margin-left: -12px;
    }
    .ml-lg-n4 {
      margin-left: -16px;
    }
    .ml-lg-n5 {
      margin-left: -20px;
    }
    .ml-lg-n6 {
      margin-left: -24px;
    }
    .ml-lg-n7 {
      margin-left: -28px;
    }
    .ml-lg-n8 {
      margin-left: -32px;
    }
    .ml-lg-n9 {
      margin-left: -36px;
    }
    .ml-lg-n10 {
      margin-left: -40px;
    }
    .ml-lg-n11 {
      margin-left: -44px;
    }
    .ml-lg-n12 {
      margin-left: -48px;
    }
    .ml-lg-n13 {
      margin-left: -52px;
    }
    .ml-lg-n14 {
      margin-left: -56px;
    }
    .ml-lg-n15 {
      margin-left: -60px;
    }
    .ml-lg-n16 {
      margin-left: -64px;
    }
    .ms-lg-n1 {
      margin-inline-start: -4px;
    }
    .ms-lg-n2 {
      margin-inline-start: -8px;
    }
    .ms-lg-n3 {
      margin-inline-start: -12px;
    }
    .ms-lg-n4 {
      margin-inline-start: -16px;
    }
    .ms-lg-n5 {
      margin-inline-start: -20px;
    }
    .ms-lg-n6 {
      margin-inline-start: -24px;
    }
    .ms-lg-n7 {
      margin-inline-start: -28px;
    }
    .ms-lg-n8 {
      margin-inline-start: -32px;
    }
    .ms-lg-n9 {
      margin-inline-start: -36px;
    }
    .ms-lg-n10 {
      margin-inline-start: -40px;
    }
    .ms-lg-n11 {
      margin-inline-start: -44px;
    }
    .ms-lg-n12 {
      margin-inline-start: -48px;
    }
    .ms-lg-n13 {
      margin-inline-start: -52px;
    }
    .ms-lg-n14 {
      margin-inline-start: -56px;
    }
    .ms-lg-n15 {
      margin-inline-start: -60px;
    }
    .ms-lg-n16 {
      margin-inline-start: -64px;
    }
    .me-lg-n1 {
      margin-inline-end: -4px;
    }
    .me-lg-n2 {
      margin-inline-end: -8px;
    }
    .me-lg-n3 {
      margin-inline-end: -12px;
    }
    .me-lg-n4 {
      margin-inline-end: -16px;
    }
    .me-lg-n5 {
      margin-inline-end: -20px;
    }
    .me-lg-n6 {
      margin-inline-end: -24px;
    }
    .me-lg-n7 {
      margin-inline-end: -28px;
    }
    .me-lg-n8 {
      margin-inline-end: -32px;
    }
    .me-lg-n9 {
      margin-inline-end: -36px;
    }
    .me-lg-n10 {
      margin-inline-end: -40px;
    }
    .me-lg-n11 {
      margin-inline-end: -44px;
    }
    .me-lg-n12 {
      margin-inline-end: -48px;
    }
    .me-lg-n13 {
      margin-inline-end: -52px;
    }
    .me-lg-n14 {
      margin-inline-end: -56px;
    }
    .me-lg-n15 {
      margin-inline-end: -60px;
    }
    .me-lg-n16 {
      margin-inline-end: -64px;
    }
    .pa-lg-0 {
      padding: 0px;
    }
    .pa-lg-1 {
      padding: 4px;
    }
    .pa-lg-2 {
      padding: 8px;
    }
    .pa-lg-3 {
      padding: 12px;
    }
    .pa-lg-4 {
      padding: 16px;
    }
    .pa-lg-5 {
      padding: 20px;
    }
    .pa-lg-6 {
      padding: 24px;
    }
    .pa-lg-7 {
      padding: 28px;
    }
    .pa-lg-8 {
      padding: 32px;
    }
    .pa-lg-9 {
      padding: 36px;
    }
    .pa-lg-10 {
      padding: 40px;
    }
    .pa-lg-11 {
      padding: 44px;
    }
    .pa-lg-12 {
      padding: 48px;
    }
    .pa-lg-13 {
      padding: 52px;
    }
    .pa-lg-14 {
      padding: 56px;
    }
    .pa-lg-15 {
      padding: 60px;
    }
    .pa-lg-16 {
      padding: 64px;
    }
    .px-lg-0 {
      padding-right: 0px;
      padding-left: 0px;
    }
    .px-lg-1 {
      padding-right: 4px;
      padding-left: 4px;
    }
    .px-lg-2 {
      padding-right: 8px;
      padding-left: 8px;
    }
    .px-lg-3 {
      padding-right: 12px;
      padding-left: 12px;
    }
    .px-lg-4 {
      padding-right: 16px;
      padding-left: 16px;
    }
    .px-lg-5 {
      padding-right: 20px;
      padding-left: 20px;
    }
    .px-lg-6 {
      padding-right: 24px;
      padding-left: 24px;
    }
    .px-lg-7 {
      padding-right: 28px;
      padding-left: 28px;
    }
    .px-lg-8 {
      padding-right: 32px;
      padding-left: 32px;
    }
    .px-lg-9 {
      padding-right: 36px;
      padding-left: 36px;
    }
    .px-lg-10 {
      padding-right: 40px;
      padding-left: 40px;
    }
    .px-lg-11 {
      padding-right: 44px;
      padding-left: 44px;
    }
    .px-lg-12 {
      padding-right: 48px;
      padding-left: 48px;
    }
    .px-lg-13 {
      padding-right: 52px;
      padding-left: 52px;
    }
    .px-lg-14 {
      padding-right: 56px;
      padding-left: 56px;
    }
    .px-lg-15 {
      padding-right: 60px;
      padding-left: 60px;
    }
    .px-lg-16 {
      padding-right: 64px;
      padding-left: 64px;
    }
    .py-lg-0 {
      padding-top: 0px;
      padding-bottom: 0px;
    }
    .py-lg-1 {
      padding-top: 4px;
      padding-bottom: 4px;
    }
    .py-lg-2 {
      padding-top: 8px;
      padding-bottom: 8px;
    }
    .py-lg-3 {
      padding-top: 12px;
      padding-bottom: 12px;
    }
    .py-lg-4 {
      padding-top: 16px;
      padding-bottom: 16px;
    }
    .py-lg-5 {
      padding-top: 20px;
      padding-bottom: 20px;
    }
    .py-lg-6 {
      padding-top: 24px;
      padding-bottom: 24px;
    }
    .py-lg-7 {
      padding-top: 28px;
      padding-bottom: 28px;
    }
    .py-lg-8 {
      padding-top: 32px;
      padding-bottom: 32px;
    }
    .py-lg-9 {
      padding-top: 36px;
      padding-bottom: 36px;
    }
    .py-lg-10 {
      padding-top: 40px;
      padding-bottom: 40px;
    }
    .py-lg-11 {
      padding-top: 44px;
      padding-bottom: 44px;
    }
    .py-lg-12 {
      padding-top: 48px;
      padding-bottom: 48px;
    }
    .py-lg-13 {
      padding-top: 52px;
      padding-bottom: 52px;
    }
    .py-lg-14 {
      padding-top: 56px;
      padding-bottom: 56px;
    }
    .py-lg-15 {
      padding-top: 60px;
      padding-bottom: 60px;
    }
    .py-lg-16 {
      padding-top: 64px;
      padding-bottom: 64px;
    }
    .pt-lg-0 {
      padding-top: 0px;
    }
    .pt-lg-1 {
      padding-top: 4px;
    }
    .pt-lg-2 {
      padding-top: 8px;
    }
    .pt-lg-3 {
      padding-top: 12px;
    }
    .pt-lg-4 {
      padding-top: 16px;
    }
    .pt-lg-5 {
      padding-top: 20px;
    }
    .pt-lg-6 {
      padding-top: 24px;
    }
    .pt-lg-7 {
      padding-top: 28px;
    }
    .pt-lg-8 {
      padding-top: 32px;
    }
    .pt-lg-9 {
      padding-top: 36px;
    }
    .pt-lg-10 {
      padding-top: 40px;
    }
    .pt-lg-11 {
      padding-top: 44px;
    }
    .pt-lg-12 {
      padding-top: 48px;
    }
    .pt-lg-13 {
      padding-top: 52px;
    }
    .pt-lg-14 {
      padding-top: 56px;
    }
    .pt-lg-15 {
      padding-top: 60px;
    }
    .pt-lg-16 {
      padding-top: 64px;
    }
    .pr-lg-0 {
      padding-right: 0px;
    }
    .pr-lg-1 {
      padding-right: 4px;
    }
    .pr-lg-2 {
      padding-right: 8px;
    }
    .pr-lg-3 {
      padding-right: 12px;
    }
    .pr-lg-4 {
      padding-right: 16px;
    }
    .pr-lg-5 {
      padding-right: 20px;
    }
    .pr-lg-6 {
      padding-right: 24px;
    }
    .pr-lg-7 {
      padding-right: 28px;
    }
    .pr-lg-8 {
      padding-right: 32px;
    }
    .pr-lg-9 {
      padding-right: 36px;
    }
    .pr-lg-10 {
      padding-right: 40px;
    }
    .pr-lg-11 {
      padding-right: 44px;
    }
    .pr-lg-12 {
      padding-right: 48px;
    }
    .pr-lg-13 {
      padding-right: 52px;
    }
    .pr-lg-14 {
      padding-right: 56px;
    }
    .pr-lg-15 {
      padding-right: 60px;
    }
    .pr-lg-16 {
      padding-right: 64px;
    }
    .pb-lg-0 {
      padding-bottom: 0px;
    }
    .pb-lg-1 {
      padding-bottom: 4px;
    }
    .pb-lg-2 {
      padding-bottom: 8px;
    }
    .pb-lg-3 {
      padding-bottom: 12px;
    }
    .pb-lg-4 {
      padding-bottom: 16px;
    }
    .pb-lg-5 {
      padding-bottom: 20px;
    }
    .pb-lg-6 {
      padding-bottom: 24px;
    }
    .pb-lg-7 {
      padding-bottom: 28px;
    }
    .pb-lg-8 {
      padding-bottom: 32px;
    }
    .pb-lg-9 {
      padding-bottom: 36px;
    }
    .pb-lg-10 {
      padding-bottom: 40px;
    }
    .pb-lg-11 {
      padding-bottom: 44px;
    }
    .pb-lg-12 {
      padding-bottom: 48px;
    }
    .pb-lg-13 {
      padding-bottom: 52px;
    }
    .pb-lg-14 {
      padding-bottom: 56px;
    }
    .pb-lg-15 {
      padding-bottom: 60px;
    }
    .pb-lg-16 {
      padding-bottom: 64px;
    }
    .pl-lg-0 {
      padding-left: 0px;
    }
    .pl-lg-1 {
      padding-left: 4px;
    }
    .pl-lg-2 {
      padding-left: 8px;
    }
    .pl-lg-3 {
      padding-left: 12px;
    }
    .pl-lg-4 {
      padding-left: 16px;
    }
    .pl-lg-5 {
      padding-left: 20px;
    }
    .pl-lg-6 {
      padding-left: 24px;
    }
    .pl-lg-7 {
      padding-left: 28px;
    }
    .pl-lg-8 {
      padding-left: 32px;
    }
    .pl-lg-9 {
      padding-left: 36px;
    }
    .pl-lg-10 {
      padding-left: 40px;
    }
    .pl-lg-11 {
      padding-left: 44px;
    }
    .pl-lg-12 {
      padding-left: 48px;
    }
    .pl-lg-13 {
      padding-left: 52px;
    }
    .pl-lg-14 {
      padding-left: 56px;
    }
    .pl-lg-15 {
      padding-left: 60px;
    }
    .pl-lg-16 {
      padding-left: 64px;
    }
    .ps-lg-0 {
      padding-inline-start: 0px;
    }
    .ps-lg-1 {
      padding-inline-start: 4px;
    }
    .ps-lg-2 {
      padding-inline-start: 8px;
    }
    .ps-lg-3 {
      padding-inline-start: 12px;
    }
    .ps-lg-4 {
      padding-inline-start: 16px;
    }
    .ps-lg-5 {
      padding-inline-start: 20px;
    }
    .ps-lg-6 {
      padding-inline-start: 24px;
    }
    .ps-lg-7 {
      padding-inline-start: 28px;
    }
    .ps-lg-8 {
      padding-inline-start: 32px;
    }
    .ps-lg-9 {
      padding-inline-start: 36px;
    }
    .ps-lg-10 {
      padding-inline-start: 40px;
    }
    .ps-lg-11 {
      padding-inline-start: 44px;
    }
    .ps-lg-12 {
      padding-inline-start: 48px;
    }
    .ps-lg-13 {
      padding-inline-start: 52px;
    }
    .ps-lg-14 {
      padding-inline-start: 56px;
    }
    .ps-lg-15 {
      padding-inline-start: 60px;
    }
    .ps-lg-16 {
      padding-inline-start: 64px;
    }
    .pe-lg-0 {
      padding-inline-end: 0px;
    }
    .pe-lg-1 {
      padding-inline-end: 4px;
    }
    .pe-lg-2 {
      padding-inline-end: 8px;
    }
    .pe-lg-3 {
      padding-inline-end: 12px;
    }
    .pe-lg-4 {
      padding-inline-end: 16px;
    }
    .pe-lg-5 {
      padding-inline-end: 20px;
    }
    .pe-lg-6 {
      padding-inline-end: 24px;
    }
    .pe-lg-7 {
      padding-inline-end: 28px;
    }
    .pe-lg-8 {
      padding-inline-end: 32px;
    }
    .pe-lg-9 {
      padding-inline-end: 36px;
    }
    .pe-lg-10 {
      padding-inline-end: 40px;
    }
    .pe-lg-11 {
      padding-inline-end: 44px;
    }
    .pe-lg-12 {
      padding-inline-end: 48px;
    }
    .pe-lg-13 {
      padding-inline-end: 52px;
    }
    .pe-lg-14 {
      padding-inline-end: 56px;
    }
    .pe-lg-15 {
      padding-inline-end: 60px;
    }
    .pe-lg-16 {
      padding-inline-end: 64px;
    }
    .text-lg-left {
      text-align: left;
    }
    .text-lg-right {
      text-align: right;
    }
    .text-lg-center {
      text-align: center;
    }
    .text-lg-justify {
      text-align: justify;
    }
    .text-lg-start {
      text-align: start;
    }
    .text-lg-end {
      text-align: end;
    }
    .h-lg-auto {
      height: auto;
    }
    .h-lg-screen {
      height: 100dvh;
    }
    .h-lg-0 {
      height: 0;
    }
    .h-lg-25 {
      height: 25%;
    }
    .h-lg-50 {
      height: 50%;
    }
    .h-lg-75 {
      height: 75%;
    }
    .h-lg-100 {
      height: 100%;
    }
    .w-lg-auto {
      width: auto;
    }
    .w-lg-0 {
      width: 0;
    }
    .w-lg-25 {
      width: 25%;
    }
    .w-lg-33 {
      width: 33%;
    }
    .w-lg-50 {
      width: 50%;
    }
    .w-lg-66 {
      width: 66%;
    }
    .w-lg-75 {
      width: 75%;
    }
    .w-lg-100 {
      width: 100%;
    }
  }
  @media (min-width: 1545px) {
    .d-xl-none {
      display: none;
    }
    .d-xl-inline {
      display: inline;
    }
    .d-xl-inline-block {
      display: inline-block;
    }
    .d-xl-block {
      display: block;
    }
    .d-xl-table {
      display: table;
    }
    .d-xl-table-row {
      display: table-row;
    }
    .d-xl-table-cell {
      display: table-cell;
    }
    .d-xl-flex {
      display: flex;
    }
    .d-xl-inline-flex {
      display: inline-flex;
    }
    .float-xl-none {
      float: none;
    }
    .float-xl-left {
      float: left;
    }
    .float-xl-right {
      float: right;
    }
    .v-locale--is-rtl .float-xl-end {
      float: left;
    }
    .v-locale--is-rtl .float-xl-start {
      float: right;
    }
    .v-locale--is-ltr .float-xl-end {
      float: right;
    }
    .v-locale--is-ltr .float-xl-start {
      float: left;
    }
    .flex-xl-fill {
      flex: 1 1 auto;
    }
    .flex-xl-1-1 {
      flex: 1 1 auto;
    }
    .flex-xl-1-0 {
      flex: 1 0 auto;
    }
    .flex-xl-0-1 {
      flex: 0 1 auto;
    }
    .flex-xl-0-0 {
      flex: 0 0 auto;
    }
    .flex-xl-1-1-100 {
      flex: 1 1 100%;
    }
    .flex-xl-1-0-100 {
      flex: 1 0 100%;
    }
    .flex-xl-0-1-100 {
      flex: 0 1 100%;
    }
    .flex-xl-0-0-100 {
      flex: 0 0 100%;
    }
    .flex-xl-1-1-0 {
      flex: 1 1 0;
    }
    .flex-xl-1-0-0 {
      flex: 1 0 0;
    }
    .flex-xl-0-1-0 {
      flex: 0 1 0;
    }
    .flex-xl-0-0-0 {
      flex: 0 0 0;
    }
    .flex-xl-row {
      flex-direction: row;
    }
    .flex-xl-column {
      flex-direction: column;
    }
    .flex-xl-row-reverse {
      flex-direction: row-reverse;
    }
    .flex-xl-column-reverse {
      flex-direction: column-reverse;
    }
    .flex-xl-grow-0 {
      flex-grow: 0;
    }
    .flex-xl-grow-1 {
      flex-grow: 1;
    }
    .flex-xl-shrink-0 {
      flex-shrink: 0;
    }
    .flex-xl-shrink-1 {
      flex-shrink: 1;
    }
    .flex-xl-wrap {
      flex-wrap: wrap;
    }
    .flex-xl-nowrap {
      flex-wrap: nowrap;
    }
    .flex-xl-wrap-reverse {
      flex-wrap: wrap-reverse;
    }
    .justify-xl-start {
      justify-content: flex-start;
    }
    .justify-xl-end {
      justify-content: flex-end;
    }
    .justify-xl-center {
      justify-content: center;
    }
    .justify-xl-space-between {
      justify-content: space-between;
    }
    .justify-xl-space-around {
      justify-content: space-around;
    }
    .justify-xl-space-evenly {
      justify-content: space-evenly;
    }
    .justify-items-xl-start {
      justify-items: flex-start;
    }
    .justify-items-xl-end {
      justify-items: flex-end;
    }
    .justify-items-xl-center {
      justify-items: center;
    }
    .justify-items-xl-stretch {
      justify-items: stretch;
    }
    .align-xl-start {
      align-items: flex-start;
    }
    .align-xl-end {
      align-items: flex-end;
    }
    .align-xl-center {
      align-items: center;
    }
    .align-xl-baseline {
      align-items: baseline;
    }
    .align-xl-stretch {
      align-items: stretch;
    }
    .align-content-xl-start {
      align-content: flex-start;
    }
    .align-content-xl-end {
      align-content: flex-end;
    }
    .align-content-xl-center {
      align-content: center;
    }
    .align-content-xl-space-between {
      align-content: space-between;
    }
    .align-content-xl-space-around {
      align-content: space-around;
    }
    .align-content-xl-space-evenly {
      align-content: space-evenly;
    }
    .align-content-xl-stretch {
      align-content: stretch;
    }
    .align-self-xl-auto {
      align-self: auto;
    }
    .align-self-xl-start {
      align-self: flex-start;
    }
    .align-self-xl-end {
      align-self: flex-end;
    }
    .align-self-xl-center {
      align-self: center;
    }
    .align-self-xl-baseline {
      align-self: baseline;
    }
    .align-self-xl-stretch {
      align-self: stretch;
    }
    .order-xl-first {
      order: -1;
    }
    .order-xl-0 {
      order: 0;
    }
    .order-xl-1 {
      order: 1;
    }
    .order-xl-2 {
      order: 2;
    }
    .order-xl-3 {
      order: 3;
    }
    .order-xl-4 {
      order: 4;
    }
    .order-xl-5 {
      order: 5;
    }
    .order-xl-6 {
      order: 6;
    }
    .order-xl-7 {
      order: 7;
    }
    .order-xl-8 {
      order: 8;
    }
    .order-xl-9 {
      order: 9;
    }
    .order-xl-10 {
      order: 10;
    }
    .order-xl-11 {
      order: 11;
    }
    .order-xl-12 {
      order: 12;
    }
    .order-xl-last {
      order: 13;
    }
    .ga-xl-0 {
      gap: 0px;
    }
    .ga-xl-1 {
      gap: 4px;
    }
    .ga-xl-2 {
      gap: 8px;
    }
    .ga-xl-3 {
      gap: 12px;
    }
    .ga-xl-4 {
      gap: 16px;
    }
    .ga-xl-5 {
      gap: 20px;
    }
    .ga-xl-6 {
      gap: 24px;
    }
    .ga-xl-7 {
      gap: 28px;
    }
    .ga-xl-8 {
      gap: 32px;
    }
    .ga-xl-9 {
      gap: 36px;
    }
    .ga-xl-10 {
      gap: 40px;
    }
    .ga-xl-11 {
      gap: 44px;
    }
    .ga-xl-12 {
      gap: 48px;
    }
    .ga-xl-13 {
      gap: 52px;
    }
    .ga-xl-14 {
      gap: 56px;
    }
    .ga-xl-15 {
      gap: 60px;
    }
    .ga-xl-16 {
      gap: 64px;
    }
    .ga-xl-auto {
      gap: auto;
    }
    .gr-xl-0 {
      row-gap: 0px;
    }
    .gr-xl-1 {
      row-gap: 4px;
    }
    .gr-xl-2 {
      row-gap: 8px;
    }
    .gr-xl-3 {
      row-gap: 12px;
    }
    .gr-xl-4 {
      row-gap: 16px;
    }
    .gr-xl-5 {
      row-gap: 20px;
    }
    .gr-xl-6 {
      row-gap: 24px;
    }
    .gr-xl-7 {
      row-gap: 28px;
    }
    .gr-xl-8 {
      row-gap: 32px;
    }
    .gr-xl-9 {
      row-gap: 36px;
    }
    .gr-xl-10 {
      row-gap: 40px;
    }
    .gr-xl-11 {
      row-gap: 44px;
    }
    .gr-xl-12 {
      row-gap: 48px;
    }
    .gr-xl-13 {
      row-gap: 52px;
    }
    .gr-xl-14 {
      row-gap: 56px;
    }
    .gr-xl-15 {
      row-gap: 60px;
    }
    .gr-xl-16 {
      row-gap: 64px;
    }
    .gr-xl-auto {
      row-gap: auto;
    }
    .gc-xl-0 {
      column-gap: 0px;
    }
    .gc-xl-1 {
      column-gap: 4px;
    }
    .gc-xl-2 {
      column-gap: 8px;
    }
    .gc-xl-3 {
      column-gap: 12px;
    }
    .gc-xl-4 {
      column-gap: 16px;
    }
    .gc-xl-5 {
      column-gap: 20px;
    }
    .gc-xl-6 {
      column-gap: 24px;
    }
    .gc-xl-7 {
      column-gap: 28px;
    }
    .gc-xl-8 {
      column-gap: 32px;
    }
    .gc-xl-9 {
      column-gap: 36px;
    }
    .gc-xl-10 {
      column-gap: 40px;
    }
    .gc-xl-11 {
      column-gap: 44px;
    }
    .gc-xl-12 {
      column-gap: 48px;
    }
    .gc-xl-13 {
      column-gap: 52px;
    }
    .gc-xl-14 {
      column-gap: 56px;
    }
    .gc-xl-15 {
      column-gap: 60px;
    }
    .gc-xl-16 {
      column-gap: 64px;
    }
    .gc-xl-auto {
      column-gap: auto;
    }
    .ma-xl-0 {
      margin: 0px;
    }
    .ma-xl-1 {
      margin: 4px;
    }
    .ma-xl-2 {
      margin: 8px;
    }
    .ma-xl-3 {
      margin: 12px;
    }
    .ma-xl-4 {
      margin: 16px;
    }
    .ma-xl-5 {
      margin: 20px;
    }
    .ma-xl-6 {
      margin: 24px;
    }
    .ma-xl-7 {
      margin: 28px;
    }
    .ma-xl-8 {
      margin: 32px;
    }
    .ma-xl-9 {
      margin: 36px;
    }
    .ma-xl-10 {
      margin: 40px;
    }
    .ma-xl-11 {
      margin: 44px;
    }
    .ma-xl-12 {
      margin: 48px;
    }
    .ma-xl-13 {
      margin: 52px;
    }
    .ma-xl-14 {
      margin: 56px;
    }
    .ma-xl-15 {
      margin: 60px;
    }
    .ma-xl-16 {
      margin: 64px;
    }
    .ma-xl-auto {
      margin: auto;
    }
    .mx-xl-0 {
      margin-right: 0px;
      margin-left: 0px;
    }
    .mx-xl-1 {
      margin-right: 4px;
      margin-left: 4px;
    }
    .mx-xl-2 {
      margin-right: 8px;
      margin-left: 8px;
    }
    .mx-xl-3 {
      margin-right: 12px;
      margin-left: 12px;
    }
    .mx-xl-4 {
      margin-right: 16px;
      margin-left: 16px;
    }
    .mx-xl-5 {
      margin-right: 20px;
      margin-left: 20px;
    }
    .mx-xl-6 {
      margin-right: 24px;
      margin-left: 24px;
    }
    .mx-xl-7 {
      margin-right: 28px;
      margin-left: 28px;
    }
    .mx-xl-8 {
      margin-right: 32px;
      margin-left: 32px;
    }
    .mx-xl-9 {
      margin-right: 36px;
      margin-left: 36px;
    }
    .mx-xl-10 {
      margin-right: 40px;
      margin-left: 40px;
    }
    .mx-xl-11 {
      margin-right: 44px;
      margin-left: 44px;
    }
    .mx-xl-12 {
      margin-right: 48px;
      margin-left: 48px;
    }
    .mx-xl-13 {
      margin-right: 52px;
      margin-left: 52px;
    }
    .mx-xl-14 {
      margin-right: 56px;
      margin-left: 56px;
    }
    .mx-xl-15 {
      margin-right: 60px;
      margin-left: 60px;
    }
    .mx-xl-16 {
      margin-right: 64px;
      margin-left: 64px;
    }
    .mx-xl-auto {
      margin-right: auto;
      margin-left: auto;
    }
    .my-xl-0 {
      margin-top: 0px;
      margin-bottom: 0px;
    }
    .my-xl-1 {
      margin-top: 4px;
      margin-bottom: 4px;
    }
    .my-xl-2 {
      margin-top: 8px;
      margin-bottom: 8px;
    }
    .my-xl-3 {
      margin-top: 12px;
      margin-bottom: 12px;
    }
    .my-xl-4 {
      margin-top: 16px;
      margin-bottom: 16px;
    }
    .my-xl-5 {
      margin-top: 20px;
      margin-bottom: 20px;
    }
    .my-xl-6 {
      margin-top: 24px;
      margin-bottom: 24px;
    }
    .my-xl-7 {
      margin-top: 28px;
      margin-bottom: 28px;
    }
    .my-xl-8 {
      margin-top: 32px;
      margin-bottom: 32px;
    }
    .my-xl-9 {
      margin-top: 36px;
      margin-bottom: 36px;
    }
    .my-xl-10 {
      margin-top: 40px;
      margin-bottom: 40px;
    }
    .my-xl-11 {
      margin-top: 44px;
      margin-bottom: 44px;
    }
    .my-xl-12 {
      margin-top: 48px;
      margin-bottom: 48px;
    }
    .my-xl-13 {
      margin-top: 52px;
      margin-bottom: 52px;
    }
    .my-xl-14 {
      margin-top: 56px;
      margin-bottom: 56px;
    }
    .my-xl-15 {
      margin-top: 60px;
      margin-bottom: 60px;
    }
    .my-xl-16 {
      margin-top: 64px;
      margin-bottom: 64px;
    }
    .my-xl-auto {
      margin-top: auto;
      margin-bottom: auto;
    }
    .mt-xl-0 {
      margin-top: 0px;
    }
    .mt-xl-1 {
      margin-top: 4px;
    }
    .mt-xl-2 {
      margin-top: 8px;
    }
    .mt-xl-3 {
      margin-top: 12px;
    }
    .mt-xl-4 {
      margin-top: 16px;
    }
    .mt-xl-5 {
      margin-top: 20px;
    }
    .mt-xl-6 {
      margin-top: 24px;
    }
    .mt-xl-7 {
      margin-top: 28px;
    }
    .mt-xl-8 {
      margin-top: 32px;
    }
    .mt-xl-9 {
      margin-top: 36px;
    }
    .mt-xl-10 {
      margin-top: 40px;
    }
    .mt-xl-11 {
      margin-top: 44px;
    }
    .mt-xl-12 {
      margin-top: 48px;
    }
    .mt-xl-13 {
      margin-top: 52px;
    }
    .mt-xl-14 {
      margin-top: 56px;
    }
    .mt-xl-15 {
      margin-top: 60px;
    }
    .mt-xl-16 {
      margin-top: 64px;
    }
    .mt-xl-auto {
      margin-top: auto;
    }
    .mr-xl-0 {
      margin-right: 0px;
    }
    .mr-xl-1 {
      margin-right: 4px;
    }
    .mr-xl-2 {
      margin-right: 8px;
    }
    .mr-xl-3 {
      margin-right: 12px;
    }
    .mr-xl-4 {
      margin-right: 16px;
    }
    .mr-xl-5 {
      margin-right: 20px;
    }
    .mr-xl-6 {
      margin-right: 24px;
    }
    .mr-xl-7 {
      margin-right: 28px;
    }
    .mr-xl-8 {
      margin-right: 32px;
    }
    .mr-xl-9 {
      margin-right: 36px;
    }
    .mr-xl-10 {
      margin-right: 40px;
    }
    .mr-xl-11 {
      margin-right: 44px;
    }
    .mr-xl-12 {
      margin-right: 48px;
    }
    .mr-xl-13 {
      margin-right: 52px;
    }
    .mr-xl-14 {
      margin-right: 56px;
    }
    .mr-xl-15 {
      margin-right: 60px;
    }
    .mr-xl-16 {
      margin-right: 64px;
    }
    .mr-xl-auto {
      margin-right: auto;
    }
    .mb-xl-0 {
      margin-bottom: 0px;
    }
    .mb-xl-1 {
      margin-bottom: 4px;
    }
    .mb-xl-2 {
      margin-bottom: 8px;
    }
    .mb-xl-3 {
      margin-bottom: 12px;
    }
    .mb-xl-4 {
      margin-bottom: 16px;
    }
    .mb-xl-5 {
      margin-bottom: 20px;
    }
    .mb-xl-6 {
      margin-bottom: 24px;
    }
    .mb-xl-7 {
      margin-bottom: 28px;
    }
    .mb-xl-8 {
      margin-bottom: 32px;
    }
    .mb-xl-9 {
      margin-bottom: 36px;
    }
    .mb-xl-10 {
      margin-bottom: 40px;
    }
    .mb-xl-11 {
      margin-bottom: 44px;
    }
    .mb-xl-12 {
      margin-bottom: 48px;
    }
    .mb-xl-13 {
      margin-bottom: 52px;
    }
    .mb-xl-14 {
      margin-bottom: 56px;
    }
    .mb-xl-15 {
      margin-bottom: 60px;
    }
    .mb-xl-16 {
      margin-bottom: 64px;
    }
    .mb-xl-auto {
      margin-bottom: auto;
    }
    .ml-xl-0 {
      margin-left: 0px;
    }
    .ml-xl-1 {
      margin-left: 4px;
    }
    .ml-xl-2 {
      margin-left: 8px;
    }
    .ml-xl-3 {
      margin-left: 12px;
    }
    .ml-xl-4 {
      margin-left: 16px;
    }
    .ml-xl-5 {
      margin-left: 20px;
    }
    .ml-xl-6 {
      margin-left: 24px;
    }
    .ml-xl-7 {
      margin-left: 28px;
    }
    .ml-xl-8 {
      margin-left: 32px;
    }
    .ml-xl-9 {
      margin-left: 36px;
    }
    .ml-xl-10 {
      margin-left: 40px;
    }
    .ml-xl-11 {
      margin-left: 44px;
    }
    .ml-xl-12 {
      margin-left: 48px;
    }
    .ml-xl-13 {
      margin-left: 52px;
    }
    .ml-xl-14 {
      margin-left: 56px;
    }
    .ml-xl-15 {
      margin-left: 60px;
    }
    .ml-xl-16 {
      margin-left: 64px;
    }
    .ml-xl-auto {
      margin-left: auto;
    }
    .ms-xl-0 {
      margin-inline-start: 0px;
    }
    .ms-xl-1 {
      margin-inline-start: 4px;
    }
    .ms-xl-2 {
      margin-inline-start: 8px;
    }
    .ms-xl-3 {
      margin-inline-start: 12px;
    }
    .ms-xl-4 {
      margin-inline-start: 16px;
    }
    .ms-xl-5 {
      margin-inline-start: 20px;
    }
    .ms-xl-6 {
      margin-inline-start: 24px;
    }
    .ms-xl-7 {
      margin-inline-start: 28px;
    }
    .ms-xl-8 {
      margin-inline-start: 32px;
    }
    .ms-xl-9 {
      margin-inline-start: 36px;
    }
    .ms-xl-10 {
      margin-inline-start: 40px;
    }
    .ms-xl-11 {
      margin-inline-start: 44px;
    }
    .ms-xl-12 {
      margin-inline-start: 48px;
    }
    .ms-xl-13 {
      margin-inline-start: 52px;
    }
    .ms-xl-14 {
      margin-inline-start: 56px;
    }
    .ms-xl-15 {
      margin-inline-start: 60px;
    }
    .ms-xl-16 {
      margin-inline-start: 64px;
    }
    .ms-xl-auto {
      margin-inline-start: auto;
    }
    .me-xl-0 {
      margin-inline-end: 0px;
    }
    .me-xl-1 {
      margin-inline-end: 4px;
    }
    .me-xl-2 {
      margin-inline-end: 8px;
    }
    .me-xl-3 {
      margin-inline-end: 12px;
    }
    .me-xl-4 {
      margin-inline-end: 16px;
    }
    .me-xl-5 {
      margin-inline-end: 20px;
    }
    .me-xl-6 {
      margin-inline-end: 24px;
    }
    .me-xl-7 {
      margin-inline-end: 28px;
    }
    .me-xl-8 {
      margin-inline-end: 32px;
    }
    .me-xl-9 {
      margin-inline-end: 36px;
    }
    .me-xl-10 {
      margin-inline-end: 40px;
    }
    .me-xl-11 {
      margin-inline-end: 44px;
    }
    .me-xl-12 {
      margin-inline-end: 48px;
    }
    .me-xl-13 {
      margin-inline-end: 52px;
    }
    .me-xl-14 {
      margin-inline-end: 56px;
    }
    .me-xl-15 {
      margin-inline-end: 60px;
    }
    .me-xl-16 {
      margin-inline-end: 64px;
    }
    .me-xl-auto {
      margin-inline-end: auto;
    }
    .ma-xl-n1 {
      margin: -4px;
    }
    .ma-xl-n2 {
      margin: -8px;
    }
    .ma-xl-n3 {
      margin: -12px;
    }
    .ma-xl-n4 {
      margin: -16px;
    }
    .ma-xl-n5 {
      margin: -20px;
    }
    .ma-xl-n6 {
      margin: -24px;
    }
    .ma-xl-n7 {
      margin: -28px;
    }
    .ma-xl-n8 {
      margin: -32px;
    }
    .ma-xl-n9 {
      margin: -36px;
    }
    .ma-xl-n10 {
      margin: -40px;
    }
    .ma-xl-n11 {
      margin: -44px;
    }
    .ma-xl-n12 {
      margin: -48px;
    }
    .ma-xl-n13 {
      margin: -52px;
    }
    .ma-xl-n14 {
      margin: -56px;
    }
    .ma-xl-n15 {
      margin: -60px;
    }
    .ma-xl-n16 {
      margin: -64px;
    }
    .mx-xl-n1 {
      margin-right: -4px;
      margin-left: -4px;
    }
    .mx-xl-n2 {
      margin-right: -8px;
      margin-left: -8px;
    }
    .mx-xl-n3 {
      margin-right: -12px;
      margin-left: -12px;
    }
    .mx-xl-n4 {
      margin-right: -16px;
      margin-left: -16px;
    }
    .mx-xl-n5 {
      margin-right: -20px;
      margin-left: -20px;
    }
    .mx-xl-n6 {
      margin-right: -24px;
      margin-left: -24px;
    }
    .mx-xl-n7 {
      margin-right: -28px;
      margin-left: -28px;
    }
    .mx-xl-n8 {
      margin-right: -32px;
      margin-left: -32px;
    }
    .mx-xl-n9 {
      margin-right: -36px;
      margin-left: -36px;
    }
    .mx-xl-n10 {
      margin-right: -40px;
      margin-left: -40px;
    }
    .mx-xl-n11 {
      margin-right: -44px;
      margin-left: -44px;
    }
    .mx-xl-n12 {
      margin-right: -48px;
      margin-left: -48px;
    }
    .mx-xl-n13 {
      margin-right: -52px;
      margin-left: -52px;
    }
    .mx-xl-n14 {
      margin-right: -56px;
      margin-left: -56px;
    }
    .mx-xl-n15 {
      margin-right: -60px;
      margin-left: -60px;
    }
    .mx-xl-n16 {
      margin-right: -64px;
      margin-left: -64px;
    }
    .my-xl-n1 {
      margin-top: -4px;
      margin-bottom: -4px;
    }
    .my-xl-n2 {
      margin-top: -8px;
      margin-bottom: -8px;
    }
    .my-xl-n3 {
      margin-top: -12px;
      margin-bottom: -12px;
    }
    .my-xl-n4 {
      margin-top: -16px;
      margin-bottom: -16px;
    }
    .my-xl-n5 {
      margin-top: -20px;
      margin-bottom: -20px;
    }
    .my-xl-n6 {
      margin-top: -24px;
      margin-bottom: -24px;
    }
    .my-xl-n7 {
      margin-top: -28px;
      margin-bottom: -28px;
    }
    .my-xl-n8 {
      margin-top: -32px;
      margin-bottom: -32px;
    }
    .my-xl-n9 {
      margin-top: -36px;
      margin-bottom: -36px;
    }
    .my-xl-n10 {
      margin-top: -40px;
      margin-bottom: -40px;
    }
    .my-xl-n11 {
      margin-top: -44px;
      margin-bottom: -44px;
    }
    .my-xl-n12 {
      margin-top: -48px;
      margin-bottom: -48px;
    }
    .my-xl-n13 {
      margin-top: -52px;
      margin-bottom: -52px;
    }
    .my-xl-n14 {
      margin-top: -56px;
      margin-bottom: -56px;
    }
    .my-xl-n15 {
      margin-top: -60px;
      margin-bottom: -60px;
    }
    .my-xl-n16 {
      margin-top: -64px;
      margin-bottom: -64px;
    }
    .mt-xl-n1 {
      margin-top: -4px;
    }
    .mt-xl-n2 {
      margin-top: -8px;
    }
    .mt-xl-n3 {
      margin-top: -12px;
    }
    .mt-xl-n4 {
      margin-top: -16px;
    }
    .mt-xl-n5 {
      margin-top: -20px;
    }
    .mt-xl-n6 {
      margin-top: -24px;
    }
    .mt-xl-n7 {
      margin-top: -28px;
    }
    .mt-xl-n8 {
      margin-top: -32px;
    }
    .mt-xl-n9 {
      margin-top: -36px;
    }
    .mt-xl-n10 {
      margin-top: -40px;
    }
    .mt-xl-n11 {
      margin-top: -44px;
    }
    .mt-xl-n12 {
      margin-top: -48px;
    }
    .mt-xl-n13 {
      margin-top: -52px;
    }
    .mt-xl-n14 {
      margin-top: -56px;
    }
    .mt-xl-n15 {
      margin-top: -60px;
    }
    .mt-xl-n16 {
      margin-top: -64px;
    }
    .mr-xl-n1 {
      margin-right: -4px;
    }
    .mr-xl-n2 {
      margin-right: -8px;
    }
    .mr-xl-n3 {
      margin-right: -12px;
    }
    .mr-xl-n4 {
      margin-right: -16px;
    }
    .mr-xl-n5 {
      margin-right: -20px;
    }
    .mr-xl-n6 {
      margin-right: -24px;
    }
    .mr-xl-n7 {
      margin-right: -28px;
    }
    .mr-xl-n8 {
      margin-right: -32px;
    }
    .mr-xl-n9 {
      margin-right: -36px;
    }
    .mr-xl-n10 {
      margin-right: -40px;
    }
    .mr-xl-n11 {
      margin-right: -44px;
    }
    .mr-xl-n12 {
      margin-right: -48px;
    }
    .mr-xl-n13 {
      margin-right: -52px;
    }
    .mr-xl-n14 {
      margin-right: -56px;
    }
    .mr-xl-n15 {
      margin-right: -60px;
    }
    .mr-xl-n16 {
      margin-right: -64px;
    }
    .mb-xl-n1 {
      margin-bottom: -4px;
    }
    .mb-xl-n2 {
      margin-bottom: -8px;
    }
    .mb-xl-n3 {
      margin-bottom: -12px;
    }
    .mb-xl-n4 {
      margin-bottom: -16px;
    }
    .mb-xl-n5 {
      margin-bottom: -20px;
    }
    .mb-xl-n6 {
      margin-bottom: -24px;
    }
    .mb-xl-n7 {
      margin-bottom: -28px;
    }
    .mb-xl-n8 {
      margin-bottom: -32px;
    }
    .mb-xl-n9 {
      margin-bottom: -36px;
    }
    .mb-xl-n10 {
      margin-bottom: -40px;
    }
    .mb-xl-n11 {
      margin-bottom: -44px;
    }
    .mb-xl-n12 {
      margin-bottom: -48px;
    }
    .mb-xl-n13 {
      margin-bottom: -52px;
    }
    .mb-xl-n14 {
      margin-bottom: -56px;
    }
    .mb-xl-n15 {
      margin-bottom: -60px;
    }
    .mb-xl-n16 {
      margin-bottom: -64px;
    }
    .ml-xl-n1 {
      margin-left: -4px;
    }
    .ml-xl-n2 {
      margin-left: -8px;
    }
    .ml-xl-n3 {
      margin-left: -12px;
    }
    .ml-xl-n4 {
      margin-left: -16px;
    }
    .ml-xl-n5 {
      margin-left: -20px;
    }
    .ml-xl-n6 {
      margin-left: -24px;
    }
    .ml-xl-n7 {
      margin-left: -28px;
    }
    .ml-xl-n8 {
      margin-left: -32px;
    }
    .ml-xl-n9 {
      margin-left: -36px;
    }
    .ml-xl-n10 {
      margin-left: -40px;
    }
    .ml-xl-n11 {
      margin-left: -44px;
    }
    .ml-xl-n12 {
      margin-left: -48px;
    }
    .ml-xl-n13 {
      margin-left: -52px;
    }
    .ml-xl-n14 {
      margin-left: -56px;
    }
    .ml-xl-n15 {
      margin-left: -60px;
    }
    .ml-xl-n16 {
      margin-left: -64px;
    }
    .ms-xl-n1 {
      margin-inline-start: -4px;
    }
    .ms-xl-n2 {
      margin-inline-start: -8px;
    }
    .ms-xl-n3 {
      margin-inline-start: -12px;
    }
    .ms-xl-n4 {
      margin-inline-start: -16px;
    }
    .ms-xl-n5 {
      margin-inline-start: -20px;
    }
    .ms-xl-n6 {
      margin-inline-start: -24px;
    }
    .ms-xl-n7 {
      margin-inline-start: -28px;
    }
    .ms-xl-n8 {
      margin-inline-start: -32px;
    }
    .ms-xl-n9 {
      margin-inline-start: -36px;
    }
    .ms-xl-n10 {
      margin-inline-start: -40px;
    }
    .ms-xl-n11 {
      margin-inline-start: -44px;
    }
    .ms-xl-n12 {
      margin-inline-start: -48px;
    }
    .ms-xl-n13 {
      margin-inline-start: -52px;
    }
    .ms-xl-n14 {
      margin-inline-start: -56px;
    }
    .ms-xl-n15 {
      margin-inline-start: -60px;
    }
    .ms-xl-n16 {
      margin-inline-start: -64px;
    }
    .me-xl-n1 {
      margin-inline-end: -4px;
    }
    .me-xl-n2 {
      margin-inline-end: -8px;
    }
    .me-xl-n3 {
      margin-inline-end: -12px;
    }
    .me-xl-n4 {
      margin-inline-end: -16px;
    }
    .me-xl-n5 {
      margin-inline-end: -20px;
    }
    .me-xl-n6 {
      margin-inline-end: -24px;
    }
    .me-xl-n7 {
      margin-inline-end: -28px;
    }
    .me-xl-n8 {
      margin-inline-end: -32px;
    }
    .me-xl-n9 {
      margin-inline-end: -36px;
    }
    .me-xl-n10 {
      margin-inline-end: -40px;
    }
    .me-xl-n11 {
      margin-inline-end: -44px;
    }
    .me-xl-n12 {
      margin-inline-end: -48px;
    }
    .me-xl-n13 {
      margin-inline-end: -52px;
    }
    .me-xl-n14 {
      margin-inline-end: -56px;
    }
    .me-xl-n15 {
      margin-inline-end: -60px;
    }
    .me-xl-n16 {
      margin-inline-end: -64px;
    }
    .pa-xl-0 {
      padding: 0px;
    }
    .pa-xl-1 {
      padding: 4px;
    }
    .pa-xl-2 {
      padding: 8px;
    }
    .pa-xl-3 {
      padding: 12px;
    }
    .pa-xl-4 {
      padding: 16px;
    }
    .pa-xl-5 {
      padding: 20px;
    }
    .pa-xl-6 {
      padding: 24px;
    }
    .pa-xl-7 {
      padding: 28px;
    }
    .pa-xl-8 {
      padding: 32px;
    }
    .pa-xl-9 {
      padding: 36px;
    }
    .pa-xl-10 {
      padding: 40px;
    }
    .pa-xl-11 {
      padding: 44px;
    }
    .pa-xl-12 {
      padding: 48px;
    }
    .pa-xl-13 {
      padding: 52px;
    }
    .pa-xl-14 {
      padding: 56px;
    }
    .pa-xl-15 {
      padding: 60px;
    }
    .pa-xl-16 {
      padding: 64px;
    }
    .px-xl-0 {
      padding-right: 0px;
      padding-left: 0px;
    }
    .px-xl-1 {
      padding-right: 4px;
      padding-left: 4px;
    }
    .px-xl-2 {
      padding-right: 8px;
      padding-left: 8px;
    }
    .px-xl-3 {
      padding-right: 12px;
      padding-left: 12px;
    }
    .px-xl-4 {
      padding-right: 16px;
      padding-left: 16px;
    }
    .px-xl-5 {
      padding-right: 20px;
      padding-left: 20px;
    }
    .px-xl-6 {
      padding-right: 24px;
      padding-left: 24px;
    }
    .px-xl-7 {
      padding-right: 28px;
      padding-left: 28px;
    }
    .px-xl-8 {
      padding-right: 32px;
      padding-left: 32px;
    }
    .px-xl-9 {
      padding-right: 36px;
      padding-left: 36px;
    }
    .px-xl-10 {
      padding-right: 40px;
      padding-left: 40px;
    }
    .px-xl-11 {
      padding-right: 44px;
      padding-left: 44px;
    }
    .px-xl-12 {
      padding-right: 48px;
      padding-left: 48px;
    }
    .px-xl-13 {
      padding-right: 52px;
      padding-left: 52px;
    }
    .px-xl-14 {
      padding-right: 56px;
      padding-left: 56px;
    }
    .px-xl-15 {
      padding-right: 60px;
      padding-left: 60px;
    }
    .px-xl-16 {
      padding-right: 64px;
      padding-left: 64px;
    }
    .py-xl-0 {
      padding-top: 0px;
      padding-bottom: 0px;
    }
    .py-xl-1 {
      padding-top: 4px;
      padding-bottom: 4px;
    }
    .py-xl-2 {
      padding-top: 8px;
      padding-bottom: 8px;
    }
    .py-xl-3 {
      padding-top: 12px;
      padding-bottom: 12px;
    }
    .py-xl-4 {
      padding-top: 16px;
      padding-bottom: 16px;
    }
    .py-xl-5 {
      padding-top: 20px;
      padding-bottom: 20px;
    }
    .py-xl-6 {
      padding-top: 24px;
      padding-bottom: 24px;
    }
    .py-xl-7 {
      padding-top: 28px;
      padding-bottom: 28px;
    }
    .py-xl-8 {
      padding-top: 32px;
      padding-bottom: 32px;
    }
    .py-xl-9 {
      padding-top: 36px;
      padding-bottom: 36px;
    }
    .py-xl-10 {
      padding-top: 40px;
      padding-bottom: 40px;
    }
    .py-xl-11 {
      padding-top: 44px;
      padding-bottom: 44px;
    }
    .py-xl-12 {
      padding-top: 48px;
      padding-bottom: 48px;
    }
    .py-xl-13 {
      padding-top: 52px;
      padding-bottom: 52px;
    }
    .py-xl-14 {
      padding-top: 56px;
      padding-bottom: 56px;
    }
    .py-xl-15 {
      padding-top: 60px;
      padding-bottom: 60px;
    }
    .py-xl-16 {
      padding-top: 64px;
      padding-bottom: 64px;
    }
    .pt-xl-0 {
      padding-top: 0px;
    }
    .pt-xl-1 {
      padding-top: 4px;
    }
    .pt-xl-2 {
      padding-top: 8px;
    }
    .pt-xl-3 {
      padding-top: 12px;
    }
    .pt-xl-4 {
      padding-top: 16px;
    }
    .pt-xl-5 {
      padding-top: 20px;
    }
    .pt-xl-6 {
      padding-top: 24px;
    }
    .pt-xl-7 {
      padding-top: 28px;
    }
    .pt-xl-8 {
      padding-top: 32px;
    }
    .pt-xl-9 {
      padding-top: 36px;
    }
    .pt-xl-10 {
      padding-top: 40px;
    }
    .pt-xl-11 {
      padding-top: 44px;
    }
    .pt-xl-12 {
      padding-top: 48px;
    }
    .pt-xl-13 {
      padding-top: 52px;
    }
    .pt-xl-14 {
      padding-top: 56px;
    }
    .pt-xl-15 {
      padding-top: 60px;
    }
    .pt-xl-16 {
      padding-top: 64px;
    }
    .pr-xl-0 {
      padding-right: 0px;
    }
    .pr-xl-1 {
      padding-right: 4px;
    }
    .pr-xl-2 {
      padding-right: 8px;
    }
    .pr-xl-3 {
      padding-right: 12px;
    }
    .pr-xl-4 {
      padding-right: 16px;
    }
    .pr-xl-5 {
      padding-right: 20px;
    }
    .pr-xl-6 {
      padding-right: 24px;
    }
    .pr-xl-7 {
      padding-right: 28px;
    }
    .pr-xl-8 {
      padding-right: 32px;
    }
    .pr-xl-9 {
      padding-right: 36px;
    }
    .pr-xl-10 {
      padding-right: 40px;
    }
    .pr-xl-11 {
      padding-right: 44px;
    }
    .pr-xl-12 {
      padding-right: 48px;
    }
    .pr-xl-13 {
      padding-right: 52px;
    }
    .pr-xl-14 {
      padding-right: 56px;
    }
    .pr-xl-15 {
      padding-right: 60px;
    }
    .pr-xl-16 {
      padding-right: 64px;
    }
    .pb-xl-0 {
      padding-bottom: 0px;
    }
    .pb-xl-1 {
      padding-bottom: 4px;
    }
    .pb-xl-2 {
      padding-bottom: 8px;
    }
    .pb-xl-3 {
      padding-bottom: 12px;
    }
    .pb-xl-4 {
      padding-bottom: 16px;
    }
    .pb-xl-5 {
      padding-bottom: 20px;
    }
    .pb-xl-6 {
      padding-bottom: 24px;
    }
    .pb-xl-7 {
      padding-bottom: 28px;
    }
    .pb-xl-8 {
      padding-bottom: 32px;
    }
    .pb-xl-9 {
      padding-bottom: 36px;
    }
    .pb-xl-10 {
      padding-bottom: 40px;
    }
    .pb-xl-11 {
      padding-bottom: 44px;
    }
    .pb-xl-12 {
      padding-bottom: 48px;
    }
    .pb-xl-13 {
      padding-bottom: 52px;
    }
    .pb-xl-14 {
      padding-bottom: 56px;
    }
    .pb-xl-15 {
      padding-bottom: 60px;
    }
    .pb-xl-16 {
      padding-bottom: 64px;
    }
    .pl-xl-0 {
      padding-left: 0px;
    }
    .pl-xl-1 {
      padding-left: 4px;
    }
    .pl-xl-2 {
      padding-left: 8px;
    }
    .pl-xl-3 {
      padding-left: 12px;
    }
    .pl-xl-4 {
      padding-left: 16px;
    }
    .pl-xl-5 {
      padding-left: 20px;
    }
    .pl-xl-6 {
      padding-left: 24px;
    }
    .pl-xl-7 {
      padding-left: 28px;
    }
    .pl-xl-8 {
      padding-left: 32px;
    }
    .pl-xl-9 {
      padding-left: 36px;
    }
    .pl-xl-10 {
      padding-left: 40px;
    }
    .pl-xl-11 {
      padding-left: 44px;
    }
    .pl-xl-12 {
      padding-left: 48px;
    }
    .pl-xl-13 {
      padding-left: 52px;
    }
    .pl-xl-14 {
      padding-left: 56px;
    }
    .pl-xl-15 {
      padding-left: 60px;
    }
    .pl-xl-16 {
      padding-left: 64px;
    }
    .ps-xl-0 {
      padding-inline-start: 0px;
    }
    .ps-xl-1 {
      padding-inline-start: 4px;
    }
    .ps-xl-2 {
      padding-inline-start: 8px;
    }
    .ps-xl-3 {
      padding-inline-start: 12px;
    }
    .ps-xl-4 {
      padding-inline-start: 16px;
    }
    .ps-xl-5 {
      padding-inline-start: 20px;
    }
    .ps-xl-6 {
      padding-inline-start: 24px;
    }
    .ps-xl-7 {
      padding-inline-start: 28px;
    }
    .ps-xl-8 {
      padding-inline-start: 32px;
    }
    .ps-xl-9 {
      padding-inline-start: 36px;
    }
    .ps-xl-10 {
      padding-inline-start: 40px;
    }
    .ps-xl-11 {
      padding-inline-start: 44px;
    }
    .ps-xl-12 {
      padding-inline-start: 48px;
    }
    .ps-xl-13 {
      padding-inline-start: 52px;
    }
    .ps-xl-14 {
      padding-inline-start: 56px;
    }
    .ps-xl-15 {
      padding-inline-start: 60px;
    }
    .ps-xl-16 {
      padding-inline-start: 64px;
    }
    .pe-xl-0 {
      padding-inline-end: 0px;
    }
    .pe-xl-1 {
      padding-inline-end: 4px;
    }
    .pe-xl-2 {
      padding-inline-end: 8px;
    }
    .pe-xl-3 {
      padding-inline-end: 12px;
    }
    .pe-xl-4 {
      padding-inline-end: 16px;
    }
    .pe-xl-5 {
      padding-inline-end: 20px;
    }
    .pe-xl-6 {
      padding-inline-end: 24px;
    }
    .pe-xl-7 {
      padding-inline-end: 28px;
    }
    .pe-xl-8 {
      padding-inline-end: 32px;
    }
    .pe-xl-9 {
      padding-inline-end: 36px;
    }
    .pe-xl-10 {
      padding-inline-end: 40px;
    }
    .pe-xl-11 {
      padding-inline-end: 44px;
    }
    .pe-xl-12 {
      padding-inline-end: 48px;
    }
    .pe-xl-13 {
      padding-inline-end: 52px;
    }
    .pe-xl-14 {
      padding-inline-end: 56px;
    }
    .pe-xl-15 {
      padding-inline-end: 60px;
    }
    .pe-xl-16 {
      padding-inline-end: 64px;
    }
    .text-xl-left {
      text-align: left;
    }
    .text-xl-right {
      text-align: right;
    }
    .text-xl-center {
      text-align: center;
    }
    .text-xl-justify {
      text-align: justify;
    }
    .text-xl-start {
      text-align: start;
    }
    .text-xl-end {
      text-align: end;
    }
    .h-xl-auto {
      height: auto;
    }
    .h-xl-screen {
      height: 100dvh;
    }
    .h-xl-0 {
      height: 0;
    }
    .h-xl-25 {
      height: 25%;
    }
    .h-xl-50 {
      height: 50%;
    }
    .h-xl-75 {
      height: 75%;
    }
    .h-xl-100 {
      height: 100%;
    }
    .w-xl-auto {
      width: auto;
    }
    .w-xl-0 {
      width: 0;
    }
    .w-xl-25 {
      width: 25%;
    }
    .w-xl-33 {
      width: 33%;
    }
    .w-xl-50 {
      width: 50%;
    }
    .w-xl-66 {
      width: 66%;
    }
    .w-xl-75 {
      width: 75%;
    }
    .w-xl-100 {
      width: 100%;
    }
  }
  @media (min-width: 2138px) {
    .d-xxl-none {
      display: none;
    }
    .d-xxl-inline {
      display: inline;
    }
    .d-xxl-inline-block {
      display: inline-block;
    }
    .d-xxl-block {
      display: block;
    }
    .d-xxl-table {
      display: table;
    }
    .d-xxl-table-row {
      display: table-row;
    }
    .d-xxl-table-cell {
      display: table-cell;
    }
    .d-xxl-flex {
      display: flex;
    }
    .d-xxl-inline-flex {
      display: inline-flex;
    }
    .float-xxl-none {
      float: none;
    }
    .float-xxl-left {
      float: left;
    }
    .float-xxl-right {
      float: right;
    }
    .v-locale--is-rtl .float-xxl-end {
      float: left;
    }
    .v-locale--is-rtl .float-xxl-start {
      float: right;
    }
    .v-locale--is-ltr .float-xxl-end {
      float: right;
    }
    .v-locale--is-ltr .float-xxl-start {
      float: left;
    }
    .flex-xxl-fill {
      flex: 1 1 auto;
    }
    .flex-xxl-1-1 {
      flex: 1 1 auto;
    }
    .flex-xxl-1-0 {
      flex: 1 0 auto;
    }
    .flex-xxl-0-1 {
      flex: 0 1 auto;
    }
    .flex-xxl-0-0 {
      flex: 0 0 auto;
    }
    .flex-xxl-1-1-100 {
      flex: 1 1 100%;
    }
    .flex-xxl-1-0-100 {
      flex: 1 0 100%;
    }
    .flex-xxl-0-1-100 {
      flex: 0 1 100%;
    }
    .flex-xxl-0-0-100 {
      flex: 0 0 100%;
    }
    .flex-xxl-1-1-0 {
      flex: 1 1 0;
    }
    .flex-xxl-1-0-0 {
      flex: 1 0 0;
    }
    .flex-xxl-0-1-0 {
      flex: 0 1 0;
    }
    .flex-xxl-0-0-0 {
      flex: 0 0 0;
    }
    .flex-xxl-row {
      flex-direction: row;
    }
    .flex-xxl-column {
      flex-direction: column;
    }
    .flex-xxl-row-reverse {
      flex-direction: row-reverse;
    }
    .flex-xxl-column-reverse {
      flex-direction: column-reverse;
    }
    .flex-xxl-grow-0 {
      flex-grow: 0;
    }
    .flex-xxl-grow-1 {
      flex-grow: 1;
    }
    .flex-xxl-shrink-0 {
      flex-shrink: 0;
    }
    .flex-xxl-shrink-1 {
      flex-shrink: 1;
    }
    .flex-xxl-wrap {
      flex-wrap: wrap;
    }
    .flex-xxl-nowrap {
      flex-wrap: nowrap;
    }
    .flex-xxl-wrap-reverse {
      flex-wrap: wrap-reverse;
    }
    .justify-xxl-start {
      justify-content: flex-start;
    }
    .justify-xxl-end {
      justify-content: flex-end;
    }
    .justify-xxl-center {
      justify-content: center;
    }
    .justify-xxl-space-between {
      justify-content: space-between;
    }
    .justify-xxl-space-around {
      justify-content: space-around;
    }
    .justify-xxl-space-evenly {
      justify-content: space-evenly;
    }
    .justify-items-xxl-start {
      justify-items: flex-start;
    }
    .justify-items-xxl-end {
      justify-items: flex-end;
    }
    .justify-items-xxl-center {
      justify-items: center;
    }
    .justify-items-xxl-stretch {
      justify-items: stretch;
    }
    .align-xxl-start {
      align-items: flex-start;
    }
    .align-xxl-end {
      align-items: flex-end;
    }
    .align-xxl-center {
      align-items: center;
    }
    .align-xxl-baseline {
      align-items: baseline;
    }
    .align-xxl-stretch {
      align-items: stretch;
    }
    .align-content-xxl-start {
      align-content: flex-start;
    }
    .align-content-xxl-end {
      align-content: flex-end;
    }
    .align-content-xxl-center {
      align-content: center;
    }
    .align-content-xxl-space-between {
      align-content: space-between;
    }
    .align-content-xxl-space-around {
      align-content: space-around;
    }
    .align-content-xxl-space-evenly {
      align-content: space-evenly;
    }
    .align-content-xxl-stretch {
      align-content: stretch;
    }
    .align-self-xxl-auto {
      align-self: auto;
    }
    .align-self-xxl-start {
      align-self: flex-start;
    }
    .align-self-xxl-end {
      align-self: flex-end;
    }
    .align-self-xxl-center {
      align-self: center;
    }
    .align-self-xxl-baseline {
      align-self: baseline;
    }
    .align-self-xxl-stretch {
      align-self: stretch;
    }
    .order-xxl-first {
      order: -1;
    }
    .order-xxl-0 {
      order: 0;
    }
    .order-xxl-1 {
      order: 1;
    }
    .order-xxl-2 {
      order: 2;
    }
    .order-xxl-3 {
      order: 3;
    }
    .order-xxl-4 {
      order: 4;
    }
    .order-xxl-5 {
      order: 5;
    }
    .order-xxl-6 {
      order: 6;
    }
    .order-xxl-7 {
      order: 7;
    }
    .order-xxl-8 {
      order: 8;
    }
    .order-xxl-9 {
      order: 9;
    }
    .order-xxl-10 {
      order: 10;
    }
    .order-xxl-11 {
      order: 11;
    }
    .order-xxl-12 {
      order: 12;
    }
    .order-xxl-last {
      order: 13;
    }
    .ga-xxl-0 {
      gap: 0px;
    }
    .ga-xxl-1 {
      gap: 4px;
    }
    .ga-xxl-2 {
      gap: 8px;
    }
    .ga-xxl-3 {
      gap: 12px;
    }
    .ga-xxl-4 {
      gap: 16px;
    }
    .ga-xxl-5 {
      gap: 20px;
    }
    .ga-xxl-6 {
      gap: 24px;
    }
    .ga-xxl-7 {
      gap: 28px;
    }
    .ga-xxl-8 {
      gap: 32px;
    }
    .ga-xxl-9 {
      gap: 36px;
    }
    .ga-xxl-10 {
      gap: 40px;
    }
    .ga-xxl-11 {
      gap: 44px;
    }
    .ga-xxl-12 {
      gap: 48px;
    }
    .ga-xxl-13 {
      gap: 52px;
    }
    .ga-xxl-14 {
      gap: 56px;
    }
    .ga-xxl-15 {
      gap: 60px;
    }
    .ga-xxl-16 {
      gap: 64px;
    }
    .ga-xxl-auto {
      gap: auto;
    }
    .gr-xxl-0 {
      row-gap: 0px;
    }
    .gr-xxl-1 {
      row-gap: 4px;
    }
    .gr-xxl-2 {
      row-gap: 8px;
    }
    .gr-xxl-3 {
      row-gap: 12px;
    }
    .gr-xxl-4 {
      row-gap: 16px;
    }
    .gr-xxl-5 {
      row-gap: 20px;
    }
    .gr-xxl-6 {
      row-gap: 24px;
    }
    .gr-xxl-7 {
      row-gap: 28px;
    }
    .gr-xxl-8 {
      row-gap: 32px;
    }
    .gr-xxl-9 {
      row-gap: 36px;
    }
    .gr-xxl-10 {
      row-gap: 40px;
    }
    .gr-xxl-11 {
      row-gap: 44px;
    }
    .gr-xxl-12 {
      row-gap: 48px;
    }
    .gr-xxl-13 {
      row-gap: 52px;
    }
    .gr-xxl-14 {
      row-gap: 56px;
    }
    .gr-xxl-15 {
      row-gap: 60px;
    }
    .gr-xxl-16 {
      row-gap: 64px;
    }
    .gr-xxl-auto {
      row-gap: auto;
    }
    .gc-xxl-0 {
      column-gap: 0px;
    }
    .gc-xxl-1 {
      column-gap: 4px;
    }
    .gc-xxl-2 {
      column-gap: 8px;
    }
    .gc-xxl-3 {
      column-gap: 12px;
    }
    .gc-xxl-4 {
      column-gap: 16px;
    }
    .gc-xxl-5 {
      column-gap: 20px;
    }
    .gc-xxl-6 {
      column-gap: 24px;
    }
    .gc-xxl-7 {
      column-gap: 28px;
    }
    .gc-xxl-8 {
      column-gap: 32px;
    }
    .gc-xxl-9 {
      column-gap: 36px;
    }
    .gc-xxl-10 {
      column-gap: 40px;
    }
    .gc-xxl-11 {
      column-gap: 44px;
    }
    .gc-xxl-12 {
      column-gap: 48px;
    }
    .gc-xxl-13 {
      column-gap: 52px;
    }
    .gc-xxl-14 {
      column-gap: 56px;
    }
    .gc-xxl-15 {
      column-gap: 60px;
    }
    .gc-xxl-16 {
      column-gap: 64px;
    }
    .gc-xxl-auto {
      column-gap: auto;
    }
    .ma-xxl-0 {
      margin: 0px;
    }
    .ma-xxl-1 {
      margin: 4px;
    }
    .ma-xxl-2 {
      margin: 8px;
    }
    .ma-xxl-3 {
      margin: 12px;
    }
    .ma-xxl-4 {
      margin: 16px;
    }
    .ma-xxl-5 {
      margin: 20px;
    }
    .ma-xxl-6 {
      margin: 24px;
    }
    .ma-xxl-7 {
      margin: 28px;
    }
    .ma-xxl-8 {
      margin: 32px;
    }
    .ma-xxl-9 {
      margin: 36px;
    }
    .ma-xxl-10 {
      margin: 40px;
    }
    .ma-xxl-11 {
      margin: 44px;
    }
    .ma-xxl-12 {
      margin: 48px;
    }
    .ma-xxl-13 {
      margin: 52px;
    }
    .ma-xxl-14 {
      margin: 56px;
    }
    .ma-xxl-15 {
      margin: 60px;
    }
    .ma-xxl-16 {
      margin: 64px;
    }
    .ma-xxl-auto {
      margin: auto;
    }
    .mx-xxl-0 {
      margin-right: 0px;
      margin-left: 0px;
    }
    .mx-xxl-1 {
      margin-right: 4px;
      margin-left: 4px;
    }
    .mx-xxl-2 {
      margin-right: 8px;
      margin-left: 8px;
    }
    .mx-xxl-3 {
      margin-right: 12px;
      margin-left: 12px;
    }
    .mx-xxl-4 {
      margin-right: 16px;
      margin-left: 16px;
    }
    .mx-xxl-5 {
      margin-right: 20px;
      margin-left: 20px;
    }
    .mx-xxl-6 {
      margin-right: 24px;
      margin-left: 24px;
    }
    .mx-xxl-7 {
      margin-right: 28px;
      margin-left: 28px;
    }
    .mx-xxl-8 {
      margin-right: 32px;
      margin-left: 32px;
    }
    .mx-xxl-9 {
      margin-right: 36px;
      margin-left: 36px;
    }
    .mx-xxl-10 {
      margin-right: 40px;
      margin-left: 40px;
    }
    .mx-xxl-11 {
      margin-right: 44px;
      margin-left: 44px;
    }
    .mx-xxl-12 {
      margin-right: 48px;
      margin-left: 48px;
    }
    .mx-xxl-13 {
      margin-right: 52px;
      margin-left: 52px;
    }
    .mx-xxl-14 {
      margin-right: 56px;
      margin-left: 56px;
    }
    .mx-xxl-15 {
      margin-right: 60px;
      margin-left: 60px;
    }
    .mx-xxl-16 {
      margin-right: 64px;
      margin-left: 64px;
    }
    .mx-xxl-auto {
      margin-right: auto;
      margin-left: auto;
    }
    .my-xxl-0 {
      margin-top: 0px;
      margin-bottom: 0px;
    }
    .my-xxl-1 {
      margin-top: 4px;
      margin-bottom: 4px;
    }
    .my-xxl-2 {
      margin-top: 8px;
      margin-bottom: 8px;
    }
    .my-xxl-3 {
      margin-top: 12px;
      margin-bottom: 12px;
    }
    .my-xxl-4 {
      margin-top: 16px;
      margin-bottom: 16px;
    }
    .my-xxl-5 {
      margin-top: 20px;
      margin-bottom: 20px;
    }
    .my-xxl-6 {
      margin-top: 24px;
      margin-bottom: 24px;
    }
    .my-xxl-7 {
      margin-top: 28px;
      margin-bottom: 28px;
    }
    .my-xxl-8 {
      margin-top: 32px;
      margin-bottom: 32px;
    }
    .my-xxl-9 {
      margin-top: 36px;
      margin-bottom: 36px;
    }
    .my-xxl-10 {
      margin-top: 40px;
      margin-bottom: 40px;
    }
    .my-xxl-11 {
      margin-top: 44px;
      margin-bottom: 44px;
    }
    .my-xxl-12 {
      margin-top: 48px;
      margin-bottom: 48px;
    }
    .my-xxl-13 {
      margin-top: 52px;
      margin-bottom: 52px;
    }
    .my-xxl-14 {
      margin-top: 56px;
      margin-bottom: 56px;
    }
    .my-xxl-15 {
      margin-top: 60px;
      margin-bottom: 60px;
    }
    .my-xxl-16 {
      margin-top: 64px;
      margin-bottom: 64px;
    }
    .my-xxl-auto {
      margin-top: auto;
      margin-bottom: auto;
    }
    .mt-xxl-0 {
      margin-top: 0px;
    }
    .mt-xxl-1 {
      margin-top: 4px;
    }
    .mt-xxl-2 {
      margin-top: 8px;
    }
    .mt-xxl-3 {
      margin-top: 12px;
    }
    .mt-xxl-4 {
      margin-top: 16px;
    }
    .mt-xxl-5 {
      margin-top: 20px;
    }
    .mt-xxl-6 {
      margin-top: 24px;
    }
    .mt-xxl-7 {
      margin-top: 28px;
    }
    .mt-xxl-8 {
      margin-top: 32px;
    }
    .mt-xxl-9 {
      margin-top: 36px;
    }
    .mt-xxl-10 {
      margin-top: 40px;
    }
    .mt-xxl-11 {
      margin-top: 44px;
    }
    .mt-xxl-12 {
      margin-top: 48px;
    }
    .mt-xxl-13 {
      margin-top: 52px;
    }
    .mt-xxl-14 {
      margin-top: 56px;
    }
    .mt-xxl-15 {
      margin-top: 60px;
    }
    .mt-xxl-16 {
      margin-top: 64px;
    }
    .mt-xxl-auto {
      margin-top: auto;
    }
    .mr-xxl-0 {
      margin-right: 0px;
    }
    .mr-xxl-1 {
      margin-right: 4px;
    }
    .mr-xxl-2 {
      margin-right: 8px;
    }
    .mr-xxl-3 {
      margin-right: 12px;
    }
    .mr-xxl-4 {
      margin-right: 16px;
    }
    .mr-xxl-5 {
      margin-right: 20px;
    }
    .mr-xxl-6 {
      margin-right: 24px;
    }
    .mr-xxl-7 {
      margin-right: 28px;
    }
    .mr-xxl-8 {
      margin-right: 32px;
    }
    .mr-xxl-9 {
      margin-right: 36px;
    }
    .mr-xxl-10 {
      margin-right: 40px;
    }
    .mr-xxl-11 {
      margin-right: 44px;
    }
    .mr-xxl-12 {
      margin-right: 48px;
    }
    .mr-xxl-13 {
      margin-right: 52px;
    }
    .mr-xxl-14 {
      margin-right: 56px;
    }
    .mr-xxl-15 {
      margin-right: 60px;
    }
    .mr-xxl-16 {
      margin-right: 64px;
    }
    .mr-xxl-auto {
      margin-right: auto;
    }
    .mb-xxl-0 {
      margin-bottom: 0px;
    }
    .mb-xxl-1 {
      margin-bottom: 4px;
    }
    .mb-xxl-2 {
      margin-bottom: 8px;
    }
    .mb-xxl-3 {
      margin-bottom: 12px;
    }
    .mb-xxl-4 {
      margin-bottom: 16px;
    }
    .mb-xxl-5 {
      margin-bottom: 20px;
    }
    .mb-xxl-6 {
      margin-bottom: 24px;
    }
    .mb-xxl-7 {
      margin-bottom: 28px;
    }
    .mb-xxl-8 {
      margin-bottom: 32px;
    }
    .mb-xxl-9 {
      margin-bottom: 36px;
    }
    .mb-xxl-10 {
      margin-bottom: 40px;
    }
    .mb-xxl-11 {
      margin-bottom: 44px;
    }
    .mb-xxl-12 {
      margin-bottom: 48px;
    }
    .mb-xxl-13 {
      margin-bottom: 52px;
    }
    .mb-xxl-14 {
      margin-bottom: 56px;
    }
    .mb-xxl-15 {
      margin-bottom: 60px;
    }
    .mb-xxl-16 {
      margin-bottom: 64px;
    }
    .mb-xxl-auto {
      margin-bottom: auto;
    }
    .ml-xxl-0 {
      margin-left: 0px;
    }
    .ml-xxl-1 {
      margin-left: 4px;
    }
    .ml-xxl-2 {
      margin-left: 8px;
    }
    .ml-xxl-3 {
      margin-left: 12px;
    }
    .ml-xxl-4 {
      margin-left: 16px;
    }
    .ml-xxl-5 {
      margin-left: 20px;
    }
    .ml-xxl-6 {
      margin-left: 24px;
    }
    .ml-xxl-7 {
      margin-left: 28px;
    }
    .ml-xxl-8 {
      margin-left: 32px;
    }
    .ml-xxl-9 {
      margin-left: 36px;
    }
    .ml-xxl-10 {
      margin-left: 40px;
    }
    .ml-xxl-11 {
      margin-left: 44px;
    }
    .ml-xxl-12 {
      margin-left: 48px;
    }
    .ml-xxl-13 {
      margin-left: 52px;
    }
    .ml-xxl-14 {
      margin-left: 56px;
    }
    .ml-xxl-15 {
      margin-left: 60px;
    }
    .ml-xxl-16 {
      margin-left: 64px;
    }
    .ml-xxl-auto {
      margin-left: auto;
    }
    .ms-xxl-0 {
      margin-inline-start: 0px;
    }
    .ms-xxl-1 {
      margin-inline-start: 4px;
    }
    .ms-xxl-2 {
      margin-inline-start: 8px;
    }
    .ms-xxl-3 {
      margin-inline-start: 12px;
    }
    .ms-xxl-4 {
      margin-inline-start: 16px;
    }
    .ms-xxl-5 {
      margin-inline-start: 20px;
    }
    .ms-xxl-6 {
      margin-inline-start: 24px;
    }
    .ms-xxl-7 {
      margin-inline-start: 28px;
    }
    .ms-xxl-8 {
      margin-inline-start: 32px;
    }
    .ms-xxl-9 {
      margin-inline-start: 36px;
    }
    .ms-xxl-10 {
      margin-inline-start: 40px;
    }
    .ms-xxl-11 {
      margin-inline-start: 44px;
    }
    .ms-xxl-12 {
      margin-inline-start: 48px;
    }
    .ms-xxl-13 {
      margin-inline-start: 52px;
    }
    .ms-xxl-14 {
      margin-inline-start: 56px;
    }
    .ms-xxl-15 {
      margin-inline-start: 60px;
    }
    .ms-xxl-16 {
      margin-inline-start: 64px;
    }
    .ms-xxl-auto {
      margin-inline-start: auto;
    }
    .me-xxl-0 {
      margin-inline-end: 0px;
    }
    .me-xxl-1 {
      margin-inline-end: 4px;
    }
    .me-xxl-2 {
      margin-inline-end: 8px;
    }
    .me-xxl-3 {
      margin-inline-end: 12px;
    }
    .me-xxl-4 {
      margin-inline-end: 16px;
    }
    .me-xxl-5 {
      margin-inline-end: 20px;
    }
    .me-xxl-6 {
      margin-inline-end: 24px;
    }
    .me-xxl-7 {
      margin-inline-end: 28px;
    }
    .me-xxl-8 {
      margin-inline-end: 32px;
    }
    .me-xxl-9 {
      margin-inline-end: 36px;
    }
    .me-xxl-10 {
      margin-inline-end: 40px;
    }
    .me-xxl-11 {
      margin-inline-end: 44px;
    }
    .me-xxl-12 {
      margin-inline-end: 48px;
    }
    .me-xxl-13 {
      margin-inline-end: 52px;
    }
    .me-xxl-14 {
      margin-inline-end: 56px;
    }
    .me-xxl-15 {
      margin-inline-end: 60px;
    }
    .me-xxl-16 {
      margin-inline-end: 64px;
    }
    .me-xxl-auto {
      margin-inline-end: auto;
    }
    .ma-xxl-n1 {
      margin: -4px;
    }
    .ma-xxl-n2 {
      margin: -8px;
    }
    .ma-xxl-n3 {
      margin: -12px;
    }
    .ma-xxl-n4 {
      margin: -16px;
    }
    .ma-xxl-n5 {
      margin: -20px;
    }
    .ma-xxl-n6 {
      margin: -24px;
    }
    .ma-xxl-n7 {
      margin: -28px;
    }
    .ma-xxl-n8 {
      margin: -32px;
    }
    .ma-xxl-n9 {
      margin: -36px;
    }
    .ma-xxl-n10 {
      margin: -40px;
    }
    .ma-xxl-n11 {
      margin: -44px;
    }
    .ma-xxl-n12 {
      margin: -48px;
    }
    .ma-xxl-n13 {
      margin: -52px;
    }
    .ma-xxl-n14 {
      margin: -56px;
    }
    .ma-xxl-n15 {
      margin: -60px;
    }
    .ma-xxl-n16 {
      margin: -64px;
    }
    .mx-xxl-n1 {
      margin-right: -4px;
      margin-left: -4px;
    }
    .mx-xxl-n2 {
      margin-right: -8px;
      margin-left: -8px;
    }
    .mx-xxl-n3 {
      margin-right: -12px;
      margin-left: -12px;
    }
    .mx-xxl-n4 {
      margin-right: -16px;
      margin-left: -16px;
    }
    .mx-xxl-n5 {
      margin-right: -20px;
      margin-left: -20px;
    }
    .mx-xxl-n6 {
      margin-right: -24px;
      margin-left: -24px;
    }
    .mx-xxl-n7 {
      margin-right: -28px;
      margin-left: -28px;
    }
    .mx-xxl-n8 {
      margin-right: -32px;
      margin-left: -32px;
    }
    .mx-xxl-n9 {
      margin-right: -36px;
      margin-left: -36px;
    }
    .mx-xxl-n10 {
      margin-right: -40px;
      margin-left: -40px;
    }
    .mx-xxl-n11 {
      margin-right: -44px;
      margin-left: -44px;
    }
    .mx-xxl-n12 {
      margin-right: -48px;
      margin-left: -48px;
    }
    .mx-xxl-n13 {
      margin-right: -52px;
      margin-left: -52px;
    }
    .mx-xxl-n14 {
      margin-right: -56px;
      margin-left: -56px;
    }
    .mx-xxl-n15 {
      margin-right: -60px;
      margin-left: -60px;
    }
    .mx-xxl-n16 {
      margin-right: -64px;
      margin-left: -64px;
    }
    .my-xxl-n1 {
      margin-top: -4px;
      margin-bottom: -4px;
    }
    .my-xxl-n2 {
      margin-top: -8px;
      margin-bottom: -8px;
    }
    .my-xxl-n3 {
      margin-top: -12px;
      margin-bottom: -12px;
    }
    .my-xxl-n4 {
      margin-top: -16px;
      margin-bottom: -16px;
    }
    .my-xxl-n5 {
      margin-top: -20px;
      margin-bottom: -20px;
    }
    .my-xxl-n6 {
      margin-top: -24px;
      margin-bottom: -24px;
    }
    .my-xxl-n7 {
      margin-top: -28px;
      margin-bottom: -28px;
    }
    .my-xxl-n8 {
      margin-top: -32px;
      margin-bottom: -32px;
    }
    .my-xxl-n9 {
      margin-top: -36px;
      margin-bottom: -36px;
    }
    .my-xxl-n10 {
      margin-top: -40px;
      margin-bottom: -40px;
    }
    .my-xxl-n11 {
      margin-top: -44px;
      margin-bottom: -44px;
    }
    .my-xxl-n12 {
      margin-top: -48px;
      margin-bottom: -48px;
    }
    .my-xxl-n13 {
      margin-top: -52px;
      margin-bottom: -52px;
    }
    .my-xxl-n14 {
      margin-top: -56px;
      margin-bottom: -56px;
    }
    .my-xxl-n15 {
      margin-top: -60px;
      margin-bottom: -60px;
    }
    .my-xxl-n16 {
      margin-top: -64px;
      margin-bottom: -64px;
    }
    .mt-xxl-n1 {
      margin-top: -4px;
    }
    .mt-xxl-n2 {
      margin-top: -8px;
    }
    .mt-xxl-n3 {
      margin-top: -12px;
    }
    .mt-xxl-n4 {
      margin-top: -16px;
    }
    .mt-xxl-n5 {
      margin-top: -20px;
    }
    .mt-xxl-n6 {
      margin-top: -24px;
    }
    .mt-xxl-n7 {
      margin-top: -28px;
    }
    .mt-xxl-n8 {
      margin-top: -32px;
    }
    .mt-xxl-n9 {
      margin-top: -36px;
    }
    .mt-xxl-n10 {
      margin-top: -40px;
    }
    .mt-xxl-n11 {
      margin-top: -44px;
    }
    .mt-xxl-n12 {
      margin-top: -48px;
    }
    .mt-xxl-n13 {
      margin-top: -52px;
    }
    .mt-xxl-n14 {
      margin-top: -56px;
    }
    .mt-xxl-n15 {
      margin-top: -60px;
    }
    .mt-xxl-n16 {
      margin-top: -64px;
    }
    .mr-xxl-n1 {
      margin-right: -4px;
    }
    .mr-xxl-n2 {
      margin-right: -8px;
    }
    .mr-xxl-n3 {
      margin-right: -12px;
    }
    .mr-xxl-n4 {
      margin-right: -16px;
    }
    .mr-xxl-n5 {
      margin-right: -20px;
    }
    .mr-xxl-n6 {
      margin-right: -24px;
    }
    .mr-xxl-n7 {
      margin-right: -28px;
    }
    .mr-xxl-n8 {
      margin-right: -32px;
    }
    .mr-xxl-n9 {
      margin-right: -36px;
    }
    .mr-xxl-n10 {
      margin-right: -40px;
    }
    .mr-xxl-n11 {
      margin-right: -44px;
    }
    .mr-xxl-n12 {
      margin-right: -48px;
    }
    .mr-xxl-n13 {
      margin-right: -52px;
    }
    .mr-xxl-n14 {
      margin-right: -56px;
    }
    .mr-xxl-n15 {
      margin-right: -60px;
    }
    .mr-xxl-n16 {
      margin-right: -64px;
    }
    .mb-xxl-n1 {
      margin-bottom: -4px;
    }
    .mb-xxl-n2 {
      margin-bottom: -8px;
    }
    .mb-xxl-n3 {
      margin-bottom: -12px;
    }
    .mb-xxl-n4 {
      margin-bottom: -16px;
    }
    .mb-xxl-n5 {
      margin-bottom: -20px;
    }
    .mb-xxl-n6 {
      margin-bottom: -24px;
    }
    .mb-xxl-n7 {
      margin-bottom: -28px;
    }
    .mb-xxl-n8 {
      margin-bottom: -32px;
    }
    .mb-xxl-n9 {
      margin-bottom: -36px;
    }
    .mb-xxl-n10 {
      margin-bottom: -40px;
    }
    .mb-xxl-n11 {
      margin-bottom: -44px;
    }
    .mb-xxl-n12 {
      margin-bottom: -48px;
    }
    .mb-xxl-n13 {
      margin-bottom: -52px;
    }
    .mb-xxl-n14 {
      margin-bottom: -56px;
    }
    .mb-xxl-n15 {
      margin-bottom: -60px;
    }
    .mb-xxl-n16 {
      margin-bottom: -64px;
    }
    .ml-xxl-n1 {
      margin-left: -4px;
    }
    .ml-xxl-n2 {
      margin-left: -8px;
    }
    .ml-xxl-n3 {
      margin-left: -12px;
    }
    .ml-xxl-n4 {
      margin-left: -16px;
    }
    .ml-xxl-n5 {
      margin-left: -20px;
    }
    .ml-xxl-n6 {
      margin-left: -24px;
    }
    .ml-xxl-n7 {
      margin-left: -28px;
    }
    .ml-xxl-n8 {
      margin-left: -32px;
    }
    .ml-xxl-n9 {
      margin-left: -36px;
    }
    .ml-xxl-n10 {
      margin-left: -40px;
    }
    .ml-xxl-n11 {
      margin-left: -44px;
    }
    .ml-xxl-n12 {
      margin-left: -48px;
    }
    .ml-xxl-n13 {
      margin-left: -52px;
    }
    .ml-xxl-n14 {
      margin-left: -56px;
    }
    .ml-xxl-n15 {
      margin-left: -60px;
    }
    .ml-xxl-n16 {
      margin-left: -64px;
    }
    .ms-xxl-n1 {
      margin-inline-start: -4px;
    }
    .ms-xxl-n2 {
      margin-inline-start: -8px;
    }
    .ms-xxl-n3 {
      margin-inline-start: -12px;
    }
    .ms-xxl-n4 {
      margin-inline-start: -16px;
    }
    .ms-xxl-n5 {
      margin-inline-start: -20px;
    }
    .ms-xxl-n6 {
      margin-inline-start: -24px;
    }
    .ms-xxl-n7 {
      margin-inline-start: -28px;
    }
    .ms-xxl-n8 {
      margin-inline-start: -32px;
    }
    .ms-xxl-n9 {
      margin-inline-start: -36px;
    }
    .ms-xxl-n10 {
      margin-inline-start: -40px;
    }
    .ms-xxl-n11 {
      margin-inline-start: -44px;
    }
    .ms-xxl-n12 {
      margin-inline-start: -48px;
    }
    .ms-xxl-n13 {
      margin-inline-start: -52px;
    }
    .ms-xxl-n14 {
      margin-inline-start: -56px;
    }
    .ms-xxl-n15 {
      margin-inline-start: -60px;
    }
    .ms-xxl-n16 {
      margin-inline-start: -64px;
    }
    .me-xxl-n1 {
      margin-inline-end: -4px;
    }
    .me-xxl-n2 {
      margin-inline-end: -8px;
    }
    .me-xxl-n3 {
      margin-inline-end: -12px;
    }
    .me-xxl-n4 {
      margin-inline-end: -16px;
    }
    .me-xxl-n5 {
      margin-inline-end: -20px;
    }
    .me-xxl-n6 {
      margin-inline-end: -24px;
    }
    .me-xxl-n7 {
      margin-inline-end: -28px;
    }
    .me-xxl-n8 {
      margin-inline-end: -32px;
    }
    .me-xxl-n9 {
      margin-inline-end: -36px;
    }
    .me-xxl-n10 {
      margin-inline-end: -40px;
    }
    .me-xxl-n11 {
      margin-inline-end: -44px;
    }
    .me-xxl-n12 {
      margin-inline-end: -48px;
    }
    .me-xxl-n13 {
      margin-inline-end: -52px;
    }
    .me-xxl-n14 {
      margin-inline-end: -56px;
    }
    .me-xxl-n15 {
      margin-inline-end: -60px;
    }
    .me-xxl-n16 {
      margin-inline-end: -64px;
    }
    .pa-xxl-0 {
      padding: 0px;
    }
    .pa-xxl-1 {
      padding: 4px;
    }
    .pa-xxl-2 {
      padding: 8px;
    }
    .pa-xxl-3 {
      padding: 12px;
    }
    .pa-xxl-4 {
      padding: 16px;
    }
    .pa-xxl-5 {
      padding: 20px;
    }
    .pa-xxl-6 {
      padding: 24px;
    }
    .pa-xxl-7 {
      padding: 28px;
    }
    .pa-xxl-8 {
      padding: 32px;
    }
    .pa-xxl-9 {
      padding: 36px;
    }
    .pa-xxl-10 {
      padding: 40px;
    }
    .pa-xxl-11 {
      padding: 44px;
    }
    .pa-xxl-12 {
      padding: 48px;
    }
    .pa-xxl-13 {
      padding: 52px;
    }
    .pa-xxl-14 {
      padding: 56px;
    }
    .pa-xxl-15 {
      padding: 60px;
    }
    .pa-xxl-16 {
      padding: 64px;
    }
    .px-xxl-0 {
      padding-right: 0px;
      padding-left: 0px;
    }
    .px-xxl-1 {
      padding-right: 4px;
      padding-left: 4px;
    }
    .px-xxl-2 {
      padding-right: 8px;
      padding-left: 8px;
    }
    .px-xxl-3 {
      padding-right: 12px;
      padding-left: 12px;
    }
    .px-xxl-4 {
      padding-right: 16px;
      padding-left: 16px;
    }
    .px-xxl-5 {
      padding-right: 20px;
      padding-left: 20px;
    }
    .px-xxl-6 {
      padding-right: 24px;
      padding-left: 24px;
    }
    .px-xxl-7 {
      padding-right: 28px;
      padding-left: 28px;
    }
    .px-xxl-8 {
      padding-right: 32px;
      padding-left: 32px;
    }
    .px-xxl-9 {
      padding-right: 36px;
      padding-left: 36px;
    }
    .px-xxl-10 {
      padding-right: 40px;
      padding-left: 40px;
    }
    .px-xxl-11 {
      padding-right: 44px;
      padding-left: 44px;
    }
    .px-xxl-12 {
      padding-right: 48px;
      padding-left: 48px;
    }
    .px-xxl-13 {
      padding-right: 52px;
      padding-left: 52px;
    }
    .px-xxl-14 {
      padding-right: 56px;
      padding-left: 56px;
    }
    .px-xxl-15 {
      padding-right: 60px;
      padding-left: 60px;
    }
    .px-xxl-16 {
      padding-right: 64px;
      padding-left: 64px;
    }
    .py-xxl-0 {
      padding-top: 0px;
      padding-bottom: 0px;
    }
    .py-xxl-1 {
      padding-top: 4px;
      padding-bottom: 4px;
    }
    .py-xxl-2 {
      padding-top: 8px;
      padding-bottom: 8px;
    }
    .py-xxl-3 {
      padding-top: 12px;
      padding-bottom: 12px;
    }
    .py-xxl-4 {
      padding-top: 16px;
      padding-bottom: 16px;
    }
    .py-xxl-5 {
      padding-top: 20px;
      padding-bottom: 20px;
    }
    .py-xxl-6 {
      padding-top: 24px;
      padding-bottom: 24px;
    }
    .py-xxl-7 {
      padding-top: 28px;
      padding-bottom: 28px;
    }
    .py-xxl-8 {
      padding-top: 32px;
      padding-bottom: 32px;
    }
    .py-xxl-9 {
      padding-top: 36px;
      padding-bottom: 36px;
    }
    .py-xxl-10 {
      padding-top: 40px;
      padding-bottom: 40px;
    }
    .py-xxl-11 {
      padding-top: 44px;
      padding-bottom: 44px;
    }
    .py-xxl-12 {
      padding-top: 48px;
      padding-bottom: 48px;
    }
    .py-xxl-13 {
      padding-top: 52px;
      padding-bottom: 52px;
    }
    .py-xxl-14 {
      padding-top: 56px;
      padding-bottom: 56px;
    }
    .py-xxl-15 {
      padding-top: 60px;
      padding-bottom: 60px;
    }
    .py-xxl-16 {
      padding-top: 64px;
      padding-bottom: 64px;
    }
    .pt-xxl-0 {
      padding-top: 0px;
    }
    .pt-xxl-1 {
      padding-top: 4px;
    }
    .pt-xxl-2 {
      padding-top: 8px;
    }
    .pt-xxl-3 {
      padding-top: 12px;
    }
    .pt-xxl-4 {
      padding-top: 16px;
    }
    .pt-xxl-5 {
      padding-top: 20px;
    }
    .pt-xxl-6 {
      padding-top: 24px;
    }
    .pt-xxl-7 {
      padding-top: 28px;
    }
    .pt-xxl-8 {
      padding-top: 32px;
    }
    .pt-xxl-9 {
      padding-top: 36px;
    }
    .pt-xxl-10 {
      padding-top: 40px;
    }
    .pt-xxl-11 {
      padding-top: 44px;
    }
    .pt-xxl-12 {
      padding-top: 48px;
    }
    .pt-xxl-13 {
      padding-top: 52px;
    }
    .pt-xxl-14 {
      padding-top: 56px;
    }
    .pt-xxl-15 {
      padding-top: 60px;
    }
    .pt-xxl-16 {
      padding-top: 64px;
    }
    .pr-xxl-0 {
      padding-right: 0px;
    }
    .pr-xxl-1 {
      padding-right: 4px;
    }
    .pr-xxl-2 {
      padding-right: 8px;
    }
    .pr-xxl-3 {
      padding-right: 12px;
    }
    .pr-xxl-4 {
      padding-right: 16px;
    }
    .pr-xxl-5 {
      padding-right: 20px;
    }
    .pr-xxl-6 {
      padding-right: 24px;
    }
    .pr-xxl-7 {
      padding-right: 28px;
    }
    .pr-xxl-8 {
      padding-right: 32px;
    }
    .pr-xxl-9 {
      padding-right: 36px;
    }
    .pr-xxl-10 {
      padding-right: 40px;
    }
    .pr-xxl-11 {
      padding-right: 44px;
    }
    .pr-xxl-12 {
      padding-right: 48px;
    }
    .pr-xxl-13 {
      padding-right: 52px;
    }
    .pr-xxl-14 {
      padding-right: 56px;
    }
    .pr-xxl-15 {
      padding-right: 60px;
    }
    .pr-xxl-16 {
      padding-right: 64px;
    }
    .pb-xxl-0 {
      padding-bottom: 0px;
    }
    .pb-xxl-1 {
      padding-bottom: 4px;
    }
    .pb-xxl-2 {
      padding-bottom: 8px;
    }
    .pb-xxl-3 {
      padding-bottom: 12px;
    }
    .pb-xxl-4 {
      padding-bottom: 16px;
    }
    .pb-xxl-5 {
      padding-bottom: 20px;
    }
    .pb-xxl-6 {
      padding-bottom: 24px;
    }
    .pb-xxl-7 {
      padding-bottom: 28px;
    }
    .pb-xxl-8 {
      padding-bottom: 32px;
    }
    .pb-xxl-9 {
      padding-bottom: 36px;
    }
    .pb-xxl-10 {
      padding-bottom: 40px;
    }
    .pb-xxl-11 {
      padding-bottom: 44px;
    }
    .pb-xxl-12 {
      padding-bottom: 48px;
    }
    .pb-xxl-13 {
      padding-bottom: 52px;
    }
    .pb-xxl-14 {
      padding-bottom: 56px;
    }
    .pb-xxl-15 {
      padding-bottom: 60px;
    }
    .pb-xxl-16 {
      padding-bottom: 64px;
    }
    .pl-xxl-0 {
      padding-left: 0px;
    }
    .pl-xxl-1 {
      padding-left: 4px;
    }
    .pl-xxl-2 {
      padding-left: 8px;
    }
    .pl-xxl-3 {
      padding-left: 12px;
    }
    .pl-xxl-4 {
      padding-left: 16px;
    }
    .pl-xxl-5 {
      padding-left: 20px;
    }
    .pl-xxl-6 {
      padding-left: 24px;
    }
    .pl-xxl-7 {
      padding-left: 28px;
    }
    .pl-xxl-8 {
      padding-left: 32px;
    }
    .pl-xxl-9 {
      padding-left: 36px;
    }
    .pl-xxl-10 {
      padding-left: 40px;
    }
    .pl-xxl-11 {
      padding-left: 44px;
    }
    .pl-xxl-12 {
      padding-left: 48px;
    }
    .pl-xxl-13 {
      padding-left: 52px;
    }
    .pl-xxl-14 {
      padding-left: 56px;
    }
    .pl-xxl-15 {
      padding-left: 60px;
    }
    .pl-xxl-16 {
      padding-left: 64px;
    }
    .ps-xxl-0 {
      padding-inline-start: 0px;
    }
    .ps-xxl-1 {
      padding-inline-start: 4px;
    }
    .ps-xxl-2 {
      padding-inline-start: 8px;
    }
    .ps-xxl-3 {
      padding-inline-start: 12px;
    }
    .ps-xxl-4 {
      padding-inline-start: 16px;
    }
    .ps-xxl-5 {
      padding-inline-start: 20px;
    }
    .ps-xxl-6 {
      padding-inline-start: 24px;
    }
    .ps-xxl-7 {
      padding-inline-start: 28px;
    }
    .ps-xxl-8 {
      padding-inline-start: 32px;
    }
    .ps-xxl-9 {
      padding-inline-start: 36px;
    }
    .ps-xxl-10 {
      padding-inline-start: 40px;
    }
    .ps-xxl-11 {
      padding-inline-start: 44px;
    }
    .ps-xxl-12 {
      padding-inline-start: 48px;
    }
    .ps-xxl-13 {
      padding-inline-start: 52px;
    }
    .ps-xxl-14 {
      padding-inline-start: 56px;
    }
    .ps-xxl-15 {
      padding-inline-start: 60px;
    }
    .ps-xxl-16 {
      padding-inline-start: 64px;
    }
    .pe-xxl-0 {
      padding-inline-end: 0px;
    }
    .pe-xxl-1 {
      padding-inline-end: 4px;
    }
    .pe-xxl-2 {
      padding-inline-end: 8px;
    }
    .pe-xxl-3 {
      padding-inline-end: 12px;
    }
    .pe-xxl-4 {
      padding-inline-end: 16px;
    }
    .pe-xxl-5 {
      padding-inline-end: 20px;
    }
    .pe-xxl-6 {
      padding-inline-end: 24px;
    }
    .pe-xxl-7 {
      padding-inline-end: 28px;
    }
    .pe-xxl-8 {
      padding-inline-end: 32px;
    }
    .pe-xxl-9 {
      padding-inline-end: 36px;
    }
    .pe-xxl-10 {
      padding-inline-end: 40px;
    }
    .pe-xxl-11 {
      padding-inline-end: 44px;
    }
    .pe-xxl-12 {
      padding-inline-end: 48px;
    }
    .pe-xxl-13 {
      padding-inline-end: 52px;
    }
    .pe-xxl-14 {
      padding-inline-end: 56px;
    }
    .pe-xxl-15 {
      padding-inline-end: 60px;
    }
    .pe-xxl-16 {
      padding-inline-end: 64px;
    }
    .text-xxl-left {
      text-align: left;
    }
    .text-xxl-right {
      text-align: right;
    }
    .text-xxl-center {
      text-align: center;
    }
    .text-xxl-justify {
      text-align: justify;
    }
    .text-xxl-start {
      text-align: start;
    }
    .text-xxl-end {
      text-align: end;
    }
    .h-xxl-auto {
      height: auto;
    }
    .h-xxl-screen {
      height: 100dvh;
    }
    .h-xxl-0 {
      height: 0;
    }
    .h-xxl-25 {
      height: 25%;
    }
    .h-xxl-50 {
      height: 50%;
    }
    .h-xxl-75 {
      height: 75%;
    }
    .h-xxl-100 {
      height: 100%;
    }
    .w-xxl-auto {
      width: auto;
    }
    .w-xxl-0 {
      width: 0;
    }
    .w-xxl-25 {
      width: 25%;
    }
    .w-xxl-33 {
      width: 33%;
    }
    .w-xxl-50 {
      width: 50%;
    }
    .w-xxl-66 {
      width: 66%;
    }
    .w-xxl-75 {
      width: 75%;
    }
    .w-xxl-100 {
      width: 100%;
    }
  }
  @media print {
    .d-print-none {
      display: none;
    }
    .d-print-inline {
      display: inline;
    }
    .d-print-inline-block {
      display: inline-block;
    }
    .d-print-block {
      display: block;
    }
    .d-print-table {
      display: table;
    }
    .d-print-table-row {
      display: table-row;
    }
    .d-print-table-cell {
      display: table-cell;
    }
    .d-print-flex {
      display: flex;
    }
    .d-print-inline-flex {
      display: inline-flex;
    }
    .float-print-none {
      float: none;
    }
    .float-print-left {
      float: left;
    }
    .float-print-right {
      float: right;
    }
    .v-locale--is-rtl .float-print-end {
      float: left;
    }
    .v-locale--is-rtl .float-print-start {
      float: right;
    }
    .v-locale--is-ltr .float-print-end {
      float: right;
    }
    .v-locale--is-ltr .float-print-start {
      float: left;
    }
  }
}
/* 全局样式 */
.app-wrapper {
  position: relative;
  inline-size: 100%;
  min-block-size: 100vh;
}
.background-container {
  position: fixed;
  z-index: 0;
  overflow: hidden;
  block-size: 100%;
  inline-size: 100%;
  inset-block-start: 0;
  inset-inline-start: 0;
}
.background-image {
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  block-size: 100%;
  inline-size: 100%;
  inset-block-start: 0;
  inset-inline-start: 0;
  opacity: 0;
  transition: opacity 1.5s ease;
}
.background-image::after {
  position: absolute;
  background: linear-gradient(rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.6) 100%);
  block-size: 100%;
  content: "";
  inline-size: 100%;
  inset-block-start: 0;
  inset-inline-start: 0;
}
.background-image.active {
  z-index: 2;
  opacity: 1;
}
.background-image.previous {
  z-index: 1;
}
.background-container.is-glass-theme .background-image.active,
.background-container.is-glass-theme .background-image.previous {
  filter: brightness(var(--glass-wallpaper-brightness, 0.86)) saturate(0.95) contrast(1.02);
}
.background-container.is-glass-theme .background-image.active {
  opacity: 0.94;
}
.background-container.is-glass-theme .background-image.active::after,
.background-container.is-glass-theme .background-image.previous::after {
  background: radial-gradient(circle at 50% 18%, transparent 24%, rgba(6, 10, 19, 0.12) 100%), linear-gradient(rgba(6, 10, 19, 0.1) 0%, rgba(6, 10, 19, 0.3) 100%);
}
.background-image__source {
  position: absolute;
  display: block;
  block-size: 100%;
  inline-size: 100%;
  inset: 0;
  object-fit: cover;
  pointer-events: none;
}
/* 导航项 — 图标与文字收紧间距 + 整体居中 */
[data-v-2ff0f307] .v-navigation-drawer .v-list-item {
  display: flex;
  justify-content: center;
}

/* 缩小图标与文字之间的默认 spacer（Vuetify 默认 32px） */
[data-v-2ff0f307] .v-navigation-drawer .v-list-item__spacer {
  width: 8px !important;
  min-width: 8px !important;
}
.app-logo[data-v-2ff0f307] {
  width: 28px;
  height: 28px;
  /* 使用 mask 让 SVG 跟随主题色，不再用 filter hack 硬编码紫色 */
  -webkit-mask: url('/favicon.svg') center / contain no-repeat;
  mask: url('/favicon.svg') center / contain no-repeat;
  background-color: rgb(var(--v-theme-primary));
}

/* ═══════════════════════════════════════════════════════════════
 * 动态顶栏 Tab — 参照 MoviePilot HeaderTab.vue
 * Tab 渲染在顶栏内部，与顶栏共享玻璃材质。
 * ═══════════════════════════════════════════════════════════════ */
.layout-dynamic-header-tab[data-v-2ff0f307] {
  display: flex;
  align-items: center;
  gap: 4px;
  width: 100%;
  height: 100%;
  padding-inline: 16px;
  /* toolbar 的 extension 是 flex 容器，flex 子项默认 min-width:auto 会拒绝收缩，
     导致 tab 过多时整条溢出顶栏且内部 overflow 永远不生效，必须允许收缩 */
  min-width: 0;
}
.header-tab-wrap[data-v-2ff0f307] {
  position: relative;
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
}

/* 溢出提示：有未显示 tab 的一侧出现渐隐 + 弹动箭头 */
.header-tab-wrap[data-v-2ff0f307]::before,
.header-tab-wrap[data-v-2ff0f307]::after {
  position: absolute;
  z-index: 1;
  width: 32px;
  height: 100%;
  content: '';
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}
.header-tab-wrap[data-v-2ff0f307]::before {
  background: linear-gradient(to right, rgb(var(--v-theme-surface)), transparent);
}
.header-tab-wrap[data-v-2ff0f307]::after {
  right: 0;
  background: linear-gradient(to left, rgb(var(--v-theme-surface)), transparent);
}
.header-tab-wrap--left[data-v-2ff0f307]::before {
  opacity: 1;
}
.header-tab-wrap--right[data-v-2ff0f307]::after {
  opacity: 1;
}
.header-tab-hint[data-v-2ff0f307] {
  position: absolute;
  z-index: 2;
  top: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgb(var(--v-theme-on-surface));
  pointer-events: none;
  transform: translateY(-50%);
}
.header-tab-hint--left[data-v-2ff0f307] {
  left: 2px;
  animation: header-tab-hint-left-2ff0f307 1.4s ease-in-out infinite;
}
.header-tab-hint--right[data-v-2ff0f307] {
  right: 2px;
  animation: header-tab-hint-right-2ff0f307 1.4s ease-in-out infinite;
}
@keyframes header-tab-hint-left-2ff0f307 {
0%, 100% { transform: translateY(-50%) translateX(0); opacity: 0.5;
}
50% { transform: translateY(-50%) translateX(-3px); opacity: 1;
}
}
@keyframes header-tab-hint-right-2ff0f307 {
0%, 100% { transform: translateY(-50%) translateX(0); opacity: 0.5;
}
50% { transform: translateY(-50%) translateX(3px); opacity: 1;
}
}
@media (prefers-reduced-motion: reduce) {
.header-tab-hint--left[data-v-2ff0f307],
  .header-tab-hint--right[data-v-2ff0f307] {
    animation: none;
}
}
.header-tab-scroll[data-v-2ff0f307] {
  display: flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
  flex: 1 1 auto;
  overflow-x: auto;
  scrollbar-width: none;
  user-select: none;
}
.header-tab-scroll[data-v-2ff0f307]::-webkit-scrollbar {
  display: none;
}
.header-tab[data-v-2ff0f307] {
  display: flex;
  align-items: center;
  border-radius: var(--am-tab-radius, 20px);
  background-color: transparent;
  color: rgb(var(--v-theme-on-surface));
  cursor: pointer;
  font-size: 0.875rem;
  font-weight: 600;
  padding: 6px 14px;
  white-space: nowrap;
  transition: all 0.2s ease;
}
.header-tab[data-v-2ff0f307]:hover:not(.header-tab--active) {
  background-color: rgba(var(--v-theme-primary), 0.06);
  color: rgb(var(--v-theme-on-surface));
}
.header-tab--active[data-v-2ff0f307] {
  color: rgb(var(--v-theme-primary));
}
@media (hover: none) and (pointer: coarse) {
.header-tab[data-v-2ff0f307]:hover:not(.header-tab--active) {
    background-color: transparent;
}
}

/**
 * index.css — 设计系统入口
 *
 * 四层架构：
 *   ┌─────────────────────────────────────────────────────────────┐
 *   │ 第 1 层  基础 / 结构                                       │
 *   │   base.css        — 重置、容器透明、Vuetify 变量           │
 *   │   components.css  — 组件布局、间距                         │
 *   │   buttons.css     — 按钮圆角、按下态                       │
 *   │   feedback.css    — 芯片尺寸                               │
 *   │   transitions.css — 全局过渡                               │
 *   │   pages.css       — 页面布局、表单等高                      │
 *   │   tags.css        — 元数据标签                             │
 *   │   cards.css       — 卡片系统                               │
 *   │   design-spec.css — 设计规范：间距、布局                   │
 *   │   utilities.css   — 通用复用                               │
 *   │                                                           │
 *   │ 第 2 层  设计令牌（Design Tokens）                         │
 *   │   tokens.css      — CSS 变量：颜色/模糊/边框/阴影/圆角     │
 *   │                                                           │
 *   │ 第 3 层  共享视觉规则                                      │
 *   │   visual.css       — 统一组件视觉：背景/模糊/边框/阴影     │
 *   │                                                           │
 *   │ 第 4 层  主题覆盖                                          │
 *   │   glass-acg.scss     — ACG 玻璃主题统一（html.glass-theme-acg）│
 *   │   glass-themes.css   — 液态玻璃（html.glass-theme-liquid） │
 *   │   theme-classic.css  — 经典实色（html.glass-theme-classic）│
 *   └─────────────────────────────────────────────────────────────┘
 *
 * 规则：
 *   第 1 层 只放结构，不放颜色/背景/模糊/边框/阴影。
 *   第 2 层 只放变量声明，不放选择器规则。
 *   第 3 层 不带主题前缀，通过 CSS 变量级联自动适配。
 *   第 4 层 只放主题特有规则，通过 html.glass-theme-xxx 前缀隔离。
 */

/* ═══════════════════════════════════════════════════════════════
 * 第 1 层 — 基础 / 结构
 * ═══════════════════════════════════════════════════════════════ */

/* 1.1 基础：重置、CSS 变量、容器透明 */
/**
 * base.css — 纯基础：重置、CSS 变量、容器透明
 *
 * 只放"不管哪个主题都需要"的基础规则：
 *   - 字体平滑
 *   - body / .v-application 透明（让背景层透出）
 *   - Vuetify surface 变量（半透明基值，主题文件可覆盖）
 *   - 中间层容器透明
 *   - 组件内部透明（卡片/弹窗内的子组件）
 *   - 表单控件间距
 *   - 功能性布局类
 *
 * 不放任何视觉风格（颜色/背景/模糊/边框/阴影/滚动条样式），
 * 那些由 tokens.css（设计令牌）+ visual.css（共享视觉规则）统一处理，
 * 主题专属效果由 glass-acg.scss / glass-themes.css / theme-classic.css 处理。
 */

/* ============================================================
 * 1. 全局重置
 * ============================================================ */
html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* 统一辅助文字透明度：与主文字（0.87）一致，避免副文字过暗 */
  --v-medium-emphasis-opacity: 0.87;
  --v-disabled-opacity: 0.5;
}

body {
  background: transparent !important;
}

/* 背景/遮罩层基础结构 —— 主题文件负责填充视觉内容（背景图、颜色） */
body::before,
body::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
}

body::before {
  z-index: -2;
}

body::after {
  z-index: -1;
}

.v-application {
  background: transparent !important;
}

/* ============================================================
 * 2. Vuetify surface 变量 — 半透明基值
 * 主题文件可覆盖这些变量来改变全局底色
 * ============================================================ */
.v-theme--light {
  --v-theme-surface: 255, 255, 255;
  --v-theme-surface-light: 255, 255, 255;
  --v-theme-surface-variant: 245, 245, 245;
}

.v-theme--dark {
  --v-theme-surface: 30, 30, 30;
  --v-theme-surface-light: 30, 30, 30;
  --v-theme-surface-variant: 44, 44, 44;
}

/* ============================================================
 * 3. 中间层容器透明
 * ============================================================ */
.v-main,
.v-container,
.v-row,
.v-col,
.v-window,
.v-window-item,
.v-slide-group,
.v-slide-group__container,
.v-slide-group__wrapper,
.v-slide-group__content {
  background: transparent !important;
}

/* ============================================================
 * 4. 组件内部透明
 * 卡片/弹窗内的子组件必须透明，否则实色会盖住玻璃效果
 * ============================================================ */

/* 卡片内部 */
.v-card-text,
.v-card-title,
.v-card-actions,
.v-card-item {
  background: transparent !important;
}

.v-card .v-card-text,
.v-card .v-card-item,
.v-card .v-card-title,
.v-card .v-card-actions,
.v-card .v-card-text .v-expansion-panel-title,
.v-card .v-card-text .v-expansion-panel-text,
.v-card .v-card-text .v-list,
.v-card .v-card-text .v-list-item,
.v-card .v-card-text .v-sheet {
  background: transparent !important;
  background-color: transparent !important;
}

.v-card .v-card-text .v-expansion-panel {
  background: transparent !important;
  background-color: transparent !important;
}

/* 弹窗内部 */
.v-dialog .v-card .v-card-text,
.v-dialog .v-card .v-card-item,
.v-dialog .v-card .v-card-title,
.v-dialog .v-card .v-card-actions,
.v-dialog .v-card .v-card-text .v-expansion-panel-title,
.v-dialog .v-card .v-card-text .v-expansion-panel-text,
.v-dialog .v-card .v-card-text .v-list,
.v-dialog .v-card .v-card-text .v-list-item {
  background: transparent !important;
  background-color: transparent !important;
}

.v-dialog .v-card .v-card-text .v-expansion-panel {
  background: transparent !important;
  background-color: transparent !important;
}

/* 折叠面板内容/标题 */
.v-expansion-panel-text {
  background: transparent !important;
  background-color: transparent !important;
}

.v-expansion-panel-title {
  background: transparent !important;
  background-color: transparent !important;
}

/* 列表 */
.v-list {
  background: transparent !important;
  background-color: transparent !important;
}

.v-list-item--variant-elevated,
.v-list-item--variant-flat {
  background: transparent !important;
  background-color: transparent !important;
}

.v-navigation-drawer .v-list {
  background: transparent !important;
}

/* ============================================================
 * 5. 卡片工具类 — 纯结构
 * ============================================================ */
.glass-card {
  --glass-radius: var(--am-surface-radius, 24px);
  overflow: hidden;
}

.glass-card.list-card {
  --glass-radius: var(--am-surface-radius, 12px);
}

.glass-panel {
  --glass-radius: var(--am-surface-radius, 20px);
  overflow: hidden;
}

/* ============================================================
 * 6. 表单控件间距 — 纯结构
 * ============================================================ */
.v-card-text .v-text-field,
.v-card-text .v-select,
.v-card-text .v-textarea,
.v-card-text .v-combobox,
.v-card-text .v-autocomplete {
  margin-top: 6px;
  margin-bottom: 6px;
}

.v-card-text .v-input--persistent-hint {
  margin-top: 8px;
  margin-bottom: 8px;
}

.v-switch .v-input__control {
  margin-inline: 8px;
}

.v-switch.v-input--density-compact {
  margin-top: -2px;
}

.v-card-title + .v-card-text {
  padding-top: 12px;
}

.v-window-item > .v-form > :first-child,
.v-window-item > :first-child {
  padding-top: 8px;
}

/* ============================================================
 * 7. 按钮内图标与文字垂直居中 — 纯结构
 * ============================================================ */
.v-btn {
  align-items: center !important;
}

.v-btn .v-btn__prepend,
.v-btn .v-btn__append {
  display: inline-flex;
  align-items: center;
  align-self: center;
}

.v-btn .v-btn__content {
  display: inline-flex;
  align-items: center;
  align-self: center;
}

.v-btn .v-btn__prepend .v-icon,
.v-btn .v-btn__append .v-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.v-list-item .v-list-item__prepend,
.v-list-item .v-list-item__append {
  display: inline-flex;
  align-items: center;
  align-self: center;
}

.v-chip .v-chip__prepend,
.v-chip .v-chip__append {
  display: inline-flex;
  align-items: center;
  align-self: center;
}

.v-chip .v-chip__content {
  display: inline-flex;
  align-items: center;
  align-self: center;
}

.v-alert .v-alert__prepend {
  display: inline-flex;
  align-items: center;
  align-self: center;
}

/* 1.2 Vuetify 组件结构覆盖 */
/**
 * components.css — Vuetify 组件结构覆盖
 *
 * 只放纯结构规则：列表内边距等。
 * 所有视觉风格（圆角、边框、背景、模糊、阴影、过渡）
 * 由 tokens.css + visual.css 统一处理。
 */


/* ============================================================
 * 下拉菜单 — 列表内边距（纯结构，visual.css 未覆盖）
 * ============================================================ */

.v-select .v-list,
.v-autocomplete .v-list,
.v-combobox .v-list,
.v-menu .v-list {
  padding: 6px !important;
}

/* 1.3 按钮结构 */
/**
 * buttons.css — 按钮纯结构
 *
 * 按下缩放、图标圆形。
 * 所有视觉风格（圆角令牌、背景、模糊、边框、阴影）在
 * tokens.css + visual.css 中统一处理。
 */

/* 按下态 — 结构行为 */
.v-btn:active {
  transform: scale(0.98);
}

/* 图标按钮 — 始终圆形（结构规则，不随主题变化） */
.v-btn--icon {
  border-radius: 50% !important;
}

/* 1.4 反馈组件结构 */
/**
 * feedback.css — 反馈组件纯结构
 *
 * 此前定义的 .v-chip--size-x-small 尺寸规则已合并至
 * visual.css §19（Chip Size），避免重复声明。
 * 如需调整芯片尺寸，请统一在 visual.css 中修改。
 */

/* 1.5 过渡动画 */
/**
 * transitions.css — 全局过渡
 *
 * 仅处理 visual.css 未覆盖的组件过渡。
 * .v-card / .v-btn 的过渡已由 visual.css 通过
 * var(--am-transition) 令牌统一管理。
 */

.v-list-item,
.v-chip {
  transition: var(--am-transition) !important;
}

/* 1.6 页面级结构 */
/**
* pages.css — 页面级结构
*
* CD2 扩展隐藏、日志终端、布局、Sticky Tabs、过渡动画、
* 表单等高、代码块、功能性布局规则。
* 视觉属性通过设计令牌（tokens.css）统一管理。
*/


/* ============================================================
* 隐藏 CloudDrive2 浏览器扩展注入的元素
* CD2 扩展会向页面中的资源链接旁注入 "重复" 徽章和右键菜单，
* 这些元素不属于项目本身，会干扰 UI 布局，统一隐藏。
* ============================================================ */

.cd-offline-repeat,
.cd-offline-menu,
.cd-offline-menu * {
display: none !important;
visibility: hidden !important;
opacity: 0 !important;
pointer-events: none !important;
}


/* ============================================================
* 日志终端 — 结构
* ============================================================ */

.log-terminal {
font-family: 'JetBrains Mono', 'Fira Code', 'Cascadia Code', 'Consolas', monospace;
font-size: 12px;
line-height: 1.7;
max-height: 60vh;
overflow-y: auto;
padding: 12px 16px;
border-radius: 8px;
background: transparent;
}

.log-entry {
  display: flex;
  gap: 8px;
  padding: 2px 4px;
  border-radius: 4px;
  transition: background 0.2s ease-out;
  white-space: pre-wrap;
  word-break: break-all;
}

.log-entry__time {
  flex-shrink: 0;
  font-size: 11px;
  opacity: 0.45;
  min-width: 56px;
}

.log-entry__level {
  flex-shrink: 0;
  font-weight: 700;
  font-size: 11px;
  min-width: 56px;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.log-entry__msg {
  flex: 1;
  word-break: break-all;
  white-space: pre-wrap;
}

.log-terminal__empty {
  text-align: center;
  padding: 32px;
  opacity: 0.5;
  font-size: 13px;
}


/* ============================================================
 * 布局 — DefaultLayout
 * ============================================================ */

.logo-header {
  display: flex;
  align-items: center;
  padding: 16px;
  gap: 12px;
}

.logo-header--rail {
  flex-direction: column;
  padding: 12px 8px;
  gap: 6px;
}

.logo-text {
  flex: 1;
  overflow: hidden;
  min-width: 0;
}

.sidebar-version {
  font-size: 10px;
  opacity: 0.4;
  user-select: none;
  margin-top: 2px;
}


/* ============================================================
 * Sticky Tabs — 已迁移到顶栏
 * Tab 现在通过 useDynamicHeaderTab 注册到顶栏内部渲染，
 * 与顶栏共享玻璃材质和水纹效果，不再需要页面内 sticky-tabs。
 * 保留 .sticky-sub-tabs 供页面内二级 Tab 使用。
 * ============================================================ */

.sticky-sub-tabs {
  background: transparent !important;
  background-color: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-bottom: none !important;
}

.sticky-sub-tabs .v-tabs__container,
.sticky-sub-tabs .v-slide-group,
.sticky-sub-tabs .v-slide-group__wrapper,
.sticky-sub-tabs .v-slide-group__content {
  background: transparent !important;
}

.sticky-sub-tabs {
  position: static;
  z-index: 199;
  margin: 0 0 20px !important;
  padding: 8px 0;
}

@media (min-width: 960px) {
  .sticky-sub-tabs {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0;
    padding-right: 0;
  }
}


/* ============================================================
 * 过渡动画
 * ============================================================ */

.fade-enter-active, .fade-leave-active {
  transition: opacity 0.2s ease;
}

.fade-enter-from, .fade-leave-to {
  opacity: 0;
}


/* ============================================================
 * 表单控件等高 — .control-row
 * ============================================================ */

.control-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.control-row .v-btn--size-small.v-btn--density-default:not(.v-btn--icon),
.control-row .v-btn--size-default.v-btn--density-default:not(.v-btn--icon) {
  height: 40px !important;
}

.control-row .v-btn--icon.v-btn--size-small.v-btn--density-default,
.control-row .v-btn--icon.v-btn--size-default.v-btn--density-default {
  width: 40px !important;
  height: 40px !important;
}

.control-row--tight {
  gap: 8px;
}

.control-row--tight .v-btn--size-small.v-btn--density-default:not(.v-btn--icon),
.control-row--tight .v-btn--size-default.v-btn--density-default:not(.v-btn--icon) {
  height: 36px !important;
}

.control-row--tight .v-btn--icon.v-btn--size-small.v-btn--density-default,
.control-row--tight .v-btn--icon.v-btn--size-default.v-btn--density-default {
  width: 36px !important;
  height: 36px !important;
}

/* :has() 自动检测 */
.d-flex:not(.flex-column):not(.flex-column-reverse):has(.v-field, .v-switch, .v-checkbox, .v-radio)
  .v-btn--size-small.v-btn--density-default:not(.v-btn--icon) {
  height: 40px !important;
}

.d-flex:not(.flex-column):not(.flex-column-reverse):has(.v-field, .v-switch, .v-checkbox, .v-radio)
  .v-btn--size-default.v-btn--density-default:not(.v-btn--icon) {
  height: 40px !important;
}

/* switch / checkbox / radio 对齐 */
.v-switch .v-input__control,
.v-checkbox .v-input__control,
.v-radio .v-input__control {
  align-items: center;
}


/* ============================================================
 * 代码块 — 结构
 * ============================================================ */

.code-block {
  padding: 16px;
  border-radius: 12px;
  font-family: 'JetBrains Mono', 'Fira Code', 'Cascadia Code', 'Consolas', monospace;
  font-size: 13px;
  line-height: 1.6;
  white-space: pre-wrap;
  word-break: break-word;
  margin: 0;
  overflow-x: auto;
  max-height: 65vh;
  overflow-y: auto;
}

.code-block--flat {
  max-height: none !important;
  overflow-y: visible !important;
}

.code-block code {
  font-family: inherit;
  font-size: inherit;
  white-space: nowrap;
  display: block;
}


/* ============================================================
 * 功能性
 * ============================================================ */

.v-tab .v-btn__content {
  overflow: visible !important;
}

.content-scrollable {
  height: var(--scrollable-height, calc(85vh - 250px));
  max-height: var(--scrollable-max, 600px);
  overflow-y: auto;
}

.empty-state {
  text-align: center;
  padding: 32px 16px;
}

/* 1.7 元数据标签 */
/**
 * tags.css — 元数据标签（Meta Tags）统一样式
 *
 * 供 FeedItemsModal、OrganizeHistoryTab 等多个页面复用。
 * 修改标签颜色/字号/间距只需改此处，全局同步。
 *
 * 使用方式：
 *   <v-chip size="x-small" variant="flat" class="meta-tag meta-tag--season">S01E03</v-chip>
 *   <v-chip size="x-small" variant="flat" class="meta-tag meta-tag--tmdb" href="..." target="_blank">ID: 12345</v-chip>
 */

/* ============================================================
 * 1. 基础容器 — 标签行
 * ============================================================ */
.meta-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 2px;
}

/* ============================================================
 * 2. 基础标签样式 — 通用
 * ============================================================ */
.meta-tag {
  font-size: 10px !important;
  font-weight: 600;
  letter-spacing: 0.3px;
  border-radius: 10px !important;
}

/* 让 v-chip 配合 meta-tag 统一尺寸 */
.v-chip.meta-tag {
  font-size: 10px !important;
  font-weight: 600;
  letter-spacing: 0.3px;
  min-height: 20px !important;
  padding: 0 8px !important;
  border-radius: 10px !important;
}

.v-chip.meta-tag .v-chip__content {
  font-size: 10px !important;
}

/* ============================================================
 * 3. 语义色类别 — 每种元数据一个修饰符
 * ============================================================ */

/* --- 季集 (Season/Episode) — 蓝色系 --- */
.meta-tag--season {
  background: #1565c0 !important;
  color: #fff !important;
}
.v-theme--light .meta-tag--season {
  background: #1976d2 !important;
}

/* --- 媒体类型 (Movie/TV) — 深蓝信息色 --- */
.meta-tag--type {
  background: #1565c0 !important;
  color: #fff !important;
}
.v-theme--light .meta-tag--type {
  background: #1976d2 !important;
}

/* --- 分辨率 (Resolution) — 橙色系 --- */
.meta-tag--resolution {
  background: #e65100 !important;
  color: #fff !important;
}
.v-theme--light .meta-tag--resolution {
  background: #ef6c00 !important;
}

/* --- 编码/特效/字幕 (Encode/Effect/Subtitle) — 橙色系 --- */
.meta-tag--encode {
  background: #e65100 !important;
  color: #fff !important;
}
.v-theme--light .meta-tag--encode {
  background: #ef6c00 !important;
}

/* --- 字幕组 (Team) — 深蓝色 --- */
.meta-tag--team {
  background: #0d47a1 !important;
  color: #fff !important;
}
.v-theme--light .meta-tag--team {
  background: #1565c0 !important;
}

/* --- 来源/平台 (Source/Platform) — 红色系 --- */
.meta-tag--source {
  background: #c62828 !important;
  color: #fff !important;
}
.v-theme--light .meta-tag--source {
  background: #d32f2f !important;
}

/* --- TMDB ID 链接 — 绿色 --- */
.meta-tag--tmdb {
  background: #2e7d32 !important;
  color: #fff !important;
}
.v-theme--light .meta-tag--tmdb {
  background: #43a047 !important;
}

/* --- 已订阅 — 信息蓝 --- */
.meta-tag--subscribed {
  background: #0288d1 !important;
  color: #fff !important;
}
.v-theme--light .meta-tag--subscribed {
  background: #039be5 !important;
}

/* --- 订阅已下载 — 成功绿 --- */
.meta-tag--collected {
  background: #2e7d32 !important;
  color: #fff !important;
}
.v-theme--light .meta-tag--collected {
  background: #43a047 !important;
}

/* --- 未命中 — 警告色 (tonal) --- */
.meta-tag--miss {
  /* tonal 风格，不用实色 */
  background: rgba(var(--v-theme-warning), 0.15) !important;
  color: rgb(var(--v-theme-warning)) !important;
}

/* --- 转移方式 (Action Type) — 红色 --- */
.meta-tag--action {
  background: #c62828 !important;
  color: #fff !important;
}
.v-theme--light .meta-tag--action {
  background: #d32f2f !important;
}

/* --- 文件大小 — 紫色 --- */
.meta-tag--size {
  background: #7b1fa2 !important;
  color: #fff !important;
}
.v-theme--light .meta-tag--size {
  background: #8e24aa !important;
}

/* --- 时间戳 — 青色 --- */
.meta-tag--time {
  background: #00695c !important;
  color: #fff !important;
}
.v-theme--light .meta-tag--time {
  background: #00897b !important;
}

/* --- 下载状态 — 已下载绿 / 未下载灰 --- */
.meta-tag--downloaded {
  background: #2e7d32 !important;
  color: #fff !important;
}
.v-theme--light .meta-tag--downloaded {
  background: #43a047 !important;
}
.meta-tag--not-downloaded {
  background: #616161 !important;
  color: #fff !important;
}
.v-theme--light .meta-tag--not-downloaded {
  background: #757575 !important;
}

/* --- 站点名 — 棕色系 --- */
.meta-tag--feed {
  background: #5d4037 !important;
  color: #fff !important;
}
.v-theme--light .meta-tag--feed {
  background: #6d4c41 !important;
}

/* --- 原产地 — 棕色系 --- */
.meta-tag--country {
  background: #5d4037 !important;
  color: #fff !important;
}
.v-theme--light .meta-tag--country {
  background: #6d4c41 !important;
}

/* 1.8 卡片系统 */
/**
 * cards.css — 统一卡片系统（媒体卡片/日历卡片/页面卡片）
 * 从 global.css 拆分而来
 */

/* ============================================================
 * 页面级样式 — 从 Vue scoped style 中提取
 * 按页面/模块分组，全局统一管理
 * ============================================================ */

/* ── SubscriptionView 订阅管理 ── */
.sub-search-results {
  border: var(--am-content-border);
  border-radius: 8px;
  background: transparent;
  max-height: 240px;
  overflow-y: auto;
}

/* sub-search-result-item 复用 §search-result-item 定义（见文件底部），此处仅覆盖无边框 */
.sub-search-result-item {
  border-bottom: none;
}

/* 注：sub-result-info / sub-result-title / sub-result-sub 已废弃，
   统一使用 search-result-info / search-result-title / search-result-sub */

.sub-poster-preview {
  display: flex;
  align-items: center;
  padding: 12px;
  border-radius: 12px;
  border: var(--am-content-border);
  background: transparent;
}

.sub-switch-group {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

/* ── 订阅详情弹窗 ── */
.sub-detail-episode-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(40px, 1fr));
  gap: 6px;
}
.sub-detail-episode-btn {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s ease;
}
.sub-detail-episode-btn.pushed {
  background: rgba(var(--v-theme-primary), 0.15);
  color: rgb(var(--v-theme-primary));
}
.sub-detail-episode-btn.not-pushed {
  background: rgba(var(--v-theme-on-surface), 0.04);
  color: rgb(var(--v-theme-on-surface));
}
.sub-detail-episode-btn:hover {
  transform: scale(1.1);
}

/* ── Feed 条目列表 / 订阅源详情卡片 ── */
.feed-item-card {
  border: var(--am-content-border);
  border-radius: 12px;
  padding: 12px;
  transition: all 0.2s ease;
}
.feed-item-card:hover {
  border-color: rgba(var(--v-theme-primary), 0.4);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
}

/* ── OrganizerView 整理管理 ── */
.org-config-row {
  display: flex;
  align-items: center;
  gap: 12px;
}

.org-hash-warning {
  font-size: 11px;
  color: rgb(var(--v-theme-error));
  padding: 4px 8px;
  border-radius: 4px;
  margin: 4px 0 8px 52px;
}

/* ── 执行日志 ── */
.org-log-summary {
  padding: 12px;
  border-radius: 12px;
  border: var(--am-content-border);
  background: transparent;
}
.org-log-container {
  font-family: 'JetBrains Mono', 'Consolas', monospace;
  font-size: 12px;
  background: rgba(var(--v-theme-on-surface), 0.03);
  border-radius: 8px;
  padding: 12px;
}
.org-log-line {
  display: flex;
  gap: 8px;
  padding: 3px 0;
  border-bottom: none;
}
.org-log-error {
  background: rgba(var(--v-theme-error), 0.06);
  color: rgb(var(--v-theme-error));
}
.org-log-warn {
  background: rgba(var(--v-theme-warning), 0.06);
  color: rgb(var(--v-theme-warning));
}
.org-log-time {
  color: rgb(var(--v-theme-on-surface));
  min-width: 70px;
  font-variant-numeric: tabular-nums;
  flex-shrink: 0;
}
.org-log-msg {
  flex: 1;
  word-break: break-all;
}

/* ── 任务中心条目 ── */
.org-task-item {
  padding: 10px 12px;
  border: var(--am-content-border);
  border-radius: 10px;
  margin-bottom: 8px;
  transition: background 0.15s ease;
}
.org-task-item:hover {
  background: rgba(var(--v-theme-on-surface), 0.02);
}

/* ── 整理历史条目 ── */
.org-history-item {
  border-radius: 12px !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.org-history-item:hover {
  transform: translateY(-1px);
}

/* ── 整理历史：路径容器（源→目标 竖向布局） ── */
.org-path-container {
  display: flex;
  flex-direction: column;
  border: var(--am-content-border);
  border-radius: 8px;
  overflow: hidden;
  background: rgba(var(--v-theme-on-surface), 0.02);
}
.org-path-item {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  gap: 8px;
}
.org-path-label {
  font-size: 10px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 3px;
  min-width: 48px;
  text-align: center;
  flex-shrink: 0;
  background: rgba(var(--v-theme-on-surface), 0.06);
  color: rgb(var(--v-theme-on-surface));
}
.org-path-text {
  font-family: 'JetBrains Mono', 'Consolas', monospace;
  font-size: 12px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: rgb(var(--v-theme-on-surface));
}
.org-path-target {
  color: rgb(var(--v-theme-on-surface));
}
.org-path-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2px 0;
  border-top: none;
  border-bottom: none;
  background: rgba(var(--v-theme-on-surface), 0.02);
}
.org-path-truncate {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

/* ── 规则预览结果 ── */
.org-preview-result {
  padding: 12px;
  border-radius: 10px;
  border: var(--am-content-border);
  background: rgba(var(--v-theme-primary), 0.04);
}
.org-preview-path {
  font-size: 13px;
  font-family: 'Menlo', 'Consolas', monospace;
  word-break: break-all;
  color: rgb(var(--v-theme-primary));
  font-weight: 500;
}

/* ── 整理搜索框 ── */
.org-search-field {
  max-width: 260px;
}

/* ── 变量手册 (订阅/整理共用) ── */
.variable-manual {
  padding: 12px;
  border-radius: 8px;
  border: var(--am-content-border);
  background: transparent;
}
.variable-section {
  margin-bottom: 16px;
}
.variable-section:last-child {
  margin-bottom: 0;
}
.variable-section-title {
  font-size: 12px;
  font-weight: bold;
  color: rgb(var(--v-theme-primary));
  margin-bottom: 8px;
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(var(--v-border-color), 0.12);
}
.variable-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  padding: 2px 0;
}
.variable-item code {
  color: rgb(var(--v-theme-warning));
  font-family: monospace;
  padding: 2px 4px;
  border-radius: 4px;
  border: var(--am-content-border);
  background: transparent;
  white-space: nowrap;
}
.variable-item span {
  color: rgb(var(--v-theme-on-surface));
}

/* ── FileBrowserView 文件浏览 ── */
.file-list-item {
  border-bottom: 1px solid rgba(var(--v-theme-on-surface), 0.06);
}
.file-list-item:last-child {
  border-bottom: none;
}
.detail-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 12px;
}
.detail-label {
  font-size: 13px;
  color: rgb(var(--v-theme-on-surface));
  font-weight: 600;
  min-width: 70px;
  flex-shrink: 0;
}
.detail-value {
  flex: 1;
  font-size: 14px;
  word-break: break-all;
}

/* ── StrmView STRM 生成 ── */
/* ⚠️ DEPRECATED: 以下 .task-card / .info-row 系列已迁移至 §31 .manage-card__* 系列，新代码请使用新类名 */
.task-card {
  transition: transform 0.2s ease;
}
.task-card:hover {
  transform: translateY(-4px);
}
.info-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}
.info-label {
  font-size: 12px;
  color: rgb(var(--v-theme-on-surface));
  font-weight: 600;
  min-width: 64px;
  flex-shrink: 0;
}
.info-value {
  flex: 1;
  font-size: 13px;
  font-family: monospace;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ── GuideView 使用指南 ── */
.guide-card {
  height: 100%;
  transition: transform 0.2s ease;
}
.guide-card:hover {
  transform: translateY(-2px);
}

/* ── CalendarView 日历 ── */
.calendar-day-card {
  height: 100%;
}
.calendar-today-card {
  border: var(--am-content-border);
  box-shadow: 0 0 0 2px rgba(var(--v-theme-primary), 0.3);
}
.calendar-day-header {
  text-align: center;
}
.calendar-today-header {
  background: linear-gradient(to bottom, rgba(var(--v-theme-primary), 0.08), transparent);
}
.calendar-item:hover {
  background: rgba(var(--v-theme-on-surface), 0.04);
}

/* ── 演员阵容横向滚动 ── */
.cast-scroll {
  scrollbar-width: thin;
}
.cast-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 80px;
}

/* ============================================================
 * §33. 统一媒体卡片 — Media Card (海报卡片)
 *     含图片的番剧/电影/剧集等海报卡片统一定义
 *     使用方式：<v-card class="glass-card media-card">
 *
 *     布局约定:
 *     ┌──────────────────────────────┐
 *     │ [TV]               ⭐ 8.5    │  ← .media-card__type   .media-card__rating
 *     │                              │
 *     │        海报图片 (2:3)         │  ← .media-card__poster
 *     │                              │
 *     ├──────────────────────────────┤
 *     │      番剧名称（居中截断）      │  ← .media-card__title
 *     │          2025               │  ← .media-card__year
 *     └──────────────────────────────┘
 *
 *     网格使用:
 *     <div class="media-card-grid">
 *       <v-card class="glass-card media-card">...</v-card>
 *     </div>
 *     无需 v-row / v-col，断点由 CSS 统一管理。
 * ============================================================ */

/* ── 33a. 媒体卡片网格 (CSS Grid, 断点统一在此管理) ──
 *   对齐 Vuetify 12栅格: cols=6→2列, sm=4→3列, md=3→4列, lg=2→6列, xl=1→12列
 *   此处默认适中密度，各页面可按需覆盖                          ── */
.media-card-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
@media (min-width: 600px)  { .media-card-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 960px)  { .media-card-grid { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 1264px) { .media-card-grid { grid-template-columns: repeat(6, 1fr); } }
@media (min-width: 1904px) { .media-card-grid { grid-template-columns: repeat(8, 1fr); } }

/* ── 33b. 媒体卡片主体 ── */
.media-card {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  overflow: hidden;
}
.media-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

/* ── 33b. 海报区域 ── */
.media-card__poster {
  position: relative;
  aspect-ratio: 2 / 3;
  background: rgba(var(--v-theme-on-surface), 0.04);
  overflow: hidden;
  border-radius: var(--glass-radius, 12px);
}
.media-card__poster .v-img {
  width: 100%;
  height: 100%;
}

/* ── 33c. 类型标识 (左上角) ── */
.media-card__type {
  position: absolute;
  top: 6px;
  left: 6px;
  z-index: 2;
  padding: 2px 8px;
  border-radius: 6px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.5px;
  line-height: 1.6;
  background: var(--am-badge-overlay-bg);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.media-card__type--bgm {
  color: var(--am-badge-accent);
}
.media-card__type--tmdb-movie {
  color: var(--am-badge-warm);
}
.media-card__type--tmdb-tv {
  color: var(--am-badge-accent);
}

/* ── 33d. 评分 (右上角) ── */
.media-card__rating {
  position: absolute;
  top: 6px;
  right: 6px;
  z-index: 2;
  padding: 2px 6px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.4;
  background: var(--am-badge-overlay-bg);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  color: var(--am-badge-rating-color);
}

/* ── 33e. 已订阅角标 ── */
.media-card__sub-badge {
  position: absolute;
  bottom: 6px;
  right: 6px;
  backdrop-filter: blur(4px);
  border-radius: 50%;
  padding: 2px;
  z-index: 2;
}

/* ── 33e-2. 播出时间徽章 (海报底部居中) ── */
/*
 * 数据来源：后端 broadcast_time 字段
 *   - "周一 00:30" 等字符串 → 显示时间文本
 *   - "END" → 显示红色已完结徽章
 *   - null/undefined → 不显示
 */
.media-card__broadcast {
  position: absolute;
  bottom: 6px;
  left: 6px;
  z-index: 2;
  padding: 2px 8px;
  border-radius: 6px;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.3px;
  background: var(--am-badge-overlay-bg);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  color: var(--am-badge-accent);
  display: flex;
  align-items: center;
  gap: 3px;
}
.media-card__broadcast--end {
  background: rgba(var(--v-theme-error), 0.85);
  color: #fff;
}

/* ── 33e-3. 无海报时的占位符 ── */
.media-card__poster-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(var(--v-theme-on-surface), 0.06);
}

/* ── 33f. 卡片下方信息区 ── */
.media-card__info {
  padding: 8px 8px 10px;
  text-align: center;
}
.media-card__title {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: rgb(var(--v-theme-on-surface));
}
.media-card__year {
  font-size: 11px;
  color: rgb(var(--v-theme-on-surface));
  margin-top: 2px;
}
.media-card__subtitle {
  font-size: 11px;
  color: rgb(var(--v-theme-on-surface));
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-top: 1px;
}

/* ── 33g. 卡片底部操作按钮区 ── */
.media-card__actions {
  display: flex;
  gap: 4px;
  padding: 0 8px 8px;
  justify-content: center;
}

/* ============================================================
 * §33h. 演员卡片 — Cast Card
 *     复用 media-card 体系（poster + info），仅增加网格与人物占位符
 *     使用方式：<v-card class="glass-card media-card cursor-pointer">
 *                 <div class="media-card__poster">...</div>
 *                 <div class="media-card__info">...</div>
 *               </v-card>
 *
 *     布局约定（与 media-card 一致，2:3 海报比例）:
 *     ┌────────────┐
 *     │   照片区    │  aspect-ratio 2:3，与海报相同
 *     │  (2:3)     │
 *     ├────────────┤
 *     │  演员名    │  居中、粗体、单行截断
 *     │  角色名    │  居中、灰色、单行截断
 *     └────────────┘
 * ============================================================ */

/* ── 演员卡片网格（比媒体卡片更密，列数更多） ── */
.cast-card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
@media (min-width: 600px)  { .cast-card-grid { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 960px)  { .cast-card-grid { grid-template-columns: repeat(6, 1fr); } }
@media (min-width: 1264px) { .cast-card-grid { grid-template-columns: repeat(8, 1fr); } }

/* ── 演员卡片图片区：contain 模式完整显示图片，不裁剪 ── */
.cast-card__poster {
  position: relative;
  aspect-ratio: 2 / 3;
  background: rgba(var(--v-theme-on-surface), 0.04);
  overflow: hidden;
  border-radius: var(--glass-radius, 12px);
}
.cast-card__poster .v-img {
  width: 100%;
  height: 100%;
}

/* ── 无照片时的演员占位符（复用 media-card__poster-placeholder） ── */
.cast-card__placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  background: rgba(var(--v-theme-on-surface), 0.06);
  color: rgb(var(--v-theme-on-surface));
}

/* ============================================================
 * §34. 追剧日历卡片 — Calendar Track Card
 *     与 .media-card 体系独立，因为含集数标签等额外信息
 *     使用方式：<v-card class="glass-card track-card">
 *
 *     布局约定:
 *     ┌──────────────────────────────┐
 *     │                              │
 *     │        海报图片 (2:3)         │  ← .track-card__poster
 *     │                              │
 *     ├──────────────────────────────┤
 *     │      番剧名称（截断）         │  ← .track-card__title
 *     │  [S1E1] [S1E2] [END]        │  ← 集数标签
 *     └──────────────────────────────┘
 *
 *     网格使用:
 *     <div class="track-card-grid">
 *       <v-card class="glass-card track-card">...</v-card>
 *     </div>
 * ============================================================ */

/* ── 34a. 追剧日历网格 ── */
.track-card-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  align-items: start;
}
@media (min-width: 600px)  { .track-card-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 960px)  { .track-card-grid { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 1264px) { .track-card-grid { grid-template-columns: repeat(6, 1fr); } }
@media (min-width: 1904px) { .track-card-grid { grid-template-columns: repeat(8, 1fr); } }

/* ── 34b. 卡片主体 ── */
.track-card {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  overflow: hidden;
}
.track-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

/* ── 34c. 海报区域 (固定 2:3 比例) ── */
.track-card__poster {
  position: relative;
  aspect-ratio: 2 / 3;
  background: rgba(var(--v-theme-on-surface), 0.04);
  overflow: hidden;
  border-radius: var(--glass-radius, 12px);
}
.track-card__poster .v-img {
  width: 100%;
  height: 100%;
}

/* ── 34d. 无海报时的占位符 ── */
.track-card__placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(var(--v-theme-on-surface), 0.06);
  font-size: 32px;
  font-weight: 700;
  color: rgb(var(--v-theme-on-surface));
}

/* ── 34e. 信息区域 ── */
.track-card__info {
  padding: 10px 12px;
  text-align: center;
}
.track-card__title {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-bottom: 6px;
}

/* ============================================================
 * §35. 追踪管理网格 — Calendar Manage Grid
 *     用于追踪管理弹窗内的紧凑卡片网格
 *     卡片本体使用 §33 .media-card 体系，此处仅定义弹窗专用网格
 *     使用方式：<div class="cal-manage-grid">
 *                 <v-card class="glass-card media-card">...</v-card>
 *               </div>
 * ============================================================ */

/* ── 35a. 追踪管理网格 (弹窗内更紧凑) ── */
.cal-manage-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
@media (min-width: 600px)  { .cal-manage-grid { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 960px)  { .cal-manage-grid { grid-template-columns: repeat(5, 1fr); } }

/* ── 兼容旧 .sub-badge (逐步迁移) ── */
.sub-badge {
  position: absolute;
  top: 6px;
  right: 6px;
  backdrop-filter: blur(4px);
  border-radius: 50%;
  padding: 2px;
  z-index: 2;
}

/* ── SystemLogsTab 系统日志 ── */
.log-container {
  background: rgba(var(--v-theme-on-surface), 0.02);
}
.log-line {
  padding: 2px 4px;
  border-radius: 2px;
  white-space: pre-wrap;
  word-break: break-all;
  line-height: 1.6;
}
.log-error {
  color: rgb(var(--v-theme-error));
  background: rgba(var(--v-theme-error), 0.06);
}
.log-warning {
  color: rgb(var(--v-theme-warning));
}
.log-info {
  color: rgb(var(--v-theme-on-surface));
}
.log-debug {
  color: rgb(var(--v-theme-on-surface));
}

/* ── DatabaseTab 数据库 ── */
.sql-result-box {
  background: rgba(var(--v-theme-on-surface), 0.02);
  border-radius: 8px;
  max-height: 300px;
  overflow: auto;
  font-size: 12px;
}

/* ============================================================
 * FileHashesView — 文件哈希记录
 * ============================================================ */
.hash-search-field {
  max-width: 360px;
  flex-grow: 1;
}

.hash-item-card {
  padding: 12px 16px;
  border-radius: 16px;
  background: rgba(var(--v-theme-on-surface), 0.03);
  border: var(--am-content-border);
  transition: all 0.2s ease;
}

.hash-item-card:hover {
  background: rgba(var(--v-theme-on-surface), 0.06);
  border-color: rgb(var(--v-theme-on-surface));
}

.hash-path {
  font-family: monospace;
  font-size: 12px;
}

.hash-value {
  font-family: monospace;
  font-size: 12px;
}

/* ============================================================
 * TaskHistoryView — 任务中心独立页面
 * ============================================================ */
.task-search-field {
  max-width: 360px;
  flex-grow: 1;
}

/* ============================================================
 * DataCenterView — 数据中心
 * ============================================================ */
.dc-stat-card {
  transition: transform 0.2s ease;
}

.dc-stat-card:hover {
  transform: translateY(-4px);
}

.dc-detail-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid rgba(var(--v-theme-on-surface), 0.06);
  font-size: 14px;
}

.dc-detail-row:last-child {
  border-bottom: none;
}

.dc-search-item {
  padding: 12px 16px;
  border-radius: 16px;
  background: rgba(var(--v-theme-on-surface), 0.03);
  border: var(--am-content-border);
  transition: all 0.2s ease;
}

.dc-search-item:hover {
  background: rgba(var(--v-theme-on-surface), 0.06);
  border-color: rgb(var(--v-theme-on-surface));
}

/* --- 数据库管理 --- */
.dc-db-table-list {
  max-height: 70vh;
  overflow-y: auto;
}

.dc-db-table-item {
  padding: 10px 14px;
  border-radius: 12px;
  background: rgba(var(--v-theme-on-surface), 0.03);
  border: var(--am-content-border);
  transition: all 0.2s ease;
  cursor: pointer;
  margin-bottom: 6px;
}

.dc-db-table-item:hover {
  background: rgba(var(--v-theme-on-surface), 0.06);
  border-color: rgb(var(--v-theme-on-surface));
}

.dc-db-table-item--active {
  background: rgba(var(--v-theme-primary), 0.08);
  border-color: rgba(var(--v-theme-primary), 0.3);
}

.dc-db-data-container {
  overflow: hidden;
}

.dc-db-table-wrapper {
  overflow-x: auto;
  border-radius: 12px;
  border: var(--am-content-border);
}

.dc-db-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.dc-db-table thead tr {
  background: transparent;
}

.dc-db-table th {
  padding: 10px 12px;
  font-weight: 600;
  white-space: nowrap;
  border-bottom: 1px solid rgba(var(--v-theme-on-surface), 0.08);
  text-align: left;
}

.dc-db-table td {
  padding: 8px 12px;
  border-bottom: 1px solid rgba(var(--v-theme-on-surface), 0.04);
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dc-db-table tbody tr:hover {
  background: rgba(var(--v-theme-on-surface), 0.03);
}

/* --- 哈希详情全值展示 --- */
.hash-full-value {
  font-family: monospace;
  font-size: 12px;
  padding: 8px 12px;
  border-radius: 8px;
  background: rgba(var(--v-theme-on-surface), 0.03);
  border: var(--am-content-border);
  word-break: break-all;
  line-height: 1.5;
}

/* --- 光标手型 --- */
.cursor-pointer { cursor: pointer; }

/* --- 筛选行最小高度 --- */
.filter-row { min-height: 36px; }

/* --- 多行文本截断 --- */
.text-truncate-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-break: break-all;
}

/* --- 分类徽章 --- */
.category-badge { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 10px; letter-spacing: 0.5px; }

/* --- 搜索结果列表 (订阅/整理共用) --- */
.search-results-list {
  border: var(--am-content-border);
  border-radius: 8px;
  overflow: hidden;
}
.search-result-item,
.sub-search-result-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  cursor: pointer;
  border-bottom: 1px solid rgba(var(--v-theme-on-surface), 0.06);
  transition: background 0.15s ease;
}
/* sub-search-result-item 无分隔线 */
.sub-search-result-item {
  border-bottom: none;
}
.search-result-item:last-child { border-bottom: none; }
.search-result-item:hover,
.sub-search-result-item:hover { background: rgba(var(--v-theme-primary), 0.06); }
.search-result-info { flex: 1; min-width: 0; }
.search-result-title { font-size: 14px; font-weight: 600; line-height: 1.4; color: rgb(var(--v-theme-on-surface)); }
.search-result-sub { font-size: 12px; line-height: 1.4; color: rgb(var(--v-theme-on-surface)); margin-top: 2px; }

/* --- 海报占位 (小尺寸) --- */
.poster-placeholder-sm {
  width: 50px; height: 75px;
  background: rgba(var(--v-theme-on-surface), 0.06);
  border-radius: 4px;
  display: flex; align-items: center; justify-content: center;
  font-size: 11px; color: rgb(var(--v-theme-on-surface));
}

/* --- 配置区域 (整理/识别共用) --- */
.config-section {
  background: transparent;
  padding: 16px;
  border-radius: 12px;
  border: var(--am-content-border);
}

/* --- 区域标题 --- */
.section-title {
  font-size: 13px;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 6px;
}

/* --- 开关行 --- */
.switch-row {
  display: flex;
  align-items: center;
  gap: 12px;
}
.switch-label {
  font-weight: 500;
  color: rgb(var(--v-theme-on-surface));
}
.switch-desc {
  font-size: 12px;
  color: rgb(var(--v-theme-on-surface));
}

/* --- 表单标签最小宽度 (AppearanceView 等) --- */
.label-min-w { min-width: 100px; }

/* --- 搜索输入框 --- */
.dc-search-input {
  max-width: 360px;
  flex-grow: 1;
}

/* ── STRM / 整理弹框: URL 预览框 ── */
.preview-box {
  background: rgb(var(--v-theme-surface-variant), 0.3);
  border: var(--am-content-border);
  border-radius: 8px;
  padding: 12px 16px;
  min-height: 80px;
  font-size: 13px;
  word-break: break-all;
}

/* ── 通用工具栏 (搜索+筛选+操作) ── */
.list-toolbar {
  margin-bottom: 16px;
}
.list-toolbar__filters {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-bottom: 8px;
  flex-wrap: wrap;
}
.list-toolbar__actions {
  display: flex;
  align-items: center;
  gap: 8px;
}
.list-toolbar__total {
  font-size: 12px;
  color: rgb(var(--v-theme-on-surface));
}

/* ── 工具栏移动端：搜索框全宽 ── */
@media (max-width: 600px) {
  .list-toolbar__filters .search-field {
    max-width: 100%;
    width: 100%;
  }
}

/* ============================================================
 * §36. 拖拽排序 — Drag Sort
 *     适用于 .manage-card 网格布局中的卡片拖拽重排
 *     使用方式：<v-col draggable="true" :class="{ 'drag-sorting': ..., 'drag-over': ... }">
 * ============================================================ */

/* 拖拽中的卡片半透明 */
.drag-sorting {
  opacity: 0.5;
}

/* 拖拽悬停目标的虚线边框高亮 */
.drag-over {
  position: relative;
}

.drag-over::after {
  content: '';
  position: absolute;
  inset: -2px;
  border: 2px dashed rgb(var(--v-theme-primary));
  border-radius: 26px;
  pointer-events: none;
  z-index: 1;
}


/* ============================================================
 * §37. AI 实验室 — 技能卡片 & Markdown 渲染
 *     使用方式：<v-card class="glass-card skill-card">
 *     内部结构复用 manage-card__* 体系
 * ============================================================ */

/* ── 37a. 技能卡片 ── */
.skill-card {
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.skill-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}

/* ── 37a-2. 工具卡片 ── */
.tool-card {
  padding: 12px;
  transition: all 0.2s ease;
}
.tool-card:hover {
  background: rgba(var(--v-theme-on-surface), 0.04);
}

/* ── 37a-3. 工具搜索框 ── */
.tool-search-field {
  max-width: 300px;
}

/* ── 37a-4. 技能搜索框 ── */
.skill-search-field {
  max-width: 240px;
}

/* ── 37a-4. 工具参数类型标签 ── */
.tool-param-type {
  min-width: 60px;
}

/* ── 37b. 技能 Markdown 渲染区 ── */
.skill-markdown {
  font-size: 13px;
}
.skill-markdown h1,
.skill-markdown h2,
.skill-markdown h3 {
  margin-top: 12px;
  margin-bottom: 6px;
  font-weight: 600;
}

/* ── 37c. AI 介入测试 — 信息块 ── */
.info-block {
  padding: 12px 16px;
  border-radius: 8px;
  background: rgba(var(--v-theme-on-surface), 0.03);
  border: var(--am-content-border);
}
.info-block .info-block__label {
  font-size: 12px;
  color: rgb(var(--v-theme-on-surface));
  margin-bottom: 4px;
}
.info-block .info-block__value {
  font-size: 14px;
  font-weight: 500;
  word-break: break-all;
}

/* ── 37d. 对话气泡 ── */
.user-bubble {
  max-width: 80%;
  white-space: pre-wrap;
  background: rgb(var(--v-theme-primary));
  color: #fff;
  padding: 10px 16px;
  border-radius: 12px;
  line-height: 1.6;
}

.assistant-bubble {
  max-width: 80%;
  padding: 12px 16px;
  border-radius: 12px;
  background: rgba(var(--v-theme-surface-variant), 0.3);
  border: 1px solid rgba(var(--v-theme-on-surface), 0.12);
  line-height: 1.6;
}

/* ── 37e. 工具调用事件 ── */
.event-item {
  padding: 6px 10px;
  border-radius: 6px;
  background: rgba(var(--v-theme-surface-variant), 0.2);
  font-size: 13px;
  border-left: 3px solid rgba(var(--v-theme-on-surface), 0.2);
}
.event-item.tool_call {
  border-left-color: rgb(var(--v-theme-primary));
}
.event-item.tool_result {
  border-left-color: rgb(var(--v-theme-success));
}
.event-item.tool_result:not(.success) {
  border-left-color: rgb(var(--v-theme-error));
}
.event-item.skill {
  border-left-color: rgb(var(--v-theme-info));
}

/* ── 37f. 工具列表行 ── */
.tool-row {
  transition: background 0.2s;
}

/* ── 37g. 通用 Markdown 渲染 ── */
.markdown-body {
  line-height: 1.7;
}
.markdown-body h1,
.markdown-body h2,
.markdown-body h3 {
  margin-top: 16px;
  margin-bottom: 8px;
  font-weight: 600;
}
.markdown-body h1 { font-size: 1.4em; }
.markdown-body h2 { font-size: 1.2em; }
.markdown-body h3 { font-size: 1.1em; }
.markdown-body p {
  margin: 8px 0;
}
.markdown-body ul,
.markdown-body ol {
  margin: 8px 0;
  padding-left: 24px;
}
.markdown-body li {
  margin: 4px 0;
}
.markdown-body table {
  width: 100%;
  border-collapse: collapse;
  margin: 12px 0;
}
.markdown-body th,
.markdown-body td {
  border: 1px solid rgba(var(--v-theme-on-surface), 0.12);
  padding: 8px 12px;
  text-align: left;
}
.markdown-body th {
  background: rgba(var(--v-theme-surface-variant), 0.3);
  font-weight: 600;
}
.markdown-body code {
  background: rgba(var(--v-theme-surface-variant), 0.3);
  padding: 2px 6px;
  border-radius: 4px;
  font-family: monospace;
  font-size: 0.9em;
}
.markdown-body pre {
  background: rgba(var(--v-theme-surface-variant), 0.3);
  padding: 12px;
  border-radius: 8px;
  overflow-x: auto;
  margin: 12px 0;
}
.markdown-body pre code {
  background: none;
  padding: 0;
}
.markdown-body blockquote {
  border-left: 4px solid rgb(var(--v-theme-primary));
  padding-left: 12px;
  margin: 12px 0;
  opacity: 0.8;
}
.markdown-body hr {
  border: none;
  border-top: 1px solid rgba(var(--v-theme-on-surface), 0.12);
  margin: 16px 0;
}
.markdown-body strong {
  font-weight: 600;
}

/* 1.9 设计规范结构 */
/**
 * design-spec.css — 设计规范结构
 *
 * 搜索框、弹窗操作栏、页面操作栏、表单间距等布局规则。
 * 视觉属性通过设计令牌（tokens.css）统一管理。
 */


/* ============================================================
 * 搜索框结构
 * ============================================================ */

.search-field {
  max-width: 360px;
  flex-grow: 1;
}

.search-field .v-field {
  border-radius: var(--am-field-radius, 20px) !important;
}

.search-field .v-field .v-btn {
  border-radius: var(--am-btn-radius, 14px) !important;
}


/* ============================================================
 * 布局结构
 * ============================================================ */

.dialog-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  padding: 12px 16px !important;
}

.page-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.card-actions {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 8px 12px !important;
}

.switch-row-lg {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

.switch-row-lg:last-child {
  margin-bottom: 0;
}

.app-page-header {
  min-height: 48px;
}

.app-page-header h1 {
  line-height: 1.3;
}

.app-page-header .text-body-2 {
  line-height: 1.4;
}


/* ============================================================
 * 表单间距
 * ============================================================ */

.form-section .v-text-field,
.form-section .v-select,
.form-section .v-autocomplete,
.form-section .v-combobox,
.form-section .v-textarea {
  margin-top: 8px !important;
  margin-bottom: 8px !important;
}

.form-section .v-row + .v-row {
  margin-top: 4px;
}

.form-section > .v-text-field:last-child,
.form-section > .v-select:last-child,
.form-section > .v-autocomplete:last-child,
.form-section > .v-combobox:last-child,
.form-section > .v-textarea:last-child,
.form-section > .v-row:last-child {
  margin-bottom: 0 !important;
}

.v-dialog .v-card-text .v-text-field,
.v-dialog .v-card-text .v-select,
.v-dialog .v-card-text .v-autocomplete,
.v-dialog .v-card-text .v-combobox,
.v-dialog .v-card-text .v-textarea {
  margin-top: 8px;
  margin-bottom: 8px;
}

.v-dialog .v-card-text .v-row + .v-row {
  margin-top: 4px;
}

/* 1.10 通用复用结构 */
/**
 * utilities.css — 通用复用组件
 *
 * 卡片悬浮、配置行、加载条、信息标签、键值行、状态点等。
 * 视觉属性通过设计令牌（tokens.css）统一管理。
 */


/* ============================================================
 * 通用卡片悬浮
 * 结构部分（cursor + transition），视觉效果（transform + box-shadow）
 * 在 visual.css §16 中通过令牌统一处理
 * ============================================================ */

.hover-lift {
  cursor: pointer;
}


/* ============================================================
 * 配置行
 * ============================================================ */

.config-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-radius: 12px;
  background: rgba(var(--v-theme-on-surface), 0.03);
  border: var(--am-content-border);
  transition: border-color 0.2s, background 0.2s;
}

.config-row:hover {
  border-color: rgba(var(--v-theme-primary), 0.3);
  background: rgba(var(--v-theme-on-surface), 0.05);
}


/* ============================================================
 * 加载进度条
 * ============================================================ */

.loading-bar {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  z-index: 10;
  overflow: hidden;
  background: rgba(var(--v-theme-primary), 0.15);
}

.loading-bar-inner {
  height: 100%;
  width: 40%;
  background: linear-gradient(90deg, var(--am-badge-accent), var(--am-badge-rating-color));
  border-radius: 0 4px 4px 0;
  animation: loading-slide 1.2s ease-in-out infinite;
}

@keyframes loading-slide {
  0% { transform: translateX(-100%); }
  50% { transform: translateX(150%); }
  100% { transform: translateX(350%); }
}


/* ============================================================
 * 信息标签
 * ============================================================ */

.info-badge {
  font-family: monospace;
  font-size: 11px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 4px;
  background: rgba(var(--v-theme-on-surface), 0.06);
  color: rgb(var(--v-theme-primary));
  border: 1px solid rgba(var(--v-theme-on-surface), 0.08);
}

.info-badge--accent {
  color: var(--am-badge-accent);
  border-color: rgba(78, 205, 196, 0.2);
}


/* ============================================================
 * 键值行
 * ============================================================ */

.kv-row {
  display: flex;
  gap: 12px;
  padding: 6px 0;
  border-bottom: 1px solid rgba(var(--v-theme-on-surface), 0.06);
}

.kv-row:last-child {
  border-bottom: none;
}

.kv-label {
  font-weight: 600;
  font-size: 12px;
  color: rgb(var(--v-theme-on-surface));
  min-width: 70px;
  flex-shrink: 0;
}

.kv-value {
  flex: 1;
  font-size: 13px;
  color: rgb(var(--v-theme-on-surface));
  word-break: break-all;
}

.kv-value--mono {
  font-family: monospace;
}


/* ============================================================
 * 状态点
 * ============================================================ */

.status-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: inline-block;
}

.status-dot--active {
  box-shadow: 0 0 6px rgba(var(--v-theme-success), 0.6);
}

.status-dot--inactive {
  box-shadow: 0 0 6px rgba(var(--v-theme-error), 0.4);
}

.status-dot--pending {
  box-shadow: 0 0 6px rgba(var(--v-theme-warning), 0.4);
}


/* ============================================================
 * 海报占位
 * ============================================================ */

.poster-placeholder {
  background: rgba(var(--v-theme-on-surface), 0.04);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgb(var(--v-theme-on-surface));
  font-size: 12px;
}

.poster-placeholder--dashed {
  border: 1px dashed rgba(var(--v-theme-on-surface), 0.15);
  border-radius: 8px;
}


/* ============================================================
 * 卡片网格
 * ============================================================ */

.card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.card-grid--4 {
  grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 960px) {
  .card-grid { grid-template-columns: repeat(2, 1fr); }
  .card-grid--4 { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
  .card-grid { grid-template-columns: 1fr; }
  .card-grid--4 { grid-template-columns: 1fr; }
}

.card-grid > .v-card,
.card-grid > .glass-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}


/* ============================================================
 * 队列列表辅助
 * ============================================================ */

.queue-divider {
  border-top: 1px solid rgba(var(--v-theme-on-surface), 0.08);
}

.queue-scroll {
  max-height: 65vh;
  overflow-y: auto;
}

/* ---- 队列进度条 ---- */
.queue-bar-wrapper {
  width: 100%;
  height: 4px;
  background: rgba(var(--v-theme-on-surface), 0.06);
  border-radius: 2px;
  overflow: hidden;
}

.queue-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, rgb(var(--v-theme-warning)), rgb(var(--v-theme-warning), 0.5));
  border-radius: 2px;
  transition: width 0.4s ease;
}

/* ---- 队列项行 ---- */
.queue-item-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 16px;
  border-bottom: 1px solid rgba(var(--v-theme-on-surface), 0.06);
  transition: background 0.2s;
}

.queue-item-row:hover {
  background: rgba(var(--v-theme-primary), 0.04);
}

.queue-item-row:last-child {
  border-bottom: none;
}

.queue-item-badge {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
  background: rgba(var(--v-theme-on-surface), 0.08);
  color: rgb(var(--v-theme-on-surface));
}

.queue-item-badge--active {
  background: rgba(var(--v-theme-primary), 0.15);
  color: rgb(var(--v-theme-primary));
  animation: queue-pulse 1.5s ease-in-out infinite;
}

@keyframes queue-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(var(--v-theme-primary), 0.3); }
  50% { box-shadow: 0 0 0 4px rgba(var(--v-theme-primary), 0); }
}

.queue-item-content {
  flex: 1;
  min-width: 0;
}

.queue-item-filename {
  font-size: 13px;
  font-weight: 600;
  color: rgb(var(--v-theme-on-surface));
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.queue-item-dirpath {
  font-size: 11px;
  color: rgb(var(--v-theme-on-surface));
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-family: monospace;
}

.queue-item-status {
  flex-shrink: 0;
}

.queue-item-status-icon {
  flex-shrink: 0;
  opacity: 0.4;
}


/* ============================================================
 * 服务状态卡片
 * ============================================================ */

.service-card--running {
  border: 1px solid rgba(var(--v-theme-success), 0.2);
}

.service-card--stopped {
  border: 1px solid rgba(var(--v-theme-error), 0.25);
}

.service-card--pending {
  border: 1px solid rgba(var(--v-theme-primary), 0.2);
}

.service-card--disabled {
  border: 1px solid rgba(128, 128, 128, 0.1);
  opacity: 0.6;
}


/* ============================================================
 * 哈希警告 / 禁用提示
 * ============================================================ */

.hash-warning-inline {
  font-size: 11px;
  color: rgb(var(--v-theme-error));
  padding: 4px 8px;
  background: rgba(var(--v-theme-error), 0.06);
  border-radius: 4px;
  margin-top: 4px;
}

.inactive-hint {
  color: rgb(var(--v-theme-on-surface));
  font-style: italic;
}


/* ============================================================
 * 管理卡片
 * ============================================================ */

.manage-card {
  min-height: 180px;
  display: flex;
  flex-direction: column;
}

.manage-card > .v-card-text,
.manage-card > .v-card-title {
  flex-shrink: 0;
}

.manage-card > .v-card-text:last-child,
.manage-card > .v-card-actions {
  margin-top: auto;
}

.manage-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 14px 16px 6px;
}

.manage-card__title {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  min-width: 0;
}

.manage-card__badge {
  flex-shrink: 0;
}

.manage-card__body {
  padding: 4px 16px 8px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
  overflow: hidden;
}

.manage-card__info {
  display: flex;
  align-items: baseline;
  gap: 8px;
  font-size: 12px;
  line-height: 1.6;
  min-height: 18px;
}

.manage-card__info-label {
  color: rgb(var(--v-theme-on-surface));
  font-weight: 600;
  white-space: nowrap;
  min-width: 48px;
  flex-shrink: 0;
}

.manage-card__info-value {
  color: rgb(var(--v-theme-on-surface));
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  min-width: 0;
}

.manage-card__desc {
  font-size: 12px;
  color: rgb(var(--v-theme-on-surface));
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.manage-card__tags {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
  margin-top: 4px;
}

.manage-card__actions {
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 6px 8px !important;
  min-height: 40px;
}

.manage-card__actions .v-btn {
  flex-shrink: 0;
}

.manage-card__switch-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 2px 0;
}

.manage-card__switch-label {
  font-size: 12px;
  color: rgb(var(--v-theme-on-surface));
  white-space: nowrap;
}


/* ============================================================
 * 通用工具类
 * ============================================================ */

.font-mono {
  font-family: monospace;
}

.min-width-0 {
  min-width: 0;
}

.word-break-all {
  word-break: break-all;
}

/* ═══════════════════════════════════════════════════════════════
 * 第 2 层 — 设计令牌（Design Tokens）
 * ═══════════════════════════════════════════════════════════════ */

/* 2.1 CSS 变量：颜色/模糊/边框/阴影/圆角/过渡 */
/**
 * tokens.css — 设计令牌（Design Tokens）
 *
 * 三主题完全独立，互不混合：
 *   :root                           → 仅跨主题中性值（过渡、尺寸等）
 *   html.glass-theme-acg            → ACG 主题值（亮色 + 暗色 + body 级）
 *   html.glass-theme-liquid         → 液态玻璃主题值（亮色 + 暗色 + body 级）
 *   html.glass-theme-classic        → 经典实色主题值（亮色 + 暗色 + body 级）
 *
 * 规则：
 *   1. :root 只放三主题完全相同的值（如过渡时长、滚动条宽度）
 *   2. 每个主题在自己的 html.glass-theme-xxx 前缀下定义完整令牌
 *   3. 主题内部用 .v-theme--light / .v-theme--dark 区分明暗
 *   4. body 级令牌设在 html.glass-theme-xxx 上（body 是 .v-application 的父级）
 *   5. 只放变量声明，不放选择器规则
 */

/* ============================================================
 * 0. 中性令牌 — 三主题完全相同，不随主题变化
 * ============================================================ */

:root {
  /* 过渡 */
  --am-transition: all 0.3s ease;
  --am-transition-fast: all 0.2s ease;

  /* 禁用态 */
  --am-disabled-opacity: 0.5;

  /* 滚动条尺寸 */
  --am-scrollbar-width: 8px;
  --am-scrollbar-radius: 4px;
  --am-scrollbar-nav-width: 6px;
  --am-scrollbar-nav-radius: 3px;

  /* 列表项尺寸 */
  --am-list-item-min-height: 38px;

  /* 开关/滑块拇指（白色圆点，三主题统一） */
  --am-switch-thumb-bg: #fff;
  --am-switch-thumb-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
  --am-slider-thumb-bg: #fff;

  /* 卡片悬浮位移 */
  --am-surface-hover-transform: translateY(-2px);

  /* 折叠面板（引用 surface-radius，自动随主题） */
  --am-panel-radius: var(--am-surface-radius);
  --am-panel-shadow: none;

  /* 标签页选中字重 */
  --am-tab-active-weight: 600;

  /* 芯片圆角 */
  --am-chip-radius: 8px;

  /* 输入框模糊（三主题都为 none） */
  --am-field-blur: none;

  /* 输入框阴影（默认 none，ACG/Liquid 可在主题块覆盖） */
  --am-field-shadow: none;

  /* 进度条光晕（亮色为 none，ACG 暗色在自己的区块覆盖） */
  --am-progress-glow: none;

  /* 代码块语法高亮色（跨主题统一，终端绿） */
  --am-code-syntax-color: #7ec699;

  /* 媒体卡片徽章 — 海报上的半透明深色底（跨主题统一） */
  --am-badge-overlay-bg: rgba(0, 0, 0, 0.75);
  --am-badge-accent: #4ecdc4;
  --am-badge-warm: #ff6b6b;
  --am-badge-rating-color: #ffd700;
}

/* 登录标题色（仅区分明暗，不区分主题） */
:root {
  --am-login-title-color: rgba(0, 0, 0, 0.87);
}
.v-theme--dark {
  --am-login-title-color: rgba(255, 255, 255, 0.92);
}

/* ============================================================
 * 1. ACG 主题 — 二次元壁纸 + 暗色毛玻璃
 *    html.glass-theme-acg 激活（仅支持 dark 模式）
 * ============================================================ */

/* ── 1a. ACG 组件令牌（仅暗色） ── */
html.glass-theme-acg {
  /* Body */
  --am-body-bg: transparent;
  --am-body-before-bg: center / cover no-repeat;
  /* body::before 不再直接加载壁纸图片 —— 壁纸统一由 useGlassWallpaper
     通过后端代理 /api/appearance/wallpaper_proxy 加载，避免 CORS 问题和
     随机壁纸 API 的缓存不一致。--am-wallpaper-source 仅存储源 URL 供 JS 读取。 */
  --am-body-before-image: none;
  --am-wallpaper-source: https://www.loliapi.com/acg/pc/;
  --am-body-before-filter: blur(0px);
  --am-body-before-transform: scale(1.02);
  --am-body-after-bg: rgba(0, 0, 0, 0.24);
  --am-body-after-display: "";

  /* Surface — 纯透明，无背景色 */
  --am-surface-bg: transparent;
  --am-surface-blur: blur(1px) saturate(110%);
  --am-surface-border: 1px solid rgba(255, 255, 255, 0.06);
  --am-surface-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
  --am-surface-radius: 16px;
  --am-surface-hover-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);

  /* Overlay — 弹窗/菜单/下拉：薄玻璃 */
  --am-overlay-bg: rgba(20, 20, 40, 0.2);
  --am-overlay-blur: blur(8px) saturate(140%);
  --am-overlay-border: 1px solid rgba(255, 255, 255, 0.08);
  --am-overlay-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
  --am-overlay-radius: 20px;
  --am-dialog-radius: 24px;
  --am-menu-radius: 20px;

  /* Nav */
  --am-nav-bg: transparent;
  --am-nav-blur: blur(1px) saturate(110%);
  --am-nav-border: 1px solid rgba(255, 255, 255, 0.06);
  --am-nav-shadow: none;

  /* Field */
  --am-field-bg: transparent;
  --am-field-border: 1px solid rgba(255, 255, 255, 0.06);
  --am-field-radius: 16px;
  --am-field-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.04);
  --am-field-focus-shadow:
    0 0 0 3px rgba(var(--v-theme-primary), 0.2),
    inset 0 1px 3px rgba(0, 0, 0, 0.04);
  --am-field-outline-opacity: 0;
  --am-field-focus-outline-color: rgb(var(--v-theme-primary));

  /* Button */
  --am-btn-bg: transparent;
  --am-btn-blur: blur(1px) saturate(110%);
  --am-btn-border: 1px solid rgba(255, 255, 255, 0.08);
  --am-btn-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  --am-btn-radius: 12px;
  --am-btn-hover-bg: rgba(255, 255, 255, 0.12);
  --am-btn-hover-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  --am-btn-font-weight: 600;
  --am-btn-text-color: rgba(255, 255, 255, 0.9);
  --am-btn-outlined-bg: transparent;
  --am-btn-outlined-hover-bg: rgba(255, 255, 255, 0.08);

  /* Tab */
  --am-tab-bg: transparent;
  --am-tab-blur: blur(1px) saturate(110%);
  --am-tab-border: 1px solid rgba(255, 255, 255, 0.08);
  --am-tab-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  --am-tab-radius: 999px;
  --am-tab-active-color: rgb(var(--v-theme-primary));
  --am-tab-inactive-color: rgba(255, 255, 255, 0.9);
  --am-tab-hover-color: rgba(var(--v-theme-primary), 0.7);
  --am-tab-gap: 8px;

  /* Chip */
  --am-chip-blur: blur(1px) saturate(110%);
  --am-chip-border: 1px solid rgba(255, 255, 255, 0.08);

  /* Snackbar */
  --am-snackbar-bg: rgba(20, 20, 40, 0.15);
  --am-snackbar-blur: blur(3px) saturate(110%);
  --am-snackbar-border: 1px solid rgba(255, 255, 255, 0.06);
  --am-snackbar-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
  --am-snackbar-radius: 14px;
  --am-snackbar-text: rgba(255, 255, 255, 0.9);

  /* Alert */
  --am-alert-blur: blur(1px) saturate(110%);
  --am-alert-border: 1px solid rgba(255, 255, 255, 0.08);

  /* Scrim */
  --am-scrim-blur: blur(4px);
  --am-scrim-bg: rgba(0, 0, 0, 0.45);

  /* Divider */
  --am-divider-color: rgba(255, 255, 255, 0.06);

  /* Text */
  --am-label-color: rgba(255, 255, 255, 0.9);
  --am-label-focus-color: rgb(var(--v-theme-primary));
  --am-input-text: rgba(255, 255, 255, 0.9);
  --am-dropdown-arrow: rgba(255, 255, 255, 0.5);
  --am-list-title: rgba(255, 255, 255, 0.87);

  /* Nav Active */
  --am-nav-active-color: rgb(var(--v-theme-primary));
  --am-nav-indicator-bg: transparent;
  --am-nav-indicator-width: 2px;
  --am-nav-indicator-radius: 0 2px 2px 0;

  /* List Active */
  --am-list-active-color: rgb(var(--v-theme-primary));

  /* Scrollbar color */
  --am-scrollbar-color: rgba(var(--am-primary-rgb, var(--v-theme-primary)), 0.25);
  --am-scrollbar-hover: rgba(var(--am-primary-rgb, var(--v-theme-primary)), 0.4);

  /* Login */
  --am-login-bg: rgba(20, 20, 40, 0.1);
  --am-login-blur: blur(3px) saturate(110%);
  --am-login-border: 1px solid rgba(255, 255, 255, 0.06);
  --am-login-shadow: 0 18px 42px -26px rgba(0, 0, 0, 0.7);
  --am-login-radius: 24px;

  /* Switch */
  --am-switch-track-bg: rgba(150, 158, 172, 0.35);
  --am-switch-track-active-bg: rgb(var(--v-theme-primary));

  /* Checkbox / Radio */
  --am-check-active-color: rgb(var(--v-theme-primary));
  --am-check-inactive-color: rgba(150, 158, 172, 0.55);

  /* Slider */
  --am-slider-track-bg: rgba(255, 255, 255, 0.1);
  --am-slider-fill-bg: linear-gradient(90deg, rgb(var(--v-theme-primary)), #4ecdc4);
  --am-slider-thumb-shadow: 0 0 10px rgba(78, 205, 196, 0.4);

  /* Progress */
  --am-progress-fill-bg: linear-gradient(90deg, rgb(var(--v-theme-primary)), #4ecdc4);
  --am-progress-circular-stroke: rgb(var(--v-theme-primary));
  --am-progress-glow: 0 0 12px rgba(78, 205, 196, 0.4);

  /* BtnToggle */
  --am-btn-toggle-border: 1px solid rgba(255, 255, 255, 0.08);
  --am-btn-toggle-radius: 16px;
  --am-btn-toggle-active-bg: rgba(66, 165, 245, 0.3);
  --am-btn-toggle-active-color: rgb(var(--v-theme-primary));

  /* Tooltip */
  --am-tooltip-blur: blur(1px) saturate(110%);

  /* Avatar */
  --am-avatar-blur: blur(1px) saturate(110%);
  --am-avatar-border: 1px solid rgba(255, 255, 255, 0.08);
  --am-avatar-color: rgb(var(--v-theme-primary));

  /* Table */
  --am-table-hover-bg: rgba(255, 255, 255, 0.06);
  --am-table-header-bg: transparent;

  /* Hover Lift */
  --am-hover-lift-shadow:
    0 8px 24px rgba(0, 0, 0, 0.3), 0 0 16px rgba(var(--am-primary-rgb, var(--v-theme-primary)), 0.12);

  /* Code */
  --am-code-radius: 6px;
  --am-code-block-color: #d4d4d4;
  --am-code-block-border: 1px solid rgba(255, 255, 255, 0.5);

  /* List Item */
  --am-list-item-radius: 12px;
  --am-list-item-margin: 2px 0;

  /* Filter Chip */
  --am-filter-chip-bg: transparent;
  --am-filter-chip-border: 1px solid rgba(255, 255, 255, 0.06);
  --am-filter-chip-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  --am-filter-chip-active-color: rgb(var(--v-theme-primary));
  --am-filter-chip-outlined-color: rgba(255, 255, 255, 0.85);

  /* Button Variants */
  --am-btn-primary-color: rgb(var(--v-theme-primary));
  --am-btn-success-color: rgb(var(--v-theme-success));
  --am-btn-warning-color: rgb(var(--v-theme-warning));
  --am-btn-error-color: rgb(var(--v-theme-error));
  --am-btn-primary-bg: transparent;
  --am-btn-success-bg: transparent;
  --am-btn-warning-bg: transparent;
  --am-btn-error-bg: transparent;

  /* Content Border */
  --am-content-border: 1px solid rgba(255, 255, 255, 0.08);
}

@media (orientation: portrait) {
  html.glass-theme-acg {
    --am-wallpaper-source: https://www.loliapi.com/acg/pe/;
  }
}

/* ============================================================
 * 2. 液态玻璃主题 — html.glass-theme-liquid 激活
 *    --lg-* 变量定义在 glass-themes.css 中
 * ============================================================ */

/* ── 2a. Liquid body 级 ── */
html.glass-theme-liquid {
  --am-body-bg: var(--lg-bg-page);
  --am-body-before-bg: none;
  --am-body-before-image: none;
  --am-body-before-filter: none;
  --am-body-before-transform: none;
  --am-body-after-bg: none;
  --am-body-after-display: none;
}

/* ── 2b. Liquid 亮色组件令牌 ── */
html.glass-theme-liquid .v-theme--light {
  /* Surface */
  --am-surface-bg: rgba(255, 255, 255, 0.4);
  --am-surface-blur: blur(22px) saturate(190%);
  --am-surface-border: 1px solid rgba(0, 0, 0, 0.1);
  --am-surface-shadow: var(--lg-rim), var(--lg-shadow);
  --am-surface-radius: 22px;
  --am-surface-hover-shadow: var(--lg-rim), var(--lg-shadow-lift);

  /* Overlay */
  --am-overlay-bg: rgba(255, 255, 255, 0.52);
  --am-overlay-blur: blur(22px) saturate(190%);
  --am-overlay-border: 1px solid var(--lg-border);
  --am-overlay-shadow: var(--lg-rim), var(--lg-shadow-lift);
  --am-overlay-radius: 22px;
  --am-dialog-radius: 22px;
  --am-menu-radius: 22px;

  /* Nav */
  --am-nav-bg: transparent;
  --am-nav-blur: none;
  --am-nav-border: none;
  --am-nav-shadow: none;

  /* Field */
  --am-field-bg: rgba(255, 255, 255, 0.4);
  --am-field-border: 1px solid var(--lg-border);
  --am-field-radius: 999px;
  --am-field-shadow: var(--lg-rim-sm), 0 2px 10px -6px rgba(31, 38, 135, 0.3);
  --am-field-focus-shadow:
    var(--lg-rim-sm), 0 0 0 2px rgba(var(--v-theme-primary), 0.45),
    0 4px 16px -8px rgb(var(--v-theme-primary));
  --am-field-outline-opacity: 0;
  --am-field-focus-outline-color: rgb(var(--v-theme-primary));

  /* Button */
  --am-btn-bg: rgba(255, 255, 255, 0.4);
  --am-btn-blur: blur(22px) saturate(190%);
  --am-btn-border: 1px solid var(--lg-border);
  --am-btn-shadow: var(--lg-rim-sm), var(--lg-shadow);
  --am-btn-radius: 999px;
  --am-btn-hover-bg: rgba(255, 255, 255, 0.52);
  --am-btn-hover-shadow: var(--lg-rim-sm), var(--lg-shadow);
  --am-btn-font-weight: 500;
  --am-btn-text-color: rgb(var(--v-theme-primary));
  --am-btn-outlined-bg: rgba(255, 255, 255, 0.4);
  --am-btn-outlined-hover-bg: rgba(255, 255, 255, 0.52);

  /* Tab */
  --am-tab-bg: rgba(255, 255, 255, 0.4);
  --am-tab-blur: blur(8px) saturate(170%);
  --am-tab-border: 1px solid var(--lg-border);
  --am-tab-shadow: var(--lg-rim-sm);
  --am-tab-radius: 999px;
  --am-tab-active-color: rgb(var(--v-theme-primary));
  --am-tab-inactive-color: rgba(0, 0, 0, 0.55);
  --am-tab-hover-color: rgb(var(--v-theme-primary));
  --am-tab-gap: 8px;

  /* Chip */
  --am-chip-blur: blur(8px) saturate(170%);
  --am-chip-border: 1px solid var(--lg-border);

  /* Snackbar */
  --am-snackbar-bg: rgba(255, 255, 255, 0.65);
  --am-snackbar-blur: blur(22px) saturate(190%);
  --am-snackbar-border: 1px solid var(--lg-border);
  --am-snackbar-shadow: var(--lg-rim-sm), var(--lg-shadow);
  --am-snackbar-radius: 14px;
  --am-snackbar-text: rgba(0, 0, 0, 0.87);

  /* Alert */
  --am-alert-blur: blur(10px) saturate(170%);
  --am-alert-border: 1px solid var(--lg-border);

  /* Scrim */
  --am-scrim-blur: none;
  --am-scrim-bg: rgba(24, 28, 58, 0.34);

  /* Divider */
  --am-divider-color: rgba(0, 0, 0, 0.08);

  /* Text */
  --am-label-color: rgba(0, 0, 0, 0.87);
  --am-label-focus-color: rgb(var(--v-theme-primary));
  --am-input-text: rgba(0, 0, 0, 0.87);
  --am-dropdown-arrow: rgba(0, 0, 0, 0.4);
  --am-list-title: rgba(0, 0, 0, 0.87);

  /* Nav Active */
  --am-nav-active-color: rgb(var(--v-theme-primary));
  --am-nav-indicator-bg: rgb(var(--v-theme-primary));
  --am-nav-indicator-width: 2px;
  --am-nav-indicator-radius: 0 2px 2px 0;

  /* List Active */
  --am-list-active-color: rgb(var(--v-theme-primary));

  /* Scrollbar */
  --am-scrollbar-color: rgba(255, 255, 255, 0.35);
  --am-scrollbar-hover: var(--el-color-primary);

  /* Login */
  --am-login-bg: rgba(255, 255, 255, 0.4);
  --am-login-blur: blur(22px) saturate(190%);
  --am-login-border: 1px solid var(--lg-border);
  --am-login-shadow: var(--lg-rim), var(--lg-shadow-lift);
  --am-login-radius: 28px;

  /* Switch */
  --am-switch-track-bg: rgba(0, 0, 0, 0.08);
  --am-switch-track-active-bg: rgb(var(--v-theme-primary));

  /* Checkbox / Radio */
  --am-check-active-color: rgb(var(--v-theme-primary));
  --am-check-inactive-color: rgba(120, 130, 145, 0.65);

  /* Slider */
  --am-slider-track-bg: rgba(0, 0, 0, 0.08);
  --am-slider-fill-bg: rgb(var(--v-theme-primary));
  --am-slider-thumb-shadow: 0 0 6px rgba(var(--v-theme-primary), 0.35);

  /* Progress */
  --am-progress-fill-bg: rgb(var(--v-theme-primary));
  --am-progress-circular-stroke: rgb(var(--v-theme-primary));

  /* BtnToggle */
  --am-btn-toggle-border: 1px solid var(--lg-border);
  --am-btn-toggle-radius: 999px;
  --am-btn-toggle-active-bg: rgba(var(--v-theme-primary), 0.15);
  --am-btn-toggle-active-color: rgb(var(--v-theme-primary));

  /* Tooltip */
  --am-tooltip-blur: blur(10px) saturate(170%);

  /* Avatar */
  --am-avatar-blur: blur(10px) saturate(170%);
  --am-avatar-border: 1px solid var(--lg-border);
  --am-avatar-color: rgb(var(--v-theme-primary));

  /* Table */
  --am-table-hover-bg: rgba(255, 255, 255, 0.35);
  --am-table-header-bg: rgba(255, 255, 255, 0.25);

  /* Hover Lift */
  --am-hover-lift-shadow: var(--lg-rim), var(--lg-shadow-lift);

  /* Code */
  --am-code-radius: 6px;
  --am-code-block-color: rgba(0, 0, 0, 0.87);
  --am-code-block-border: 1px solid var(--lg-border);

  /* Panel */
  --am-panel-shadow: var(--lg-rim), var(--lg-shadow);

  /* List Item */
  --am-list-item-radius: 14px;
  --am-list-item-margin: 2px 4px;

  /* Filter Chip */
  --am-filter-chip-bg: rgba(255, 255, 255, 0.4);
  --am-filter-chip-border: 1px solid var(--lg-border);
  --am-filter-chip-shadow: var(--lg-rim-sm);
  --am-filter-chip-active-color: rgb(var(--v-theme-primary));
  --am-filter-chip-outlined-color: rgba(0, 0, 0, 0.55);

  /* Button Variants */
  --am-btn-primary-color: rgb(var(--v-theme-primary));
  --am-btn-success-color: rgb(var(--v-theme-primary));
  --am-btn-warning-color: rgb(var(--v-theme-primary));
  --am-btn-error-color: rgb(var(--v-theme-primary));
  --am-btn-primary-bg: rgba(255, 255, 255, 0.4);
  --am-btn-success-bg: rgba(255, 255, 255, 0.4);
  --am-btn-warning-bg: rgba(255, 255, 255, 0.4);
  --am-btn-error-bg: rgba(255, 255, 255, 0.4);

  /* Content Border */
  --am-content-border: 1px solid var(--lg-border);
}

/* ── 2c. Liquid 暗色组件覆盖 ── */
html.glass-theme-liquid .v-theme--dark {
  --am-surface-bg: rgba(28, 30, 52, 0.44);
  --am-surface-border: 1px solid rgba(255, 255, 255, 0.08);

  --am-overlay-bg: rgba(28, 30, 52, 0.56);
  --am-overlay-border: 1px solid var(--lg-border);

  --am-field-bg: rgba(28, 30, 52, 0.44);
  --am-field-hover-bg: rgba(28, 30, 52, 0.56);

  --am-btn-bg: rgba(28, 30, 52, 0.44);
  --am-btn-hover-bg: rgba(28, 30, 52, 0.56);
  --am-btn-outlined-bg: rgba(28, 30, 52, 0.44);
  --am-btn-outlined-hover-bg: rgba(28, 30, 52, 0.56);

  --am-tab-bg: rgba(28, 30, 52, 0.44);
  --am-tab-inactive-color: rgba(255, 255, 255, 0.55);

  --am-snackbar-bg: rgba(28, 30, 52, 0.72);
  --am-snackbar-text: rgba(255, 255, 255, 0.9);

  --am-scrim-bg: rgba(2, 3, 10, 0.58);

  --am-divider-color: rgba(255, 255, 255, 0.06);

  --am-label-color: rgba(255, 255, 255, 0.9);
  --am-input-text: rgba(255, 255, 255, 0.9);
  --am-dropdown-arrow: rgba(255, 255, 255, 0.5);
  --am-list-title: rgba(255, 255, 255, 0.9);

  --am-scrollbar-color: rgba(255, 255, 255, 0.25);

  --am-switch-track-bg: rgba(255, 255, 255, 0.1);
  --am-slider-track-bg: rgba(255, 255, 255, 0.1);

  --am-table-hover-bg: rgba(28, 30, 52, 0.45);
  --am-table-header-bg: rgba(28, 30, 52, 0.3);

  --am-filter-chip-bg: rgba(28, 30, 52, 0.44);
  --am-filter-chip-outlined-color: rgba(255, 255, 255, 0.55);

  --am-btn-primary-bg: rgba(28, 30, 52, 0.44);
  --am-btn-success-bg: rgba(28, 30, 52, 0.44);
  --am-btn-warning-bg: rgba(28, 30, 52, 0.44);
  --am-btn-error-bg: rgba(28, 30, 52, 0.44);

  /* ── 以下从 light 继承（不分明暗的结构性变量） ── */
  --am-alert-blur: blur(10px) saturate(170%);
  --am-alert-border: 1px solid var(--lg-border);
  --am-avatar-blur: blur(10px) saturate(170%);
  --am-avatar-border: 1px solid var(--lg-border);
  --am-avatar-color: rgb(var(--v-theme-primary));
  --am-btn-blur: blur(22px) saturate(190%);
  --am-btn-border: 1px solid var(--lg-border);
  --am-btn-error-color: rgb(var(--v-theme-primary));
  --am-btn-font-weight: 500;
  --am-btn-hover-shadow: var(--lg-rim-sm), var(--lg-shadow);
  --am-btn-primary-color: rgb(var(--v-theme-primary));
  --am-btn-radius: 999px;
  --am-btn-shadow: var(--lg-rim-sm), var(--lg-shadow);
  --am-btn-success-color: rgb(var(--v-theme-primary));
  --am-btn-text-color: rgb(var(--v-theme-primary));
  --am-btn-toggle-active-bg: rgba(var(--v-theme-primary), 0.15);
  --am-btn-toggle-active-color: rgb(var(--v-theme-primary));
  --am-btn-toggle-border: 1px solid var(--lg-border);
  --am-btn-toggle-radius: 999px;
  --am-btn-warning-color: rgb(var(--v-theme-primary));
  --am-check-active-color: rgb(var(--v-theme-primary));
  --am-check-inactive-color: rgba(120, 130, 145, 0.65);
  --am-chip-blur: blur(8px) saturate(170%);
  --am-chip-border: 1px solid var(--lg-border);
  --am-code-block-border: 1px solid var(--lg-border);
  --am-code-block-color: rgba(0, 0, 0, 0.87);
  --am-code-radius: 6px;
  --am-content-border: 1px solid var(--lg-border);
  --am-dialog-radius: 22px;
  --am-field-border: 1px solid var(--lg-border);
  --am-field-focus-outline-color: rgb(var(--v-theme-primary));
  --am-field-focus-shadow:
    var(--lg-rim-sm), 0 0 0 2px rgba(var(--v-theme-primary), 0.45),
    0 4px 16px -8px rgb(var(--v-theme-primary));
  --am-field-outline-opacity: 0;
  --am-field-radius: 999px;
  --am-filter-chip-active-color: rgb(var(--v-theme-primary));
  --am-filter-chip-border: 1px solid var(--lg-border);
  --am-filter-chip-shadow: var(--lg-rim-sm);
  --am-hover-lift-shadow: var(--lg-rim), var(--lg-shadow-lift);
  --am-label-focus-color: rgb(var(--v-theme-primary));
  --am-list-active-color: rgb(var(--v-theme-primary));
  --am-list-item-margin: 2px 4px;
  --am-list-item-radius: 14px;
  --am-login-bg: rgba(255, 255, 255, 0.4);
  --am-login-blur: blur(22px) saturate(190%);
  --am-login-border: 1px solid var(--lg-border);
  --am-login-radius: 28px;
  --am-login-shadow: var(--lg-rim), var(--lg-shadow-lift);
  --am-menu-radius: 22px;
  --am-nav-active-color: rgb(var(--v-theme-primary));
  --am-nav-bg: transparent;
  --am-nav-blur: none;
  --am-nav-border: none;
  --am-nav-indicator-bg: rgb(var(--v-theme-primary));
  --am-nav-indicator-radius: 0 2px 2px 0;
  --am-nav-indicator-width: 2px;
  --am-nav-shadow: none;
  --am-overlay-blur: blur(22px) saturate(190%);
  --am-overlay-radius: 22px;
  --am-overlay-shadow: var(--lg-rim), var(--lg-shadow-lift);
  --am-progress-circular-stroke: rgb(var(--v-theme-primary));
  --am-progress-fill-bg: rgb(var(--v-theme-primary));
  --am-scrim-blur: none;
  --am-scrollbar-hover: var(--el-color-primary);
  --am-slider-fill-bg: rgb(var(--v-theme-primary));
  --am-slider-thumb-shadow: 0 0 6px rgba(var(--v-theme-primary), 0.35);
  --am-snackbar-blur: blur(22px) saturate(190%);
  --am-snackbar-border: 1px solid var(--lg-border);
  --am-snackbar-radius: 14px;
  --am-snackbar-shadow: var(--lg-rim-sm), var(--lg-shadow);
  --am-surface-blur: blur(22px) saturate(190%);
  --am-surface-hover-shadow: var(--lg-rim), var(--lg-shadow-lift);
  --am-surface-shadow: var(--lg-rim), var(--lg-shadow);
  --am-switch-track-active-bg: rgb(var(--v-theme-primary));
  --am-tab-active-color: rgb(var(--v-theme-primary));
  --am-tab-blur: blur(8px) saturate(170%);
  --am-tab-border: 1px solid var(--lg-border);
  --am-tab-gap: 8px;
  --am-tab-hover-color: rgb(var(--v-theme-primary));
  --am-tab-radius: 999px;
  --am-tab-shadow: var(--lg-rim-sm);
  --am-tooltip-blur: blur(10px) saturate(170%);
}

/* ============================================================
 * 3. 经典实色主题 — html.glass-theme-classic 激活
 * ============================================================ */

/* ── 3a. Classic body 级 ── */
html.glass-theme-classic.glass-light {
  --am-body-bg: #ffffff;
  --am-login-field-bg: #ffffff;
  --am-body-before-bg: none;
  --am-body-before-image: none;
  --am-body-before-filter: none;
  --am-body-before-transform: none;
  --am-body-after-bg: none;
  --am-body-after-display: none;
}

html.glass-theme-classic.glass-dark {
  --am-body-bg: #121212;
  --am-login-field-bg: #2c2c2c;
}

/* ── 3b. Classic 亮色组件令牌 ── */
html.glass-theme-classic .v-theme--light {
  /* Surface */
  --am-surface-bg: #ffffff;
  --am-surface-blur: none;
  --am-surface-border: 1px solid rgba(0, 0, 0, 0.4);
  --am-surface-shadow:
    0 1px 3px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.06);
  --am-surface-radius: 12px;
  --am-surface-hover-shadow:
    0 4px 12px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.06);

  /* Overlay */
  --am-overlay-bg: #ffffff;
  --am-overlay-blur: none;
  --am-overlay-border: none;
  --am-overlay-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
  --am-overlay-radius: 8px;
  --am-dialog-radius: 12px;
  --am-menu-radius: 8px;

  /* Nav */
  --am-nav-bg: #ffffff;
  --am-nav-blur: none;
  --am-nav-border: none;
  --am-nav-shadow: none;

  /* Field */
  --am-field-bg: #ffffff;
  --am-field-border: none;
  --am-field-radius: 8px;
  --am-field-shadow: none;
  --am-field-focus-shadow: 0 0 0 1px rgb(var(--v-theme-primary));
  --am-field-outline-opacity: 1;
  --am-field-focus-outline-color: rgb(var(--v-theme-primary));

  /* Button */
  --am-btn-bg: transparent;
  --am-btn-blur: none;
  --am-btn-border: none;
  --am-btn-shadow: none;
  --am-btn-radius: 8px;
  --am-btn-hover-bg: transparent;
  --am-btn-hover-shadow: none;
  --am-btn-font-weight: 500;
  --am-btn-text-color: inherit;
  --am-btn-outlined-bg: transparent;
  --am-btn-outlined-hover-bg: transparent;

  /* Tab */
  --am-tab-bg: transparent;
  --am-tab-blur: none;
  --am-tab-border: none;
  --am-tab-shadow: none;
  --am-tab-radius: 0;
  --am-tab-active-color: rgb(var(--v-theme-primary));
  --am-tab-inactive-color: rgb(var(--v-theme-on-surface));
  --am-tab-hover-color: rgb(var(--v-theme-primary));
  --am-tab-gap: 0;

  /* Chip */
  --am-chip-blur: none;
  --am-chip-border: none;

  /* Snackbar */
  --am-snackbar-bg: #333333;
  --am-snackbar-blur: none;
  --am-snackbar-border: none;
  --am-snackbar-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  --am-snackbar-radius: 8px;
  --am-snackbar-text: #ffffff;

  /* Alert */
  --am-alert-blur: none;
  --am-alert-border: none;

  /* Scrim */
  --am-scrim-blur: none;
  --am-scrim-bg: rgba(0, 0, 0, 0.32);

  /* Divider */
  --am-divider-color: rgba(0, 0, 0, 0.08);

  /* Text */
  --am-label-color: rgba(0, 0, 0, 0.87);
  --am-label-focus-color: rgb(var(--v-theme-primary));
  --am-input-text: rgba(0, 0, 0, 0.87);
  --am-dropdown-arrow: rgba(0, 0, 0, 0.4);
  --am-list-title: rgba(0, 0, 0, 0.87);

  /* Nav Active */
  --am-nav-active-color: rgb(var(--v-theme-primary));
  --am-nav-indicator-bg: rgb(var(--v-theme-primary));
  --am-nav-indicator-width: 3px;
  --am-nav-indicator-radius: 0 3px 3px 0;

  /* List Active */
  --am-list-active-color: rgb(var(--v-theme-primary));

  /* Scrollbar */
  --am-scrollbar-color: rgba(var(--v-theme-on-surface), 0.18);
  --am-scrollbar-hover: rgba(var(--v-theme-on-surface), 0.32);

  /* Login */
  --am-login-bg: #ffffff;
  --am-login-blur: none;
  --am-login-border: none;
  --am-login-shadow: 0 4px 24px rgba(0, 0, 0, 0.1);
  --am-login-radius: 16px;

  /* Switch */
  --am-switch-track-bg: rgba(0, 0, 0, 0.12);
  --am-switch-track-active-bg: rgb(var(--v-theme-primary));

  /* Checkbox / Radio */
  --am-check-active-color: rgb(var(--v-theme-primary));
  --am-check-inactive-color: rgba(120, 130, 145, 0.65);

  /* Slider */
  --am-slider-track-bg: rgba(var(--v-theme-on-surface), 0.12);
  --am-slider-fill-bg: rgb(var(--v-theme-primary));
  --am-slider-thumb-shadow: 0 0 6px rgba(var(--v-theme-primary), 0.35);

  /* Progress */
  --am-progress-fill-bg: rgb(var(--v-theme-primary));
  --am-progress-circular-stroke: rgb(var(--v-theme-primary));

  /* BtnToggle */
  --am-btn-toggle-border: 1px solid rgba(var(--v-theme-on-surface), 0.12);
  --am-btn-toggle-radius: 8px;
  --am-btn-toggle-active-bg: rgba(var(--v-theme-primary), 0.15);
  --am-btn-toggle-active-color: rgb(var(--v-theme-primary));

  /* Tooltip */
  --am-tooltip-blur: none;

  /* Avatar */
  --am-avatar-blur: none;
  --am-avatar-border: 1px solid rgba(var(--v-theme-on-surface), 0.12);
  --am-avatar-color: rgb(var(--v-theme-primary));

  /* Table */
  --am-table-hover-bg: rgba(0, 0, 0, 0.04);
  --am-table-header-bg: rgba(0, 0, 0, 0.02);

  /* Hover Lift */
  --am-hover-lift-shadow:
    0 4px 12px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.06);

  /* Code */
  --am-code-radius: 4px;
  --am-code-block-color: rgba(0, 0, 0, 0.87);
  --am-code-block-border: 1px solid rgba(var(--v-theme-on-surface), 0.12);

  /* List Item */
  --am-list-item-radius: 4px;
  --am-list-item-margin: 0;

  /* Filter Chip */
  --am-filter-chip-bg: transparent;
  --am-filter-chip-border: none;
  --am-filter-chip-shadow: none;
  --am-filter-chip-active-color: rgb(var(--v-theme-primary));
  --am-filter-chip-outlined-color: rgb(var(--v-theme-on-surface));

  /* Button Variants */
  --am-btn-primary-color: #fff;
  --am-btn-success-color: #fff;
  --am-btn-warning-color: #fff;
  --am-btn-error-color: #fff;
  --am-btn-primary-bg: rgb(var(--v-theme-primary));
  --am-btn-success-bg: rgb(var(--v-theme-success));
  --am-btn-warning-bg: rgb(var(--v-theme-warning));
  --am-btn-error-bg: rgb(var(--v-theme-error));

  /* Content Border */
  --am-content-border: 1px solid rgba(0, 0, 0, 0.4);
}

/* ── 3c. Classic 暗色组件覆盖 ── */
html.glass-theme-classic .v-theme--dark {
  --am-surface-bg: #1e1e1e;
  --am-surface-border: 1px solid rgba(255, 255, 255, 0.4);
  --am-surface-shadow:
    0 1px 3px rgba(0, 0, 0, 0.3), 0 1px 2px rgba(0, 0, 0, 0.2);
  --am-surface-hover-shadow:
    0 4px 12px rgba(0, 0, 0, 0.4), 0 2px 4px rgba(0, 0, 0, 0.3);

  --am-overlay-bg: #1e1e1e;
  --am-overlay-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);

  --am-nav-bg: #1e1e1e;

  --am-field-bg: #2c2c2c;

  --am-snackbar-bg: #e0e0e0;
  --am-snackbar-text: #1a1a1a;

  --am-scrim-bg: rgba(0, 0, 0, 0.54);

  --am-divider-color: rgba(255, 255, 255, 0.08);

  --am-label-color: rgba(255, 255, 255, 0.9);
  --am-input-text: rgba(255, 255, 255, 0.9);
  --am-dropdown-arrow: rgba(255, 255, 255, 0.5);
  --am-list-title: rgba(255, 255, 255, 0.9);

  --am-switch-track-bg: rgba(255, 255, 255, 0.14);

  --am-slider-track-bg: rgba(var(--v-theme-on-surface), 0.12);

  --am-table-hover-bg: rgba(255, 255, 255, 0.06);
  --am-table-header-bg: rgba(255, 255, 255, 0.02);

  --am-content-border: 1px solid rgba(255, 255, 255, 0.4);

  /* ── 以下从 light 继承（不分明暗的结构性变量） ── */
  --am-alert-blur: none;
  --am-alert-border: none;
  --am-avatar-blur: none;
  --am-avatar-border: 1px solid rgba(var(--v-theme-on-surface), 0.12);
  --am-avatar-color: rgb(var(--v-theme-primary));
  --am-btn-bg: transparent;
  --am-btn-blur: none;
  --am-btn-border: none;
  --am-btn-error-bg: rgb(var(--v-theme-error));
  --am-btn-error-color: #fff;
  --am-btn-font-weight: 500;
  --am-btn-hover-bg: transparent;
  --am-btn-hover-shadow: none;
  --am-btn-outlined-bg: transparent;
  --am-btn-outlined-hover-bg: transparent;
  --am-btn-primary-bg: rgb(var(--v-theme-primary));
  --am-btn-primary-color: #fff;
  --am-btn-radius: 8px;
  --am-btn-shadow: none;
  --am-btn-success-bg: rgb(var(--v-theme-success));
  --am-btn-success-color: #fff;
  --am-btn-text-color: inherit;
  --am-btn-toggle-active-bg: rgba(var(--v-theme-primary), 0.15);
  --am-btn-toggle-active-color: rgb(var(--v-theme-primary));
  --am-btn-toggle-border: 1px solid rgba(var(--v-theme-on-surface), 0.12);
  --am-btn-toggle-radius: 8px;
  --am-btn-warning-bg: rgb(var(--v-theme-warning));
  --am-btn-warning-color: #fff;
  --am-check-active-color: rgb(var(--v-theme-primary));
  --am-check-inactive-color: rgba(120, 130, 145, 0.65);
  --am-chip-blur: none;
  --am-chip-border: none;
  --am-code-block-border: 1px solid rgba(var(--v-theme-on-surface), 0.12);
  --am-code-block-color: rgba(0, 0, 0, 0.87);
  --am-code-radius: 4px;
  --am-dialog-radius: 12px;
  --am-field-border: none;
  --am-field-focus-outline-color: rgb(var(--v-theme-primary));
  --am-field-focus-shadow: 0 0 0 1px rgb(var(--v-theme-primary));
  --am-field-outline-opacity: 1;
  --am-field-radius: 8px;
  --am-filter-chip-active-color: rgb(var(--v-theme-primary));
  --am-filter-chip-bg: transparent;
  --am-filter-chip-border: none;
  --am-filter-chip-outlined-color: rgb(var(--v-theme-on-surface));
  --am-filter-chip-shadow: none;
  --am-hover-lift-shadow:
    0 4px 12px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.06);
  --am-label-focus-color: rgb(var(--v-theme-primary));
  --am-list-active-color: rgb(var(--v-theme-primary));
  --am-list-item-margin: 0;
  --am-list-item-radius: 4px;
  --am-login-bg: #ffffff;
  --am-login-blur: none;
  --am-login-border: none;
  --am-login-radius: 16px;
  --am-login-shadow: 0 4px 24px rgba(0, 0, 0, 0.1);
  --am-menu-radius: 8px;
  --am-nav-active-color: rgb(var(--v-theme-primary));
  --am-nav-blur: none;
  --am-nav-border: none;
  --am-nav-indicator-bg: rgb(var(--v-theme-primary));
  --am-nav-indicator-radius: 0 3px 3px 0;
  --am-nav-indicator-width: 3px;
  --am-nav-shadow: none;
  --am-overlay-blur: none;
  --am-overlay-border: none;
  --am-overlay-radius: 8px;
  --am-progress-circular-stroke: rgb(var(--v-theme-primary));
  --am-progress-fill-bg: rgb(var(--v-theme-primary));
  --am-scrim-blur: none;
  --am-scrollbar-color: rgba(var(--v-theme-on-surface), 0.18);
  --am-scrollbar-hover: rgba(var(--v-theme-on-surface), 0.32);
  --am-slider-fill-bg: rgb(var(--v-theme-primary));
  --am-slider-thumb-shadow: 0 0 6px rgba(var(--v-theme-primary), 0.35);
  --am-snackbar-blur: none;
  --am-snackbar-border: none;
  --am-snackbar-radius: 8px;
  --am-snackbar-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  --am-surface-blur: none;
  --am-switch-track-active-bg: rgb(var(--v-theme-primary));
  --am-tab-active-color: rgb(var(--v-theme-primary));
  --am-tab-bg: transparent;
  --am-tab-blur: none;
  --am-tab-border: none;
  --am-tab-gap: 0;
  --am-tab-hover-color: rgb(var(--v-theme-primary));
  --am-tab-inactive-color: rgb(var(--v-theme-on-surface));
  --am-tab-radius: 0;
  --am-tab-shadow: none;
  --am-tooltip-blur: none;
}

/* ============================================================
 * 日志级别色 — 供 visual.css 的 .log-entry__level 统一消费。
 * classic 与 liquid 共用一套值（亮暗两套），ACG 自成一套（恒暗色）。
 * ============================================================ */

html.glass-theme-classic,
html.glass-theme-liquid {
  /* 暗色值（默认） */
  --am-log-info: #5e5ce6;
  --am-log-warning: #ff9f0a;
  --am-log-error: #ff375f;
  --am-log-critical: #f48fb1;
  --am-log-success: #30d158;
  --am-log-debug: rgba(255, 255, 255, 0.35);
}

html.glass-theme-classic.glass-light,
html.glass-theme-liquid.glass-light {
  /* 亮色值（info 两态相同，无需覆盖） */
  --am-log-warning: #c2410c;
  --am-log-error: #b91c1c;
  --am-log-critical: #9d174d;
  --am-log-success: #15803d;
  --am-log-debug: rgba(0, 0, 0, 0.35);
}

html.glass-theme-acg {
  --am-log-info: #4ecdc4;
  --am-log-warning: #ffb74d;
  --am-log-error: #ef5350;
  --am-log-critical: #f48fb1;
  --am-log-success: #81c784;
  --am-log-debug: rgba(255, 255, 255, 0.4);
}

/* ════════════════════════════════════════════════════════════════
 * 全局圆角控制 — 由 useThemeCustomizer 的 radius 设置驱动
 * data-theme-radius 属性由 applyThemeCustomizerRootSettings 写入。
 *
 * 档位说明：
 *   none     — 无圆角（0px）
 *   small    — 小圆角（4-8px）
 *   default  — 默认（不覆盖，保持各主题自身的圆角值）
 *   large    — 大圆角（20-28px）
 *   extra    — 更大圆角（28-36px）
 *
 * 注意：pill 形（999px）的 tab/btn 在 none/small 档位会被强制转为直角/小圆角。
 * ════════════════════════════════════════════════════════════════ */

/* ── 无圆角 ── */
html[data-theme-radius='none'],
html[data-theme-radius='none'] .v-theme--light,
html[data-theme-radius='none'] .v-theme--dark {
  --am-surface-radius: 0px;
  --am-overlay-radius: 0px;
  --am-dialog-radius: 0px;
  --am-menu-radius: 0px;
  --am-field-radius: 0px;
  --am-btn-radius: 0px;
  --am-tab-radius: 0px;
  --am-list-item-radius: 0px;
  --am-snackbar-radius: 0px;
  --am-btn-toggle-radius: 0px;
  --am-login-radius: 0px;
  --am-chip-radius: 0px;
  --am-code-radius: 0px;
}

/* ── 小圆角 ── */
html[data-theme-radius='small'],
html[data-theme-radius='small'] .v-theme--light,
html[data-theme-radius='small'] .v-theme--dark {
  --am-surface-radius: 6px;
  --am-overlay-radius: 6px;
  --am-dialog-radius: 8px;
  --am-menu-radius: 6px;
  --am-field-radius: 6px;
  --am-btn-radius: 4px;
  --am-tab-radius: 4px;
  --am-list-item-radius: 4px;
  --am-snackbar-radius: 4px;
  --am-btn-toggle-radius: 4px;
  --am-login-radius: 8px;
  --am-chip-radius: 4px;
  --am-code-radius: 3px;
}

/* ── 默认：不覆盖，保持各主题自身的圆角值 ── */

/* ── 大圆角 ── */
html[data-theme-radius='large'],
html[data-theme-radius='large'] .v-theme--light,
html[data-theme-radius='large'] .v-theme--dark {
  --am-surface-radius: 20px;
  --am-overlay-radius: 24px;
  --am-dialog-radius: 28px;
  --am-menu-radius: 24px;
  --am-field-radius: 20px;
  --am-btn-radius: 16px;
  --am-tab-radius: 999px;
  --am-list-item-radius: 16px;
  --am-snackbar-radius: 16px;
  --am-btn-toggle-radius: 20px;
  --am-login-radius: 28px;
  --am-chip-radius: 12px;
  --am-code-radius: 8px;
}

/* ── 更大圆角 ── */
html[data-theme-radius='extra'],
html[data-theme-radius='extra'] .v-theme--light,
html[data-theme-radius='extra'] .v-theme--dark {
  --am-surface-radius: 28px;
  --am-overlay-radius: 32px;
  --am-dialog-radius: 36px;
  --am-menu-radius: 32px;
  --am-field-radius: 28px;
  --am-btn-radius: 24px;
  --am-tab-radius: 999px;
  --am-list-item-radius: 24px;
  --am-snackbar-radius: 20px;
  --am-btn-toggle-radius: 28px;
  --am-login-radius: 36px;
  --am-chip-radius: 16px;
  --am-code-radius: 12px;
}

/* ════════════════════════════════════════════════════════════════
 * 全局阴影控制 — 由 useThemeCustomizer 的 shadow 设置驱动
 * data-theme-shadow 属性由 applyThemeCustomizerRootSettings 写入。
 *
 * 档位说明：
 *   none     — 无阴影（全部 none）
 *   subtle   — 轻微阴影（极淡投影）
 *   default  — 默认（不覆盖，保持各主题自身的阴影值）
 *   prominent — 明显阴影
 *   dramatic  — 夸张阴影
 *
 * 覆盖范围：卡片(surface)、弹窗(overlay)、按钮(btn)、Tab、
 * 输入框(field)、折叠面板(panel)、snackbar、login、hover-lift、
 * 筛选芯片(filter-chip)、开关/滑块拇指。
 * ════════════════════════════════════════════════════════════════ */

/* ── 无阴影 ── */
html[data-theme-shadow='none'],
html[data-theme-shadow='none'] .v-theme--light,
html[data-theme-shadow='none'] .v-theme--dark {
  --am-surface-shadow: none;
  --am-surface-hover-shadow: none;
  --am-overlay-shadow: none;
  --am-panel-shadow: none;
  --am-hover-lift-shadow: none;
  --am-btn-shadow: none;
  --am-btn-hover-shadow: none;
  --am-tab-shadow: none;
  --am-field-shadow: none;
  --am-snackbar-shadow: none;
  --am-login-shadow: none;
  --am-filter-chip-shadow: none;
  --am-switch-thumb-shadow: none;
  --am-slider-thumb-shadow: none;

  /* ACG 主题玻璃阴影 */
  --glass-shadow: none;
  --glass-shadow-raised: none;
  --glass-shadow-hover: none;
  --glass-navbar-shadow: none;

  /* Liquid 主题液态阴影 */
  --lg-shadow: none;
  --lg-shadow-lift: none;
}

/* ── 轻微阴影 ── */
html[data-theme-shadow='subtle'],
html[data-theme-shadow='subtle'] .v-theme--light,
html[data-theme-shadow='subtle'] .v-theme--dark {
  --am-surface-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
  --am-surface-hover-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  --am-overlay-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
  --am-panel-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
  --am-hover-lift-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  --am-btn-shadow: none;
  --am-btn-hover-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
  --am-tab-shadow: none;
  --am-field-shadow: none;
  --am-snackbar-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
  --am-login-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
  --am-filter-chip-shadow: none;
  --am-switch-thumb-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
  --am-slider-thumb-shadow: none;

  /* ACG */
  --glass-shadow: 0 2px 8px rgba(3, 7, 18, 10%);
  --glass-shadow-raised: 0 4px 12px rgba(3, 7, 18, 14%);
  --glass-shadow-hover: 0 6px 16px rgba(3, 7, 18, 18%);
  --glass-navbar-shadow: 0 1px 4px rgba(3, 7, 18, 8%);

  /* Liquid */
  --lg-shadow: 0 2px 8px -4px rgba(31, 38, 135, 0.12);
  --lg-shadow-lift: 0 4px 12px -6px rgba(31, 38, 135, 0.16);
}

/* ── 默认：不覆盖，保持各主题自身的阴影值 ── */

/* ── 明显阴影 ── */
html[data-theme-shadow='prominent'],
html[data-theme-shadow='prominent'] .v-theme--light,
html[data-theme-shadow='prominent'] .v-theme--dark {
  --am-surface-shadow: 0 6px 20px rgba(0, 0, 0, 0.18);
  --am-surface-hover-shadow: 0 12px 32px rgba(0, 0, 0, 0.22);
  --am-overlay-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);
  --am-panel-shadow: 0 6px 20px rgba(0, 0, 0, 0.18);
  --am-hover-lift-shadow: 0 12px 32px rgba(0, 0, 0, 0.22), 0 0 20px rgba(var(--am-primary-rgb, var(--v-theme-primary)), 0.15);
  --am-btn-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  --am-btn-hover-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
  --am-tab-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  --am-field-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  --am-snackbar-shadow: 0 12px 40px rgba(0, 0, 0, 0.2);
  --am-login-shadow: 0 16px 48px rgba(0, 0, 0, 0.2);
  --am-filter-chip-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  --am-switch-thumb-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
  --am-slider-thumb-shadow: 0 0 14px rgba(var(--v-theme-primary), 0.5);

  /* ACG */
  --glass-shadow: 0 14px 36px rgba(3, 7, 18, 32%), inset 0 1px 0 var(--glass-highlight, rgba(255, 255, 255, 6%)), inset 0 -1px 0 rgba(2, 6, 16, 14%);
  --glass-shadow-raised: 0 20px 50px rgba(3, 7, 18, 40%), inset 0 1px 0 rgba(255, 255, 255, 24%), inset 0 -1px 0 rgba(2, 6, 16, 18%);
  --glass-shadow-hover: 0 24px 56px rgba(3, 7, 18, 44%), inset 0 1px 0 rgba(255, 255, 255, 28%), inset 0 -1px 0 rgba(2, 6, 16, 18%);
  --glass-navbar-shadow: 0 6px 20px rgba(3, 7, 18, 24%), inset 0 1px 0 rgba(255, 255, 255, 10%), inset 0 -1px 0 rgba(2, 6, 16, 12%);

  /* Liquid */
  --lg-shadow: 0 14px 42px -12px rgba(31, 38, 135, 0.38), 0 4px 12px -4px rgba(31, 38, 135, 0.22);
  --lg-shadow-lift: 0 28px 60px -14px rgba(31, 38, 135, 0.46), 0 6px 16px -6px rgba(31, 38, 135, 0.28);
}

/* ── 夸张阴影 ── */
html[data-theme-shadow='dramatic'],
html[data-theme-shadow='dramatic'] .v-theme--light,
html[data-theme-shadow='dramatic'] .v-theme--dark {
  --am-surface-shadow: 0 10px 32px rgba(0, 0, 0, 0.28);
  --am-surface-hover-shadow: 0 20px 48px rgba(0, 0, 0, 0.35);
  --am-overlay-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
  --am-panel-shadow: 0 10px 32px rgba(0, 0, 0, 0.28);
  --am-hover-lift-shadow: 0 20px 48px rgba(0, 0, 0, 0.35), 0 0 28px rgba(var(--am-primary-rgb, var(--v-theme-primary)), 0.2);
  --am-btn-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  --am-btn-hover-shadow: 0 10px 24px rgba(0, 0, 0, 0.22);
  --am-tab-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  --am-field-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
  --am-snackbar-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  --am-login-shadow: 0 24px 64px rgba(0, 0, 0, 0.3);
  --am-filter-chip-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  --am-switch-thumb-shadow: 0 4px 10px rgba(0, 0, 0, 0.4);
  --am-slider-thumb-shadow: 0 0 20px rgba(var(--v-theme-primary), 0.6);

  /* ACG */
  --glass-shadow: 0 20px 48px rgba(3, 7, 18, 42%), inset 0 1px 0 var(--glass-highlight, rgba(255, 255, 255, 6%)), inset 0 -1px 0 rgba(2, 6, 16, 14%);
  --glass-shadow-raised: 0 28px 64px rgba(3, 7, 18, 52%), inset 0 1px 0 rgba(255, 255, 255, 24%), inset 0 -1px 0 rgba(2, 6, 16, 18%);
  --glass-shadow-hover: 0 32px 72px rgba(3, 7, 18, 56%), inset 0 1px 0 rgba(255, 255, 255, 28%), inset 0 -1px 0 rgba(2, 6, 16, 18%);
  --glass-navbar-shadow: 0 10px 32px rgba(3, 7, 18, 32%), inset 0 1px 0 rgba(255, 255, 255, 10%), inset 0 -1px 0 rgba(2, 6, 16, 12%);

  /* Liquid */
  --lg-shadow: 0 20px 56px -12px rgba(31, 38, 135, 0.46), 0 6px 16px -4px rgba(31, 38, 135, 0.28);
  --lg-shadow-lift: 0 36px 72px -14px rgba(31, 38, 135, 0.54), 0 8px 20px -6px rgba(31, 38, 135, 0.34);
}

/* ════════════════════════════════════════════════════════════════
 * 全局边框控制 — 由 useThemeCustomizer 的 border 设置驱动
 * data-theme-border 属性由 applyThemeCustomizerRootSettings 写入。
 *
 * 档位说明：
 *   none      — 无边框（全部 none）
 *   subtle    — 轻微边框（极淡描边）
 *   default   — 默认（不覆盖，保持各主题自身的边框值）
 *   prominent — 明显边框
 *   dramatic  — 强边框（粗线 + 高对比度）
 *
 * 覆盖范围：卡片(surface)、弹窗(overlay)、导航(nav)、按钮(btn)、
 * Tab、输入框(field)、芯片(chip)、snackbar、alert、login、
 * btn-toggle、avatar、filter-chip、content-border。
 * ════════════════════════════════════════════════════════════════ */

/* ── 无边框 ── */
html[data-theme-border='none'],
html[data-theme-border='none'] .v-theme--light,
html[data-theme-border='none'] .v-theme--dark {
  --am-surface-border: none;
  --am-overlay-border: none;
  --am-nav-border: none;
  --am-field-border: none;
  --am-btn-border: none;
  --am-tab-border: none;
  --am-chip-border: none;
  --am-snackbar-border: none;
  --am-alert-border: none;
  --am-login-border: none;
  --am-btn-toggle-border: none;
  --am-avatar-border: none;
  --am-code-block-border: none;
  --am-filter-chip-border: none;
  --am-content-border: none;

  /* ACG */
  --glass-border: transparent;
  --glass-border-raised: transparent;
  --glass-border-hover: transparent;

  /* Liquid */
  --lg-border: transparent;
  --lg-border-strong: transparent;
}

/* ── 轻微边框 ── */
html[data-theme-border='subtle'],
html[data-theme-border='subtle'] .v-theme--light,
html[data-theme-border='subtle'] .v-theme--dark {
  --am-surface-border: 1px solid rgba(var(--v-theme-on-surface), 0.04);
  --am-overlay-border: 1px solid rgba(var(--v-theme-on-surface), 0.05);
  --am-nav-border: 1px solid rgba(var(--v-theme-on-surface), 0.04);
  --am-field-border: 1px solid rgba(var(--v-theme-on-surface), 0.04);
  --am-btn-border: 1px solid rgba(var(--v-theme-on-surface), 0.05);
  --am-tab-border: 1px solid rgba(var(--v-theme-on-surface), 0.05);
  --am-chip-border: 1px solid rgba(var(--v-theme-on-surface), 0.05);
  --am-snackbar-border: 1px solid rgba(var(--v-theme-on-surface), 0.04);
  --am-alert-border: 1px solid rgba(var(--v-theme-on-surface), 0.05);
  --am-login-border: 1px solid rgba(var(--v-theme-on-surface), 0.04);
  --am-btn-toggle-border: 1px solid rgba(var(--v-theme-on-surface), 0.05);
  --am-avatar-border: 1px solid rgba(var(--v-theme-on-surface), 0.05);
  --am-code-block-border: 1px solid rgba(var(--v-theme-on-surface), 0.08);
  --am-filter-chip-border: 1px solid rgba(var(--v-theme-on-surface), 0.04);
  --am-content-border: 1px solid rgba(var(--v-theme-on-surface), 0.05);

  /* ACG */
  --glass-border: rgba(255, 255, 255, 0.03);
  --glass-border-raised: rgba(255, 255, 255, 0.04);
  --glass-border-hover: rgba(255, 255, 255, 0.06);

  /* Liquid */
  --lg-border: rgba(var(--v-theme-on-surface), 0.04);
  --lg-border-strong: rgba(var(--v-theme-on-surface), 0.06);
}

/* ── 默认：不覆盖，保持各主题自身的边框值 ── */

/* ── 明显边框 ── */
html[data-theme-border='prominent'],
html[data-theme-border='prominent'] .v-theme--light,
html[data-theme-border='prominent'] .v-theme--dark {
  --am-surface-border: 1px solid rgba(var(--v-theme-on-surface), 0.16);
  --am-overlay-border: 1px solid rgba(var(--v-theme-on-surface), 0.18);
  --am-nav-border: 1px solid rgba(var(--v-theme-on-surface), 0.16);
  --am-field-border: 1px solid rgba(var(--v-theme-on-surface), 0.16);
  --am-btn-border: 1px solid rgba(var(--v-theme-on-surface), 0.18);
  --am-tab-border: 1px solid rgba(var(--v-theme-on-surface), 0.18);
  --am-chip-border: 1px solid rgba(var(--v-theme-on-surface), 0.18);
  --am-snackbar-border: 1px solid rgba(var(--v-theme-on-surface), 0.16);
  --am-alert-border: 1px solid rgba(var(--v-theme-on-surface), 0.18);
  --am-login-border: 1px solid rgba(var(--v-theme-on-surface), 0.16);
  --am-btn-toggle-border: 1px solid rgba(var(--v-theme-on-surface), 0.18);
  --am-avatar-border: 1px solid rgba(var(--v-theme-on-surface), 0.18);
  --am-code-block-border: 1px solid rgba(var(--v-theme-on-surface), 0.3);
  --am-filter-chip-border: 1px solid rgba(var(--v-theme-on-surface), 0.16);
  --am-content-border: 1px solid rgba(var(--v-theme-on-surface), 0.18);

  /* ACG */
  --glass-border: rgba(255, 255, 255, 0.14);
  --glass-border-raised: rgba(255, 255, 255, 0.18);
  --glass-border-hover: rgba(255, 255, 255, 0.24);

  /* Liquid */
  --lg-border: rgba(var(--v-theme-on-surface), 0.14);
  --lg-border-strong: rgba(var(--v-theme-on-surface), 0.2);
}

/* ── 强边框 ── */
html[data-theme-border='dramatic'],
html[data-theme-border='dramatic'] .v-theme--light,
html[data-theme-border='dramatic'] .v-theme--dark {
  --am-surface-border: 2px solid rgba(var(--v-theme-on-surface), 0.25);
  --am-overlay-border: 2px solid rgba(var(--v-theme-on-surface), 0.28);
  --am-nav-border: 2px solid rgba(var(--v-theme-on-surface), 0.25);
  --am-field-border: 2px solid rgba(var(--v-theme-on-surface), 0.25);
  --am-btn-border: 2px solid rgba(var(--v-theme-on-surface), 0.28);
  --am-tab-border: 2px solid rgba(var(--v-theme-on-surface), 0.28);
  --am-chip-border: 2px solid rgba(var(--v-theme-on-surface), 0.28);
  --am-snackbar-border: 2px solid rgba(var(--v-theme-on-surface), 0.25);
  --am-alert-border: 2px solid rgba(var(--v-theme-on-surface), 0.28);
  --am-login-border: 2px solid rgba(var(--v-theme-on-surface), 0.25);
  --am-btn-toggle-border: 2px solid rgba(var(--v-theme-on-surface), 0.28);
  --am-avatar-border: 2px solid rgba(var(--v-theme-on-surface), 0.28);
  --am-code-block-border: 2px solid rgba(var(--v-theme-on-surface), 0.4);
  --am-filter-chip-border: 2px solid rgba(var(--v-theme-on-surface), 0.25);
  --am-content-border: 2px solid rgba(var(--v-theme-on-surface), 0.28);

  /* ACG */
  --glass-border: rgba(255, 255, 255, 0.22);
  --glass-border-raised: rgba(255, 255, 255, 0.3);
  --glass-border-hover: rgba(255, 255, 255, 0.38);

  /* Liquid */
  --lg-border: rgba(var(--v-theme-on-surface), 0.22);
  --lg-border-strong: rgba(var(--v-theme-on-surface), 0.3);
}

/* ═══════════════════════════════════════════════════════════════
 * 第 3 层 — 共享视觉规则
 * ═══════════════════════════════════════════════════════════════ */

/* 3.1 统一组件视觉：背景/模糊/边框/阴影（引用令牌） */
/**
 * visual.css — 共享组件视觉规则层
 *
 * 使用 tokens.css 中定义的设计令牌，对 Vuetify 组件统一应用
 * 背景/模糊/边框/阴影/圆角等视觉属性。
 *
 * 此文件中的规则不带任何主题前缀（html.glass-theme-xxx），
 * 它们通过 CSS 变量级联自动适应当前激活的主题。
 *
 * 主题文件只需覆盖令牌值，无需重复写组件规则。
 */

/* ============================================================
 * 1. Surface — 卡片 / 面板
 * ============================================================ */

.v-card,
.v-card--variant-elevated,
.v-card--variant-flat,
.v-card--variant-tonal {
  background: var(--am-surface-bg) !important;
  background-color: var(--am-surface-bg) !important;
  backdrop-filter: var(--am-surface-blur) !important;
  -webkit-backdrop-filter: var(--am-surface-blur) !important;
  border: var(--am-surface-border) !important;
  box-shadow: var(--am-surface-shadow) !important;
  border-radius: var(--am-surface-radius) !important;
  transition: var(--am-transition) !important;
}

.v-card--variant-outlined {
  border: var(--am-surface-border) !important;
}

.v-card--link:hover,
.v-card[link]:hover {
  transform: var(--am-surface-hover-transform);
  box-shadow: var(--am-surface-hover-shadow) !important;
}

.v-sheet:not(.v-snackbar__wrapper) {
  background: var(--am-surface-bg) !important;
  background-color: var(--am-surface-bg) !important;
  backdrop-filter: var(--am-surface-blur) !important;
  -webkit-backdrop-filter: var(--am-surface-blur) !important;
  border: var(--am-surface-border) !important;
  border-radius: var(--am-surface-radius) !important;
}

.v-expansion-panel {
  background: var(--am-surface-bg) !important;
  background-color: var(--am-surface-bg) !important;
  backdrop-filter: var(--am-surface-blur) !important;
  -webkit-backdrop-filter: var(--am-surface-blur) !important;
  border: var(--am-surface-border) !important;
  border-radius: var(--am-panel-radius) !important;
  box-shadow: var(--am-panel-shadow) !important;
}

/* glass-card / glass-panel 圆角 */
.v-card.glass-card,
.v-card.glass-panel {
  border: var(--am-surface-border) !important;
  border-radius: var(--glass-radius, var(--am-surface-radius)) !important;
}

.v-card--variant-outlined.glass-card {
  border: var(--am-surface-border) !important;
  border-radius: var(--glass-radius, var(--am-surface-radius)) !important;
}

/* list-card */
.list-card {
  overflow: visible !important;
  border-radius: 12px !important;
}

/* liquid-glass-card */
.liquid-glass-card {
  position: relative;
  backdrop-filter: var(--am-surface-blur) !important;
  -webkit-backdrop-filter: var(--am-surface-blur) !important;
  border: var(--am-surface-border) !important;
  border-radius: 24px !important;
  box-shadow: var(--am-surface-shadow) !important;
  transition: var(--am-transition) !important;
  overflow: hidden;
}

/* ============================================================
 * 2. Overlay — 弹窗 / 下拉菜单 / 浮层
 * ============================================================ */

.v-dialog > .v-card {
  border-radius: var(--am-dialog-radius) !important;
}

.v-dialog .v-card,
.v-overlay__content .v-card {
  background: var(--am-overlay-bg) !important;
  background-color: var(--am-overlay-bg) !important;
  backdrop-filter: var(--am-overlay-blur) !important;
  -webkit-backdrop-filter: var(--am-overlay-blur) !important;
  box-shadow: var(--am-overlay-shadow) !important;
  border: var(--am-overlay-border) !important;
}

/* 弹窗内下拉面板 — 继承弹窗背景 */
.v-dialog .v-card .v-card-text .v-overlay .v-list,
.v-dialog .v-card .v-card-text .v-menu > .v-list {
  background: inherit !important;
  background-color: inherit !important;
}

/* 下拉菜单面板 */
.v-menu .v-overlay__content {
  border-radius: var(--am-menu-radius) !important;
  overflow: hidden !important;
}

.v-select .v-overlay__content,
.v-autocomplete .v-overlay__content,
.v-combobox .v-overlay__content {
  border-radius: var(--am-menu-radius) !important;
  overflow: hidden !important;
}

.v-overlay .v-list,
.v-menu .v-card,
.v-menu .v-list {
  background: var(--am-overlay-bg) !important;
  backdrop-filter: var(--am-overlay-blur) !important;
  -webkit-backdrop-filter: var(--am-overlay-blur) !important;
  box-shadow: var(--am-overlay-shadow) !important;
  border: var(--am-overlay-border) !important;
  border-radius: var(--am-menu-radius) !important;
}

/* 下拉列表项 */
.v-select .v-list-item,
.v-autocomplete .v-list-item,
.v-combobox .v-list-item,
.v-menu .v-list-item {
  border-radius: var(--am-list-item-radius) !important;
  margin: var(--am-list-item-margin) !important;
  min-height: var(--am-list-item-min-height) !important;
  transition: var(--am-transition-fast) !important;
}

.v-select .v-chip {
  margin: 2px 4px 2px 0 !important;
}

.v-select .v-field__append-inner .v-icon {
  transition: transform 0.3s ease-out !important;
}

.v-select--active .v-field__append-inner .v-icon {
  transform: rotate(180deg) !important;
}

/* 列表项文字 */
.v-overlay .v-list .v-list-item-title {
  color: var(--am-list-title) !important;
}

/* 列表项选中 */
.v-list-item--active {
  color: var(--am-list-active-color) !important;
}

.v-select .v-list-item--active,
.v-autocomplete .v-list-item--active,
.v-combobox .v-list-item--active,
.v-menu .v-list-item--active {
  color: var(--am-list-active-color) !important;
}

/* 下拉面板输入框文字 */
.v-select .v-field__input,
.v-autocomplete .v-field__input,
.v-combobox .v-field__input {
  color: var(--am-input-text) !important;
}

/* 下拉箭头颜色 */
.v-select .v-field__append-inner .v-icon {
  color: var(--am-dropdown-arrow) !important;
}

/* 多选 chips */
.v-select .v-chip--variant-tonal {
  color: var(--am-list-active-color) !important;
}

/* ============================================================
 * 3. Scrim — 遮罩
 * ============================================================ */

.v-dialog > .v-overlay__scrim {
  backdrop-filter: var(--am-scrim-blur) !important;
  -webkit-backdrop-filter: var(--am-scrim-blur) !important;
  background: var(--am-scrim-bg) !important;
}

/* snackbar / menu 等非对话框 overlay 的 scrim 隐藏 */
.v-overlay:not(.v-dialog) > .v-overlay__scrim {
  background: transparent !important;
  opacity: 0 !important;
}

/* loading 遮罩 */
.v-skeleton-loader,
.v-dialog.v-overlay--active > .v-overlay__scrim {
  backdrop-filter: blur(3px) !important;
  -webkit-backdrop-filter: blur(3px) !important;
}

/* ============================================================
 * 4. Nav — 侧边栏 / 顶栏 / 工具栏
 * ============================================================ */

.v-navigation-drawer,
.v-app-bar,
.v-toolbar {
  background: var(--am-nav-bg) !important;
  background-color: var(--am-nav-bg) !important;
  backdrop-filter: var(--am-nav-blur) !important;
  -webkit-backdrop-filter: var(--am-nav-blur) !important;
  border: var(--am-nav-border) !important;
  box-shadow: var(--am-nav-shadow) !important;
}

/* 导航激活色 */
.v-navigation-drawer .v-list-item--active .v-list-item-title {
  font-weight: 600;
  color: var(--am-nav-active-color) !important;
}

.v-navigation-drawer .v-list-item--active .v-icon {
  color: var(--am-nav-active-color) !important;
}

.v-navigation-drawer .v-list-item--active::before {
  content: '';
  position: absolute;
  left: 0;
  top: 25%;
  bottom: 25%;
  width: var(--am-nav-indicator-width);
  border-radius: var(--am-nav-indicator-radius);
  background: var(--am-nav-indicator-bg);
}

/* ============================================================
 * 5. Field — 输入框
 * ============================================================ */

.v-field--variant-outlined {
  background: var(--am-field-bg) !important;
  border-radius: var(--am-field-radius) !important;
  box-shadow: var(--am-field-shadow) !important;
  border: var(--am-field-border) !important;
}

.v-field--variant-outlined .v-field__outline {
  --v-field-border-opacity: var(--am-field-outline-opacity) !important;
}

.v-field--variant-outlined:hover .v-field__outline {
  --v-field-border-opacity: var(--am-field-outline-opacity) !important;
}

.v-field--variant-outlined.v-field--focused .v-field__outline {
  --v-field-border-opacity: var(--am-field-outline-opacity) !important;
  color: var(--am-field-focus-outline-color) !important;
}

.v-field--variant-outlined.v-field--focused {
  box-shadow: var(--am-field-focus-shadow) !important;
}

/* label 和文字 */
.v-field .v-label {
  color: var(--am-label-color) !important;
}

.v-field--focused .v-label {
  color: var(--am-label-focus-color) !important;
}

.v-field__input {
  color: var(--am-input-text) !important;
}

.v-input input,
.v-input textarea {
  color: var(--am-input-text) !important;
}

/* filled */
.v-field--variant-filled {
  background: var(--am-field-bg) !important;
  border-radius: var(--am-field-radius) var(--am-field-radius) 0 0 !important;
  border: var(--am-field-border) !important;
}

/* solo */
.v-field--variant-solo {
  background: var(--am-field-bg) !important;
  border-radius: var(--am-field-radius) !important;
  box-shadow: var(--am-field-shadow) !important;
  border: var(--am-field-border) !important;
}

/* solo-filled */
.v-field--variant-solo-filled {
  background: var(--am-field-bg) !important;
  border-radius: var(--am-field-radius) !important;
  border: var(--am-field-border) !important;
}

/* solo-inverted */
.v-field--variant-solo-inverted {
  background: var(--am-field-bg) !important;
}

/* underlined */
.v-field--variant-underlined {
  background: var(--am-field-bg) !important;
}

/* plain */
.v-field--variant-plain {
  background: var(--am-field-bg) !important;
}

/* Autocomplete / Combobox 聚焦 */
.v-autocomplete .v-field--variant-outlined.v-field--focused,
.v-combobox .v-field--variant-outlined.v-field--focused {
  box-shadow: var(--am-field-focus-shadow) !important;
}

/* 全局 focus 光环 */
.v-field--focused {
  box-shadow: var(--am-field-focus-shadow) !important;
}

/* ============================================================
 * 6. Divider — 分割线
 * ============================================================ */

.v-divider {
  border-color: var(--am-divider-color) !important;
}

/* ============================================================
 * 7. Tab — 标签页
 * ============================================================ */

.v-tabs .v-slide-group,
.v-tabs .v-slide-group__wrapper,
.v-tabs .v-slide-group__content {
  background: transparent !important;
}

.v-tabs .v-slide-group__content {
  gap: var(--am-tab-gap) !important;
}

.v-tab__slider {
  display: none !important;
  opacity: 0 !important;
}

.v-tab {
  background: var(--am-tab-bg) !important;
  backdrop-filter: var(--am-tab-blur) !important;
  -webkit-backdrop-filter: var(--am-tab-blur) !important;
  border: var(--am-tab-border) !important;
  box-shadow: var(--am-tab-shadow) !important;
  border-radius: var(--am-tab-radius) !important;
  transition: background 0.3s ease, color 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease !important;
}

.v-tab--selected {
  color: var(--am-tab-active-color) !important;
  font-weight: var(--am-tab-active-weight) !important;
}

.v-tab:not(.v-tab--selected) {
  color: var(--am-tab-inactive-color) !important;
}

.v-tab:not(.v-tab--selected):hover {
  color: var(--am-tab-hover-color) !important;
}

/* ============================================================
 * 8. Button — 按钮
 * ============================================================ */

.v-btn--variant-flat {
  background: var(--am-btn-bg) !important;
  backdrop-filter: var(--am-btn-blur) !important;
  -webkit-backdrop-filter: var(--am-btn-blur) !important;
  border: var(--am-btn-border) !important;
  border-radius: var(--am-btn-radius) !important;
  color: var(--am-btn-text-color) !important;
  font-weight: var(--am-btn-font-weight);
  transition: var(--am-transition) !important;
}

.v-btn--variant-flat:hover {
  background: var(--am-btn-hover-bg) !important;
  box-shadow: var(--am-btn-hover-shadow) !important;
}

/* tonal 无 color — 用主题中性背景 */
.v-btn--variant-tonal:not(.text-primary):not(.v-btn--bg-primary):not(.text-info):not(.v-btn--bg-info):not(.text-success):not(.v-btn--bg-success):not(.text-warning):not(.v-btn--bg-warning):not(.text-error):not(.v-btn--bg-error):not(.text-secondary):not(.v-btn--bg-secondary):not(.text-accent):not(.v-btn--bg-accent) {
  background: var(--am-btn-bg) !important;
  backdrop-filter: var(--am-btn-blur) !important;
  -webkit-backdrop-filter: var(--am-btn-blur) !important;
  border: var(--am-btn-border) !important;
  border-radius: var(--am-btn-radius) !important;
  font-weight: 500;
  transition: var(--am-transition) !important;
}

/* tonal 有 color — 只保留结构性样式，让 Vuetify 根据 color 计算 tonal 背景色 */
.v-btn--variant-tonal.text-primary,
.v-btn--variant-tonal.v-btn--bg-primary,
.v-btn--variant-tonal.text-info,
.v-btn--variant-tonal.v-btn--bg-info,
.v-btn--variant-tonal.text-success,
.v-btn--variant-tonal.v-btn--bg-success,
.v-btn--variant-tonal.text-warning,
.v-btn--variant-tonal.v-btn--bg-warning,
.v-btn--variant-tonal.text-error,
.v-btn--variant-tonal.v-btn--bg-error,
.v-btn--variant-tonal.text-secondary,
.v-btn--variant-tonal.v-btn--bg-secondary,
.v-btn--variant-tonal.text-accent,
.v-btn--variant-tonal.v-btn--bg-accent {
  backdrop-filter: var(--am-btn-blur) !important;
  -webkit-backdrop-filter: var(--am-btn-blur) !important;
  border: var(--am-btn-border) !important;
  border-radius: var(--am-btn-radius) !important;
  font-weight: 500;
  transition: var(--am-transition) !important;
}

/* tonal 无 color — hover 用主题背景 */
.v-btn--variant-tonal:not(.text-primary):not(.v-btn--bg-primary):not(.text-info):not(.v-btn--bg-info):not(.text-success):not(.v-btn--bg-success):not(.text-warning):not(.v-btn--bg-warning):not(.text-error):not(.v-btn--bg-error):not(.text-secondary):not(.v-btn--bg-secondary):not(.text-accent):not(.v-btn--bg-accent):hover {
  background: var(--am-btn-hover-bg) !important;
  box-shadow: var(--am-btn-hover-shadow) !important;
}

/* tonal 有 color — hover 只加阴影，背景由 Vuetify 计算 */
.v-btn--variant-tonal:hover {
  box-shadow: var(--am-btn-hover-shadow) !important;
}

/* dark 模式下 tonal 按钮文字提亮 — 保持色相，混入白色提高亮度 */
@supports (background: color-mix(in srgb, red 10%, transparent)) {
  .v-theme--dark .v-btn--variant-tonal.text-info {
    color: color-mix(in srgb, rgb(var(--v-theme-info)) 75%, white) !important;
  }
  .v-theme--dark .v-btn--variant-tonal.text-success {
    color: color-mix(in srgb, rgb(var(--v-theme-success)) 75%, white) !important;
  }
  .v-theme--dark .v-btn--variant-tonal.text-warning {
    color: color-mix(in srgb, rgb(var(--v-theme-warning)) 70%, white) !important;
  }
  .v-theme--dark .v-btn--variant-tonal.text-error {
    color: color-mix(in srgb, rgb(var(--v-theme-error)) 75%, white) !important;
  }
  .v-theme--dark .v-btn--variant-tonal.text-primary {
    color: color-mix(in srgb, rgb(var(--v-theme-primary)) 80%, white) !important;
  }
}

.v-btn--variant-outlined {
  background: var(--am-btn-outlined-bg) !important;
  backdrop-filter: var(--am-btn-blur) !important;
  -webkit-backdrop-filter: var(--am-btn-blur) !important;
  border: var(--am-btn-border) !important;
  border-radius: var(--am-btn-radius) !important;
  transition: var(--am-transition) !important;
}

.v-btn--variant-outlined:hover {
  background: var(--am-btn-outlined-hover-bg) !important;
  box-shadow: var(--am-btn-hover-shadow) !important;
}

/* flat + primary */
.v-btn--variant-flat.bg-primary,
.v-btn--variant-flat.v-btn--bg-primary,
.v-btn--variant-flat.text-primary {
  background: var(--am-btn-primary-bg) !important;
  background-color: var(--am-btn-primary-bg) !important;
  backdrop-filter: var(--am-btn-blur) !important;
  -webkit-backdrop-filter: var(--am-btn-blur) !important;
  color: var(--am-btn-primary-color) !important;
  border: var(--am-btn-border) !important;
}

/* flat + success */
.v-btn--variant-flat.bg-success,
.v-btn--variant-flat.v-btn--bg-success {
  background: var(--am-btn-success-bg) !important;
  backdrop-filter: var(--am-btn-blur) !important;
  -webkit-backdrop-filter: var(--am-btn-blur) !important;
  color: var(--am-btn-success-color) !important;
  border: var(--am-btn-border) !important;
}

/* flat + warning */
.v-btn--variant-flat.bg-warning,
.v-btn--variant-flat.v-btn--bg-warning {
  background: var(--am-btn-warning-bg) !important;
  backdrop-filter: var(--am-btn-blur) !important;
  -webkit-backdrop-filter: var(--am-btn-blur) !important;
  color: var(--am-btn-warning-color) !important;
  border: var(--am-btn-border) !important;
}

/* flat + error */
.v-btn--variant-flat.bg-error,
.v-btn--variant-flat.v-btn--bg-error {
  background: var(--am-btn-error-bg) !important;
  backdrop-filter: var(--am-btn-blur) !important;
  -webkit-backdrop-filter: var(--am-btn-blur) !important;
  color: var(--am-btn-error-color) !important;
  border: var(--am-btn-border) !important;
}

/* 图标按钮 */
.v-btn--icon {
  transition: all 0.3s ease-out !important;
  border-radius: 50% !important;
}

.v-btn--icon:hover {
  transform: scale(1.08);
}

.v-btn--icon:active {
  transform: scale(0.95);
}

/* 禁用态 */
.v-btn--disabled,
.v-input--disabled {
  opacity: var(--am-disabled-opacity) !important;
}

/* ============================================================
 * 9. Chip — 芯片
 * ============================================================ */

.v-chip {
  font-weight: 500;
  border-radius: var(--am-chip-radius) !important;
}

.v-chip--variant-tonal {
  backdrop-filter: var(--am-chip-blur) !important;
  -webkit-backdrop-filter: var(--am-chip-blur) !important;
}

.v-chip {
  border-color: var(--am-chip-border) !important;
}

/* color-mix: 保留类型色相 */
@supports (background: color-mix(in srgb, red 10%, transparent)) {
  .v-chip--variant-tonal {
    background-color: color-mix(in srgb, currentColor 18%, var(--am-surface-bg)) !important;
    border-color: color-mix(in srgb, currentColor 35%, transparent) !important;
  }

  .v-alert--variant-tonal {
    background-color: color-mix(in srgb, currentColor 14%, var(--am-surface-bg)) !important;
  }

  .v-snackbar__wrapper {
    background-color: color-mix(in srgb, currentColor 16%, var(--am-overlay-bg)) !important;
  }
}

/* ============================================================
 * 10. Snackbar — 通知条
 * ============================================================ */

.v-snackbar__wrapper {
  background: var(--am-snackbar-bg) !important;
  background-color: var(--am-snackbar-bg) !important;
  backdrop-filter: var(--am-snackbar-blur) !important;
  -webkit-backdrop-filter: var(--am-snackbar-blur) !important;
  box-shadow: var(--am-snackbar-shadow) !important;
  border: var(--am-snackbar-border) !important;
  border-radius: var(--am-snackbar-radius) !important;
}

.v-snackbar__wrapper,
.v-snackbar__wrapper .v-btn {
  color: var(--am-snackbar-text) !important;
}

/* ============================================================
 * 11. Alert — 警告框
 * ============================================================ */

.v-alert--variant-tonal {
  backdrop-filter: var(--am-alert-blur) !important;
  -webkit-backdrop-filter: var(--am-alert-blur) !important;
  border: var(--am-alert-border) !important;
}

/* ============================================================
 * 12. Switch / Checkbox / Radio / Slider / Progress / BtnToggle
 * ============================================================ */

/* Switch */
.v-switch .v-switch__track {
  border-radius: 999px !important;
  opacity: 1 !important;
  background: var(--am-switch-track-bg) !important;
}

.v-switch .v-selection-control--dirty .v-switch__track {
  background: var(--am-switch-track-active-bg) !important;
  opacity: 1 !important;
}

.v-switch .v-switch__thumb {
  background: var(--am-switch-thumb-bg) !important;
  box-shadow: var(--am-switch-thumb-shadow) !important;
}

/* Checkbox — 选中态：主题色实心方框 + 白色√
   mdi-checkbox-marked 字体图标是单色的，color 同时控制方框和√。
   方案：隐藏原图标，用 background 双层模拟——
   底层主题色方框 + 上层白色√(mask)。 */
.v-checkbox .v-selection-control--dirty .v-checkbox-btn__icon,
.v-checkbox .v-selection-control--dirty .v-icon {
  color: var(--am-check-active-color) !important;
  background-color: var(--am-check-active-color) !important;
  border-radius: 2px;
  position: relative;
}

/* 用伪元素叠加白色√ — 使用 MDI check 填充版 path */
.v-checkbox .v-selection-control--dirty .v-icon::after {
  content: '';
  position: absolute;
  inset: 0;
  background-color: #fff;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z'/%3E%3C/svg%3E") center / 75% 75% no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z'/%3E%3C/svg%3E") center / 75% 75% no-repeat;
}

/* Radio — 选中态圆点用主题色 */
.v-radio .v-selection-control--dirty .v-radio-btn__icon,
.v-radio .v-selection-control--dirty .v-icon {
  color: var(--am-check-active-color) !important;
}

/* Checkbox/Radio 未选态 */
.v-checkbox .v-selection-control:not(.v-selection-control--dirty) .v-icon,
.v-radio .v-selection-control:not(.v-selection-control--dirty) .v-icon {
  color: var(--am-check-inactive-color) !important;
}

/* BtnToggle */
.v-btn-toggle {
  border: var(--am-btn-toggle-border) !important;
  border-radius: var(--am-btn-toggle-radius) !important;
}

.v-btn-toggle .v-btn {
  color: rgb(var(--v-theme-on-surface)) !important;
}

.v-btn-toggle .v-btn--active {
  background: var(--am-btn-toggle-active-bg) !important;
  color: var(--am-btn-toggle-active-color) !important;
}

/* Slider */
.v-slider .v-slider-track {
  background: var(--am-slider-track-bg) !important;
}

.v-slider .v-slider-track__fill {
  background: var(--am-slider-fill-bg) !important;
}

.v-slider .v-slider-thumb__surface {
  background: var(--am-slider-thumb-bg) !important;
  box-shadow: var(--am-slider-thumb-shadow) !important;
}

/* Progress Linear */
.v-progress-linear__determinate {
  background: var(--am-progress-fill-bg) !important;
  box-shadow: var(--am-progress-glow);
}

/* Progress Circular */
.v-progress-circular__overlay {
  stroke: var(--am-progress-circular-stroke) !important;
}

/* Avatar */
.v-avatar--variant-tonal {
  backdrop-filter: var(--am-avatar-blur) !important;
  -webkit-backdrop-filter: var(--am-avatar-blur) !important;
}

.liquid-avatar {
  backdrop-filter: var(--am-avatar-blur) !important;
  -webkit-backdrop-filter: var(--am-avatar-blur) !important;
  border: var(--am-avatar-border) !important;
  color: var(--am-avatar-color) !important;
  transition: all 0.5s ease-out;
}

.liquid-avatar:hover {
  box-shadow: 0 0 16px rgba(var(--v-theme-primary), 0.3) !important;
}

/* Tooltip */
.v-tooltip .v-overlay__content {
  backdrop-filter: var(--am-tooltip-blur) !important;
  -webkit-backdrop-filter: var(--am-tooltip-blur) !important;
}

/* ============================================================
 * 13. Filter Bar — 筛选栏芯片
 * ============================================================ */

.filter-bar .v-chip .v-chip__overlay,
.filter-bar .v-chip .v-chip__underlay {
  background: transparent !important;
  opacity: 0 !important;
}

.filter-bar .v-chip {
  border-radius: var(--am-tab-radius) !important;
  backdrop-filter: var(--am-chip-blur) !important;
  -webkit-backdrop-filter: var(--am-chip-blur) !important;
  transition: background 0.3s ease, color 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease !important;
  --v-hover-opacity: 0 !important;
  --v-focus-opacity: 0 !important;
  --v-activated-opacity: 0 !important;
  background: var(--am-filter-chip-bg) !important;
  border: var(--am-filter-chip-border) !important;
  box-shadow: var(--am-filter-chip-shadow) !important;
}

.filter-bar .v-chip--variant-flat,
.filter-bar .v-chip.bg-primary {
  color: var(--am-filter-chip-active-color) !important;
  font-weight: 600 !important;
}

.filter-bar .v-chip--variant-outlined {
  color: var(--am-filter-chip-outlined-color) !important;
}

/* ============================================================
 * 14. Table — 表格
 * ============================================================ */

.v-table,
.v-data-table {
  background: transparent !important;
  background-color: transparent !important;
}

.v-table .v-table__wrapper tr:hover,
.v-data-table__tr:hover,
.v-data-table .v-data-table__tr:hover {
  background: var(--am-table-hover-bg) !important;
}

.v-table thead tr,
.v-data-table thead tr {
  background: var(--am-table-header-bg) !important;
}

/* ============================================================
 * 15. Login — 登录面板
 * ============================================================ */

.login-glass-panel {
  background: var(--am-login-bg) !important;
  backdrop-filter: var(--am-login-blur) !important;
  -webkit-backdrop-filter: var(--am-login-blur) !important;
  border: var(--am-login-border) !important;
  box-shadow: var(--am-login-shadow) !important;
  border-radius: var(--am-login-radius) !important;
}

.login-glass-panel .text-h5,
.login-glass-panel .text-body-2 {
  color: var(--am-login-title-color);
}

.login-glass-panel .v-field--variant-outlined {
  background: var(--am-field-bg);
  border-radius: var(--am-field-radius) !important;
}

.login-glass-panel .v-btn--variant-flat.v-btn--bg-primary {
  background: var(--am-btn-primary-bg) !important;
  color: var(--am-btn-primary-color) !important;
}

/* ============================================================
 * 16. Hover Lift
 * ============================================================ */

.hover-lift {
  cursor: pointer;
  transition: transform 0.3s ease-out, box-shadow 0.3s ease-out !important;
}

.hover-lift:hover {
  transform: translateY(-3px);
  box-shadow: var(--am-hover-lift-shadow) !important;
}

/* ============================================================
 * 17. Code / Search Results / Misc
 * ============================================================ */

code {
  padding: 2px 6px;
  border-radius: var(--am-code-radius);
  font-size: 0.85em;
}

.code-block {
  color: var(--am-code-block-color);
  border: var(--am-code-block-border);
}

.code-block code {
  color: var(--am-code-syntax-color);
}

.search-results-box {
  backdrop-filter: var(--am-surface-blur);
  -webkit-backdrop-filter: var(--am-surface-blur);
  border: var(--am-content-border);
}

.sub-search-results {
  border: var(--am-content-border);
}

/* 日志终端级别颜色 —— 令牌由 tokens.css 各主题块提供（classic/liquid 一套，ACG 一套） */
.log-entry__level[data-level='info'] { color: var(--am-log-info); }
.log-entry__level[data-level='warn'],
.log-entry__level[data-level='warning'] { color: var(--am-log-warning); }
.log-entry__level[data-level='error'] { color: var(--am-log-error); }
.log-entry__level[data-level='critical'] { color: var(--am-log-critical); }
.log-entry__level[data-level='debug'] { color: var(--am-log-debug); }
.log-entry__level[data-level='success'] { color: var(--am-log-success); }

.glass-btn {
  transition: all 0.5s ease-out !important;
}

/* ============================================================
 * 18. Body Background — 背景层
 * ============================================================ */

body::before {
  background: var(--am-body-before-bg);
  background-image: var(--am-body-before-image);
  filter: var(--am-body-before-filter);
  transform: var(--am-body-before-transform);
}

body::after {
  background: var(--am-body-after-bg);
}

body {
  background: var(--am-body-bg) !important;
}

/* ============================================================
 * 19. Chip Size — 芯片尺寸
 * ============================================================ */

.v-chip--size-x-small {
  font-size: 0.75rem !important;
  min-height: 24px !important;
  padding: 0 8px !important;
}

.v-chip--size-x-small .v-chip__content {
  font-size: 0.75rem !important;
}

/* ============================================================
 * 20. Scrollbar — 滚动条
 *    统一风格，区分主区域(8px)和子区域(6px)两种宽度
 * ============================================================ */

/* Firefox — 所有可滚动区域统一 */
html, body, .v-main, .v-main__scroller,
.v-navigation-drawer, .v-navigation-drawer .v-navigation-drawer__content, .v-navigation-drawer .v-list,
.v-dialog .v-card-text,
.v-select .v-list, .v-autocomplete .v-list, .v-combobox .v-list, .v-menu .v-list,
.log-terminal, .search-results-box {
  scrollbar-width: thin;
  scrollbar-color: var(--am-scrollbar-color) transparent;
}

/* WebKit — 主区域滚动条 (8px / radius 4px) */
html::-webkit-scrollbar, body::-webkit-scrollbar,
.v-main::-webkit-scrollbar, .v-main__scroller::-webkit-scrollbar {
  width: var(--am-scrollbar-width);
}
html::-webkit-scrollbar-track, body::-webkit-scrollbar-track,
.v-main::-webkit-scrollbar-track, .v-main__scroller::-webkit-scrollbar-track {
  background: transparent;
}
html::-webkit-scrollbar-thumb, body::-webkit-scrollbar-thumb,
.v-main::-webkit-scrollbar-thumb, .v-main__scroller::-webkit-scrollbar-thumb {
  background: var(--am-scrollbar-color);
  border-radius: var(--am-scrollbar-radius);
}
html::-webkit-scrollbar-thumb:hover, body::-webkit-scrollbar-thumb:hover,
.v-main::-webkit-scrollbar-thumb:hover, .v-main__scroller::-webkit-scrollbar-thumb:hover {
  background: var(--am-scrollbar-hover);
}

/* WebKit — 子区域滚动条 (6px / radius 3px) */
.v-navigation-drawer::-webkit-scrollbar,
.v-navigation-drawer .v-navigation-drawer__content::-webkit-scrollbar,
.v-navigation-drawer .v-list::-webkit-scrollbar,
.v-dialog .v-card-text::-webkit-scrollbar,
.v-select .v-list::-webkit-scrollbar, .v-autocomplete .v-list::-webkit-scrollbar,
.v-combobox .v-list::-webkit-scrollbar, .v-menu .v-list::-webkit-scrollbar,
.log-terminal::-webkit-scrollbar, .search-results-box::-webkit-scrollbar {
  width: var(--am-scrollbar-nav-width);
}
.v-navigation-drawer::-webkit-scrollbar-track,
.v-navigation-drawer .v-navigation-drawer__content::-webkit-scrollbar-track,
.v-navigation-drawer .v-list::-webkit-scrollbar-track,
.v-dialog .v-card-text::-webkit-scrollbar-track,
.v-select .v-list::-webkit-scrollbar-track, .v-autocomplete .v-list::-webkit-scrollbar-track,
.v-combobox .v-list::-webkit-scrollbar-track, .v-menu .v-list::-webkit-scrollbar-track,
.log-terminal::-webkit-scrollbar-track, .search-results-box::-webkit-scrollbar-track {
  background: transparent;
}
.v-navigation-drawer::-webkit-scrollbar-thumb,
.v-navigation-drawer .v-navigation-drawer__content::-webkit-scrollbar-thumb,
.v-navigation-drawer .v-list::-webkit-scrollbar-thumb,
.v-dialog .v-card-text::-webkit-scrollbar-thumb,
.v-select .v-list::-webkit-scrollbar-thumb, .v-autocomplete .v-list::-webkit-scrollbar-thumb,
.v-combobox .v-list::-webkit-scrollbar-thumb, .v-menu .v-list::-webkit-scrollbar-thumb,
.log-terminal::-webkit-scrollbar-thumb, .search-results-box::-webkit-scrollbar-thumb {
  background: var(--am-scrollbar-color);
  border-radius: var(--am-scrollbar-nav-radius);
}
.v-navigation-drawer::-webkit-scrollbar-thumb:hover,
.v-navigation-drawer .v-navigation-drawer__content::-webkit-scrollbar-thumb:hover,
.v-navigation-drawer .v-list::-webkit-scrollbar-thumb:hover,
.v-dialog .v-card-text::-webkit-scrollbar-thumb:hover,
.v-select .v-list::-webkit-scrollbar-thumb:hover, .v-autocomplete .v-list::-webkit-scrollbar-thumb:hover,
.v-combobox .v-list::-webkit-scrollbar-thumb:hover, .v-menu .v-list::-webkit-scrollbar-thumb:hover,
.log-terminal::-webkit-scrollbar-thumb:hover, .search-results-box::-webkit-scrollbar-thumb:hover {
  background: var(--am-scrollbar-hover);
}

/* 弹窗内含 log-terminal 时，隐藏 v-card-text 的滚动条 */
.v-dialog .v-card-text:has(.log-terminal) {
  overflow: hidden !important;
  scrollbar-width: none !important;
}
.v-dialog .v-card-text:has(.log-terminal)::-webkit-scrollbar {
  display: none !important;
}

/* ============================================================
 * 21. Reduced Motion
 * ============================================================ */

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* ═══════════════════════════════════════════════════════════════
 * 第 4 层 — 主题覆盖
 * ═══════════════════════════════════════════════════════════════ */

/* 4.1 ACG 玻璃主题统一 — 材质 + 文字颜色/光晕（html.glass-theme-acg 激活）
 *     材质：1:1 照搬 MoviePilot glass.scss，接管 background/backdrop-filter/border-color/box-shadow。
 *     文字：ACG 专属文字颜色、光晕效果。
 */
/* stylelint-disable no-descending-specificity */
/* stylelint-disable scss/at-rule-no-unknown */
/**
 * glass-acg.scss — ACG 玻璃主题（统一）
 *
 * 合并自原 glass-acg.scss（材质层）+ theme-acg.css（文字颜色/光晕层）。
 *
 * 材质层：1:1 照搬 MoviePilot glass.scss 的核心材质规则。
 * 选择器根从 html[data-theme='glass'] 改为 html.glass-theme-acg。
 * 删除了 AM 不存在的组件（dashboard/workflow/plugin-card/compact-fab 等），
 * 保留了所有核心玻璃材质：surface/navbar/overlay/field/btn/chip/table/嵌套去除/hover/降级。
 * 接管所有 background/backdrop-filter/border-color/box-shadow 属性。
 *
 * 文字层：仅支持 dark 模式（useThemeStore 切到 ACG 时自动锁定 dark）。
 * 只保留 ACG 专属的文字颜色和光晕效果。
 */
html.glass-theme-acg {
  --glass-surface: rgba(11, 19, 34, calc(0.12 + var(--glass-surface-density, 0.62) * 0.2));
  --glass-surface-soft: rgba(11, 19, 34, calc(0.13 + var(--glass-surface-density, 0.62) * 0.23));
  --glass-surface-raised: rgba(11, 19, 34, calc(0.07 + var(--glass-surface-density, 0.62) * 0.36));
  --glass-control: rgba(11, 19, 34, 52%);
  --glass-control-prominent: rgba(255, 255, 255, 7%);
  --glass-control-prominent-focus: color-mix(in srgb, rgba(255, 255, 255, 10%) 84%, rgba(var(--v-theme-primary), 24%));
  --glass-border: rgba(255, 255, 255, calc(0.04 + var(--glass-reflection, 0.5) * 0.12));
  --glass-border-raised: rgba(255, 255, 255, calc(0.06 + var(--glass-reflection, 0.5) * 0.16));
  --glass-border-hover: rgba(255, 255, 255, calc(0.1 + var(--glass-reflection, 0.5) * 0.2));
  --glass-control-prominent-border: rgba(255, 255, 255, 14%);
  --glass-highlight: rgba(255, 255, 255, calc(0.06 + var(--glass-reflection, 0.5) * 0.16));
  --glass-transmission-brightness: 1;
  --glass-sheen: linear-gradient(
    135deg,
    rgba(255, 255, 255, 9%),
    transparent 28%,
    rgba(255, 255, 255, 3%) 72%,
    transparent
  );
  --glass-shadow:
    0 10px 28px rgba(3, 7, 18, 24%), inset 0 1px 0 var(--glass-highlight), inset 0 -1px 0 rgba(2, 6, 16, 14%);
  --glass-shadow-raised:
    0 16px 40px rgba(3, 7, 18, 32%), inset 0 1px 0 rgba(255, 255, 255, 24%), inset 0 -1px 0 rgba(2, 6, 16, 18%);
  --glass-shadow-hover:
    0 18px 44px rgba(3, 7, 18, 36%), inset 0 1px 0 rgba(255, 255, 255, 28%), inset 0 -1px 0 rgba(2, 6, 16, 18%);
  --glass-navbar-shadow:
    0 3px 12px rgba(3, 7, 18, 18%), inset 0 1px 0 rgba(255, 255, 255, 10%), inset 0 -1px 0 rgba(2, 6, 16, 12%);
  --glass-control-shadow: inset 0 1px 0 rgba(255, 255, 255, 12%), inset 0 -1px 0 rgba(2, 6, 16, 14%);
  --glass-control-shadow-hover: inset 0 1px 0 rgba(255, 255, 255, 18%), inset 0 -1px 0 rgba(2, 6, 16, 12%);
  --glass-control-shadow-active: inset 0 1px 0 rgba(255, 255, 255, 7%), inset 0 -1px 0 rgba(2, 6, 16, 20%);
  --glass-control-prominent-shadow: inset 0 1px 0 rgba(255, 255, 255, 18%), inset 0 -1px 0 rgba(2, 6, 16, 18%);
  --glass-control-prominent-focus-shadow:
    0 0 0 2px rgba(var(--v-theme-primary), 16%), inset 0 1px 0 rgba(255, 255, 255, 24%),
    inset 0 -1px 0 rgba(2, 6, 16, 16%);
  --glass-native-surface-backdrop-filter: blur(var(--glass-blur-surface)) saturate(var(--glass-saturate)) brightness(var(--glass-transmission-brightness));
  --glass-surface-backdrop-filter: var(--glass-native-surface-backdrop-filter);
  --glass-raised-backdrop-filter: blur(var(--glass-blur-raised)) saturate(var(--glass-saturate)) brightness(var(--glass-transmission-brightness));
  --glass-fixed-shell-backdrop-filter: blur(min(var(--glass-blur-raised), 60px)) saturate(var(--glass-saturate)) brightness(var(--glass-transmission-brightness));
  --glass-fixed-shell-backplate-filter: blur(min(var(--glass-blur-raised), 60px)) saturate(var(--glass-saturate)) brightness(var(--glass-transmission-brightness));
  --glass-control-backdrop-filter: none;
  --glass-control-prominent-backdrop-filter: none;
  --glass-navbar-backdrop-filter: var(--glass-raised-backdrop-filter);
  --glass-navbar-scrolled-backdrop-filter: blur(3px) saturate(115%);
  --glass-overlay-surface: rgba(11, 19, 34, calc(0.1 + var(--glass-surface-density, 0.62) * 0.22));
  --glass-overlay-blur: var(--glass-overlay-clarity-blur, 6px);
  --glass-overlay-saturate: 115%;
  --glass-overlay-scrim: rgba(3, 7, 18, 30%);
  --glass-overlay-backdrop-filter: blur(var(--glass-overlay-blur)) saturate(var(--glass-overlay-saturate));
  --glass-control-icon-color: rgba(242, 245, 250, 70%);
  --glass-control-placeholder-color: rgba(242, 245, 250, 54%);
  --glass-control-shortcut-background: rgba(255, 255, 255, 8%);
  --glass-control-shortcut-border: rgba(255, 255, 255, 12%);
  --glass-control-shortcut-color: rgba(242, 245, 250, 68%);
  --glass-chip-backdrop-filter: blur(8px) saturate(150%) brightness(var(--glass-transmission-brightness));
  --glass-chip-sheen: linear-gradient(
    135deg,
    rgba(255, 255, 255, 12%),
    transparent 38%,
    rgba(255, 255, 255, 3%) 72%,
    transparent
  );
  --glass-chip-tint-opacity: calc(0.22 + var(--glass-tint-density, 0.65) * 0.18);
  --glass-button-surface: rgba(255, 255, 255, 8%);
  --glass-button-surface-hover: rgba(255, 255, 255, 12%);
  --glass-nav-active-background: linear-gradient(
    90deg,
    rgba(var(--v-theme-primary), 22%),
    rgba(var(--v-theme-primary), 48%)
  );
  --glass-nav-active-border: 1px solid rgba(var(--v-theme-primary), 36%);
  --glass-nav-active-shadow: inset 0 1px 0 rgba(255, 255, 255, 14%);
  --glass-blur-surface: 16px;
  --glass-blur: 22px;
  --glass-blur-raised: 32px;
  --glass-saturate: 145%;
  --glass-content-reveal-duration: 160ms;
  --glass-motion: 180ms cubic-bezier(0.2, 0.8, 0.2, 1);
  --app-card-rest-shadow: var(--glass-shadow);
  --app-card-hover-shadow: var(--glass-shadow-hover);
  --app-surface-shadow: var(--glass-shadow);
  --app-surface-hover-shadow: var(--glass-shadow-hover);
  --app-surface-border-width: 1px;
  --app-surface-border-opacity: 0.15;
  --app-surface-border: 1px solid var(--glass-border);
  --app-overlay-border: 1px solid var(--glass-border);
  --mp-motion-duration-page: 180ms;
  --mp-motion-duration-overlay: 180ms;
  --mp-motion-ease-standard: cubic-bezier(0.2, 0.8, 0.2, 1);
  background-color: #0b1322;
  color-scheme: dark;
}
html.glass-theme-acg[data-glass-appearance=transparent] {
  --glass-surface: transparent;
  --glass-surface-soft: transparent;
  --glass-surface-raised: transparent;
  --glass-border: transparent;
  --glass-border-raised: transparent;
  --glass-border-hover: transparent;
  --glass-highlight: transparent;
  --glass-sheen: none;
  --glass-shadow: none;
  --glass-shadow-raised: none;
  --glass-shadow-hover: none;
  --glass-navbar-shadow: none;
  --glass-surface-backdrop-filter: none;
  --glass-raised-backdrop-filter: none;
  --glass-fixed-shell-backdrop-filter: none;
  --glass-fixed-shell-backplate-filter: none;
  --am-surface-blur: none;
  --am-surface-bg: transparent;
  --am-surface-shadow: none;
  --am-nav-blur: none;
  --am-btn-blur: none;
  --am-tab-blur: none;
  --am-chip-blur: none;
  --am-alert-blur: none;
  --am-avatar-blur: none;
  --am-tooltip-blur: none;
  --am-surface-border: none;
  --am-overlay-border: none;
  --am-nav-border: none;
  --am-field-border: none;
  --am-btn-border: none;
  --am-tab-border: none;
  --am-chip-border: none;
  --am-snackbar-border: none;
  --am-btn-toggle-border: none;
  --am-avatar-border: none;
  --app-surface-border: none;
  --app-overlay-border: none;
  --app-surface-border-width: 0px;
}
html.glass-theme-acg[data-glass-appearance=transparent] .glass-optical-layer--fixed {
  z-index: 0;
}
html.glass-theme-acg body {
  background-color: #0b1322;
  /* 壁纸背景层 —— 通过伪元素显示，避免 filter 影响子元素 */
}
html.glass-theme-acg body::before {
  position: fixed;
  z-index: 0;
  inset: 0;
  background-image: var(--glass-wallpaper-url, none);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  /* 亮度调节与 .background-container 保持一致 */
  filter: brightness(var(--glass-wallpaper-brightness, 0.86)) saturate(0.95) contrast(1.02);
  content: "";
  pointer-events: none;
  /* 暗色遮罩，与 .background-image::after 保持一致 */
}
html.glass-theme-acg body::before::after {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 18%, transparent 24%, rgba(6, 10, 19, 0.12) 100%), linear-gradient(rgba(6, 10, 19, 0.1) 0%, rgba(6, 10, 19, 0.3) 100%);
  content: "";
}
html.glass-theme-acg .app-wrapper::before,
html.glass-theme-acg .v-application::before {
  position: fixed;
  z-index: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='.7'/%3E%3C/svg%3E");
  block-size: 100%;
  content: "";
  inline-size: 100%;
  inset: 0;
  opacity: 0.025;
  pointer-events: none;
}
html.glass-theme-acg .v-application,
html.glass-theme-acg .v-layout,
html.glass-theme-acg .v-main,
html.glass-theme-acg .layout-wrapper,
html.glass-theme-acg .layout-content-wrapper,
html.glass-theme-acg .page-content-container {
  background: transparent;
}
html.glass-theme-acg .layout-page-content {
  background-color: transparent;
}
html.glass-theme-acg .v-application {
  position: relative;
  z-index: 1;
}
html.glass-theme-acg[data-page-presentation-motion=active] .mp-page-route {
  filter: none;
  opacity: var(--mp-page-motion-opacity, 1);
  transform: translate3d(0, var(--mp-page-motion-translate-y, 0), 0);
  transform-origin: center top;
  will-change: opacity, transform;
}
html.glass-theme-acg[data-glass-appearance=frosted][data-page-presentation-motion=active] .mp-page-route {
  filter: none;
  opacity: 1;
  transform: translate3d(0, var(--mp-page-motion-translate-y, 0), 0);
  will-change: transform;
}
html.glass-theme-acg :where(.app-surface:not(.no-blur),
.v-card:not(.no-blur, .bg-primary, .bg-success, .bg-info, .bg-warning, .bg-error),
.v-sheet:not(.no-blur, .bg-primary, .bg-success, .bg-info, .bg-warning, .bg-error),
.v-expansion-panel,
.v-stepper,
.v-table) {
  border-color: var(--glass-border) !important;
  -webkit-backdrop-filter: var(--glass-surface-backdrop-filter);
  backdrop-filter: var(--glass-surface-backdrop-filter);
  background-color: var(--glass-surface) !important;
  background-image: var(--glass-sheen) !important;
  box-shadow: var(--glass-shadow) !important;
}
html.glass-theme-acg :where(.v-list, .v-footer) {
  border-color: var(--glass-border);
  -webkit-backdrop-filter: var(--glass-surface-backdrop-filter);
  backdrop-filter: var(--glass-surface-backdrop-filter);
  background-color: var(--glass-surface) !important;
}
html.glass-theme-acg .media-card[data-glass-optical-mode=excluded] {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
html.glass-theme-acg .media-card .v-img__img.v-img__img--preload {
  opacity: 0;
  transition: opacity var(--glass-content-reveal-duration) cubic-bezier(0.2, 0.8, 0.2, 1);
}
html.glass-theme-acg .media-card .v-img__img:not(.v-img__img--preload) {
  opacity: 1;
  transition: opacity var(--glass-content-reveal-duration) cubic-bezier(0.2, 0.8, 0.2, 1);
}
html.glass-theme-acg .media-card--image-loaded .v-img__img {
  opacity: 1;
}
html.glass-theme-acg .v-toolbar {
  border-color: var(--glass-border);
  -webkit-backdrop-filter: var(--glass-raised-backdrop-filter);
  backdrop-filter: var(--glass-raised-backdrop-filter);
  background-color: var(--glass-surface) !important;
}
html.glass-theme-acg .layout-navbar,
html.glass-theme-acg .v-app-bar,
html.glass-theme-acg .v-system-bar {
  border-color: var(--glass-border-raised) !important;
  -webkit-backdrop-filter: var(--glass-raised-backdrop-filter) !important;
  backdrop-filter: var(--glass-raised-backdrop-filter) !important;
  background-color: var(--glass-surface-raised) !important;
  background-image: var(--glass-sheen) !important;
  box-shadow: var(--glass-navbar-shadow) !important;
}
html.glass-theme-acg .layout-vertical-nav,
html.glass-theme-acg .v-navigation-drawer {
  isolation: isolate;
  border-inline-end: 0;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  background: transparent !important;
  box-shadow: none !important;
}
html.glass-theme-acg .layout-vertical-nav::before,
html.glass-theme-acg .v-navigation-drawer::before {
  position: absolute;
  z-index: -1;
  border-inline-end: 1px solid var(--glass-border-raised);
  -webkit-backdrop-filter: var(--glass-fixed-shell-backdrop-filter);
  backdrop-filter: var(--glass-fixed-shell-backdrop-filter);
  background-color: var(--glass-surface-raised);
  background-image: var(--glass-sheen);
  box-shadow: var(--glass-shadow-raised);
  content: "";
  inset: 0;
  pointer-events: none;
}
html.glass-theme-acg .v-navigation-drawer .v-list-item--active {
  border: 1px solid rgba(var(--v-theme-primary), 48%);
  background: transparent !important;
  box-shadow: none !important;
}
html.glass-theme-acg .v-overlay__scrim {
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  background: var(--glass-overlay-scrim);
}
html.glass-theme-acg .v-dialog--fullscreen {
  background-color: transparent !important;
}
html.glass-theme-acg .v-overlay__content {
  border-radius: var(--app-overlay-radius, 22px);
}
html.glass-theme-acg .v-overlay__content > :where(.v-card, .v-sheet, .v-list),
html.glass-theme-acg .v-overlay__content > form > :where(.v-card, .v-sheet) {
  -webkit-backdrop-filter: var(--glass-overlay-backdrop-filter) !important;
  backdrop-filter: var(--glass-overlay-backdrop-filter) !important;
  background-color: var(--glass-overlay-surface) !important;
  background-image: var(--glass-sheen) !important;
  box-shadow: var(--glass-shadow-raised) !important;
}
html.glass-theme-acg .v-overlay__content.mp-dialog-transition-enter-active,
html.glass-theme-acg .v-overlay__content.mp-dialog-transition-leave-active,
html.glass-theme-acg .v-overlay__content.dialog-transition-enter-active,
html.glass-theme-acg .v-overlay__content.dialog-transition-leave-active {
  filter: none;
  transform: none;
  transition: opacity 120ms var(--mp-motion-ease-standard);
  will-change: opacity;
}
html.glass-theme-acg .v-overlay__content.mp-dialog-transition-enter-from,
html.glass-theme-acg .v-overlay__content.mp-dialog-transition-leave-to,
html.glass-theme-acg .v-overlay__content.dialog-transition-enter-from,
html.glass-theme-acg .v-overlay__content.dialog-transition-leave-to {
  filter: none;
  transform: none;
}
html.glass-theme-acg .v-tooltip > .v-overlay__content,
html.glass-theme-acg .v-snackbar__wrapper {
  border: 1px solid var(--glass-border);
  -webkit-backdrop-filter: var(--glass-overlay-backdrop-filter);
  backdrop-filter: var(--glass-overlay-backdrop-filter);
  background: var(--glass-overlay-surface) !important;
  box-shadow: var(--glass-shadow);
}
html.glass-theme-acg .v-field {
  --v-field-border-opacity: 0.14;
  --v-field-border-width: 1px;
  border-radius: var(--app-field-radius, 16px);
  -webkit-backdrop-filter: var(--glass-control-backdrop-filter);
  backdrop-filter: var(--glass-control-backdrop-filter);
  background-color: var(--glass-control) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
  transition: background-color var(--glass-motion), box-shadow var(--glass-motion);
}
html.glass-theme-acg .v-field--focused {
  --v-field-border-opacity: 0.32;
  background-color: color-mix(in srgb, var(--glass-control) 84%, rgba(var(--v-theme-primary), 32%)) !important;
  background-image: none !important;
  box-shadow: 0 0 0 3px rgba(var(--v-theme-primary), 14%), inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
html.glass-theme-acg .v-field.v-field--variant-outlined {
  box-shadow: inset 0 -1px 0 rgba(2, 6, 16, 0.22);
}
html.glass-theme-acg .v-field.v-field--variant-underlined,
html.glass-theme-acg .v-field.v-field--variant-plain {
  border-radius: 0;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  background-color: transparent !important;
  box-shadow: none !important;
}
html.glass-theme-acg .v-field.v-field--variant-underlined.v-field--focused,
html.glass-theme-acg .v-field.v-field--variant-plain.v-field--focused {
  background-color: transparent !important;
  box-shadow: none !important;
}
html.glass-theme-acg .v-field input::placeholder,
html.glass-theme-acg .v-field textarea::placeholder {
  color: rgba(242, 245, 250, 0.38);
  opacity: 1;
}
html.glass-theme-acg .v-btn {
  letter-spacing: 0;
  transition: background-color var(--glass-motion), border-color var(--glass-motion), box-shadow var(--glass-motion);
}
html.glass-theme-acg .v-btn:not(.v-btn--variant-text, .v-btn--variant-plain) {
  border: 1px solid var(--glass-border);
  -webkit-backdrop-filter: var(--glass-control-backdrop-filter);
  backdrop-filter: var(--glass-control-backdrop-filter);
  background-color: var(--glass-button-surface) !important;
  background-image: none !important;
  box-shadow: var(--glass-control-shadow) !important;
}
html.glass-theme-acg .v-btn.bg-primary {
  border-color: rgba(var(--v-theme-primary), 48%);
  background-color: rgba(var(--v-theme-primary), 34%) !important;
}
html.glass-theme-acg .v-btn.bg-success {
  border-color: rgba(var(--v-theme-success), 48%);
  background-color: rgba(var(--v-theme-success), 34%) !important;
}
html.glass-theme-acg .v-btn.bg-info {
  border-color: rgba(var(--v-theme-info), 48%);
  background-color: rgba(var(--v-theme-info), 34%) !important;
}
html.glass-theme-acg .v-btn.bg-warning {
  border-color: rgba(var(--v-theme-warning), 48%);
  background-color: rgba(var(--v-theme-warning), 34%) !important;
}
html.glass-theme-acg .v-btn.bg-error {
  border-color: rgba(var(--v-theme-error), 48%);
  background-color: rgba(var(--v-theme-error), 34%) !important;
}
html.glass-theme-acg :where(.v-btn, .v-card--link, [role=button]):focus-visible {
  outline: 0;
  box-shadow: 0 0 0 3px rgba(var(--v-theme-primary), 18%), var(--glass-control-shadow) !important;
}
html.glass-theme-acg .v-chip {
  box-shadow: none !important;
}
html.glass-theme-acg .v-chip:is(.v-chip--variant-elevated, .v-chip--variant-flat, .v-chip--variant-tonal) {
  -webkit-backdrop-filter: var(--glass-chip-backdrop-filter) !important;
  backdrop-filter: var(--glass-chip-backdrop-filter) !important;
  background-image: var(--glass-chip-sheen);
  background-clip: padding-box;
}
html.glass-theme-acg .v-chip[class*=bg-] {
  --tw-bg-opacity: var(--glass-chip-tint-opacity) !important;
}
html.glass-theme-acg .v-chip.bg-primary {
  background-color: rgba(var(--v-theme-primary), 34%) !important;
}
html.glass-theme-acg .v-chip.bg-secondary {
  background-color: rgba(var(--v-theme-secondary), 34%) !important;
}
html.glass-theme-acg .v-chip.bg-success {
  background-color: rgba(var(--v-theme-success), 34%) !important;
}
html.glass-theme-acg .v-chip.bg-info {
  background-color: rgba(var(--v-theme-info), 34%) !important;
}
html.glass-theme-acg .v-chip.bg-warning {
  background-color: rgba(var(--v-theme-warning), 34%) !important;
}
html.glass-theme-acg .v-chip.bg-error {
  background-color: rgba(var(--v-theme-error), 34%) !important;
}
html.glass-theme-acg .v-chip.v-chip--variant-flat.bg-primary,
html.glass-theme-acg .v-chip.v-chip--variant-flat.v-chip--color-primary {
  border: 1px solid rgba(var(--v-theme-primary), 48%);
  background-color: transparent !important;
  color: rgb(var(--v-theme-primary)) !important;
  box-shadow: none !important;
}
html.glass-theme-acg .v-chip.v-chip--variant-flat.bg-primary .v-chip__content,
html.glass-theme-acg .v-chip.v-chip--variant-flat.v-chip--color-primary .v-chip__content {
  color: inherit !important;
  text-shadow: 0 0 1px rgba(0, 0, 0, 0.9), 0 0 3px rgba(0, 0, 0, 0.6), 0 1px 1px rgba(0, 0, 0, 0.4);
}
html.glass-theme-acg .v-table .v-table__wrapper > table > thead {
  background-color: rgba(255, 255, 255, 0.06);
}
html.glass-theme-acg .v-table .v-table__wrapper > table > tbody > tr:hover > td {
  background-color: rgba(255, 255, 255, 0.06);
}
html.glass-theme-acg .v-skeleton-loader {
  background-color: var(--glass-surface-soft);
}
html.glass-theme-acg :where(.v-card, .v-sheet) :where(.app-surface, .v-card, .v-sheet, .v-list, .v-table, .v-expansion-panel, .v-stepper) {
  border-color: transparent !important;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  box-shadow: none !important;
  will-change: auto;
}
html.glass-theme-acg :where(.v-card, .v-sheet) :where(.app-surface:not(.bg-primary, .bg-success, .bg-info, .bg-warning, .bg-error),
.v-card:not(.bg-primary, .bg-success, .bg-info, .bg-warning, .bg-error),
.v-sheet:not(.bg-primary, .bg-success, .bg-info, .bg-warning, .bg-error),
.v-list,
.v-table,
.v-expansion-panel,
.v-stepper) {
  background-color: transparent !important;
}
html.glass-theme-acg .v-card,
html.glass-theme-acg .v-sheet:not(.v-snackbar__wrapper),
html.glass-theme-acg .v-expansion-panel {
  transition: transform var(--glass-motion), border-color var(--glass-motion), box-shadow var(--glass-motion), background-color var(--glass-motion) !important;
}
@media (hover: hover) and (pointer: fine) {
  html.glass-theme-acg .v-btn:not(.v-btn--variant-text, .v-btn--variant-plain):hover {
    border-color: var(--glass-border-hover);
    background-color: var(--glass-button-surface-hover) !important;
    box-shadow: var(--glass-control-shadow-hover) !important;
  }
  html.glass-theme-acg .v-btn.bg-primary:hover {
    border-color: rgba(var(--v-theme-primary), 62%);
    background-color: rgba(var(--v-theme-primary), 42%) !important;
  }
  html.glass-theme-acg .v-btn.bg-success:hover {
    border-color: rgba(var(--v-theme-success), 62%);
    background-color: rgba(var(--v-theme-success), 42%) !important;
  }
  html.glass-theme-acg .v-btn.bg-info:hover {
    border-color: rgba(var(--v-theme-info), 62%);
    background-color: rgba(var(--v-theme-info), 42%) !important;
  }
  html.glass-theme-acg .v-btn.bg-warning:hover {
    border-color: rgba(var(--v-theme-warning), 62%);
    background-color: rgba(var(--v-theme-warning), 42%) !important;
  }
  html.glass-theme-acg .v-btn.bg-error:hover {
    border-color: rgba(var(--v-theme-error), 62%);
    background-color: rgba(var(--v-theme-error), 42%) !important;
  }
  html.glass-theme-acg .v-card--link:hover {
    border-color: var(--glass-border-hover) !important;
    box-shadow: var(--glass-shadow-hover) !important;
  }
}
html.glass-theme-acg .v-btn:not(.v-btn--variant-text, .v-btn--variant-plain):active {
  box-shadow: var(--glass-control-shadow-active) !important;
}
@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  html.glass-theme-acg :where(.app-surface,
  .v-card,
  .v-sheet,
  .v-list,
  .v-toolbar,
  .v-expansion-panel,
  .v-navigation-drawer,
  .v-app-bar,
  .layout-navbar) {
    background-color: rgba(18, 28, 45, 0.94) !important;
  }
}
@media (prefers-reduced-transparency: reduce) {
  html.glass-theme-acg :where(.app-surface,
  .v-card,
  .v-sheet,
  .v-list,
  .v-toolbar,
  .v-navigation-drawer,
  .v-app-bar,
  .layout-navbar,
  .v-overlay__content) {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    background-color: rgb(11, 19, 34) !important;
  }
  html.glass-theme-acg .v-navigation-drawer::before,
  html.glass-theme-acg .layout-vertical-nav::before {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    background-color: rgb(11, 19, 34) !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  html.glass-theme-acg .v-btn,
  html.glass-theme-acg .v-card,
  html.glass-theme-acg .v-field,
  html.glass-theme-acg .background-image {
    transition-duration: 0.01ms !important;
  }
  html.glass-theme-acg .media-card .v-img__img {
    transition-duration: 0.01ms;
  }
}
html.glass-theme-acg .v-divider {
  display: none;
}
html.glass-theme-acg .v-alert--variant-elevated,
html.glass-theme-acg .v-alert--variant-flat {
  background: transparent !important;
}
html.glass-theme-acg .sticky-sub-tabs .v-tab {
  border-radius: var(--am-tab-radius, 999px);
  text-transform: none;
  letter-spacing: 0;
  margin: 4px 2px;
  min-width: auto;
}
html.glass-theme-acg .sticky-sub-tabs .v-tab.v-tab--selected {
  border: 1px solid rgba(var(--v-theme-primary), 52%);
  background-color: rgba(var(--v-theme-primary), 56%) !important;
  color: #fff !important;
  font-weight: 600 !important;
  text-shadow: none !important;
}
html.glass-theme-acg .sticky-sub-tabs .v-tab:not(.v-tab--selected):hover {
  background-color: rgba(255, 255, 255, 0.08);
}
html.glass-theme-acg .sticky-sub-tabs .v-tabs-slider {
  display: none !important;
}

.glass-optical-layer {
  z-index: 0;
  block-size: 100%;
  inline-size: 100%;
  inset: 0;
  opacity: 0;
  pointer-events: none;
}

.glass-optical-layer--fixed {
  position: fixed;
  z-index: 0;
}

.glass-optical-layer--scroll {
  position: absolute;
}

html.glass-theme-acg:is([data-glass-quality=balanced],
[data-glass-quality=high])[data-glass-renderer-state=ready] .glass-optical-layer {
  opacity: 1;
}

html[data-glass-scroll-presentation=native][data-glass-renderer-state=ready] .glass-optical-layer--scroll {
  opacity: 0 !important;
}

html.glass-theme-acg:is([data-glass-quality=balanced],
[data-glass-quality=high])[data-glass-renderer-state=ready] {
  --glass-surface-backdrop-filter: none;
  --glass-raised-backdrop-filter: none;
  --glass-fixed-shell-backdrop-filter: none;
  --glass-navbar-backdrop-filter: var(--glass-surface-backdrop-filter);
}

html.glass-theme-acg[data-glass-appearance=frosted]:is([data-glass-quality=balanced],
[data-glass-quality=high])[data-glass-renderer-state=ready] {
  --glass-surface-backdrop-filter: var(--glass-native-surface-backdrop-filter);
  --glass-navbar-backdrop-filter: none;
}

html.glass-theme-acg:is([data-glass-quality=balanced], [data-glass-quality=high])[data-glass-renderer-state=ready] body .layout-vertical-nav::before,
html.glass-theme-acg:is([data-glass-quality=balanced], [data-glass-quality=high])[data-glass-renderer-state=ready] body .layout-navbar {
  -webkit-backdrop-filter: var(--glass-surface-backdrop-filter) !important;
  backdrop-filter: var(--glass-surface-backdrop-filter) !important;
}
html.glass-theme-acg:is([data-glass-quality=balanced], [data-glass-quality=high])[data-glass-renderer-state=ready] body .v-overlay__content > :where(.v-card, .v-sheet, .v-list) {
  -webkit-backdrop-filter: var(--glass-overlay-backdrop-filter) !important;
  backdrop-filter: var(--glass-overlay-backdrop-filter) !important;
}

html.glass-theme-acg:is([data-glass-quality=balanced], [data-glass-quality=high])[data-glass-renderer-state=ready] body :is([data-glass-optical-surface],
.app-hover-lift-card):not([data-glass-optical-mode=excluded]):not([data-glass-optical-mode=excluded] *) {
  -webkit-backdrop-filter: var(--glass-native-surface-backdrop-filter) !important;
  backdrop-filter: var(--glass-native-surface-backdrop-filter) !important;
}

html.glass-theme-acg body .login-card {
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.18), 0 24px 64px rgba(1, 6, 15, 0.22) !important;
}

@media (max-width: 600px) {
  .glass-optical-layer {
    opacity: 0 !important;
  }
}
/* ================================================================
 * 0. Vuetify 变量修复
 *    Vuetify 的 text-medium-emphasis / text-high-emphasis 等 utility class
 *    使用 --v-theme-on-background 而非 --v-theme-on-surface。
 *    暗色主题中 background = #121212 (18,18,18)，几乎是黑色，
 *    在透明背景上完全看不清。
 *    直接覆盖为白色，所有引用 on-background 的 class 自动变为白色系。
 * ================================================================ */
html.glass-theme-acg {
  --v-theme-on-background: 255, 255, 255;
  --v-theme-background: 18, 18, 18;
  /* 文字不设亮度: 所有引用 on-surface 的文字一律纯白 */
  --v-theme-on-surface: 255, 255, 255;
  --v-theme-on-surface-variant: 255, 255, 255;
}

/* 按钮 tonal — 文字颜色覆盖 */
html.glass-theme-acg .v-btn.v-btn--variant-flat:not([class*=text-]):not([class*=bg-]),
html.glass-theme-acg .v-btn.v-btn--variant-tonal:not([class*=text-]):not([class*=bg-]) {
  color: #fff !important;
}

html.glass-theme-acg .v-btn.v-btn--variant-flat:not([class*=text-]):not([class*=bg-]) .v-btn__content,
html.glass-theme-acg .v-btn.v-btn--variant-tonal:not([class*=text-]):not([class*=bg-]) .v-btn__content {
  color: #fff !important;
}

/* 有 color 的 tonal 按钮 — 白字 */
html.glass-theme-acg .v-btn.v-btn--variant-tonal.text-primary,
html.glass-theme-acg .v-btn.v-btn--variant-tonal.v-btn--bg-primary {
  color: #fff !important;
}

html.glass-theme-acg .v-btn.v-btn--variant-tonal.text-info,
html.glass-theme-acg .v-btn.v-btn--variant-tonal.v-btn--bg-info {
  color: #fff !important;
}

html.glass-theme-acg .v-btn.v-btn--variant-tonal.text-success,
html.glass-theme-acg .v-btn.v-btn--variant-tonal.v-btn--bg-success {
  color: #fff !important;
}

html.glass-theme-acg .v-btn.v-btn--variant-tonal.text-warning,
html.glass-theme-acg .v-btn.v-btn--variant-tonal.v-btn--bg-warning {
  color: #fff !important;
}

html.glass-theme-acg .v-btn.v-btn--variant-tonal.text-error,
html.glass-theme-acg .v-btn.v-btn--variant-tonal.v-btn--bg-error {
  color: #fff !important;
}

html.glass-theme-acg .v-btn.v-btn--variant-tonal.text-secondary,
html.glass-theme-acg .v-btn.v-btn--variant-tonal.v-btn--bg-secondary {
  color: #fff !important;
}

html.glass-theme-acg .v-btn.v-btn--variant-tonal.text-accent,
html.glass-theme-acg .v-btn.v-btn--variant-tonal.v-btn--bg-accent {
  color: #fff !important;
}

/* tonal 按钮内容文字统一白色 */
html.glass-theme-acg .v-btn.v-btn--variant-tonal.text-primary .v-btn__content,
html.glass-theme-acg .v-btn.v-btn--variant-tonal.text-info .v-btn__content,
html.glass-theme-acg .v-btn.v-btn--variant-tonal.text-success .v-btn__content,
html.glass-theme-acg .v-btn.v-btn--variant-tonal.text-warning .v-btn__content,
html.glass-theme-acg .v-btn.v-btn--variant-tonal.text-error .v-btn__content,
html.glass-theme-acg .v-btn.v-btn--variant-tonal.text-secondary .v-btn__content,
html.glass-theme-acg .v-btn.v-btn--variant-tonal.text-accent .v-btn__content,
html.glass-theme-acg .v-btn.v-btn--variant-tonal.v-btn--bg-primary .v-btn__content,
html.glass-theme-acg .v-btn.v-btn--variant-tonal.v-btn--bg-info .v-btn__content,
html.glass-theme-acg .v-btn.v-btn--variant-tonal.v-btn--bg-success .v-btn__content,
html.glass-theme-acg .v-btn.v-btn--variant-tonal.v-btn--bg-warning .v-btn__content,
html.glass-theme-acg .v-btn.v-btn--variant-tonal.v-btn--bg-error .v-btn__content,
html.glass-theme-acg .v-btn.v-btn--variant-tonal.v-btn--bg-secondary .v-btn__content,
html.glass-theme-acg .v-btn.v-btn--variant-tonal.v-btn--bg-accent .v-btn__content {
  color: #fff !important;
}

/* tonal chip — 白字 */
html.glass-theme-acg .v-chip.v-chip--variant-tonal.text-primary,
html.glass-theme-acg .v-chip.v-chip--variant-tonal.v-chip--color-primary {
  color: #fff !important;
}

html.glass-theme-acg .v-chip.v-chip--variant-tonal.text-info,
html.glass-theme-acg .v-chip.v-chip--variant-tonal.v-chip--color-info {
  color: #fff !important;
}

html.glass-theme-acg .v-chip.v-chip--variant-tonal.text-success,
html.glass-theme-acg .v-chip.v-chip--variant-tonal.v-chip--color-success {
  color: #fff !important;
}

html.glass-theme-acg .v-chip.v-chip--variant-tonal.text-warning,
html.glass-theme-acg .v-chip.v-chip--variant-tonal.v-chip--color-warning {
  color: #fff !important;
}

html.glass-theme-acg .v-chip.v-chip--variant-tonal.text-error,
html.glass-theme-acg .v-chip.v-chip--variant-tonal.v-chip--color-error {
  color: #fff !important;
}

html.glass-theme-acg .v-chip.v-chip--variant-tonal.text-secondary,
html.glass-theme-acg .v-chip.v-chip--variant-tonal.v-chip--color-secondary {
  color: #fff !important;
}

html.glass-theme-acg .v-chip.v-chip--variant-tonal.text-accent,
html.glass-theme-acg .v-chip.v-chip--variant-tonal.v-chip--color-accent {
  color: #fff !important;
}

/* grey tonal chip — 白字 */
html.glass-theme-acg .v-chip.v-chip--variant-tonal.text-grey,
html.glass-theme-acg .v-chip.v-chip--variant-tonal.v-chip--color-grey {
  color: #fff !important;
}

/* tonal chip 内容文字统一白色 */
html.glass-theme-acg .v-chip.v-chip--variant-tonal.text-primary .v-chip__content,
html.glass-theme-acg .v-chip.v-chip--variant-tonal.text-info .v-chip__content,
html.glass-theme-acg .v-chip.v-chip--variant-tonal.text-success .v-chip__content,
html.glass-theme-acg .v-chip.v-chip--variant-tonal.text-warning .v-chip__content,
html.glass-theme-acg .v-chip.v-chip--variant-tonal.text-error .v-chip__content,
html.glass-theme-acg .v-chip.v-chip--variant-tonal.text-secondary .v-chip__content,
html.glass-theme-acg .v-chip.v-chip--variant-tonal.text-accent .v-chip__content,
html.glass-theme-acg .v-chip.v-chip--variant-tonal.text-grey .v-chip__content,
html.glass-theme-acg .v-chip.v-chip--variant-tonal.v-chip--color-primary .v-chip__content,
html.glass-theme-acg .v-chip.v-chip--variant-tonal.v-chip--color-info .v-chip__content,
html.glass-theme-acg .v-chip.v-chip--variant-tonal.v-chip--color-success .v-chip__content,
html.glass-theme-acg .v-chip.v-chip--variant-tonal.v-chip--color-warning .v-chip__content,
html.glass-theme-acg .v-chip.v-chip--variant-tonal.v-chip--color-error .v-chip__content,
html.glass-theme-acg .v-chip.v-chip--variant-tonal.v-chip--color-secondary .v-chip__content,
html.glass-theme-acg .v-chip.v-chip--variant-tonal.v-chip--color-accent .v-chip__content,
html.glass-theme-acg .v-chip.v-chip--variant-tonal.v-chip--color-grey .v-chip__content {
  color: #fff !important;
}

/* tonal chip 无 color — 白字 */
html.glass-theme-acg .v-chip.v-chip--variant-tonal:not([class*=text-]):not([class*=v-chip--color-]) {
  color: #fff !important;
}

html.glass-theme-acg .v-chip.v-chip--variant-tonal:not([class*=text-]):not([class*=v-chip--color-]) .v-chip__content {
  color: #fff !important;
}

/* Tab — 文字颜色
 * 非 sticky-sub-tabs 内的 v-tab：
 *   未选中：浅白 + 光晕
 *   选中：主题色（primary）+ 加粗，而非白色
 *   hover：白色
 * sticky-sub-tabs 内的 v-tab 选中态（primary 底色 + 白字）
 *   由后续 .sticky-sub-tabs 规则块单独处理。
 */
html.glass-theme-acg .v-tab {
  color: rgba(255, 255, 255, 0.9) !important;
}

html.glass-theme-acg .v-tab .v-tab__content,
html.glass-theme-acg .v-tab .v-btn__content {
  color: inherit !important;
  text-shadow: 0 0 2px rgba(0, 0, 0, 0.7), 0 1px 1px rgba(0, 0, 0, 0.4);
}

/* 选中态 — 主题色 + 光晕（在透明壁纸上保证可读性）*/
html.glass-theme-acg .v-tab.v-tab--selected {
  color: rgb(var(--v-theme-primary)) !important;
  font-weight: 600 !important;
}

html.glass-theme-acg .v-tab.v-tab--selected .v-tab__content,
html.glass-theme-acg .v-tab.v-tab--selected .v-btn__content {
  color: inherit !important;
  text-shadow: 0 0 1px rgba(0, 0, 0, 0.9), 0 0 3px rgba(0, 0, 0, 0.6), 0 1px 1px rgba(0, 0, 0, 0.4);
}

/* 未选中 hover — 白字 */
html.glass-theme-acg .v-tab:not(.v-tab--selected):hover {
  color: #fff !important;
}

/* 顶栏动态 Tab（header-tab）— ACG 主题下文字提亮 + 光晕 */
html.glass-theme-acg .header-tab {
  color: rgba(255, 255, 255, 0.9) !important;
  text-shadow: 0 0 2px rgba(0, 0, 0, 0.7), 0 1px 1px rgba(0, 0, 0, 0.4);
}

html.glass-theme-acg .header-tab:hover:not(.header-tab--active) {
  color: #fff !important;
}

html.glass-theme-acg .header-tab--active {
  color: rgb(var(--v-theme-primary)) !important;
  text-shadow: 0 0 1px rgba(0, 0, 0, 0.9), 0 0 3px rgba(0, 0, 0, 0.6), 0 1px 1px rgba(0, 0, 0, 0.4);
}

/* App Bar 内 text variant 按钮图标 — 暗色壁纸上提亮 */
html.glass-theme-acg .v-app-bar .v-btn--variant-text .v-icon {
  color: rgba(255, 255, 255, 0.85) !important;
}

html.glass-theme-acg .v-app-bar .v-btn--variant-text.text-primary .v-icon,
html.glass-theme-acg .v-app-bar .v-btn--variant-text.text-info .v-icon,
html.glass-theme-acg .v-app-bar .v-btn--variant-text.text-success .v-icon,
html.glass-theme-acg .v-app-bar .v-btn--variant-text.text-warning .v-icon,
html.glass-theme-acg .v-app-bar .v-btn--variant-text.text-error .v-icon,
html.glass-theme-acg .v-app-bar .v-btn--variant-text.text-secondary .v-icon,
html.glass-theme-acg .v-app-bar .v-btn--variant-text.text-accent .v-icon {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* App Bar 标题文字 — 提亮 + 光晕 */
html.glass-theme-acg .v-app-bar .v-app-bar-title {
  color: rgba(255, 255, 255, 0.95) !important;
  text-shadow: 0 0 1px rgba(0, 0, 0, 0.9), 0 0 3px rgba(0, 0, 0, 0.6), 0 1px 1px rgba(0, 0, 0, 0.4);
}

/* App Bar 内 outlined chip — 提亮边框和文字 */
html.glass-theme-acg .v-app-bar .v-chip--variant-outlined {
  border-color: rgba(255, 255, 255, 0.25) !important;
  color: rgba(255, 255, 255, 0.9) !important;
}

html.glass-theme-acg .v-app-bar .v-chip--variant-outlined .v-icon {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* 筛选栏 outlined chip（未选中）— 提亮边框和文字，保证在壁纸上可读 */
html.glass-theme-acg .filter-bar .v-chip--variant-outlined {
  border-color: rgba(255, 255, 255, 0.2) !important;
  color: rgba(255, 255, 255, 0.85) !important;
}

html.glass-theme-acg .filter-bar .v-chip--variant-outlined:hover {
  border-color: rgba(255, 255, 255, 0.35) !important;
  color: #fff !important;
}

/* App Bar 内禁用态按钮 — 降低不透明度但仍可见 */
html.glass-theme-acg .v-app-bar .v-btn--disabled .v-icon {
  color: rgba(255, 255, 255, 0.35) !important;
}

/* ================================================================
 * 1. 导航栏 — 圆角项 + 选中/未选中文字区分
 *    选中态文字：白色 + 加粗
 *    未选中文字：浅色 + 光晕
 * ================================================================ */
html.glass-theme-acg .v-navigation-drawer .v-list-item {
  border-radius: var(--am-list-item-radius, 16px) !important;
  transition: all 0.3s ease-out !important;
}

/* 未选中文字 — 提亮至 0.9，保证在亮/暗壁纸上都可读 */
html.glass-theme-acg .v-navigation-drawer .v-list-item .v-list-item-title {
  color: rgba(255, 255, 255, 0.9) !important;
}

html.glass-theme-acg .v-navigation-drawer .v-list-item .v-icon {
  color: rgba(255, 255, 255, 0.8) !important;
}

/* 选中态 — 主题色文字 + 光晕 */
html.glass-theme-acg .v-navigation-drawer .v-list-item--active .v-list-item-title {
  color: rgb(var(--v-theme-primary)) !important;
  font-weight: 600 !important;
  text-shadow: 0 0 1px rgba(0, 0, 0, 0.9), 0 0 3px rgba(0, 0, 0, 0.6), 0 1px 1px rgba(0, 0, 0, 0.4);
}

html.glass-theme-acg .v-navigation-drawer .v-list-item--active .v-icon {
  color: rgb(var(--v-theme-primary)) !important;
}

/* ================================================================
 * 2. 文字光晕 — 纯透明卡片上的文字可读性
 *    卡片完全透明，壁纸直接可见。
 *    浅色文字 + 多层黑色 text-shadow 形成光晕，在亮/暗壁纸上都可读。
 *    弹窗有 alpha 0.2 的底色，光晕弱一些即可。
 * ================================================================ */
/* 普通卡片/导航/列表 — 强光晕 */
html.glass-theme-acg .v-card,
html.glass-theme-acg .v-sheet:not(.v-snackbar__wrapper),
html.glass-theme-acg .v-expansion-panel,
html.glass-theme-acg .v-list-item,
html.glass-theme-acg .v-alert,
html.glass-theme-acg .v-navigation-drawer {
  text-shadow: 0 0 1px rgba(0, 0, 0, 0.9), 0 0 3px rgba(0, 0, 0, 0.6), 0 0 8px rgba(0, 0, 0, 0.3), 0 1px 1px rgba(0, 0, 0, 0.5);
}

/* 标题/标签/小字 — 更强光晕 */
html.glass-theme-acg .v-card-title,
html.glass-theme-acg .v-card-subtitle,
html.glass-theme-acg .v-list-item-title,
html.glass-theme-acg .v-label,
html.glass-theme-acg .text-h6,
html.glass-theme-acg .text-subtitle-1,
html.glass-theme-acg .text-body-2,
html.glass-theme-acg .text-body-1,
html.glass-theme-acg .text-caption {
  text-shadow: 0 0 1px rgb(0, 0, 0), 0 0 4px rgba(0, 0, 0, 0.7), 0 0 10px rgba(0, 0, 0, 0.4), 0 1px 2px rgba(0, 0, 0, 0.6);
}

/* 文字不设亮度 — 全部文字一律纯白满亮度, 层级只靠字号/字重区分 */
html.glass-theme-acg .text-medium-emphasis {
  color: rgb(255, 255, 255) !important;
  opacity: 1 !important;
}

html.glass-theme-acg .text-disabled {
  color: rgb(255, 255, 255) !important;
  opacity: 1 !important;
}

/* 全局自定义开关行文字 (.switch-label/.switch-desc, 定义于 cards.css) */
html.glass-theme-acg .switch-label,
html.glass-theme-acg .switch-desc {
  color: rgb(255, 255, 255) !important;
  opacity: 1 !important;
  text-shadow: 0 0 1px rgb(0, 0, 0), 0 0 4px rgba(0, 0, 0, 0.7), 0 0 10px rgba(0, 0, 0, 0.4), 0 1px 2px rgba(0, 0, 0, 0.6);
}

/* Alert tonal — Vuetify 用 currentColor 做文字和 underlay 底色，
   info=#1565C0 / warning=#E65100 / error=#ef4444 / success=#1B8134
   在透明暗色背景上偏暗，提亮文字 + 保持 underlay 半透明底 */
html.glass-theme-acg .v-alert--variant-tonal.text-info,
html.glass-theme-acg .v-alert--variant-tonal.v-alert--color-info {
  color: #6CB6FF !important;
}

html.glass-theme-acg .v-alert--variant-tonal.text-warning,
html.glass-theme-acg .v-alert--variant-tonal.v-alert--color-warning {
  color: #FFB74D !important;
}

html.glass-theme-acg .v-alert--variant-tonal.text-error,
html.glass-theme-acg .v-alert--variant-tonal.v-alert--color-error {
  color: #EF5350 !important;
}

html.glass-theme-acg .v-alert--variant-tonal.text-success,
html.glass-theme-acg .v-alert--variant-tonal.v-alert--color-success {
  color: #66BB6A !important;
}

/* 无 color 的 tonal alert — 白字 */
html.glass-theme-acg .v-alert--variant-tonal:not([class*=text-]):not([class*=v-alert--color-]) {
  color: rgba(255, 255, 255, 0.87) !important;
}

/* 弹窗内 — 弹窗有底色，光晕弱一些即可 */
html.glass-theme-acg .v-dialog .v-card,
html.glass-theme-acg .v-menu .v-card,
html.glass-theme-acg .v-menu .v-list {
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4), 0 0 4px rgba(0, 0, 0, 0.2);
}

/* 按钮文字 — 按钮有边框，弱光晕 */
html.glass-theme-acg .v-btn .v-btn__content,
html.glass-theme-acg .v-chip .v-chip__content {
  text-shadow: 0 0 2px rgba(0, 0, 0, 0.7), 0 1px 1px rgba(0, 0, 0, 0.4);
}

/* 霓虹描边 */
html.glass-theme-acg .text-neon {
  -webkit-text-stroke: 1px rgba(78, 205, 196, 0.5);
  text-shadow: 0 0 8px rgba(78, 205, 196, 0.4), 0 0 16px rgba(78, 205, 196, 0.2);
}

/* 渐变填充 */
html.glass-theme-acg .text-gradient {
  background: linear-gradient(135deg, rgb(var(--v-theme-primary)) 0%, #ff2d94 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  filter: drop-shadow(0 2px 4px rgba(var(--v-theme-primary), 0.3));
}

/* ================================================================
 * 3. 详情页/日历 — 文字光晕
 *    在壁纸上保证可读性
 * ================================================================ */
/* chip */
html.glass-theme-acg .tmdb-detail-view .v-chip,
html.glass-theme-acg .tmdb-detail-view .v-chip .v-chip__content,
html.glass-theme-acg .bangumi-detail-view .v-chip,
html.glass-theme-acg .bangumi-detail-view .v-chip .v-chip__content,
html.glass-theme-acg .person-detail-view .v-chip,
html.glass-theme-acg .person-detail-view .v-chip .v-chip__content {
  color: #f5f5f5 !important;
  font-weight: 600 !important;
  text-shadow: 0 0 1px rgba(0, 0, 0, 0.9), 0 0 3px rgba(0, 0, 0, 0.6), 0 1px 1px rgba(0, 0, 0, 0.4);
}

/* 按钮 */
html.glass-theme-acg .tmdb-detail-view .v-btn,
html.glass-theme-acg .bangumi-detail-view .v-btn {
  color: #f5f5f5 !important;
  text-shadow: 0 0 1px rgba(0, 0, 0, 0.8), 0 0 3px rgba(0, 0, 0, 0.5), 0 1px 1px rgba(0, 0, 0, 0.3);
}

html.glass-theme-acg .tmdb-detail-view .v-btn .v-icon,
html.glass-theme-acg .bangumi-detail-view .v-btn .v-icon {
  color: #f5f5f5 !important;
}

/* Bangumi 详情页 — scoped 副文字提亮 */
html.glass-theme-acg .bangumi-detail-view .ep-num-sort,
html.glass-theme-acg .bangumi-detail-view .ep-title-orig {
  color: rgba(255, 255, 255, 0.87) !important;
}

html.glass-theme-acg .bangumi-detail-view .ep-desc {
  color: rgba(255, 255, 255, 0.87) !important;
  border-top-color: rgba(255, 255, 255, 0.1) !important;
}

html.glass-theme-acg .bangumi-detail-view .ep-num-main {
  text-shadow: 0 0 2px rgba(0, 0, 0, 0.6);
}

/* Bangumi 详情页 chip 覆盖 scoped 规则 */
html.glass-theme-acg .bangumi-detail-view .v-chip--variant-tonal.text-primary {
  color: #fff !important;
}

html.glass-theme-acg .bangumi-detail-view .v-chip--variant-tonal.text-primary .v-chip__underlay {
  background-color: rgb(var(--v-theme-primary)) !important;
}

/* TMDB 详情页 — scoped 副文字提亮 */
html.glass-theme-acg .tmdb-detail-view .ep-season-overview {
  color: rgba(255, 255, 255, 0.87) !important;
  background: rgba(255, 255, 255, 0.05) !important;
}

html.glass-theme-acg .tmdb-detail-view .ep-files {
  background: rgba(255, 255, 255, 0.05) !important;
}

html.glass-theme-acg .tmdb-detail-view .v-chip--variant-tonal.text-primary {
  color: #fff !important;
}

html.glass-theme-acg .tmdb-detail-view .v-chip--variant-tonal.text-primary .v-chip__underlay {
  background-color: rgb(var(--v-theme-primary)) !important;
}

/* 设置页 — 外部链接（text-primary 的 <a> 标签）跟随主文字亮度 + 下划线区分 */
html.glass-theme-acg a.text-primary {
  color: rgba(255, 255, 255, 0.87) !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(255, 255, 255, 0.3) !important;
  text-shadow: 0 0 2px rgba(0, 0, 0, 0.6), 0 1px 1px rgba(0, 0, 0, 0.3);
  transition: text-decoration-color 0.2s ease;
}

html.glass-theme-acg a.text-primary:hover {
  text-decoration-color: rgba(255, 255, 255, 0.7) !important;
}

/* 追剧日历 / 季度番剧表 下拉框 */
html.glass-theme-acg .calendar-view .v-field,
html.glass-theme-acg .seasonal-tab .v-field {
  color: #f5f5f5 !important;
}

html.glass-theme-acg .calendar-view .v-field .v-field__input,
html.glass-theme-acg .calendar-view .v-field .v-label,
html.glass-theme-acg .seasonal-tab .v-field .v-field__input,
html.glass-theme-acg .seasonal-tab .v-field .v-label {
  color: #ddd !important;
  text-shadow: 0 0 2px rgba(0, 0, 0, 0.7), 0 1px 1px rgba(0, 0, 0, 0.4);
}

html.glass-theme-acg .calendar-view .v-field .v-icon,
html.glass-theme-acg .seasonal-tab .v-field .v-icon {
  color: #f5f5f5 !important;
}

/* ================================================================
 * 4. 页面标题 — 最强光晕
 *    页面标题不在卡片内，直接暴露在壁纸上，需要最强光晕。
 * ================================================================ */
html.glass-theme-acg .page-title {
  color: #f5f5f5 !important;
  text-shadow: 0 0 1px rgb(0, 0, 0), 0 0 3px rgba(0, 0, 0, 0.8), 0 0 8px rgba(0, 0, 0, 0.5), 0 0 16px rgba(0, 0, 0, 0.3), 0 1px 2px rgba(0, 0, 0, 0.6);
}

html.glass-theme-acg .page-subtitle,
html.glass-theme-acg .section-title {
  color: rgba(255, 255, 255, 0.87) !important;
  font-weight: 500;
  letter-spacing: 0.01em;
  text-shadow: 0 0 1px rgb(0, 0, 0), 0 0 3px rgba(0, 0, 0, 0.7), 0 0 8px rgba(0, 0, 0, 0.4), 0 1px 2px rgba(0, 0, 0, 0.5);
}

/* ================================================================
 * 5. 日志终端配色
 * ================================================================ */
html.glass-theme-acg .log-entry--error,
html.glass-theme-acg .log-entry--critical {
  background: rgba(239, 83, 80, 0.08);
}

html.glass-theme-acg .log-entry--error:hover,
html.glass-theme-acg .log-entry--critical:hover {
  background: rgba(239, 83, 80, 0.14);
}

html.glass-theme-acg .log-entry--warning {
  background: rgba(255, 183, 77, 0.06);
}

html.glass-theme-acg .log-entry--warning:hover {
  background: rgba(255, 183, 77, 0.12);
}

/* ================================================================
 * 6. Checkbox / Radio 选中发光
 * ================================================================ */
html.glass-theme-acg .v-checkbox .v-selection-control--dirty .v-icon {
  text-shadow: 0 0 6px rgba(78, 205, 196, 0.4);
}

html.glass-theme-acg .v-radio .v-selection-control--dirty .v-icon {
  text-shadow: 0 0 6px rgba(78, 205, 196, 0.4);
}

/* ================================================================
 * 6.5 Switch 未开启态 — 增强可见度
 * 透明材质 + 全局去阴影时, Vuetify 默认的灰白滑块几乎隐形。
 * 不依赖 box-shadow 落影: 用白色渐变滑块 + 深色描边 + 可见轨道,
 * 加一层轻微落影作立体提示 (手动去阴影模式也会保留, 因为它是开关本体的一部分)。
 * ================================================================ */
html.glass-theme-acg .v-switch:not(.v-switch--disabled) .v-selection-control:not(.v-selection-control--dirty) .v-switch__track {
  background: rgba(255, 255, 255, 0.12) !important;
  border: 1px solid rgba(255, 255, 255, 0.25);
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.3);
}
html.glass-theme-acg .v-switch:not(.v-switch--disabled) .v-selection-control:not(.v-selection-control--dirty) .v-switch__thumb {
  background: linear-gradient(160deg, #FFFFFF 0%, #D9DEE8 100%) !important;
  border: 1px solid rgba(0, 0, 0, 0.2);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.95), 0 1px 3px rgba(0, 0, 0, 0.35);
}

/* ================================================================
 * 7. 登录页 — 卡片跟随 ACG 玻璃材质
 *    visual.css 中 .login-glass-panel 用 !important + --am-login-* 变量，
 *    但 ACG 主题未定义这些变量，会回落到 :root 默认值（不适合 ACG 主题）。
 *    这里用 ACG 的 --glass-* 变量覆盖，使登录卡片与其他页面卡片一致。
 * ================================================================ */
html.glass-theme-acg .login-glass-panel {
  background-color: var(--glass-surface) !important;
  background-image: var(--glass-sheen) !important;
  -webkit-backdrop-filter: var(--glass-surface-backdrop-filter) !important;
  backdrop-filter: var(--glass-surface-backdrop-filter) !important;
  border: 1px solid var(--glass-border) !important;
  box-shadow: var(--glass-shadow) !important;
}

/* 登录页按钮渐变 */
html.glass-theme-acg .login-glass-panel .v-btn--variant-flat.v-btn--bg-primary {
  color: #fff !important;
  background: linear-gradient(135deg, rgba(66, 165, 245, 0.6), rgba(78, 205, 196, 0.35)) !important;
}

/* ================================================================
 * 8. 移动端性能优化
 *    移动端 GPU/CPU 算力有限，大量 backdrop-filter + transition: all
 *    + 多层 box-shadow 是卡顿主因。
 *    此区块只降级 transition/transform/text-shadow，
 *    材质属性（background/backdrop-filter/border/box-shadow）
 *    由上面的 @supports / @media (prefers-reduced-transparency) 处理。
 * ================================================================ */
@media (max-width: 960px) {
  /* 1. transition: all → 最小集 */
  html.glass-theme-acg .v-card,
  html.glass-theme-acg .liquid-glass-card,
  html.glass-theme-acg .v-sheet,
  html.glass-theme-acg .v-expansion-panel,
  html.glass-theme-acg .v-chip {
    transition: none !important;
  }
  html.glass-theme-acg .v-btn,
  html.glass-theme-acg .v-btn--icon,
  html.glass-theme-acg .v-tab,
  html.glass-theme-acg .v-list-item {
    transition: background-color 0.15s ease, color 0.15s ease !important;
  }
  html.glass-theme-acg .v-field {
    transition: background-color 0.15s ease !important;
  }
  /* 2. hover/active 变形去掉 */
  html.glass-theme-acg .v-card:hover,
  html.glass-theme-acg .v-btn:hover,
  html.glass-theme-acg .v-btn:active,
  html.glass-theme-acg .v-tab:hover,
  html.glass-theme-acg .v-btn--icon:hover,
  html.glass-theme-acg .v-btn--icon:active {
    transform: none !important;
  }
  /* 3. 弹窗动画简化 */
  html.glass-theme-acg .dialog-transition-enter-active,
  html.glass-theme-acg .dialog-transition-leave-active {
    transition: opacity 0.15s ease !important;
  }
  html.glass-theme-acg .dialog-transition-enter-from,
  html.glass-theme-acg .dialog-transition-leave-to {
    opacity: 0 !important;
    transform: none !important;
  }
  /* 4. Tab 滑动指示器去掉 */
  html.glass-theme-acg .v-tabs .v-slide-group__prev,
  html.glass-theme-acg .v-tabs .v-slide-group__next,
  html.glass-theme-acg .v-tabs .v-slide-group__content {
    transition: none !important;
  }
  /* 5. 导航滑动过渡去掉 */
  html.glass-theme-acg .v-navigation-drawer {
    transition: none !important;
  }
  /* 6. list-item 伪元素动画去掉 */
  html.glass-theme-acg .v-list-item::before {
    display: none !important;
  }
  /* 7. expansion-panel 动画去掉 */
  html.glass-theme-acg .v-expansion-panel-title,
  html.glass-theme-acg .v-expansion-panel-text {
    transition: none !important;
  }
  /* 8. 弹窗内 box-shadow 动画去掉 */
  html.glass-theme-acg .v-dialog .v-card,
  html.glass-theme-acg .v-dialog .v-overlay__content {
    transition: none !important;
  }
  /* 9. contain 隔离重绘 */
  html.glass-theme-acg .v-card,
  html.glass-theme-acg .v-list,
  html.glass-theme-acg .v-dialog .v-overlay__content {
    contain: layout paint style;
  }
  /* 10. 移动端清除文字阴影（性能消耗大） */
  html.glass-theme-acg .v-card,
  html.glass-theme-acg .v-sheet,
  html.glass-theme-acg .v-expansion-panel,
  html.glass-theme-acg .v-list-item,
  html.glass-theme-acg .v-alert,
  html.glass-theme-acg .v-navigation-drawer,
  html.glass-theme-acg .v-card-title,
  html.glass-theme-acg .v-card-subtitle,
  html.glass-theme-acg .v-list-item-title,
  html.glass-theme-acg .v-label,
  html.glass-theme-acg .text-h6,
  html.glass-theme-acg .text-subtitle-1,
  html.glass-theme-acg .text-body-2,
  html.glass-theme-acg .text-body-1,
  html.glass-theme-acg .text-caption,
  html.glass-theme-acg .v-btn .v-btn__content,
  html.glass-theme-acg .v-chip .v-chip__content,
  html.glass-theme-acg .v-dialog .v-card,
  html.glass-theme-acg .v-menu .v-card,
  html.glass-theme-acg .v-menu .v-list,
  html.glass-theme-acg .page-title,
  html.glass-theme-acg .page-subtitle,
  html.glass-theme-acg .section-title,
  html.glass-theme-acg .v-app-bar .v-app-bar-title {
    text-shadow: none !important;
  }
}
html.glass-theme-acg[data-theme-shadow=none] {
  --glass-shadow: none;
  --glass-shadow-raised: none;
  --glass-shadow-hover: none;
  --glass-navbar-shadow: none;
}

html.glass-theme-acg[data-theme-shadow=subtle] {
  --glass-shadow: 0 2px 8px rgba(3, 7, 18, 10%);
  --glass-shadow-raised: 0 4px 12px rgba(3, 7, 18, 14%);
  --glass-shadow-hover: 0 6px 16px rgba(3, 7, 18, 18%);
  --glass-navbar-shadow: 0 1px 4px rgba(3, 7, 18, 8%);
}

html.glass-theme-acg[data-theme-shadow=prominent] {
  --glass-shadow: 0 14px 36px rgba(3, 7, 18, 32%), inset 0 1px 0 var(--glass-highlight, rgba(255, 255, 255, 6%)), inset 0 -1px 0 rgba(2, 6, 16, 14%);
  --glass-shadow-raised: 0 20px 50px rgba(3, 7, 18, 40%), inset 0 1px 0 rgba(255, 255, 255, 24%), inset 0 -1px 0 rgba(2, 6, 16, 18%);
  --glass-shadow-hover: 0 24px 56px rgba(3, 7, 18, 44%), inset 0 1px 0 rgba(255, 255, 255, 28%), inset 0 -1px 0 rgba(2, 6, 16, 18%);
  --glass-navbar-shadow: 0 6px 20px rgba(3, 7, 18, 24%), inset 0 1px 0 rgba(255, 255, 255, 10%), inset 0 -1px 0 rgba(2, 6, 16, 12%);
}

html.glass-theme-acg[data-theme-shadow=dramatic] {
  --glass-shadow: 0 20px 48px rgba(3, 7, 18, 42%), inset 0 1px 0 var(--glass-highlight, rgba(255, 255, 255, 6%)), inset 0 -1px 0 rgba(2, 6, 16, 14%);
  --glass-shadow-raised: 0 28px 64px rgba(3, 7, 18, 52%), inset 0 1px 0 rgba(255, 255, 255, 24%), inset 0 -1px 0 rgba(2, 6, 16, 18%);
  --glass-shadow-hover: 0 32px 72px rgba(3, 7, 18, 56%), inset 0 1px 0 rgba(255, 255, 255, 28%), inset 0 -1px 0 rgba(2, 6, 16, 18%);
  --glass-navbar-shadow: 0 10px 32px rgba(3, 7, 18, 32%), inset 0 1px 0 rgba(255, 255, 255, 10%), inset 0 -1px 0 rgba(2, 6, 16, 12%);
}

html.glass-theme-acg[data-theme-border=none] {
  --glass-border: transparent;
  --glass-border-raised: transparent;
  --glass-border-hover: transparent;
}

html.glass-theme-acg[data-theme-border=subtle] {
  --glass-border: rgba(255, 255, 255, 0.03);
  --glass-border-raised: rgba(255, 255, 255, 0.04);
  --glass-border-hover: rgba(255, 255, 255, 0.06);
}

html.glass-theme-acg[data-theme-border=prominent] {
  --glass-border: rgba(255, 255, 255, 0.14);
  --glass-border-raised: rgba(255, 255, 255, 0.18);
  --glass-border-hover: rgba(255, 255, 255, 0.24);
}

html.glass-theme-acg[data-theme-border=dramatic] {
  --glass-border: rgba(255, 255, 255, 0.22);
  --glass-border-raised: rgba(255, 255, 255, 0.3);
  --glass-border-hover: rgba(255, 255, 255, 0.38);
}

/* 4.2 液态玻璃主题视觉风格（html.glass-theme-liquid 激活） */
/**
 * glass-themes.css — 液态玻璃主题
 *
 * 通过 html.glass-theme-liquid 激活。
 * 组件基础视觉（背景/模糊/边框/阴影/圆角/滚动条等）由
 * tokens.css + visual.css 统一处理，此文件只保留液态玻璃专属效果：
 *   - --lg-* 设计变量（折射带、弧光、色块、阴影等）
 *   - mesh 渐变背景 + 动画
 *   - 卡片/按钮/Tab 的 ::before / ::after 弧光伪元素
 *   - 按钮弹簧动画 + 胶囊形变
 *   - 下拉列表项 hover/active 半透明高亮
 *   - 字体（SF 系统栈）
 *   - 日志终端配色
 *   - 性能优化（移动端 / 减少透明度 / 减少动画）
 *
 * ⚠️ 变量作用域：--lg-* 全部设在 html.glass-theme-liquid 上，
 *    因为 body / body::before / body::after 是 .v-application 的父级，
 *    CSS 变量只往下传不往上传。
 */


/* ================================================================
 * 液态玻璃 — CSS 变量
 * ================================================================ */

html.glass-theme-liquid {
  --lg-blur: 22px;
  --lg-sat: 190%;
  --lg-r-pill: 999px;
  --lg-spring: cubic-bezier(.34, 1.42, .64, 1);
  --lg-ease: cubic-bezier(.32, .72, 0, 1);

  --lg-rim:
      inset 0 1px 0 var(--lg-spec-top),
      inset 0 -1px 0 var(--lg-spec-bottom),
      inset 0 8px 16px -9px var(--lg-fringe-cool),
      inset 0 -8px 16px -9px var(--lg-fringe-warm),
      inset 10px 0 20px -15px var(--lg-spec-side),
      inset -10px 0 20px -15px var(--lg-spec-side);

  --lg-rim-sm:
      inset 0 1px 0 var(--lg-spec-top),
      inset 0 -1px 0 var(--lg-spec-bottom),
      inset 0 4px 7px -5px var(--lg-fringe-cool),
      inset 0 -4px 7px -5px var(--lg-fringe-warm),
      inset 5px 0 9px -8px var(--lg-spec-side),
      inset -5px 0 9px -8px var(--lg-spec-side);
}

html.glass-theme-liquid.glass-light {
  --lg-bg-page: #C6CFEE;

  --lg-sheen: rgba(255, 255, 255, .50);
  --lg-spec-top: rgba(255, 255, 255, .95);
  --lg-spec-bottom: rgba(255, 255, 255, .45);
  --lg-spec-side: rgba(22, 24, 42, .07);
  --lg-fringe-cool: rgba(150, 220, 255, .55);
  --lg-fringe-warm: rgba(255, 190, 220, .40);
  --lg-shadow: 0 10px 34px -12px rgba(31, 38, 135, .30), 0 2px 8px -4px rgba(31, 38, 135, .18);
  --lg-shadow-lift: 0 20px 48px -14px rgba(31, 38, 135, .38), 0 4px 12px -6px rgba(31, 38, 135, .22);

  --lg-mesh-1: rgba(84, 80, 235, .80);
  --lg-mesh-2: rgba(255, 64, 160, .66);
  --lg-mesh-3: rgba(20, 205, 200, .70);
  --lg-mesh-4: rgba(255, 165, 40, .58);
  --lg-mesh-5: rgba(120, 90, 245, .52);
  --lg-grid: rgba(255, 255, 255, .38);

  --lg-border: rgba(0, 0, 0, 0.10);
  --lg-border-strong: rgba(0, 0, 0, 0.14);
}

html.glass-theme-liquid.glass-dark {
  --lg-bg-page: #07090F;

  --lg-sheen: rgba(255, 255, 255, .16);
  --lg-spec-top: rgba(255, 255, 255, .55);
  --lg-spec-bottom: rgba(255, 255, 255, .22);
  --lg-spec-side: rgba(0, 0, 0, .3);
  --lg-fringe-cool: rgba(120, 200, 255, .40);
  --lg-fringe-warm: rgba(255, 140, 190, .28);
  --lg-shadow: 0 12px 38px -12px rgba(0, 0, 0, .7), 0 2px 8px -4px rgba(0, 0, 0, .5);
  --lg-shadow-lift: 0 22px 54px -14px rgba(0, 0, 0, .8), 0 4px 14px -6px rgba(0, 0, 0, .55);

  --lg-mesh-1: rgba(84, 80, 245, .72);
  --lg-mesh-2: rgba(224, 50, 200, .58);
  --lg-mesh-3: rgba(10, 210, 200, .50);
  --lg-mesh-4: rgba(255, 110, 60, .42);
  --lg-mesh-5: rgba(110, 70, 240, .40);
  --lg-grid: rgba(255, 255, 255, .10);

  --lg-border: rgba(255, 255, 255, 0.08);
  --lg-border-strong: rgba(255, 255, 255, 0.12);
}

/* Vuetify 组件变量 */
/* --v-theme-primary 不再在此硬编码，由 useThemeCustomizer 通过 primaryColor 统一管理 */
html.glass-theme-liquid .v-theme--light {
  --v-theme-surface: 255, 255, 255;
  --v-theme-surface-light: 255, 255, 255;
  --v-theme-background: 198, 207, 238;
}

html.glass-theme-liquid .v-theme--dark {
  --v-theme-surface: 28, 30, 52;
  --v-theme-surface-light: 28, 30, 52;
  --v-theme-background: 7, 9, 15;
}


/* ================================================================
 * 背景：mesh 渐变 + 细网格 + 动画
 * ================================================================ */

html.glass-theme-liquid body::before {
  z-index: -50 !important;
  inset: -20% !important;
  background-image:
      radial-gradient(46% 52% at 10% 12%, var(--lg-mesh-1), transparent 70%),
      radial-gradient(44% 50% at 92% 8%, var(--lg-mesh-2), transparent 68%),
      radial-gradient(52% 56% at 82% 88%, var(--lg-mesh-3), transparent 70%),
      radial-gradient(46% 50% at 14% 92%, var(--lg-mesh-4), transparent 66%),
      radial-gradient(50% 44% at 50% 48%, var(--lg-mesh-5), transparent 72%) !important;
  background-color: var(--lg-bg-page) !important;
  filter: blur(26px) !important;
  animation: lg-drift-a 47s ease-in-out infinite alternate !important;
}

html.glass-theme-liquid body::after {
  z-index: -49 !important;
  inset: -20% !important;
  background-image:
      repeating-linear-gradient(0deg, var(--lg-grid) 0 1px, transparent 1px 22px),
      repeating-linear-gradient(90deg, var(--lg-grid) 0 1px, transparent 1px 22px) !important;
  animation: lg-drift-b 71s ease-in-out infinite alternate !important;
}

@keyframes lg-drift-a {
  0%   { transform: translate3d(0, 0, 0) scale(1); }
  100% { transform: translate3d(6%, 4%, 0) scale(1.18) rotate(6deg); }
}

@keyframes lg-drift-b {
  0%   { transform: translate3d(0, 0, 0); }
  100% { transform: translate3d(22px, 22px, 0); }
}


/* ================================================================
 * 卡片：顶缘弧光伪元素
 * ================================================================ */

html.glass-theme-liquid .v-card,
html.glass-theme-liquid .v-card--variant-elevated,
html.glass-theme-liquid .v-card--variant-flat,
html.glass-theme-liquid .v-card--variant-tonal {
  position: relative !important;
}

html.glass-theme-liquid .v-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  pointer-events: none;
  background: radial-gradient(150% 42px at 50% -8px,
      var(--lg-sheen) 0%, transparent 72%);
}

html.glass-theme-liquid .v-card-text,
html.glass-theme-liquid .v-card-title,
html.glass-theme-liquid .v-card-actions,
html.glass-theme-liquid .v-card-item {
  position: relative;
  z-index: 1;
}


/* ================================================================
 * 按钮：顶缘弧光 + 弹簧形变 + 胶囊内边距
 * ================================================================ */

html.glass-theme-liquid .v-btn {
  padding-left: 18px !important;
  padding-right: 18px !important;
  transition: transform .34s var(--lg-spring),
              background-color .2s var(--lg-ease),
              box-shadow .28s var(--lg-ease),
              color .2s var(--lg-ease) !important;
}

html.glass-theme-liquid .v-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  pointer-events: none;
  background: radial-gradient(140% 15px at 50% -3px,
      var(--lg-sheen) 0%, transparent 72%);
}

html.glass-theme-liquid .v-btn__content,
html.glass-theme-liquid .v-btn__prepend,
html.glass-theme-liquid .v-btn__append {
  position: relative;
  z-index: 1;
}

html.glass-theme-liquid .v-btn:hover {
  transform: translateY(-1px) !important;
}

html.glass-theme-liquid .v-btn:active {
  transform: scale(.95) !important;
  transition-duration: .08s !important;
}

html.glass-theme-liquid .v-btn--icon {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* 主按钮发光阴影 */
html.glass-theme-liquid .v-btn--variant-flat.v-btn--color-primary,
html.glass-theme-liquid .v-btn--variant-flat.text-primary {
  box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, .45),
      inset 0 -1px 0 rgba(255, 255, 255, .15),
      0 10px 28px -10px rgb(var(--v-theme-primary)) !important;
}

/* ================================================================
 * tonal 按钮：语义色底 + 白字
 * 参照 liquid-glass 参考CSS：primary 实色底+白字，其他语义色半透明底+白字
 * ================================================================ */
html.glass-theme-liquid .v-btn--variant-tonal.text-primary,
html.glass-theme-liquid .v-btn--variant-tonal.v-btn--bg-primary {
  background-color: rgb(var(--v-theme-primary)) !important;
  color: #fff !important;
}

html.glass-theme-liquid .v-btn--variant-tonal.text-info,
html.glass-theme-liquid .v-btn--variant-tonal.v-btn--bg-info {
  background-color: rgba(var(--v-theme-info), 80%) !important;
  color: #fff !important;
}

html.glass-theme-liquid .v-btn--variant-tonal.text-success,
html.glass-theme-liquid .v-btn--variant-tonal.v-btn--bg-success {
  background-color: rgba(var(--v-theme-success), 80%) !important;
  color: #fff !important;
}

html.glass-theme-liquid .v-btn--variant-tonal.text-warning,
html.glass-theme-liquid .v-btn--variant-tonal.v-btn--bg-warning {
  background-color: rgba(var(--v-theme-warning), 80%) !important;
  color: #fff !important;
}

html.glass-theme-liquid .v-btn--variant-tonal.text-error,
html.glass-theme-liquid .v-btn--variant-tonal.v-btn--bg-error {
  background-color: rgba(var(--v-theme-error), 80%) !important;
  color: #fff !important;
}

html.glass-theme-liquid .v-btn--variant-tonal.text-secondary,
html.glass-theme-liquid .v-btn--variant-tonal.v-btn--bg-secondary {
  background-color: rgba(var(--v-theme-secondary), 80%) !important;
  color: #fff !important;
}

/* tonal 无 color — 中性底 + 继承文字色 */
html.glass-theme-liquid .v-btn--variant-tonal:not(.text-primary):not(.v-btn--bg-primary):not(.text-info):not(.v-btn--bg-info):not(.text-success):not(.v-btn--bg-success):not(.text-warning):not(.v-btn--bg-warning):not(.text-error):not(.v-btn--bg-error):not(.text-secondary):not(.v-btn--bg-secondary) {
  color: inherit !important;
}


/* ================================================================
 * 输入框：hover 底色微亮
 * ================================================================ */

html.glass-theme-liquid.glass-light .v-field--variant-outlined:hover {
  background: rgba(255, 255, 255, .52) !important;
  background-color: rgba(255, 255, 255, .52) !important;
}
html.glass-theme-liquid.glass-dark .v-field--variant-outlined:hover {
  background: rgba(28, 30, 52, .56) !important;
  background-color: rgba(28, 30, 52, .56) !important;
}

/* textarea 用大圆角 */
html.glass-theme-liquid .v-textarea .v-field--variant-outlined {
  border-radius: 22px !important;
}

/* solo / solo-filled — 玻璃底色 */
html.glass-theme-liquid.glass-light .v-field--variant-solo,
html.glass-theme-liquid.glass-light .v-field--variant-solo-filled {
  background: rgba(255, 255, 255, .40) !important;
}
html.glass-theme-liquid.glass-dark .v-field--variant-solo,
html.glass-theme-liquid.glass-dark .v-field--variant-solo-filled {
  background: rgba(28, 30, 52, .44) !important;
}

/* filled 圆角 */
html.glass-theme-liquid .v-field--variant-filled {
  border-radius: var(--lg-r-pill) var(--lg-r-pill) 0 0 !important;
  border-bottom: 1px solid var(--lg-border) !important;
}


/* ================================================================
 * 下拉列表项 — 液态玻璃 hover / active
 * ================================================================ */

html.glass-theme-liquid .v-select .v-list-item,
html.glass-theme-liquid .v-autocomplete .v-list-item,
html.glass-theme-liquid .v-combobox .v-list-item,
html.glass-theme-liquid .v-menu .v-list-item {
  border-radius: 14px !important;
  margin: 2px 4px !important;
  transition: background-color .2s var(--lg-ease) !important;
}

html.glass-theme-liquid.glass-light .v-menu .v-list-item:hover {
  background: rgba(0, 0, 0, .06) !important;
  background-color: rgba(0, 0, 0, .06) !important;
}
html.glass-theme-liquid.glass-dark .v-menu .v-list-item:hover {
  background: rgba(255, 255, 255, .08) !important;
  background-color: rgba(255, 255, 255, .08) !important;
}

html.glass-theme-liquid.glass-light .v-menu .v-list-item--active {
  background: rgba(var(--v-theme-primary), .12) !important;
  background-color: rgba(var(--v-theme-primary), .12) !important;
}
html.glass-theme-liquid.glass-dark .v-menu .v-list-item--active {
  background: rgba(var(--v-theme-primary), .18) !important;
  background-color: rgba(var(--v-theme-primary), .18) !important;
}

/* tonal chip 文字色 */
html.glass-theme-liquid .v-chip--variant-tonal.text-primary {
  color: rgb(var(--v-theme-on-surface)) !important;
}
html.glass-theme-liquid .v-chip--variant-tonal.text-primary .v-chip__underlay {
  background-color: rgba(var(--v-theme-on-surface), 0.08) !important;
}


/* ================================================================
 * 移动端 temporary 导航栏
 * ================================================================ */

@media (max-width: 959px) {
  html.glass-theme-liquid.glass-light .v-navigation-drawer--temporary {
    background: rgba(255, 255, 255, 0.92) !important;
    background-color: rgba(255, 255, 255, 0.92) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  html.glass-theme-liquid.glass-dark .v-navigation-drawer--temporary {
    background: rgba(15, 17, 27, 0.92) !important;
    background-color: rgba(15, 17, 27, 0.92) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
}


/* ================================================================
 * 登录面板弧光
 * ================================================================ */

html.glass-theme-liquid .login-glass-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  pointer-events: none;
  background: radial-gradient(150% 42px at 50% -8px,
      var(--lg-sheen) 0%, transparent 72%);
}

/* 登录按钮实色 */
html.glass-theme-liquid .login-glass-panel .v-btn--variant-flat.v-btn--bg-primary {
  background: rgb(var(--v-theme-primary)) !important;
  color: #fff !important;
  box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, .45),
      inset 0 -1px 0 rgba(255, 255, 255, .15),
      0 10px 28px -10px rgb(var(--v-theme-primary)) !important;
}

/* 登录页输入框 hover */
html.glass-theme-liquid.glass-light .login-glass-panel .v-field--variant-outlined {
  background: rgba(255, 255, 255, .40) !important;
}
html.glass-theme-liquid.glass-dark .login-glass-panel .v-field--variant-outlined {
  background: rgba(28, 30, 52, .44) !important;
}


/* ================================================================
 * 字体
 * ================================================================ */

html.glass-theme-liquid {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text",
  "Segoe UI Variable Display", "Segoe UI", "PingFang SC", "HarmonyOS Sans SC",
  "Noto Sans SC", "Microsoft YaHei", sans-serif;
}

html.glass-theme-liquid h1,
html.glass-theme-liquid h2,
html.glass-theme-liquid h3,
html.glass-theme-liquid .v-card-title {
  font-weight: 600;
  letter-spacing: -.018em;
}


/* ================================================================
 * Tab 顶缘弧光伪元素
 * ================================================================ */

html.glass-theme-liquid .v-tab {
  position: relative;
  transition: background-color .2s var(--lg-ease), color .2s var(--lg-ease), box-shadow .28s var(--lg-ease) !important;
}

html.glass-theme-liquid .v-tab::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  pointer-events: none;
  background: radial-gradient(140% 15px at 50% -3px,
      var(--lg-sheen) 0%, transparent 72%);
}

html.glass-theme-liquid.glass-light .v-tab:not(.v-tab--selected):hover {
  background: rgba(255, 255, 255, .52) !important;
}

html.glass-theme-liquid.glass-dark .v-tab:not(.v-tab--selected):hover {
  background: rgba(28, 30, 52, .56) !important;
}

/* 筛选芯片 — 液态玻璃 hover */
html.glass-theme-liquid .filter-bar .v-chip {
  transition: background-color .2s var(--lg-ease), color .2s var(--lg-ease), box-shadow .28s var(--lg-ease) !important;
}


/* ================================================================
 * Sheet / Expansion Panel — 完整玻璃背景
 * ================================================================ */

html.glass-theme-liquid .v-sheet:not(.v-snackbar__wrapper) {
  box-shadow: var(--lg-rim), var(--lg-shadow) !important;
  border-radius: 22px !important;
}

html.glass-theme-liquid .v-expansion-panel {
  box-shadow: var(--lg-rim), var(--lg-shadow) !important;
  border-radius: 22px !important;
}

/* SnackBar 玻璃 */
html.glass-theme-liquid .v-snackbar__wrapper {
  box-shadow: var(--lg-rim-sm), var(--lg-shadow) !important;
}

/* Alert 玻璃 */
html.glass-theme-liquid .v-alert--variant-tonal {
  backdrop-filter: blur(10px) saturate(170%) !important;
  -webkit-backdrop-filter: blur(10px) saturate(170%) !important;
}

/* Search results / Sub-search */
html.glass-theme-liquid .search-results-box {
  backdrop-filter: blur(10px) saturate(170%) !important;
  -webkit-backdrop-filter: blur(10px) saturate(170%) !important;
}

/* liquid-avatar */
html.glass-theme-liquid .liquid-avatar {
  backdrop-filter: blur(10px) saturate(170%) !important;
  -webkit-backdrop-filter: blur(10px) saturate(170%) !important;
  transition: all .5s ease-out;
}

html.glass-theme-liquid .liquid-avatar:hover {
  box-shadow: 0 0 16px rgba(var(--v-theme-primary), 0.3) !important;
}


/* ================================================================
 * 页面标题
 * ================================================================ */

html.glass-theme-liquid .page-subtitle {
  font-weight: 500;
}


/* ================================================================
 * 日志终端配色
 * ================================================================ */

html.glass-theme-liquid .log-entry--error,
html.glass-theme-liquid .log-entry--critical {
  background: rgba(255, 55, 95, 0.08);
  border-radius: 4px;
}
html.glass-theme-liquid .log-entry--warning {
  background: rgba(255, 159, 10, 0.06);
  border-radius: 4px;
}

html.glass-theme-liquid.glass-light .log-entry--error,
html.glass-theme-liquid.glass-light .log-entry--critical {
  background: rgba(185, 28, 28, 0.06);
}
html.glass-theme-liquid.glass-light .log-entry--warning {
  background: rgba(194, 65, 12, 0.06);
}


/* ================================================================
 * 性能优化
 * ================================================================ */

/* 小屏降模糊 */
@media (max-width: 768px) {
  html.glass-theme-liquid {
    --lg-blur: 10px;
  }
}

/* 系统开了「减少透明度」 */
@media (prefers-reduced-transparency: reduce) {
  html.glass-theme-liquid {
    --lg-blur: 0px;
    --lg-rim: inset 0 0 0 1px var(--lg-border-strong);
    --lg-rim-sm: inset 0 0 0 1px var(--lg-border-strong);
    --lg-sheen: transparent;
  }

  html.glass-theme-liquid.glass-light {
    --lg-bg-page: #E8EBF5;
  }

  html.glass-theme-liquid.glass-dark {
    --lg-bg-page: #1A1B2E;
  }
}

/* 减少动画 */
@media (prefers-reduced-motion: reduce) {
  html.glass-theme-liquid body::before,
  html.glass-theme-liquid body::after {
    animation: none !important;
  }

  html.glass-theme-liquid .v-card,
  html.glass-theme-liquid .v-btn {
    transition: background-color .2s linear, color .2s linear !important;
  }

  html.glass-theme-liquid .v-card:hover,
  html.glass-theme-liquid .v-btn:hover,
  html.glass-theme-liquid .v-btn:active {
    transform: none !important;
  }
}


/* ================================================================
 * 移动端深度性能优化
 * ================================================================ */
@media (max-width: 960px) {
  /* 1. 降模糊 + 简化阴影 */
  html.glass-theme-liquid {
    --lg-blur: 6px;
    --lg-sat: 150%;
    --lg-shadow: 0 2px 8px -4px rgba(0, 0, 0, 0.15);
    --lg-shadow-lift: 0 4px 12px -6px rgba(0, 0, 0, 0.2);
  }

  /* 2. 简化折射带：6 层 inset → 1 层边框 */
  html.glass-theme-liquid {
    --lg-rim: inset 0 0 0 1px var(--lg-border-strong);
    --lg-rim-sm: inset 0 0 0 1px var(--lg-border-strong);
    --lg-sheen: transparent;
  }

  /* 3. 停止背景动画 */
  html.glass-theme-liquid body::before {
    filter: none !important;
    animation: none !important;
  }
  html.glass-theme-liquid body::after {
    animation: none !important;
  }

  /* 4. 卡片去掉 backdrop-filter */
  html.glass-theme-liquid .v-card,
  html.glass-theme-liquid .v-card--variant-elevated,
  html.glass-theme-liquid .v-card--variant-flat,
  html.glass-theme-liquid .v-card--variant-tonal {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  html.glass-theme-liquid.glass-light .v-card,
  html.glass-theme-liquid.glass-light .v-card--variant-elevated,
  html.glass-theme-liquid.glass-light .v-card--variant-flat,
  html.glass-theme-liquid.glass-light .v-card--variant-tonal {
    background: rgba(255, 255, 255, 0.72) !important;
    background-color: rgba(255, 255, 255, 0.72) !important;
  }
  html.glass-theme-liquid.glass-dark .v-card,
  html.glass-theme-liquid.glass-dark .v-card--variant-elevated,
  html.glass-theme-liquid.glass-dark .v-card--variant-flat,
  html.glass-theme-liquid.glass-dark .v-card--variant-tonal {
    background: rgba(28, 30, 52, 0.72) !important;
    background-color: rgba(28, 30, 52, 0.72) !important;
  }

  /* 5. 按钮去掉 backdrop-filter 和弧光伪元素 */
  html.glass-theme-liquid .v-btn {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  html.glass-theme-liquid .v-btn::before {
    display: none !important;
  }

  /* 6. 输入框 / 弹窗 / 其他组件去掉 backdrop-filter */
  html.glass-theme-liquid .v-text-field .v-field,
  html.glass-theme-liquid .v-textarea .v-field,
  html.glass-theme-liquid .v-select .v-field,
  html.glass-theme-liquid .v-combobox .v-field,
  html.glass-theme-liquid .v-autocomplete .v-field,
  html.glass-theme-liquid .v-dialog .v-overlay__content,
  html.glass-theme-liquid .v-dialog > .v-card,
  html.glass-theme-liquid .v-overlay .v-overlay__content,
  html.glass-theme-liquid .v-menu .v-overlay__content,
  html.glass-theme-liquid .v-expansion-panel,
  html.glass-theme-liquid .v-alert,
  html.glass-theme-liquid .v-chip,
  html.glass-theme-liquid .v-tooltip .v-overlay__content {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  /* 7. Tab 去掉弧光 */
  html.glass-theme-liquid .v-tab {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  html.glass-theme-liquid .v-tab::after {
    display: none !important;
  }

  /* 8. hover/active 变形去掉 */
  html.glass-theme-liquid .v-card:hover,
  html.glass-theme-liquid .v-btn:hover,
  html.glass-theme-liquid .v-btn:active,
  html.glass-theme-liquid .v-tab:hover,
  html.glass-theme-liquid .hover-lift:hover {
    transform: none !important;
  }

  /* 9. 弹窗动画简化 */
  html.glass-theme-liquid .dialog-transition-enter-active,
  html.glass-theme-liquid .dialog-transition-leave-active {
    transition: opacity .15s ease !important;
  }
  html.glass-theme-liquid .dialog-transition-enter-from,
  html.glass-theme-liquid .dialog-transition-leave-to {
    opacity: 0 !important;
    transform: none !important;
  }

  /* 10. Tab 滑动指示器动画简化 */
  html.glass-theme-liquid .v-tabs .v-slide-group__prev,
  html.glass-theme-liquid .v-tabs .v-slide-group__next,
  html.glass-theme-liquid .v-tabs .v-slide-group__content {
    transition: none !important;
  }

  /* 11. 卡片 / 芯片无过渡 */
  html.glass-theme-liquid .v-card,
  html.glass-theme-liquid .v-card--variant-elevated,
  html.glass-theme-liquid .v-card--variant-flat,
  html.glass-theme-liquid .v-card--variant-tonal {
    transition: none !important;
  }
  html.glass-theme-liquid .v-chip {
    transition: none !important;
  }
  html.glass-theme-liquid .v-list-item {
    transition: background-color .15s ease !important;
  }

  /* 12. 弹窗内 box-shadow 简化 */
  html.glass-theme-liquid .v-dialog .v-card,
  html.glass-theme-liquid .v-dialog .v-overlay__content {
    box-shadow: var(--lg-rim) !important;
    transition: none !important;
  }

  /* 13. 通配兜底：清除所有剩余 backdrop-filter */
  html.glass-theme-liquid * {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  /* 14. 图标按钮 */
  html.glass-theme-liquid .v-btn--icon {
    transition: background-color .15s ease, color .15s ease !important;
  }
  html.glass-theme-liquid .v-btn--icon:hover,
  html.glass-theme-liquid .v-btn--icon:active {
    transform: none !important;
  }

  /* 15. liquid-avatar */
  html.glass-theme-liquid .liquid-avatar {
    transition: background-color .15s ease, color .15s ease !important;
  }
  html.glass-theme-liquid .liquid-avatar:hover {
    box-shadow: none !important;
  }

  /* 16. expansion-panel 动画 */
  html.glass-theme-liquid .v-expansion-panel,
  html.glass-theme-liquid .v-expansion-panel-title,
  html.glass-theme-liquid .v-expansion-panel-text {
    transition: none !important;
  }

  /* 17. 导航滑动过渡 */
  html.glass-theme-liquid .v-navigation-drawer {
    transition: none !important;
  }

  /* 18. list-item 伪元素 */
  html.glass-theme-liquid .v-list-item::before {
    display: none !important;
  }

  /* 19. 搜索结果框纯色背景 */
  html.glass-theme-liquid.glass-light .search-results-box {
    background: rgba(255, 255, 255, 0.88) !important;
  }
  html.glass-theme-liquid.glass-dark .search-results-box {
    background: rgba(28, 30, 52, 0.88) !important;
  }

  /* 20. 登录面板纯色背景 */
  html.glass-theme-liquid.glass-light .login-glass-panel {
    background: rgba(255, 255, 255, 0.72) !important;
  }
  html.glass-theme-liquid.glass-dark .login-glass-panel {
    background: rgba(28, 30, 52, 0.72) !important;
  }

  /* 21. v-sheet / v-alert 纯色 */
  html.glass-theme-liquid.glass-light .v-sheet:not(.v-snackbar__wrapper),
  html.glass-theme-liquid.glass-light .v-alert--variant-tonal {
    background: rgba(255, 255, 255, 0.72) !important;
  }
  html.glass-theme-liquid.glass-dark .v-sheet:not(.v-snackbar__wrapper),
  html.glass-theme-liquid.glass-dark .v-alert--variant-tonal {
    background: rgba(28, 30, 52, 0.72) !important;
  }

  /* 22. contain 隔离重绘 */
  html.glass-theme-liquid .v-card,
  html.glass-theme-liquid .v-list,
  html.glass-theme-liquid .v-dialog .v-overlay__content {
    contain: layout paint style;
  }
}

/* ================================================================
 * Liquid 主题阴影预设覆盖
 * tokens.css 中的 html[data-theme-shadow='xxx'] 选择器在此主题下
 * 特异性可能不足以覆盖 html.glass-theme-liquid 直接定义的 --lg-shadow，
 * 因此需要组合选择器确保阴影预设对 Liquid 主题生效。
 * ================================================================ */

html.glass-theme-liquid[data-theme-shadow='none'] {
  --lg-shadow: none;
  --lg-shadow-lift: none;
}

html.glass-theme-liquid[data-theme-shadow='subtle'] {
  --lg-shadow: 0 2px 8px -4px rgba(31, 38, 135, 0.12);
  --lg-shadow-lift: 0 4px 12px -6px rgba(31, 38, 135, 0.16);
}

html.glass-theme-liquid[data-theme-shadow='prominent'] {
  --lg-shadow: 0 14px 42px -12px rgba(31, 38, 135, 0.38), 0 4px 12px -4px rgba(31, 38, 135, 0.22);
  --lg-shadow-lift: 0 28px 60px -14px rgba(31, 38, 135, 0.46), 0 6px 16px -6px rgba(31, 38, 135, 0.28);
}

html.glass-theme-liquid[data-theme-shadow='dramatic'] {
  --lg-shadow: 0 20px 56px -12px rgba(31, 38, 135, 0.46), 0 6px 16px -4px rgba(31, 38, 135, 0.28);
  --lg-shadow-lift: 0 36px 72px -14px rgba(31, 38, 135, 0.54), 0 8px 20px -6px rgba(31, 38, 135, 0.34);
}

/* ================================================================
 * Liquid 主题边框预设覆盖
 * tokens.css 中的 html[data-theme-border='xxx'] 选择器在此主题下
 * 特异性可能不足以覆盖 html.glass-theme-liquid 直接定义的 --lg-border，
 * 因此需要组合选择器确保边框预设对 Liquid 主题生效。
 * ================================================================ */

html.glass-theme-liquid[data-theme-border='none'] {
  --lg-border: transparent;
  --lg-border-strong: transparent;
}

html.glass-theme-liquid[data-theme-border='subtle'] {
  --lg-border: rgba(var(--v-theme-on-surface), 0.04);
  --lg-border-strong: rgba(var(--v-theme-on-surface), 0.06);
}

html.glass-theme-liquid[data-theme-border='prominent'] {
  --lg-border: rgba(var(--v-theme-on-surface), 0.14);
  --lg-border-strong: rgba(var(--v-theme-on-surface), 0.2);
}

html.glass-theme-liquid[data-theme-border='dramatic'] {
  --lg-border: rgba(var(--v-theme-on-surface), 0.22);
  --lg-border-strong: rgba(var(--v-theme-on-surface), 0.3);
}

/* 4.3 经典实色主题视觉风格（html.glass-theme-classic 激活） */
/**
 * theme-classic.css — 经典实色主题
 *
 * 通过 html.glass-theme-classic 激活。
 * 组件基础视觉由 tokens.css + visual.css 统一处理，
 * 此文件只保留经典实色专属效果：
 *   - Vuetify 主题变量
 *   - 侧边栏/顶栏边框
 *   - sticky-tabs 实色背景
 *   - 下拉列表项紧凑布局
 *   - 伪元素移除（::before / ::after）
 *   - 自定义类边框色覆盖（cards.css 等中的白色边框 → 合适色）
 *   - 详情页还原（移除 ACG 的黑色文字+白色描边）
 *   - 输入框 focus 实色边框
 *   - SnackBar 按钮颜色反转
 *   - 日志终端配色
 *   - 字体
 *   - 移动端优化
 */


/* ================================================================
 * 1. Vuetify 组件变量
 * ================================================================ */

html.glass-theme-classic .v-theme--light {
  --v-theme-surface: 255, 255, 255;
  --v-theme-surface-light: 255, 255, 255;
  --v-theme-surface-variant: 245, 245, 245;
  --v-theme-background: 255, 255, 255;
}

html.glass-theme-classic .v-theme--dark {
  --v-theme-surface: 30, 30, 30;
  --v-theme-surface-light: 30, 30, 30;
  --v-theme-surface-variant: 42, 42, 42;
  --v-theme-background: 18, 18, 18;
}


/* ================================================================
 * 2. 侧边栏 / 顶栏 — 边框线
 * ================================================================ */

html.glass-theme-classic.glass-light .v-navigation-drawer {
  border-right: 1px solid rgba(0, 0, 0, 0.08) !important;
}

html.glass-theme-classic.glass-dark .v-navigation-drawer {
  border-right: 1px solid rgba(255, 255, 255, 0.06) !important;
}

html.glass-theme-classic.glass-light .v-app-bar,
html.glass-theme-classic.glass-light .v-toolbar {
  border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
}

html.glass-theme-classic.glass-dark .v-app-bar,
html.glass-theme-classic.glass-dark .v-toolbar {
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
}


/* ================================================================
 * 3. Sticky Tabs — 实色背景 + 边框
 * ================================================================ */

html.glass-theme-classic.glass-light .sticky-tabs,
html.glass-theme-classic.glass-light .sticky-sub-tabs {
  background: var(--am-surface-bg) !important;
  background-color: var(--am-surface-bg) !important;
  border-bottom: 1px solid var(--am-divider-color) !important;
}

html.glass-theme-classic.glass-dark .sticky-tabs,
html.glass-theme-classic.glass-dark .sticky-sub-tabs {
  background: var(--am-body-bg) !important;
  background-color: var(--am-body-bg) !important;
  border-bottom: 1px solid var(--am-divider-color) !important;
}


/* ================================================================
 * 4. 下拉列表项 — hover/active 背景
 *    border-radius 和 margin 由 --am-list-item-* 令牌统一处理
 * ================================================================ */

html.glass-theme-classic.glass-light .v-menu .v-list-item:hover {
  background: rgba(0, 0, 0, 0.04) !important;
}

html.glass-theme-classic.glass-dark .v-menu .v-list-item:hover {
  background: rgba(255, 255, 255, 0.06) !important;
}

html.glass-theme-classic .v-menu .v-list-item--active {
  background: rgba(var(--v-theme-primary), 0.12) !important;
}


/* ================================================================
 * 5. 伪元素移除 — 按钮 / Tab 弧光
 * ================================================================ */

html.glass-theme-classic .v-btn::before {
  display: none !important;
}

html.glass-theme-classic .v-tab::after {
  display: none !important;
}

html.glass-theme-classic .login-glass-panel::before {
  display: none !important;
}


/* ================================================================
 * 6. 边框修复
 *    --am-surface-border 已设为 0.4 透明度可见边框。
 *    outlined 卡片和 filled/solo 输入框需要额外覆盖。
 *    自定义容器边框由 --am-content-border 令牌处理（同为 0.4 透明度）。
 * ================================================================ */

/* outlined 卡片 — 必须有可见边框 */
html.glass-theme-classic.glass-light .v-card--variant-outlined {
  border: 1px solid rgba(0, 0, 0, 0.4) !important;
}

html.glass-theme-classic.glass-dark .v-card--variant-outlined {
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
}

/* 搜索结果框 / sub-search 无边框无模糊 */
html.glass-theme-classic .search-results-box {
  border: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

html.glass-theme-classic .sub-search-results {
  border: none !important;
}


/* ================================================================
 * 7. 详情页还原 — 移除 ACG 的黑色文字+白色描边
 * ================================================================ */

html.glass-theme-classic .tmdb-detail-view .v-chip,
html.glass-theme-classic .tmdb-detail-view .v-chip .v-chip__content,
html.glass-theme-classic .bangumi-detail-view .v-chip,
html.glass-theme-classic .bangumi-detail-view .v-chip .v-chip__content,
html.glass-theme-classic .person-detail-view .v-chip,
html.glass-theme-classic .person-detail-view .v-chip .v-chip__content {
  color: rgb(var(--v-theme-on-surface)) !important;
  font-weight: 600 !important;
  -webkit-text-stroke: 0 !important;
  text-shadow: none !important;
}

html.glass-theme-classic .tmdb-detail-view .v-btn,
html.glass-theme-classic .bangumi-detail-view .v-btn {
  color: inherit !important;
  border: none !important;
  -webkit-text-stroke: 0 !important;
  text-shadow: none !important;
}

html.glass-theme-classic .tmdb-detail-view .v-btn .v-icon,
html.glass-theme-classic .bangumi-detail-view .v-btn .v-icon {
  color: inherit !important;
}

html.glass-theme-classic .tmdb-detail-view .v-btn--variant-flat.bg-primary,
html.glass-theme-classic .tmdb-detail-view .v-btn--variant-flat.v-btn--bg-primary,
html.glass-theme-classic .tmdb-detail-view .v-btn--variant-flat.text-primary,
html.glass-theme-classic .bangumi-detail-view .v-btn--variant-flat.bg-primary,
html.glass-theme-classic .bangumi-detail-view .v-btn--variant-flat.v-btn--bg-primary,
html.glass-theme-classic .bangumi-detail-view .v-btn--variant-flat.text-primary {
  color: #fff !important;
  -webkit-text-stroke: 0 !important;
}

html.glass-theme-classic .tmdb-detail-view .v-btn--variant-tonal.text-info,
html.glass-theme-classic .tmdb-detail-view .v-btn--variant-tonal.v-btn--bg-info,
html.glass-theme-classic .bangumi-detail-view .v-btn--variant-tonal.text-info,
html.glass-theme-classic .bangumi-detail-view .v-btn--variant-tonal.v-btn--bg-info {
  color: inherit !important;
  -webkit-text-stroke: 0 !important;
}

/* 追剧日历 / 季度番剧表 下拉框还原 */
html.glass-theme-classic .calendar-view .v-field,
html.glass-theme-classic .seasonal-tab .v-field {
  color: inherit !important;
  border: none !important;
  -webkit-text-stroke: 0 !important;
  text-shadow: none !important;
}

html.glass-theme-classic .calendar-view .v-field .v-field__input,
html.glass-theme-classic .calendar-view .v-field .v-label,
html.glass-theme-classic .seasonal-tab .v-field .v-field__input,
html.glass-theme-classic .seasonal-tab .v-field .v-label {
  -webkit-text-stroke: 0 !important;
}

html.glass-theme-classic.glass-light .calendar-view .v-field .v-field__input,
html.glass-theme-classic.glass-light .calendar-view .v-field .v-label,
html.glass-theme-classic.glass-light .calendar-view .v-field .v-icon,
html.glass-theme-classic.glass-light .seasonal-tab .v-field .v-field__input,
html.glass-theme-classic.glass-light .seasonal-tab .v-field .v-label,
html.glass-theme-classic.glass-light .seasonal-tab .v-field .v-icon {
  color: rgba(0, 0, 0, 0.87) !important;
}

html.glass-theme-classic.glass-dark .calendar-view .v-field .v-field__input,
html.glass-theme-classic.glass-dark .calendar-view .v-field .v-label,
html.glass-theme-classic.glass-dark .calendar-view .v-field .v-icon,
html.glass-theme-classic.glass-dark .seasonal-tab .v-field .v-field__input,
html.glass-theme-classic.glass-dark .seasonal-tab .v-field .v-label,
html.glass-theme-classic.glass-dark .seasonal-tab .v-field .v-icon {
  color: rgba(255, 255, 255, 0.90) !important;
}


/* ================================================================
 * 8. 输入框 focus — 实色边框高亮
 * ================================================================ */

html.glass-theme-classic .v-field--variant-outlined.v-field--focused {
  box-shadow: 0 0 0 1px rgb(var(--v-theme-primary)) !important;
}

html.glass-theme-classic .v-field--variant-outlined.v-field--focused .v-field__outline {
  --v-field-border-opacity: 1 !important;
  color: rgb(var(--v-theme-primary)) !important;
}

html.glass-theme-classic .v-autocomplete .v-field--variant-outlined.v-field--focused,
html.glass-theme-classic .v-combobox .v-field--variant-outlined.v-field--focused {
  box-shadow: 0 0 0 1px rgb(var(--v-theme-primary)) !important;
}

/* filled / solo 边框 */
html.glass-theme-classic.glass-light .v-field--variant-filled,
html.glass-theme-classic.glass-light .v-field--variant-solo,
html.glass-theme-classic.glass-light .v-field--variant-solo-filled {
  border: 1px solid rgba(0, 0, 0, 0.4) !important;
}

html.glass-theme-classic.glass-dark .v-field--variant-filled,
html.glass-theme-classic.glass-dark .v-field--variant-solo,
html.glass-theme-classic.glass-dark .v-field--variant-solo-filled {
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
}


/* ================================================================
 * 9. SnackBar 按钮颜色反转
 * ================================================================ */

html.glass-theme-classic.glass-light .v-snackbar__wrapper .v-btn {
  color: rgba(255, 255, 255, 0.90) !important;
}

html.glass-theme-classic.glass-dark .v-snackbar__wrapper .v-btn {
  color: rgba(0, 0, 0, 0.87) !important;
}


/* ================================================================
 * 10. 登录按钮 — 无阴影
 * ================================================================ */

html.glass-theme-classic .login-glass-panel .v-btn--variant-flat.v-btn--bg-primary {
  background: rgb(var(--v-theme-primary)) !important;
  color: #fff !important;
  box-shadow: none !important;
}

html.glass-theme-classic .login-glass-panel .v-field--variant-outlined {
  background: var(--am-login-field-bg) !important;
}


/* ================================================================
 * 11. 日志终端配色
 * ================================================================ */

html.glass-theme-classic .log-entry--error,
html.glass-theme-classic .log-entry--critical {
  background: rgba(255, 55, 95, 0.08);
  border-radius: 4px;
}
html.glass-theme-classic .log-entry--warning {
  background: rgba(255, 159, 10, 0.06);
  border-radius: 4px;
}

html.glass-theme-classic.glass-light .log-entry--error,
html.glass-theme-classic.glass-light .log-entry--critical {
  background: rgba(185, 28, 28, 0.06);
}
html.glass-theme-classic.glass-light .log-entry--warning {
  background: rgba(194, 65, 12, 0.06);
}


/* ================================================================
 * 12. 字体
 * ================================================================ */

html.glass-theme-classic {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
    "HarmonyOS Sans SC", "Noto Sans SC", "Microsoft YaHei", sans-serif;
}

html.glass-theme-classic h1,
html.glass-theme-classic h2,
html.glass-theme-classic h3,
html.glass-theme-classic .v-card-title {
  font-weight: 600;
  letter-spacing: normal;
}

html.glass-theme-classic .page-subtitle {
  font-weight: 500;
}


/* ================================================================
 * 13. 移动端优化
 * ================================================================ */

@media (max-width: 960px) {
  html.glass-theme-classic .hover-lift:hover,
  html.glass-theme-classic .v-card--link:hover {
    transform: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html.glass-theme-classic .hover-lift:hover {
    transform: none !important;
  }
}
