:root {
    --primary-color: #005a9c;
    --text-color: #333333;
    --bg-color: #ffffff;
    --code-bg-color: #f6f8fa;
    --border-color: #e0e0e0;
    --notice-bg-color: #fffbe6;
    --notice-border-color: #ffc107;
}

html {
    box-sizing: border-box;
    scroll-behavior: smooth;
}

*,
*:before,
*:after {
    box-sizing: inherit;
}

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

code {
    font-family: "Ubuntu Mono", "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
}

main {
    max-width: 820px;
    margin: 2.5rem auto;
    padding: 0 1.5rem;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    line-height: 1.3;
    margin-top: 2.2em;
    margin-bottom: 1em;
    font-weight: 600;
    color: #24292e;
}

h1 {
    font-size: 2.5rem;
    border-bottom: 1px solid var(--border-color);
    padding-bottom: 0.5rem;
}

h2 {
    font-size: 2rem;
    border-bottom: 1px solid var(--border-color);
    padding-bottom: 0.4rem;
}

h3 {
    font-size: 1.5rem;
}

p {
    margin-top: 0;
    margin-bottom: 1.2em;
}

a {
    color: var(--primary-color);
    text-decoration: none;
    font-weight: 500;
}

a:hover {
    text-decoration: underline;
}

.notice {
    background-color: var(--notice-bg-color);
    border-left: 5px solid var(--notice-border-color);
    padding: 1em 1.5em;
    margin: 2em 0;
    border-radius: 4px;
}

pre {
    background-color: var(--code-bg-color);
    padding: 1.2em;
    border-radius: 6px;
    border: 1px solid var(--border-color);
    overflow-x: auto;
    font-size: 0.9em;
    line-height: 1.45;
}

code {
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
}

p>code,
li>code {
    background-color: var(--code-bg-color);
    padding: 0.2em 0.4em;
    border-radius: 4px;
    font-size: 85%;
}

footer:not(.code-block *) {
    text-align: center;
    padding: 2em 0;
    border-top: 1px solid var(--border-color);
    margin-top: 2em;
}

.hero {
    /* background: linear-gradient(to right, #004d7a, #008793); */
    display: flex;
    justify-content: center;
    overflow: hidden;
}

.json-display {
    font-size: min(6vw, 2.5em);
}
