/* =============================================================================
   HisaBooks — Playground
   -----------------------------------------------------------------------------
   Page-specific composition for /playground.php. The shared marketing tokens,
   controls, navigation and motion live in css/hisabooks.css.

   This page stays flat: tone and hairline borders provide separation, never
   shadows or gradients. Breakpoints avoid the 1200–1599px viewport-scale band.
   ============================================================================= */

/* ── Hero ──────────────────────────────────────────────────────────────────── */
.pg-hero {
    padding-block: calc(var(--hb-nav-h) + var(--hb-s7)) var(--hb-s9);
    background: var(--hb-paper);
}

.pg-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr);
    gap: var(--hb-s9);
    align-items: center;
}

.pg-hero__copy { max-width: 42rem; }
.pg-hero__copy .hb-display { margin-block: var(--hb-s4) var(--hb-s5); }

.pg-hero__promise {
    max-width: 48ch;
    margin-top: var(--hb-s6);
    color: var(--hb-muted);
    font-size: var(--hb-t-sm);
    line-height: 1.65;
    text-wrap: pretty;
}

.pg-hero__promise strong {
    color: var(--hb-ink);
    font-weight: 650;
}

/* The launch area is deliberately plain: one quiet divider, a short set of
   facts and a single primary action. */
.pg-entry {
    min-width: 0;
    max-width: 36rem;
    padding-left: var(--hb-s7);
    border-left: 1px solid var(--hb-line);
}

.pg-entry__label {
    color: var(--hb-blue);
    font-size: var(--hb-t-sm);
    font-weight: 650;
}

.pg-entry h2 {
    margin-top: var(--hb-s2);
    font-size: var(--hb-t-h2);
    font-weight: 670;
    letter-spacing: -.035em;
    line-height: 1.1;
}

.pg-entry__intro {
    max-width: 42ch;
    margin-top: var(--hb-s3);
    color: var(--hb-muted);
    font-size: var(--hb-t-sm);
    line-height: 1.6;
    text-wrap: pretty;
}

.pg-entry__facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--hb-s5);
    margin-top: var(--hb-s6);
    padding-block: var(--hb-s4);
    border-block: 1px solid var(--hb-line);
}

.pg-entry__facts dt {
    color: var(--hb-muted);
    font-size: var(--hb-t-xs);
}

.pg-entry__facts dd {
    margin-top: var(--hb-s1);
    color: var(--hb-ink);
    font-size: var(--hb-t-sm);
    font-weight: 650;
}

.pg-entry__form {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--hb-s3);
    margin-top: var(--hb-s6);
}

.pg-entry__button {
    min-height: 48px;
    padding-inline: var(--hb-s5);
    border-radius: var(--hb-r-sm);
    white-space: normal;
}

.pg-entry__unavailable,
.pg-entry__secondary {
    color: var(--hb-muted);
    font-size: var(--hb-t-xs);
    line-height: 1.55;
}

.pg-entry__secondary { margin-top: var(--hb-s4); }
.pg-entry__unavailable .hb-link { margin-left: var(--hb-s1); }

.pg-message {
    margin-top: var(--hb-s4);
    padding: var(--hb-s3) var(--hb-s4);
    border: 1px solid var(--hb-warning-mist);
    border-radius: var(--hb-r-md);
    background: var(--hb-warning-wash);
    color: var(--hb-ink-soft);
    font-size: var(--hb-t-sm);
    line-height: 1.55;
}

.pg-message--alert {
    border-color: var(--hb-danger);
    background: var(--hb-danger-wash);
    color: var(--hb-danger);
}

.pg-local-note {
    margin-top: var(--hb-s5);
    padding-top: var(--hb-s4);
    border-top: 1px solid var(--hb-line);
}

.pg-local-note strong {
    display: block;
    color: var(--hb-ink);
    font-size: var(--hb-t-xs);
    font-weight: 650;
}

.pg-local-note p {
    margin-top: var(--hb-s1);
    color: var(--hb-muted);
    font-size: var(--hb-t-xs);
    line-height: 1.55;
    text-wrap: pretty;
}

