@import url("https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wdth,wght@0,62.5..100,100..900;1,62.5..100,100..900&display=swap");

@media (prefers-color-scheme: light) {
    :root {
        --color-primary: rgb(0 104 119);
        --color-on-primary: rgb(255 255 255);

        --color-secondary: rgb(75 98 104);

        --color-surface: rgb(245 250 252);
        --color-surface-container: rgb(233 239 240);
        --color-on-surface: rgb(23 29 30);

        --color-alert-bg: rgb(254 242 242);
        --color-alert-border: rgb(220 38 38);
        --color-alert-text: rgb(153 27 27);
    }
}

@media (prefers-color-scheme: dark) {
    :root {
        --color-primary: rgb(131 210 228);
        --color-on-primary: rgb(0 54 63);

        --color-secondary: rgb(178 203 209);

        --color-surface: rgb(14 20 22);
        --color-surface-container: rgb(27 33 34);
        --color-on-surface: rgb(222 227 229);

        --color-alert-bg: rgb(69 10 10);
        --color-alert-border: rgb(127 29 29);
        --color-alert-text: rgb(254 202 202);
    }
}

* {
    transition-duration: 0.5s;
    transition-property: background, color;
    transition-timing-function: ease-in-out;
}

body {
    font-family: "Noto Sans", sans-serif;
    background-color: var(--color-surface);
    color: var(--color-on-surface);
    margin: 0 auto;
    padding: 0 0.5rem;

    max-width: 50rem;
}

main,
section,
footer {
    background-color: var(--color-surface-container);
    border-radius: 2rem;
    margin: 1rem 0;
    padding: 1.5rem;
}

main > :first-child,
section > :first-child,
footer > :first-child {
    margin-top: 0;
}

main > :last-child,
section > :last-child,
footer > :last-child {
    margin-bottom: 0;
}

h1 {
    font-size: 2rem;
    margin-bottom: 0.5rem;
}

h2 {
    font-size: 1.5rem;
}

a,
.copy {
    color: var(--color-primary);
    text-decoration: none;
    font-weight: bold;
}

.copy:hover {
    cursor: pointer;
    color: var(--color-secondary);
}

.step-header {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

.step-number {
    background-color: var(--color-primary);
    color: var(--color-on-primary);
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    flex-shrink: 0;
}

ol.instructions-list {
    padding-left: 1.5rem;
}

ol.instructions-list li {
    margin-bottom: 0.5rem;
}

.alert {
    background-color: var(--color-alert-bg);
    border: 1px solid var(--color-alert-border);
    color: var(--color-alert-text);
    padding: 1rem;
    border-radius: 1rem;
    margin-bottom: 1.5rem;
    font-weight: 500;
}

.gallery {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    margin-top: 1.5rem;
}

.gallery img {
    max-height: 250px;
    width: auto;
    max-width: 100%;
    border-radius: 1rem;
    border: 2px solid var(--color-surface);
}

@media (max-width: 600px) {
    .gallery img {
        width: 100%;
        height: auto;
        max-height: unset;
    }
}

main h1,
main p {
    text-align: center;
}

footer p {
    text-align: center;
    opacity: 0.7;
}
