body {
    font-family: 'Plus Jakarta Sans', sans-serif;
    background-color: #FDFBF7;
    background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 0l15 15-15 15-15-15zM0 30l15 15-15 15L-15 45zM60 30l15 15-15 15-15-15zM30 60l15 15-15 15-15-15z' fill='%23C84B31' fill-opacity='0.03' fill-rule='evenodd'/%3E%3C/svg%3E");
    transition: background-color 0.3s ease, color 0.3s ease;
}

.dark body {
    background-color: #08080C;
    background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 0l15 15-15 15-15-15zM0 30l15 15-15 15L-15 45zM60 30l15 15-15 15-15-15zM30 60l15 15-15 15-15-15z' fill='%23FF6B35' fill-opacity='0.07' fill-rule='evenodd'/%3E%3C/svg%3E");
}

h1, h2, h3, h4 {
    font-family: 'Rozha One', serif;
}

.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
    display: inline-block;
    vertical-align: middle;
}

/* Indic Futurism Card Aesthetics */
.light-arch {
    border-radius: 40px 40px 12px 12px;
}

.dark-sharp {
    border-radius: 4px;
}

/* Dynamic Card Theming */
.theme-card-outer {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.theme-card-outer:hover {
    transform: translateY(-6px);
}

.theme-card-voter {
    aspect-ratio: 2 / 3;
    perspective: 1000px;
}

/* 3D Flip Card Effect */
.card-inner {
    width: 100%;
    height: 100%;
    position: relative;
    transform-style: preserve-3d;
    transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
}

.card-flipped .card-inner {
    transform: rotateY(180deg);
}

.card-face {
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    border-radius: inherit;
}

.card-back {
    transform: rotateY(180deg);
}

/* Golden Jali Card Back Pattern */
.jali-card-back {
    background-image: url("data:image/svg+xml,%3Csvg width='30' height='30' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 0l15 15-15 15-15-15zM0 30l15 15-15 15L-15 45zM60 30l15 15-15 15-15-15zM30 60l15 15-15 15-15-15z' fill='%23C84B31' fill-opacity='0.22' fill-rule='evenodd'/%3E%3C/svg%3E");
    background-color: #FDFBF7;
    border: 2.5px solid #C84B31;
    box-shadow: 0 4px 12px rgba(200, 75, 49, 0.12);
}

.dark .jali-card-back {
    background-image: url("data:image/svg+xml,%3Csvg width='30' height='30' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 0l15 15-15 15-15-15zM0 30l15 15-15 15L-15 45zM60 30l15 15-15 15-15-15zM30 60l15 15-15 15-15-15z' fill='%23FF6B35' fill-opacity='0.35' fill-rule='evenodd'/%3E%3C/svg%3E");
    background-color: #12131C;
    border: 2.5px solid #FF6B35;
    box-shadow: 0 0 12px rgba(255, 107, 53, 0.25);
}

/* Focus Ring overrides */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible {
    outline: 2px solid #C84B31;
    outline-offset: 2px;
}

.dark a:focus-visible, .dark button:focus-visible, .dark input:focus-visible, .dark select:focus-visible {
    outline-color: #00F0FF;
    box-shadow: 0 0 0 3px rgba(0, 240, 255, 0.2);
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}
::-webkit-scrollbar-track {
    background: transparent;
}
::-webkit-scrollbar-thumb {
    background-color: #C84B3140;
    border-radius: 20px;
}
.dark ::-webkit-scrollbar-thumb {
    background-color: #FF6B3540;
}

/* Interactive Card Selection Transitions */
.estimation-card {
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.estimation-card:hover {
    transform: translateY(-8px) scale(1.03);
}

/* Toast Container */
#toast-container {
    z-index: 100;
}