/* ── Expectations ─────────────────────────────────────────────────────────── */
.pg-expect {
    padding-block: var(--hb-section-tight);
    background: var(--hb-mist);
}

.pg-expect__grid {
    display: grid;
    grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
    gap: var(--hb-s9);
    align-items: start;
}

.pg-expect__intro { max-width: 38rem; }
.pg-expect__intro .hb-h2 { margin-top: var(--hb-s4); }
.pg-expect__intro .hb-body { margin-top: var(--hb-s5); max-width: 50ch; }

.pg-expect__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 var(--hb-s6);
}

.pg-expect__list li {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: var(--hb-s4);
    align-items: start;
    padding-block: var(--hb-s5);
    border-top: 1px solid var(--hb-line);
}

.pg-expect__number {
    color: var(--hb-blue);
    font-family: var(--hb-mono);
    font-size: var(--hb-t-xs);
    font-weight: 680;
    line-height: 1.8;
}

.pg-expect__list h3 {
    color: var(--hb-ink);
    font-size: var(--hb-t-h4);
    font-weight: 640;
    letter-spacing: -.016em;
    line-height: 1.35;
}

.pg-expect__list p {
    margin-top: var(--hb-s2);
    color: var(--hb-muted);
    font-size: var(--hb-t-sm);
    line-height: 1.65;
    text-wrap: pretty;
}

/* ── Close ────────────────────────────────────────────────────────────────── */
.pg-close {
    padding-block: var(--hb-section-tight);
    background: var(--hb-paper);
}

.pg-close__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--hb-s7);
    align-items: end;
}

.pg-close__inner > div:first-child { max-width: 38rem; }
.pg-close__inner .hb-h2 { margin-top: var(--hb-s3); }
.pg-close__inner .hb-body { margin-top: var(--hb-s4); }

.pg-close__actions {
    display: grid;
    justify-items: end;
    gap: var(--hb-s3);
}

.pg-close__actions .hb-small {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: var(--hb-s2);
}

/* ── Responsive ───────────────────────────────────────────────────────────── */
@media (max-width: 1199px) {
    .pg-hero__grid,
    .pg-expect__grid,
    .pg-close__inner {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--hb-s7);
    }

    .pg-hero__copy,
    .pg-expect__intro { max-width: 46rem; }

    .pg-entry {
        max-width: 46rem;
        padding-top: var(--hb-s6);
        padding-left: 0;
        border-top: 1px solid var(--hb-line);
        border-left: 0;
    }

    .pg-close__actions {
        justify-items: start;
    }

    .pg-close__actions .hb-small { justify-content: flex-start; }
}

@media (max-width: 699px) {
    .pg-hero {
        padding-block: calc(var(--hb-nav-h) + var(--hb-s5)) var(--hb-s7);
    }

    .pg-hero__grid { gap: var(--hb-s5); }
    .pg-hero__promise { margin-top: var(--hb-s4); }

    .pg-entry { padding-top: var(--hb-s5); }

    .pg-expect,
    .pg-close { padding-block: var(--hb-s8); }

    .pg-expect__list { grid-template-columns: minmax(0, 1fr); }

    .pg-close__actions,
    .pg-close__actions .hb-actions,
    .pg-close__actions .hb-btn { width: 100%; }

    .pg-close__actions .hb-actions { display: grid; }
}

@media (max-width: 479px) {
    .pg-entry__facts {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--hb-s3);
    }

    .pg-entry__facts > div {
        display: grid;
        grid-template-columns: 6rem minmax(0, 1fr);
        gap: var(--hb-s3);
        align-items: baseline;
    }

    .pg-entry__facts dd { margin-top: 0; }

    .pg-entry__form,
    .pg-entry__button,
    .pg-close__actions .hb-btn {
        width: 100%;
        min-height: 44px;
        padding-inline: var(--hb-s4);
        white-space: normal;
        text-align: center;
    }
}
