/**
 * AI Stock Analysis System - Main Styles
 * 
 * This file contains the main CSS styles for the AI stock analysis system.
 * It includes Tailwind CSS imports, custom fonts, and base styles.
 * 
 * @author AI Stock Analysis System
 * @version 1.0.0
 */

/* Tailwind CSS Base Styles */
@tailwind base;
@tailwind components;
@tailwind utilities;

/* Custom Fonts */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;600;700&display=swap');

/* Font Awesome Icons */
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css');

/* Base Styles */
* {
    box-sizing: border-box;
}

body {
    font-family: 'Noto Sans JP', sans-serif;
    line-height: 1.6;
    color: #374151;
    margin: 0;
    padding: 0;
}

/* Custom Animations */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slideIn {
    from {
        transform: translateX(-100%);
    }
    to {
        transform: translateX(0);
    }
}

@keyframes pulse {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.5;
    }
}

/* Utility Classes */
.animate-fadeIn {
    animation: fadeIn 0.6s ease-out;
}

.animate-slideIn {
    animation: slideIn 0.5s ease-out;
}

.animate-pulse {
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 6px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
    background: #0066cc;
    border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
    background: #003366;
}

/* Focus States */
.focus\:ring-aiBlue:focus {
    --tw-ring-color: #0066cc;
}

/* Hover Effects */
.hover\:bg-aiDarkBlue:hover {
    background-color: #003366;
}

.hover\:bg-\[#05B54A\]:hover {
    background-color: #05B54A;
}

/* Transition Effects */
.transition-all {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.transition-colors {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.transition-opacity {
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

/* Responsive Design */
@media (max-width: 640px) {
    .max-w-md {
        max-width: 28rem;
    }
}

/* Print Styles */
@media print {
    .no-print {
        display: none !important;
    }
}
