/* 动画效果 */
    @keyframes futuristicGlow {
        0% { text-shadow: 0 0 10px rgba(6, 182, 212, 0.5); }
        50% { text-shadow: 0 0 20px rgba(6, 182, 212, 0.8); }
        100% { text-shadow: 0 0 10px rgba(6, 182, 212, 0.5); }
    }

    @keyframes winGlow {
        0% { transform: scale(1); }
        50% { transform: scale(1.2); }
        100% { transform: scale(1); }
    }

    @keyframes lossZap {
        0% { transform: rotate(0deg); }
        25% { transform: rotate(-15deg); }
        75% { transform: rotate(15deg); }
        100% { transform: rotate(0deg); }
    }

    @keyframes pendingOrbit {
        0% { transform: rotate(0deg); }
        100% { transform: rotate(360deg); }
    }

    /* 小点动画 */
    .small-dot {
        position: absolute;
        width: 4px;
        height: 4px;
        background: rgba(6, 182, 212, 0.5);
        border-radius: 50%;
        animation: dotPulse 2s infinite;
    }

    @keyframes dotPulse {
        0% { transform: scale(1); opacity: 0.5; }
        50% { transform: scale(1.5); opacity: 0.8; }
        100% { transform: scale(1); opacity: 0.5; }
    }

    /* 卡片样式 */
    .card {
        position: relative;
        background: rgba(255, 255, 255, 0.95);
        border-radius: 15px;
        box-shadow: 0 8px 32px rgba(6, 182, 212, 0.1);
        backdrop-filter: blur(10px);
        border: 1px solid rgba(6, 182, 212, 0.2);
    }

    .dashboard-card {
        background: rgba(255, 255, 255, 0.9);
        padding: 15px;
        border-radius: 10px;
        box-shadow: 0 4px 15px rgba(6, 182, 212, 0.08);
        border: 1px solid rgba(6, 182, 212, 0.15);
        transition: transform 0.2s;
    }

    .dashboard-card:hover {
        transform: translateY(-2px);
    }

    .history-item {
        background: rgba(255, 255, 255, 0.95);
        padding: 15px;
        margin-bottom: 10px;
        border-radius: 10px;
        box-shadow: 0 4px 15px rgba(6, 182, 212, 0.05);
        border: 1px solid rgba(6, 182, 212, 0.1);
        transition: transform 0.2s;
    }

    .history-item:hover {
        transform: translateX(5px);
    }

    .navigation {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        background: rgba(255, 255, 255, 0.95);
        backdrop-filter: blur(10px);
        border-top: 1px solid rgba(6, 182, 212, 0.2);
        z-index: 1000;
        padding: 0 8px;
        transition: all 0.3s ease;
    }

    .dark .navigation {
        background: rgba(17, 24, 39, 0.95);
        border-top: 1px solid rgba(6, 182, 212, 0.3);
    }

    .nav-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 8px 12px;
        text-decoration: none;
        transition: all 0.3s;
        min-width: 60px;
        position: relative;
        overflow: hidden;
    }

    .nav-item::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 50%;
        width: 0;
        height: 3px;
        background: #06b6d4;
        transition: all 0.3s ease;
        transform: translateX(-50%);
    }

    .nav-item.active::after {
        width: 100%;
    }

    .nav-item i {
        transition: all 0.3s ease;
        transform: translateY(0);
    }

    .nav-item.active i {
        transform: translateY(-5px);
        animation: navIconBounce 0.5s ease;
    }

    @keyframes navIconBounce {
        0% { transform: translateY(0); }
        50% { transform: translateY(-8px); }
        100% { transform: translateY(-5px); }
    }

    /* Dark mode styles */
    .dark {
        background-color: #111827;
        color: #f3f4f6;
    }

    .dark .card {
        background: rgba(31, 41, 55, 0.95);
        border-color: rgba(6, 182, 212, 0.3);
    }

    .dark .dashboard-card {
        background: rgba(31, 41, 55, 0.9);
        border-color: rgba(6, 182, 212, 0.25);
    }

    .dark .text-cyan-500 {
        color: #06b6d4;
    }

    .dark .text-gray-400 {
        color: #9ca3af;
    }

    .dark .bg-cyan-50 {
        background-color: rgba(6, 182, 212, 0.1);
    }

    .dark .text-cyan-700 {
        color: #06b6d4;
    }

    .dark .text-cyan-600 {
        color: #06b6d4;
    }

    .dark .bg-cyan-100 {
        background-color: rgba(6, 182, 212, 0.2);
    }

    /* Home section dark mode styles */
    .dark .period-result-card {
        background: rgba(31, 41, 55, 0.98);
        border-color: rgba(6, 182, 212, 0.3);
    }

    .dark .period-result-box {
        background: rgba(31, 41, 55, 0.9);
    }

    .dark .period-result-box p {
        color: #f3f4f6;
    }

    .dark .period-result-box h2 {
        color: #06b6d4;
    }

    .dark .period-result-box i {
        color: #06b6d4;
    }

    /* History section dark mode styles - keeping status icons in original colors */
    .dark .history-item {
        background: rgba(31, 41, 55, 0.95);
        border-color: rgba(6, 182, 212, 0.2);
    }

    .dark .history-item:hover {
        background: rgba(31, 41, 55, 0.98);
        transform: translateX(5px);
    }

    .dark .history-item .period-value {
        color: #f3f4f6;
    }

    .dark .history-item .prediction-value {
        color: #f3f4f6;
    }

    .dark .history-item .text-cyan-600 {
        color: #06b6d4;
    }

    .dark .history-item .text-cyan-800 {
        color: #06b6d4;
    }

    .dark .history-item .bg-cyan-100 {
        background-color: rgba(6, 182, 212, 0.2);
    }

    /* Status icons - keeping original colors in dark mode */
    .dark .history-item .status-icon {
        background-color: rgba(255, 255, 255, 0.1);
    }

    .dark .history-item .status-icon i {
        color: inherit !important;
    }

    .dark .history-item .win-animation i {
        color: #10b981 !important;
    }

    .dark .history-item .loss-animation i {
        color: #ef4444 !important;
    }

    .dark .history-item .pending-animation i {
        color: #f59e0b !important;
    }

    /* Status icon backgrounds - keeping original colors in dark mode */
    .dark .history-item .bg-green-100 {
        background-color: rgba(16, 185, 129, 0.1) !important;
    }

    .dark .history-item .bg-red-100 {
        background-color: rgba(239, 68, 68, 0.1) !important;
    }

    .dark .history-item .bg-yellow-100 {
        background-color: rgba(245, 158, 11, 0.1) !important;
    }

    /* Confidence meter dark mode styles */
    .dark .confidence-meter {
        background: rgba(6, 182, 212, 0.1);
    }

    .dark .confidence-fill {
        background: linear-gradient(90deg, #06b6d4, #0891b2);
    }

    /* Server status dark mode styles */
    .dark .server-status-indicator {
        background-color: #06b6d4;
    }

    .dark .server-status-text {
        color: #f3f4f6;
    }

    /* Dashboard stats dark mode styles */
    .dark .dashboard-stats p {
        color: #f3f4f6;
    }

    .dark .dashboard-stats .text-cyan-600 {
        color: #06b6d4;
    }

    .dark .dashboard-stats .text-cyan-800 {
        color: #06b6d4;
    }

    /* Small dots animation dark mode styles */
    .dark .small-dot {
        background: rgba(6, 182, 212, 0.3);
    }

    .content-section {
        display: none;
    }

    .content-section.active {
        display: block;
    }

    .pulse-animation {
        animation: futuristicGlow 2s infinite;
    }

    .win-animation {
        animation: winGlow 1.5s infinite;
    }

    .loss-animation {
        animation: lossZap 0.8s infinite;
    }

    .pending-animation {
        animation: pendingOrbit 2s linear infinite;
    }

    .confidence-meter {
        width: 100%;
        height: 8px;
        background: rgba(6, 182, 212, 0.1);
        border-radius: 4px;
        overflow: hidden;
        margin: 8px 0;
    }

    .confidence-fill {
        height: 100%;
        background: linear-gradient(90deg, #06b6d4, #0891b2);
        border-radius: 4px;
        transition: width 0.3s ease;
    }

    @keyframes draw {
        0% { stroke-dashoffset: 1000; }
        50% { stroke-dashoffset: 0; }
        100% { stroke-dashoffset: -1000; }
    }

    .mode-toggle {
        position: relative;
        display: inline-block;
        width: 60px;
        height: 30px;
    }

    .mode-toggle input {
        opacity: 0;
        width: 0;
        height: 0;
    }

    .mode-slider {
        position: absolute;
        cursor: pointer;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #ccc;
        transition: .4s;
        border-radius: 34px;
    }

    .mode-slider:before {
        position: absolute;
        content: "";
        height: 22px;
        width: 22px;
        left: 4px;
        bottom: 4px;
        background-color: white;
        transition: .4s;
        border-radius: 50%;
    }

    .mode-toggle input:checked + .mode-slider {
        background-color: #06b6d4;
    }

    .mode-toggle input:checked + .mode-slider:before {
        transform: translateX(30px);
    }

    .mode-icons {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: 100%;
        display: flex;
        justify-content: space-between;
        padding: 0 8px;
        pointer-events: none;
    }

    .mode-icons i {
        color: white;
        font-size: 12px;
    }

    /* Custom Scrollbar Styles */
    ::-webkit-scrollbar {
        width: 8px;
        height: 8px;
    }

    ::-webkit-scrollbar-track {
        background: rgba(6, 182, 212, 0.1);
        border-radius: 4px;
    }

    ::-webkit-scrollbar-thumb {
        background: rgba(6, 182, 212, 0.3);
        border-radius: 4px;
        transition: all 0.3s ease;
    }

    ::-webkit-scrollbar-thumb:hover {
        background: rgba(6, 182, 212, 0.5);
    }

    /* Dark mode scrollbar styles */
    .dark ::-webkit-scrollbar-track {
        background: rgba(6, 182, 212, 0.05);
    }

    .dark ::-webkit-scrollbar-thumb {
        background: rgba(6, 182, 212, 0.2);
    }

    .dark ::-webkit-scrollbar-thumb:hover {
        background: rgba(6, 182, 212, 0.4);
    }

    /* Firefox scrollbar styles */
    * {
        scrollbar-width: thin;
        scrollbar-color: rgba(6, 182, 212, 0.3) rgba(6, 182, 212, 0.1);
    }

    .dark * {
        scrollbar-color: rgba(6, 182, 212, 0.2) rgba(6, 182, 212, 0.05);
    }

    /* Home section period and prediction dark mode styles */
    .dark .card.mb-4.overflow-hidden.gradient-bg.animate__animated.animate__zoomIn.relative {
        background: rgba(31, 41, 55, 0.95);
        border-color: rgba(6, 182, 212, 0.3);
    }

    .dark .bg-white.bg-opacity-95.p-6.rounded-lg.pulse-animation {
        background: rgba(31, 41, 55, 0.95) !important;
    }

    .dark .text-2xl.font-semibold.text-cyan-700.bg-cyan-50.p-3.rounded-lg.shadow-inner {
        background: rgba(6, 182, 212, 0.1) !important;
        color: #f3f4f6 !important;
    }

    .dark .text-cyan-500.text-sm {
        color: #06b6d4 !important;
    }

    .dark .text-cyan-700.text-sm.mt-1 {
        color: #06b6d4 !important;
    }

    .dark .text-cyan-600 {
        color: #06b6d4 !important;
    }

    .dark .text-cyan-800 {
        color: #06b6d4 !important;
    }

    .dark .text-yellow-500.animate-pulse {
        color: #f59e0b !important;
    }

    .dark .text-red-500.animate-pulse {
        color: #ef4444 !important;
    }

    .dark .confidence-meter {
        background: rgba(6, 182, 212, 0.1) !important;
    }

    .dark .confidence-fill {
        background: linear-gradient(90deg, #06b6d4, #0891b2) !important;
    }

    .dark .period-id {
        color: #f3f4f6 !important;
    }

    .dark .text-cyan-700.bg-cyan-50 {
        background: rgba(6, 182, 212, 0.1) !important;
        color: #f3f4f6 !important;
    }

    .dark .shadow-inner {
        box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.2) !important;
    }

    /* Language selector dark mode styles */
    .dark select#languageSelect {
        background-color: rgba(31, 41, 55, 0.95) !important;
        color: #f3f4f6 !important;
        border-color: rgba(6, 182, 212, 0.3) !important;
    }

    .dark select#languageSelect option {
        background-color: rgba(31, 41, 55, 0.95) !important;
        color: #f3f4f6 !important;
    }

    .dark select#languageSelect:focus {
        border-color: #06b6d4 !important;
        box-shadow: 0 0 0 2px rgba(6, 182, 212, 0.2) !important;
    }

    /* Ensure the select arrow is visible in dark mode */
    .dark select#languageSelect {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2306b6d4'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E") !important;
        background-repeat: no-repeat !important;
        background-position: right 0.5rem center !important;
        background-size: 1.5em 1.5em !important;
        padding-right: 2.5rem !important;
        -webkit-appearance: none !important;
        -moz-appearance: none !important;
        appearance: none !important;
    }

    /* Chart containers 美化 */
    .chart-container-pie {
        box-shadow: 0 4px 16px 0 rgba(6,182,212,0.10), 0 1.5px 4px 0 rgba(6,182,212,0.08);
        border-radius: 1rem;
        background: linear-gradient(135deg, #f0fdfa 0%, #e0f2fe 100%);
        transition: box-shadow 0.3s;
    }
    .chart-container-pie:hover {
        box-shadow: 0 8px 24px 0 rgba(6,182,212,0.18), 0 2px 8px 0 rgba(6,182,212,0.12);
    }
    .chart-container-line {
        box-shadow: 0 4px 16px 0 rgba(6,182,212,0.10), 0 1.5px 4px 0 rgba(6,182,212,0.08);
        border-radius: 1rem;
        background: linear-gradient(135deg, #f0fdfa 0%, #e0f2fe 100%);
        transition: box-shadow 0.3s;
    }
    .chart-container-line:hover {
        box-shadow: 0 8px 24px 0 rgba(6,182,212,0.18), 0 2px 8px 0 rgba(6,182,212,0.12);
    }
    .dark .chart-container-pie, .dark .chart-container-line {
        background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
    }
    /* Chart.js legend 美化 */
    .chartjs-render-monitor + .chartjs-legend {
        margin-top: 0.5rem;
        text-align: center;
    }
    /* Chart canvas 美化 */
    #performanceChart, #lineChart {
        background: transparent;
        border-radius: 0.75rem;
    }

    #customConfirm .dark & {
        background: #1e293b !important;
        color: #f3f4f6 !important;
    }
    #customConfirm > div {
        transition: background 0.2s, color 0.2s;
    }
    #customConfirm .dark button#customConfirmNo {
        background: #374151 !important;
        color: #f3f4f6 !important;
    }
    .switch-toggle {
      position: relative;
      display: inline-block;
      width: 48px;
      height: 26px;
      margin-left: 10px;
      vertical-align: middle;
    }
    .switch-toggle input {
      opacity: 0;
      width: 0;
      height: 0;
    }
    .slider-toggle {
      position: absolute;
      cursor: pointer;
      top: 0; left: 0; right: 0; bottom: 0;
      background-color: #e5e7eb;
      transition: .4s;
      border-radius: 26px;
    }
    .slider-toggle:before {
      position: absolute;
      content: "";
      height: 20px;
      width: 20px;
      left: 3px;
      bottom: 3px;
      background-color: #fff;
      transition: .4s;
      border-radius: 50%;
      box-shadow: 0 1px 4px rgba(0,0,0,0.12);
    }
    .switch-toggle input:checked + .slider-toggle {
      background-color: #06b6d4;
    }
    .switch-toggle input:checked + .slider-toggle:before {
      transform: translateX(22px);
      background-color: #38bdf8;
    }
    .dark .slider-toggle {
      background-color: #374151;
    }
    .dark .switch-toggle input:checked + .slider-toggle {
      background-color: #38bdf8;
    }
    .dark .switch-toggle input:checked + .slider-toggle:before {
      background-color: #1e293b;
    }
    .chart-container-bar,
    .chart-container-trend {
        box-shadow: 0 4px 16px 0 rgba(6,182,212,0.10), 0 1.5px 4px 0 rgba(6,182,212,0.08);
        border-radius: 1rem;
        background: linear-gradient(135deg, #f0fdfa 0%, #e0f2fe 100%);
        transition: box-shadow 0.3s;
    }
    .chart-container-bar:hover,
    .chart-container-trend:hover {
        box-shadow: 0 8px 24px 0 rgba(6,182,212,0.18), 0 2px 8px 0 rgba(6,182,212,0.12);
    }
    .dark .chart-container-bar,
    .dark .chart-container-trend {
        background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
    }