@charset "utf-8";

/* Global tags and classes */
:root {
    --mw-dark-blue: oklch(30% 0.20 240deg);
    --mw-link-blue: oklch(50% 0.3 240deg);
    --mw-light-blue: oklch(80% 0.3 240deg);
    --mw-font-family: "Yu Gothic medium", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "sans-serif", Meiryo;
    font-family: var(--mw-font-family);
}

* {
    margin: 0;
}

html, body {
    height: 100%;
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
}

a {
    color: var(--mw-link-blue);
    text-decoration: none;
}

a > img:hover {
    filter: brightness(1.1);
}

a:hover {
    color: var(--mw-light-blue)
}

.block {
    display: block;
}

.inline-block {
    display: inline-block;
}

.text-xl {
    font-size: 2.5rem;
}

.text-large {
    font-size: 1.5rem
}

.text-bold {
    font-weight: 600;
}

.text-spacing {
    letter-spacing: 0.25rem;
}

.text-center {
    text-align: center;
}

/* Project specific */
.maintenance.container {
    max-width: 50rem;
    margin-inline: auto;
    padding: 1rem;
    align-content: center;
    height: calc(100svh - 2rem);
}

.banner {
    border: 6px solid var(--mw-dark-blue);
    border-radius: 12px;
}

.banner > header, .admin-message-box > header {
    background-color: var(--mw-dark-blue);
    color: whitesmoke;
    padding-block: 1rem;
}

.banner main {
    padding: 1rem;
}

.main-message {
    font-size: 2rem;
    border-bottom: 3px solid var(--mw-dark-blue);
    margin-inline: 1rem;
    padding-block: 1rem;
}

.messaging-image {
    margin-block: 2rem;
}

.maintenance.container button {
    border: 0 solid;
    background-color: var(--mw-link-blue);
    color: whitesmoke;
    padding: 0.8rem;
    margin: 0.5rem;
    border-radius: 0.5rem/0.5rem;
    cursor: pointer;
    font-size: 1rem;
}

.maintenance.container button:disabled {
    background-color: gray;
    cursor: not-allowed;
}

.maintenance.container button:enabled:hover {
    background-color: var(--mw-light-blue);
}

.maintenance.container .status {
    display: inline-block;
    background-color: gray;
    width: 0.7rem;
    height: 0.7rem;
    border-radius: 50%;
}

.maintenance.container .status.green {
    background-color: limegreen;
}

.maintenance.container .status.red {
    background-color: crimson;
}

.admin-message-box {
    border: 4px solid var(--mw-dark-blue);
    border-radius: 8px;
    max-width: 30rem;
    margin: 0 auto 1rem;
}

.admin-message-box > header, .admin-message-box > .message {
    font-family: var(--mw-font-family);
    padding: 0.5rem;
    text-wrap-mode: wrap;
}

.maintenance.container footer {
    font-size: 0.9rem;
    padding-block: 0.5rem;
}