html, body {
    height: 100%;
    margin: 0;
    padding: 0;
}

/* General Body Styles (Wafu) */
body {
    font-family: 'Noto Sans JP', 'Yu Gothic', 'Meiryo', sans-serif;
    background-color: #f9f7f3; /* Subtle off-white/cream */
    color: #333333; /* Soft black */
    line-height: 1.8; /* Increased line height for readability */
}

/* Navigation Bar (Wafu) */
.navbar {
    background-color: #ffffff;
    border-bottom: none; /* Remove harsh border */
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08); /* Softer shadow */
    padding: 1rem 2rem;
}

.navbar-brand {
    font-weight: bold;
    font-size: 1.6rem;
    color: #2c3e50 !important; /* Dark charcoal */
}

.nav-link {
    color: #555555 !important; /* Muted gray */
    font-weight: 500;
    transition: color 0.2s;
}

.nav-link:hover,
.nav-item.active .nav-link {
    color: #0056b3 !important; /* Deep blue */
}

/* Main Container (Wafu) */
.container {
    padding-top: 4rem;
    padding-bottom: 4rem;
}

/* Headings (Wafu) */
h1, h2, h3, h4, h5 {
    font-weight: 400; /* Slightly bolder for headings */
    color: #4a4a4a !important; /* Dark gray */
}

h1 {
    font-size: 2.8rem;
    margin-bottom: 2.5rem;
    text-align: center;
}

h2 {
    font-size: 2.2rem;
    border-bottom: 1px solid #cccccc; /* Lighter, more subtle border */
    padding-bottom: 0.8rem;
    margin-top: 3.5rem;
    margin-bottom: 1.8rem;
}

/* Content Sections (Wafu) */
.section {
    background-color: #ffffff !important;
    padding: 2.5rem; /* Increased padding */
    border-radius: 6px; /* Slightly less rounded */
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06); /* Softer shadow */
    margin-bottom: 2.5rem;
}

/* Buttons (Wafu) */
.btn {
    border-radius: 4px; /* Less rounded */
    padding: 0.6rem 1.8rem;
    font-weight: 500;
    transition: all 0.2s;
}

.btn-primary {
    background-color: #4a6b8a !important; /* Muted blue-gray */
    border-color: #4a6b8a !important;
}

.btn-primary:hover {
    background-color: #3a5b7a !important;
    border-color: #3a5b7a !important;
}

.btn-outline-info {
    border-color: #888888 !important; /* Gray */
    color: #888888 !important;
}

.btn-outline-info:hover {
    background-color: #888888 !important;
    color: #ffffff !important;
}

/* Jumbotron (Wafu) */
.jumbotron {
    background-color: #6b7b8e !important; /* Muted blue-gray */
    color: #ffffff !important;
    border-radius: 6px;
}

.jumbotron .display-4 {
    font-weight: bold;
}

/* Footer (Wafu) */
footer {
    padding: 2.5rem 0;
    text-align: center;
    color: #777777 !important;
    margin-top: 2.5rem;
    border-top: 1px solid #e0e0e0; /* Lighter border */
}

/* Machine list (Wafu) */
.machine-list {
    list-style: none;
    padding-left: 0;
}

.machine-item {
    border-left: 4px solid #6b7b8e !important; /* Matching muted blue-gray */
    padding-left: 1.8rem;
    margin-bottom: 1.8rem;
}

.machine-item h4 {
    margin-top: 0;
    color: #6b7b8e !important;
}