* {
    box-sizing: border-box;
}

:root {
    --face-font-body: "Inter var", "Inter", "Avenir Next", "HarmonyOS Sans SC", "MiSans", "OPPO Sans", "vivo Sans", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --face-font-display: "Avenir Next", "Inter var", "Inter", "HarmonyOS Sans SC", "MiSans", "PingFang SC", "Microsoft YaHei UI", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --face-font-number: "DIN Alternate", "DIN Condensed", "Avenir Next Condensed", "Roboto Condensed", "Inter var", "Inter", "HarmonyOS Sans SC", "MiSans", "PingFang SC", system-ui, sans-serif;
    --face-font-mono: "JetBrains Mono", "Cascadia Code", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    --face-ink: #161716;
    --face-ink-soft: #4a4d4b;
    --face-muted: #747976;
    --face-paper: #f6f7f4;
    --face-panel: rgba(255, 255, 255, 0.88);
    --face-line: rgba(22, 23, 22, 0.12);
    --face-line-strong: rgba(22, 23, 22, 0.2);
    --face-teal: #0e8b7f;
    --face-coral: #de674d;
    --face-gold: #b98d2f;
    --face-violet: #6554b8;
    --face-shadow: 0 22px 70px rgba(38, 41, 38, 0.11);
    --face-radius: 8px;
    --face-nav-beam: rgba(14, 139, 127, 0.36);
    --face-nav-glow: rgba(14, 139, 127, 0.18);
}

html {
    scroll-behavior: smooth;
    font-family: var(--face-font-body);
    font-synthesis-weight: none;
    text-rendering: geometricPrecision;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body.face-design-page {
    min-height: 100vh !important;
    padding-top: 88px !important;
    color: var(--face-ink) !important;
    background:
        radial-gradient(circle at 18% 8%, rgba(14, 139, 127, 0.12), transparent 28%),
        radial-gradient(circle at 88% 0%, rgba(222, 103, 77, 0.11), transparent 30%),
        linear-gradient(180deg, #fbfbf8 0%, var(--face-paper) 54%, #edf3ef 100%) !important;
    font-family: var(--face-font-body) !important;
    letter-spacing: 0 !important;
    font-variant-numeric: tabular-nums;
}

.face-design-page,
.face-design-page button,
.face-design-page input,
.face-design-page select,
.face-design-page textarea {
    font-family: var(--face-font-body) !important;
}

.face-design-page code,
.face-design-page pre,
.face-design-page kbd,
.face-design-page samp {
    font-family: var(--face-font-mono) !important;
}

.face-design-page .feature-key,
.face-design-page .mono,
.face-design-page .code,
.face-design-page [class*="key"] {
    font-family: var(--face-font-mono) !important;
}

.face-system-canvas {
    position: fixed;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    opacity: 0.56;
    pointer-events: none;
}

body.face-design-page > :not(.face-system-canvas):not(.face-system-nav):not(script) {
    position: relative;
    z-index: 1;
}

.face-system-nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    border-bottom: 1px solid rgba(22, 23, 22, 0.1);
    background:
        linear-gradient(90deg, transparent, rgba(14, 139, 127, 0.06), transparent),
        rgba(246, 247, 244, 0.86);
    backdrop-filter: none;
    overflow: hidden;
    transition: background 260ms ease, border-color 260ms ease, box-shadow 260ms ease;
}

.face-system-nav::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(90deg, transparent 0%, rgba(14, 139, 127, 0.12) 48%, transparent 100%),
        repeating-linear-gradient(90deg, rgba(22, 23, 22, 0.05) 0 1px, transparent 1px 84px);
    opacity: 0.62;
    transform: translateX(-100%);
    animation: none;
}

.face-system-nav::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, var(--face-nav-beam), rgba(222, 103, 77, 0.32), transparent);
    filter: drop-shadow(0 0 10px var(--face-nav-beam));
    transform: translateX(-38%);
    animation: none;
}

.face-system-nav.is-scrolled {
    border-color: rgba(14, 139, 127, 0.22);
    background:
        linear-gradient(90deg, rgba(14, 139, 127, 0.08), rgba(222, 103, 77, 0.05), rgba(101, 84, 184, 0.05)),
        rgba(246, 247, 244, 0.92);
    box-shadow: 0 16px 44px rgba(22, 23, 22, 0.09);
}

.face-system-nav-inner {
    width: min(1180px, calc(100% - 40px));
    min-height: 72px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    position: relative;
    z-index: 1;
    transition: min-height 260ms ease;
}

.face-system-nav.is-scrolled .face-system-nav-inner {
    min-height: 62px;
}

