:root {
    --error-color: #ba1a1a;
    --error-bg-color: #f9d2d2;
}

/* Bodyにelevationを適用 */
body {
    margin: 0;
}

/* 中央配置と幅調整用コンテナ */
.container {
    margin: 0 auto;
    padding: 16px;
    max-width: 800px;
}

.success {
    color: green;
}

.error {
    color: var(--error-color);
}

.error-bg {
    background-color: var(--error-bg-color);
}

#top-bar {
    display: flex;
    flex-direction: row;
    justify-content: end;
    margin-bottom: 0;
}

#top-bar-leading {
    display: flex;
    flex-direction: row;
    justify-content: start;
    flex-grow: 1;
}

#top-bar+.container {
    margin-top: 0;
}

/* フッター */
footer .container {
    display: flex;
    flex-direction: column;
    gap: 16px;
    text-align: center;
    font-size: 0.875rem;
    margin-top: 16px;
    color: var(--md-sys-color-on-surface-variant);
}

#footer-text {
    white-space: nowrap;
}

footer a {
    text-decoration: none;
    color: var(--md-sys-color-primary);
}

footer a:hover {
    text-decoration: underline;
}

#terms-articles {
    line-height: 3em;
}

#footer-links {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 16px;
}

.message {
    text-align: center;
    margin-bottom: 16px;
}

#topbar-menu-button {
    --md-outlined-button-container-shape: 4px;
}

md-menu-item [slot="headline"] {
    white-space: nowrap;
}

md-menu-item .menu-item-disabled {
    pointer-events: auto;
    opacity: 0.5;
    cursor: not-allowed;
}
