.event-page {
    width: 100%;
    max-width: var(--page-safe-width);
    margin: 0 auto;
    min-height: 100vh;
    position: relative;
    padding-bottom: env(safe-area-inset-bottom, 0px);
    background-color: transparent;
}

.event-section {
    padding-left: calc(60 * var(--rpx));
    padding-right: calc(60 * var(--rpx));
}

.hero {
    padding-top: calc(60 * var(--rpx));
    position: relative;
    z-index: 2;
}

/* Pixso 80:1 — 顶栏（欢迎 / 管理扫码等，与 widgets/header.php mode=bar 对应） */
.event-site-header {
    position: relative;
    z-index: 4;
    width: 100%;
    box-sizing: border-box;
    padding: calc(20 * var(--rpx)) calc(60 * var(--rpx)) calc(18 * var(--rpx));
    /* Pixso 80:1 / 80:143 frame 填充 rgb(24,57,116) */
    background: #183974;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    isolation: isolate;
}

/* Pixso 矩形 358 / 359：828×120，整层 opacity 0.2 + 白→透明线性渐变 */
.event-site-header::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: calc(120 * var(--rpx));
    pointer-events: none;
    opacity: 0.2;
    background: linear-gradient(90deg, #ffffff 0%, rgba(255, 255, 255, 0) 100%);
    z-index: 0;
}

.event-site-header-logo {
    position: relative;
    z-index: 1;
    width: calc(162.9 * var(--rpx));
    height: calc(80 * var(--rpx));
    display: block;
    object-fit: contain;
}

.welcome-page {
    overflow: hidden;
}

.welcome-page .welcome-hero.hero {
    padding-top: calc(28 * var(--rpx));
}

.welcome-page .welcome-hero .welcome-title-image {
    margin-top: calc(40 * var(--rpx));
}

.welcome-title-image {
    width: calc(680 * var(--rpx));
    height: calc(69.21484375 * var(--rpx));
    margin-top: calc(74 * var(--rpx));
    display: block;
    position: relative;
    z-index: 2;
}

.hero-subtitle-lines {
    margin-top: calc(40 * var(--rpx));
    font-size: calc(48 * var(--rpx));
    font-weight: 400;
    line-height: calc(58 * var(--rpx));
    letter-spacing: normal;
    text-transform: uppercase;
    color: #b7f7f5;
    width: calc(475 * var(--rpx));
    display: flex;
    flex-direction: column;
    position: relative;
    z-index: 2;
}

.hero-subtitle-lines span {
    display: block;
}

.hero-subtitle-single {
    margin-top: calc(40 * var(--rpx));
    font-size: calc(48 * var(--rpx));
    font-weight: 400;
    line-height: calc(58 * var(--rpx));
    letter-spacing: normal;
    text-transform: uppercase;
    color: #b7f7f5;
    width: calc(475 * var(--rpx));
    position: relative;
    z-index: 2;
}

.meta-list {
    margin-top: calc(40 * var(--rpx));
    display: flex;
    flex-direction: column;
    gap: calc(38 * var(--rpx));
}

.welcome-page .hero .meta-list {
    margin-top: calc(390 * var(--rpx));
}

.meta-item {
    display: grid;
    grid-template-columns: calc(100 * var(--rpx)) 1fr;
    gap: calc(34 * var(--rpx));
    align-items: center;
}

.meta-icon {
    width: calc(100 * var(--rpx));
    height: calc(100 * var(--rpx));
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: calc(2 * var(--rpx)) solid rgba(255, 255, 255, 0.22);
    background: rgba(0, 0, 0, 0.18);
}

.meta-icon-svg {
    width: 42%;
    height: 42%;
    display: block;
}

/* Pixso 导出整圆图标（含底圆），不再叠一层描边底 */
.meta-icon--pixso {
    border: none;
    background: transparent;
    padding: 0;
    overflow: hidden;
}

.meta-icon--pixso .meta-icon-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.meta-label {
    font-size: calc(24 * var(--rpx));
    font-weight: 400;
    color: var(--theme-text-soft);
}

.welcome-page .hero .meta-label {
    color: rgba(255, 255, 255, 0.5);
}

.meta-value {
    margin-top: calc(6 * var(--rpx));
    font-size: calc(32 * var(--rpx));
    line-height: calc(38 * var(--rpx));
    font-weight: 600;
}

.section-title {
    margin-top: calc(64 * var(--rpx));
    margin-bottom: calc(24 * var(--rpx));
    text-transform: uppercase;
    font-size: calc(36 * var(--rpx));
    font-weight: 600;
}

/* Location 文案底 → Agenda 标题约 96px（设计稿 absolute y） */
.welcome-page .hero .section-title {
    margin-top: calc(96 * var(--rpx));
    font-size: calc(38 * var(--rpx));
}

.agenda-list {
    display: flex;
    flex-direction: column;
    gap: calc(16 * var(--rpx));
}

.agenda-item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: calc(14 * var(--rpx));
    font-size: calc(24 * var(--rpx));
    align-items: center;
}

.agenda-item > div:last-child {
    text-align: left;
}

.agenda-time {
    font-weight: 600;
    font-size: calc(32 * var(--rpx));
}

