:root {
    color-scheme: dark;

    /* Colour */
    --theme-page-background: #242321;
    --theme-surface-background: #2e2c29;
    --theme-overlay-background: #181817;
    --theme-overlay-surface: rgb(24 24 23 / 94%);
    --theme-overlay-scrim: rgb(0 0 0 / 85%);
    --theme-overlay-text: #f5f2eb;
    --theme-text: #f0ede7;
    --theme-text-muted: #bdb7ad;
    --theme-accent: #e2c99e;
    --theme-accent-contrast: #242321;
    --theme-border: #514d47;
    --theme-overlay-border: #777;
    --theme-focus: #ffcf70;
    --theme-error: #ffd0c8;

    /* Typography */
    --theme-font-display: Georgia, "Times New Roman", serif;
    --theme-font-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --theme-font-mono: ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    --theme-display-weight: 400;
    --theme-body-weight: 400;

    /* Decoration */
    --theme-radius-small: 0;
    --theme-radius-medium: 0;
    --theme-shadow-small: none;
    --theme-shadow-large: none;
    --theme-image-shadow:
        0 0 0 1px rgb(255 255 255 / 10%),
        0 0.4rem 0.8rem rgb(0 0 0 / 65%),
        0 1.4rem 2.8rem rgb(0 0 0 / 52%);
    --theme-image-block-shadow:
        0 0 0 1px rgb(255 255 255 / 12%),
        0 0.55rem 1rem rgb(0 0 0 / 72%),
        0 1.8rem 3.6rem rgb(0 0 0 / 58%);
    --theme-border-width: 1px;
    --theme-transition: 180ms ease;

    /* Component appearance */
    --theme-button-background: #2e2c29;
    --theme-button-text: #f0ede7;
    --theme-button-border: #514d47;
    --theme-link: #f0ede7;
    --theme-link-hover: #e2c99e;
}

a {
    color: var(--theme-link);
}

a:hover {
    color: var(--theme-link-hover);
}

button,
.button,
input,
select,
textarea,
details {
    border-radius: var(--theme-radius-small);
}

button,
.button {
    box-shadow: var(--theme-shadow-small);
}

.latest-set__lead img,
.keyword-photo img,
.photo-detail__figure img,
.set-archive__image,
.explore-recent-photo,
.explore-recent-set a > img,
.explore-recent-set a > picture {
    border-radius: var(--theme-radius-medium);
    box-shadow: var(--theme-image-shadow);
}

.photo-grid {
    border-radius: var(--theme-radius-medium);
    box-shadow: var(--theme-image-block-shadow);
}

.photo-grid__media,
.photo-grid__media picture,
.photo-grid__media img {
    box-shadow: none;
}

.latest-set__lead {
    border-block: var(--theme-border-width) solid var(--theme-border);
}

.latest-set__information {
    border-bottom: var(--theme-border-width) solid var(--theme-border);
}

.latest-set__slideshow {
    border-color: var(--theme-button-border);
    background: var(--theme-button-background);
    color: var(--theme-button-text);
}

.photo-set-introduction__show,
.photo-set-introduction__hide {
    color: var(--theme-accent);
}

.photo-set-header .slideshow-start {
    border-color: var(--theme-button-border);
    background: var(--theme-button-background);
    color: var(--theme-button-text);
}
