/* Shared presentation for the public site; background and palette stay in base files. */
:root { --header-height: 64px; }
.page-shell {
    --border: color-mix(in srgb, var(--text-primary) 14%, transparent);
    --text-secondary: color-mix(in srgb, var(--text-primary) 78%, var(--surface));
    --shell-padding: clamp(1.25rem, 3vw, 2rem);
    min-height: 0;
    margin-top: var(--header-height);
    padding: clamp(.75rem, 2vh, 1.5rem) var(--page-inline) 1.5rem;
    color: var(--text-primary);
    font-weight: 400;
}
.page-shell :is(.play-container, .creators-container, .status-container, .minecraft-shell, .content__container) {
    width: 100%;
    max-width: 1160px;
    min-width: 0;
    padding: var(--shell-padding);
    margin: 0 auto;
    border-radius: var(--radius-lg);
    background: color-mix(in srgb, var(--surface) 94%, transparent);
    box-shadow: var(--shadow-md);
    backdrop-filter: blur(14px);
}
.page-shell.legal-page .content__container { max-width: 900px; }
.page-shell :is(.play-header, .creators-header, .status-header, .minecraft-header) {
    padding: 0 0 1.4rem;
    margin: 0 0 1.4rem;
    border: 0;
    border-bottom: 1px solid var(--border);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
}
.page-shell :is(.play-header, .creators-header, .status-header, .minecraft-header) h1,
.page-shell .content__text > h1 {
    margin: .4rem 0 .75rem;
    color: var(--text-primary);
    font-size: clamp(1.65rem, 3vw, 2.25rem);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -.025em;
    text-align: left;
}
.page-shell :is(.play-header, .creators-header, .status-header, .minecraft-header) p {
    max-width: 75ch;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.6;
}
.page-shell :is(h2, h3) { font-weight: 600; }
.page-shell .content__text { font-size: 1rem; line-height: 1.75; }
.page-shell .content__text > section { margin-top: 1.75rem; margin-bottom: 0; }
.page-shell .content__text h2 { font-size: 1.2rem; color: var(--text-primary); margin-bottom: .55rem; line-height: 1.4; }
.page-shell .content__text p { font-weight: 400; color: var(--text-secondary); }
.page-shell .content__text .info-banner { padding: .85rem 1rem; border-color: var(--border); background: color-mix(in srgb, var(--accent) 7%, transparent); border-radius: var(--radius-sm); text-align: left; }
.page-shell .play-steps { gap: 0; }
.page-shell .play-step { padding: 1.15rem 0; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; background: transparent; gap: 1rem; }
.page-shell .play-step__number { background: color-mix(in srgb, var(--accent) 12%, transparent); color: var(--accent); }
.page-shell .play-step p { line-height: 1.65; }
.page-shell .play-link { min-height: 44px; align-items: center; font-weight: 600; }
.page-shell .status-service { margin-top: 1rem; padding: 1.25rem; box-shadow: none; background: color-mix(in srgb, var(--background) 45%, transparent); }
.page-shell .minecraft-browser { box-shadow: none; min-height: 430px; }
.page-shell .minecraft-list-pane { background: color-mix(in srgb, var(--background) 25%, transparent); }
.page-shell .creator-card { box-shadow: none; }
.page-shell .creators-empty { border-color: var(--border); background: transparent; box-shadow: none; }
.page-shell .card-base { box-shadow: none; border: 1px solid var(--border); background: color-mix(in srgb, var(--background) 40%, transparent); }
.page-shell .about-page .card-list { margin-top: 1.5rem; }
.page-shell .timeline-title { margin-bottom: 1.5rem; }
.page-shell .error-404 { padding: clamp(1rem, 5vh, 3rem) 0; }
.page-shell a:focus-visible,
.page-shell button:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
@media (max-width: 760px) {
    .page-shell :is(.play-header, .creators-header, .status-header, .minecraft-header) { padding-bottom: 1rem; margin-bottom: 1rem; }
    .page-shell .status-service { padding: .85rem; }
    .page-shell .play-step { grid-template-columns: 34px minmax(0, 1fr); gap: .75rem; }
    .page-shell .content__text { overflow-wrap: anywhere; }
}