.event-button {
    display: flex;
    align-items: center;
    justify-content: center;
    height: calc(100 * var(--rpx));
    width: 100%;
    border-radius: calc(50 * var(--rpx));
    border: none;
    font-size: calc(32 * var(--rpx));
    font-weight: 600;
    text-transform: none;
    color: #fff;
    background: var(--theme-primary);
    cursor: pointer;
    box-sizing: border-box;
    position: relative;
    padding: 0 calc(36 * var(--rpx));
}

.event-button.secondary {
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(calc(10 * var(--rpx)));
}

/* Welcome CTA — Pixso 80:31 / 80:40 */
.event-button-primary-cta {
    background-color: #2655a8;
    border: none;
    justify-content: center;
    gap: calc(16 * var(--rpx));
}

.event-button-primary-cta-label {
    flex: 1;
    text-align: center;
    font-weight: 600;
}

.event-button-outline-cta {
    background: transparent;
    border: calc(2 * var(--rpx)) solid #46d4cb;
    color: #46d4cb;
    font-weight: 600;
}

.event-button-outline-cta-label {
    flex: 1;
    text-align: center;
}

.event-button-cta-icon {
    position: absolute;
    right: calc(20 * var(--rpx));
    top: 50%;
    transform: translateY(-50%);
    width: calc(60 * var(--rpx));
    height: calc(60 * var(--rpx));
    flex-shrink: 0;
    pointer-events: none;
}

.event-button-cta-img-wrap {
    position: absolute;
    right: calc(20 * var(--rpx));
    top: 50%;
    transform: translateY(-50%);
    width: calc(60 * var(--rpx));
    height: calc(60 * var(--rpx));
    pointer-events: none;
}

.event-button-cta-ring {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.event-button-cta-glyph {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 50%;
    height: 50%;
    object-fit: contain;
    display: block;
}

.event-button-cta-img-wrap .event-button-cta-export-img,
.event-button-cta-icon .event-button-cta-export-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.button-stack {
    margin-top: calc(44 * var(--rpx));
    display: flex;
    flex-direction: column;
    gap: calc(20 * var(--rpx));
}

.helper-text {
    color: var(--theme-text-soft);
    font-size: calc(22 * var(--rpx));
    line-height: 1.4;
}

.welcome-cta {
    margin-top: calc(120 * var(--rpx));
}

.select-card-list {
    display: flex;
    flex-direction: column;
    gap: calc(16 * var(--rpx));
    margin-top: calc(47 * var(--rpx));
}

/* Pixso 80:143 活动行纵向间距约 30（如 467+100 → 597） */
.event-page-form .select-card-list {
    gap: calc(30 * var(--rpx));
}

.select-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: calc(50 * var(--rpx));
    border: 1px solid var(--theme-card-border);
    background: var(--theme-card);
    height: calc(100 * var(--rpx));
    padding: 0 calc(30 * var(--rpx));
}

.select-card input {
    width: calc(44 * var(--rpx));
    height: calc(44 * var(--rpx));
    appearance: none;
    border: calc(2 * var(--rpx)) solid var(--theme-accent);
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
    flex-shrink: 0;
}

.select-card input:checked {
    background: var(--theme-accent);
    box-shadow: inset 0 0 0 calc(6 * var(--rpx)) #183974;
}

.form-grid {
    margin-top: calc(30 * var(--rpx));
    display: flex;
    flex-direction: column;
    gap: calc(18 * var(--rpx));
}

/* Pixso 80:143 表单项纵向间距约 26–30 */
.event-page-form .form-grid {
    gap: calc(26 * var(--rpx));
}

.field {
    height: calc(100 * var(--rpx));
    border-radius: calc(50 * var(--rpx));
    border: 1px solid var(--theme-card-border);
    background: var(--theme-card);
    padding: 0 calc(30 * var(--rpx));
    color: #fff;
    font-size: calc(24 * var(--rpx));
}

.field::placeholder {
    color: rgba(255, 255, 255, 0.58);
}

.check-block {
    margin-top: calc(24 * var(--rpx));
    display: flex;
    flex-direction: column;
    gap: calc(16 * var(--rpx));
}

.event-page-form .check-item {
    display: grid;
    grid-template-columns: calc(48 * var(--rpx)) 1fr;
    gap: calc(16 * var(--rpx));
    align-items: start;
    font-size: calc(24 * var(--rpx));
    line-height: calc(38 * var(--rpx));
}

.check-item input {
    margin-top: calc(5 * var(--rpx));
}

.check-item a {
    color: var(--theme-accent);
    text-decoration: underline;
}

.status-box {
    margin-top: calc(24 * var(--rpx));
    padding: calc(20 * var(--rpx));
    border-radius: calc(16 * var(--rpx));
    background: rgba(0, 0, 0, 0.26);
    border: 1px solid rgba(255, 255, 255, 0.16);
    font-size: calc(24 * var(--rpx));
    line-height: calc(38 * var(--rpx));
    white-space: pre-line;
}

.status-box.error {
    border-color: rgba(255, 80, 80, 0.5);
}

.qr-panel {
    margin-top: calc(40 * var(--rpx));
    border-radius: calc(24 * var(--rpx));
    background: rgba(0, 0, 0, 0.25);
    border: 1px solid rgba(255, 255, 255, 0.2);
    padding: calc(28 * var(--rpx));
}

.qr-image {
    width: calc(320 * var(--rpx));
    height: calc(320 * var(--rpx));
    margin: 0 auto;
    display: block;
    border-radius: calc(16 * var(--rpx));
    background: #fff;
}

