/* —— 公开 SEO 页面：克制的产品说明与公约语境 —— */
        body:has(.public-site) {
            background: #f6f8fb;
            color: #0f172a;
        }

        .container:has(.public-site) {
            display: block;
            align-items: stretch;
            justify-content: flex-start;
            width: 100%;
            padding: 0;
        }

        .public-site {
            width: 100%;
            min-height: 100vh;
            background:
                linear-gradient(to bottom, #f8fbff 0%, #f6f8fb 34rem, #ffffff 34rem, #ffffff 100%);
        }

        .public-skip {
            position: absolute;
            left: 1rem;
            top: 0.75rem;
            z-index: 50;
            transform: translateY(-160%);
            padding: 0.55rem 0.8rem;
            border-radius: 8px;
            background: #0f172a;
            color: #ffffff;
            text-decoration: none;
            font-weight: 700;
            font-size: 0.85rem;
        }

        .public-skip:focus {
            transform: translateY(0);
            outline: 2px solid #38bdf8;
            outline-offset: 2px;
        }

        .public-nav {
            position: sticky;
            top: 0;
            z-index: 40;
            display: flex;
            align-items: center;
            gap: 1rem;
            min-height: 4.5rem;
            padding: 0.9rem clamp(1rem, 4vw, 3rem);
            background: rgba(248, 251, 255, 0.92);
            border-bottom: 1px solid rgba(203, 213, 225, 0.78);
            backdrop-filter: blur(16px);
        }

        .public-brand {
            display: inline-flex;
            align-items: center;
            gap: 0.7rem;
            min-width: 0;
            color: inherit;
            text-decoration: none;
        }

        .public-brand__mark {
            width: 2.2rem;
            height: 2.2rem;
            border-radius: 9px;
            background: #075985;
            color: #f8fafc;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-weight: 800;
            box-shadow: 0 10px 22px -14px rgba(7, 89, 133, 0.9);
        }

        .public-brand__text {
            display: flex;
            flex-direction: column;
            line-height: 1.15;
        }

        .public-brand__name {
            font-size: 0.98rem;
            font-weight: 800;
            letter-spacing: 0;
            color: #0f172a;
        }

        .public-brand__sub {
            font-size: 0.66rem;
            font-weight: 700;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            color: #64748b;
        }

        .public-nav__links {
            margin-left: auto;
            display: flex;
            align-items: center;
            gap: 0.25rem;
        }

        .public-nav__link,
        .public-nav__login {
            min-height: 2.3rem;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 8px;
            padding: 0 0.85rem;
            color: #334155;
            text-decoration: none;
            font-size: 0.9rem;
            font-weight: 700;
            transition: color 0.2s, background 0.2s, border-color 0.2s;
        }

        .public-nav__link:hover,
        .public-nav__link:focus-visible {
            color: #075985;
            background: #e0f2fe;
            outline: none;
        }

        .public-nav__link--active {
            color: #075985;
            background: #e0f2fe;
        }

        .public-nav__login {
            min-height: 2.05rem;
            border: 1px solid #cbd5e1;
            background: #ffffff;
            color: #0f172a;
        }

        .public-nav__login:hover,
        .public-nav__login:focus-visible {
            border-color: #0ea5e9;
            color: #075985;
            outline: none;
        }

        .public-main {
            width: 100%;
        }

        .public-band,
        .public-section {
            padding-left: clamp(1rem, 4vw, 3rem);
            padding-right: clamp(1rem, 4vw, 3rem);
        }

        .public-hero {
            position: relative;
            min-height: min(620px, calc(100vh - 5rem));
            display: flex;
            align-items: center;
            overflow: hidden;
            isolation: isolate;
            background:
                linear-gradient(120deg, rgba(15, 23, 42, 0.96), rgba(12, 74, 110, 0.92)),
                #0f172a;
        }

        .public-hero::before {
            content: "";
            position: absolute;
            inset: 0;
            background-image:
                linear-gradient(to right, rgba(226, 232, 240, 0.08) 1px, transparent 1px),
                linear-gradient(to bottom, rgba(226, 232, 240, 0.08) 1px, transparent 1px);
            background-size: 32px 32px;
            opacity: 0.8;
            z-index: -2;
        }

        .public-hero__content {
            position: relative;
            z-index: 2;
            max-width: 760px;
            padding: 4.25rem 0;
            color: #f8fafc;
        }

        .public-kicker {
            margin: 0 0 0.85rem;
            font-size: 0.72rem;
            font-weight: 800;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: #0284c7;
        }

        .public-hero .public-kicker {
            color: #7dd3fc;
        }

        .public-hero h1,
        .public-pagehead h1 {
            margin: 0;
            text-align: left;
            letter-spacing: 0;
        }

        .public-hero h1 {
            color: #ffffff;
            font-size: clamp(2.6rem, 7vw, 5.5rem);
            line-height: 0.98;
            font-weight: 850;
        }

        .public-hero__lead {
            margin: 1.25rem 0 0;
            max-width: 58ch;
            font-size: clamp(1rem, 1.7vw, 1.18rem);
            line-height: 1.75;
            color: #dbeafe;
        }

        .public-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 0.8rem;
            margin-top: 1.75rem;
        }

        .public-btn {
            width: auto;
            min-height: 2.8rem;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            border-radius: 999px;
            padding: 0 1.05rem;
            text-decoration: none;
            font-size: 0.92rem;
            font-weight: 800;
            transition: background 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
        }

        .public-btn svg {
            width: 1rem;
            height: 1rem;
        }

        .public-btn--primary {
            background: #0ea5e9;
            color: #ffffff;
            box-shadow: 0 16px 30px -18px rgba(14, 165, 233, 0.9);
        }

        .public-btn--primary:hover,
        .public-btn--primary:focus-visible {
            background: #0284c7;
            outline: none;
        }

        .public-btn--ghost {
            border: 1px solid rgba(226, 232, 240, 0.38);
            color: #e0f2fe;
            background: rgba(15, 23, 42, 0.18);
        }

        .public-btn--ghost:hover,
        .public-btn--ghost:focus-visible {
            border-color: rgba(125, 211, 252, 0.8);
            background: rgba(14, 165, 233, 0.16);
            outline: none;
        }

        .public-hero__preview {
            position: absolute;
            right: clamp(-7rem, -7vw, -2rem);
            top: 50%;
            width: min(520px, 44vw);
            min-height: 420px;
            transform: translateY(-48%);
            border: 1px solid rgba(125, 211, 252, 0.32);
            border-radius: 18px;
            background: rgba(8, 47, 73, 0.55);
            box-shadow: 0 32px 80px -48px rgba(2, 132, 199, 0.82);
            overflow: hidden;
            z-index: 1;
        }

        .public-preview__top {
            display: flex;
            gap: 0.4rem;
            padding: 1rem;
            border-bottom: 1px solid rgba(125, 211, 252, 0.18);
        }

        .public-preview__top span {
            width: 0.6rem;
            height: 0.6rem;
            border-radius: 999px;
            background: #7dd3fc;
            opacity: 0.65;
        }

        .public-preview__grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 0.85rem;
            padding: 1rem;
        }

        .public-preview__panel {
            min-height: 8.8rem;
            padding: 1rem;
            border: 1px solid rgba(226, 232, 240, 0.14);
            border-radius: 12px;
            background: rgba(15, 23, 42, 0.5);
            color: #e0f2fe;
        }

        .public-preview__panel--wide {
            grid-column: span 2;
        }

        .public-preview__panel--accent {
            background: rgba(6, 95, 70, 0.48);
        }

        .public-preview__panel p,
        .public-preview__panel span {
            margin: 0;
            color: #bae6fd;
            font-size: 0.78rem;
            line-height: 1.45;
        }

        .public-preview__panel strong {
            display: block;
            margin: 0.45rem 0;
            color: #ffffff;
            font-size: 1.15rem;
            line-height: 1.2;
        }

        .public-section {
            max-width: 1180px;
            margin: 0 auto;
            padding-top: 4.75rem;
            padding-bottom: 4.75rem;
        }

        .public-section__head {
            max-width: 760px;
            margin-bottom: 1.6rem;
        }

        .public-section h2,
        .public-pagehead h1 {
            margin: 0;
            color: #0f172a;
            font-weight: 850;
            letter-spacing: 0;
            text-align: left;
        }

        .public-section h2 {
            font-size: clamp(1.8rem, 4vw, 3rem);
            line-height: 1.08;
        }

        .public-section__head p:not(.public-kicker),
        .public-split p,
        .public-pagehead p,
        .public-callout p {
            color: #475569;
            font-size: 1rem;
            line-height: 1.75;
        }

        .public-feature-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 1rem;
        }

        .public-feature {
            min-height: 13rem;
            padding: 1.35rem;
            border: 1px solid #e2e8f0;
            border-radius: 8px;
            background: #ffffff;
            box-shadow: 0 14px 34px -30px rgba(15, 23, 42, 0.35);
        }

        .public-feature svg {
            width: 1.45rem;
            height: 1.45rem;
            color: #0284c7;
            margin-bottom: 1rem;
        }

        .public-feature h3 {
            margin: 0 0 0.55rem;
            color: #0f172a;
            font-size: 1.02rem;
        }

        .public-feature p {
            margin: 0;
            color: #475569;
            line-height: 1.65;
            font-size: 0.94rem;
        }

        .public-rights-band {
            background:
                linear-gradient(120deg, rgba(8, 47, 73, 0.98), rgba(12, 74, 110, 0.94)),
                #082f49;
            border-top: 1px solid rgba(125, 211, 252, 0.22);
            border-bottom: 1px solid rgba(125, 211, 252, 0.22);
            color: #e0f2fe;
        }

        .public-rights {
            max-width: 1180px;
            margin: 0 auto;
            padding-top: 4.25rem;
            padding-bottom: 4.25rem;
            display: grid;
            grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.25fr);
            gap: clamp(2rem, 5vw, 4rem);
            align-items: start;
        }

        .public-rights .public-kicker {
            color: #67e8f9;
        }

        .public-rights__head h2 {
            margin: 0;
            color: #ffffff;
            font-size: clamp(1.85rem, 4vw, 3.25rem);
            line-height: 1.08;
            letter-spacing: 0;
            text-align: left;
        }

        .public-rights__head p:not(.public-kicker) {
            margin: 1rem 0 0;
            color: #cbd5e1;
            font-size: 1rem;
            line-height: 1.75;
        }

        .public-rights__steps {
            list-style: none;
            margin: 0;
            padding: 0;
            display: grid;
            gap: 0.85rem;
        }

        .public-rights__steps li {
            min-height: 7.25rem;
            display: grid;
            grid-template-columns: 2.35rem minmax(0, 1fr);
            gap: 1rem;
            padding: 1rem;
            border-radius: 8px;
            border: 1px solid rgba(186, 230, 253, 0.22);
            background: rgba(15, 23, 42, 0.2);
        }

        .public-rights__steps span {
            width: 2.35rem;
            height: 2.35rem;
            border-radius: 999px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: rgba(14, 165, 233, 0.2);
            color: #bae6fd;
            font-size: 0.78rem;
            font-weight: 850;
            border: 1px solid rgba(125, 211, 252, 0.34);
        }

        .public-rights__steps strong {
            grid-column: 2;
            display: block;
            margin: 0 0 0.35rem;
            color: #f8fafc;
            font-size: 1rem;
        }

        .public-rights__steps p {
            grid-column: 2;
            margin: 0;
            color: #cbd5e1;
            line-height: 1.65;
            font-size: 0.93rem;
        }

        .public-rights__aside {
            grid-column: 2;
            display: grid;
            grid-template-columns: auto 1fr;
            gap: 0.85rem;
            align-items: start;
            padding-top: 1rem;
            border-top: 1px solid rgba(186, 230, 253, 0.22);
        }

        .public-rights__aside svg {
            width: 1.35rem;
            height: 1.35rem;
            color: #67e8f9;
        }

        .public-rights__aside h3 {
            margin: 0 0 0.25rem;
            color: #f8fafc;
            font-size: 0.98rem;
        }

        .public-rights__aside p {
            grid-column: 2;
            margin: 0;
            color: #cbd5e1;
            line-height: 1.65;
            font-size: 0.92rem;
        }

        .public-rights-checks {
            list-style: none;
            margin: 1.8rem 0 0;
            padding: 0;
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 1rem;
        }

        .public-rights-checks li {
            display: grid;
            grid-template-columns: auto 1fr;
            gap: 0.8rem;
            padding-top: 1rem;
            border-top: 2px solid #bae6fd;
        }

        .public-rights-checks svg {
            width: 1.25rem;
            height: 1.25rem;
            color: #0284c7;
            margin-top: 0.1rem;
        }

        .public-rights-checks strong {
            display: block;
            color: #0f172a;
            font-size: 0.98rem;
            margin-bottom: 0.35rem;
        }

        .public-rights-checks p {
            margin: 0;
            color: #475569;
            line-height: 1.65;
            font-size: 0.93rem;
        }

        .public-section--flow {
            border-top: 1px solid #e2e8f0;
        }

        .public-flow,
        .public-guide {
            list-style: none;
            margin: 0;
            padding: 0;
        }

        .public-flow {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 1rem;
        }

        .public-flow li,
        .public-guide li {
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 8px;
        }

        .public-flow li {
            min-height: 11rem;
            padding: 1.2rem;
        }

        .public-flow span,
        .public-guide span {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: #e0f2fe;
            color: #075985;
            font-weight: 850;
        }

        .public-flow span {
            width: 2.35rem;
            height: 2.35rem;
            border-radius: 999px;
            font-size: 0.78rem;
        }

        .public-flow strong {
            display: block;
            margin: 1rem 0 0.45rem;
            color: #0f172a;
            font-size: 1rem;
        }

        .public-flow p,
        .public-guide p {
            margin: 0;
            color: #475569;
            line-height: 1.65;
            font-size: 0.93rem;
        }

        .public-pagehead {
            min-height: 22rem;
            display: flex;
            flex-direction: column;
            justify-content: center;
            background:
                linear-gradient(120deg, #ecfeff 0%, #f8fafc 50%, #eef2ff 100%),
                #f8fafc;
            border-bottom: 1px solid #e2e8f0;
        }

        .public-pagehead h1 {
            font-size: clamp(2.4rem, 6vw, 4.8rem);
            line-height: 1;
        }

        .public-pagehead p {
            max-width: 760px;
            margin: 1.1rem 0 0;
        }

        .public-split {
            display: grid;
            grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.85fr);
            gap: 2rem;
            align-items: start;
        }

        .public-principles {
            display: grid;
            gap: 0.8rem;
        }

        .public-principles div {
            display: flex;
            align-items: center;
            gap: 0.85rem;
            min-height: 4.4rem;
            padding: 1rem;
            border-radius: 8px;
            border: 1px solid #dbeafe;
            background: #ffffff;
            color: #0f172a;
            font-weight: 800;
        }

        .public-principles svg {
            width: 1.35rem;
            height: 1.35rem;
            color: #0284c7;
            flex-shrink: 0;
        }

        .public-guide {
            display: grid;
            gap: 0.9rem;
            max-width: 900px;
        }

        .public-guide li {
            display: grid;
            grid-template-columns: auto 1fr;
            gap: 1rem;
            padding: 1rem;
        }

        .public-guide span {
            width: 2.2rem;
            height: 2.2rem;
            border-radius: 8px;
        }

        .public-guide h3 {
            margin: 0 0 0.35rem;
            color: #0f172a;
            font-size: 1rem;
        }

        .public-callout {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 1.5rem;
            border-top: 1px solid #e2e8f0;
        }

        .public-callout .public-btn--primary {
            flex-shrink: 0;
        }

        /* —— 公开落地页 v2：品牌营销感 + 后台产品语言 —— */
        :root {
            --public-bg: #f6f8fb;
            --public-surface: #ffffff;
            --public-surface-muted: #f8fafc;
            --public-surface-sunken: #f1f5f9;
            --public-border: #e5e7eb;
            --public-border-strong: #cbd5e1;
            --public-text: #0f172a;
            --public-text-muted: #475569;
            --public-text-subtle: #64748b;
            --public-accent: #0369a1;
            --public-accent-strong: #0c4a6e;
            --public-accent-soft: #e0f2fe;
            --public-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 18px 40px -24px rgba(15, 23, 42, 0.18);
        }

        body:has(.public-site) {
            background: var(--public-bg);
            color: var(--public-text);
        }

        .public-site {
            background:
                radial-gradient(110% 42rem at 50% -18rem, rgba(186, 230, 253, 0.68), rgba(186, 230, 253, 0) 62%),
                linear-gradient(to bottom, #f8fafc 0%, #ffffff 42rem, #ffffff 100%);
            color: var(--public-text);
        }

        .public-nav {
            padding: 0.75rem clamp(1rem, 4vw, 3rem);
            background: rgba(255, 255, 255, 0.9);
            border-bottom: 1px solid rgba(226, 232, 240, 0.88);
            backdrop-filter: blur(14px);
            -webkit-backdrop-filter: blur(14px);
        }

        .public-nav__inner {
            width: min(1180px, 100%);
            margin: 0 auto;
            display: flex;
            align-items: center;
            gap: 0.75rem;
            min-width: 0;
        }

        .public-brand,
        .public-nav__link,
        .public-nav__login,
        .public-btn {
            cursor: pointer;
        }

        .public-brand {
            gap: 0.65rem;
        }

        .public-brand__text {
            min-width: 0;
        }

        .public-brand__mark {
            width: 2.25rem;
            height: 2.25rem;
            border-radius: 10px;
            background:
                linear-gradient(135deg, rgba(224, 242, 254, 0.96) 0%, rgba(248, 250, 252, 0.98) 54%, rgba(255, 255, 255, 0.96) 100%);
            border: 1px solid rgba(3, 105, 161, 0.16);
            color: var(--public-accent);
            font-weight: 700;
            font-size: 1.1rem;
            letter-spacing: -0.02em;
            box-shadow:
                0 1px 0 rgba(255, 255, 255, 0.86) inset,
                0 10px 24px -18px rgba(15, 23, 42, 0.24);
        }

        .public-brand__name {
            color: #0f172a;
            font-weight: 700;
            font-size: 0.95rem;
            letter-spacing: -0.01em;
        }

        .public-brand__sub {
            color: #3E5A72;
            font-size: 0.66rem;
            font-weight: 500;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            white-space: nowrap;
        }

        .public-nav__links {
            gap: 0.25rem;
        }

        .public-nav__link,
        .public-nav__login {
            border-radius: 10px;
            min-height: 2.35rem;
            padding: 0 0.85rem;
            color: var(--public-text-muted);
            transition: color 0.18s ease, background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
        }

        .public-nav__link:hover,
        .public-nav__link:focus-visible,
        .public-nav__link--active {
            color: var(--public-accent);
            background: var(--public-accent-soft);
        }

        .public-nav__login {
            margin-left: 0;
            min-height: 2.05rem;
            border: 1px solid var(--public-border-strong);
            background: var(--public-surface);
            color: var(--public-text);
        }

        .public-nav__login:hover,
        .public-nav__login:focus-visible {
            border-color: rgba(3, 105, 161, 0.42);
            color: var(--public-accent);
            background: var(--public-surface-muted);
        }

        .public-nav__link:focus-visible,
        .public-nav__login:focus-visible,
        .public-btn:focus-visible,
        .public-brand:focus-visible {
            outline: none;
            box-shadow: 0 0 0 3px rgba(3, 105, 161, 0.18);
        }

        .public-hero {
            min-height: clamp(31rem, 72vh, 42rem);
            align-items: flex-end;
            border-bottom: 1px solid rgba(186, 230, 253, 0.7);
            background:
                radial-gradient(80% 100% at 82% 16%, rgba(14, 165, 233, 0.28), rgba(14, 165, 233, 0) 56%),
                radial-gradient(70% 100% at 16% 100%, rgba(8, 47, 73, 0.86), rgba(8, 47, 73, 0) 62%),
                linear-gradient(112deg, rgba(15, 23, 42, 0.98) 0%, rgba(15, 23, 42, 0.94) 44%, rgba(12, 74, 110, 0.9) 100%),
                linear-gradient(135deg, #0f172a, #075985);
            background-size: cover;
            background-position: center;
        }

        .public-hero::before {
            z-index: -1;
            background-image:
                linear-gradient(to right, rgba(226, 232, 240, 0.1) 1px, transparent 1px),
                linear-gradient(to bottom, rgba(226, 232, 240, 0.1) 1px, transparent 1px);
            background-size: 34px 34px;
            mask-image: linear-gradient(to right, #000 0%, rgba(0, 0, 0, 0.86) 58%, rgba(0, 0, 0, 0.05) 100%);
            -webkit-mask-image: linear-gradient(to right, #000 0%, rgba(0, 0, 0, 0.86) 58%, rgba(0, 0, 0, 0.05) 100%);
            opacity: 0.7;
        }

        .public-hero::after {
            content: "";
            position: absolute;
            inset: auto 0 0;
            height: 1px;
            background: rgba(186, 230, 253, 0.7);
            pointer-events: none;
            z-index: 0;
        }

        .public-hero__content {
            width: 100%;
            max-width: 720px;
            padding: 5rem 0 5.25rem;
            color: #f8fafc;
        }

        .public-hero h1 {
            max-width: 10ch;
            color: #ffffff;
            font-size: clamp(2.75rem, 7vw, 5.25rem);
            line-height: 0.98;
            font-weight: 850;
            text-wrap: balance;
        }

        .public-hero__lead {
            max-width: 62ch;
            color: #dbeafe;
            font-size: clamp(1rem, 1.45vw, 1.12rem);
        }

        .public-kicker {
            color: var(--public-accent);
            letter-spacing: 0.12em;
        }

        .public-hero .public-kicker {
            color: #7dd3fc;
        }

        .public-actions {
            gap: 0.7rem;
            margin-top: 1.85rem;
        }

        .public-btn {
            min-height: 2.75rem;
            border-radius: 12px;
            padding: 0 1rem;
            border: 1px solid transparent;
            font-size: 0.9rem;
            font-weight: 700;
            transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
        }

        .public-btn--primary {
            background: var(--public-accent);
            color: #f0f9ff;
            border-color: var(--public-accent);
            box-shadow: 0 16px 32px -22px rgba(3, 105, 161, 0.72);
        }

        .public-btn--primary:hover,
        .public-btn--primary:focus-visible {
            background: var(--public-accent-strong);
            border-color: var(--public-accent-strong);
        }

        .public-btn--secondary,
        .public-btn--ghost {
            background: rgba(255, 255, 255, 0.92);
            border-color: rgba(203, 213, 225, 0.9);
            color: var(--public-text);
        }

        .public-btn--secondary:hover,
        .public-btn--secondary:focus-visible,
        .public-btn--ghost:hover,
        .public-btn--ghost:focus-visible {
            background: #ffffff;
            border-color: rgba(3, 105, 161, 0.42);
            color: var(--public-accent);
        }

        .public-hero__preview {
            right: clamp(-14rem, -12vw, -8rem);
            width: min(720px, 50vw);
            min-height: 540px;
            border-radius: 20px;
            border: 1px solid rgba(186, 230, 253, 0.24);
            background:
                radial-gradient(90% 80% at 90% 0%, rgba(14, 165, 233, 0.18), rgba(14, 165, 233, 0) 62%),
                rgba(2, 6, 23, 0.34);
            box-shadow:
                0 1px 0 rgba(255, 255, 255, 0.08) inset,
                0 36px 96px -58px rgba(2, 132, 199, 0.9);
            backdrop-filter: blur(14px);
            -webkit-backdrop-filter: blur(14px);
        }

        .public-preview__top {
            border-bottom-color: rgba(186, 230, 253, 0.16);
        }

        .public-preview__grid {
            gap: 1rem;
            padding: 1.2rem;
        }

        .public-preview__panel {
            min-height: 9.75rem;
            padding: 1.1rem 1.15rem;
            border-radius: 12px;
            border-color: rgba(226, 232, 240, 0.13);
            background: rgba(15, 23, 42, 0.44);
        }

        .public-preview__panel--accent {
            background:
                linear-gradient(135deg, rgba(15, 118, 110, 0.66), rgba(6, 78, 59, 0.5));
            border-color: rgba(94, 234, 212, 0.24);
        }

        .public-section {
            max-width: 1180px;
            padding-top: clamp(3.25rem, 6vw, 5rem);
            padding-bottom: clamp(3.25rem, 6vw, 5rem);
        }

        .public-section--intro {
            padding-top: clamp(2.5rem, 5vw, 4rem);
        }

        .public-section__head {
            max-width: 780px;
        }

        .public-section__head--row {
            max-width: none;
            display: grid;
            grid-template-columns: minmax(0, 0.92fr) minmax(18rem, 0.68fr);
            gap: clamp(1.5rem, 4vw, 3rem);
            align-items: end;
        }

        .public-section h2,
        .public-pagehead h1 {
            color: var(--public-text);
            font-weight: 800;
            letter-spacing: 0;
            text-wrap: balance;
        }

        .public-section h2 {
            font-size: clamp(1.7rem, 3.5vw, 2.75rem);
            line-height: 1.08;
        }

        .public-section__head p:not(.public-kicker),
        .public-copy p,
        .public-split p,
        .public-pagehead p,
        .public-callout p {
            color: var(--public-text-muted);
            line-height: 1.72;
        }

        .public-section__head p:not(.public-kicker),
        .public-copy h2 + p,
        .public-callout h2 + p {
            margin-top: 0.3rem;
        }

        .public-feature-grid {
            gap: 0.9rem;
        }

        .public-feature,
        .public-flow li,
        .public-guide li,
        .public-principles div {
            background: var(--public-surface);
            border: 1px solid var(--public-border);
            border-radius: 12px;
            box-shadow: var(--public-shadow);
            min-width: 0;
        }

        .public-feature {
            min-height: 12.5rem;
            padding: 1.15rem;
        }

        .public-feature svg,
        .public-principles svg,
        .public-rights-checks svg {
            color: var(--public-accent);
        }

        .public-feature h3,
        .public-flow strong,
        .public-guide h3,
        .public-principles span,
        .public-rights-checks strong {
            color: var(--public-text);
            overflow-wrap: anywhere;
        }

        .public-feature p,
        .public-flow p,
        .public-guide p,
        .public-rights-checks p {
            color: var(--public-text-muted);
        }

        .public-flow {
            gap: 0.85rem;
        }

        .public-flow li {
            min-height: 10.5rem;
            padding: 1rem;
            box-shadow: none;
        }

        .public-flow span,
        .public-guide span {
            background: var(--public-accent-soft);
            color: var(--public-accent-strong);
            border: 1px solid rgba(3, 105, 161, 0.12);
            font-variant-numeric: tabular-nums;
        }

        .public-rights-band {
            background:
                radial-gradient(80% 120% at 90% 0%, rgba(14, 165, 233, 0.24), rgba(14, 165, 233, 0) 60%),
                linear-gradient(135deg, #0f172a 0%, #082f49 48%, #0c4a6e 100%);
            border-top: 1px solid rgba(186, 230, 253, 0.22);
            border-bottom: 1px solid rgba(186, 230, 253, 0.22);
        }

        .public-rights {
            gap: clamp(1.6rem, 4vw, 3rem);
        }

        .public-rights__steps li {
            border-radius: 12px;
            background: rgba(255, 255, 255, 0.08);
            border-color: rgba(186, 230, 253, 0.24);
        }

        .public-rights__aside {
            border-top-color: rgba(186, 230, 253, 0.24);
        }

        .public-pagehead {
            min-height: 19rem;
            justify-content: flex-end;
            padding-top: 4.5rem;
            padding-bottom: 3rem;
            background:
                radial-gradient(90% 120% at 90% 0%, rgba(14, 165, 233, 0.18), rgba(14, 165, 233, 0) 58%),
                linear-gradient(135deg, #ffffff 0%, #f8fafc 55%, #e0f2fe 100%);
            border-bottom: 1px solid var(--public-border);
        }

        .public-pagehead h1 {
            font-size: clamp(2.3rem, 5.4vw, 4.5rem);
            line-height: 1;
            max-width: 12ch;
        }

        .public-pagehead h1.public-pagehead__title--wide {
            max-width: none;
            font-size: clamp(2rem, 5.4vw, 4.5rem);
            text-wrap: normal;
            white-space: nowrap;
        }

        .public-split {
            grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.62fr);
            gap: clamp(1.4rem, 4vw, 3rem);
        }

        .public-copy {
            min-width: 0;
        }

        .public-copy p + p {
            margin-top: 0.85rem;
        }

        .public-principles {
            gap: 0.75rem;
        }

        .public-principles div {
            box-shadow: none;
        }

        .public-note-band {
            max-width: none;
            background: var(--public-surface-muted);
            border-top: 1px solid var(--public-border);
            border-bottom: 1px solid var(--public-border);
        }

        .public-note-band > * {
            width: min(1180px, 100%);
            margin-left: auto;
            margin-right: auto;
        }

        .public-rights-checks {
            gap: 0.85rem;
        }

        .public-rights-checks li {
            padding: 1rem;
            border: 1px solid var(--public-border);
            border-top: 3px solid #bae6fd;
            border-radius: 12px;
            background: var(--public-surface);
        }

        .public-guide {
            max-width: none;
            gap: 0.75rem;
        }

        .public-guide li {
            padding: 1rem;
            box-shadow: none;
        }

        .public-callout {
            margin-bottom: 0;
            padding: clamp(1.5rem, 4vw, 2rem);
            border: 0;
            border-radius: 0;
            background: transparent;
            box-shadow: none;
        }

        .public-callout h2 {
            font-size: clamp(1.45rem, 3vw, 2rem);
        }

        @media (max-width: 860px) {
            .public-nav {
                position: sticky;
                padding: 0.7rem 1rem;
            }

            .public-nav__inner {
                flex-wrap: wrap;
            }

            .public-nav__links {
                order: 3;
                width: 100%;
                overflow-x: auto;
                padding-bottom: 0.1rem;
            }

            .public-nav__login {
                margin-left: auto;
            }

            .public-hero {
                min-height: 28rem;
            }

            .public-hero__content {
                padding: 3rem 0 3.25rem;
            }

            .public-hero__preview {
                right: -9rem;
                width: 24rem;
                opacity: 0.3;
            }

            .public-hero h1 {
                font-size: clamp(2.45rem, 14vw, 4rem);
            }

            .public-section__head--row,
            .public-feature-grid,
            .public-flow,
            .public-split,
            .public-rights,
            .public-rights-checks {
                grid-template-columns: 1fr;
            }

            .public-pagehead {
                min-height: 17rem;
                padding-top: 3.5rem;
                padding-bottom: 2.5rem;
            }

            .public-callout {
                margin-left: 1rem;
                margin-right: 1rem;
            }
        }

        @media (max-width: 480px) {
            .public-band,
            .public-section {
                padding-left: 1rem;
                padding-right: 1rem;
            }

            .public-brand__sub {
                display: block;
                max-width: min(42vw, 9.5rem);
                overflow: hidden;
                text-overflow: ellipsis;
            }

            .public-nav__link,
            .public-nav__login,
            .public-btn {
                min-height: 2.5rem;
                font-size: 0.86rem;
            }

            .public-actions,
            .public-callout {
                align-items: stretch;
            }

            .public-hero {
                min-height: 25rem;
            }

            .public-hero__content {
                padding: 2.5rem 0 2.75rem;
            }

            .public-hero__preview {
                display: none;
            }

            .public-btn {
                width: 100%;
            }

            .public-rights__steps li,
            .public-guide li {
                grid-template-columns: 2.35rem minmax(0, 1fr);
            }
        }

        @media (prefers-reduced-motion: reduce) {
            .public-nav__link,
            .public-nav__login,
            .public-btn {
                transition: none !important;
            }
        }

        /* —— 跨服首进邮件确认结果（公开，Flarum 式极简卡片） —— */
        body:has(.public-confirm) {
            background:
                radial-gradient(120% 80% at 85% -10%, #e0e7f0 0%, rgba(224, 231, 240, 0) 55%),
                radial-gradient(90% 60% at 5% 110%, #e6eef7 0%, rgba(230, 238, 247, 0) 60%),
                #f5f5f8;
        }

        .container:has(.public-confirm) {
            padding: 2rem 1.5rem;
        }

        .public-confirm {
            width: 100%;
            max-width: 24rem;
        }

        .public-confirm__card {
            position: relative;
            background: var(--auth-surface, #fff);
            border: 1px solid var(--auth-border, #e5e7eb);
            border-radius: 8px;
            padding: 1.5rem 1.4rem 1.35rem;
            box-shadow:
                0 1px 2px rgba(15, 23, 42, 0.04),
                0 10px 28px -18px rgba(15, 23, 42, 0.12);
        }

        .public-confirm__card--ok {
            box-shadow:
                0 1px 2px rgba(5, 150, 105, 0.06),
                0 10px 28px -18px rgba(15, 23, 42, 0.12);
        }

        .public-confirm__card--ok::before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 3px;
            border-radius: 8px 8px 0 0;
            background: #059669;
        }

        .public-confirm__card--err::before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 3px;
            border-radius: 8px 8px 0 0;
            background: #dc2626;
        }

        .public-confirm__brand {
            display: flex;
            align-items: center;
            gap: 0.6rem;
            margin-bottom: 1.1rem;
        }

        .public-confirm__mark {
            width: 1.9rem;
            height: 1.9rem;
            border-radius: 6px;
            background: linear-gradient(135deg, #38bdf8 0%, #0369a1 72%, #0c4a6e 100%);
            color: #f8fafc;
            font-weight: 700;
            font-size: 0.95rem;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 1px 0 rgba(255, 255, 255, 0.1) inset;
        }

        .public-confirm__brand-text {
            display: flex;
            flex-direction: column;
            line-height: 1.2;
        }

        .public-confirm__product {
            font-size: 0.9rem;
            font-weight: 600;
            color: var(--auth-text, #0f172a);
        }

        .public-confirm__product-sub {
            font-size: 0.65rem;
            font-weight: 500;
            letter-spacing: 0.04em;
            text-transform: uppercase;
            color: var(--auth-text-subtle, #64748b);
        }

        .public-confirm__eyebrow {
            font-size: 0.65rem;
            font-weight: 600;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            color: var(--auth-text-subtle, #64748b);
            margin: 0 0 0.6rem;
        }

        .public-confirm__heading {
            display: flex;
            align-items: flex-start;
            gap: 0.5rem;
            margin-bottom: 0.65rem;
        }

        .public-confirm__icon {
            flex-shrink: 0;
            display: flex;
            margin-top: 0.1rem;
        }

        .public-confirm__glyph {
            width: 1.35rem;
            height: 1.35rem;
        }

        .public-confirm__icon--ok {
            color: #059669;
        }

        .public-confirm__icon--err {
            color: #dc2626;
        }

        .public-confirm__title {
            font-size: 1.2rem;
            font-weight: 600;
            letter-spacing: -0.02em;
            line-height: 1.3;
            color: var(--auth-text, #0f172a);
            margin: 0;
        }

        .public-confirm__message {
            font-size: 0.9rem;
            line-height: 1.65;
            color: var(--auth-text-muted, #475569);
            margin: 0;
        }

        .public-confirm__footer {
            margin: 1.15rem 0 0;
            padding-top: 0.85rem;
            border-top: 1px solid var(--auth-border, #e5e7eb);
            font-size: 0.7rem;
            line-height: 1.45;
            letter-spacing: 0.01em;
            text-align: left;
            color: var(--auth-text-subtle, #64748b);
            opacity: 0.92;
        }


@media (max-width: 860px) {
    .public-nav {
        position: sticky;
        min-height: 0;
    }

    .public-nav__links {
        order: 3;
        width: 100%;
        margin-left: 0;
        overflow-x: auto;
        padding-bottom: 0.1rem;
    }

    .public-nav__login {
        margin-left: auto;
    }

    .public-hero {
        min-height: 28rem;
    }

    .public-hero__content {
        padding: 3rem 0 3.25rem;
    }

    .public-hero__preview {
        right: -10rem;
        width: 24rem;
        opacity: 0.32;
    }

    .public-feature-grid,
    .public-flow,
    .public-split,
    .public-rights,
    .public-rights-checks {
        grid-template-columns: 1fr;
    }

    .public-rights {
        padding-top: 3.25rem;
        padding-bottom: 3.25rem;
    }

    .public-rights__aside {
        grid-column: auto;
    }

    .public-section {
        padding-top: 3.25rem;
        padding-bottom: 3.25rem;
    }

    .public-callout {
        align-items: flex-start;
        flex-direction: column;
    }

    .public-pagehead {
        min-height: 18rem;
    }

    .container:has(.public-confirm) {
        padding: 1.25rem 1rem;
    }
}

@media (max-width: 480px) {
    .public-hero {
        min-height: 25rem;
    }

    .public-hero__content {
        padding: 2.5rem 0 2.75rem;
    }

    .public-hero__preview {
        display: none;
    }
}


/* 公开 hero 响应式保护：让装饰预览避开文本区域。 */
        @media (max-width: 1240px) and (min-width: 1000px) {
            .public-hero__content {
                max-width: min(620px, calc(100% - 2rem));
            }

            .public-actions {
                flex-wrap: wrap;
            }

            .public-hero__preview {
                right: clamp(-16rem, -16vw, -12rem);
                width: min(620px, 52vw);
                opacity: 0.82;
            }
        }

        @media (max-width: 999px) {
            .public-hero__preview {
                display: none;
            }

            .public-hero__content {
                max-width: 100%;
            }
        }