body {
    background-color: #f5fbf7;
    /* pastel green */
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    height: 100%;
    margin: 0;
}

.simuline--header {
    background-color: var(--color-bg-header);
    padding: var(--spacing-s);
    text-align: center;
    border-bottom: 2px solid var(--color-border-header);
    width: 100%;
}

.simuline--header__title {
    font-size: 2.2rem;
    margin: 0;
    color: var(--color-text-primary);
}

.simuline--header__subtitle {
    font-size: 1.1rem;
    color: var(--color-text-secondary);
    margin-top: var(--spacing-s);
}

.simulation-ribbon {
    position: fixed;
    width: 200px;
    top: 20px;
    left: 15px;
    transform: translate(-30%, 30%) rotate(-45deg);
    background-color: var(--color-bg-primary);
    color: var(--color-text-primary);
    padding: 0.5rem 2rem;
    font-weight: bold;
    font-size: var(--font-m);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    z-index: 10;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    border: 2px solid var(--color-border-header);
    display: flex;
    justify-content: center;
}

.simulation-ribbon form {
    display: inline;
    margin: 0;
}

.simulation-stop {
    background: none;
    border: none;
    color: var(--color-error);
    font-weight: bold;
    cursor: pointer;
    font-size: 0.9rem;
}


a {
    color: #4a7c59;
}

a:hover {
    color: #2f5d42;
}

.app-body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.main {
    flex: 1;
}

.app__footer {
    background-color: var(--color-bg-header);
    padding: var(--spacing-m);
    text-align: center;
}

.app__footer-text {
    margin: 0;
    color: var(--color-text-alt);
    font-size: 0.9rem;
}