.profile-list {
    margin-top: calc(24 * var(--rpx));
    display: flex;
    flex-direction: column;
    gap: calc(10 * var(--rpx));
    font-size: calc(24 * var(--rpx));
}

.event-footer {
    margin-top: calc(80 * var(--rpx));
    width: calc(828 * var(--rpx));
    height: calc(840 * var(--rpx));
    background: #132e5d;
    position: relative;
    z-index: 2;
    overflow: hidden;
}

.footer-contact {
    position: absolute;
    left: calc(162 * var(--rpx));
    top: calc(91 * var(--rpx));
    margin: 0;
    width: calc(485 * var(--rpx));
    text-align: center;
    font-size: calc(24 * var(--rpx));
    line-height: calc(38 * var(--rpx));
    font-weight: 300;
    color: #fff;
}

.footer-contact p {
    margin: 0;
    white-space: normal;
}

.footer-social-wrap {
    position: absolute;
    width: calc(220 * var(--rpx));
    height: calc(112 * var(--rpx));
    left: calc(304 * var(--rpx));
    top: calc(427 * var(--rpx));
}

.footer-find-us {
    margin: 0;
    text-align: center;
    font-size: calc(28 * var(--rpx));
    line-height: calc(30 * var(--rpx));
    color: #fff;
}

.footer-social {
    margin-top: calc(22 * var(--rpx));
    display: flex;
    justify-content: center;
    gap: calc(20 * var(--rpx));
}

.footer-social a {
    width: calc(60 * var(--rpx));
    height: calc(60 * var(--rpx));
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.footer-social img {
    width: 100%;
    height: 100%;
    display: block;
}

.footer-bottom {
    position: absolute;
    left: 0;
    top: calc(640 * var(--rpx));
    width: 100%;
    height: calc(200 * var(--rpx));
    background: #2655a8;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    /* Pixso frame-78_84：内容区 frame-78_85 top=35，底留白对称约 35 */
    padding-top: calc(35 * var(--rpx));
    padding-bottom: max(calc(35 * var(--rpx)), env(safe-area-inset-bottom, 0px));
    padding-left: calc(24 * var(--rpx));
    padding-right: calc(24 * var(--rpx));
}

.footer-bottom-content {
    width: calc(545 * var(--rpx));
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(20 * var(--rpx));
    text-align: center;
    color: #fff;
    font-size: calc(24 * var(--rpx));
    line-height: calc(30 * var(--rpx));
    font-weight: 300;
}

.footer-bottom-content p {
    margin: 0;
    white-space: pre-wrap;
}

.welcome-page .hero > * {
    position: relative;
    z-index: 2;
}

/* 表单页：统一使用 body 上的 party_bg.webp，此处不再叠底色图 */
.event-page:not(.welcome-page) {
    background-color: transparent;
}

/* 管理员扫码页 */
.admin-profile {
    margin-top: calc(32 * var(--rpx));
    border-radius: calc(24 * var(--rpx));
    background: rgba(0, 0, 0, 0.22);
    border: 1px solid rgba(255, 255, 255, 0.18);
    padding: calc(28 * var(--rpx));
    font-size: calc(24 * var(--rpx));
    line-height: 1.45;
}

.admin-profile dl {
    margin: 0;
    display: grid;
    grid-template-columns: calc(200 * var(--rpx)) 1fr;
    gap: calc(14 * var(--rpx)) calc(20 * var(--rpx));
}

.admin-profile dt {
    margin: 0;
    color: var(--theme-text-soft);
    font-weight: 600;
}

.admin-profile dd {
    margin: 0;
    font-weight: 400;
}

/* Pixso 80:143 / 注册与找回内页 */
.event-page-form {
    position: relative;
    overflow: hidden;
}

.event-page-form .event-form-header,
.event-page-form .event-section,
.event-page-form .event-footer {
    position: relative;
    z-index: 1;
}

.event-form-header {
    position: relative;
    /* Pixso logo 顶距 20 */
    padding-top: calc(20 * var(--rpx));
    background: #183974;
    isolation: isolate;
}

/* 与 80:143 矩形 359 一致：0.2 透明度白渐变，高度 120 */
.event-form-header::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: calc(120 * var(--rpx));
    pointer-events: none;
    opacity: 0.2;
    background: linear-gradient(90deg, #ffffff 0%, rgba(255, 255, 255, 0) 100%);
    z-index: 0;
}

.event-form-header-top {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-left: calc(60 * var(--rpx));
    padding-right: calc(60 * var(--rpx));
    padding-bottom: calc(20 * var(--rpx));
}

.event-form-header-logo {
    width: calc(162.9 * var(--rpx));
    height: calc(80 * var(--rpx));
    object-fit: contain;
    display: block;
}

.event-form-header-back {
    position: relative;
    z-index: 1;
    font-size: calc(24 * var(--rpx));
    font-weight: 300;
    letter-spacing: calc(1 * var(--rpx));
    text-transform: uppercase;
    color: #fff;
}

/* Pixso 80:143 矩形 360：828×120，底填 #46d4cb + 浅青透明渐变叠加 */
.event-form-header-band {
    position: relative;
    z-index: 1;
    margin-top: 0;
    margin-left: 0;
    margin-right: 0;
    width: 100%;
    border-radius: 0;
    padding: calc(26 * var(--rpx)) calc(24 * var(--rpx));
    box-sizing: border-box;
    background: linear-gradient(to right, #46D4CB, #D1FFFF);
}

.event-form-header-title {
    margin: 0;
    text-align: center;
    font-size: calc(48 * var(--rpx));
    font-weight: 600;
    line-height: calc(58 * var(--rpx));
    color: #2655a8;
}

.event-page-form .event-form-body.hero {
    padding-top: calc(48 * var(--rpx));
}

.helper-text-centered {
    text-align: center;
}

.helper-text-sub {
    display: inline-block;
    margin-top: calc(10 * var(--rpx));
    font-size: calc(22 * var(--rpx));
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.88);
}

/* Pixso 80:143 — 注册页活动说明：28 Semibold、行高 48 */
.event-page[data-page="register"] .event-form-body > p.helper-text:first-of-type {
    font-size: calc(28 * var(--rpx));
    font-weight: 600;
    line-height: calc(48 * var(--rpx));
    color: #fff;
}

.event-page[data-page="register"] .event-form-body > p.helper-text:first-of-type .helper-text-sub {
    margin-top: 0;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    color: inherit;
}

/* Pixso 80:173 — 选填提示：24 Light、行高 30 */
.event-page[data-page="register"] form > p.helper-text {
    font-size: calc(24 * var(--rpx));
    font-weight: 300;
    line-height: calc(30 * var(--rpx));
    color: #fff;
}

.section-title-centered {
    text-align: center;
    width: 100%;
}

.event-page-form .section-title.section-title-centered {
    margin-top: calc(48 * var(--rpx));
    margin-bottom: 0;
    text-transform: none;
    font-size: calc(28 * var(--rpx));
    font-weight: 600;
    line-height: calc(39 * var(--rpx));
}

.button-stack-single {
    margin-top: calc(44 * var(--rpx));
}

.event-button-submit-wide {
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: calc(3 * var(--rpx));
    font-size: calc(32 * var(--rpx));
}

/* Pixso 80:143「更多」输入：712×104，fill 白 0.1 + BACKGROUND_BLUR 30 + stroke 2 */
.event-page-form .field-shell {
    position: relative;
    height: calc(104 * var(--rpx));
    border-radius: 999px;
    box-sizing: border-box;
    overflow: hidden;
}

.event-page-form .field-shell::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    padding: calc(2 * var(--rpx));
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0) 100%);
    box-shadow: inset 0 0 0 calc(2 * var(--rpx)) rgba(255, 255, 255, 0.26);
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
}

