/* Drive in Assistant — 1080 × 1920 portrait, dark theme */

body.dia {
    background: var(--gradient-dark-radial);
    background-color: #141a24;
    color: var(--color-white);
}

.dia-main {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
    padding: 121px 120px 0;
    text-align: center;
}

.dia-title {
    max-width: 822px;
    font-size: 70px;
    font-weight: 600;
}

.dia-hint {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 38px;
    margin-top: 62px;
    visibility: hidden;
}

.dia-hint.visible {
    visibility: visible;
}

.dia-hint img {
    width: 50px;
    height: 45px;
    flex-shrink: 0;
}

.dia-hint p {
    max-width: 760px;
    font-size: 35px;
    font-weight: 600;
    color: var(--color-hint-red);
}

/* --- Platform ------------------------------------------------------- */
.dia-platform {
    position: relative;
    width: 689px;
    height: 1192px;
    margin-top: 72px;
    border: 8px solid var(--color-white);
    border-radius: 52px;
    overflow: hidden;
}

.dia-zone {
    position: absolute;
    background-color: var(--color-zone-red);
}

.dia-zone.bottom {
    left: 0;
    right: 0;
    bottom: 0;
    height: 100px;
}

.dia-zone.top {
    left: 0;
    right: 0;
    top: 0;
    height: 100px;
}

.dia-zone.left {
    left: 0;
    top: 0;
    bottom: 0;
    width: 100px;
}

.dia-zone.right {
    right: 0;
    top: 0;
    bottom: 0;
    width: 100px;
}

.dia-arrow {
    position: absolute;
    left: 50%;
    top: 33%;
    width: 328px;
    transform: translate(-50%, 0);
}

.dia-arrow.back {
    transform: translate(-50%, 0) rotate(180deg);
}

.dia-arrow.left {
    top: 50%;
    transform: translate(-50%, -50%) rotate(-90deg);
}

.dia-arrow.right {
    top: 50%;
    transform: translate(-50%, -50%) rotate(90deg);
}

/* --- Position OK ---------------------------------------------------- */
.dia-platform.ok {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 39px solid var(--color-ok-green);
    box-shadow:
        0 0 60px rgba(66, 255, 67, 0.45),
        inset 0 0 60px rgba(66, 255, 67, 0.25);
}

.dia-ok-text {
    font-size: 300px;
    font-weight: 600;
    color: var(--color-white);
}

/* --- Rejection screens (too high / too heavy) ------------------------ */
.dia-reject {
    justify-content: center;
    padding-top: 0;
}

.dia-reject-title {
    max-width: 951px;
    font-size: 140px;
    line-height: 1.13;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--color-error-soft);
}

.dia-reject-subtitle {
    margin-top: 58px;
    max-width: 822px;
    font-size: 60px;
    font-weight: 500;
}

.dia-sign {
    position: absolute;
    bottom: 276px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 39px;
}

.dia-sign img {
    width: 222px;
    height: 222px;
}

.dia-sign span {
    font-size: 60px;
    font-weight: 600;
    color: var(--color-white);
    white-space: nowrap;
}

/* --- Facility welcome ------------------------------------------------ */
.dia-welcome {
    justify-content: flex-start;
    padding-top: 399px;
}

.dia-welcome-title {
    max-width: 1080px;
    font-size: 70px;
    font-weight: 800;
    text-transform: uppercase;
}

.dia-car {
    width: 172px;
    margin-top: 195px;
}

.dia-welcome-subtitle {
    margin-top: 52px;
    max-width: 822px;
    font-size: 50px;
    font-weight: 500;
}

.dia-datetime {
    position: absolute;
    bottom: 155px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 40px;
    font-weight: 500;
    text-transform: uppercase;
    color: var(--color-gray-date);
    white-space: nowrap;
}
