﻿@font-face {
    font-family: "SourceHanSansCN-Medium";
    src: url("../fonts/SourceHanSansCN-Medium.otf") format("opentype");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "ConferenceTimes";
    src: url("../fonts/Times New Roman.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "NFEC-Alimama-ShuHeiTi";
    src: url("../fonts/alimama-shuheiti.ttf") format("truetype");
    font-weight: 400 900;
    font-style: normal;
    font-display: swap;
}

html, body {
    margin: 0;
    min-width: 1200px;
    color: #333;
    font-family: "SourceHanSansCN-Medium", "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif;
    background: #fff;
    letter-spacing: 0;
    scroll-padding-top: 120px;
}

button,
input,
select,
textarea {
    font-family: inherit;
}

body.conference-body {
    padding-top: 120px !important;
}

.conference-body,
.auth-body {
    --desktop-scale: 1;
}

a {
    color: inherit;
    text-decoration: none;
}

a:hover,
a:focus {
    color: inherit;
    text-decoration: none;
}

@font-face {
    font-family: 'PangMenZhengDaoTitle';
    src: url('../fonts/conference/pangmen-title.ttf') format('truetype');
    font-display: swap;
}

.site-header {
    height: 120px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 1px 0 rgba(16, 82, 168, 0.08);
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    backdrop-filter: saturate(120%) blur(8px);
}

.site-header__inner {
    width: 1720px;
    height: 120px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 32px;
}

.site-logo {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    flex: 0 0 auto;
}

.site-logo img {
    display: block;
    width: 96px;
    height: 72px;
    object-fit: contain;
}

.site-logo .site-logo__text {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    color: #3C77AD;
    font-family: 'PangMenZhengDaoTitle', 'PingFang SC', 'Microsoft YaHei', sans-serif;
    font-size: 38px;
    line-height: 1;
    letter-spacing: 2px;
    white-space: nowrap;
    font-weight: 400;
    text-rendering: geometricPrecision;
}

.site-nav {
    display: flex;
    align-items: center;
    gap: 38px;
    flex: 1;
    white-space: nowrap;
}

.site-nav a {
    color: #202833;
    font-size: 18px;
    font-weight: 500;
    line-height: 120px;
    position: relative;
    transition: color .18s ease;
}

.site-nav a:hover,
.site-nav a:focus {
    color: #0787f5;
}

.site-nav a.active,
.site-nav a[aria-current="page"] {
    color: #0787f5;
    font-weight: 700;
}

.site-nav a.active:after,
.site-nav a[aria-current="page"]:after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 36px;
    width: 28px;
    height: 3px;
    border-radius: 3px;
    background: #0787f5;
    transform: translateX(-50%);
}

.site-nav [data-nav-closed] {
    cursor: pointer;
}

.site-menu-toggle {
    display: none;
}

.site-closed-modal {
    position: fixed;
    inset: 0;
    z-index: 3000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    box-sizing: border-box;
}

.site-closed-modal.active {
    display: flex;
}

.site-closed-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(21, 43, 74, .38);
    backdrop-filter: blur(3px);
}

.site-closed-modal__panel {
    position: relative;
    width: 360px;
    min-height: 190px;
    padding: 42px 38px 32px;
    box-sizing: border-box;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(13, 62, 120, .24);
    text-align: center;
    animation: closedModalIn .18s ease-out;
}