.event-page-form .field-shell--white {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(calc(30 * var(--rpx)));
    -webkit-backdrop-filter: blur(calc(30 * var(--rpx)));
}

.event-page-form .field-shell > .field {
    width: 100%;
    position: relative;
    z-index: 1;
    height: 100%;
    border: none;
    border-radius: inherit;
    background: transparent;
    box-shadow: none;
    padding: 0 calc(30 * var(--rpx));
}

.event-page-form .field-shell > .field:focus {
    outline: none;
}

.event-page-form .field-shell--white > .field {
    height: calc(104 * var(--rpx));
    color: #ffffff;
}

.event-page-form .field-shell--white > .field::placeholder {
    color: rgba(255, 255, 255, 0.55);
}

/* Pixso 80:197 已填输入：白底实色 + 模糊（Frame_80_214 等） */
.event-page-form .field-shell--white:focus-within {
    background: #ffffff;
}

.event-page-form .field-shell--white:focus-within::before {
    background: linear-gradient(180deg, rgba(38, 85, 168, 0.4) 0%, rgba(38, 85, 168, 0.08) 100%);
    box-shadow: inset 0 0 0 calc(2 * var(--rpx)) rgba(38, 85, 168, 0.35);
}

.event-page-form .field-shell--white:focus-within > .field {
    color: #214ebf;
}

.event-page-form .field-shell--white:focus-within > .field::placeholder {
    color: rgba(33, 78, 191, 0.45);
}

/* Pixso 80:143 活动行默认 708×100：白 0.1 实填、白渐变描边 2、无 blur（矩形 154） */
.event-page-form .select-card {
    height: calc(100 * var(--rpx));
    border-radius: 999px;
    box-sizing: border-box;
    background: rgba(255, 255, 255, 0.1);
    border: none;
    position: relative;
    overflow: hidden;
    color: #ffffff;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    box-shadow: none;
}

.event-page-form .select-card::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    padding: calc(2 * var(--rpx));
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0) 100%);
    box-shadow: inset 0 0 0 calc(2 * var(--rpx)) rgba(255, 255, 255, 0.26);
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
}

.event-page-form .select-card > span,
.event-page-form .select-card > input {
    position: relative;
    z-index: 1;
}

.event-page-form .select-card > span {
    font-size: calc(28 * var(--rpx));
    line-height: calc(30 * var(--rpx));
    font-weight: 400;
}

/* Pixso 80:197 选中活动行：#2655a8 实底（Frame 80:205） */
.event-page-form .select-card:has(input:checked) {
    background: #2655a8;
    border: none;
    color: #fff;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.event-page-form .select-card:has(input:checked)::before {
    display: none;
}

/* 默认圆点：稿面组合 226 未选 #d3dcef @ 0.5 */
.event-page-form .select-card input {
    border: calc(2 * var(--rpx)) solid rgba(255, 255, 255, 0.4);
    width: calc(48 * var(--rpx));
    height: calc(48 * var(--rpx));
    background: rgba(211, 220, 239, 0.5);
    box-shadow: none;
}

