:root {
    --status-page-brand: #583be0;
    --status-page-text: #18181b;
    --status-page-muted: #52525b;
    --status-page-border: #d4d4d8;
    --status-page-surface: #fafafa;
}

body {
    margin: 0;
}

.status-page-shell {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    font-family: Inter, Arial, sans-serif;
    color: var(--status-page-text);
    background: var(--status-page-surface);
}

.status-page-header {
    height: 2.875rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0 1rem;
    color: #fff;
    background: var(--status-page-brand);
    border-bottom: 1px solid #27272a;
}

.status-page-header img {
    height: 1.5rem;
}

.status-page-header span {
    font-size: 1.25rem;
    font-weight: 500;
}

.status-page-host {
    flex: 1 1 auto;
    display: flex;
    min-height: 0;
}

.status-page-footer {
    height: 1.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #000;
}

.status-page-footer img {
    width: 5rem;
}

.status-page {
    width: 100%;
    min-height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    color: var(--status-page-text);
    background: var(--status-page-surface);
}

.status-page__content {
    width: min(42rem, 100%);
    padding-left: 2rem;
    border-left: 0.375rem solid var(--status-page-brand);
}

.status-page__code {
    margin: 0 0 0.5rem;
    color: var(--status-page-brand);
    font-size: 1rem;
    font-weight: 600;
}

.status-page__title {
    margin: 0;
    font-size: 2.5rem;
    line-height: 1.15;
    font-weight: 600;
    letter-spacing: 0;
}

.status-page__message {
    max-width: 36rem;
    margin: 1rem 0 0;
    color: var(--status-page-muted);
    font-size: 1.125rem;
    line-height: 1.6;
}

.status-page__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1.5rem;
}

.status-page__meta {
    margin: 1rem 0 0;
    color: var(--status-page-muted);
    font-size: 0.875rem;
    line-height: 1.5;
}

.status-page__meta code {
    padding: 0.125rem 0.25rem;
    border: 1px solid var(--status-page-border);
    border-radius: 0.25rem;
    background: #fff;
    color: var(--status-page-text);
}

@media (max-width: 640px) {
    .status-page {
        align-items: flex-start;
        padding: 3rem 1.25rem;
    }

    .status-page__content {
        padding-top: 1.5rem;
        padding-left: 0;
        border-top: 0.375rem solid var(--status-page-brand);
        border-left: 0;
    }

    .status-page__title {
        font-size: 2rem;
    }
}