.site-closed-modal__panel:before {
    content: "";
    display: block;
    width: 54px;
    height: 54px;
    margin: 0 auto 18px;
    border-radius: 50%;
    background:
        linear-gradient(#0788ff, #0788ff) center 16px / 4px 20px no-repeat,
        linear-gradient(#0788ff, #0788ff) center 40px / 4px 4px no-repeat,
        #eaf5ff;
}

.site-closed-modal__panel strong {
    display: block;
    color: #202833;
    font-size: 24px;
    font-weight: 700;
    line-height: 32px;
}

.site-closed-modal__panel p {
    margin: 10px 0 25px;
    color: #667789;
    font-size: 16px;
    line-height: 24px;
}

.site-closed-modal__ok {
    min-width: 128px;
    height: 42px;
    border: 0;
    border-radius: 22px;
    background: #0788ff;
    color: #fff;
    font-size: 16px;
    line-height: 42px;
    cursor: pointer;
}

.site-closed-modal__close {
    position: absolute;
    top: 12px;
    right: 14px;
    width: 28px;
    height: 28px;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #9aa8b5;
    font-size: 28px;
    line-height: 24px;
    cursor: pointer;
}

.site-closed-modal__ok:hover,
.site-closed-modal__ok:focus {
    background: #0076e8;
}

.site-closed-modal__close:hover,
.site-closed-modal__close:focus {
    color: #0788ff;
}

@keyframes closedModalIn {
    from { opacity: 0; transform: translateY(12px) scale(.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

.building-page {
    min-height: calc(100vh - 84px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 110px 24px 160px;
    box-sizing: border-box;
    background: linear-gradient(180deg, #cfe0ff 0%, #eef4ff 100%);
}

.building-card {
    width: clamp(460px, 31vw, 620px);
    max-width: 100%;
    padding: clamp(48px, 3.2vw, 70px) clamp(56px, 4vw, 82px) clamp(42px, 3vw, 64px);
    box-sizing: border-box;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(43, 74, 117, .24);
    text-align: center;
}

.building-card h1 {
    margin: 0 0 clamp(26px, 2.1vw, 40px);
    color: #0788ff;
    font-size: clamp(28px, 1.65vw, 38px);
    font-weight: 700;
    line-height: 1.35;
}

.building-card h2 {
    margin: 0 0 clamp(16px, 1.1vw, 24px);
    color: #0788ff;
    font-size: clamp(20px, 1.1vw, 28px);
    font-weight: 700;
    line-height: 1.4;
}

.building-card p {
    display: flex;
    gap: 16px;
    justify-content: center;
    margin: 10px 0 0;
    color: #2b3d54;
    font-size: clamp(16px, .82vw, 22px);
    line-height: 1.7;
    white-space: nowrap;
}

.building-card span,
.building-card em {
    flex: 0 0 auto;
}

.building-card em {
    font-style: normal;
}

.site-search-trigger {
    width: 44px;
    height: 44px;
    border: 1px solid #e4eaf0;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    background: #fff;
    color: #6f8294;
    font-size: 18px;
    cursor: pointer;
    transition: border-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.site-search-trigger:hover,
.site-search-trigger:focus {
    border-color: #0788ff;
    color: #0788ff;
    box-shadow: 0 10px 22px rgba(7, 136, 255, .16);
    outline: 0;
    transform: translateY(-1px);
}

.site-search-modal {
    position: fixed;
    inset: 0;
    z-index: 1500;
    display: none;
    align-items: flex-start;
    justify-content: center;
    padding: 170px 24px 24px;
}

.site-search-modal.active {
    display: flex;
}

.site-search-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(8, 28, 56, .42);
    backdrop-filter: blur(4px);
}

.site-search-modal__panel {
    position: relative;
    width: min(720px, 100%);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 26px 70px rgba(10, 48, 96, .24);
    padding: 34px 38px 38px;
    box-sizing: border-box;
    animation: searchModalIn .18s ease both;
}

.site-search-modal__panel strong {
    display: block;
    margin: 0 0 18px;
    color: #10243d;
    font-size: 24px;
    line-height: 1.2;
}

.site-search-modal__close {
    position: absolute;
    top: 14px;
    right: 16px;
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #8a9aaa;
    font-size: 30px;
    line-height: 28px;
    cursor: pointer;
}

.site-search-modal__close:hover,
.site-search-modal__close:focus {
    color: #0788ff;
    outline: 0;
}

.site-search-form {
    height: 58px;
    border: 1px solid #d8e4ee;
    border-radius: 8px;
    display: flex;
    align-items: center;
    padding: 0 8px 0 18px;
    color: #8da0b2;
    background: #f8fbff;
}

.site-search-form input {
    min-width: 0;
    flex: 1;
    height: 100%;
    border: 0;
    outline: 0;
    padding: 0 14px;
    background: transparent;
    color: #203348;
    font-size: 18px;
}

.site-search-form button {
    width: 96px;
    height: 42px;
    border: 0;
    border-radius: 6px;
    background: #0788ff;
    color: #fff;
    font-size: 17px;
    cursor: pointer;
    transition: background .18s ease, box-shadow .18s ease;
}

.site-search-form button:hover,
.site-search-form button:focus {
    background: #006fd6;
    box-shadow: 0 10px 22px rgba(7, 136, 255, .2);
    outline: 0;
}

body.search-modal-open {
    overflow: hidden;
}

@keyframes searchModalIn {
    from { opacity: 0; transform: translateY(-10px) scale(.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

.site-actions {
    display: flex;
    gap: 13px;
    flex: 0 0 auto;
    margin-left: auto;
}

.pill-btn {
    width: 86px;
    height: 44px;
    border-radius: 24px;
    background: #0b87f9;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    line-height: 1;
    text-align: center;
    transition: background .18s ease, box-shadow .18s ease, transform .18s ease, color .18s ease;
}

.pill-btn:hover,
.pill-btn:focus {
    background: #006fd6;
    background-image: none;
    color: #fff;
    box-shadow: 0 10px 22px rgba(0, 117, 220, .24);
    transform: translateY(-1px);
}

.hero-section {
    height: 960px;
    background: #07153a;
    position: relative;
    overflow: hidden;
}

.hero-section__bg {
    position: absolute;
    inset: 0;
    background: center top / cover no-repeat;
    z-index: 0;
}

.hero-copy {
    position: relative;
    z-index: 2;
    text-align: center;
    padding-top: 139px;
}

.hero-custom-font {
    font-family: "NFEC-Alimama-ShuHeiTi", "SourceHanSansCN-Medium", "Microsoft YaHei", sans-serif;
}

.hero-copy p {
    margin: 0 0 38px;
    color: #fff;
    font-size: 45px;
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: 2px;
    text-shadow: 0 2px 10px rgba(24, 106, 215, .2);
}

.hero-copy h1 {
    position: relative;
    display: inline-block;
    margin: 0;
    color: #fff;
    font-size: 84px;
    font-weight: 800;
    line-height: 1.04;
    letter-spacing: 6px;
    white-space: nowrap;
    -webkit-box-reflect: below 0 linear-gradient(0deg, rgba(255, 255, 255, .44) 0%, rgba(255, 255, 255, .28) 22%, rgba(255, 255, 255, .16) 46%, rgba(255, 255, 255, .06) 70%, transparent 92%);
}

.hero-copy h1:before {
    content: none;
}

.hero-copy h1:after {
    content: none;
}

.hero-title-reflection {
    display: block;
    height: 69px;
    margin: -3px auto 16px;
    overflow: hidden;
    color: transparent;
    font-size: 0;
    line-height: 0;
    pointer-events: none;
    user-select: none;
}

.hero-actions {
    display: flex;
    justify-content: center;
    gap: 89px;
    position: relative;
    z-index: 3;
}

.hero-btn {
    width: 244px;
    height: 66px;
    border-radius: 36px;
    background: #aeeaff;
    color: #324bdd;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 31px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 5px;
    text-align: center;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .55), 0 13px 25px rgba(0, 79, 204, .2);
    transition: background .18s ease, box-shadow .18s ease, color .18s ease, transform .18s ease;
}

.hero-btn:hover,
.hero-btn:focus {
    background: #c2f1ff;
    color: #253dc4;
    outline: 0;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .72), 0 16px 30px rgba(0, 79, 204, .28);
    transform: translateY(-2px);
}

.section-title {
    margin: 0 auto 62px;
    color: #018bff;
    font-size: 46px;
    font-weight: 800;
    text-align: center;
    position: relative;
}

.section-title:before,
.section-title:after {
    content: "";
    display: inline-block;
    width: 22px;
    height: 31px;
    background: #80c4ff;
    opacity: .85;
    margin: 0 30px;
    vertical-align: 7px;
}

.news-section {
    height: 1080px;
    padding: 103px 0 112px;
    background: var(--news-section-bg, url("../img/conference/tech-bg.png")) center bottom / 1920px 1080px no-repeat;
    box-sizing: border-box;
}

.news-card {
    width: 1720px;
    height: 745px;
    margin: 0 auto;
    border-radius: 18px;
    background: rgba(226, 243, 255, 0.86);
    display: grid;
    grid-template-columns: 530px 1fr;
    gap: 42px;
    padding: 85px 58px 86px;
    box-sizing: border-box;
}

.news-tabs {
    display: flex;
    gap: 72px;
    height: 52px;
    border-bottom: 4px solid #299fff;
    margin-bottom: 31px;
}

.news-tabs button {
    padding: 0;
    border: 0;
    background: transparent;
    color: #9caebe;
    font-size: 23px;
    font-family: inherit;
    line-height: 52px;
    cursor: pointer;
    position: relative;
}

.news-tabs button:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -4px;
    height: 4px;
    background: #006fd6;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .2s ease;
}

.news-tabs button:hover,
.news-tabs button:focus {
    color: #536172;
    outline: 0;
}

.news-tabs .active {
    color: #536172;
}

.news-tabs .active:after {
    transform: scaleX(1);
}

.news-panel {
    display: none;
    animation: newsPanelIn .2s ease;
}

.news-panel.active {
    display: block;
}

.news-panel[aria-hidden="true"] {
    display: none;
}

.news-panel a {
    display: flex;
    justify-content: space-between;
    color: #6f8291;
    font-size: 16px;
    line-height: 51px;
    gap: 18px;
    text-decoration: none;
    transition: color .18s ease;
}

.news-panel a:hover,
.news-panel a:focus {
    color: #0a82e8;
}

.news-panel a:hover em,
.news-panel a:focus em {
    color: #0a82e8;
}

.news-panel a span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.news-panel em {
    font-style: normal;
    color: #74889a;
    margin-left: 18px;
}

.news-panel .more-link {
    display: block;
    margin-top: 21px;
    color: #148fff;
    font-size: 15px;
    transition: color .18s ease, transform .18s ease;
}

.news-panel .more-link:hover,
.news-panel .more-link:focus {
    color: #006fd6;
    transform: translateX(3px);
}

@keyframes newsPanelIn {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

.news-media {
    height: 572px;
    background: #596773;
    border-radius: 12px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 18px 42px rgba(19, 91, 145, .22);
}

.news-slides,
.news-slide {
    position: absolute;
    inset: 0;
}

.news-slide {
    display: block;
    opacity: 0;
    pointer-events: none;
    transition: opacity .45s ease;
}

.news-slide.active {
    opacity: 1;
    pointer-events: auto;
}

.news-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.news-slide:after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 46%;
    background: linear-gradient(180deg, rgba(4, 28, 45, 0), rgba(4, 31, 55, .78));
}

.news-slide span {
    position: absolute;
    left: 44px;
    right: 44px;
    bottom: 58px;
    z-index: 1;
    color: #fff;
}

.news-slide b,
.news-slide em {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.news-slide b {
    font-size: 28px;
    line-height: 42px;
}

.news-slide em {
    margin-top: 5px;
    font-size: 17px;
    font-style: normal;
    line-height: 26px;
    opacity: .86;
}

.slider-dots {
    position: absolute;
    bottom: 25px;
    left: 0;
    right: 0;
    text-align: center;
    z-index: 2;
}

.slider-dots i,
.slider-dots button {
    display: inline-block;
    width: 7px;
    height: 7px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #fff;
    margin: 0 5px;
    opacity: .62;
    cursor: pointer;
}

.slider-dots .active {
    width: 24px;
    border-radius: 10px;
    opacity: 1;
}

.date-section {
    height: 1080px;
    padding-top: 104px;
    box-sizing: border-box;
    background: var(--date-section-bg, url("../img/conference/dates-bg.png")) center center / cover no-repeat;
}

.section-title--light {
    color: #fff;
}

.news-page,
.news-detail {
    min-height: 780px;
    padding: 110px 0 120px;
    background: linear-gradient(180deg, #edf8ff 0%, #fff 52%, #f4fbff 100%);
}

.news-page__inner,
.news-detail__article {
    width: 1180px;
    margin: 0 auto;
}

.news-page__head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    margin-bottom: 36px;
    border-bottom: 1px solid rgba(0, 137, 255, .18);
    padding-bottom: 22px;
}

.news-page__head h1,
.news-detail h1 {
    margin: 0;
    color: #0a4d80;
    font-size: 38px;
    line-height: 1.35;
}

.news-page__tabs {
    display: flex;
    gap: 12px;
}

.news-page__tabs a {
    min-width: 112px;
    height: 42px;
    border-radius: 22px;
    background: #fff;
    color: #50718d;
    box-shadow: 0 10px 24px rgba(21, 122, 196, .12);
    line-height: 42px;
    text-align: center;
}

.news-page__tabs a.active {
    background: linear-gradient(90deg, #078df3, #08b4dc);
    color: #fff;
}

.news-page__list {
    display: grid;
    gap: 18px;
}

.news-list-card {
    display: grid;
    grid-template-columns: 210px 1fr;
    gap: 24px;
    min-height: 142px;
    padding: 18px;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 14px 38px rgba(33, 112, 171, .12);
    color: #36566f;
}

.news-list-card img {
    width: 210px;
    height: 118px;
    border-radius: 8px;
    object-fit: cover;
}

.news-list-card span {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
}

.news-list-card em,
.news-detail__meta {
    color: #7c94a8;
    font-style: normal;
    font-size: 15px;
}

.news-list-card b {
    margin: 8px 0;
    color: #0d4774;
    font-size: 22px;
    line-height: 32px;
}

.news-list-card i {
    display: -webkit-box;
    overflow: hidden;
    color: #6a7f90;
    font-style: normal;
    line-height: 26px;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.news-page__pager {
    margin-top: 36px;
    text-align: center;
}

.news-detail__crumb {
    margin-bottom: 20px;
    color: #6f8da5;
}

.news-detail__crumb a {
    color: #148fff;
}

.news-detail__crumb span {
    margin: 0 9px;
}

.news-detail__article {
    border-radius: 12px;
    background: #fff;
    padding: 58px 72px 72px;
    box-shadow: 0 18px 46px rgba(25, 101, 158, .13);
    box-sizing: border-box;
}

.news-detail__meta {
    display: flex;
    gap: 18px;
    margin: 18px 0 30px;
}

.news-detail__cover {
    display: block;
    width: 100%;
    max-height: 430px;
    margin-bottom: 30px;
    border-radius: 10px;
    object-fit: cover;
}

.news-detail__summary {
    margin: 0 0 28px;
    padding: 22px 26px;
    border-left: 5px solid #1098ef;
    background: #eef8ff;
    color: #4d6f88;
    font-size: 18px;
    line-height: 32px;
}

.news-detail__content {
    color: #30495f;
    font-size: 18px;
    line-height: 2;
}

.news-detail__content img {
    max-width: 100%;
    height: auto;
}

.date-cards {
    width: 1720px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, 328px);
    justify-content: center;
    gap: 20px;
}

.date-card {
    height: 620px;
    border-radius: 16px;
    background: linear-gradient(180deg,
        rgba(5, 148, 255, .96) 0%,
        rgba(9, 147, 246, .86) 35%,
        rgba(10, 143, 238, .42) 68%,
        rgba(12, 141, 232, .04) 100%);
    color: #fff;
    text-align: center;
    padding: 54px 22px 36px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.date-card h3 {
    order: 1;
    margin: 0;
    font-size: 26px;
    font-weight: 700;
    line-height: 38px;
}

.date-card p {
    order: 2;
    margin: 0 0 43px;
    font-size: 18px;
    line-height: 30px;
}

.date-card:before {
    content: "倒计时";
    order: 3;
    display: block;
    font-size: 26px;
    font-weight: 700;
    line-height: 40px;
    margin-bottom: 18px;
}

.date-card strong {
    order: 4;
    display: block;
    font-family: "Arial Black", "Impact", "DIN Condensed", "Microsoft YaHei", sans-serif;
    font-size: 86px;
    font-weight: 900;
    line-height: .92;
    letter-spacing: 2px;
    transform: scaleX(1.08);
    text-shadow: 0 7px 10px rgba(0, 76, 178, .36);
}

.date-card strong:after {
    content: "天";
    display: inline-block;
    font-size: 27px;
    font-family: "Arial Black", "Impact", "Microsoft YaHei", sans-serif;
    font-weight: 900;
    line-height: 1;
    margin-left: 9px;
    transform: scaleX(.86);
    vertical-align: baseline;
}

.date-card .countdown-time {
    order: 5;
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 21px;
    font-family: "ConferenceTimes", "Times New Roman", Georgia, serif;
    font-weight: 700;
    line-height: .82;
    margin: 25px 0 92px;
    white-space: nowrap;
    letter-spacing: 0;
    text-shadow: 0 5px 8px rgba(0, 62, 148, .24);
}

.countdown-time em {
    display: inline-flex;
    align-items: baseline;
    font-style: normal;
}

.countdown-time b {
    font-family: inherit;
    font-size: 58px;
    font-weight: 400;
    line-height: .82;
}

.countdown-time i {
    display: inline-block;
    margin-left: 3px;
    font-family: inherit;
    font-size: 22px;
    font-style: normal;
    line-height: 1;
    transform: translateY(5px);
}

.date-card a {
    order: 6;
    display: inline-block;
    width: 220px;
    height: 60px;
    border-radius: 32px;
    background: #10a8ef;
    color: #fff;
    font-size: 24px;
    font-weight: 700;
    line-height: 60px;
    transition: background .18s ease, box-shadow .18s ease, transform .18s ease, color .18s ease;
}

.date-card a:hover,
.date-card a:focus {
    background: #0787f5;
    background-image: none;
    color: #fff;
    box-shadow: 0 12px 24px rgba(0, 96, 190, .28);
    transform: translateY(-1px);
}

.links-section {
    padding: 88px 0 96px;
    background: url("../img/conference/links-bg.png") center center / 100% 100% no-repeat;
    box-sizing: border-box;
}

.friend-links {
    width: 1720px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 20px;
}

.friend-links a {
    height: 160px;
    border-radius: 6px;
    background: #596773;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    transition: box-shadow .2s ease, transform .2s ease, color .2s ease;
}

.friend-links a:hover,
.friend-links a:focus {
    color: #fff;
    box-shadow: 0 18px 36px rgba(19, 91, 145, .18);
    transform: translateY(-2px);
}

.friend-links img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.friend-links span {
    color: rgba(255,255,255,.68);
    font-size: 22px;
    line-height: 1.35;
    padding: 0 14px;
    text-align: center;
}

.link-qrcode-modal {
    position: fixed;
    inset: 0;
    z-index: 1300;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.link-qrcode-modal.active {
    display: flex;
}

.link-qrcode-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(12, 28, 42, .58);
}

.link-qrcode-modal__panel {
    position: relative;
    width: min(420px, 92vw);
    min-height: 420px;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 28px 70px rgba(0, 39, 76, .28);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 24px;
    padding: 44px 38px 38px;
}

.link-qrcode-modal__panel strong {
    color: #263645;
    font-size: 24px;
    line-height: 1.3;
    text-align: center;
}

.link-qrcode-modal__panel img {
    width: 260px;
    height: 260px;
    object-fit: contain;
}

.link-qrcode-modal__close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 50%;
    background: #eef4f8;
    color: #52616d;
    font-size: 26px;
    line-height: 36px;
    cursor: pointer;
}

.conference-footer {
    min-height: 325px;
    background: #eef3f6;
    padding-top: 56px;
    box-sizing: border-box;
    color: #43515c;
    -webkit-font-smoothing: antialiased;
    text-rendering: geometricPrecision;
}

.conference-footer__inner {
    width: 1720px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 260px 1fr 600px;
    gap: 70px;
    align-items: center;
}

.footer-logo img {
    width: 190px;
}

.footer-contact p,
.footer-groups p {
    margin: 0 0 14px;
    color: #475967;
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
    opacity: 1;
    text-shadow: none;
}

.footer-groups {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
}

.footer-groups p {
    white-space: nowrap;
}

.footer-groups strong {
    display: block;
    color: #3d4f5d;
    font-size: 17px;
    font-weight: 700;
    line-height: 25px;
    margin-bottom: 22px;
    opacity: 1;
    text-shadow: none;
}

.footer-copy {
    text-align: center;
    margin: 50px 0 0;
    color: #4d5c66;
    font-size: 13px;
    font-weight: 500;
    line-height: 22px;
    opacity: 1;
    text-shadow: none;
}

.footer-copy a {
    color: #2d78bd;
}

.footer-copy a:hover,
.footer-copy a:focus {
    color: #0b67b4;
}

.member-shell {
    width: 100%;
    min-height: calc(100vh - 120px);
    display: grid;
    grid-template-columns: 330px 1fr;
    background: #fff;
    align-items: start;
}

.member-sidebar {
    background: #e9eef2;
    padding: 60px 0 0 100px;
    -webkit-font-smoothing: auto;
    text-rendering: optimizeLegibility;
    position: sticky;
    top: 120px;
    height: calc(100vh - 120px);
    box-sizing: border-box;
    overflow-y: auto;
    z-index: 900;
}

.member-sidebar a {
    display: block;
    color: #4f5f6b;
    font-size: 22px;
    line-height: 48px;
    margin-bottom: 0;
    font-weight: 500;
    font-family: "Microsoft YaHei", "PingFang SC", "Noto Sans CJK SC", sans-serif;
    letter-spacing: 0;
    text-shadow: none;
}

.member-sidebar .active {
    color: #008cff;
    font-weight: 700;
}

.member-content {
    grid-column: 2;
    padding: 69px 100px 120px 50px;
}

.form-section {
    margin-bottom: 46px;
}

.form-section h2 {
    color: #555;
    font-size: 22px;
    line-height: 30px;
    padding-left: 22px;
    border-bottom: 1px solid #dfe6ea;
    margin: 0 0 33px;
    position: relative;
}

.form-section h2:before {
    content: "";
    position: absolute;
    left: 0;
    top: 4px;
    width: 5px;
    height: 22px;
    border-radius: 3px;
    background: #008cff;
}

.form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 120px;
    row-gap: 38px;
}

.form-grid label,
.pay-form label,
.auth-card label {
    color: #66717d;
    font-size: 17px;
    display: grid;
    grid-template-columns: minmax(4em, max-content) minmax(0, 1fr);
    align-items: center;
    gap: 20px;
    font-weight: 400;
    line-height: 42px;
    min-height: 42px;
    white-space: nowrap;
}

.form-grid label {
    position: relative;
    align-items: start;
}

.form-label {
    grid-column: 1;
    line-height: 42px;
    white-space: nowrap;
}

.apply-field-label {
    grid-column: 1;
    line-height: 42px;
    white-space: nowrap;
}

.form-label--short {
    width: 4em;
    text-align: justify;
    text-align-last: justify;
}

.field-full {
    grid-column: 1 / -1;
}

.apply-form .form-grid label {
    grid-template-columns: minmax(4em, max-content) minmax(0, 1fr);
    gap: 20px;
}

.apply-form .form-grid .upload-field {
    grid-template-columns: minmax(4em, max-content) minmax(0, 1fr);
    align-items: start;
    line-height: 42px;
}

.apply-form .form-grid .field-with-note {
    align-items: start;
    line-height: 42px;
}

.apply-form .form-grid .diet-requirement-field {
    align-self: start;
}

.apply-form .form-grid .upload-field > .upload-control {
    align-self: start;
}

.form-grid label > input,
.form-grid label > select,
.form-grid label > .upload-control {
    grid-column: 2;
    min-width: 0;
}

.apply-field--organization [data-org-input],
.apply-field--position [data-position-select] {
    display: none;
    grid-column: 2;
}

.apply-field--organization.is-student [data-org-select],
.apply-field--position.is-student input[type="text"] {
    display: none;
}

.apply-field--organization.is-student [data-org-input],
.apply-field--position.is-student [data-position-select] {
    display: block;
}

.form-grid input,
.form-grid select,
.form-grid textarea,
.pay-form input,
.pay-form textarea,
.auth-card input {
    width: 100%;
    height: 42px;
    border: 1px solid #ccd9e4;
    border-radius: 4px;
    outline: 0;
    padding: 0 10px;
    box-sizing: border-box;
    background: #fff;
    color: #333;
    font-size: 16px;
    font-weight: 400;
}

.form-grid textarea {
    height: 118px;
    line-height: 24px;
    padding-top: 9px;
    resize: vertical;
}

.form-grid input::placeholder,
.form-grid select::placeholder,
.form-grid textarea::placeholder {
    color: #a4adb7;
}

.form-grid--single {
    grid-template-columns: 1fr;
    row-gap: 30px;
    margin-top: 30px;
}

.form-grid--single label {
    grid-template-columns: minmax(4em, max-content) minmax(0, 1fr);
    align-items: flex-start;
}

.form-grid--single label > textarea {
    grid-column: 2;
    min-width: 0;
}

.upload-control {
    display: grid;
    grid-template-columns: 1fr 96px;
    gap: 0;
    min-width: 0;
    width: 100%;
    height: 42px;
    border: 1px solid #ccd9e4;
    border-radius: 4px;
    box-sizing: border-box;
    overflow: hidden;
    background: #fff;
}

.form-grid .upload-control input,
.pay-form .upload-control input {
    height: 40px;
    border: 0;
    border-radius: 0;
    padding: 0 10px;
}

.upload-control .faupload {
    height: 40px;
    border: 0;
    border-radius: 0;
    background: #0b87f9;
    color: #fff;
    font-size: 16px;
    line-height: 40px;
    padding: 0;
    cursor: pointer;
}

.upload-control .faupload:hover {
    background: #087be6;
}

.upload-control .fa {
    margin-right: 5px;
}

.form-grid .faupload-preview {
    grid-column: 2;
    min-height: 0;
    margin: 8px 0 0;
    padding: 0;
    list-style: none;
    line-height: 1;
}

.form-grid .faupload-preview:empty {
    display: none;
}

.paper-file-link {
    display: inline-block;
    margin-right: 12px;
    color: #087ee8;
    word-break: break-all;
}

.paper-file-link:hover,
.paper-file-link:focus {
    color: #005fb9;
    text-decoration: underline;
}

.paper-template-link {
    display: inline-flex;
    align-items: center;
    width: max-content;
    color: #087ee8;
    font-size: 14px;
    line-height: 22px;
    text-decoration: none;
}

.paper-template-link:hover {
    color: #006ed0;
    text-decoration: underline;
}

.paper-upload-note {
    display: grid;
    gap: 4px;
    padding: 14px 18px;
    border: 1px dashed #c8d6e1;
    border-radius: 8px;
    background: #f8fbff;
    color: #5f6d7a;
    font-size: 14px;
    line-height: 1.7;
}

.paper-upload-note strong,
.paper-upload-note span {
    display: block;
    font-style: normal;
    font-weight: 400;
}

.student-card-note {
    grid-column: 2;
    display: block;
    margin-top: 10px;
    color: #6d7781;
    font-size: 13px;
    font-weight: 400;
    line-height: 21px;
    white-space: normal;
}

.upload-field:not(.field-full) .student-card-note {
    grid-column: 1 / -1;
}

.student-card-note strong,
.student-card-note em {
    display: block;
    font-style: normal;
    font-weight: 400;
}

.student-card-note strong {
    color: #4f5f6b;
    font-weight: 500;
}

.form-note {
    grid-column: 2;
    display: block;
    margin-top: 8px;
    color: #6d7781;
    font-size: 13px;
    font-weight: 400;
    line-height: 20px;
    white-space: normal;
}

.form-grid .student-card-field {
    display: none !important;
}

.form-grid .student-card-field.is-visible {
    display: grid !important;
    grid-template-columns: minmax(4em, max-content) minmax(0, 1fr);
    align-items: start;
    gap: 20px;
    min-height: 42px;
    line-height: 42px;
}

.form-grid .msg-box {
    position: absolute !important;
    left: calc(100% - var(--control-width, 0px));
    top: 52px;
    width: var(--control-width, calc(100% - 112px));
    height: 12px;
    line-height: 12px;
    margin: 0 !important;
    padding: 0;
    color: #e0574f;
    font-size: 13px;
    text-align: left;
    white-space: nowrap;
    pointer-events: none;
}

.form-grid label:has(textarea) .msg-box {
    top: 128px;
}

.form-grid .msg-box .msg-wrap {
    display: block;
    position: static !important;
    margin: 0;
    padding: 0;
    height: 12px;
    line-height: 12px;
    background: transparent;
    border: 0;
    box-shadow: none;
}

.form-grid .msg-box .n-icon {
    display: none;
}

.form-grid .n-invalid input,
.form-grid .n-invalid select,
.form-grid .n-invalid textarea,
.form-grid input.n-invalid,
.form-grid select.n-invalid,
.form-grid textarea.n-invalid,
.form-grid input[aria-invalid="true"],
.form-grid select[aria-invalid="true"],
.form-grid textarea[aria-invalid="true"] {
    border-color: #e0574f;
}

.submit-apply {
    display: block;
    width: 220px;
    height: 58px;
    border: 0;
    border-radius: 29px;
    background: linear-gradient(90deg, #13a8ef, #0076ff);
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    margin: 95px auto 0;
}

.paper-topic-cards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px 28px;
    margin-top: 28px;
}

.paper-topic-card {
    overflow: hidden;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 6px 18px rgba(35, 72, 128, .16);
}

.paper-topic-card__title {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 0 10px;
    background: #1188f3;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
}

.paper-topic-card__body {
    padding: 10px 12px 12px;
}

.paper-topic-card__body p {
    display: grid;
    grid-template-columns: 5em minmax(0, 1fr);
    align-items: start;
    gap: 0;
    margin: 0;
    color: #1c8fe9;
    font-size: 15px;
    line-height: 1.16;
}

.paper-topic-card__label {
    white-space: nowrap;
}

.paper-topic-card__text,
.paper-topic-card__person {
    min-width: 0;
}

.paper-topic-card__text {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.paper-topic-card__text--aligned {
    display: inline-block;
    padding-left: calc(3em + 14px);
}

.paper-topic-card__person {
    display: inline-flex;
    align-items: baseline;
    gap: 14px;
    min-width: 0;
}

.paper-topic-card__name {
    display: inline-grid;
    grid-template-columns: repeat(3, 1em);
    justify-content: start;
    width: 3em;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0;
}

.paper-topic-card__name span {
    display: block;
    width: 1em;
    text-align: center;
}

.paper-topic-card__pad {
    visibility: hidden;
}

.paper-topic-card__phone {
    display: inline-block;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.paper-topic-card__phone--alone {
    padding-left: calc(5em + 14px);
}

@media (max-width: 1500px) {
    .paper-topic-cards {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 18px 22px;
    }

    .paper-topic-card__title {
        font-size: 17px;
    }

    .paper-topic-card__body {
        padding: 9px 10px 11px;
    }

    .paper-topic-card__body p {
        grid-template-columns: 5em minmax(0, 1fr);
        font-size: 14px;
        line-height: 1.2;
    }

    .paper-topic-card__person {
        gap: 12px;
    }

    .paper-topic-card__text--aligned {
        padding-left: calc(3em + 12px);
    }

    .paper-topic-card__phone--alone {
        padding-left: calc(5em + 12px);
    }
}

@media (max-width: 1060px) {
    .paper-topic-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px 18px;
        margin-top: 22px;
    }

    .paper-topic-card {
        border-radius: 12px;
    }

    .paper-topic-card__title {
        min-height: 28px;
        padding: 0 8px;
        font-size: 16px;
    }

    .paper-topic-card__body {
        padding: 8px 9px 10px;
    }

    .paper-topic-card__body p {
        grid-template-columns: 5em minmax(0, 1fr);
        font-size: 13px;
        line-height: 1.22;
    }

    .paper-topic-card__person {
        gap: 10px;
    }

    .paper-topic-card__text--aligned {
        padding-left: calc(3em + 10px);
    }

    .paper-topic-card__phone--alone {
        padding-left: calc(5em + 10px);
    }
}

@media (max-width: 720px) {
    .paper-topic-cards {
        grid-template-columns: 1fr;
        gap: 14px;
        margin-top: 18px;
    }

    .paper-topic-card__title {
        min-height: 28px;
        padding: 0 8px;
        font-size: 15px;
    }

    .paper-topic-card__body {
        padding: 8px 8px 10px;
    }

    .paper-topic-card__body p {
        grid-template-columns: 5em minmax(0, 1fr);
        font-size: 13px;
        line-height: 1.25;
    }

    .paper-topic-card__person {
        gap: 8px;
    }

    .paper-topic-card__text--aligned {
        padding-left: calc(3em + 8px);
    }

    .paper-topic-card__phone--alone {
        padding-left: calc(5em + 8px);
    }
}

@media (max-width: 860px) {
}

.auth-body {
    margin: 0;
    padding: 0 !important;
    min-width: 1200px;
    background: #d9e8ff;
    overflow: hidden;
}

.auth-page--psd {
    --auth-login-bg: url("../img/conference/auth-bg.jpg");
    --auth-register-bg: url("../img/conference/auth-bg.jpg");
    position: fixed;
    inset: 0;
    width: 100vw;
    min-width: 1200px;
    height: 100vh;
    min-height: 720px;
    overflow: hidden;
    background-color: #d9e8ff;
    background-image: var(--auth-register-bg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    font-family: "Microsoft YaHei", "PingFang SC", Arial, sans-serif;
}

.auth-page--psd[data-active-tab="login"] {
    background-image: var(--auth-login-bg);
}

.auth-page--psd:before,
.auth-page--psd:after {
    display: none;
    content: none;
}

.auth-page--psd:before {
    right: -130px;
    bottom: -480px;
    width: 1520px;
    height: 820px;
    border-radius: 50% 0 0 0 / 100% 0 0 0;
    background: linear-gradient(154deg, rgba(255, 255, 255, .5) 0%, rgba(255, 255, 255, .34) 43%, rgba(148, 194, 238, .3) 70%, rgba(80, 134, 224, .22) 100%);
    transform: rotate(-7deg);
    transform-origin: right bottom;
}

.auth-page--psd:after {
    right: -70px;
    bottom: -135px;
    width: 520px;
    height: 620px;
    background:
        linear-gradient(132deg, rgba(255, 255, 255, 0) 0 43%, rgba(74, 134, 222, .2) 44% 62%, rgba(70, 126, 221, .36) 63% 100%),
        linear-gradient(118deg, rgba(255, 255, 255, 0) 0 58%, rgba(121, 169, 233, .34) 59% 100%);
}

.auth-home {
    position: absolute;
    left: 100px;
    top: 69px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #fff;
    font-size: 18px;
    line-height: 24px;
    z-index: 1;
    text-shadow: 0 2px 8px rgba(19, 52, 105, .28);
}

.auth-home:hover {
    color: #fff;
    opacity: .86;
}

.auth-home .fa {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 24px;
    font-size: 18px;
    line-height: 1;
}

.auth-card--psd {
    position: absolute;
    left: 1176.5px;
    top: 252.5px;
    width: 399px;
    height: auto;
    min-height: 534px;
    padding: 55px 45px 26px 48px;
    box-sizing: border-box;
    background: #fff;
    border-radius: 4px;
    box-shadow: 0 0 24px rgba(84, 131, 178, .22);
    z-index: 1;
}

.auth-title {
    margin: 0 0 35px;
    color: #2b2b2b;
    font-size: 26px;
    line-height: 32px;
    font-weight: 700;
    text-align: center;
}

.auth-server-error {
    width: 306px;
    margin: -22px 0 14px;
    color: #e0574f;
    font-size: 13px;
    line-height: 20px;
    text-align: left;
}

.frontend-flash {
    width: min(1120px, calc(100% - 48px));
    margin: 18px auto 0;
    padding: 12px 16px;
    border-radius: 4px;
    font-size: 14px;
    line-height: 22px;
    box-sizing: border-box;
}

.frontend-flash--error {
    color: #9f2f2a;
    background: #fff1f0;
    border: 1px solid #ffd2cf;
}

.frontend-flash--success {
    color: #1f6b3a;
    background: #edf9f1;
    border: 1px solid #c7ecd4;
}

.auth-register-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 260px;
    height: 34px;
    margin: 0 auto 19px;
}

.auth-register-tabs button {
    position: relative;
    height: 34px;
    border: 0;
    background: transparent;
    color: #6f7278;
    font-size: 18px;
    line-height: 34px;
    font-weight: 400;
    cursor: pointer;
}

.auth-register-tabs button.active {
    color: #1f66ff;
}

.auth-register-tabs button.active:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 2px;
    background: #1f66ff;
}

.auth-pane {
    display: none;
}

.auth-pane.active {
    display: block;
}

.auth-field {
    position: relative;
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    align-items: center;
    width: 306px;
    height: 46px;
    margin: 0 0 16px;
    border: 1px solid #d8d8d8;
    border-radius: 4px;
    background: #fff;
    box-sizing: border-box;
}

.auth-card--psd .auth-field {
    gap: 0;
    min-height: 0;
    color: inherit;
    font-size: inherit;
    line-height: normal;
    white-space: normal;
}

.auth-field .fa {
    color: #c8c8c8;
    font-size: 22px;
    text-align: center;
}

.auth-icon {
    display: block;
    width: 20px;
    height: 20px;
    justify-self: center;
    object-fit: contain;
    pointer-events: none;
}

.auth-field input {
    width: 100%;
    height: 44px;
    border: 0;
    outline: 0;
    padding: 0 8px;
    box-sizing: border-box;
    color: #333;
    font-size: 14px;
    line-height: 44px;
    background: transparent;
}

.auth-field input::placeholder {
    color: #b9b9b9;
}

.auth-field--sms {
    grid-template-columns: 38px minmax(0, 1fr) 90px;
}

.auth-field--sms button {
    height: 44px;
    border: 0;
    border-left: 1px solid transparent;
    background: transparent;
    color: #aaa;
    font-size: 14px;
    line-height: 44px;
    cursor: pointer;
}

.auth-agree {
    display: flex;
    align-items: center;
    width: 306px;
    height: 18px;
    margin: 4px 0 20px;
    color: #333;
    font-size: 12px;
    line-height: 18px;
    white-space: nowrap;
}

.auth-card--psd .auth-agree {
    display: flex;
    gap: 0;
    min-height: 18px;
    color: #333;
    font-size: 12px;
    line-height: 18px;
}

.auth-agree input {
    width: 16px;
    height: 16px;
    margin: 0 8px 0 0;
    padding: 0;
    border: 1px solid #d8d8d8;
    border-radius: 3px;
    box-sizing: border-box;
}

.auth-agree a {
    color: #1f66ff;
}

.auth-submit {
    display: block;
    width: 306px;
    height: 44px;
    margin: 0;
    border: 0;
    border-radius: 4px;
    background: #1f66ff;
    color: #fff;
    font-size: 18px;
    line-height: 44px;
    letter-spacing: 0;
    cursor: pointer;
}

.auth-submit--login {
    margin-top: 18px;
}

.auth-agree--login {
    margin-top: 18px;
}

.auth-login-tools {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 306px;
    margin: 12px 0 0;
    color: #555;
    font-size: 13px;
    line-height: 18px;
}

.auth-remember {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 0;
    color: #555;
    font-weight: 400;
    cursor: pointer;
}

.auth-remember input {
    width: 14px;
    height: 14px;
    margin: 0;
}

.auth-login-tools .btn-forgot {
    border: 0;
    padding: 0;
    background: transparent;
    color: #1f66ff;
    font-size: 13px;
    line-height: 18px;
    cursor: pointer;
}

.auth-reset-form {
    padding: 26px 30px 28px;
    box-sizing: border-box;
}

.auth-reset-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 18px;
}

.auth-reset-tabs label {
    position: relative;
    display: block;
    margin: 0;
    cursor: pointer;
}

.auth-reset-tabs input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.auth-reset-tabs span {
    display: block;
    height: 38px;
    border: 1px solid #d8e3f0;
    border-radius: 4px;
    color: #556272;
    font-size: 14px;
    line-height: 38px;
    text-align: center;
    background: #f7faff;
}

.auth-reset-tabs input:checked + span {
    border-color: #1f66ff;
    color: #1f66ff;
    background: #eef5ff;
}

.auth-reset-field {
    position: relative;
    margin-bottom: 14px;
}

.auth-reset-field label {
    display: block;
    margin: 0 0 7px;
    color: #333;
    font-size: 14px;
    line-height: 20px;
    font-weight: 400;
}

.auth-reset-field input {
    width: 100%;
    height: 42px;
    border: 1px solid #d8e3f0;
    border-radius: 4px;
    padding: 0 12px;
    box-sizing: border-box;
    color: #333;
    font-size: 14px;
    line-height: 42px;
}

.auth-reset-field .msg-box {
    position: static !important;
    display: block;
    width: 100%;
    min-height: 18px;
    margin: 6px 0 0 !important;
    padding: 0;
    color: #e0574f;
    font-size: 12px;
    line-height: 18px;
    text-align: left;
    background: transparent;
    white-space: normal;
    pointer-events: none;
}

.auth-reset-field--captcha .msg-box {
    grid-column: 1 / -1;
}

.auth-reset-field .msg-box .msg-wrap {
    display: block;
    position: static !important;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
}

.auth-reset-field .msg-box .n-icon {
    display: none;
}

.auth-reset-captcha {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 104px;
    gap: 10px;
    align-items: start;
}

.auth-reset-captcha input {
    grid-column: 1;
    grid-row: 1;
}

.auth-reset-captcha .btn-captcha {
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    height: 42px;
    border: 0;
    border-radius: 4px;
    background: #1f66ff;
    color: #fff;
    font-size: 14px;
    line-height: 42px;
    white-space: nowrap;
    cursor: pointer;
}

.auth-reset-captcha > .msg-box {
    grid-column: 1 / -1;
    grid-row: 2;
}

.auth-reset-submit {
    width: 100%;
    height: 44px;
    margin-top: 4px;
    border: 0;
    border-radius: 4px;
    background: #1f66ff;
    color: #fff;
    font-size: 16px;
    line-height: 44px;
    cursor: pointer;
}

.auth-policy-dialog {
    max-height: calc(78vh - 54px);
    padding: 24px 28px;
    box-sizing: border-box;
    overflow: auto;
    color: #334155;
    font-size: 15px;
    line-height: 1.8;
}

.auth-policy-dialog h1,
.auth-policy-dialog h2,
.auth-policy-dialog h3 {
    margin: 0 0 14px;
    color: #1f2a3d;
    font-weight: 700;
}

.auth-policy-dialog p {
    margin: 0 0 12px;
}

.auth-switch {
    margin: 21px 0 0;
    color: #333;
    font-size: 12px;
    line-height: 18px;
}

.auth-switch button {
    border: 0;
    padding: 0;
    background: transparent;
    color: #1f66ff;
    font-size: 12px;
    cursor: pointer;
}

.auth-switch .fa {
    margin-left: 2px;
    font-size: 11px;
}

.auth-card--psd .msg-box {
    position: absolute !important;
    left: 38px;
    top: 48px;
    width: 260px;
    height: 12px;
    line-height: 12px;
    margin: 0 !important;
    padding: 0;
    z-index: 4;
    background: transparent;
    color: #e0574f;
    font-size: 12px;
    text-align: left;
    white-space: nowrap;
    pointer-events: none;
}

.auth-card--psd .msg-box .msg-wrap {
    display: block;
    position: static !important;
    margin: 0;
    padding: 0;
    height: 12px;
    line-height: 12px;
    background: transparent;
    border: 0;
    box-shadow: none;
}

.auth-card--psd .msg-box .n-icon {
    display: none;
}

.auth-card--psd .n-invalid,
.auth-card--psd .auth-field:has(input.n-invalid),
.auth-card--psd .auth-field:has(input[aria-invalid="true"]) {
    border-color: #e0574f;
}

.auth-card--psd[data-active-tab="login"] {
    height: 534px;
    padding-top: 56px;
}

.auth-card--psd[data-active-tab="login"] .auth-title {
    margin-bottom: 42px;
}

.auth-card--psd[data-active-tab="login"] .auth-register-tabs {
    display: none;
}

.auth-card--psd[data-register-mode="mobile"] .auth-field--email {
    display: none;
}

.auth-card--psd[data-register-mode="email"] .auth-field--mobile {
    display: none;
}

.auth-card--psd[data-mobile-sms-captcha="off"][data-register-mode="mobile"] .auth-field--sms {
    display: none;
}

.auth-card--psd[data-register-email-captcha="off"][data-register-mode="email"] .auth-field--sms {
    display: none;
}

.order-panel {
    max-width: 980px;
}

.order-panel h2 {
    color: #555;
    font-size: 28px;
    margin: 0 0 32px;
}

.order-summary {
    border: 1px solid #e4ebf1;
    border-radius: 8px;
    padding: 24px 30px;
    background: #fbfdff;
}

.order-summary p {
    display: flex;
    justify-content: space-between;
    margin: 0;
    padding: 14px 0;
    border-bottom: 1px solid #edf2f5;
}

.order-summary p:last-child {
    border-bottom: 0;
}

.pay-form {
    margin-top: 36px;
    display: grid;
    gap: 26px;
}

.pay-form label {
    grid-template-columns: minmax(4em, max-content) minmax(0, 1fr);
    gap: 20px;
    position: relative;
}

.pay-form .form-label--short {
    width: auto;
    min-width: max-content;
    text-align: left;
    text-align-last: auto;
}

.pay-form label > input,
.pay-form label > textarea,
.pay-form label > .upload-control {
    grid-column: 2;
    min-width: 0;
}

.pay-form textarea {
    height: 92px;
    padding-top: 8px;
    line-height: 24px;
    resize: vertical;
}

.pay-form .faupload-preview {
    grid-column: 2;
    min-height: 0;
    margin: 8px 0 0;
    padding: 0;
    list-style: none;
    line-height: 1;
}

.pay-form .msg-box {
    position: absolute !important;
    left: calc(100% - var(--control-width, 0px));
    top: 49px;
    width: var(--control-width, calc(100% - 120px));
    height: 18px;
    line-height: 18px;
    margin: 0 !important;
    padding: 0;
    color: #e0574f;
    font-size: 13px;
    text-align: left;
    white-space: nowrap;
    pointer-events: none;
}

.pay-form label:has(textarea) .msg-box {
    top: 99px;
}

.pay-form .msg-box .msg-wrap {
    display: block;
    position: static !important;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
}

.pay-form .msg-box .n-icon {
    display: none;
}

.empty-order {
    color: #7b8790;
    font-size: 18px;
    padding: 40px;
    border: 1px dashed #c8d6e1;
    border-radius: 8px;
}

.member-page-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 30px;
}

.member-page-head h2 {
    margin: 0;
}

.status-refresh {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 38px;
    padding: 0 18px;
    border: 1px solid #0b87f9;
    border-radius: 4px;
    color: #0b87f9;
    font-size: 15px;
    line-height: 38px;
    background: #fff;
    transition: color .2s ease, background .2s ease, border-color .2s ease;
}

.status-refresh:hover,
.status-refresh:focus {
    color: #fff;
    background: #0b87f9;
    border-color: #0b87f9;
    text-decoration: none;
}

.order-panel--wide,
.payment-page {
    max-width: 1120px;
}

.order-list {
    display: grid;
    gap: 16px;
}

.order-list__item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 24px;
    align-items: center;
    padding: 22px 26px;
    border: 1px solid #e3ebf2;
    border-radius: 8px;
    background: #fbfdff;
}

.order-list__main {
    display: grid;
    grid-template-columns: minmax(170px, 1.1fr) minmax(90px, .7fr) minmax(100px, .7fr) minmax(150px, .9fr);
    gap: 16px;
    align-items: center;
    min-width: 0;
}

.order-list__main strong,
.order-list__main span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.order-list__main strong {
    color: #273849;
    font-size: 17px;
    font-weight: 700;
}

.order-list__main span {
    color: #66717d;
    font-size: 15px;
}

.order-list__status {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    white-space: nowrap;
}

.order-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 86px;
    height: 30px;
    padding: 0 12px;
    border-radius: 15px;
    font-style: normal;
    font-size: 14px;
    color: #53606c;
    background: #edf2f6;
}

.order-status--pending_payment,
.order-status--rejected {
    color: #b86105;
    background: #fff1dd;
}

.order-status--pending_review {
    color: #0d6fb8;
    background: #e1f1ff;
}

.order-status--paid,
.order-status--approved {
    color: #16784b;
    background: #e0f6ea;
}

.order-status--cancelled {
    color: #87919a;
    background: #eef1f4;
}

.order-status--submitted {
    color: #0d6fb8;
    background: #e1f1ff;
}

.paper-list-panel {
    margin-bottom: 22px;
}

.paper-list__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 12px;
}

.paper-list__head h2 {
    margin: 0;
}

.paper-list__head .status-refresh {
    flex: 0 0 auto;
}

.paper-list {
    display: grid;
    gap: 14px;
}

.paper-list__item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 20px;
    align-items: flex-start;
    padding: 22px 26px;
    border: 1px solid #e3ebf2;
    border-radius: 8px;
    background: #fbfdff;
}

.paper-list__main {
    min-width: 0;
}

.paper-list__main h3 {
    margin: 0 0 12px;
    color: #243447;
    font-size: 18px;
    font-weight: 700;
}

.paper-list__main p {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 10px;
    margin: 7px 0;
    color: #53606c;
    line-height: 1.6;
}

.paper-list__main span {
    color: #8a96a3;
}

.paper-list__main a {
    color: #087ee8;
}

.paper-file-list {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0;
    min-width: 0;
    font-style: normal;
}

.paper-list__memo {
    margin-top: 12px !important;
    padding-top: 10px;
    border-top: 1px dashed #d7e0e9;
    color: #a35600 !important;
}

.paper-list__status {
    display: inline-flex;
    justify-content: flex-end;
}

.order-pay-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 82px;
    height: 32px;
    padding: 0 14px;
    border-radius: 4px;
    color: #fff;
    background: #0b87f9;
    font-size: 14px;
    line-height: 32px;
    text-decoration: none;
}

.order-pay-link:hover,
.order-pay-link:focus {
    color: #fff;
    background: #006ed0;
    text-decoration: none;
}

.order-pay-link.is-disabled {
    color: #87919a;
    background: #eef2f5;
}

.cancel-order-form {
    margin: 0;
}

.order-cancel-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 82px;
    height: 32px;
    padding: 0 14px;
    border: 1px solid #d6a9a9;
    border-radius: 4px;
    color: #b84d4d;
    background: #fff;
    font-size: 14px;
    line-height: 30px;
    cursor: pointer;
    transition: color .2s ease, background .2s ease, border-color .2s ease;
}