.event-page-form .select-card input:checked {
    background: #46d4cb;
    box-shadow: none;
    position: relative;
}

.event-page-form .select-card input:checked::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 42%;
    width: 35%;
    height: 60%;
    border: solid #fff;
    border-width: 0 calc(3 * var(--rpx)) calc(3 * var(--rpx)) 0;
    transform: translate(-50%, -50%) rotate(45deg);
}

.event-page-form .check-item input[type="checkbox"] {
    appearance: none;
    width: calc(48 * var(--rpx));
    height: calc(48 * var(--rpx));
    border-radius: 50%;
    border: calc(2 * var(--rpx)) solid rgba(255, 255, 255, 0.38);
    background: rgba(211, 220, 239, 0.5);
    margin-top: calc(5 * var(--rpx));
    flex-shrink: 0;
}

/* Pixso 80:197 勾选：底 #46d4cb，勾描边 rgb(33,78,191) */
.event-page-form .check-item input:checked {
    background: #46d4cb;
    border-color: #46d4cb;
    position: relative;
}

.event-page-form .check-item input:checked::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 42%;
    width: 32%;
    height: 55%;
    border: solid #214ebf;
    border-width: 0 calc(2.5 * var(--rpx)) calc(2.5 * var(--rpx)) 0;
    transform: translate(-50%, -50%) rotate(45deg);
}

/* Pixso 80:73 — Agenda 描述略浅 */
.agenda-desc {
    color: rgba(255, 255, 255, 0.78);
    font-weight: 400;
}

/* 欢迎页主 CTA 右侧图标（矢量，非底图） */
.event-button-cta-icon-my-registration,
.event-button-cta-icon-register {
    background: none !important;
}

.event-button-cta-icon-my-registration::after,
.event-button-cta-icon-register::after {
    display: none !important;
}

.event-button-cta-icon-my-registration svg,
.event-button-cta-icon-register svg {
    display: block;
    width: calc(28 * var(--rpx));
    height: calc(28 * var(--rpx));
}

/* Pixso 80:455 — 找回简化页 */
.retrieve-simple-body {
    text-align: center;
}

.retrieve-hero-icon {
    display: flex;
    justify-content: center;
    margin-top: calc(112 * var(--rpx));
    width: calc(200 * var(--rpx));
    height: calc(200 * var(--rpx));
    margin-left: auto;
    margin-right: auto;
}

.retrieve-hero-icon img {
    width: 100%;
    height: 100%;
}

.retrieve-simple-title {
    margin: calc(49 * var(--rpx)) 0 0;
    font-size: calc(28 * var(--rpx));
    font-weight: 600;
    line-height: calc(39 * var(--rpx));
    color: #fff;
}

.retrieve-simple-sub {
    margin-top: calc(16 * var(--rpx));
    font-size: calc(24 * var(--rpx));
    font-weight: 400;
    line-height: calc(38 * var(--rpx));
}

.retrieve-simple-form .form-grid {
    margin-top: calc(115 * var(--rpx));
}

.event-page-form .field-shell--glass {
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(calc(8 * var(--rpx)));
    -webkit-backdrop-filter: blur(calc(8 * var(--rpx)));
}

.event-page-form .field-shell--glass > .field {
    color: #ffffff;
}

.event-page-form .field-shell--glass > .field::placeholder {
    color: rgba(255, 255, 255, 0.55);
}

/* Pixso 80:253 — 签到二维码页 */
.event-page-checked-in {
    background-color: #183974;
}

.checked-in-header-top {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-left: calc(60 * var(--rpx));
    padding-right: calc(60 * var(--rpx));
    padding-bottom: calc(20 * var(--rpx));
}

.checked-in-header {
    position: relative;
    padding-top: calc(20 * var(--rpx));
    background: #183974;
    isolation: isolate;
}

.checked-in-header::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: calc(120 * var(--rpx));
    pointer-events: none;
    opacity: 0.2;
    background: linear-gradient(90deg, #ffffff 0%, rgba(255, 255, 255, 0) 100%);
    z-index: 0;
}

.checked-in-banner {
    position: relative;
    z-index: 1;
    margin: 0;
    width: 100%;
    border-radius: 0;
    padding: calc(26 * var(--rpx)) calc(24 * var(--rpx));
    box-sizing: border-box;
    background-color: #46d4cb;
    background-image: linear-gradient(
        90deg,
        rgba(210, 255, 255, 0.55) 0%,
        rgba(210, 255, 255, 0.12) 45%,
        rgba(232, 251, 255, 0.35) 100%
    );
}

.checked-in-banner-title {
    margin: 0;
    text-align: center;
    font-size: calc(48 * var(--rpx));
    font-weight: 600;
    line-height: calc(58 * var(--rpx));
    color: #2655a8;
}

.checked-in-body {
    padding-top: calc(80 * var(--rpx));
}

.checked-in-divider-gradient {
    height: calc(4 * var(--rpx));
    margin: 0;
    border-radius: calc(2 * var(--rpx));
    background: linear-gradient(90deg, #5eead4 0%, #a855f7 100%);
}

.checked-in-deflist {
    margin: 0;
    padding: 0;
}

.checked-in-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: calc(24 * var(--rpx));
    min-height: 0;
    padding: calc(41 * var(--rpx)) 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
    font-size: calc(28 * var(--rpx));
}

.checked-in-row dt {
    margin: 0;
    font-weight: 300;
    color: #ffffff;
    flex-shrink: 0;
    line-height: calc(38 * var(--rpx));
}