.face-system-nav-left {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.face-design-page .face-system-back {
    width: auto !important;
    min-width: 0 !important;
    min-height: 38px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 8px 12px !important;
    border: 1px solid rgba(22, 23, 22, 0.1) !important;
    border-radius: 999px !important;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.76), rgba(255, 255, 255, 0.38)),
        radial-gradient(circle at 20% 0%, rgba(14, 139, 127, 0.13), transparent 42%) !important;
    color: var(--face-ink) !important;
    box-shadow:
        0 12px 28px rgba(38, 41, 38, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.74) !important;
    font-family: var(--face-font-display) !important;
    font-size: 13px !important;
    font-weight: 760 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    position: relative !important;
    overflow: hidden !important;
    isolation: isolate !important;
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease, background 180ms ease !important;
}

.face-design-page .face-system-back::before {
    content: "";
    position: absolute;
    inset: -1px;
    z-index: -1;
    border-radius: inherit;
    background: linear-gradient(90deg, transparent, rgba(14, 139, 127, 0.16), rgba(222, 103, 77, 0.12), transparent);
    opacity: 0;
    transform: translateX(22%);
    transition: opacity 180ms ease, transform 260ms ease;
}

.face-design-page .face-system-back:hover {
    transform: translateX(-2px) translateY(-1px) !important;
    border-color: rgba(14, 139, 127, 0.24) !important;
    box-shadow:
        0 16px 34px rgba(38, 41, 38, 0.11),
        0 0 26px rgba(14, 139, 127, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.82) !important;
}

.face-design-page .face-system-back:hover::before {
    opacity: 1;
    transform: translateX(0);
}

.face-design-page .face-system-back:focus-visible {
    outline: 3px solid rgba(14, 139, 127, 0.2) !important;
    outline-offset: 3px !important;
}

.face-system-back-icon {
    width: 16px;
    height: 16px;
    display: inline-block;
    position: relative;
    flex: 0 0 16px;
}

.face-system-back-icon::before,
.face-system-back-icon::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.face-system-back-icon::before {
    left: 4px;
    top: 7px;
    width: 10px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
}

.face-system-back-icon::after {
    left: 3px;
    top: 4px;
    width: 7px;
    height: 7px;
    border-left: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    border-radius: 1px;
    background: transparent;
    transform: rotate(45deg);
    transform-origin: center;
}

.face-system-brand {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--face-ink);
    text-decoration: none;
    font-size: 17px;
    font-family: var(--face-font-display);
    font-weight: 780;
    white-space: nowrap;
    position: relative;
    isolation: isolate;
}

.face-system-brand-text {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.face-system-mark {
    width: 76px;
    height: 29px;
    flex: 0 0 76px;
    position: relative;
    overflow: hidden;
}

.face-system-mark img {
    position: absolute;
    width: 173.8%;
    max-width: none;
    height: auto;
    left: -37.8%;
    top: -28.4%;
    display: block;
}

.face-system-links {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px;
    border: 1px solid rgba(22, 23, 22, 0.08);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.36);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.36);
    position: relative;
    isolation: isolate;
}

.face-system-mobile-login {
    display: none;
}

.face-system-mobile-login[hidden] {
    display: none !important;
}

.face-system-links::before {
    content: "";
    position: absolute;
    top: 4px;
    left: var(--face-rail-x, 4px);
    width: var(--face-rail-w, 0px);
    height: calc(100% - 8px);
    border-radius: 9px;
    background:
        radial-gradient(circle at var(--face-rail-spot-x, 50%) 50%, rgba(255, 255, 255, 0.95), transparent 56%),
        linear-gradient(135deg, rgba(14, 139, 127, 0.16), rgba(222, 103, 77, 0.13));
    box-shadow: 0 10px 26px rgba(14, 139, 127, 0.12);
    opacity: var(--face-rail-opacity, 0);
    transform: scaleX(var(--face-rail-scale, 0.86));
    transition: left 220ms ease, width 220ms ease, opacity 180ms ease, transform 220ms ease;
    z-index: -1;
}

.face-system-link {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 14px;
    border-radius: var(--face-radius);
    color: var(--face-ink-soft);
    text-decoration: none;
    font-size: 14px;
    font-family: var(--face-font-display);
    font-weight: 680;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    transition: color 180ms ease, transform 180ms ease, text-shadow 180ms ease;
}

.face-system-link::before {
    content: "";
    position: absolute;
    inset: -1px;
    border-radius: inherit;
    background:
        radial-gradient(circle at var(--face-spot-x, 50%) var(--face-spot-y, 50%), rgba(255, 255, 255, 0.98), transparent 34%),
        linear-gradient(100deg, transparent, rgba(14, 139, 127, 0.18), rgba(222, 103, 77, 0.14), transparent);
    opacity: 0;
    transform: translateX(-22%);
    transition: opacity 180ms ease, transform 260ms ease;
    z-index: -1;
}

.face-system-link::after {
    content: "";
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 6px;
    height: 1px;
    border-radius: 999px;
    background: linear-gradient(90deg, transparent, var(--face-teal), var(--face-coral), transparent);
    box-shadow: 0 0 12px rgba(14, 139, 127, 0.45);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 220ms ease;
}

.face-system-link:hover {
    color: var(--face-ink);
    transform: translateY(-2px);
    text-shadow: 0 0 18px rgba(14, 139, 127, 0.25);
}