.order-cancel-btn:hover,
.order-cancel-btn:focus {
    color: #fff;
    background: #b84d4d;
    border-color: #b84d4d;
    outline: 0;
}

.payment-summary {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    border: 1px solid #e3ebf2;
    border-radius: 8px;
    background: #e3ebf2;
}

.payment-summary p {
    margin: 0;
    padding: 18px 20px;
    background: #fbfdff;
}

.payment-summary span,
.payment-summary strong {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.payment-summary span {
    color: #77838e;
    font-size: 14px;
    margin-bottom: 8px;
}

.payment-summary strong {
    color: #263848;
    font-size: 16px;
    font-weight: 700;
}

.payment-methods {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 24px;
    margin-top: 24px;
}

.payment-methods--selectable {
    grid-template-columns: 1fr;
    margin-top: 18px;
    margin-bottom: 20px;
}

.payment-method {
    border: 1px solid #e3ebf2;
    border-radius: 8px;
    padding: 24px;
    background: #fff;
}

.payment-method-panel {
    display: none;
}

.payment-method-panel.is-active {
    display: block;
}

.payment-method h3 {
    margin: 0 0 18px;
    color: #263848;
    font-size: 20px;
    line-height: 1.3;
}

.payment-method dl {
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr);
    gap: 12px 18px;
    margin: 0;
}