.checked-in-row dd {
    margin: 0;
    text-align: right;
    font-weight: 600;
    color: #fff;
    line-height: calc(38 * var(--rpx));
}

#profile-activity {
    white-space: pre-line;
}

.qr-glow-wrap {
    position: relative;
    margin: calc(191 * var(--rpx)) auto 0;
    width: calc(458 * var(--rpx));
    max-width: 100%;
    box-sizing: border-box;
    padding: calc(12 * var(--rpx));
    border-radius: calc(10 * var(--rpx));
    background: rgba(255, 255, 255, 0.02);
}

.qr-glow-wrap::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    padding: calc(1 * var(--rpx));
    mask-image: linear-gradient(135deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 1) 100%);
    box-shadow: inset 0 0 0 1px #fff;
    pointer-events: none;
}

.event-page-checked-in .button-stack-single {
    margin-top: calc(177 * var(--rpx));
}

.qr-image-framed img,
.qr-image-framed canvas,
.qr-image-framed svg {
    width: 100%;
    height: 100%;
    display: block;
    border-radius: calc(9 * var(--rpx));
}

.qr-image-framed {
    width: calc(426 * var(--rpx));
    height: calc(426 * var(--rpx));
    margin: 0 auto;
    background: transparent;
}

.event-button-save-image {
    background: transparent !important;
    border: calc(2 * var(--rpx)) solid #46d4cb !important;
    color: #46d4cb !important;
    text-transform: none;
    font-weight: 600;
    position: relative;
    padding-right: calc(72 * var(--rpx));
}

.event-button-save-image-label {
    flex: 1;
    text-align: center;
}

.event-button-save-image-icon {
    position: absolute;
    right: calc(20 * var(--rpx));
    top: 50%;
    transform: translateY(-50%);
    width: calc(60 * var(--rpx));
    height: calc(60 * var(--rpx));
    background: url("../images/pixso_80_284_save_icon.png") center / contain no-repeat;
}

/* Pixso 80:318 — 管理员嘉宾卡 */
.event-page-admin-card .admin-card-hero {
    flex-shrink: 0;
    padding-top: calc(60 * var(--rpx));
    padding-bottom: calc(280 * var(--rpx));
    text-align: center;
}

.admin-hero-logo-wrap {
    display: flex;
    justify-content: center;
}

.admin-hero-logo {
    width: calc(325.87109375 * var(--rpx));
    height: calc(160 * var(--rpx));
    object-fit: contain;
}

.admin-hero-title-img {
    margin-left: auto;
    margin-right: auto;
    margin-top: clamp(8px, calc(42 * var(--rpx)), calc(78 * var(--rpx)));
}

.admin-hero-sub {
    margin-left: auto;
    margin-right: auto;
    margin-top: clamp(6px, calc(22 * var(--rpx)), calc(40 * var(--rpx)));
    width: calc(475 * var(--rpx));
    text-align: center;
}

.admin-hero-badge {
    position: absolute;
    left: 50%;
    top: 0;
    transform: translate(-50%, -50%);
    display: flex;
    justify-content: center;
    z-index: 3;
}

.event-page-admin-card {
    min-height: 100dvh;
    background: #183974;
    overflow: hidden;
    position: relative;
    display: flex;
    flex-direction: column;
}

.admin-card-surface-wrap {
    position: relative;
    flex: 0 0 auto;
    height: calc(100vh - 880 * var(--rpx));
    margin-top: auto;
    margin-bottom: 0;
    justify-self: flex-end;
}

.admin-card-surface {
    position: absolute;
    inset: 0;
    background: url("../images/result_back.svg") center top / 100% auto no-repeat;
}

.admin-badge-circle {
    width: calc(200 * var(--rpx));
    height: calc(200 * var(--rpx));
    border-radius: 50%;
    background: #2655a8;
    display: flex;
    align-items: center;
    justify-content: center;
}

.admin-badge-circle img {
    width: 100%;
    height: 100%;
}

.admin-cyan-card {
    position: relative;
    height: 100%;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: clamp(10px, calc(16 * var(--rpx)), calc(24 * var(--rpx)));
    padding: clamp(16px, calc(24 * var(--rpx)), calc(36 * var(--rpx))) calc(60 * var(--rpx));
    text-align: center;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.admin-card-block:first-of-type {
    margin-top: auto;
}

.admin-card-label {
    font-size: calc(32 * var(--rpx));
    font-weight: 300;
    line-height: calc(48 * var(--rpx));
    color: #2655a8;
}

.admin-card-value {
    margin-top: calc(8 * var(--rpx));
    font-size: calc(48 * var(--rpx));
    font-weight: 600;
    line-height: calc(58 * var(--rpx));
    color: #2655a8;
}

.admin-card-sep {
    height: 1px;
    margin: 0 auto;
    width: 88%;
    background: rgba(12, 37, 69, 0.12);
    margin-top: calc(20 * var(--rpx));
    margin-bottom: calc(20 * var(--rpx));
}

.admin-card-extra {
    margin-top: calc(36 * var(--rpx));
}

.admin-result-actions {
    margin-top: auto;
    margin-bottom: 0;
    justify-self: flex-end;
}

.event-page-admin-card .status-box {
    margin-top: 0;
    background: rgba(18, 50, 98, 0.2);
    border-color: rgba(38, 85, 168, 0.4);
    color: #2655a8;
}

@media (max-height: 760px) {
    .admin-badge-circle {
        width: calc(164 * var(--rpx));
        height: calc(164 * var(--rpx));
    }

    .admin-card-label {
        font-size: calc(28 * var(--rpx));
        line-height: calc(40 * var(--rpx));
    }

    .admin-card-value {
        font-size: calc(40 * var(--rpx));
        line-height: calc(50 * var(--rpx));
    }

    .admin-cyan-card {
        gap: calc(12 * var(--rpx));
    }
}

/* Pixso 80:495 — 隐私弹窗 */
.footer-privacy-link {
    display: inline;
    padding: 0;
    margin: 0;
    border: none;
    background: none;
    color: inherit;
    font: inherit;
    text-decoration: underline;
    cursor: pointer;
}

.privacy-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: calc(24 * var(--rpx));
}

