/* Visual system from 后台框架模板-统一美化版-20260928. Native Xboard feature bundle stays intact. */
/* Local OFL CJK face; Latin continues to use the platform UI fonts below. */
@font-face {
  font-family: "Xboard Sans SC";
  src: url("./fonts/noto-sans-sc-vf.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+2E80-2FFF,U+3000-30FF,U+31F0-31FF,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FE10-FE1F,U+FE30-FE4F,U+FF00-FFEF,U+20000-323AF;
}
:root.unified-user {
  --u-canvas: #f3f6fa;
  --u-surface: #fff;
  --u-surface-soft: #f7f9fc;
  --u-hover: #f4f7fb;
  --u-ink: #122033;
  --u-text: #344054;
  --u-muted: #667085;
  --u-line: #dde5ef;
  --u-primary: #2563eb;
  --u-primary-hover: #1d4ed8;
  --u-primary-soft: #edf4ff;
  --u-shadow: 0 6px 18px rgba(26, 45, 72, .06);
  --u-radius: 12px;
  --u-control-radius: 8px;
  --u-font: "Xboard Sans SC", -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Segoe UI", "Microsoft YaHei UI", "Microsoft YaHei", "PingFang SC", "Noto Sans SC", sans-serif;
  --primary-color: var(--u-primary) !important;
  --primary-color-hover: var(--u-primary-hover) !important;
  --primary-color-pressed: #1e40af !important;
  --primary-color-suppl: var(--u-primary) !important;
  --font-family: var(--u-font) !important;
  color: var(--u-text);
  font-family: var(--u-font);
  background: var(--u-canvas);
}
.unified-user.dark {
  --u-canvas: #111824;
  --u-surface: #192230;
  --u-surface-soft: #202c3c;
  --u-hover: #243246;
  --u-ink: #edf3fc;
  --u-text: #d4deed;
  --u-muted: #a1aec2;
  --u-line: #324156;
  --u-primary: #7aa7ff;
  --u-primary-hover: #9abcff;
  --u-primary-soft: #223857;
  --u-shadow: 0 6px 18px rgba(0, 0, 0, .16);
}
.unified-user *, .unified-user *::before, .unified-user *::after { box-sizing: border-box; }
.unified-user body { margin: 0; color: var(--u-text); background: var(--u-canvas); font: 14px/1.5 var(--u-font); -webkit-font-smoothing: antialiased; }
.unified-user html, .unified-user body, .unified-user #app { min-width: 320px; height: 100%; }
.unified-user button, .unified-user input, .unified-user textarea, .unified-user select { font-family: var(--u-font); }
.unified-user :focus-visible { outline: 3px solid color-mix(in srgb, var(--u-primary) 25%, transparent); outline-offset: 3px; }
.unified-user a { color: var(--u-primary); }
.unified-user a:hover { color: var(--u-primary-hover); }
.unified-user ::-webkit-scrollbar { width: 6px; height: 6px; }
.unified-user ::-webkit-scrollbar-thumb { background: #b8c5d6; border-radius: 6px; }
.unified-user ::-webkit-scrollbar-track { background: transparent; }

/* Native Vue shell: fixed full-width topbar, floating sidebar, independent page scroll. */
.unified-shell { height: 100dvh !important; min-height: 360px; background: var(--u-canvas) !important; }
.unified-shell > .n-layout-scroll-container { height: 100%; overflow: hidden !important; }
.unified-main { min-width: 0; height: 100%; margin-left: 252px; padding-top: 82px; transition: margin-left .18s ease; }
.unified-topbar {
  position: fixed !important; top: 0; left: 0; right: 0; z-index: 100;
  height: 66px !important; padding: 0 22px !important; gap: 22px;
  border-bottom: 1px solid var(--u-line); background: var(--u-surface) !important;
  box-shadow: 0 1px 2px rgba(26, 45, 72, .04); color: var(--u-text);
}
.unified-brand { min-width: 208px; display: flex; align-items: center; gap: 11px; flex: none; }
.unified-brand-mark { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: #2563eb; color: #fff; font-size: 20px; font-weight: 700; object-fit: contain; }
img.unified-brand-mark { background: transparent; }
.unified-brand-title { max-width: 166px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 17px; font-weight: 650; color: var(--u-ink); letter-spacing: -.3px; }
.unified-topbar > div:not(.unified-brand) { gap: 15px; }
.unified-topbar .n-icon { color: var(--u-muted); transition: color .15s; }
.unified-topbar .n-icon:hover { color: var(--u-primary); }
.unified-topbar .n-breadcrumb { margin-left: 0 !important; font-size: 14px; }
.unified-topbar .n-breadcrumb-item { color: var(--u-muted); }
.unified-topbar .n-breadcrumb-item:last-child { color: var(--u-ink); font-weight: 500; }
.unified-topbar img.rounded-full { width: 30px; height: 30px; border: 1px solid var(--u-line); }
.unified-sidebar {
  position: fixed !important; left: 16px; top: 82px; bottom: 16px; height: auto !important;
  width: 220px !important; max-width: 220px !important; min-width: 220px !important;
  border: 1px solid var(--u-line) !important; border-radius: var(--u-radius) !important;
  background: var(--u-surface) !important; box-shadow: var(--u-shadow); overflow: hidden;
  --n-color: var(--u-surface) !important; --n-border-color: transparent !important;
}
.unified-sidebar > .n-layout-sider-scroll-container, .unified-sidebar .n-scrollbar-content { min-height: 100%; }
.unified-sidebar [h-60] { justify-content: flex-start; height: 54px !important; padding: 0 18px; border-bottom: 1px solid var(--u-line); margin-bottom: 8px; }
.unified-sidebar [h-60] h2 { margin-left: 0 !important; font-size: 13px !important; color: var(--u-muted) !important; font-weight: 500 !important; }
.unified-sidebar [h-60] img { display: none; }
.unified-sidebar-brand { justify-content: flex-start !important; height: 54px !important; padding: 0 18px; border-bottom: 1px solid var(--u-line); margin-bottom: 8px; }
.unified-sidebar-brand h2 { max-width: 156px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin-left: 0 !important; font-size: 13px !important; color: var(--u-muted) !important; font-weight: 500 !important; }
.unified-sidebar-brand img { display: none; }
.unified-sidebar.n-layout-sider--collapsed { transform: translateX(-252px) !important; }
.unified-shell[data-unified-collapsed="true"] .unified-main { margin-left: 0; }
.unified-content { min-height: 0; background: var(--u-canvas) !important; }
.unified-page { padding: 0 22px 24px 0 !important; background: var(--u-canvas) !important; gap: 0; overscroll-behavior: contain; }
.unified-shell[data-unified-collapsed="true"] .unified-page { padding-left: 22px !important; }
.unified-page-heading { display: block; padding: 3px 0 21px; flex: none; }
.unified-page-heading h1 { margin: 0; font-size: 22px; line-height: 1.45; color: var(--u-ink); font-weight: 650; letter-spacing: -.4px; }
.unified-page-heading p { margin: 5px 0 0; font-size: 13px; color: var(--u-muted); }
.unified-page h2 { font-size: 17px !important; line-height: 1.5; font-weight: 600; color: var(--u-ink); }
.unified-page h3 { font-size: 16px; line-height: 1.5; font-weight: 600; }

/* Original menu retains native route selection and mobile close behaviour. */
.unified-menu { --n-font-size: 14px !important; --n-item-text-color: var(--u-text) !important; --n-item-text-color-hover: var(--u-ink) !important; --n-item-text-color-active: var(--u-primary) !important; --n-item-text-color-active-hover: var(--u-primary) !important; --n-item-icon-color: var(--u-muted) !important; --n-item-icon-color-active: var(--u-primary) !important; --n-item-icon-color-active-hover: var(--u-primary) !important; --n-item-color-active: var(--u-primary-soft) !important; --n-item-color-active-hover: var(--u-primary-soft) !important; --n-item-color-hover: var(--u-hover) !important; --n-item-height: 42px !important; padding: 0 8px 14px !important; }
.unified-menu .n-menu-item { height: 42px !important; margin-top: 4px !important; }
.unified-menu .n-menu-item-content { height: 42px !important; padding-left: 12px !important; border-radius: 8px; }
.unified-menu .n-menu-item-content::before { left: 0 !important; right: 0 !important; border-radius: 8px !important; border-left: 0 !important; }
.unified-menu .n-menu-item-content--selected::after { position: absolute; content: ""; left: 0; top: 13px; bottom: 13px; width: 3px; border-radius: 0 3px 3px 0; background: var(--u-primary); }
.unified-menu .n-menu-item-content--selected .n-menu-item-content-header { font-weight: 600; }
.unified-menu .n-menu-item-content__icon { margin-right: 12px !important; }
.unified-menu .n-menu-item-group-title { padding: 19px 12px 7px !important; height: auto !important; line-height: 1.3 !important; font-size: 11px !important; font-weight: 600; color: var(--u-muted) !important; }

/* Cohesive Naive UI tokens across every native view, dialog and portal. */
.unified-user .n-config-provider { font-family: var(--u-font); }
.unified-user .n-card {
  --n-color: var(--u-surface) !important; --n-color-modal: var(--u-surface) !important;
  --n-color-popover: var(--u-surface) !important; --n-text-color: var(--u-text) !important;
  --n-title-text-color: var(--u-ink) !important; --n-border-color: var(--u-line) !important;
  --n-border-radius: var(--u-radius) !important; --n-font-size: 14px !important;
  --n-title-font-size: 16px !important; --n-title-font-weight: 600 !important;
  --n-padding-top: 20px !important; --n-padding-bottom: 20px !important; --n-padding-left: 22px !important; --n-padding-right: 22px !important;
  box-shadow: 0 1px 2px rgba(26, 45, 72, .025);
}
.unified-user .n-card > .n-card-header { padding: 18px 22px 14px !important; }
.unified-user .n-card > .n-card-header .n-card-header__main { color: var(--u-ink); font-size: 15px; font-weight: 600; line-height: 1.5; }
.unified-user .n-card > .n-card__content { padding: 0 22px 20px; }
.unified-user .n-card > .n-card__content:first-child { padding-top: 22px; }
.unified-user .n-card > .n-card__footer { padding: 0 22px 20px; }
.unified-user .n-card > .n-card__action { background: var(--u-surface-soft); border-color: var(--u-line); border-radius: 0 0 var(--u-radius) var(--u-radius); }
.unified-user .n-card.n-card--content-segmented > .n-card__content { border-color: var(--u-line); padding-top: 18px; }
.unified-user .n-card .n-card { box-shadow: none; }
.unified-user .n-button {
  --n-font-size: 14px !important; --n-font-weight: 500 !important; --n-border-radius: var(--u-control-radius) !important;
  --n-height: 36px !important; --n-text-color: var(--u-text); --n-border: 1px solid var(--u-line);
  --n-border-hover: 1px solid var(--u-primary); --n-border-focus: 1px solid var(--u-primary);
  --n-text-color-hover: var(--u-primary); --n-text-color-focus: var(--u-primary);
  --n-color: var(--u-surface); --n-color-hover: var(--u-hover); --n-color-focus: var(--u-hover);
  white-space: nowrap;
}
.unified-user .n-button.n-button--primary-type:not(.n-button--text-type):not(.unified-text-button):not(.n-button--ghost) {
  --n-color: #2563eb !important; --n-color-hover: #1d4ed8 !important; --n-color-focus: #2563eb !important; --n-color-pressed: #1e40af !important;
  --n-text-color: #fff !important; --n-text-color-hover: #fff !important; --n-text-color-focus: #fff !important; --n-text-color-pressed: #fff !important;
  --n-border: 1px solid #2563eb !important; --n-border-hover: 1px solid #1d4ed8 !important; --n-border-focus: 1px solid #2563eb !important; --n-border-pressed: 1px solid #1e40af !important;
}
.unified-user .n-button.n-button--primary-type.n-button--ghost { --n-text-color: var(--u-primary) !important; --n-text-color-hover: var(--u-primary-hover) !important; --n-border: 1px solid var(--u-primary) !important; }
.unified-user .n-button.n-button--default-type:not(.n-button--text-type):not(.unified-text-button) { --n-text-color: var(--u-text) !important; --n-text-color-hover: var(--u-primary) !important; --n-text-color-focus: var(--u-primary) !important; --n-color: var(--u-surface) !important; --n-color-hover: var(--u-hover) !important; --n-color-focus: var(--u-hover) !important; --n-border: 1px solid var(--u-line) !important; --n-border-hover: 1px solid var(--u-primary) !important; --n-border-focus: 1px solid var(--u-primary) !important; }
.unified-user .n-button.unified-text-button { --n-color: transparent !important; --n-color-hover: transparent !important; --n-color-focus: transparent !important; --n-color-pressed: transparent !important; --n-border: none !important; --n-border-hover: none !important; --n-border-focus: none !important; --n-border-pressed: none !important; --n-height: 30px !important; --n-padding: 0 !important; --n-text-color: var(--u-text) !important; --n-text-color-hover: var(--u-primary) !important; --n-text-color-focus: var(--u-primary) !important; --n-text-color-disabled: var(--u-muted) !important; }
.unified-user .n-button.unified-text-button.n-button--primary-type { --n-text-color: var(--u-primary) !important; }
.unified-user .n-button.n-button--text-type, .unified-user .n-button.n-button--quaternary { --n-height: 30px !important; }
.unified-user .n-button.n-button--small-type { --n-height: 30px !important; --n-font-size: 13px !important; }
.unified-user .n-button:not(.n-button--disabled):active { transform: translateY(1px); }
.unified-user .n-input, .unified-user .n-base-selection, .unified-user .n-input-number {
  --n-color: var(--u-surface) !important; --n-color-focus: var(--u-surface) !important; --n-text-color: var(--u-text) !important;
  --n-placeholder-color: var(--u-muted) !important; --n-border-radius: var(--u-control-radius) !important;
  --n-border: 1px solid var(--u-line) !important; --n-border-hover: 1px solid var(--u-primary) !important;
  --n-border-focus: 1px solid var(--u-primary) !important; --n-height: 36px !important; --n-font-size: 14px !important;
  --n-box-shadow-focus: 0 0 0 3px rgba(37,99,235,.12) !important;
}
.unified-user .n-input input, .unified-user .n-input textarea { font: 14px var(--u-font); color: var(--u-text); }
.unified-user .n-form-item { --n-label-font-size: 13px !important; --n-label-text-color: var(--u-text) !important; --n-blank-height: 36px !important; }
.unified-user .n-form-item-label { font-weight: 500; }
.unified-user .n-form-item-feedback { font-size: 12px; padding-top: 6px; }
.unified-user .n-checkbox { --n-color: var(--u-surface) !important; --n-color-checked: #2563eb !important; --n-border-checked: 1px solid #2563eb !important; --n-border-radius: 4px !important; --n-text-color: var(--u-text) !important; --n-font-size: 13px !important; }
.unified-user .n-radio { --n-dot-color-active: var(--u-primary) !important; --n-box-shadow-active: inset 0 0 0 1px var(--u-primary) !important; --n-text-color: var(--u-text) !important; }
.unified-user .n-switch { --n-rail-color-active: #2563eb !important; }
.unified-user .n-tabs { --n-tab-text-color: var(--u-muted) !important; --n-tab-text-color-active: var(--u-primary) !important; --n-bar-color: var(--u-primary) !important; --n-tab-font-size: 14px !important; }
.unified-user .n-tabs .n-tabs-tab { font-weight: 500; }
.unified-user .n-data-table, .unified-user .n-table {
  --n-th-color: var(--u-surface-soft) !important; --n-th-text-color: var(--u-muted) !important;
  --n-td-color: var(--u-surface) !important; --n-td-color-hover: var(--u-hover) !important;
  --n-td-text-color: var(--u-text) !important; --n-border-color: var(--u-line) !important;
  --n-border-radius: var(--u-control-radius) !important; --n-font-size: 13px !important;
  --n-th-font-weight: 500 !important; --n-th-padding: 13px 16px !important; --n-td-padding: 15px 16px !important;
}
.unified-user .n-data-table-th { font-size: 12px; letter-spacing: 0; }
.unified-user .n-data-table-td { font-size: 13px; }
.unified-user .n-data-table-base-table { border-radius: var(--u-control-radius); }
.unified-user .n-data-table-empty { padding: 48px 20px !important; }
.unified-user .n-pagination { --n-item-border-radius: 6px !important; --n-item-text-color-active: var(--u-primary) !important; --n-item-border-active: 1px solid var(--u-primary) !important; --n-item-color: var(--u-surface) !important; }
.unified-user .n-tag { --n-border-radius: 5px !important; --n-height: 25px !important; font-size: 12px; }
.unified-user .n-tag.n-tag--primary-type { --n-color: var(--u-primary-soft) !important; --n-text-color: var(--u-primary) !important; --n-border: 1px solid color-mix(in srgb, var(--u-primary) 22%, transparent) !important; }
.unified-user .n-statistic .n-statistic__label { color: var(--u-muted); font-size: 13px; }
.unified-user .n-statistic .n-statistic-value__content { color: var(--u-ink); font-size: 29px; font-weight: 650; font-variant-numeric: tabular-nums; letter-spacing: -.6px; }
.unified-user .n-progress { --n-fill-color: #2563eb !important; --n-rail-color: var(--u-line) !important; }
.unified-page .n-progress-graph-line-fill { background-color: #2563eb !important; }
.unified-user .n-divider { --n-color: var(--u-line) !important; --n-text-color: var(--u-muted) !important; }
.unified-user .n-empty { --n-text-color: var(--u-muted) !important; }
.unified-user .n-list { --n-color: var(--u-surface) !important; --n-border-color: var(--u-line) !important; --n-text-color: var(--u-text) !important; }
.unified-user .n-thing .n-thing-header__title { color: var(--u-ink); font-size: 15px; }
.unified-user .n-thing .n-thing-main__description { color: var(--u-muted); }
.unified-user .n-collapse { --n-text-color: var(--u-text) !important; --n-title-text-color: var(--u-ink) !important; --n-divider-color: var(--u-line) !important; }
.unified-user .n-collapse .n-collapse-item__header { font-weight: 500; }
.unified-user .n-descriptions { --n-th-color: var(--u-surface-soft) !important; --n-td-color: var(--u-surface) !important; --n-td-text-color: var(--u-text) !important; --n-th-text-color: var(--u-muted) !important; --n-border-color: var(--u-line) !important; }
.unified-user .n-skeleton { --n-color-start: var(--u-surface-soft) !important; --n-color-end: var(--u-line) !important; border-radius: 6px; }

/* Portal components share the same system; business confirmation flow stays native. */
.unified-user .n-dialog, .unified-user .n-modal, .unified-user .n-popover, .unified-user .n-dropdown-menu, .unified-user .n-base-select-menu {
  --n-color: var(--u-surface) !important; --n-text-color: var(--u-text) !important; --n-border-radius: var(--u-radius) !important;
  --n-option-text-color: var(--u-text) !important; --n-option-color-hover: var(--u-hover) !important;
  --n-option-color-active: var(--u-primary-soft) !important; --n-option-text-color-active: var(--u-primary) !important;
  --n-option-text-color-hover: var(--u-ink) !important; --n-option-text-color-pressed: var(--u-primary) !important;
  --n-box-shadow: 0 16px 38px rgba(26,45,72,.12) !important; font-family: var(--u-font);
}
.unified-user .n-dialog { padding: 24px !important; border: 1px solid var(--u-line); }
.unified-user .n-dialog__title { color: var(--u-ink); font-size: 17px; font-weight: 600; }
.unified-user .n-dialog__content { color: var(--u-text); margin-top: 18px !important; line-height: 1.7; }
.unified-user .n-dialog__action { gap: 8px; margin-top: 24px; }
.unified-user .n-modal-mask, .unified-user .n-drawer-mask { background: rgba(18,32,51,.38) !important; backdrop-filter: blur(2px); }
.unified-user .n-drawer { --n-color: var(--u-surface) !important; --n-text-color: var(--u-text) !important; --n-title-text-color: var(--u-ink) !important; --n-border-color: var(--u-line) !important; }
.unified-user .n-drawer-body-content-wrapper { padding: 22px !important; }
.unified-user .n-drawer .n-layout-sider { background: var(--u-surface) !important; --n-color: var(--u-surface) !important; }
.unified-user .n-message { --n-color: var(--u-surface) !important; --n-text-color: var(--u-text) !important; --n-border-radius: 10px !important; }
.unified-user .n-notification { --n-color: var(--u-surface) !important; --n-text-color: var(--u-text) !important; --n-border-radius: var(--u-radius) !important; }
.unified-user .n-loading-bar-container .n-loading-bar { background: #2563eb !important; }
.unified-user .n-alert { --n-border-radius: 8px !important; --n-padding: 13px 16px !important; font-size: 13px; }
.unified-user .n-alert .n-alert-body__content { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.unified-user .n-alert .n-button { --n-height: 26px !important; --n-font-size: 12px !important; }
.unified-page .n-carousel { border-radius: var(--u-radius); border: 1px solid var(--u-line); overflow: hidden; }
.unified-page .n-carousel .carousel-img { border-radius: 0 !important; }
.unified-page .n-carousel__slide > div[style*="/images/background.svg"] { background-image: none !important; }
.unified-page .n-carousel__slide > div[style*="/images/background.svg"] .carousel-img { height: 152px !important; min-height: 152px; background: var(--u-surface) !important; color: var(--u-ink) !important; padding: 20px 22px !important; }
.unified-page .n-carousel__slide > div[style*="/images/background.svg"] .carousel-img p { margin: 4px 0 0; color: var(--u-muted) !important; font-size: 12px !important; font-weight: 400; }
.unified-page .n-carousel__slide > div[style*="/images/background.svg"] .carousel-img p:first-child { color: var(--u-ink) !important; font-size: 17px !important; font-weight: 600; }
.unified-page .n-carousel__slide > div[style*="/images/background.svg"] .n-tag { background: var(--u-primary-soft) !important; color: var(--u-primary) !important; --n-border: 1px solid #cfe0ff !important; }
.unified-page .n-carousel .n-carousel__dot { background: #a4b9da !important; }
.unified-page .n-carousel .n-carousel__dot--active { background: var(--u-primary) !important; }

/* Native cards that used fixed dark surfaces now match the unified plan/order design. */
.unified-page [class*="#2f3135"], .unified-page [class*="#343a40"] { background: var(--u-surface) !important; color: var(--u-text) !important; border: 1px solid var(--u-line); border-radius: var(--u-radius) !important; box-shadow: var(--u-shadow); }
.unified-page [class*="#2f3135"] [class*="color-white"], .unified-page [class*="#2f3135"] [class*="#f8f9fa"], .unified-page [class*="#2f3135"] [class*="text-white"] { color: var(--u-text) !important; }
.unified-page [class*="#2f3135"] [class*="#646669"] { border-color: var(--u-line) !important; }
.unified-page [class*="#2f3135"] input { color: var(--u-text) !important; }
.unified-page .bg-gray-800 { background: var(--u-surface) !important; color: var(--u-text) !important; border: 1px solid var(--u-line); border-radius: var(--u-radius) !important; box-shadow: var(--u-shadow); }
.unified-page .bg-gray-800 .text-white, .unified-page .bg-gray-800 .text-gray-100 { color: var(--u-text) !important; }
.unified-page .bg-gray-800 .text-gray-400 { color: var(--u-muted) !important; }
.unified-page .bg-gray-800 .text-gray-300, .unified-page .bg-gray-800 [class*="color-#f8f9fa41"] { color: var(--u-muted) !important; }
.unified-page .bg-gray-800 .n-button--primary-type:not(.unified-text-button):not(.n-button--ghost) { color: #fff !important; }
.unified-page .bg-gray-800 [class*="color-#f8f9fa"]:not([class*="color-#f8f9fa41"]) { color: var(--u-text) !important; }
.unified-page .bg-gray-800 [class*="border-[#646669]"] { border-color: var(--u-line) !important; }
.unified-page .bg-gray-800 .text-green-400 { color: #15803d !important; }
.unified-user.dark .unified-page .bg-gray-800 .text-green-400 { color: #8addad !important; }
.unified-page .bg-gray-800 input { color: var(--u-text) !important; }
.unified-page .bg-gray-800 input::placeholder { color: var(--u-muted); opacity: 1; }
.unified-page .bg-gray-800 .border-gray-600 { border-color: var(--u-line) !important; }
.unified-page [class*="text-50"], .unified-page [class*="text-40"], .unified-page [class*="text-36"] { font-size: 30px !important; line-height: 1.35; color: var(--u-ink); font-weight: 650; letter-spacing: -.6px; font-variant-numeric: tabular-nums; }
.unified-page .text-5xl, .unified-page .text-4xl { font-size: 30px !important; line-height: 1.35; font-weight: 650; color: var(--u-ink); letter-spacing: -.6px; font-variant-numeric: tabular-nums; }
.unified-page [class*="border-rounded-5"] { border-radius: var(--u-radius) !important; }
.unified-page .xboard-plan-features { margin: 12px 0; font-size: 14px; color: var(--u-text); }
.unified-page .xboard-plan-features > li { padding: 7px 0; color: var(--u-muted); border-bottom: 1px solid var(--u-line); }
.unified-page .xboard-plan-features > li:last-child { border-bottom: 0; }
.unified-page .xboard-plan-features > li > b { color: var(--u-ink); font-weight: 550; }
.unified-page .xboard-plan-features > li::before { color: var(--u-primary); }
.unified-page .xboard-plan-content { padding-top: 12px; }
.unified-page [class*="bg-#f8f9fa"] { background: var(--u-surface-soft) !important; }
.unified-page [class*="text-#6c757d"], .unified-page [class*="text-#595959"], .unified-page [color="#6c757d"] { color: var(--u-muted) !important; }
.unified-page [color="#343a40"], .unified-page [color="#2a2e36"] { color: var(--u-ink) !important; }
.unified-page .markdown-body { color: var(--u-text); font: 14px/1.8 var(--u-font); background: transparent; }
.unified-page .markdown-body h1, .unified-page .markdown-body h2, .unified-page .markdown-body h3 { color: var(--u-ink); font-weight: 600; }
.unified-page .markdown-body pre { background: var(--u-surface-soft); border: 1px solid var(--u-line); border-radius: 8px; }
.unified-page .markdown-body table th, .unified-page .markdown-body table td { border-color: var(--u-line); }
.unified-page .markdown-body blockquote { border-color: var(--u-primary); color: var(--u-muted); }
.unified-preference-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 48px; width: 100%; max-width: 500px; padding: 10px 0; border-bottom: 1px solid var(--u-line); }
.unified-preference-row:last-child { border-bottom: 0; }
.unified-preference-row > div:first-child { margin-bottom: 0; }
.unified-preference-row .n-switch { flex: none; }
.unified-billing-choice { color: var(--u-text); cursor: pointer; }
.unified-billing-choice:hover { background: var(--u-hover); }
.unified-billing-choice[aria-pressed="true"] { border-color: var(--u-primary) !important; background: var(--u-primary-soft); }
.unified-billing-choice[aria-pressed="true"] > div { color: var(--u-primary) !important; }
.unified-page .n-list-item[role="button"]:hover { background: var(--u-hover); }
.unified-page .n-list-item[role="button"] .n-thing-header__title { font-weight: 500; }
.unified-user .n-input__eye[role="button"] { border-radius: 5px; color: var(--u-muted); }
.unified-user .n-input__eye[role="button"]:hover { color: var(--u-primary); }

/* Login, registration and password reset retain native validations and verification. */
.unified-auth { background: var(--u-canvas); overflow: auto; }
.unified-auth > .n-config-provider, .unified-auth .wh-full { min-height: 100dvh; }
.unified-auth .wh-full.flex.items-center.justify-center { padding: 34px 16px; height: auto; }
.unified-auth-card { width: 420px !important; max-width: 100% !important; border: 1px solid var(--u-line) !important; border-radius: 16px !important; box-shadow: 0 18px 50px rgba(26,45,72,.08) !important; }
.unified-auth-card .n-card__content { padding: 0 !important; }
.unified-auth-card .p-24, .unified-auth-card .p-6 { padding: 32px !important; }
.unified-auth-card h1 { margin: 0 0 7px !important; font-size: 26px !important; font-weight: 650 !important; letter-spacing: -.5px; color: var(--u-ink) !important; }
.unified-auth-card h5 { margin: 0 0 26px !important; color: var(--u-muted) !important; font-size: 13px !important; }
.unified-auth-card .text-center img { max-height: 56px; width: auto; object-fit: contain; }
.unified-auth-field { margin-top: 17px !important; }
.unified-field-label { display: block; font-size: 13px; font-weight: 500; color: var(--u-text); margin-bottom: 7px; }
.unified-auth-card .n-input { --n-height: 42px !important; }
.unified-auth-card .n-button.n-button--primary-type { --n-height: 42px !important; }
.unified-auth-card .n-button.n-button--primary-type:not(.unified-text-button) { height: 42px !important; }
.unified-auth-card [class*="justify-between"] { background: var(--u-surface-soft) !important; padding: 16px 24px !important; border-top: 1px solid var(--u-line); }
.unified-auth-card > [class*="justify-between"], .unified-auth-card > div:last-child > [class*="justify-between"], .unified-auth-card .n-card__content > [class*="justify-between"] { border-radius: 0 0 16px 16px; }
.unified-auth-card [class*="justify-between"] a { color: var(--u-muted) !important; font-size: 13px; }
.unified-auth-card [class*="justify-between"] a:hover { color: var(--u-primary) !important; }

@media (max-width: 1100px) {
  .unified-brand { min-width: 180px; }
  .unified-topbar { gap: 15px; padding: 0 18px !important; }
  .unified-topbar > div:not(.unified-brand) { gap: 11px; }
  .unified-topbar [mr20], .unified-topbar [mr-20] { margin-right: 0 !important; }
}
@media (max-width: 950px) {
  .unified-main { margin-left: 0 !important; padding-top: 82px; }
  .unified-page, .unified-shell[data-unified-collapsed="true"] .unified-page { padding: 0 16px 22px !important; }
  .unified-sidebar { display: none !important; }
  .unified-topbar { height: 66px !important; padding: 0 16px !important; gap: 13px; }
  .unified-brand { min-width: 0; }
  .unified-brand-title { max-width: 140px; }
  .unified-topbar .n-breadcrumb { display: none; }
  .unified-user .n-drawer.n-drawer--left-placement { top: 0; left: 0; border-radius: 0 14px 14px 0; overflow: hidden; }
  .unified-user .n-drawer .n-layout-sider { width: 220px !important; max-width: 220px !important; --n-color: var(--u-surface) !important; }
  .unified-user .n-drawer [h-60] { height: 66px !important; border-bottom: 1px solid var(--u-line); }
  .unified-menu { padding-top: 8px !important; }
}
@media (max-width: 640px) {
  .unified-brand-title { font-size: 15px; max-width: 95px; }
  .unified-brand-mark { width: 30px; height: 30px; font-size: 18px; }
  .unified-topbar { gap: 12px; padding: 0 12px !important; }
  .unified-topbar > div:not(.unified-brand) { gap: 9px; }
  .unified-topbar > div:last-child > .n-icon[mr20] { display: none; }
  .unified-topbar .unified-fullscreen { display: none; }
  .unified-topbar img.rounded-full { width: 27px; height: 27px; }
  .unified-topbar .n-icon { width: 18px; font-size: 18px; }
  .unified-page, .unified-shell[data-unified-collapsed="true"] .unified-page { padding: 0 12px 20px !important; }
  .unified-page-heading { padding-bottom: 17px; }
  .unified-page-heading h1 { font-size: 20px; }
  .unified-page-heading p { font-size: 12px; }
  .unified-user .n-card { --n-padding-left: 16px !important; --n-padding-right: 16px !important; }
  .unified-user .n-card > .n-card-header { padding: 16px 16px 12px !important; }
  .unified-user .n-card > .n-card__content { padding: 0 16px 16px; }
  .unified-user .n-card > .n-card__content:first-child { padding-top: 16px; }
  .unified-user .n-card > .n-card__footer { padding: 0 16px 16px; }
  .unified-user .n-card > .n-card-header .n-card-header__extra { margin-left: 10px; }
  .unified-user .n-statistic .n-statistic-value__content { font-size: 25px; }
  .unified-auth-card .p-24, .unified-auth-card .p-6 { padding: 26px 24px !important; }
  .unified-user .n-dialog { max-width: calc(100vw - 24px) !important; padding: 20px !important; }
  .unified-user .n-modal.n-card { max-width: calc(100vw - 24px) !important; margin-left: 12px !important; margin-right: 12px !important; }
}
@media (max-width: 380px) {
  .unified-brand-title { display: none; }
  .unified-user .n-drawer .unified-sidebar-brand h2 { max-width: 156px; }
}
@media (prefers-reduced-motion: reduce) {
  .unified-user *, .unified-user *::before, .unified-user *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
}

/* iOS refinement. Filled upstream SVG glyphs keep their native paths and fills. */
:root.unified-user {
  --u-canvas: #f2f2f7; --u-surface-soft: #f8f9fc; --u-hover: #f2f4f8;
  --u-ink: #1c1c1e; --u-text: #34343a; --u-muted: #63636b; --u-line: rgba(60,60,67,.13);
  --u-radius: 16px; --u-control-radius: 10px; --u-shadow: 0 2px 10px rgba(30,38,54,.035);
  color-scheme: light;
}
.unified-user.dark {
  --u-canvas: #111114; --u-surface: #1c1c20; --u-surface-soft: #25252b; --u-hover: #2c2c33;
  --u-ink: #f5f5f7; --u-text: #e1e1e8; --u-muted: #acacb8; --u-line: rgba(235,235,245,.15);
  color-scheme: dark;
}
.unified-user body { letter-spacing: -.01em; -webkit-text-size-adjust: 100%; }
.unified-user :is(button,a,[role="button"]) { touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
.unified-user svg.lucide, .unified-user svg.tabler-icon { stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.unified-user .unified-icon-glyph { display: block; flex-shrink: 0; width: 1em; height: 1em; }
.unified-menu .n-menu-item-content__icon { width: 20px !important; font-size: 20px !important; display: flex; align-items: center; justify-content: center; }
.unified-topbar .n-icon[role="button"] { display: inline-flex; align-items: center; justify-content: center; width: 44px !important; height: 44px !important; margin: 0 !important; border-radius: 12px; font-size: 20px !important; }
.unified-topbar .n-icon[role="button"]:hover { background: var(--u-surface-soft); }
.unified-topbar .n-button { min-width: 44px; min-height: 44px; }
.unified-topbar .n-button__content { gap: 4px; }
.unified-topbar .unified-icon-button { --n-height: 44px !important; width: 44px !important; height: 44px !important; padding: 0 !important; }
.unified-topbar > div:not(.unified-brand) { gap: 8px; }
.unified-brand-title { font-weight: 650; letter-spacing: -.025em; }
.unified-page-heading h1 { font-size: 24px; font-weight: 650; letter-spacing: -.025em; }
.unified-user .n-card > .n-card-header .n-card-header__main { font-size: 16px; font-weight: 600; }
.unified-user .n-statistic-value, .unified-user .n-data-table-td { font-variant-numeric: tabular-nums; }
.unified-user .n-input__eye[role="button"] { width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; margin-right: -6px; }
.unified-user .n-dialog { --n-border-radius: 18px !important; }
.unified-user .unified-preference-row { min-height: 52px; font-size: 14px; }
.unified-menu { --n-item-height: 44px !important; }
.unified-menu .n-menu-item, .unified-menu .n-menu-item-content { height: 44px !important; }
.unified-menu .n-menu-item-content::before { border-radius: 10px !important; }
.unified-auth-card { border-radius: 20px !important; }
.unified-auth-card [class*="justify-between"] { border-radius: 0 0 20px 20px !important; }
.unified-auth-card .n-input { --n-height: 44px !important; }
.unified-auth-card .n-button.n-button--primary-type { --n-height: 44px !important; }
.unified-auth-card .n-button.n-button--primary-type:not(.unified-text-button) { height: 44px !important; }
@media (max-width:640px) {
  .unified-topbar { padding: 0 10px !important; gap: 8px; }
  .unified-topbar > div:not(.unified-brand) { gap: 4px; }
  .unified-brand { gap: 8px; }
  .unified-brand-title { max-width: 74px; font-size: 15px; }
  .unified-topbar .unified-fullscreen { display: none !important; }
  .unified-page-heading h1 { font-size: 22px; }
  .unified-user .n-input { --n-font-size: 16px !important; --n-height: 44px !important; }
  .unified-user .n-input input, .unified-user .n-input textarea { font-size: 16px; }
  .unified-user .n-base-selection { --n-height: 44px !important; }
  .unified-user .n-button.unified-icon-button { width: 44px; height: 44px; --n-height: 44px !important; }
}
@media (max-width:380px) { .unified-brand-title { display: none; } }

/* v7: stable system font weights and readable native text roles. */
:root.unified-user {
  --u-ink: #111827; --u-text: #1f2937; --u-muted: #475569;
  --u-description: #475569; --u-label: #172033;
  font-synthesis: none;
}
.unified-user.dark {
  --u-ink: #f8fafc; --u-text: #edf2f7; --u-muted: #c3cfde;
  --u-description: #c3cfde; --u-label: #f1f5f9;
}
.unified-user body { font-weight: 400; letter-spacing: 0; }
.unified-user :is(.unified-brand-title,.unified-page-heading h1,.uxe-heading h1) { font-weight: 600; letter-spacing: 0; }
.unified-user :is(.n-form-item-label,.unified-field-label,.uxe-field),
.unified-user .unified-page label { color: var(--u-label); font-weight: 600; }
.unified-user :is(.unified-page-heading p,.n-thing-main__description,.n-statistic__label,.uxe-muted,.uxe-heading p) {
  color: var(--u-description); font-weight: 400; line-height: 1.6; letter-spacing: 0;
}
.unified-user .n-form-item { --n-label-text-color: var(--u-label) !important; }
.unified-user .n-form-item-feedback { color: var(--u-description); }
.unified-user :is(.n-input,.n-base-selection) { --n-placeholder-color: var(--u-muted) !important; }
.unified-user .n-data-table { --n-th-text-color: var(--u-description) !important; --n-th-font-weight: 600 !important; }
.unified-user .n-menu { --n-item-text-color: var(--u-text) !important; --n-item-text-color-hover: var(--u-ink) !important; }
.unified-user .n-radio-group {
  --n-button-text-color: var(--u-label) !important;
  --n-button-text-color-active: var(--u-primary) !important;
  --n-button-text-color-hover: var(--u-primary) !important;
}
.unified-user.dark .n-radio-group { --n-button-text-color-active: #fff !important; }
.unified-user :is(.text-gray-400,.text-gray-500,.text-slate-400,.text-slate-500) { color: var(--u-description) !important; }
.unified-user input::placeholder, .unified-user textarea::placeholder { opacity: 1; }

/* Compact reading text has a solid medium weight in both themes. */
:root.unified-user { --u-muted: #374151; --u-description: #374151; }
.unified-user.dark { --u-muted: #d2dbe8; --u-description: #d2dbe8; }
.unified-user :is(small,.unified-page-heading p,.n-thing-main__description,
.n-statistic__label,.n-form-item-feedback,.uxe-muted,.uxe-heading p,
.unified-auth-card h5,.xboard-plan-features > li) {
  font-weight: 500;
  opacity: 1;
  line-height: 1.65;
}
/* Local preview payment notice: explicit synthetic state, no external gateway. */
.unified-preview-payment-notice { margin: 0 0 20px; padding: 12px 16px; border: 1px solid #b8cff7; border-radius: 10px; background: #eef5ff; color: #21436e; font-size: 13px; line-height: 1.65; overflow-wrap: anywhere; }
.unified-preview-payment-notice a { color: #1d4ed8; font-weight: 600; }

/* Keep the plan filter compact and visually attached to the available plans. */
.unified-user[data-unified-page="plan"] .unified-page .max-w-1200 > h2 {
  margin: 4px 12px 8px !important;
  font-size: 16px !important;
  font-weight: 650 !important;
}
.unified-user[data-unified-page="plan"] .unified-page .max-w-1200 > .n-radio-group {
  display: inline-flex !important;
  align-items: center;
  flex-wrap: wrap;
  gap: 2px;
  width: fit-content;
  max-width: calc(100% - 24px);
  margin: 0 12px;
  padding: 4px;
  border: 1px solid var(--u-line);
  border-radius: 10px;
  background: var(--u-surface);
  box-shadow: 0 1px 3px rgba(26, 45, 72, .06);
  --n-button-text-color: var(--u-text) !important;
  --n-button-text-color-hover: var(--u-primary) !important;
  --n-button-text-color-active: #fff !important;
  --n-button-color: transparent !important;
  --n-button-color-active: var(--u-primary) !important;
  --n-button-border-color: transparent !important;
  --n-button-border-color-active: var(--u-primary) !important;
  --n-button-box-shadow: none !important;
  --n-button-box-shadow-active: none !important;
}
.unified-user[data-unified-page="plan"] .unified-page .max-w-1200 > .n-radio-group .n-radio-button {
  min-height: 32px;
  border-radius: 7px !important;
  font-weight: 550;
}
.unified-user[data-unified-page="plan"] .unified-page .max-w-1200 > .card-container {
  margin-top: 16px !important;
}
@media (max-width: 640px) {
  .unified-user[data-unified-page="plan"] .unified-page .max-w-1200 > h2 { margin-left: 4px !important; }
  .unified-user[data-unified-page="plan"] .unified-page .max-w-1200 > .n-radio-group { margin-left: 4px; max-width: calc(100% - 8px); }
  .unified-user[data-unified-page="plan"] .unified-page .max-w-1200 > .card-container { margin-top: 12px !important; }
}






/* UI subset start */
@font-face { font-family: "Xboard Sans SC"; src: url("./fonts/noto-sans-sc-ui.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; unicode-range: U+3001-3002,U+300C-300D,U+4E00,U+4E0A-4E0B,U+4E0D-4E0E,U+4E13-4E14,U+4E1A,U+4E24-4E25,U+4E2A,U+4E2D,U+4E34,U+4E3A-4E3B,U+4E45,U+4E49,U+4E4B,U+4E5F,U+4E66,U+4E70,U+4E86,U+4E8B,U+4E8E,U+4E9B,U+4EA4,U+4EA7,U+4EAB,U+4EBA,U+4EC5,U+4ECD-4ECE,U+4ED6,U+4ED8,U+4EE3-4EE5,U+4EEC,U+4EF6-4EF7,U+4EFB,U+4EFD,U+4F18,U+4F1A,U+4F20,U+4F4D,U+4F53,U+4F55,U+4F59,U+4F5C,U+4F60,U+4F63,U+4F7F,U+4F8B,U+4F9B,U+4F9D,U+4FA7,U+4FBF,U+4FDD,U+4FE1,U+4FEE,U+500D,U+503C,U+505A,U+505C,U+5065,U+50A8,U+5141,U+5148,U+514D,U+5151,U+5165,U+5168,U+516C,U+5171,U+5173,U+5176-5177,U+5185,U+518C-518D,U+5199,U+51B2-51B3,U+51B5,U+51B7,U+51C6,U+51ED,U+51FA-51FB,U+5206-5207,U+5212,U+5217,U+5219,U+521B,U+521D,U+5220,U+5224,U+522B,U+5230,U+5236-5238,U+524D,U+5269-526A,U+526F,U+529B,U+529F-52A1,U+52A8-52A9,U+52B1,U+5305,U+5316,U+5339-533A,U+5347,U+534F,U+5355,U+5357,U+5360-5361,U+5373-5374,U+5377,U+5386,U+539F,U+53BB,U+53C2,U+53CA,U+53CC-53CD,U+53D1,U+53D6-53D8,U+53E3,U+53E6,U+53EA,U+53EF-53F0,U+53F2-53F3,U+53F7,U+5404,U+5408,U+540C-540E,U+5411,U+5417,U+5426,U+542B-542C,U+542F,U+544A,U+5458,U+5468,U+547D,U+548C,U+54A8,U+54C1,U+54CD,U+552E,U+5546,U+5584,U+5668,U+56DB,U+56DE,U+56E0,U+56F4,U+56FA,U+56FD-56FE,U+5728,U+5730,U+5740,U+5757,U+578B,U+57DF,U+57FA,U+586B,U+5883,U+5899,U+589E,U+58F0,U+5904,U+5907,U+590D,U+5916,U+591A,U+5929,U+5931,U+5934,U+5956-5957,U+597D,U+5982,U+59A5,U+59CB,U+5B57-5B58,U+5B83,U+5B89,U+5B8C,U+5B9A,U+5B9E,U+5BA2,U+5BB6,U+5BB9,U+5BC4,U+5BC6,U+5BDF,U+5BF9,U+5BFC,U+5C01,U+5C04,U+5C06,U+5C0F,U+5C11,U+5C1A,U+5C1D,U+5C31,U+5C3D,U+5C40,U+5C42,U+5C4F,U+5C55,U+5C5E,U+5DE5-5DE6,U+5DEE,U+5DF2,U+5E03,U+5E2E,U+5E38,U+5E73,U+5E76,U+5E8F,U+5E93-5E94,U+5EA6,U+5EB7,U+5EF6,U+5EFA,U+5F00,U+5F02,U+5F0F,U+5F15,U+5F39-5F3A,U+5F52-5F53,U+5F55,U+5F71,U+5F80,U+5F84-5F85,U+5FAA,U+5FAE,U+5FC3,U+5FC5,U+5FD7,U+5FEB,U+6001,U+6027,U+603B,U+6062,U+606F,U+60A8,U+60C5,U+60E0,U+6210-6211,U+6216,U+622A,U+6237,U+6240,U+624B,U+624D,U+6251,U+6253,U+6258,U+6263,U+6267,U+6279,U+627E-6280,U+628A,U+6293,U+6295,U+6298,U+62A4-62A5,U+62B5,U+62D2-62D3,U+62DF,U+62E5-62E6,U+62E9,U+62EC,U+6301-6302,U+6307,U+6309,U+6362,U+636E,U+6392,U+63A2,U+63A5,U+63A7-63A8,U+63CF-63D0,U+63D2,U+641C,U+6458,U+64A4,U+64CD,U+652F,U+6536,U+6539,U+653E,U+6545,U+6548,U+6570,U+6574,U+6587,U+6599,U+65AD,U+65B0,U+65B9,U+65BD,U+65E0,U+65E5,U+65E7,U+65E9,U+65F6,U+660E,U+6613,U+6620,U+662F,U+663E,U+666E-666F,U+6682,U+6697,U+66F4,U+66FF-6700,U+6708-6709,U+670D,U+671B,U+671F,U+672A,U+672C,U+672F,U+673A,U+6743,U+6750,U+675F,U+6761,U+6765,U+677F,U+6784,U+6790,U+679C,U+67B6,U+67E5,U+6807,U+680F,U+6821,U+6837-6839,U+683C,U+6846,U+6863,U+6865,U+68C0,U+6982,U+6A21,U+6B21-6B22,U+6B3E,U+6B62-6B65,U+6B67,U+6BB5,U+6BCD,U+6BCF,U+6BD4,U+6BEB,U+6C34,U+6C38,U+6C42,U+6C47,U+6C60,U+6C9F,U+6CA1,U+6CBF,U+6CE8,U+6D3B,U+6D3E,U+6D41,U+6D45,U+6D4B,U+6D4F,U+6D6E,U+6D88,U+6DB5,U+6DFB,U+6E05,U+6E20,U+6E2F,U+6E38,U+6E90,U+6ED1,U+6EDA,U+6EE1,U+6F14,U+706B,U+70B9,U+7167,U+7247-7248,U+7269,U+72B6,U+72EC,U+7387,U+73AF-73B0,U+7403,U+7406,U+751F,U+7528,U+7531,U+7535,U+753B,U+754C,U+7559,U+7565,U+767B,U+767D,U+7684,U+76D1-76D2,U+76D6,U+76D8,U+76EE,U+76F2,U+76F4,U+76F8,U+7701,U+770B,U+771F,U+77E5,U+77ED,U+7801,U+7840,U+786E,U+78C1,U+793A,U+793C,U+793E,U+7981,U+79BB,U+79C1,U+79D2,U+79DF,U+79F0,U+79FB,U+7A0B,U+7A0D,U+7A7A,U+7A81,U+7A97,U+7ACB,U+7AD9,U+7AEF,U+7B26,U+7B2C,U+7B49,U+7B54,U+7B56,U+7B5B,U+7B7E,U+7B97,U+7BA1,U+7BB1,U+7C7B,U+7C98,U+7CBE,U+7CFB,U+7D20,U+7D22,U+7EA6-7EA7,U+7EAF,U+7EB9,U+7EBF,U+7EC3-7EC4,U+7EC6,U+7EC8,U+7ECF,U+7ED1,U+7ED3,U+7ED9,U+7EDC-7EDD,U+7EDF,U+7EE7,U+7EEA,U+7EED,U+7EF4,U+7F00,U+7F13,U+7F16,U+7F3A,U+7F51,U+7F6E,U+7F72,U+7F8E,U+8005,U+8017,U+804A,U+8054,U+80CC,U+80FD,U+811A,U+81EA,U+81F3-81F4,U+822A,U+822C,U+8272,U+8282,U+82F1,U+8303,U+83B7,U+83DC,U+8425,U+85CF,U+884C,U+8865,U+8868,U+88AB,U+88C5,U+8981,U+8986,U+89C1-89C2,U+89C4,U+89C8,U+89E3,U+89E6,U+8A00,U+8B66,U+8BA1-8BA2,U+8BA4,U+8BA9,U+8BAE-8BB0,U+8BB8,U+8BBE-8BBF,U+8BC1,U+8BC6,U+8BC9-8BCA,U+8BCD,U+8BD5,U+8BDD,U+8BE2,U+8BE5-8BE6,U+8BED,U+8BEF,U+8BF4,U+8BF7,U+8BFB,U+8C03,U+8C61,U+8D22,U+8D25-8D26,U+8D2D,U+8D34,U+8D39,U+8D44,U+8D56,U+8D77,U+8D85,U+8DB3,U+8DC3,U+8DDF,U+8DE8,U+8DEF,U+8DF3,U+8E2A,U+8EAB,U+8F6C,U+8F6E,U+8F7D,U+8F83,U+8F85,U+8F91,U+8F93,U+8FB9,U+8FC1,U+8FC7,U+8FCE,U+8FD0-8FD1,U+8FD4,U+8FD8-8FD9,U+8FDB-8FDC,U+8FDE-8FDF,U+8FF0,U+9000-9002,U+9009,U+9010,U+9012,U+901A,U+901F,U+9047,U+9053,U+9075,U+9080,U+90AE,U+90E8,U+90FD,U+914D,U+91C7,U+91CA,U+91CC-91CD,U+91CF,U+91D1,U+9274,U+9488,U+949F,U+94A5,U+94B1,U+94F6,U+94FE,U+9500-9501,U+9519,U+952E,U+957F,U+95E8,U+95ED-95EE,U+95F4,U+9605,U+9608,U+961F,U+9632,U+9636,U+963B,U+9645,U+9650,U+9664,U+968F-9690,U+9694,U+969C,U+96C6,U+9700,U+9759,U+9762,U+9875-9876,U+9879-987B,U+9884,U+9891,U+9898,U+989D,U+9910,U+9988,U+9996,U+9999,U+9A8C,U+9AA4,U+9ED8,U+9F50,U+FF08-FF09,U+FF0C,U+FF0F,U+FF1A-FF1B,U+FF1F; }
/* UI subset end */