.payment-method dt {
    color: #77838e;
    font-weight: 400;
}

.payment-method dd {
    margin: 0;
    color: #263848;
    word-break: break-all;
}

.payment-method p {
    margin: 18px 0 0;
    color: #66717d;
    line-height: 1.7;
}

.payment-qrcode {
    width: min(360px, 100%);
    height: auto;
    aspect-ratio: 1;
    object-fit: contain;
    border: 1px solid #e2e9ef;
    border-radius: 6px;
    background: #f7fafc;
}

.payment-qrcode--empty {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #9aa5ae;
}

.payment-choice {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.payment-choice label {
    display: inline-flex;
    grid-template-columns: none;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 0 16px;
    border: 1px solid #d7e3ed;
    border-radius: 4px;
    color: #42505d;
    line-height: 38px;
}

.payment-choice input {
    width: auto;
    height: auto;
}

.payment-submit-form {
    max-width: 760px;
}

.payment-locked {
    margin-top: 28px;
}

.profile-panel {
    max-width: 980px;
}

.profile-head-card {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-bottom: 30px;
    padding: 26px 30px;
    border: 1px solid #e3ebf2;
    border-radius: 8px;
    background: #fbfdff;
}

.profile-avatar-container {
    position: relative;
    width: 104px;
    height: 104px;
    flex: 0 0 104px;
    overflow: hidden;
    border-radius: 50%;
    background: #e9eef2;
}

.profile-user-img {
    display: block;
    width: 104px;
    height: 104px;
    object-fit: cover;
}

.profile-avatar-text,
.profile-avatar-container .faupload {
    position: absolute;
    inset: 0;
}

.profile-avatar-text {
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(28, 45, 63, .58);
    color: #fff;
    font-size: 14px;
    opacity: 0;
    transition: opacity .18s ease;
    pointer-events: none;
}

.profile-avatar-container:hover .profile-avatar-text,
.profile-avatar-container:focus-within .profile-avatar-text {
    opacity: 1;
}

.profile-avatar-container .faupload {
    width: 100%;
    height: 100%;
    border: 0;
    opacity: 0;
    cursor: pointer;
}

.profile-head-card__info {
    min-width: 0;
}

.profile-head-card__info strong,
.profile-head-card__info span {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.profile-head-card__info strong {
    color: #263848;
    font-size: 24px;
    line-height: 34px;
}

.profile-head-card__info span {
    margin-top: 8px;
    color: #77838e;
    font-size: 15px;
    line-height: 24px;
}

.profile-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px 26px;
}

.profile-form-grid label {
    display: grid;
    grid-template-columns: minmax(4em, max-content) minmax(0, 1fr);
    align-items: center;
    gap: 18px;
    min-width: 0;
    color: #555;
    font-size: 17px;
    line-height: 42px;
    white-space: nowrap;
}

.profile-form-grid .field-full {
    grid-column: 1 / -1;
}

.profile-form-grid input {
    width: 100%;
    height: 42px;
    border: 1px solid #d9e2ea;
    border-radius: 4px;
    padding: 0 14px;
    box-sizing: border-box;
    color: #333;
    font-size: 15px;
    outline: 0;
    background: #fff;
}

.profile-form-grid input:focus {
    border-color: #0b87f9;
    box-shadow: 0 0 0 3px rgba(11, 135, 249, .1);
}

.profile-readonly-field {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 72px;
    gap: 10px;
    min-width: 0;
}

.profile-readonly-field input:disabled {
    color: #73808c;
    background: #f4f7fa;
}

.profile-change-btn,
.profile-reset-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 42px;
    border: 1px solid #0b87f9;
    border-radius: 4px;
    color: #0b87f9;
    background: #fff;
    font-size: 15px;
    line-height: 40px;
    cursor: pointer;
    transition: color .18s ease, background .18s ease, border-color .18s ease;
}

.profile-change-btn:hover,
.profile-change-btn:focus,
.profile-reset-btn:hover,
.profile-reset-btn:focus {
    color: #fff;
    background: #0b87f9;
    border-color: #0b87f9;
    text-decoration: none;
}

.profile-actions {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 42px;
}

.profile-actions .submit-apply {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 128px;
    height: 48px;
    border-radius: 4px;
    font-size: 15px;
    line-height: 1;
    margin: 0;
}

.profile-reset-btn {
    width: 128px;
    height: 48px;
    background: #fff;
}

.form-layer {
    height: 100%;
    min-height: 150px;
    min-width: 300px;
}

.form-layer .form-body {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 50px;
    left: 0;
    width: 100%;
    overflow: auto;
    padding: 15px;
    z-index: 10;
}

.form-layer .form-footer {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 200;
    width: 100%;
    height: 50px;
    margin: 0;
    line-height: 50px;
    background-color: #ecf0f1;
}

.form-layer .form-footer .form-group {
    margin-right: 0;
    margin-left: 0;
}

.conference-overview {
    min-height: 1245px;
    padding: 77px 0 204px;
    box-sizing: border-box;
    background:
        linear-gradient(180deg, #d5e4ff 0%, #e8f1ff 68%, #fff 100%);
}

.overview-shell {
    width: 1230px;
    margin: 0 auto;
}

.overview-heading {
    height: 48px;
    border-bottom: 2px solid #b9c0c8;
    box-sizing: border-box;
    position: relative;
}

.overview-heading:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -3px;
    width: 103px;
    height: 5px;
    border-radius: 3px;
    background: #0788ff;
}

.overview-heading h1 {
    margin: 0;
    color: #0788ff;
    font-size: 28px;
    font-weight: 700;
    line-height: 38px;
}

.overview-card {
    min-height: 891px;
    margin-top: 29px;
    padding: 60px 44px 70px;
    box-sizing: border-box;
    border-radius: 4px;
    background: #fff;
    box-shadow: 0 0 12px rgba(41, 91, 153, .22);
    color: #333;
    font-family: "Microsoft YaHei", "PingFang SC", Arial, sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.52;
}

.overview-card p {
    margin: 0 0 19px;
    text-indent: 2em;
}

.conference-overview-info .overview-intro {
    margin-top: 24px;
}

.conference-overview-info .overview-intro p {
    margin: 0;
    color: #252525;
    font-size: 17px;
    line-height: 1.7;
    text-indent: 2em;
}

.conference-overview-info .overview-cards-card {
    padding: 34px 34px 40px;
}

.conference-overview-info .overview-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 18px;
}

.conference-overview-info .overview-forum-outro {
    margin-top: 18px;
}