.privacy-modal.is-open {
    display: flex;
}

.privacy-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(4, 19, 53, 0.72);
    backdrop-filter: blur(calc(6 * var(--rpx)));
}

.privacy-modal-panel {
    position: relative;
    /* Pixso 80:495 容器 5：708 宽、圆角 30 */
    width: min(calc(708 * var(--rpx)), 100%);
    height: min(calc(1040 * var(--rpx)), 90vh);
    background: #fff;
    border-radius: calc(30 * var(--rpx));
    box-shadow: 0 calc(20 * var(--rpx)) calc(60 * var(--rpx)) rgba(0, 0, 0, 0.25);
    padding: calc(28 * var(--rpx)) calc(28 * var(--rpx)) calc(24 * var(--rpx));
    display: flex;
    flex-direction: column;
    min-height: 0;
    z-index: 1;
}

.privacy-modal-close-btn {
    position: absolute;
    right: calc(20 * var(--rpx));
    top: calc(20 * var(--rpx));
    width: calc(60 * var(--rpx));
    height: calc(60 * var(--rpx));
    border-radius: 999px;
    border: none;
    background: url("../images/pixso_80_565_close_button.png") center / contain no-repeat;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.privacy-modal-title {
    margin: 0 0 calc(12 * var(--rpx));
    flex-shrink: 0;
    text-align: center;
    font-size: calc(48 * var(--rpx));
    font-weight: 500;
    line-height: calc(58 * var(--rpx));
    color: #2655a8;
    padding-right: calc(60 * var(--rpx));
}

.privacy-modal-sep {
    height: 1px;
    background: rgba(12, 37, 69, 0.12);
    margin-bottom: calc(16 * var(--rpx));
    flex-shrink: 0;
}

.privacy-modal-scroll-shell {
    display: flex;
    flex: 1;
    gap: calc(16 * var(--rpx));
    align-items: stretch;
    min-height: 0;
}

.privacy-modal-scroll-shell.is-no-overflow {
    gap: 0;
}

.privacy-modal-scroll-shell.is-no-overflow .privacy-modal-scrollmock {
    opacity: 0.45;
}

.privacy-modal-scroll {
    flex: 1;
    min-width: 0;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.privacy-modal-scroll::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
}

.privacy-modal-scrollmock {
    flex-shrink: 0;
    /* Pixso 80:495 矩形 356 / 357：轨道宽 4 */
    width: calc(4 * var(--rpx));
    min-width: 3px;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.privacy-modal-scrollmock-track {
    position: relative;
    flex: 1;
    min-height: calc(120 * var(--rpx));
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.1);
}

.privacy-modal-scrollmock-thumb {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    width: 100%;
    border-radius: 999px;
    background: #2655a8;
    pointer-events: none;
}

.privacy-modal-body {
    font-size: calc(28 * var(--rpx));
    line-height: calc(48 * var(--rpx));
    color: #333333;
}

.privacy-modal-body strong{
    font-weight: bold;
}

.privacy-modal-body h2{
    font-weight: bold;
    margin-top: 1em;
    font-size: 1.25em;
}
.privacy-modal-body ul{
    padding-left: 1.25em;
}


.privacy-modal-subhead {
    margin: calc(20 * var(--rpx)) 0 calc(8 * var(--rpx));
    font-size: calc(28 * var(--rpx));
    font-weight: 700;
    line-height: calc(48 * var(--rpx));
    color: #2655a8;
}

.captcha-block {
    margin-top: calc(26 * var(--rpx));
}

.captcha-row {
    display: flex;
    align-items: center;
    gap: calc(16 * var(--rpx));
    width: 100%;
}

.captcha-image {
    width: calc(190 * var(--rpx));
    height: calc(100 * var(--rpx));
    border-radius: calc(16 * var(--rpx));
    border: calc(2 * var(--rpx)) solid rgba(255, 255, 255, 0.25);
    background: rgba(255, 255, 255, 0.08);
    object-fit: cover;
    display: block;
}

.captcha-refresh-btn {
    height: calc(100 * var(--rpx));
    border-radius: calc(36 * var(--rpx));
    border: calc(2 * var(--rpx)) solid rgba(70, 212, 203, 0.58);
    color: #46d4cb;
    background: rgba(38, 85, 168, 0.35);
    font-size: calc(24 * var(--rpx));
    font-weight: 600;
    padding: 0 calc(20 * var(--rpx));
    cursor: pointer;
}

.captcha-field {
    margin-top: 0;
    min-width: 0;
}

.captcha-row .field-shell {
    flex: 1;
    min-width: 0;
}

/* Pixso 80:290 — 扫码页 */
.event-page-admin-scan {
    background-color: #041335;
    min-height: 100vh;
    overflow: hidden;
    position: relative;
}

.event-page-admin-scan::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(
        180deg,
        rgba(4, 19, 53, 0.92) 0%,
        rgba(4, 19, 53, 0.48) 10%,
        rgba(4, 19, 53, 0.12) 22%,
        rgba(4, 19, 53, 0) 34%,
        rgba(4, 19, 53, 0) 66%,
        rgba(4, 19, 53, 0.12) 78%,
        rgba(4, 19, 53, 0.48) 90%,
        rgba(4, 19, 53, 0.92) 100%
    );
}

