@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@500&display=swap');

:root {
    --primary-color-rgb: 34, 150, 243; /* 举例 RGB(34,150,243) */
}

.hero {
    flex: 1 0 66.6666%;
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 50px;
    padding: 70px 0;
    transform: translateY(20%);
}

.hero::before {
    content: '';
    position: absolute;
    top: 15%;
    left: 0;
    width: 320px;
    height: 140px;
    background: linear-gradient(to right, var(--primary-color), #c471ed, #f64f59);
    z-index: -1;
    filter: blur(70px);
    transform: translateY(-10%);
}

@media (max-width: 505px) {
    .hero {
        transform: translateY(50%);
    }
    .main {
        transform: translateY(25%);
    }
}


@media (max-width: 505px) {
    form input {
        width: 85%;
        margin-left: 15%;
    }
    form #submit-btn {
        width: 100%;
        margin-left: 0;
        margin-top: 10%;
        margin-bottom: 20%;
    }
    form select {
        margin-left: 15%;
        width: 85%;
    }
    form select:nth-of-type(2) {
        margin-left: 0; !important;
    }

}

@media (max-width: 505px) {
    .help-icon {
        left: -7px;
        font-size: 25px;
    }

    .help-icon[data-tooltip]::after {
        max-width: 303px;
        left: 65px;
    }
}

.main form {
    gap: 0;
}

.main form p {
    margin-top: 30px;
}

form button {
    font: inherit;
    font-size: 16px;
    width: 100%;
    border: 0;
    outline: 0;
    padding: 0 20px;
    line-height: 60px;
    border-radius: 15px;
    box-sizing: border-box;
    font-weight: 500;
}

form button.submit {
    color: var(--white-color);
    background-color: var(--primary-color);
    box-shadow: var(--primary-color) 0 10px 20px -10px;
    cursor: pointer;
    transition: opacity 0.6s, background-color 0.6s, transform 0.4s, box-shadow .3s;;
}

form button.submit:hover {
    box-shadow: var(--primary-color) 0 15px 25px -10px;
    transform: scale(1.02);
}

form button.resend {
    color: var(--dark-color);
    background-color: #eeeeee;
    box-shadow: #d1cfdd 0 10px 20px -10px;
    cursor: pointer;
    transition: opacity 0.6s, background-color 0.6s, transform 0.4s, box-shadow .3s;;
}


form button.resend:active {
    box-shadow: #d1cfdd 0 10px 15px -10px;
    transform: scale(.98);
}

form button.resend:hover {
    box-shadow: #d1cfdd 0 15px 25px -10px;
    transform: scale(1.02);
}


.user-agreement span {
    display: inline;
    font-size: 13px;
    color: #333;
    padding: 6px;
    border-radius: 18px;
    line-height: 1.6;
    align-items:center;
    margin-bottom: 0;
    margin-top: 10px;
    background: none;
}

/* ╭──────── 外层 label ────────╮ */
.user-agreement{
    --size   : 20px;          /* 方框大小 */
    --radius : 4px;           /* 圆角 */
    --border : 2px;
    --brand  : #4636ff;       /* 勾选后主色，可改成你的主题色 */
    --gray   : #c0c7d1;       /* 默认边框色 */
    display:inline-flex;
    align-items:center;
    gap:0.45rem;
    font-size:14px;
    cursor:pointer;
    user-select:none;
    border-radius: 18px;
    width: 100%;
}

/* ╭──────── 隐藏原生复选框，但保持可聚焦 ────────╮ */
.user-agreement-checkbox{
    position:absolute;
    opacity:0;
    pointer-events:none;      /* 防止挡住点击 */
    width:0;height:0;margin:0;padding:0;
}

/* ╭──────── 自定义方框 ────────╮ */
.user-agreement-box{
    width:var(--size);
    height:var(--size);
    border:var(--border) solid var(--gray);
    border-radius: 18px;
    box-sizing:border-box;
    flex-shrink:0;
    position:relative;
    transition:.2s;
    margin-left: 10px;
}

.user-agreement-text {
    width: 100%;
    font-weight: 450;
    text-align: right;
    align-self: center;
    color: #444;
}

/* ① 勾选后：方框填充主题色、边框跟随主题 */
.user-agreement-checkbox:checked + .user-agreement-box{
    background:var(--brand);
    border-color:var(--brand);
}

/* ② 勾选后：绘制白色对勾 ✓ */
.user-agreement-checkbox:checked + .user-agreement-box::after{
    content:"";
    position:absolute;
    left:4px; top:1px;
    width:5px; height:9px;
    border:2px solid #fff;
    border-top:none; border-left:none;
    transform:rotate(45deg);
    text-align: center;
}

/* ③ 键盘聚焦时显示可访问性高亮环 */
.user-agreement-checkbox:focus-visible + .user-agreement-box{
    box-shadow:0 0 0 3px rgba(25,118,210,.35);
}

/* ④ 悬浮时轻微高亮边框 */
.user-agreement:hover .user-agreement-box{
    border-color:var(--brand);
}