:root {
    --bg: #f6f7f9;
    --surface: #ffffff;
    --border: #dfe3e8;
    --text: #1c2530;
    --muted: #5a6672;
    --accent: #b8232f;
    --ok: #1f7a3d;
    --warn: #9a6b00;
    --fail: #b8232f;
    --notice-bg: #fdf6e3;
    --notice-border: #e6d5a8;
    --notice-text: #6b5518;
}

* { box-sizing: border-box; }

body {
    margin: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
    line-height: 1.55;
    color: var(--text);
    background: var(--bg);
}

.site-header {
    background: var(--surface);
    border-bottom: 1px solid var(--border);
    padding: 1rem 1.5rem;
}

.brand {
    font-weight: 600;
    font-size: 1.1rem;
    color: var(--accent);
    text-decoration: none;
    letter-spacing: .02em;
}

.locale-notice {
    background: var(--notice-bg);
    border-bottom: 1px solid var(--notice-border);
    color: var(--notice-text);
    padding: .6rem 1.5rem;
    font-size: .875rem;
    display: flex;
    gap: .5rem;
    align-items: baseline;
    flex-wrap: wrap;
}

.locale-notice__label {
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    font-size: .75rem;
}

.muted {
    color: var(--muted);
    font-size: .875rem;
}

.container {
    max-width: 46rem;
    margin: 0 auto;
    padding: 2rem 1.5rem 3rem;
}

h1 { font-size: 1.6rem; margin: 0 0 .5rem; }
h2 { font-size: 1.05rem; margin: 0 0 .75rem; color: var(--muted); text-transform: uppercase; letter-spacing: .06em; }

.lead { color: var(--muted); margin-top: 0; }

section {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: .5rem;
    padding: 1.25rem 1.5rem;
    margin-top: 1.25rem;
}

dl {
    display: grid;
    grid-template-columns: minmax(10rem, 14rem) 1fr;
    gap: .4rem 1rem;
    margin: 0;
}

dt { color: var(--muted); }
dd { margin: 0; font-variant-numeric: tabular-nums; }

dd.ok   { color: var(--ok); font-weight: 600; }
dd.warn { color: var(--warn); font-weight: 600; }
dd.fail { color: var(--fail); font-weight: 600; }

.detail {
    background: #2b3038;
    color: #eceff3;
    padding: .9rem 1rem;
    border-radius: .4rem;
    overflow-x: auto;
    font-size: .85rem;
}

.site-footer {
    text-align: center;
    color: var(--muted);
    font-size: .85rem;
    padding: 1rem;
}

@media (max-width: 34rem) {
    dl { grid-template-columns: 1fr; gap: .1rem; }
    dt { margin-top: .6rem; }
}