.event-page-admin-scan .event-site-header {
    position: relative;
    z-index: 2;
    background: #183974;
    padding: calc(20 * var(--rpx)) calc(60 * var(--rpx)) calc(20 * var(--rpx));
    border-bottom: none;
}

.event-page-admin-scan .event-site-header-logo {
    width: calc(162.9375 * var(--rpx));
    height: calc(80 * var(--rpx));
}

.admin-scan-body {
    position: relative;
    z-index: 2;
    min-height: calc(1672 * var(--rpx));
    padding-top: calc(548 * var(--rpx));
}

.admin-scan-frame-wrap {
    position: relative;
    width: calc(457 * var(--rpx));
    height: calc(455 * var(--rpx));
    margin: 0 auto;
    border-radius: calc(2 * var(--rpx));
    overflow: hidden;
    background: rgba(22, 59, 111, 0.35);
    box-shadow: inset 0 0 0 calc(2 * var(--rpx)) rgba(255, 255, 255, 0.12);
}

.admin-scan-status {
    margin: calc(28 * var(--rpx)) auto 0;
    width: fit-content;
    max-width: calc(708 * var(--rpx));
    padding: calc(12 * var(--rpx)) calc(20 * var(--rpx));
    border-radius: calc(24 * var(--rpx));
    font-size: calc(22 * var(--rpx));
    line-height: calc(30 * var(--rpx));
    color: rgba(255, 255, 255, 0.9);
    background: rgba(4, 19, 53, 0.4);
    border: 1px solid rgba(255, 255, 255, 0.18);
    text-align: center;
}

.admin-scan-status.is-error {
    color: #ffd2d2;
    border-color: rgba(255, 90, 90, 0.45);
    background: rgba(76, 10, 10, 0.36);
}

.admin-scan-status.is-ok {
    color: #c8fff3;
    border-color: rgba(70, 212, 203, 0.5);
}

.admin-scan-video {
    position: absolute;
    width: 1px;
    height: 1px;
    left: -9999px;
    top: -9999px;
    opacity: 0;
    z-index: -1;
    pointer-events: none;
}

.admin-scan-video::-webkit-media-controls {
    display: none !important;
    opacity: 0 !important;
}

.admin-scan-video::-webkit-media-controls-enclosure {
    display: none !important;
    opacity: 0 !important;
}

.admin-scan-canvas {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    pointer-events: none;
}

.admin-scan-frame {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.admin-scan-corner {
    position: absolute;
    width: calc(24 * var(--rpx));
    height: calc(24 * var(--rpx));
    border-color: #5eead4;
    border-style: solid;
    box-sizing: border-box;
    filter: drop-shadow(0 0 calc(8 * var(--rpx)) rgba(94, 234, 212, 0.8));
}

.admin-scan-c-tl {
    left: 0;
    top: 0;
    border-width: calc(4 * var(--rpx)) 0 0 calc(4 * var(--rpx));
}

.admin-scan-c-tr {
    right: 0;
    top: 0;
    border-width: calc(4 * var(--rpx)) calc(4 * var(--rpx)) 0 0;
}

.admin-scan-c-bl {
    left: 0;
    bottom: 0;
    border-width: 0 0 calc(4 * var(--rpx)) calc(4 * var(--rpx));
}

.admin-scan-c-br {
    right: 0;
    bottom: 0;
    border-width: 0 calc(4 * var(--rpx)) calc(4 * var(--rpx)) 0;
}

.admin-scan-grid {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: calc(228 * var(--rpx));
    opacity: 0.5;
    background-image: radial-gradient(circle, rgba(94, 234, 212, 0.4) 1px, transparent 1.3px);
    background-size: calc(14 * var(--rpx)) calc(14 * var(--rpx));
    background-color: rgba(70, 212, 203, 0.12);
    mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.95) 0%, rgba(0, 0, 0, 0) 100%);
}

.admin-scan-line {
    position: absolute;
    left: 0;
    right: 0;
    height: calc(6 * var(--rpx));
    border-radius: calc(2 * var(--rpx));
    background: #46d4cb;
    box-shadow: 0 0 calc(16 * var(--rpx)) rgba(94, 234, 212, 0.95);
    animation: adminScanLineMove 2.1s linear infinite;
}

.admin-cyan-card .event-button{
    justify-self: flex-end;
    margin-top: auto;
    margin-bottom: 0;
}

@keyframes adminScanLineMove {
    0% {
        top: 0;
        opacity: 0.88;
    }
    50% {
        top: calc(449 * var(--rpx));
        opacity: 1;
    }
    100% {
        top: 0;
        opacity: 0.88;
    }
}
@media (max-width: 500px) {
    .admin-scan-body {
        padding-top: max(calc(460 * var(--rpx)), 34vh);
    }
}
