/* Shared by the front page (How it works, the app band) and /educators/
   ("What's in it"), enqueued through pp_home_enqueue_phone_frame() before each
   page's own stylesheet. The class names stay the homepage's. */

/* ── A phone frame ──
   A real app screenshot inside a phone drawn in CSS (STYLING.md > A phone
   frame): an `8px` bezel in `--theme-palette-color-4`, the site's dark
   ground, with concentric corners, `32px` outside and `24px` on the display,
   and the Card shadow tier. The frame takes its width from its container.

   The display is a status bar over the screen. The captures have the phone's
   own status bar cropped off, so the frame draws one: dark, as the app paints
   it (the site's dark ground), with the time on the left, signal, Wi-Fi and
   battery on the right in white, and the camera hole centred between them.
   Its height is the Android status bar's share of a 720px-wide capture
   (`48px`), and everything in it is sized in container units, so it keeps
   its proportions at every phone width.

   The screen keeps the screenshots' own 720 × 1444, so nothing is cropped,
   and holds that shape before the lazy image arrives. The images sit
   absolutely in it, so one screen can stack several.

   What else makes it read as a phone rather than a dark card, all in the
   bezel's colour: a faint light rim on the bezel's edge, and the side
   buttons (power and volume on the right, as on an Android phone, since the
   screens are the Android app's). */
.pp-home-phone {
    position: relative;
    padding: 8px;
    border-radius: 32px;
    background: var(--theme-palette-color-4);
    box-shadow:
        inset 0 0 0 1px rgba(var(--pp-steel-1-rgb), 0.12),
        0 6px 22px rgba(var(--pp-steel-7-rgb), 0.10);
}

.pp-home-phone::before,
.pp-home-phone::after {
    content: "";
    position: absolute;
    right: -3px;
    width: 3px;
    border-radius: 0 2px 2px 0;
    background: var(--theme-palette-color-4);
}

/* Power. */
.pp-home-phone::before {
    top: 22%;
    height: 7%;
}

/* Volume. */
.pp-home-phone::after {
    top: 32%;
    height: 13%;
}

.pp-home-phone__display {
    container-type: inline-size;
    overflow: hidden;
    border-radius: 24px;
    background: var(--theme-palette-color-4);
}

.pp-home-phone__status {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    aspect-ratio: 720 / 48;
    padding: 0 7cqw;
    color: #fff;
    font-size: 4cqw;
    font-weight: 600;
    line-height: 1;
}

/* The camera hole: the bezel's colour, outlined by the bezel's rim, which
   is what shows it against the dark bar. */
.pp-home-phone__status::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 3.6cqw;
    aspect-ratio: 1;
    border-radius: 50%;
    background: var(--theme-palette-color-4);
    box-shadow: 0 0 0 0.4cqw rgba(var(--pp-steel-1-rgb), 0.12);
    transform: translate(-50%, -50%);
}

.pp-home-phone__icons {
    display: flex;
    align-items: center;
    gap: 1.2cqw;
}

.pp-home-phone__icons svg {
    display: block;
    width: 3.8cqw;
    height: 3.8cqw;
    fill: currentColor;
}

.pp-home-phone__screen {
    position: relative;
    aspect-ratio: 720 / 1444;
    overflow: hidden;
    background: var(--theme-palette-color-8);
}

.pp-home-phone__img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
