@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');

:root {
    --background-color: #1a1a2e; /* Dark blue-purple */
    --block-color: #101030;   /* Dark Navy Blue */
    --block-color-rgb: 16, 16, 48; /* RGB for #101030 */
    --primary-color: #FFFFFF;   /* Vibrant red-pink */
    --primary-color-rgb: 255, 255, 255; /* RGB for #FFFFFF */
    --secondary-color: #4169e1;  /* Deeper blue */
    --text-color-base: #E0E0E0; /* Default light grey for text */
    --text-color-base-rgb: 224, 224, 224; /* RGB for #E0E0E0 */
    --text-color: var(--text-color-base);      /* Light grey */
    --text-color-dark: var(--block-color); /* For buttons with light background, now uses block color */
    --border-color: #FFFFFF;    /* Purple border */
    --slot-item-bg: #2e3b5e;    /* Slot item background */
    --slot-highlight: #ffbe0b;  /* Slot highlight color (orange-yellow) */
    --hover-color: #E0E0E0;     /* Button hover color */
    --hover-color-rgb: 224, 224, 224; /* RGB for #E0E0E0 */
    --slot-default-bg: var(--block-color); /* Default background for slot items */
    --slot-default-bg: var(--block-color); /* Default background for slot items */
}

body, html {
    margin: 0;
    padding: 0;
    width: 100%;
    font-family: 'Noto Sans JP', sans-serif;
    background-color: var(--background-color);
    color: var(--text-color);
    background-image: url('../img/MLRSbg.svg');
    background-repeat: repeat;
    background-size: 100px 100px; /* Adjust size as needed, e.g., 100px for tiling */
}

body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

h1 {
    color: var(--primary-color);
    margin-bottom: 30px;
    font-size: 2em;
    text-shadow: 0 0 10px rgba(233, 69, 96, 0.5);
}

/* --- Buttons --- */
button {
    padding: 10px 20px; /* More generous default padding for all buttons */
    font-size: 1.2em; /* Slightly larger default font size */
    font-weight: 700;
    background-color: var(--primary-color);
    color: var(--text-color-dark);
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.1s ease;
    margin: 5px;
    box-shadow: 0 4px 15px rgba(var(--block-color-rgb), 0.4);
}

button:hover {
    background-color: var(--hover-color); /* Slightly lighter primary */
    transform: translateY(-2px);
}

button:active {
    transform: translateY(0);
}

button:disabled {
    background-color: var(--secondary-color);
    cursor: not-allowed;
    box-shadow: none;
}

/* --- Input Fields --- */
input[type="text"], textarea { /* General input style */
    background-color: var(--block-color);
    border: 1px solid var(--border-color);
    color: var(--text-color);
    padding: 10px; /* Adjusted horizontal padding, vertical will be set specifically */
    border-radius: 5px;
    margin-bottom: 10px;
    width: 100%;
    box-sizing: border-box;
    font-size: 1em;
}

input[type="text"]:focus, textarea:focus {
    outline: none;
    border-color: var(--primary-color);
    box-shadow: 0 0 5px rgba(var(--block-color-rgb), 0.5);
}