.face-system-link.is-active {
    color: var(--face-ink);
    background: linear-gradient(135deg, rgba(14, 139, 127, 0.15), rgba(222, 103, 77, 0.09));
    box-shadow: inset 0 0 0 1px rgba(14, 139, 127, 0.16), 0 8px 22px rgba(14, 139, 127, 0.1);
}

.face-system-link:hover::before,
.face-system-link.is-active::before {
    opacity: 1;
    transform: translateX(0);
}

.face-system-link:hover::after,
.face-system-link.is-active::after {
    transform: scaleX(1);
}

.face-system-link.is-primary {
    color: #ffffff;
    background:
        linear-gradient(135deg, rgba(14, 139, 127, 0.28), rgba(222, 103, 77, 0.22)),
        var(--face-ink);
    box-shadow: 0 12px 28px rgba(22, 23, 22, 0.18), inset 0 0 0 1px rgba(255, 255, 255, 0.14);
}

.face-design-page h1,
.face-design-page .header h1,
.face-design-page header h1 {
    color: var(--face-ink) !important;
    font-family: var(--face-font-display) !important;
    font-size: 38px !important;
    line-height: 1.08 !important;
    font-weight: 820 !important;
    letter-spacing: 0 !important;
    text-shadow: none !important;
}

.face-design-page h2,
.face-design-page .section-title,
.face-design-page .result-title {
    color: var(--face-ink) !important;
    font-family: var(--face-font-display) !important;
    letter-spacing: 0 !important;
}

.face-design-page p,
.face-design-page .subtitle,
.face-design-page .description,
.face-design-page .module-desc {
    color: var(--face-ink-soft) !important;
}

.face-design-page .container,
.face-design-page main,
.face-design-page .max-w-6xl,
.face-design-page .mx-auto {
    position: relative;
}

.face-design-page .header,
.face-design-page header {
    width: min(1180px, calc(100% - 40px));
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 24px !important;
    padding: 36px 0 18px !important;
    color: var(--face-ink) !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    text-align: left !important;
}

.face-design-page .header p,
.face-design-page header p {
    max-width: 760px;
    color: var(--face-ink-soft) !important;
    font-size: 17px !important;
}

.face-design-page .card,
.face-design-page .glass-card,
.face-design-page .upload-card,
.face-design-page .result-card,
.face-design-page .stat-card,
.face-design-page .analysis-card,
.face-design-page .tab-content,
.face-design-page .upload-section,
.face-design-page .results-section,
.face-design-page .result-section,
.face-design-page .info-box,
.face-design-page .section,
.face-design-page .panel {
    border: 1px solid var(--face-line) !important;
    border-radius: var(--face-radius) !important;
    background: var(--face-panel) !important;
    box-shadow: var(--face-shadow) !important;
    backdrop-filter: none;
}

.face-design-page .card-title,
.face-design-page .dimension-title,
.face-design-page .info-title {
    color: var(--face-ink) !important;
    font-family: var(--face-font-display) !important;
    font-weight: 780 !important;
}

.face-design-page .score,
.face-design-page .score-value,
.face-design-page .result-score,
.face-design-page .metric-value,
.face-design-page .stat-value,
.face-design-page .value,
.face-design-page .raw-value,
.face-design-page .percentile,
.face-design-page .z-score,
.face-design-page .z-badge,
.face-design-page .number,
.face-design-page .confidence,
.face-design-page .dimension-value,
.face-design-page [class*="score"],
.face-design-page [class*="percent"],
.face-design-page [class*="value"] {
    font-family: var(--face-font-number) !important;
    font-variant-numeric: tabular-nums lining-nums;
}

.face-design-page .metric,
.face-design-page .hero-stat,
.face-design-page .stat-card,
.face-design-page .score-card {
    --face-data-accent: var(--face-teal);
    --face-data-glow: rgba(14, 139, 127, 0.16);
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;
    border: 1px solid rgba(22, 23, 22, 0.1) !important;
    border-radius: 12px !important;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.88), rgba(255, 255, 255, 0.62)),
        radial-gradient(circle at 12% 0%, rgba(14, 139, 127, 0.12), transparent 42%) !important;
    box-shadow:
        0 18px 44px rgba(38, 41, 38, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.76) !important;
    backdrop-filter: none;
    transform: translateZ(0);
    transition: transform 200ms ease, border-color 200ms ease, box-shadow 200ms ease !important;
}

.face-design-page .metric:nth-child(3n + 2),
.face-design-page .hero-stat:nth-child(3n + 2),
.face-design-page .stat-card:nth-child(3n + 2),
.face-design-page .score-card:nth-child(3n + 2) {
    --face-data-accent: var(--face-coral);
    --face-data-glow: rgba(222, 103, 77, 0.16);
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.88), rgba(255, 255, 255, 0.62)),
        radial-gradient(circle at 12% 0%, rgba(222, 103, 77, 0.12), transparent 42%) !important;
}