.conference-overview-info .overview-science-card {
    min-height: 150px;
    padding: 18px 18px 16px;
    box-sizing: border-box;
    background: linear-gradient(180deg, #f2f7ff 0%, #f8fbff 100%);
    border: 1px solid #e5eefc;
    border-radius: 4px;
}

.conference-overview-info .overview-science-card h2 {
    margin: 0 0 14px;
    color: #0788ff;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.35;
    text-align: center;
}

.conference-overview-info .overview-science-card p {
    margin: 0 0 8px;
    color: #252525;
    font-size: 15px;
    line-height: 1.55;
    text-indent: 0;
    display: flex;
    align-items: flex-start;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.conference-overview-info .overview-science-card p:last-child {
    margin-bottom: 0;
}

.conference-overview-info .overview-label {
    color: #2b2b2b;
    font-weight: 700;
    display: block;
    flex: 0 0 5em;
    width: 5em;
    min-width: 5em;
    text-align: justify;
    text-align-last: justify;
    white-space: nowrap;
}

.conference-overview-info .overview-value {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
}

.conference-overview-info .overview-science-card p:nth-of-type(1) .overview-label,
.conference-overview-info .overview-science-card p:nth-of-type(3) .overview-label {
    white-space: nowrap;
}

.conference-overview-info .overview-science-card p:nth-of-type(1) .overview-value {
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.conference-overview-info .overview-science-card p:nth-of-type(3) .overview-value {
    white-space: nowrap;
}

@media (max-width: 1199px) {
    .conference-overview-info .overview-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .conference-overview-info .overview-cards-card {
        padding: 24px 16px 28px;
    }
    .conference-overview-info .overview-card-grid {
        grid-template-columns: 1fr;
    }
    .conference-overview-info .overview-science-card {
        min-height: 0;
    }
    .conference-overview-info .overview-science-card h2 {
        font-size: 18px;
    }
    .conference-overview-info .overview-science-card p {
        font-size: 14px;
    }
}

.site-rich-content h1,
.site-rich-content h2,
.site-rich-content h3,
.site-rich-content h4 {
    margin: 18px 0 12px;
    color: #252525;
    font-weight: 700;
    line-height: 1.55;
}

.site-rich-content h1 { font-size: 24px; }
.site-rich-content h2 { font-size: 19px; }
.site-rich-content h3 { font-size: 18px; }
.site-rich-content h4 { font-size: 17px; }

.site-rich-content h1:first-child,
.site-rich-content h2:first-child,
.site-rich-content h3:first-child,
.site-rich-content h4:first-child,
.site-rich-content p:first-child {
    margin-top: 0;
}

.site-rich-content ul,
.site-rich-content ol {
    margin: 0 0 19px;
    padding-left: 2.2em;
}

.site-rich-content li {
    margin: 0 0 7px;
    line-height: 1.6;
}

.site-rich-content img {
    max-width: 100%;
    height: auto;
}

.site-rich-content table {
    width: 100%;
    margin: 18px 0;
    border-collapse: collapse;
    font-size: 16px;
    line-height: 1.55;
}

.site-rich-content th,
.site-rich-content td {
    padding: 10px 12px;
    border: 1px solid #d8e3ee;
    vertical-align: top;
}

.site-rich-content th {
    background: #f1f7ff;
    font-weight: 700;
}

.overview-text-section {
    margin-top: 20px;
}

.overview-text-section h2 {
    margin: 0;
    color: #252525;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.55;
}

.overview-text-section ol {
    margin: 0;
    padding-left: 2em;
    list-style-position: outside;
}

.overview-text-section li {
    margin: 0;
    line-height: 1.52;
}

.overview-text-section--compact {
    margin-top: 20px;
}

.overview-text-section--compact p {
    margin: 0;
    text-indent: 2em;
    line-height: 1.55;
}

.conference-news-detail .overview-card {
    min-height: 760px;
}

.news-detail-card h2 {
    margin: 0;
    color: #252525;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.45;
    text-align: center;
}

.news-detail-card__meta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    margin: 16px 0 34px;
    color: #7b8792;
    font-size: 14px;
    line-height: 22px;
}

.news-detail-card__summary {
    margin: 0 0 28px;
    padding: 18px 24px;
    border-left: 4px solid #0788ff;
    background: #f2f8ff;
    color: #3f5568;
    font-size: 16px;
    line-height: 1.75;
    text-indent: 0;
}

.news-detail-card__cover {
    display: block;
    width: 100%;
    max-height: 420px;
    margin: 0 0 30px;
    border-radius: 4px;
    object-fit: cover;
}

.news-detail-card__content {
    color: #333;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.9;
}

.news-detail-card__content p {
    margin: 0 0 19px;
    text-indent: 2em;
}

.news-detail-card__content img {
    max-width: 100%;
    height: auto;
    border-radius: 4px;
}

.conference-organization .overview-card {
    min-height: 760px;
}

.organization-card {
    padding-top: 55px;
    padding-bottom: 64px;
}

.organization-section {
    margin: 0 0 35px;
}

.organization-section:last-child {
    margin-bottom: 0;
}

.organization-section h2 {
    margin: 0 0 13px;
    color: #252525;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.55;
}

.organization-section p {
    margin: 0 0 8px;
    color: #333;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.72;
    text-indent: 2em;
}

.organization-section strong {
    font-weight: 700;
}

.conference-organization .organization-basic {
    min-height: 760px;
    padding: 54px 55px 68px;
}

.conference-organization .organization-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 38px 10px;
}

.conference-organization .organization-info-card {
    min-height: 158px;
    padding: 26px 24px 24px;
    box-sizing: border-box;
    background: linear-gradient(180deg, #f2f7ff 0%, #f6faff 68%, #fff 100%);
    text-align: center;
}

.conference-organization .organization-info-card h2 {
    margin: 0 0 14px;
    color: #0788ff;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
}

.conference-organization .organization-chair-text {
    color: #0788ff;
}

.conference-organization .organization-info-card__body {
    color: #252525;
    font-size: clamp(14px, .9vw, 17px);
    font-weight: 700;
    line-height: 1.7;
}

.conference-organization .organization-info-card__body p {
    margin: 0 0 3px;
    text-indent: 0;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.conference-organization .organization-info-card__body p:last-child {
    margin-bottom: 0;
}

@media (max-width: 991px) {
    .conference-organization .organization-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .conference-organization .organization-basic {
        padding: 28px 16px 34px;
    }
    .conference-organization .organization-card-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .conference-organization .organization-info-card {
        min-height: 0;
        padding: 20px 16px 18px;
    }
    .conference-organization .organization-info-card h2 {
        font-size: 24px;
    }
    .conference-organization .organization-info-card__body {
        font-size: clamp(12px, 3.45vw, 16px);
        font-weight: 700;
    }
}

.conference-fusionweek .overview-card {
    min-height: 891px;
}

.fusionweek-card {
    padding-top: 55px;
    padding-bottom: 68px;
}

.fusionweek-section {
    margin: 0 0 39px;
}

.fusionweek-section:last-child {
    margin-bottom: 0;
}

.fusionweek-section h2 {
    margin: 0 0 14px;
    color: #252525;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.55;
}

.fusionweek-section p {
    margin: 0 0 15px;
    color: #333;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.72;
    text-indent: 2em;
}

.fusionweek-basic {
    padding: 52px 60px 64px;
}

.overview-info-card {
    padding: 52px 60px 64px;
}

.fusionweek-intro p {
    margin: 0 0 22px;
    color: #252525;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.75;
    text-indent: 0;
}

.fusionweek-timeline {
    position: relative;
    margin: 0;
    padding: 0 0 0 31px;
    list-style: none;
}

.fusionweek-timeline:before {
    content: "";
    position: absolute;
    top: 8px;
    bottom: 2px;
    left: 8px;
    width: 2px;
    background: #1590ff;
}

.fusionweek-timeline__item {
    position: relative;
    margin: 0 0 19px;
}

.fusionweek-timeline__item:last-child {
    margin-bottom: 0;
}

.fusionweek-timeline__item:before {
    content: "";
    position: absolute;
    top: 7px;
    left: -28px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #0788ff;
}

.fusionweek-timeline__item h2 {
    margin: 0 0 4px;
    color: #0788ff;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.45;
}

.fusionweek-timeline__item p {
    margin: 0;
    color: #252525;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.58;
    text-indent: 0;
}

@media (max-width: 991px) {
    .overview-info-card,
    .fusionweek-basic {
        padding: 42px 34px 52px;
    }
}

@media (max-width: 767px) {
    .overview-info-card,
    .fusionweek-basic {
        padding: 28px 16px 34px;
    }
    .fusionweek-intro p {
        font-size: 15px;
        line-height: 1.68;
    }
    .fusionweek-timeline {
        padding-left: 24px;
    }
    .fusionweek-timeline:before {
        left: 6px;
    }
    .fusionweek-timeline__item {
        margin-bottom: 16px;
    }
    .fusionweek-timeline__item:before {
        left: -22px;
    }
    .fusionweek-timeline__item h2 {
        font-size: 18px;
    }
    .fusionweek-timeline__item p {
        font-size: 15px;
        line-height: 1.65;
    }
}

.conference-news-list .overview-card {
    min-height: 760px;
}

.news-list-page-card {
    padding-top: 46px;
    padding-bottom: 58px;
}

.news-list-page-tabs {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin: 0 0 26px;
}

.news-list-page-tabs a {
    min-width: 96px;
    height: 36px;
    border: 1px solid #d4e6f7;
    border-radius: 19px;
    color: #5f7182;
    font-size: 15px;
    line-height: 34px;
    text-align: center;
    box-sizing: border-box;
}

.news-list-page-tabs a.active {
    border-color: #0788ff;
    background: #0788ff;
    color: #fff;
}

.news-text-list {
    border-top: 1px solid #e3ebf2;
}

.news-text-list__item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 118px;
    gap: 24px;
    min-height: 55px;
    border-bottom: 1px solid #e3ebf2;
    color: #333;
    font-size: 17px;
    line-height: 55px;
}

.news-text-list__item span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.news-text-list__item time {
    color: #7c8b98;
    font-size: 15px;
    text-align: right;
}

.news-text-list__item:hover {
    color: #0788ff;
}

.conference-news-list .news-page__pager {
    margin-top: 38px;
}

.conference-search-page .overview-card {
    min-height: 560px;
}

.search-page-card {
    padding-top: 42px;
}

.search-page-form {
    height: 58px;
    border: 1px solid #d8e4ee;
    border-radius: 8px;
    display: flex;
    align-items: center;
    padding: 0 8px 0 18px;
    background: #f8fbff;
    color: #8da0b2;
    box-sizing: border-box;
}

.search-page-form input {
    min-width: 0;
    flex: 1;
    height: 100%;
    border: 0;
    outline: 0;
    padding: 0 14px;
    background: transparent;
    color: #203348;
    font-size: 18px;
}

.search-page-form button {
    width: 96px;
    height: 42px;
    border: 0;
    border-radius: 6px;
    background: #0788ff;
    color: #fff;
    font-size: 17px;
    cursor: pointer;
}

.search-page-form button:hover,
.search-page-form button:focus {
    background: #006fd6;
    outline: 0;
}

.search-page-summary {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 24px 0 20px;
    color: #6a7d90;
    font-size: 16px;
}

.search-page-summary strong {
    color: #0788ff;
    font-size: 18px;
}

.search-page-summary em {
    margin-left: auto;
    font-style: normal;
}

.search-result-list {
    border-top: 1px solid #e3ebf2;
}

.search-result-item {
    display: block;
    padding: 22px 0 20px;
    border-bottom: 1px solid #e3ebf2;
    color: #333;
}

.search-result-item span {
    display: inline-flex;
    height: 24px;
    align-items: center;
    padding: 0 10px;
    border-radius: 4px;
    background: #eef7ff;
    color: #0788ff;
    font-size: 13px;
    line-height: 24px;
}

.search-result-item h2 {
    margin: 10px 0 8px;
    color: #16283c;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.35;
}

.search-result-item p {
    margin: 0;
    color: #66798c;
    font-size: 16px;
    line-height: 1.7;
    text-indent: 0;
}

.search-result-item time {
    display: block;
    margin-top: 8px;
    color: #8ea0b0;
    font-size: 14px;
}

.search-result-item:hover h2,
.search-result-item:focus h2 {
    color: #0788ff;
}

.search-page-empty {
    margin: 42px 0 0;
    padding: 44px 24px;
    border: 1px dashed #c9dceb;
    border-radius: 8px;
    background: #f8fbff;
    text-align: center;
}

.search-page-empty strong {
    display: block;
    color: #203348;
    font-size: 22px;
    line-height: 1.4;
}

.search-page-empty p {
    margin: 12px auto 0;
    max-width: 560px;
    color: #6e8092;
    font-size: 16px;
    line-height: 1.7;
    text-indent: 0;
}

.conference-contact-page .overview-card {
    min-height: 520px;
}

.contact-card {
    display: flex;
    align-items: flex-start;
    padding-top: 72px;
}

.contact-info {
    width: 100%;
}

.contact-info h2 {
    margin: 0 0 13px;
    color: #252525;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.55;
}

.contact-info p {
    margin: 0 0 14px;
    color: #333;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.72;
    text-indent: 2em;
}

.contact-info h2 + p {
    margin-top: 0;
}

.conference-gallery .overview-card {
    min-height: 760px;
}

.gallery-simple-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    margin-top: 36px;
}

.gallery-item {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    text-align: left;
    font-family: inherit;
    cursor: pointer;
}

.gallery-simple-grid figure,
.gallery-item {
    border: 1px solid #dfeaf3;
    border-radius: 4px;
    background: #fff;
    overflow: hidden;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.gallery-simple-grid img,
.gallery-item img {
    display: block;
    width: 100%;
    height: 260px;
    object-fit: cover;
}

.gallery-simple-grid figcaption,
.gallery-item span {
    display: block;
    padding: 16px 18px;
    color: #252525;
    font-size: 17px;
    font-weight: 700;
    line-height: 26px;
}

.gallery-item:hover,
.gallery-item:focus {
    border-color: #91c9f9;
    box-shadow: 0 10px 24px rgba(30, 105, 164, .14);
    outline: 0;
    transform: translateY(-1px);
}

body.gallery-open {
    overflow: hidden;
}

.gallery-lightbox {
    position: fixed;
    inset: 0;
    z-index: 3000;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(5, 20, 34, .82);
    padding: 58px 96px;
    box-sizing: border-box;
}

.gallery-lightbox.active {
    display: flex;
}

.gallery-lightbox figure {
    max-width: min(1180px, 100%);
    max-height: 100%;
    margin: 0;
    text-align: center;
}

.gallery-lightbox img {
    display: block;
    max-width: 100%;
    max-height: calc(100vh - 180px);
    margin: 0 auto;
    border-radius: 4px;
    object-fit: contain;
    background: #fff;
    box-shadow: 0 18px 50px rgba(0, 0, 0, .34);
}

.gallery-lightbox figcaption {
    margin-top: 18px;
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    line-height: 30px;
}

.gallery-lightbox__close,
.gallery-lightbox__nav {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .92);
    color: #0b4f84;
    font-family: Arial, sans-serif;
    cursor: pointer;
}

.gallery-lightbox__close {
    top: 28px;
    right: 34px;
    width: 44px;
    height: 44px;
    font-size: 34px;
    line-height: 1;
    padding: 0 0 4px;
}

.gallery-lightbox__nav {
    top: 50%;
    width: 54px;
    height: 54px;
    font-size: 42px;
    line-height: 1;
    padding: 0 0 5px;
    transform: translateY(-50%);
}

.gallery-lightbox__nav--prev {
    left: 34px;
}

.gallery-lightbox__nav--next {
    right: 34px;
}

.gallery-lightbox__close:hover,
.gallery-lightbox__close:focus,
.gallery-lightbox__nav:hover,
.gallery-lightbox__nav:focus {
    background: #fff;
    color: #0788ff;
    outline: 0;
}

@media (min-width: 2200px) {
    .building-card {
        width: clamp(620px, 25vw, 880px);
        padding: clamp(68px, 3vw, 104px) clamp(80px, 3.4vw, 128px) clamp(62px, 2.7vw, 96px);
    }

    .building-card h1 {
        font-size: clamp(38px, 1.35vw, 58px);
    }

    .building-card h2 {
        font-size: clamp(26px, .9vw, 38px);
    }

    .building-card p {
        font-size: clamp(21px, .72vw, 32px);
    }
}

@media (max-width: 1760px) {
    .conference-body,
    .auth-body {
        --desktop-scale: clamp(.78, calc(100vw / 1760px), 1);
    }

    .site-header__inner,
    .news-card,
    .date-cards,
    .friend-links,
    .conference-footer__inner {
        width: calc(100% - 48px);
    }

    .site-header__inner {
        gap: clamp(18px, 1.6vw, 32px);
    }

    .site-logo {
        gap: clamp(8px, .8vw, 12px);
    }

    .site-logo .site-logo__text {
        font-size: clamp(28px, 2.8vw, 38px);
        letter-spacing: 1px;
    }

    .site-nav {
        gap: clamp(18px, 1.9vw, 38px);
    }

    .site-nav a {
        font-size: 18px;
    }

    .site-search-trigger {
        width: calc(44px * var(--desktop-scale));
        height: calc(44px * var(--desktop-scale));
        min-width: 38px;
        min-height: 38px;
        font-size: calc(18px * var(--desktop-scale));
    }

    .site-actions {
        gap: 10px;
    }

    .pill-btn {
        width: calc(86px * var(--desktop-scale));
        height: calc(44px * var(--desktop-scale));
        font-size: calc(18px * var(--desktop-scale));
        line-height: 1;
        min-width: 70px;
        min-height: 38px;
    }

    .hero-section { height: calc(960px * var(--desktop-scale)); }

    .hero-copy {
        transform: scale(var(--desktop-scale));
        transform-origin: top center;
    }

    .section-title {
        margin-bottom: calc(62px * var(--desktop-scale));
        font-size: calc(46px * var(--desktop-scale));
    }

    .section-title:before,
    .section-title:after {
        width: calc(22px * var(--desktop-scale));
        height: calc(31px * var(--desktop-scale));
        margin: 0 calc(30px * var(--desktop-scale));
        vertical-align: calc(7px * var(--desktop-scale));
    }

    .news-section {
        height: calc(1080px * var(--desktop-scale));
        padding-top: calc(103px * var(--desktop-scale));
        padding-bottom: calc(112px * var(--desktop-scale));
        background-size: auto calc(1080px * var(--desktop-scale));
    }

    .news-card {
        height: calc(745px * var(--desktop-scale));
        grid-template-columns: minmax(430px, 31%) minmax(0, 1fr);
        gap: clamp(28px, 2.4vw, 42px);
        padding: calc(85px * var(--desktop-scale)) clamp(38px, 3.2vw, 58px) calc(86px * var(--desktop-scale));
        border-radius: calc(18px * var(--desktop-scale));
    }

    .news-tabs {
        height: calc(52px * var(--desktop-scale));
        margin-bottom: calc(31px * var(--desktop-scale));
        gap: calc(72px * var(--desktop-scale));
    }

    .news-tabs button {
        font-size: calc(23px * var(--desktop-scale));
        line-height: calc(52px * var(--desktop-scale));
    }

    .news-panel a {
        font-size: calc(16px * var(--desktop-scale));
        line-height: calc(51px * var(--desktop-scale));
    }

    .news-media {
        height: calc(572px * var(--desktop-scale));
        border-radius: calc(12px * var(--desktop-scale));
    }

    .news-slide span {
        left: calc(44px * var(--desktop-scale));
        right: calc(44px * var(--desktop-scale));
        bottom: calc(58px * var(--desktop-scale));
    }

    .news-slide b {
        font-size: calc(28px * var(--desktop-scale));
        line-height: calc(42px * var(--desktop-scale));
    }

    .news-slide em {
        font-size: calc(17px * var(--desktop-scale));
        line-height: calc(26px * var(--desktop-scale));
    }

    .slider-dots {
        bottom: calc(25px * var(--desktop-scale));
    }

    .date-section {
        height: calc(1080px * var(--desktop-scale));
        padding-top: calc(104px * var(--desktop-scale));
    }

    .date-cards {
        gap: calc(20px * var(--desktop-scale));
    }

    .date-cards {
        grid-template-columns: repeat(auto-fit, minmax(clamp(280px, 22vw, 328px), 1fr));
        max-width: min(calc(100% - 48px), 1420px);
        gap: clamp(16px, 1.4vw, 20px);
    }

    .date-card {
        width: 100%;
        height: clamp(520px, calc(620px * var(--desktop-scale)), 620px);
        padding: clamp(38px, calc(54px * var(--desktop-scale)), 54px) clamp(18px, 1.5vw, 22px) clamp(28px, calc(36px * var(--desktop-scale)), 36px);
        border-radius: clamp(12px, calc(16px * var(--desktop-scale)), 16px);
    }

    .date-card h3 {
        font-size: clamp(22px, calc(26px * var(--desktop-scale)), 26px);
        line-height: 1.42;
    }

    .date-card p {
        margin-bottom: clamp(30px, calc(43px * var(--desktop-scale)), 43px);
        font-size: clamp(15px, calc(18px * var(--desktop-scale)), 18px);
        line-height: 1.65;
    }

    .date-card:before {
        font-size: clamp(22px, calc(26px * var(--desktop-scale)), 26px);
        line-height: 1.45;
        margin-bottom: clamp(12px, calc(18px * var(--desktop-scale)), 18px);
    }

    .date-card strong {
        font-size: clamp(72px, calc(86px * var(--desktop-scale)), 86px);
    }

    .date-card strong:after {
        font-size: clamp(22px, calc(27px * var(--desktop-scale)), 27px);
    }

    .date-card .countdown-time {
        gap: clamp(14px, calc(21px * var(--desktop-scale)), 21px);
        margin: clamp(18px, calc(25px * var(--desktop-scale)), 25px) 0 clamp(58px, calc(92px * var(--desktop-scale)), 92px);
    }

    .countdown-time b {
        font-size: clamp(44px, calc(58px * var(--desktop-scale)), 58px);
    }

    .countdown-time i {
        font-size: clamp(17px, calc(22px * var(--desktop-scale)), 22px);
    }

    .date-card a {
        width: min(220px, 78%);
        height: clamp(50px, calc(60px * var(--desktop-scale)), 60px);
        border-radius: clamp(25px, calc(32px * var(--desktop-scale)), 32px);
        font-size: clamp(20px, calc(24px * var(--desktop-scale)), 24px);
        line-height: clamp(50px, calc(60px * var(--desktop-scale)), 60px);
    }

    .links-section {
        padding-top: calc(88px * var(--desktop-scale));
        padding-bottom: calc(96px * var(--desktop-scale));
    }

    .friend-links {
        gap: clamp(14px, 1.3vw, 20px);
    }

    .friend-links a {
        height: calc(160px * var(--desktop-scale));
    }

    .friend-links span {
        font-size: calc(22px * var(--desktop-scale));
    }

    .conference-footer {
        min-height: calc(325px * var(--desktop-scale));
        padding-top: calc(56px * var(--desktop-scale));
    }

    .conference-footer__inner {
        grid-template-columns: 220px minmax(0, 1fr) minmax(420px, 600px);
        gap: clamp(36px, 4vw, 70px);
    }

    .footer-logo img {
        width: calc(190px * var(--desktop-scale));
    }

    .footer-copy {
        margin-top: calc(50px * var(--desktop-scale));
    }

    .member-shell {
        grid-template-columns: calc(330px * var(--desktop-scale)) minmax(0, 1fr);
        min-height: calc(100vh - (120px * var(--desktop-scale)));
    }

    .member-sidebar {
        top: calc(120px * var(--desktop-scale));
        height: calc(100vh - (120px * var(--desktop-scale)));
        padding-top: calc(60px * var(--desktop-scale));
        padding-left: calc(100px * var(--desktop-scale));
    }

    .member-sidebar a {
        font-size: calc(22px * var(--desktop-scale));
        line-height: calc(48px * var(--desktop-scale));
    }

    .member-content {
        padding: calc(69px * var(--desktop-scale)) calc(100px * var(--desktop-scale)) calc(120px * var(--desktop-scale)) calc(50px * var(--desktop-scale));
    }

    .form-section {
        margin-bottom: calc(46px * var(--desktop-scale));
    }

    .form-section h2,
    .order-panel h2,
    .member-page-head h2 {
        font-size: calc(22px * var(--desktop-scale));
        line-height: calc(30px * var(--desktop-scale));
    }

    .form-grid,
    .pay-form,
    .profile-form-grid {
        gap: calc(26px * var(--desktop-scale)) calc(44px * var(--desktop-scale));
    }

    .form-grid label,
    .pay-form label,
    .profile-form-grid label {
        font-size: calc(17px * var(--desktop-scale));
        line-height: calc(42px * var(--desktop-scale));
    }

    .form-grid input,
    .form-grid select,
    .form-grid textarea,
    .pay-form input,
    .pay-form textarea,
    .profile-form-grid input {
        height: calc(42px * var(--desktop-scale));
        font-size: calc(15px * var(--desktop-scale));
    }

    .submit-apply {
        width: calc(220px * var(--desktop-scale));
        height: calc(58px * var(--desktop-scale));
        border-radius: calc(29px * var(--desktop-scale));
        font-size: calc(22px * var(--desktop-scale));
        margin-top: calc(95px * var(--desktop-scale));
    }

    .profile-actions .submit-apply {
        width: 128px;
        height: 48px;
        border-radius: 4px;
        font-size: 15px;
        margin-top: 0;
    }

    .order-list__item,
    .paper-list__item,
    .payment-method,
    .profile-head-card {
        padding: calc(22px * var(--desktop-scale)) calc(26px * var(--desktop-scale));
    }

    .order-list__main strong,
    .paper-list__main h3,
    .profile-head-card__info strong {
        font-size: calc(18px * var(--desktop-scale));
    }

    .order-list__main span,
    .paper-list__main p,
    .profile-head-card__info span {
        font-size: calc(15px * var(--desktop-scale));
    }

    .profile-avatar-container,
    .profile-user-img {
        width: calc(104px * var(--desktop-scale));
        height: calc(104px * var(--desktop-scale));
        flex-basis: calc(104px * var(--desktop-scale));
    }

    .news-page,
    .news-detail {
        padding-top: calc(110px * var(--desktop-scale));
        padding-bottom: calc(120px * var(--desktop-scale));
    }

    .news-page__inner,
    .news-detail__article,
    .overview-shell {
        width: min(calc(100% - 48px), calc(1180px * var(--desktop-scale)));
    }

    .overview-shell {
        width: min(calc(100% - 48px), calc(1230px * var(--desktop-scale)));
    }

    .overview-heading h1 {
        font-size: calc(28px * var(--desktop-scale));
        line-height: calc(38px * var(--desktop-scale));
    }

    .overview-card {
        min-height: calc(891px * var(--desktop-scale));
        margin-top: calc(29px * var(--desktop-scale));
        padding: calc(60px * var(--desktop-scale)) calc(44px * var(--desktop-scale)) calc(70px * var(--desktop-scale));
        font-size: calc(17px * var(--desktop-scale));
    }

    .news-list-card {
        grid-template-columns: calc(210px * var(--desktop-scale)) minmax(0, 1fr);
        gap: calc(24px * var(--desktop-scale));
        padding: calc(18px * var(--desktop-scale));
    }

    .news-list-card img {
        width: calc(210px * var(--desktop-scale));
        height: calc(118px * var(--desktop-scale));
    }

    .news-list-card b,
    .payment-method h3 {
        font-size: calc(22px * var(--desktop-scale));
        line-height: calc(32px * var(--desktop-scale));
    }

    .news-detail__content,
    .news-detail__summary,
    .site-rich-content {
        font-size: calc(18px * var(--desktop-scale));
    }

    .gallery-simple-grid {
        gap: calc(24px * var(--desktop-scale));
    }

    .gallery-simple-grid img,
    .gallery-item img {
        height: calc(260px * var(--desktop-scale));
    }

    .auth-home {
        font-size: calc(18px * var(--desktop-scale));
        line-height: calc(24px * var(--desktop-scale));
    }

    .auth-card--psd,
    .auth-card--psd[data-active-tab="login"] {
        width: calc(399px * var(--desktop-scale));
        height: auto;
        min-height: calc(534px * var(--desktop-scale));
        padding: calc(55px * var(--desktop-scale)) calc(45px * var(--desktop-scale)) calc(26px * var(--desktop-scale)) calc(48px * var(--desktop-scale));
    }

    .auth-title {
        margin-bottom: calc(35px * var(--desktop-scale));
        font-size: calc(26px * var(--desktop-scale));
        line-height: calc(32px * var(--desktop-scale));
    }

    .auth-card--psd[data-active-tab="login"] .auth-title {
        margin-bottom: calc(42px * var(--desktop-scale));
    }

    .auth-field,
    .auth-agree,
    .auth-login-tools,
    .auth-submit {
        width: calc(306px * var(--desktop-scale));
    }

    .auth-field {
        height: calc(46px * var(--desktop-scale));
        margin-bottom: calc(16px * var(--desktop-scale));
        grid-template-columns: calc(38px * var(--desktop-scale)) minmax(0, 1fr);
    }

    .auth-field--sms {
        grid-template-columns: calc(38px * var(--desktop-scale)) minmax(0, 1fr) calc(90px * var(--desktop-scale));
    }

    .auth-field input,
    .auth-field--sms button,
    .auth-submit {
        height: calc(44px * var(--desktop-scale));
        font-size: calc(14px * var(--desktop-scale));
        line-height: calc(44px * var(--desktop-scale));
    }

    .auth-submit {
        font-size: calc(18px * var(--desktop-scale));
    }
}

@media (min-width: 1761px) {
    .hero-section {
        height: clamp(960px, 50vw, 1440px);
    }

    .auth-home {
        left: clamp(100px, 6vw, 320px);
        top: clamp(69px, 5vh, 180px);
    }

    .auth-card--psd {
        left: auto;
        right: clamp(96px, 12vw, 640px);
        top: clamp(252px, 14vh, 520px);
        transform-origin: top right;
    }
}

@media (min-width: 2560px) {
    .auth-card--psd {
        transform: scale(1.15);
    }
}

@media (min-width: 3200px) {
    .auth-card--psd {
        transform: scale(1.28);
    }
}

@media (min-width: 3840px) {
    .auth-card--psd {
        transform: scale(1.38);
    }
}

@media (min-width: 5120px) {
    .auth-card--psd {
        transform: scale(1.45);
    }
}

@media (min-width: 1201px) and (max-width: 1599px) {
    body.auth-body {
        min-width: 0;
        overflow-x: hidden;
    }

    .auth-page--psd {
        min-width: 0;
    }

    .auth-home {
        left: clamp(40px, 5vw, 100px);
    }

    .auth-card--psd {
        right: clamp(48px, 7vw, 110px);
        left: auto;
    }
}

@media (max-width: 1200px) {
    html, body { min-width: 0; }
    .site-header__inner, .news-card, .date-cards, .friend-links, .conference-footer__inner { width: calc(100% - 32px); }
    .overview-shell { width: calc(100% - 32px); }
    .overview-card { padding: 34px 24px 42px; }
    .gallery-simple-grid { grid-template-columns: 1fr; }
    .gallery-lightbox { padding: 58px 18px; }
    .gallery-lightbox__nav--prev { left: 14px; }
    .gallery-lightbox__nav--next { right: 14px; }
    .site-logo { order: 1; }
    .site-search-trigger {
        order: 2;
        margin-left: auto;
    }
    .site-menu-toggle {
        display: inline-flex;
        order: 3;
        width: 40px;
        height: 40px;
        margin-left: 6px;
        padding: 0;
        border: 0;
        background: transparent;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4px;
    }
    .site-nav { display: none; }
    .site-actions { display: none; }
    .site-header.is-menu-open {
        height: auto;
        align-items: flex-start;
    }
    .site-header.is-menu-open .site-header__inner {
        height: auto;
        min-height: 120px;
        padding-bottom: 14px;
        flex-wrap: wrap;
        align-items: center;
    }
    .site-header.is-menu-open .site-nav,
    .site-header.is-menu-open .site-actions {
        display: flex;
    }
    .site-header.is-menu-open .site-nav {
        order: 10;
        width: 100%;
        flex: 0 0 100%;
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
        margin: 8px 0 0;
        white-space: normal;
    }
    .site-header.is-menu-open .site-nav a {
        width: 100%;
        line-height: 44px;
        font-size: 15px;
    }
    .site-header.is-menu-open .site-nav a.active,
    .site-header.is-menu-open .site-nav a[aria-current="page"] {
        padding-left: 12px;
        border-radius: 8px;
        background: #eef7ff;
        box-sizing: border-box;
    }
    .site-header.is-menu-open .site-nav a.active:after,
    .site-header.is-menu-open .site-nav a[aria-current="page"]:after {
        left: 0;
        bottom: 11px;
        width: 3px;
        height: 22px;
        transform: none;
    }
    .site-header.is-menu-open .site-actions {
        order: 11;
        width: 100%;
        flex: 0 0 100%;
        gap: 10px;
        margin-left: 0;
        margin-top: 10px;
    }
    .site-header.is-menu-open .pill-btn {
        flex: 1;
        width: auto;
        height: 40px;
        line-height: 1;
        font-size: 15px;
    }
    .hero-copy {
        transform: none;
    }
    .hero-actions { gap: 20px; padding: 0 16px; }
    .hero-btn { width: 220px; max-width: 303px; min-width: 0; padding: 0 22px; }
    .member-shell { grid-template-columns: 1fr; }
    .member-sidebar { position: static; width: auto; padding: 24px; display: flex; gap: 18px; overflow-x: auto; }
    .member-sidebar a { margin: 0; white-space: nowrap; }
    .member-content { grid-column: auto; padding: 30px 20px; }
    .form-grid { grid-template-columns: 1fr; column-gap: 0; }
    .member-page-head { align-items: flex-start; flex-direction: column; gap: 14px; }
    .order-list__item { grid-template-columns: 1fr; gap: 18px; padding: 20px; }
    .order-list__main { grid-template-columns: 1fr; gap: 9px; }
    .order-list__status { justify-content: space-between; width: 100%; }
    .paper-list__item { grid-template-columns: 1fr; }
    .paper-list__status { justify-content: flex-start; }
    .paper-list__main p { grid-template-columns: 1fr; gap: 2px; }
    .payment-summary { grid-template-columns: 1fr; }
    .payment-methods { grid-template-columns: 1fr; }
    .payment-submit-form { max-width: none; }
    .payment-choice label { width: auto; }
    .date-section {
        height: auto;
        min-height: 0;
        padding-bottom: 88px;
    }
    .date-cards {
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
        justify-content: center;
    }
    .friend-links { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}

@media (min-width: 769px) and (max-width: 1200px) {
    body.auth-body {
        min-width: 0;
        overflow: auto;
    }

    .auth-page--psd {
        position: relative;
        inset: auto;
        width: 100%;
        min-width: 0;
        height: auto;
        min-height: 100vh;
        overflow: auto;
        padding: 36px 24px 48px;
        box-sizing: border-box;
    }

    .auth-home {
        left: 32px;
        top: 28px;
    }

    .auth-card--psd,
    .auth-card--psd[data-active-tab="login"] {
        position: relative;
        left: auto;
        top: auto;
        width: 399px;
        max-width: calc(100vw - 48px);
        height: auto;
        min-height: 534px;
        margin: clamp(28px, 6vh, 52px) auto 0;
    }
}

@media (max-width: 768px) {
    .member-shell {
        display: block;
        min-height: 0;
    }

    .member-sidebar {
        position: relative;
        top: auto;
        width: 100%;
        height: auto;
        padding: 12px 12px 10px;
        display: flex;
        gap: 10px;
        overflow-x: auto;
        overflow-y: hidden;
        white-space: nowrap;
        z-index: 800;
        -webkit-overflow-scrolling: touch;
    }

    .member-sidebar a {
        flex: 0 0 auto;
        margin: 0;
        padding: 0 14px;
        border-radius: 999px;
        background: #f4f7fa;
        font-size: 15px;
        line-height: 34px;
        white-space: nowrap;
    }

    .member-sidebar .active {
        background: #e1f1ff;
    }

    .member-content {
        grid-column: auto;
    }
}

@media (max-width: 420px) {
    .member-sidebar {
        padding-left: 10px;
        padding-right: 10px;
    }

    .member-sidebar a {
        padding: 0 12px;
        font-size: 14px;
    }
}

@media (max-width: 1024px) {
    .site-header__inner,
    .news-card,
    .date-cards,
    .friend-links,
    .conference-footer__inner,
    .overview-shell,
    .news-page__inner,
    .news-detail__article,
    .member-content,
    .order-panel,
    .order-panel--wide,
    .payment-page {
        width: calc(100% - 28px);
    }

    .site-header__inner {
        gap: 18px;
    }

    .site-nav {
        gap: 22px;
    }

    .site-nav a {
        font-size: 18px;
    }

    .site-search-trigger {
        width: 40px;
        height: 40px;
        font-size: 16px;
    }

    .pill-btn {
        width: 76px;
        font-size: 15px;
    }

    .hero-section { height: 760px; }

    .hero-copy {
        padding-top: 104px;
    }

    .hero-copy h1 {
        max-width: 900px;
        font-size: 62px;
        line-height: 1.15;
        letter-spacing: 3px;
    }

    .hero-copy p {
        margin-bottom: 28px;
        font-size: 35px;
        letter-spacing: 1px;
    }

    .hero-title-reflection {
        max-width: 900px;
        font-size: 54px;
        line-height: .72;
        letter-spacing: 3px;
    }

    .hero-actions {
        gap: 22px;
    }

    .hero-btn {
        width: 200px;
        height: 64px;
        font-size: 24px;
        line-height: 64px;
        letter-spacing: 3px;
    }

    .section-title {
        font-size: 38px;
        margin-bottom: 48px;
    }

    .news-section,
    .date-section,
    .links-section {
        height: auto;
    }

    .news-card {
        grid-template-columns: 1fr;
        height: auto;
    }

    .news-media {
        aspect-ratio: 16 / 9;
        height: auto;
    }

    .date-cards {
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    }

    .friend-links {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .conference-footer__inner {
        grid-template-columns: 220px 1fr;
        gap: 32px;
    }

    .footer-groups {
        grid-template-columns: 1fr 1fr;
        gap: 24px;
    }

    .member-shell {
        grid-template-columns: 280px 1fr;
    }

    .member-sidebar {
        padding-left: 28px;
    }

    .member-sidebar a {
        font-size: 18px;
        line-height: 42px;
    }

    .member-content {
        padding: 42px 28px 96px 26px;
    }

    .form-grid,
    .profile-form-grid {
        gap: 18px 20px;
    }

    .news-list-card {
        grid-template-columns: 180px 1fr;
    }

    .news-list-card img {
        width: 180px;
    }

    .overview-shell,
    .news-page__inner,
    .news-detail__article {
        width: calc(100% - 28px);
    }

    .overview-card {
        padding: 42px 32px 52px;
    }

    .gallery-simple-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .profile-panel {
        max-width: none;
    }

    .profile-form-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    html, body {
        min-width: 0;
        height: auto;
        min-height: 100%;
        overflow-x: hidden;
        scroll-padding-top: 64px;
    }

    body.conference-body {
        padding-top: 64px !important;
    }

    .site-header {
        height: 64px;
    }

    .site-header__inner {
        width: auto;
        height: 64px;
        padding: 0 14px;
        gap: 10px;
        position: relative;
    }

    .site-logo {
        flex: 0 0 auto;
    }

    .site-logo img {
        width: 76px;
        height: 52px;
    }

    .site-menu-toggle {
        display: inline-flex;
        width: 40px;
        height: 40px;
        margin-left: 6px;
        padding: 0;
        border: 0;
        background: transparent;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4px;
    }

    .site-menu-toggle span {
        display: block;
        width: 18px;
        height: 2px;
        border-radius: 999px;
        background: #0b87f9;
        transition: transform .18s ease, opacity .18s ease;
    }

    .site-header.is-menu-open .site-menu-toggle span:nth-child(1) {
        transform: translateY(6px) rotate(45deg);
    }

    .site-header.is-menu-open .site-menu-toggle span:nth-child(2) {
        opacity: 0;
    }

    .site-header.is-menu-open .site-menu-toggle span:nth-child(3) {
        transform: translateY(-6px) rotate(-45deg);
    }

    .site-logo {
        order: 1;
    }

    .site-search-trigger {
        order: 2;
        margin-left: auto;
    }

    .site-search-modal {
        padding: 88px 16px 20px;
    }

    .site-search-modal__panel {
        padding: 26px 18px 22px;
    }

    .site-search-modal__panel strong {
        font-size: 20px;
    }

    .site-search-form {
        height: 52px;
        padding-left: 14px;
    }

    .site-search-form input {
        padding: 0 10px;
        font-size: 15px;
    }

    .site-search-form button {
        width: 74px;
        height: 38px;
        font-size: 15px;
    }

    .site-menu-toggle {
        order: 3;
    }

    .site-nav,
    .site-actions {
        display: none;
    }

    .site-header.is-menu-open .site-nav,
    .site-header.is-menu-open .site-actions {
        display: flex;
    }

    .site-header.is-menu-open {
        height: auto;
        align-items: flex-start;
    }

    .site-header.is-menu-open .site-header__inner {
        height: auto;
        min-height: 64px;
        padding-bottom: 14px;
        flex-wrap: wrap;
        align-items: center;
    }

    .site-header.is-menu-open .site-nav {
        order: 10;
        width: 100%;
        flex: 0 0 100%;
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
        margin: 8px 0 0;
        white-space: normal;
    }

    .site-header.is-menu-open .site-nav a {
        width: 100%;
        line-height: 44px;
        font-size: 15px;
    }

    .site-header.is-menu-open .site-nav a.active,
    .site-header.is-menu-open .site-nav a[aria-current="page"] {
        padding-left: 12px;
        border-radius: 8px;
        background: #eef7ff;
        box-sizing: border-box;
    }

    .site-header.is-menu-open .site-nav a.active:after,
    .site-header.is-menu-open .site-nav a[aria-current="page"]:after {
        left: 0;
        bottom: 11px;
        width: 3px;
        height: 22px;
        transform: none;
    }

    .site-header.is-menu-open .site-actions {
        order: 11;
        width: 100%;
        flex: 0 0 100%;
        gap: 10px;
        margin-left: 0;
        margin-top: 10px;
    }

    .site-header.is-menu-open .pill-btn {
        flex: 1;
        width: auto;
        height: 40px;
        line-height: 1;
        font-size: 15px;
    }

    .site-closed-modal {
        padding: 16px;
    }

    .site-closed-modal__panel {
        width: min(100%, 320px);
        padding: 34px 22px 24px;
    }

    .site-closed-modal__panel strong {
        font-size: 20px;
        line-height: 28px;
    }

    .site-closed-modal__panel p {
        font-size: 14px;
        line-height: 22px;
    }

    .building-page {
        min-height: calc(100vh - 68px);
        padding: 92px 18px 130px;
    }

    .building-card {
        width: min(100%, 420px);
        padding: 38px 28px 34px;
    }

    .building-card h1 {
        font-size: 24px;
        line-height: 1.35;
        margin-bottom: 24px;
    }

    .building-card h2 {
        font-size: 18px;
        line-height: 1.4;
        margin-bottom: 14px;
    }

    .building-card p {
        display: block;
        font-size: 15px;
        line-height: 1.7;
        white-space: normal;
    }

    .building-card em {
        display: block;
        margin-top: 2px;
    }

    .hero-section { height: 720px; }

    .hero-copy {
        padding: 58px 16px 0;
    }

    .hero-copy h1 {
        max-width: 680px;
        font-size: clamp(36px, 9.5vw, 52px);
        line-height: 1.16;
        letter-spacing: 1px;
        white-space: normal;
    }

    .hero-copy p {
        margin: 0 0 22px;
        font-size: clamp(22px, 5.4vw, 31px);
        letter-spacing: 1px;
        line-height: 1.25;
    }

    .hero-actions {
        flex-direction: column;
        align-items: center;
        gap: 25px;
        margin-top: 90px;
        padding: 0;
    }

    .hero-btn {
        width: 100%;
        max-width: 240px;
        min-width: 0;
        height: 50px;
        padding: 0 18px;
        border-radius: 28px;
        font-size: 20px;
        line-height: 50px;
        letter-spacing: 3px;
    }

    .hero-title-reflection {
        display: none;
    }

    .section-title {
        margin-bottom: 26px;
        font-size: 26px;
    }

    .section-title:before,
    .section-title:after {
        width: 14px;
        height: 20px;
        margin: 0 12px;
        vertical-align: 3px;
    }

    .news-section,
    .date-section,
    .links-section {
        height: auto;
        padding: 48px 0 52px;
        background-size: 100% 100%;
    }

    .news-card,
    .conference-footer__inner,
    .friend-links,
    .date-cards {
        width: calc(100% - 24px);
    }

    .news-card {
        height: auto;
        padding: 18px;
        grid-template-columns: 1fr;
        gap: 18px;
        border-radius: 14px;
    }

    .news-tabs {
        gap: 22px;
        height: 44px;
        margin-bottom: 18px;
        border-bottom-width: 2px;
        overflow-x: auto;
    }

    .news-tabs button {
        font-size: 16px;
        line-height: 44px;
        white-space: nowrap;
    }

    .news-panel a {
        font-size: 14px;
        line-height: 1.55;
        padding: 10px 0;
        align-items: flex-start;
    }

    .news-panel a span {
        white-space: normal;
    }

    .news-panel em {
        margin-left: 0;
        font-size: 12px;
        white-space: nowrap;
        flex: 0 0 auto;
    }

    .news-panel .more-link {
        margin-top: 12px;
    }

    .news-media {
        height: auto;
        aspect-ratio: 16 / 10;
    }

    .news-slide span {
        left: 16px;
        right: 16px;
        bottom: 34px;
    }

    .news-slide b {
        font-size: 18px;
        line-height: 1.35;
    }

    .news-slide em {
        font-size: 13px;
        line-height: 1.45;
    }

    .slider-dots {
        bottom: 12px;
    }

    .date-cards {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .date-card {
        height: auto;
        min-height: 360px;
        padding: 28px 18px 24px;
        border-radius: 14px;
    }

    .date-card h3 {
        font-size: 20px;
        line-height: 1.4;
    }

    .date-card p {
        margin-bottom: 24px;
        font-size: 14px;
        line-height: 1.6;
    }

    .date-card:before {
        font-size: 18px;
        line-height: 1.4;
        margin-bottom: 10px;
    }

    .date-card strong {
        font-size: 60px;
    }

    .date-card strong:after {
        font-size: 20px;
    }

    .date-card .countdown-time {
        gap: 12px;
        margin: 18px 0 28px;
        flex-wrap: wrap;
    }

    .countdown-time b {
        font-size: 34px;
    }

    .countdown-time i {
        font-size: 14px;
    }

    .date-card a {
        width: 100%;
        height: 46px;
        font-size: 18px;
        line-height: 46px;
    }

    .friend-links {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }

    .friend-links a {
        height: 132px;
    }

    .friend-links span {
        font-size: 20px;
    }

    .conference-footer {
        min-height: 0;
        padding-top: 32px;
    }

    .conference-footer__inner {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .footer-logo img {
        width: 140px;
    }

    .footer-contact p,
    .footer-groups p {
        font-size: 14px;
        line-height: 22px;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .footer-groups p {
        white-space: normal;
        overflow-x: visible;
    }

    .footer-groups {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .footer-groups strong {
        font-size: 15px;
        margin-bottom: 10px;
    }

    .footer-copy {
        margin-top: 24px;
        padding: 0 12px 24px;
        font-size: 12px;
        line-height: 18px;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .member-shell,
    .conference-overview {
        min-height: 0;
    }

    .member-sidebar {
        position: relative;
        top: auto;
        height: auto;
        padding: 12px 12px 10px;
        overflow-x: auto;
        display: flex;
        gap: 10px;
        align-items: center;
        white-space: nowrap;
        z-index: 800;
    }

    .member-sidebar a {
        flex: 0 0 auto;
        font-size: 15px;
        line-height: 34px;
        padding: 0 14px;
        border-radius: 999px;
        background: #f4f7fa;
    }

    .member-sidebar .active {
        background: #e1f1ff;
    }

    .member-content {
        padding: 24px 12px 44px;
    }

    .form-section {
        margin-bottom: 28px;
    }

    .form-section h2 {
        font-size: 18px;
        line-height: 26px;
        margin-bottom: 18px;
        padding-left: 14px;
    }

    .form-section h2:before {
        width: 4px;
        height: 18px;
    }

    .form-grid,
    .pay-form,
    .auth-card--psd {
        gap: 14px;
    }

    .form-grid label,
    .pay-form label {
        grid-template-columns: 1fr;
        gap: 8px;
        padding: 12px 14px;
        border-radius: 10px;
    }

    .form-label,
    .form-grid label,
    .pay-form label {
        font-size: 14px;
    }

    .form-grid input,
    .form-grid select,
    .form-grid textarea,
    .pay-form input,
    .pay-form textarea,
    .auth-card input {
        width: 100%;
        height: 44px;
        font-size: 15px;
    }

    .form-grid textarea,
    .pay-form textarea {
        min-height: 90px;
        height: auto;
    }

    .form-grid .upload-control,
    .pay-form .upload-control {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .upload-control .faupload {
        width: 100%;
        height: 40px;
        font-size: 14px;
    }

    .form-grid .faupload-preview,
    .pay-form .faupload-preview {
        margin-top: 8px;
    }

    .student-card-note {
        font-size: 12px;
        line-height: 1.65;
        padding: 10px 12px;
    }

    .submit-apply {
        width: 100%;
        height: 48px;
        font-size: 17px;
    }

    .auth-page--psd {
        position: relative;
        inset: auto;
        width: 100vw;
        max-width: 100vw;
        min-width: 0;
        height: auto;
        min-height: calc(100vh - 64px);
        overflow: auto;
        padding: 24px 14px 32px;
        box-sizing: border-box;
    }

    body.auth-body {
        min-width: 0;
        overflow: auto;
    }

    .auth-home {
        position: relative;
        top: 16px;
        left: 14px;
        min-width: 112px;
        height: 34px;
        padding: 0 12px;
        font-size: 13px;
        line-height: 34px;
    }

    .auth-card--psd,
    .auth-card--psd[data-active-tab="login"] {
        position: relative;
        left: auto;
        top: auto;
        width: calc(100vw - 28px);
        max-width: 420px;
        height: auto;
        min-height: 0;
        margin: clamp(28px, 6vh, 52px) auto 0;
        padding: 20px 16px 18px;
        border-radius: 14px;
    }

.auth-card--psd[data-active-tab="login"] {
    padding-top: 24px;
}

    .auth-card--psd[data-active-tab="login"] .auth-title {
        margin-bottom: 16px;
    }

    .auth-title {
        font-size: 24px;
        line-height: 1.2;
        margin-bottom: 18px;
    }

    .auth-register-tabs {
        width: 100%;
        height: auto;
        gap: 8px;
        margin-bottom: 16px;
    }

    .auth-register-tabs button {
        height: 40px;
        font-size: 14px;
        line-height: 40px;
    }

    .auth-field {
        width: 100%;
        min-height: 44px;
        height: auto;
        margin-bottom: 12px;
        padding: 0 12px;
        grid-template-columns: 34px minmax(0, 1fr);
    }

    .auth-field--sms {
        grid-template-columns: 34px minmax(0, 1fr) 86px;
    }

    .auth-field input {
        height: 42px;
    }

    .auth-agree {
        width: 100%;
        height: auto;
        margin: 4px 0 16px;
        padding: 0;
        background: transparent;
        border: 0;
        white-space: normal;
    }

    .auth-card--psd .auth-agree {
        min-height: 0;
        line-height: 1.5;
    }

    .auth-submit {
        width: 100%;
        height: 46px;
        margin: 0;
        font-size: 17px;
        line-height: 46px;
    }

    .auth-submit--login {
        margin-top: 18px;
    }

    .auth-login-tools {
        width: 100%;
    }

    .auth-switch {
        margin-top: 10px;
        font-size: 13px;
    }

    body.auth-body {
        width: 100%;
        min-width: 0;
        overflow-x: hidden;
        background: #d9e8ff;
    }

    .auth-page--psd {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        min-height: 100vh;
        padding: 18px clamp(14px, 4vw, 24px) 32px;
        background-position: center top;
        background-size: cover;
    }

    .auth-home {
        position: relative;
        left: 0;
        top: 0;
        width: max-content;
        min-width: 0;
        height: 34px;
        padding: 0 10px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        font-size: 13px;
        line-height: 34px;
    }

    .auth-home .fa {
        width: 14px;
        height: 34px;
        font-size: 14px;
        line-height: 1;
    }

    .auth-card--psd,
    .auth-card--psd[data-active-tab="login"] {
        position: relative;
        left: auto;
        top: auto;
        width: min(100%, 420px);
        max-width: 100%;
        height: auto;
        min-height: 0;
        margin: clamp(28px, 6vh, 52px) auto 0;
        padding: clamp(18px, 5vw, 24px);
        border-radius: 12px;
        box-sizing: border-box;
    }

    .auth-title {
        margin-bottom: 16px;
        font-size: clamp(21px, 6vw, 24px);
        line-height: 1.25;
    }

    .auth-register-tabs,
    .auth-server-error,
    .auth-field,
    .auth-agree,
    .auth-submit,
    .auth-login-tools {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .auth-field,
    .auth-card--psd .auth-field {
        display: grid;
        grid-template-columns: 34px minmax(0, 1fr);
        align-items: center;
        min-height: 44px;
        height: auto;
        margin-bottom: 12px;
        padding: 0 10px;
        gap: 0;
        border-radius: 8px;
    }

    .auth-field--sms {
        grid-template-columns: 34px minmax(0, 1fr) 86px;
    }

    .auth-field input {
        min-width: 0;
        height: 42px;
        padding: 0 6px;
        font-size: 14px;
        line-height: 42px;
    }

    .auth-field--sms button {
        width: 86px;
        min-width: 0;
        height: 42px;
        font-size: 13px;
        line-height: 42px;
        white-space: nowrap;
    }

    .auth-agree,
    .auth-card--psd .auth-agree {
        min-height: 0;
        height: auto;
        margin: 2px 0 14px;
        padding: 0;
        font-size: 12px;
        line-height: 1.5;
        white-space: normal;
    }

    .auth-submit {
        height: 46px;
        font-size: 17px;
        line-height: 46px;
    }

    .auth-login-tools {
        margin-top: 12px;
    }

    .auth-switch {
        margin-top: 12px;
        line-height: 20px;
    }

    .order-panel,
    .order-panel--wide,
    .payment-page,
    .overview-shell,
    .news-page__inner,
    .news-detail__article {
        width: calc(100% - 24px);
        max-width: none;
    }

    .overview-heading {
        height: auto;
        padding-bottom: 12px;
    }

    .overview-heading h1,
    .news-page__head h1,
    .news-detail h1,
    .news-detail-card h2 {
        font-size: 22px;
        line-height: 1.35;
    }

    .overview-card {
        min-height: 0;
        margin-top: 18px;
        padding: 24px 16px 28px;
        border-radius: 10px;
        font-size: 15px;
    }

    .overview-card p,
    .organization-section p,
    .fusionweek-section p,
    .contact-info p,
    .news-detail-card__content p {
        text-indent: 0;
    }

    .site-rich-content table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }

    .news-page,
    .news-detail,
    .conference-news-list .overview-card,
    .conference-contact-page .overview-card,
    .conference-gallery .overview-card,
    .conference-organization .overview-card,
    .conference-fusionweek .overview-card {
        min-height: 0;
        padding-top: 36px;
        padding-bottom: 40px;
    }

    .news-page__head {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
        margin-bottom: 20px;
        padding-bottom: 16px;
    }

    .news-page__tabs,
    .news-list-page-tabs {
        width: 100%;
        overflow-x: auto;
        gap: 10px;
        padding-bottom: 2px;
    }

    .news-page__tabs a,
    .news-list-page-tabs a {
        flex: 0 0 auto;
        min-width: 92px;
        height: 36px;
        line-height: 36px;
        font-size: 13px;
    }

    .search-page-card {
        padding-top: 26px;
    }

    .search-page-form {
        height: auto;
        min-height: 50px;
        padding: 6px;
    }

    .search-page-form input {
        padding: 0 8px;
        font-size: 15px;
    }

    .search-page-form button {
        width: 68px;
        height: 36px;
        font-size: 14px;
    }

    .search-page-summary {
        flex-wrap: wrap;
        gap: 8px;
        margin: 18px 0 14px;
        font-size: 14px;
    }

    .search-page-summary em {
        width: 100%;
        margin-left: 0;
    }

    .search-result-item {
        padding: 18px 0 16px;
    }

    .search-result-item h2 {
        font-size: 18px;
    }

    .search-result-item p {
        font-size: 14px;
    }

    .search-page-empty {
        margin-top: 24px;
        padding: 30px 18px;
    }

    .search-page-empty strong {
        font-size: 19px;
    }

    .search-page-empty p {
        font-size: 14px;
    }

    .news-list-card,
    .news-text-list__item {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .news-list-card {
        padding: 14px;
    }

    .news-list-card img {
        width: 100%;
        height: 180px;
    }

    .news-list-card b {
        font-size: 18px;
        line-height: 1.4;
    }

    .news-list-card i,
    .news-text-list__item span {
        -webkit-line-clamp: unset;
        white-space: normal;
    }

    .news-text-list__item {
        min-height: 0;
        line-height: 1.55;
        padding: 14px 0;
    }

    .news-text-list__item time {
        text-align: left;
    }

    .news-detail__article,
    .news-detail-card__summary {
        padding: 20px 16px;
    }

    .news-detail__meta,
    .news-detail-card__meta {
        flex-wrap: wrap;
        gap: 10px 16px;
        margin: 12px 0 18px;
    }

    .news-detail__cover,
    .news-detail-card__cover {
        margin-bottom: 18px;
        max-height: none;
        border-radius: 8px;
    }

    .news-detail__summary,
    .news-detail-card__summary {
        border-left-width: 4px;
        font-size: 15px;
        line-height: 1.75;
    }

    .news-detail__content,
    .news-detail-card__content,
    .site-rich-content,
    .organization-section,
    .fusionweek-section,
    .contact-info {
        font-size: 15px;
        line-height: 1.8;
    }

    .profile-panel {
        max-width: none;
    }

    body.auth-body {
        width: 100%;
        min-width: 0;
        overflow-x: hidden;
    }

    .auth-page--psd {
        position: relative;
        inset: auto;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        height: auto;
        min-height: 100vh;
        overflow: auto;
        padding: 18px clamp(14px, 4vw, 24px) 32px;
        box-sizing: border-box;
        background-position: center top;
        background-size: cover;
    }

    .auth-home {
        position: relative;
        left: 0;
        top: 0;
        width: max-content;
        min-width: 0;
        height: 34px;
        padding: 0 10px;
    }

    .auth-card--psd,
    .auth-card--psd[data-active-tab="login"] {
        position: relative;
        left: auto;
        top: auto;
        width: min(100%, 420px);
        max-width: 420px;
        height: auto;
        min-height: 0;
        margin: clamp(28px, 6vh, 52px) auto 0;
        padding: clamp(18px, 5vw, 24px);
        box-sizing: border-box;
    }

    .auth-card--psd[data-active-tab="login"] {
        padding-top: clamp(18px, 5vw, 24px);
    }

    .auth-card--psd[data-active-tab="login"] .auth-title {
        margin-bottom: 16px;
    }

    .profile-head-card {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
        margin-bottom: 18px;
        padding: 18px 16px;
        border-radius: 10px;
    }

    .profile-avatar-container,
    .profile-user-img {
        width: 88px;
        height: 88px;
        flex-basis: 88px;
    }

    .profile-head-card__info strong {
        font-size: 20px;
        line-height: 28px;
    }

    .profile-form-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .profile-form-grid label {
        grid-template-columns: 1fr;
        gap: 8px;
        font-size: 14px;
        line-height: 1.5;
        white-space: normal;
    }

    .profile-readonly-field {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .profile-change-btn,
    .profile-reset-btn {
        width: 100%;
        height: 44px;
    }

    .profile-actions {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
        margin-top: 26px;
    }

    .profile-actions .submit-apply {
        width: 100%;
    }

    .profile-reset-btn {
        width: 100%;
    }

    .gallery-simple-grid {
        grid-template-columns: 1fr;
        gap: 14px;
        margin-top: 18px;
    }

    .gallery-simple-grid img,
    .gallery-item img {
        height: 210px;
    }

    .gallery-simple-grid figcaption,
    .gallery-item span {
        padding: 12px 14px;
        font-size: 15px;
        line-height: 22px;
    }

    .gallery-lightbox {
        padding: 20px 12px;
    }

    .gallery-lightbox img {
        max-height: calc(100vh - 150px);
    }

    .gallery-lightbox figcaption {
        font-size: 15px;
        line-height: 22px;
    }

    .gallery-lightbox__close,
    .gallery-lightbox__nav {
        width: 40px;
        height: 40px;
    }

    .gallery-lightbox__close {
        top: 16px;
        right: 16px;
        font-size: 28px;
    }

    .gallery-lightbox__nav {
        width: 40px;
        height: 40px;
        font-size: 28px;
    }

    .gallery-lightbox__nav--prev { left: 12px; }
    .gallery-lightbox__nav--next { right: 12px; }

    .contact-card {
        padding-top: 16px;
    }

    .order-summary,
    .payment-summary,
    .payment-method,
    .order-list__item,
    .paper-list__item {
        border-radius: 10px;
    }

    .order-summary p,
    .payment-summary p {
        padding: 14px 16px;
    }

    .order-list__main strong,
    .order-list__main span,
    .paper-list__main h3,
    .paper-list__main p {
        white-space: normal;
    }

    .order-list__status,
    .paper-list__status {
        width: 100%;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .payment-methods {
        gap: 14px;
        margin-top: 16px;
    }

    .payment-method {
        padding: 18px 16px;
    }

    .payment-method h3 {
        font-size: 18px;
    }

    .payment-method dl {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .payment-qrcode {
        width: min(320px, 100%);
        height: auto;
    }

.payment-choice label {
    width: 100%;
}

.payment-locked {
    margin-top: 18px;
}
}

@media (max-width: 1360px) {
    .member-shell {
        grid-template-columns: clamp(220px, 22vw, 280px) minmax(0, 1fr);
    }

    .member-sidebar {
        padding-left: clamp(22px, 3vw, 44px);
    }

    .member-content {
        min-width: 0;
        padding-right: clamp(24px, 4vw, 56px);
    }

    .form-grid {
        column-gap: clamp(24px, 4vw, 64px);
    }

    .order-list__main {
        grid-template-columns: minmax(140px, 1fr) minmax(80px, .65fr) minmax(90px, .65fr) minmax(130px, .8fr);
    }

    .payment-summary {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 1100px) {
    .member-shell {
        grid-template-columns: 280px minmax(0, 1fr);
        min-height: calc(100vh - 120px);
    }

    .member-sidebar {
        position: sticky;
        top: 120px;
        width: auto;
        height: calc(100vh - 120px);
        padding: 60px 0 0 28px;
        overflow-x: visible;
        overflow-y: auto;
        white-space: normal;
        z-index: 850;
    }

    .member-sidebar a {
        margin: 0;
        padding: 0;
        border-radius: 0;
        background: transparent;
        font-size: 18px;
        line-height: 42px;
    }

    .member-content {
        width: auto;
        min-width: 0;
        padding: 42px 28px 96px 26px;
    }

    .order-panel,
    .order-panel--wide,
    .payment-page,
    .profile-panel {
        max-width: none;
        width: 100%;
    }

    .form-grid,
    .profile-form-grid {
        grid-template-columns: 1fr;
        column-gap: 0;
    }

    .payment-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .payment-methods {
        grid-template-columns: 1fr;
    }

    .order-list__item,
    .paper-list__item {
        grid-template-columns: 1fr;
    }

    .order-list__main {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .order-list__status,
    .paper-list__status {
        justify-content: flex-start;
        flex-wrap: wrap;
    }
}

@media (max-width: 768px) {
    .member-content {
        padding: 22px 12px 48px;
    }

    .member-page-head,
    .paper-list__head {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .member-page-head h2,
    .paper-list__head h2,
    .order-panel h2,
    .form-section h2 {
        font-size: 20px;
        line-height: 28px;
    }

    .status-refresh {
        width: 100%;
        box-sizing: border-box;
    }

    .form-grid label,
    .pay-form label,
    .profile-form-grid label {
        grid-template-columns: 1fr;
        gap: 8px;
        min-width: 0;
        line-height: 1.45;
        white-space: normal;
    }

    .form-grid label > input,
    .form-grid label > select,
    .form-grid label > textarea,
    .form-grid label > .upload-control,
    .pay-form label > input,
    .pay-form label > textarea,
    .pay-form label > .upload-control,
    .profile-form-grid input,
    .profile-readonly-field,
    .apply-field-label,
    .form-label {
        grid-column: auto;
        min-width: 0;
        width: 100%;
    }

    .form-grid input,
    .form-grid select,
    .form-grid textarea,
    .pay-form input,
    .pay-form textarea,
    .profile-form-grid input {
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
    }

    .upload-control {
        height: auto;
        min-height: 42px;
        grid-template-columns: minmax(0, 1fr) 88px;
    }

    .form-grid .upload-control input,
    .pay-form .upload-control input {
        min-width: 0;
    }

    .upload-control .faupload {
        min-width: 0;
        font-size: 14px;
        white-space: nowrap;
    }

    .form-grid .msg-box,
    .pay-form .msg-box {
        position: static !important;
        grid-column: auto;
        width: 100%;
        height: auto;
        margin-top: 6px !important;
        white-space: normal;
        pointer-events: auto;
    }

    .student-card-note,
    .form-note,
    .paper-upload-note {
        grid-column: auto;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        white-space: normal;
    }

    .profile-head-card {
        flex-direction: column;
        align-items: flex-start;
    }

    .profile-head-card__info {
        width: 100%;
    }

    .profile-readonly-field {
        grid-template-columns: minmax(0, 1fr) 72px;
    }

    .profile-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .profile-actions .submit-apply,
    .profile-reset-btn {
        width: 100%;
    }

    .order-list__main,
    .payment-summary {
        grid-template-columns: 1fr;
    }

    .order-list__main strong,
    .order-list__main span,
    .paper-list__main h3,
    .paper-list__main p,
    .payment-summary span,
    .payment-summary strong {
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .order-list__status {
        width: 100%;
    }

    .order-pay-link,
    .order-cancel-btn {
        flex: 1 1 auto;
    }

    .payment-method dl {
        grid-template-columns: 1fr;
        gap: 6px;
    }
}

@media (max-width: 420px) {
    .member-sidebar {
        padding-left: 10px;
        padding-right: 10px;
    }

    .member-sidebar a {
        padding: 0 12px;
        font-size: 14px;
    }

    .member-content {
        padding-left: 10px;
        padding-right: 10px;
    }

    .upload-control,
    .profile-readonly-field {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .upload-control {
        border: 0;
        background: transparent;
        overflow: visible;
    }

    .form-grid .upload-control input,
    .pay-form .upload-control input {
        height: 42px;
        border: 1px solid #ccd9e4;
        border-radius: 4px;
        background: #fff;
    }

    .upload-control .faupload,
    .profile-change-btn {
        width: 100%;
        border-radius: 4px;
    }
}

@media (min-width: 769px) and (max-width: 1200px) {
    .member-shell {
        display: grid;
        grid-template-columns: 280px minmax(0, 1fr);
        min-height: calc(100vh - 120px);
    }

    .member-sidebar {
        position: sticky;
        top: 120px;
        width: auto;
        height: calc(100vh - 120px);
        padding: 60px 0 0 28px;
        display: block;
        overflow-x: visible;
        overflow-y: auto;
        white-space: normal;
        z-index: 850;
    }

    .member-sidebar a {
        display: block;
        flex: initial;
        margin: 0;
        padding: 0;
        border-radius: 0;
        background: transparent;
        font-size: 18px;
        line-height: 42px;
        white-space: normal;
    }

    .member-content {
        grid-column: 2;
        width: auto;
        min-width: 0;
        padding: 42px 28px 96px 26px;
    }
}

@media (max-width: 768px) {
    .member-shell {
        display: block;
        grid-template-columns: 1fr;
        width: 100%;
        min-height: 0;
        overflow-x: hidden;
    }

    .member-sidebar {
        position: sticky;
        top: 64px;
        width: 100%;
        height: auto;
        max-width: 100%;
        padding: 12px 12px 10px;
        display: flex;
        gap: 10px;
        align-items: center;
        overflow-x: auto;
        overflow-y: hidden;
        white-space: nowrap;
        box-sizing: border-box;
        z-index: 800;
        -webkit-overflow-scrolling: touch;
    }

    .member-sidebar a {
        display: inline-flex;
        flex: 0 0 auto;
        align-items: center;
        justify-content: center;
        margin: 0;
        padding: 0 14px;
        border-radius: 999px;
        background: #f4f7fa;
        font-size: 15px;
        line-height: 34px;
        white-space: nowrap;
    }

    .member-sidebar .active {
        background: #e1f1ff;
    }

    .member-content {
        grid-column: auto;
        width: 100%;
        min-width: 0;
        padding: 22px 12px 48px;
        box-sizing: border-box;
    }

    .profile-panel,
    .member-form,
    .profile-form {
        width: 100%;
        max-width: none;
        min-width: 0;
    }

    .profile-form-grid,
    .form-grid {
        grid-template-columns: 1fr;
        column-gap: 0;
    }

    .profile-form-grid label {
        grid-template-columns: 1fr;
        gap: 8px;
        min-width: 0;
        line-height: 1.45;
        white-space: normal;
    }

    .profile-form-grid input,
    .profile-readonly-field {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
    }

    .profile-readonly-field {
        grid-template-columns: minmax(0, 1fr) 72px;
    }
}

@media (max-width: 420px) {
    .member-sidebar {
        top: auto;
        padding-left: 10px;
        padding-right: 10px;
    }

    .member-sidebar a {
        padding: 0 12px;
        font-size: 14px;
    }

    .member-content {
        padding-left: 10px;
        padding-right: 10px;
    }

    .profile-readonly-field {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .member-sidebar {
        position: relative;
        top: auto;
    }
}

@media (max-width: 340px) {
    .site-header__inner {
        padding: 0 10px;
        gap: 6px;
    }

    .site-logo {
        gap: 6px;
        min-width: 0;
    }

    .site-logo img {
        width: 58px;
        height: 44px;
    }

    .site-logo .site-logo__text {
        font-size: 24px;
        letter-spacing: 0;
    }

    .site-search-trigger,
    .site-menu-toggle {
        width: 34px;
        height: 34px;
        min-width: 34px;
    }

    .site-menu-toggle {
        margin-left: 0;
    }
}

