/* My Calculator Frontend Styles */
.my-calculator-container {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    line-height: 1.6;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .my-calculator-container .container {
        /* padding: 0 1rem; */
    }
    
    .my-calculator-container .grid-cols-2 {
        grid-template-columns: 1fr;
    }
    
    .my-calculator-container .tab-button {
        padding: 1rem 1.5rem;
        font-size: 0.875rem;
    }
    
    .my-calculator-container .p-6 {
        padding: 1rem;
    }
}

/* Custom scrollbar for textarea */
.my-calculator-container textarea::-webkit-scrollbar {
    width: 8px;
}

.my-calculator-container textarea::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.1);
    border-radius: 4px;
}

.my-calculator-container textarea::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.3);
    border-radius: 4px;
}

.my-calculator-container textarea::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.5);
}

/* Animation for result container */
.my-calculator-container #result-container {
    animation: fadeIn 0.3s ease-in-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Button hover effects */
.my-calculator-container button {
    transition: all 0.2s ease-in-out;
}

.my-calculator-container button:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.my-calculator-container button:active {
    transform: translateY(0);
}

/* Focus styles for accessibility */
.my-calculator-container input:focus,
.my-calculator-container textarea:focus,
.my-calculator-container select:focus,
.my-calculator-container button:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.5);
}

/* Loading state */
.my-calculator-container .loading {
    opacity: 0.7;
    pointer-events: none;
}

.my-calculator-container .loading button {
    cursor: not-allowed;
}

/* Error state */
.my-calculator-container .error input,
.my-calculator-container .error textarea {
    border-color: #ef4444;
    box-shadow: 0 0 0 1px #ef4444;
}

/* Success state */
.my-calculator-container .success {
    animation: pulse 0.5s ease-in-out;
}

@keyframes pulse {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.02);
    }
    100% {
        transform: scale(1);
    }
}

/* Dark theme adjustments */
.my-calculator-container.theme-dark {
    color-scheme: dark;
}

.my-calculator-container.theme-dark input,
.my-calculator-container.theme-dark textarea,
.my-calculator-container.theme-dark select {
    color-scheme: dark;
}

/* Light theme adjustments */
.my-calculator-container.theme-light {
    color-scheme: light;
}

.my-calculator-container.theme-light input,
.my-calculator-container.theme-light textarea,
.my-calculator-container.theme-light select {
    color-scheme: light;
    background: rgba(255, 255, 255, 0.8);
    border-color: rgba(0, 0, 0, 0.2);
}

.my-calculator-container.theme-light .bg-indigo-500 {
    background-color: #4f46e5;
}

.my-calculator-container.theme-light .bg-red-500 {
    background-color: #ef4444;
}

/* Modern theme */
.my-calculator-container.theme-modern {
    --primary-color: #667eea;
    --secondary-color: #764ba2;
}

.my-calculator-container.theme-modern .bg-indigo-500 {
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
}

.my-calculator-container.theme-modern .bg-red-500 {
    background: linear-gradient(135deg, #ff6b6b, #ee5a52);
}

/* Print styles */
@media print {
    .my-calculator-container {
        background: white !important;
        color: black !important;
    }
    
    .my-calculator-container .min-h-screen {
        background: white !important;
        min-height: auto !important;
        padding: 1rem !important;
    }
    
    .my-calculator-container .bg-white\/10 {
        background: white !important;
        border: 1px solid #ccc !important;
    }
    
    .my-calculator-container button {
        display: none !important;
    }
}

/* High contrast mode */
@media (prefers-contrast: high) {
    .my-calculator-container {
        --border-color: #000;
        --text-color: #000;
        --bg-color: #fff;
    }
    
    .my-calculator-container input,
    .my-calculator-container textarea,
    .my-calculator-container select {
        border: 2px solid var(--border-color);
        background: var(--bg-color);
        color: var(--text-color);
    }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .my-calculator-container * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
} 

.w-4 {
    width: 1rem;
}
.h-4 {
    height: 1rem;
}
.shadow-lg {
    --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.text-white {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.font-medium {
    font-weight: 500;
}
	.text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
}
.py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem;
}
.px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}
.to-purple-600 {
    --tw-gradient-to: #9333ea var(--tw-gradient-to-position);
}
.from-indigo-600 {
    --tw-gradient-from: #4f46e5 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(79 70 229 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.bg-gradient-to-r {
    background-image: linear-gradient(to right, var(--tw-gradient-stops));
}
	.text-gray-600 {
    --tw-text-opacity: 1;
    color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}
.font-medium {
    font-weight: 500;
}
.bg-indigo-500 {
    --tw-bg-opacity: 1;
    background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
}
.space-y-6 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}
.bg-red-500 {
    --tw-bg-opacity: 1;
    background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}
	.max-w-3xl {
    max-width: 60rem;
}
	.py-12 {
    padding-top: 3rem;
    padding-bottom: 3rem;
}
.px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
}
.text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
}
.py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem;
}
.px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}
.bg-gray-300 {
    --tw-bg-opacity: 1;
    background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
}
.w-full {
    width: 100%;
}
	.py-20 {
    padding-top: 10rem;
}