.face-design-page .metric:nth-child(3n),
.face-design-page .hero-stat:nth-child(3n),
.face-design-page .stat-card:nth-child(3n),
.face-design-page .score-card:nth-child(3n) {
    --face-data-accent: var(--face-violet);
    --face-data-glow: rgba(101, 84, 184, 0.16);
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.88), rgba(255, 255, 255, 0.62)),
        radial-gradient(circle at 12% 0%, rgba(101, 84, 184, 0.12), transparent 42%) !important;
}

.face-design-page .metric::before,
.face-design-page .hero-stat::before,
.face-design-page .stat-card::before,
.face-design-page .score-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    background:
        linear-gradient(135deg, var(--face-data-accent), rgba(255, 255, 255, 0.2), transparent 62%),
        linear-gradient(315deg, transparent 54%, rgba(255, 255, 255, 0.52));
    opacity: 0.22;
    pointer-events: none;
}

.face-design-page .metric::after,
.face-design-page .hero-stat::after,
.face-design-page .stat-card::after,
.face-design-page .score-card::after {
    content: "";
    position: absolute;
    inset: -45% auto -45% -62%;
    width: 54%;
    z-index: -1;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.76), transparent);
    opacity: 0.42;
    transform: rotate(14deg) translateX(-115%);
    animation: none;
}

.face-design-page .metric:hover,
.face-design-page .hero-stat:hover,
.face-design-page .stat-card:hover,
.face-design-page .score-card:hover {
    transform: translateY(-3px) !important;
    border-color: rgba(14, 139, 127, 0.24) !important;
    box-shadow:
        0 24px 58px rgba(38, 41, 38, 0.11),
        0 0 32px var(--face-data-glow),
        inset 0 1px 0 rgba(255, 255, 255, 0.84) !important;
}

.face-design-page .metric-label,
.face-design-page .stat-label,
.face-design-page .score-label {
    position: relative;
    z-index: 1;
    color: var(--face-muted) !important;
    font-weight: 720 !important;
}

.face-design-page .metric-value,
.face-design-page .stat-value,
.face-design-page .score-value,
.face-design-page .result-score,
.face-design-page .hero-stat strong {
    position: relative;
    z-index: 1;
    color: var(--face-ink) !important;
    text-shadow: 0 10px 26px var(--face-data-glow);
}

.face-design-page .btn,
.face-design-page button,
.face-design-page .button,
.face-design-page .action-btn,
.face-design-page input[type="button"],
.face-design-page input[type="submit"] {
    min-height: 42px;
    border-radius: var(--face-radius) !important;
    border: 1px solid var(--face-line-strong) !important;
    background: var(--face-ink) !important;
    color: #ffffff !important;
    box-shadow: 0 12px 30px rgba(22, 23, 22, 0.12) !important;
    font-weight: 720 !important;
    letter-spacing: 0 !important;
    transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease !important;
}

.face-design-page .btn:hover,
.face-design-page button:hover,
.face-design-page .button:hover,
.face-design-page .action-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 40px rgba(22, 23, 22, 0.16) !important;
}

.face-design-page .btn:disabled,
.face-design-page button:disabled {
    opacity: 0.46 !important;
    cursor: not-allowed !important;
    transform: none !important;
}

body.face-design-page .face-system-nav .face-system-back {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 38px !important;
    height: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 8px 12px !important;
    border: 1px solid rgba(22, 23, 22, 0.1) !important;
    border-radius: 999px !important;
    background-color: rgba(255, 255, 255, 0.44) !important;
    background-image:
        linear-gradient(135deg, rgba(255, 255, 255, 0.78), rgba(255, 255, 255, 0.36)),
        radial-gradient(circle at 20% 0%, rgba(14, 139, 127, 0.15), transparent 44%) !important;
    color: var(--face-ink) !important;
    box-shadow:
        0 12px 28px rgba(38, 41, 38, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.76) !important;
    backdrop-filter: none !important;
    font-family: var(--face-font-display) !important;
    font-size: 13px !important;
    font-weight: 760 !important;
    line-height: 1 !important;
}

body.face-design-page .face-system-nav .face-system-back:hover {
    background-color: rgba(255, 255, 255, 0.58) !important;
    background-image:
        linear-gradient(135deg, rgba(255, 255, 255, 0.88), rgba(255, 255, 255, 0.44)),
        radial-gradient(circle at 18% 0%, rgba(14, 139, 127, 0.18), transparent 46%),
        linear-gradient(90deg, rgba(14, 139, 127, 0.06), rgba(222, 103, 77, 0.05)) !important;
    color: var(--face-ink) !important;
    transform: translateX(-2px) translateY(-1px) !important;
    border-color: rgba(14, 139, 127, 0.24) !important;
    box-shadow:
        0 16px 34px rgba(38, 41, 38, 0.11),
        0 0 26px rgba(14, 139, 127, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.84) !important;
}

.face-design-page .btn-secondary,
.face-design-page .secondary,
.face-design-page .remove-btn,
.face-design-page #removeBtn {
    background: rgba(255, 255, 255, 0.72) !important;
    color: var(--face-ink) !important;
}

