:root { color-scheme: light; --h5-max-width: 430px; --h5-page-padding: 18px; --h5-nav-height: 82px; --h5-text-main: #162033; --h5-text-subtle: #6b7a90; --h5-line: rgba(15, 36, 66, 0.08); --h5-primary: #1f6bff; --h5-primary-soft: #e9f1ff; --h5-surface: rgba(255, 255, 255, 0.94); --h5-surface-strong: #ffffff; } * { box-sizing: border-box; } html, body, #root { min-height: 100%; margin: 0; } body { background: radial-gradient(circle at top, rgba(50, 122, 255, 0.12), transparent 34%), linear-gradient(180deg, #fbfdff 0%, #f2f6fb 100%); color: var(--h5-text-main); font-family: "HarmonyOS Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif; } a { color: inherit; text-decoration: none; } button { font: inherit; } .h5-app-shell { position: relative; min-height: 100vh; padding: 0 0 calc(env(safe-area-inset-bottom) + 12px); } .h5-app-shell__bg { position: fixed; inset: 0; pointer-events: none; background: radial-gradient(circle at 20% 10%, rgba(31, 107, 255, 0.08), transparent 25%), radial-gradient(circle at 80% 0%, rgba(59, 130, 246, 0.08), transparent 20%); } .h5-app-shell__content { position: relative; max-width: var(--h5-max-width); min-height: 100vh; margin: 0 auto; padding: 20px var(--h5-page-padding) calc(var(--h5-nav-height) + 18px); } .page-stack { display: flex; flex-direction: column; gap: 16px; } .surface-card { border: 1px solid var(--h5-line) !important; background: var(--h5-surface) !important; box-shadow: 0 18px 48px rgba(16, 40, 78, 0.08) !important; } .surface-card--hero { overflow: hidden; } .page-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; } .page-header__left { display: flex; align-items: center; gap: 10px; min-width: 0; } .page-header__title { margin: 0; font-size: 28px; font-weight: 800; letter-spacing: -0.03em; } .page-header__back { background: rgba(255, 255, 255, 0.8); } .h5-bottom-nav { position: fixed; left: 50%; bottom: 0; z-index: 5; display: grid; grid-template-columns: repeat(2, 1fr); width: min(var(--h5-max-width), 100vw); transform: translateX(-50%); padding: 10px 18px calc(env(safe-area-inset-bottom) + 10px); background: rgba(255, 255, 255, 0.92); backdrop-filter: blur(14px); border-top: 1px solid rgba(15, 36, 66, 0.08); } .h5-bottom-nav__item { display: flex; flex-direction: column; align-items: center; gap: 4px; color: #8794a8; font-size: 12px; font-weight: 600; } .h5-bottom-nav__item.is-active { color: var(--h5-primary); } .h5-bottom-nav__icon { font-size: 20px; } .state-panel { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 220px; gap: 12px; } .state-panel__text { color: var(--h5-text-subtle); } .login-page { max-width: var(--h5-max-width); margin: 0 auto; min-height: 100vh; padding: 32px var(--h5-page-padding); display: flex; flex-direction: column; justify-content: center; gap: 24px; } .login-page--compact { gap: 16px; padding-top: 24px; padding-bottom: 24px; } .login-page__hero { padding: 8px 4px; } .login-page__badge { display: inline-flex; align-items: center; padding: 6px 12px; border-radius: 999px; background: var(--h5-primary-soft); color: var(--h5-primary); font-size: 12px; font-weight: 700; } .login-card .ant-card-body { padding: 24px; } .login-card--compact .ant-card-body { padding: 20px; } .login-card__brand { display: flex; align-items: center; gap: 14px; margin-bottom: 20px; } .login-card__logo { width: 48px; height: 48px; border-radius: 14px; object-fit: cover; background: #f1f5fb; } .login-card__brand-text { display: flex; flex-direction: column; gap: 2px; } .login-card__brand-name { font-size: 18px; font-weight: 800; } .login-card__brand-desc { color: var(--h5-text-subtle); font-size: 12px; } .captcha-preview { margin: -4px 0 16px; padding: 10px 14px; border-radius: 14px; background: #f7faff; text-align: center; } .captcha-preview img { max-width: 100%; } .login-card__footer { margin-top: 18px; padding-top: 14px; border-top: 1px solid rgba(15, 36, 66, 0.08); color: var(--h5-text-subtle); font-size: 12px; line-height: 1.8; } .login-card__actions { display: flex; justify-content: flex-end; margin-top: 12px; } .login-card__link { color: var(--h5-primary); font-size: 13px; font-weight: 600; } .captcha-preview--compact { margin-top: -8px; margin-bottom: 14px; padding: 8px 12px; } .login-inline-field { display: grid; grid-template-columns: minmax(0, 1fr) 92px; gap: 10px; } .login-form__hint-list { color: var(--h5-text-subtle); font-size: 12px; line-height: 1.6; } .meeting-card-list { display: flex; flex-direction: column; gap: 14px; } .meeting-list-card { width: 100%; border: 0; border-radius: 18px; background: #fff; padding: 18px 16px; text-align: left; box-shadow: inset 0 0 0 1px rgba(15, 36, 66, 0.06); } .meeting-list-card__title { font-size: 18px; font-weight: 800; line-height: 1.4; } .meeting-list-card__meta-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 14px; margin-top: 12px; color: var(--h5-primary); font-size: 13px; } .meeting-list-card__summary { margin: 14px 0 0 !important; color: var(--h5-text-subtle) !important; } .meeting-pagination { display: flex; justify-content: center; padding-top: 4px; } .meeting-hero { display: flex; flex-direction: column; gap: 16px; } .meeting-hero__chips { display: flex; flex-wrap: wrap; gap: 10px; } .meeting-chip { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: 999px; background: var(--h5-primary-soft); color: var(--h5-primary); font-size: 13px; font-weight: 700; } .info-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; } .info-item { display: flex; flex-direction: column; gap: 6px; } .info-item__label { display: inline-flex; align-items: center; gap: 6px; color: var(--h5-text-subtle); font-size: 12px; } .tag-list { display: flex; flex-wrap: wrap; gap: 10px; } .participant-tag { margin: 0 !important; padding: 6px 12px !important; border-radius: 999px !important; border: 0 !important; background: #f3f7fc !important; } .inline-actions { display: flex; gap: 12px; flex-wrap: wrap; } .inline-actions--right { justify-content: flex-end; } .meeting-audio { width: 100%; } .markdown-body { color: var(--h5-text-main); line-height: 1.8; overflow-x: auto; } .markdown-body p:first-child { margin-top: 0; } .markdown-body table { width: max-content; min-width: 100%; margin: 12px 0 16px; border-collapse: collapse; border-spacing: 0; font-size: 14px; line-height: 1.6; } .markdown-body th, .markdown-body td { padding: 8px 10px; border: 1px solid rgba(15, 36, 66, 0.1); text-align: left; vertical-align: top; overflow-wrap: anywhere; } .markdown-body th { background: #f5f8ff; color: var(--h5-text-main); font-weight: 700; } .markdown-body tr:nth-child(even) td { background: rgba(248, 251, 255, 0.72); } .chapter-list, .transcript-list { display: flex; flex-direction: column; gap: 14px; } .chapter-item, .transcript-item { display: flex; gap: 12px; padding: 14px; border-radius: 16px; background: #f8fbff; border: 1px solid rgba(15, 36, 66, 0.06); } .chapter-item__index { flex-shrink: 0; width: 30px; height: 30px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--h5-primary); color: #fff; font-size: 12px; font-weight: 700; } .chapter-item__body, .transcript-item__content { flex: 1; min-width: 0; } .chapter-item__title { display: flex; flex-direction: column; gap: 6px; font-weight: 700; } .chapter-item__time, .transcript-item__meta { color: var(--h5-text-subtle); font-size: 12px; } .chapter-item__summary { margin-top: 8px; color: var(--h5-text-subtle); line-height: 1.7; } .transcript-item { flex-direction: column; } .transcript-item__meta { display: flex; justify-content: space-between; gap: 12px; } .preview-page { min-height: 100vh; padding: 20px 16px 32px; } .preview-page__inner { max-width: 860px; margin: 0 auto; display: flex; flex-direction: column; gap: 16px; } .preview-page__header { display: flex; justify-content: center; padding-top: 6px; } .preview-password-card { max-width: 420px; margin: 80px auto 0; } .profile-hero { display: flex; flex-direction: column; align-items: center; padding: 20px 0 8px; text-align: center; } .profile-hero__avatar { border: 4px solid rgba(31, 107, 255, 0.12); background: linear-gradient(180deg, #f7fbff 0%, #eef5ff 100%); color: var(--h5-primary); font-size: 28px; font-weight: 800; } .profile-hero__meta { margin-top: 14px; color: var(--h5-text-subtle); display: grid; gap: 6px; } .profile-action { width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 16px 14px; border: 1px solid rgba(15, 36, 66, 0.08); border-radius: 16px; background: #fff; color: var(--h5-text-main); } .profile-action.is-danger { justify-content: center; color: #ff4d4f; } .profile-action__left { display: inline-flex; align-items: center; gap: 12px; font-weight: 700; } .profile-action__icon { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 10px; background: #edf4ff; color: var(--h5-primary); } .profile-footer { text-align: center; padding: 0 8px; } .scan-confirm__hero { display: flex; align-items: flex-start; gap: 16px; } .scan-confirm__icon { width: 52px; height: 52px; border-radius: 16px; display: flex; align-items: center; justify-content: center; background: var(--h5-primary-soft); color: var(--h5-primary); font-size: 22px; } .scan-confirm__tip-card { background: #f7fbff !important; } .scan-confirm__tip-line { display: flex; gap: 8px; color: var(--h5-text-main); } .scan-confirm__tip-line.is-muted { color: var(--h5-text-subtle); } @media (max-width: 520px) { .login-page { padding-left: 14px; padding-right: 14px; } .page-header__title { font-size: 24px; } .info-grid, .meeting-list-card__meta-grid { grid-template-columns: 1fr 1fr; } .inline-actions { flex-direction: column; } .inline-actions .ant-btn { width: 100%; } .login-inline-field { grid-template-columns: minmax(0, 1fr) 84px; } }