.rally-registration-guard {
    max-width: 720px;
    margin: 56px auto;
    padding: 28px;
    border: 1px solid #d8dee9;
    border-radius: 12px;
    background: #fff;
    color: #111827;
    box-shadow: 0 12px 30px rgba(15, 24, 48, 0.08);
}

.rally-registration-guard h2 {
    margin: 0 0 10px;
    font-size: 24px;
    line-height: 1.35;
}

.rally-registration-guard p {
    margin: 0;
    font-size: 16px;
    line-height: 1.65;
    color: #4b5563;
}

#root {
    margin: 0 auto;
}

#root,
#root * {
    box-sizing: border-box;
}

#root {
    width: 100%;
    max-width: 100%;
}

@media (max-width: 720px) {
    html,
    body {
        max-width: 100%;
        overflow-x: hidden;
    }

    body #wrapper,
    body #container,
    body #container_title {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-x: hidden !important;
    }

    body .rally-entry-head {
        width: calc(100vw - 20px) !important;
        max-width: calc(100vw - 20px) !important;
        margin: 0 auto 18px !important;
        border-radius: 18px !important;
        overflow: hidden !important;
    }

    body .rally-entry-head__hero {
        width: 100% !important;
        min-width: 0 !important;
        padding: 18px 18px 20px !important;
        gap: 12px !important;
        flex-wrap: wrap !important;
    }

    body .rally-entry-head__hero > div,
    body .rally-entry-head__body,
    body .rally-entry-head__notice,
    body .rally-entry-head__notice li,
    body .rally-entry-head__confirm {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body .rally-entry-head__label {
        text-align: left !important;
    }

    body .rally-entry-head__body {
        padding: 22px 18px 24px !important;
        overflow: hidden !important;
    }

    body .rally-entry-head__title {
        font-size: clamp(20px, 6vw, 24px) !important;
        line-height: 1.35 !important;
        letter-spacing: 0 !important;
        word-break: keep-all !important;
        overflow-wrap: anywhere !important;
    }

    body .rally-entry-head__notice li {
        font-size: 14px !important;
        line-height: 1.55 !important;
        word-break: keep-all !important;
        overflow-wrap: anywhere !important;
    }

    body #root {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-x: hidden !important;
    }

    body #root > div {
        width: calc(100vw - 20px) !important;
        max-width: calc(100vw - 20px) !important;
        min-width: 0 !important;
        margin-left: auto !important;
        margin-right: auto !important;
        overflow-x: hidden !important;
    }

    body #root div,
    body #root section,
    body #root form,
    body #root label,
    body #root button,
    body #root input,
    body #root select,
    body #root textarea {
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body #root input,
    body #root select,
    body #root textarea,
    body #root button {
        font-size: 16px !important;
    }

    body #root [style*="grid-template-columns"] {
        grid-template-columns: 1fr !important;
    }

    body #root [style*="display: grid"] {
        max-width: 100% !important;
    }
}

@media (max-width: 420px) {
    body .rally-entry-head__brand {
        font-size: 30px !important;
    }

    body .rally-entry-head__sub {
        font-size: 11px !important;
        letter-spacing: .08em !important;
    }

    body #root > div {
        width: calc(100vw - 18px) !important;
        max-width: calc(100vw - 18px) !important;
    }
}