.face-design-page .nav-tab,
.face-design-page .tab-btn,
.face-design-page .map-tab-btn {
    background: rgba(255, 255, 255, 0.58) !important;
    color: var(--face-ink-soft) !important;
    box-shadow: none !important;
}

.face-design-page .nav-tab.active,
.face-design-page .tab-btn.active,
.face-design-page .map-tab-btn.active,
.face-design-page .selected,
.face-design-page .gender-option.selected {
    color: #ffffff !important;
    border-color: var(--face-ink) !important;
    background: var(--face-ink) !important;
}

.face-design-page input,
.face-design-page select,
.face-design-page textarea {
    border: 1px solid var(--face-line-strong) !important;
    border-radius: var(--face-radius) !important;
    background: rgba(255, 255, 255, 0.82) !important;
    color: var(--face-ink) !important;
    box-shadow: none !important;
}

.face-design-page .face-upload-surface,
.face-design-page .image-upload,
.face-design-page #uploadArea,
.face-design-page .upload-area,
.face-design-page .upload-box,
.face-design-page .file-zone,
.face-design-page .drop-zone,
.face-design-page #dropZone,
.face-design-page #uploadBox,
.face-design-page #desktop-drop {
    --face-upload-x: 50%;
    --face-upload-y: 50%;
    --face-upload-lift: 0px;
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;
    border-radius: 12px !important;
    border: 1px solid rgba(14, 139, 127, 0.18) !important;
    background:
        radial-gradient(circle at var(--face-upload-x) var(--face-upload-y), rgba(255, 255, 255, 0.96), transparent 28%),
        linear-gradient(135deg, rgba(14, 139, 127, 0.045), rgba(222, 103, 77, 0.035), rgba(101, 84, 184, 0.035)),
        rgba(255, 255, 255, 0.76) !important;
    box-shadow:
        0 20px 54px rgba(38, 41, 38, 0.08),
        0 8px 24px rgba(14, 139, 127, 0.045),
        inset 0 0 0 1px rgba(255, 255, 255, 0.68) !important;
    backdrop-filter: none !important;
    transform: translateY(var(--face-upload-lift)) !important;
    animation: none !important;
    transition:
        transform 220ms ease,
        border-color 220ms ease,
        box-shadow 220ms ease,
        background 220ms ease !important;
}

.face-design-page .face-upload-surface::before,
.face-design-page .image-upload::before,
.face-design-page #uploadArea::before,
.face-design-page .upload-area::before,
.face-design-page .upload-box::before,
.face-design-page .file-zone::before,
.face-design-page .drop-zone::before,
.face-design-page #dropZone::before,
.face-design-page #uploadBox::before,
.face-design-page #desktop-drop::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    border-radius: inherit;
    padding: 1px;
    background: conic-gradient(
        from var(--face-upload-angle, 0deg) at var(--face-upload-x) var(--face-upload-y),
        rgba(14, 139, 127, 0.34),
        rgba(222, 103, 77, 0.26),
        rgba(185, 141, 47, 0.22),
        rgba(101, 84, 184, 0.24),
        rgba(14, 139, 127, 0.34)
    );
    mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    mask-composite: exclude;
    opacity: 0.55;
    animation: none;
    transition: opacity 220ms ease;
}

.face-design-page .face-upload-surface::after,
.face-design-page .image-upload::after,
.face-design-page #uploadArea::after,
.face-design-page .upload-area::after,
.face-design-page .upload-box::after,
.face-design-page .file-zone::after,
.face-design-page .drop-zone::after,
.face-design-page #dropZone::after,
.face-design-page #uploadBox::after,
.face-design-page #desktop-drop::after {
    content: "";
    position: absolute;
    inset: -36%;
    z-index: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at var(--face-upload-x) var(--face-upload-y), rgba(14, 139, 127, 0.2), transparent 18%),
        linear-gradient(115deg, transparent 32%, rgba(255, 255, 255, 0.34) 46%, transparent 62%);
    opacity: 0;
    transform: translateX(-16%) rotate(8deg);
    transition: opacity 220ms ease, transform 520ms ease;
}

