.page {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

/* Theme Canvas: full-bleed per-story background, sits behind .page, replaced by theme.js */
.theme-canvas {
    position: fixed;
    inset: 0;
    z-index: -1;
    overflow: hidden;
}

.theme-canvas img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    opacity: 0.45;
}

.container {
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
}

@media (min-width: 768px) {
    .container {
        max-width: 640px;
    }
}