.face-design-page .face-upload-surface:hover,
.face-design-page .face-upload-surface.is-hovering,
.face-design-page .face-upload-surface.dragover,
.face-design-page .face-upload-surface.drag-over,
.face-design-page .face-upload-surface.is-dragging,
.face-design-page .image-upload:hover,
.face-design-page .image-upload.dragover,
.face-design-page #uploadArea:hover,
.face-design-page #uploadArea.dragover,
.face-design-page .upload-area:hover,
.face-design-page .upload-area.dragover,
.face-design-page .upload-area.drag-over,
.face-design-page .upload-box:hover,
.face-design-page .upload-box.dragover,
.face-design-page .file-zone:hover,
.face-design-page .file-zone.dragover,
.face-design-page .drop-zone:hover,
.face-design-page .drop-zone.dragover,
.face-design-page #dropZone:hover,
.face-design-page #dropZone.dragover,
.face-design-page #uploadBox:hover,
.face-design-page #uploadBox.dragover,
.face-design-page #desktop-drop:hover,
.face-design-page #desktop-drop.drag-over {
    --face-upload-lift: -3px;
    border-color: rgba(14, 139, 127, 0.3) !important;
    background:
        radial-gradient(circle at var(--face-upload-x) var(--face-upload-y), rgba(255, 255, 255, 1), transparent 30%),
        linear-gradient(135deg, rgba(14, 139, 127, 0.065), rgba(222, 103, 77, 0.05), rgba(101, 84, 184, 0.05)),
        rgba(255, 255, 255, 0.82) !important;
    box-shadow:
        0 24px 66px rgba(14, 139, 127, 0.09),
        0 10px 30px rgba(222, 103, 77, 0.045),
        inset 0 0 0 1px rgba(255, 255, 255, 0.74) !important;
}

.face-design-page .face-upload-surface:hover::before,
.face-design-page .face-upload-surface.is-hovering::before,
.face-design-page .face-upload-surface.dragover::before,
.face-design-page .face-upload-surface.drag-over::before,
.face-design-page .face-upload-surface.is-dragging::before,
.face-design-page .image-upload:hover::before,
.face-design-page .image-upload.dragover::before,
.face-design-page #uploadArea:hover::before,
.face-design-page #uploadArea.dragover::before,
.face-design-page .upload-area:hover::before,
.face-design-page .upload-area.dragover::before,
.face-design-page .upload-area.drag-over::before,
.face-design-page .upload-box:hover::before,
.face-design-page .upload-box.dragover::before,
.face-design-page .file-zone:hover::before,
.face-design-page .file-zone.dragover::before,
.face-design-page .drop-zone:hover::before,
.face-design-page .drop-zone.dragover::before,
.face-design-page #dropZone:hover::before,
.face-design-page #dropZone.dragover::before,
.face-design-page #uploadBox:hover::before,
.face-design-page #uploadBox.dragover::before,
.face-design-page #desktop-drop:hover::before,
.face-design-page #desktop-drop.drag-over::before {
    opacity: 0.78;
}

.face-design-page .face-upload-surface:hover::after,
.face-design-page .face-upload-surface.is-hovering::after,
.face-design-page .face-upload-surface.dragover::after,
.face-design-page .face-upload-surface.drag-over::after,
.face-design-page .face-upload-surface.is-dragging::after,
.face-design-page .image-upload:hover::after,
.face-design-page .image-upload.dragover::after,
.face-design-page #uploadArea:hover::after,
.face-design-page #uploadArea.dragover::after,
.face-design-page .upload-area:hover::after,
.face-design-page .upload-area.dragover::after,
.face-design-page .upload-area.drag-over::after,
.face-design-page .upload-box:hover::after,
.face-design-page .upload-box.dragover::after,
.face-design-page .file-zone:hover::after,
.face-design-page .file-zone.dragover::after,
.face-design-page .drop-zone:hover::after,
.face-design-page .drop-zone.dragover::after,
.face-design-page #dropZone:hover::after,
.face-design-page #dropZone.dragover::after,
.face-design-page #uploadBox:hover::after,
.face-design-page #uploadBox.dragover::after,
.face-design-page #desktop-drop:hover::after,
.face-design-page #desktop-drop.drag-over::after {
    opacity: 1;
    transform: translateX(16%) rotate(8deg);
}

.face-design-page .face-upload-surface > *,
.face-design-page .image-upload > *,
.face-design-page #uploadArea > *,
.face-design-page .upload-area > *,
.face-design-page .upload-box > *,
.face-design-page .file-zone > *,
.face-design-page .drop-zone > *,
.face-design-page #dropZone > *,
.face-design-page #uploadBox > *,
.face-design-page #desktop-drop > * {
    position: relative;
    z-index: 1;
}

.face-design-page .tag,
.face-design-page .feature-tag,
.face-design-page .badge {
    border-radius: 999px !important;
    color: #0b6e65 !important;
    background: rgba(14, 139, 127, 0.1) !important;
    font-weight: 720 !important;
}

.face-design-page .bg-purple-50,
.face-design-page .bg-pink-50,
.face-design-page .bg-rose-50,
.face-design-page .bg-blue-50,
.face-design-page .bg-indigo-50 {
    background-color: rgba(14, 139, 127, 0.08) !important;
}

.face-design-page .bg-purple-500,
.face-design-page .bg-purple-600,
.face-design-page .bg-pink-500,
.face-design-page .bg-pink-600,
.face-design-page .bg-rose-500,
.face-design-page .bg-rose-600,
.face-design-page .bg-indigo-500,
.face-design-page .bg-indigo-600,
.face-design-page .bg-blue-500,
.face-design-page .bg-blue-600 {
    background-color: var(--face-ink) !important;
}

.face-design-page .text-purple-500,
.face-design-page .text-purple-600,
.face-design-page .text-purple-700,
.face-design-page .text-purple-900,
.face-design-page .text-pink-500,
.face-design-page .text-pink-600,
.face-design-page .text-pink-700,
.face-design-page .text-pink-900,
.face-design-page .text-rose-500,
.face-design-page .text-rose-600,
.face-design-page .text-rose-700,
.face-design-page .text-blue-500,
.face-design-page .text-blue-600,
.face-design-page .text-blue-700,
.face-design-page .text-blue-900,
.face-design-page .text-indigo-500,
.face-design-page .text-indigo-600 {
    color: var(--face-teal) !important;
}

.face-design-page .border-purple-400,
.face-design-page .border-purple-500,
.face-design-page .border-pink-400,
.face-design-page .border-pink-500,
.face-design-page .border-rose-400,
.face-design-page .border-rose-500,
.face-design-page .border-blue-400,
.face-design-page .border-blue-500,
.face-design-page .border-indigo-400,
.face-design-page .border-indigo-500 {
    border-color: var(--face-teal) !important;
}

.face-design-page .from-purple-600,
.face-design-page .from-purple-500,
.face-design-page .from-indigo-600,
.face-design-page .from-indigo-500 {
    --tw-gradient-from: var(--face-teal) var(--tw-gradient-from-position) !important;
    --tw-gradient-to: rgba(14, 139, 127, 0) var(--tw-gradient-to-position) !important;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}

.face-design-page .to-indigo-500,
.face-design-page .to-indigo-600,
.face-design-page .to-purple-500,
.face-design-page .to-purple-600 {
    --tw-gradient-to: var(--face-coral) var(--tw-gradient-to-position) !important;
}

.face-design-page .peer:checked ~ .peer-checked\:border-purple-500 {
    border-color: var(--face-ink) !important;
}

.face-design-page .peer:checked ~ .peer-checked\:border-pink-400,
.face-design-page .peer:checked ~ .peer-checked\:border-blue-400 {
    border-color: var(--face-teal) !important;
}

.face-design-page .peer:checked ~ .peer-checked\:bg-purple-50 {
    background-color: rgba(14, 139, 127, 0.08) !important;
}

.face-design-page .peer:checked ~ .peer-checked\:bg-pink-50,
.face-design-page .peer:checked ~ .peer-checked\:bg-blue-50 {
    background-color: rgba(14, 139, 127, 0.08) !important;
}

.face-design-page .peer:checked ~ .peer-checked\:text-purple-700 {
    color: var(--face-ink) !important;
}

.face-design-page .peer:checked ~ .peer-checked\:text-purple-600 {
    color: var(--face-ink) !important;
}

.face-design-page .loading {
    border-radius: var(--face-radius) !important;
    background: rgba(255, 255, 255, 0.82) !important;
}

.face-design-page .spinner {
    border-color: rgba(22, 23, 22, 0.12) !important;
    border-top-color: var(--face-teal) !important;
}

.face-design-page table {
    border-collapse: separate;
    border-spacing: 0;
}

.face-design-page th {
    color: var(--face-ink) !important;
    background: rgba(14, 139, 127, 0.08) !important;
}

.face-design-page canvas:not(.face-system-canvas) {
    max-width: 100%;
}

@property --face-upload-angle {
    syntax: "<angle>";
    inherits: false;
    initial-value: 0deg;
}

@keyframes faceNavSweep {
    0% {
        transform: translateX(-100%);
    }

    100% {
        transform: translateX(100%);
    }
}

@keyframes faceNavTrace {
    0%,
    100% {
        transform: translateX(-38%) scaleX(0.62);
        opacity: 0.46;
    }

    50% {
        transform: translateX(38%) scaleX(1);
        opacity: 0.92;
    }
}

@keyframes faceMarkOrbit {
    0% {
        filter: hue-rotate(0deg);
    }

    100% {
        filter: hue-rotate(360deg);
    }
}

@keyframes faceMarkPulse {
    0%,
    100% {
        box-shadow:
            inset 0 0 0 6px rgba(14, 139, 127, 0.08),
            0 0 0 0 rgba(14, 139, 127, 0.18);
    }

    50% {
        box-shadow:
            inset 0 0 0 6px rgba(14, 139, 127, 0.13),
            0 0 0 8px rgba(14, 139, 127, 0);
    }
}

@keyframes faceUploadOrbit {
    0% {
        --face-upload-angle: 0deg;
    }

    100% {
        --face-upload-angle: 360deg;
    }
}

@keyframes faceUploadAura {
    0%,
    100% {
        box-shadow:
            0 18px 48px rgba(38, 41, 38, 0.075),
            0 8px 22px rgba(14, 139, 127, 0.035),
            inset 0 0 0 1px rgba(255, 255, 255, 0.62);
    }

    50% {
        box-shadow:
            0 22px 58px rgba(14, 139, 127, 0.085),
            0 10px 28px rgba(222, 103, 77, 0.04),
            inset 0 0 0 1px rgba(255, 255, 255, 0.72);
    }
}

@keyframes faceDataSweep {
    0%,
    64% {
        transform: rotate(14deg) translateX(-120%);
    }

    100% {
        transform: rotate(14deg) translateX(330%);
    }
}

@media (max-width: 980px) {
    body.face-design-page {
        padding-top: 74px !important;
    }

    .face-system-nav-inner {
        width: min(100% - 28px, 1180px);
        min-height: 64px;
        gap: 12px;
    }

    .face-system-links {
        display: none;
    }

    .face-system-mobile-login {
        min-height: 38px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 auto;
        padding: 8px 12px;
        border: 1px solid rgba(14, 139, 127, 0.22);
        border-radius: 999px;
        color: #ffffff;
        background: linear-gradient(135deg, #087c72, var(--face-teal));
        box-shadow: 0 10px 24px rgba(14, 139, 127, 0.18);
        font-family: var(--face-font-display);
        font-size: 12px;
        font-weight: 760;
        line-height: 1;
        text-decoration: none;
        white-space: nowrap;
    }

    .face-redundant-back {
        display: none !important;
    }

    .face-system-nav-left {
        min-width: 0;
        flex: 1 1 auto;
        gap: 10px;
    }

    body.face-design-page .face-system-nav .face-system-back {
        width: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
        flex: 0 0 38px !important;
        padding: 0 !important;
    }

    .face-system-back-text {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        white-space: nowrap;
    }

    .face-system-brand {
        min-width: 0;
        flex: 1 1 auto;
        font-size: 16px;
    }

    .face-design-page .header,
    .face-design-page header {
        width: min(100% - 28px, 1180px);
        padding-top: 24px !important;
    }

    .face-design-page h1,
    .face-design-page .header h1,
    .face-design-page header h1 {
        font-size: 30px !important;
    }
}

@media (max-width: 420px) {
    .face-system-brand {
        gap: 9px;
    }

    .face-system-mark {
        width: 62px;
        height: 24px;
        flex: 0 0 62px;
    }

    .face-system-brand-text {
        max-width: min(52vw, 190px);
    }
}

@media (max-width: 600px) {
    body.face-design-page {
        padding-top: 286px !important;
    }

    .face-system-canvas {
        opacity: 0.72;
    }

    body.face-design-page.platform-page {
        padding-top: 74px !important;
    }

    body.face-design-page.login-page {
        padding-top: 74px !important;
    }

    body.face-design-page.analysis-zscore-page,
    body.face-design-page.clip-aesthetic-page {
        padding-top: 74px !important;
    }

    body.face-design-page.platform-page .face-system-canvas {
        display: block;
    }
}

@media (prefers-reduced-motion: reduce) {
    .face-design-page *,
    .face-design-page *::before,
    .face-design-page *::after {
        animation: none !important;
        scroll-behavior: auto !important;
        transition-duration: 1ms !important;
    }
}

/* All-in-one service navigation: override the generic dark button treatment. */
body.face-design-page .platform .sidebar button.feature-tab {
    min-height: 44px !important;
    padding: 10px 12px !important;
    margin: 5px 0 !important;
    border: 1px solid rgba(22, 23, 22, 0.08) !important;
    border-radius: 12px !important;
    color: var(--face-ink-soft) !important;
    background:
        radial-gradient(circle at var(--tab-x, 50%) var(--tab-y, 50%), rgba(255, 255, 255, 0.9), transparent 48%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.72), rgba(238, 247, 244, 0.42)) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.86), 0 6px 18px rgba(38, 57, 52, 0.05) !important;
    text-shadow: none !important;
}

body.face-design-page .platform .sidebar button.feature-tab:hover {
    color: var(--face-ink) !important;
    border-color: rgba(14, 139, 127, 0.22) !important;
    background:
        radial-gradient(circle at var(--tab-x, 50%) var(--tab-y, 50%), rgba(255, 255, 255, 0.98), transparent 50%),
        linear-gradient(135deg, rgba(14, 139, 127, 0.1), rgba(255, 255, 255, 0.62)) !important;
    box-shadow: 0 13px 30px rgba(14, 139, 127, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.94) !important;
}

body.face-design-page .platform .sidebar button.feature-tab.active {
    color: #24575b !important;
    border-color: rgba(14, 139, 127, 0.34) !important;
    background:
        radial-gradient(circle at var(--tab-x, 50%) var(--tab-y, 50%), rgba(255, 255, 255, 0.98), transparent 48%),
        linear-gradient(135deg, rgba(14, 139, 127, 0.2), rgba(222, 103, 77, 0.09), rgba(255, 255, 255, 0.62)) !important;
    box-shadow: 0 14px 34px rgba(14, 139, 127, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.96) !important;
}
/* Browser-session visibility defaults to the safe public view. */
[data-auth-only] {
    display: none !important;
}

body.web-authenticated [data-auth-only] {
    display: revert !important;
}

body.web-authenticated [data-public-only] {
    display: none !important;
}
