/* 星炬 C 端：页面级样式（与 Tailwind 并存） */
body {
            font-family: 'Noto Sans SC', sans-serif;
            overflow-x: hidden;
        }

        /* 星币管理弹窗 — 设计稿：#14171F / #6E68E0 / #22C55E / #F8FAFC / #E2E8F0，圆角约 24px / 16px / 12px */
        #modal-wallet-manage {
            z-index: 9999;
        }

        #modal-wallet-manage .wallet-modal-backdrop {
            background: rgba(0, 0, 0, 0.5);
            -webkit-backdrop-filter: blur(4px);
            backdrop-filter: blur(4px);
            pointer-events: auto;
        }

        #modal-wallet-manage .wallet-modal-panel {
            pointer-events: auto;
            border-radius: 24px;
            border: 1px solid #e2e8f0;
            box-shadow: 0 25px 60px -12px rgba(20, 23, 31, 0.22), 0 0 0 1px rgba(226, 232, 240, 0.65);
            display: flex;
            flex-direction: column;
            max-width: 57.5rem;
            width: 100%;
            max-height: min(90vh, 800px);
            min-height: 0;
            overflow: hidden;
            align-items: stretch;
        }

        #modal-wallet-manage .wallet-modal-left {
            padding: 2rem;
            box-sizing: border-box;
            flex: 0 1 auto;
            min-height: 0;
            max-height: min(48vh, 380px);
            overflow-y: auto;
            border-bottom: 1px solid #e2e8f0;
        }

        #modal-wallet-manage .wallet-modal-history {
            background-color: #f8fafc;
            box-sizing: border-box;
            flex: 1 1 auto;
            min-height: 200px;
            display: flex;
            flex-direction: column;
            overflow: hidden;
        }

        /* 当前 assets/tailwind.css 未编入 lg:flex-row、lg:w-[40%]、max-h-[min(...)]，桌面双栏与高度在此写死 */
        @media (min-width: 1024px) {
            #modal-wallet-manage .wallet-modal-panel {
                flex-direction: row;
                align-items: stretch;
            }

            #modal-wallet-manage .wallet-modal-left {
                flex: 0 0 60%;
                width: 60%;
                max-width: 60%;
                max-height: none;
                border-bottom: none;
                border-right: 1px solid #e2e8f0;
            }

            #modal-wallet-manage .wallet-modal-history {
                flex: 1 1 40%;
                width: 40%;
                max-width: 40%;
                min-height: 0;
            }

            #modal-wallet-manage #recharge-amount-chips {
                grid-template-columns: repeat(4, minmax(0, 1fr));
            }
        }

        #modal-wallet-manage .wallet-history-head {
            border-bottom: 1px solid #e2e8f0;
            padding: 1.5rem 1.5rem 1rem;
            background: #f8fafc;
        }

        #modal-wallet-manage .wallet-history-head-top {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 0.75rem;
        }

        #modal-wallet-manage .wallet-history-head-main {
            min-width: 0;
        }

        #modal-wallet-manage .wallet-pay-radio {
            width: 1rem;
            height: 1rem;
            accent-color: #6e68e0;
            flex-shrink: 0;
        }

        #modal-wallet-manage .wallet-pay-method-label {
            padding: 0.25rem 0;
        }

        #modal-wallet-manage .wallet-pay-qr-layer {
            position: absolute;
            inset: 0;
            z-index: 50;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 1rem;
            background: rgba(15, 23, 42, 0.48);
            -webkit-backdrop-filter: blur(3px);
            backdrop-filter: blur(3px);
        }

        #modal-wallet-manage .wallet-pay-qr-layer.hidden {
            display: none !important;
        }

        #modal-wallet-manage .wallet-pay-qr-card {
            width: 100%;
            max-width: 22rem;
            background: #fff;
            border-radius: 1rem;
            padding: 1.5rem;
            box-shadow: 0 20px 50px rgba(0, 0, 0, 0.18);
            border: 1px solid #e2e8f0;
            text-align: center;
        }

        #modal-wallet-manage .wallet-pay-qr-title {
            font-size: 1rem;
            font-weight: 900;
            color: #0f172a;
            margin-bottom: 1rem;
        }

        #modal-wallet-manage .wallet-pay-qr-img {
            width: 200px;
            height: 200px;
            max-width: 100%;
            object-fit: contain;
            margin: 0 auto;
            border-radius: 0.75rem;
            border: 1px solid #e2e8f0;
        }

        #modal-wallet-manage .wallet-pay-qr-hint {
            font-size: 0.75rem;
            color: #64748b;
            font-weight: 600;
            margin-top: 0.75rem;
            line-height: 1.5;
        }

        #modal-wallet-manage .wallet-pay-qr-order {
            font-size: 0.6875rem;
            color: #94a3b8;
            margin-top: 0.35rem;
            font-family: ui-monospace, monospace;
        }

        #modal-wallet-manage .wallet-pay-qr-actions {
            display: flex;
            flex-direction: column;
            gap: 0.5rem;
            margin-top: 1.25rem;
        }

        #modal-wallet-manage .wallet-pay-qr-btn {
            width: 100%;
            padding: 0.75rem 1rem;
            border-radius: 0.75rem;
            font-size: 0.875rem;
            font-weight: 800;
            border: none;
            cursor: pointer;
            transition: background 0.15s ease, opacity 0.15s ease;
        }

        #modal-wallet-manage .wallet-pay-qr-btn-primary {
            background: #14171f;
            color: #fff;
        }

        #modal-wallet-manage .wallet-pay-qr-btn-primary:hover {
            background: #1c212c;
        }

        #modal-wallet-manage .wallet-pay-qr-btn-ghost {
            background: #f1f5f9;
            color: #475569;
        }

        #modal-wallet-manage .wallet-pay-qr-btn-ghost:hover {
            background: #e2e8f0;
        }

        #modal-wallet-manage .wallet-history-clock {
            width: 2.25rem;
            height: 2.25rem;
            border-radius: 9999px;
            background: #fff;
            border: 1px solid #e2e8f0;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #64748b;
            flex-shrink: 0;
        }

        #modal-wallet-manage .wallet-modal-title-text {
            font-size: 1.125rem;
            font-weight: 900;
            color: #0f172a;
            letter-spacing: -0.02em;
        }

        @media (min-width: 640px) {
            #modal-wallet-manage .wallet-modal-title-text {
                font-size: 1.25rem;
            }
        }

        #modal-wallet-manage .wallet-rate-badge {
            display: inline-flex;
            align-items: center;
            gap: 0.15rem;
            font-size: 0.6875rem;
            font-weight: 800;
            color: #6e68e0;
            background: rgba(110, 104, 224, 0.12);
            border: 1px solid rgba(110, 104, 224, 0.24);
            padding: 0.2rem 0.55rem;
            border-radius: 9999px;
            white-space: nowrap;
        }

        #modal-wallet-manage .wallet-balance-card {
            background: #14171f;
            border-radius: 16px;
            box-shadow: 0 14px 32px rgba(20, 23, 31, 0.38);
        }

        #modal-wallet-manage .wallet-balance-label {
            font-size: 0.75rem;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.55);
            letter-spacing: 0.02em;
        }

        #modal-wallet-manage .wallet-balance-value {
            font-size: 2rem;
            font-weight: 900;
            color: #fff;
            line-height: 1;
            letter-spacing: -0.02em;
        }

        @media (min-width: 640px) {
            #modal-wallet-manage .wallet-balance-value {
                font-size: 2.125rem;
            }
        }

        #modal-wallet-manage .wallet-balance-star {
            font-size: 1.75rem;
            line-height: 1;
            color: #facc15;
            filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.2));
        }

        #modal-wallet-manage .wallet-primary-btn {
            background: #14171f;
            border-radius: 12px;
            box-shadow: 0 10px 24px rgba(20, 23, 31, 0.2);
        }

        #modal-wallet-manage .wallet-primary-btn:hover {
            background: #1c212c;
        }

        #modal-wallet-manage .wallet-modal-close {
            background: #f1f5f9;
            color: #475569;
            border-radius: 9999px;
            width: 2.25rem;
            height: 2.25rem;
            display: flex;
            align-items: center;
            justify-content: center;
            border: none;
            cursor: pointer;
            transition: background 0.15s ease, color 0.15s ease;
        }

        #modal-wallet-manage .wallet-modal-close:hover {
            background: #e2e8f0;
            color: #1e293b;
        }

        /* 首页 / 职场：六模块「模型训练中」弹窗 — 按设计稿字号、配色、圆角与留白 */
        #modal-module-training {
            z-index: 9998;
            font-family: 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei UI', 'Microsoft YaHei', sans-serif;
        }

        #modal-module-training .wallet-modal-backdrop {
            background: rgba(0, 0, 0, 0.45);
            -webkit-backdrop-filter: blur(4px);
            backdrop-filter: blur(4px);
            pointer-events: auto;
        }

        #modal-module-training .module-training-panel {
            pointer-events: auto;
            border-radius: 16px;
            border: 1px solid #e8e8e8;
            box-shadow: 0 16px 48px rgba(0, 0, 0, 0.1), 0 4px 16px rgba(0, 0, 0, 0.06);
            display: flex;
            flex-direction: column;
            /* 基准 400px + 左右各 20rpx（750 稿）→ 总宽 +40rpx */
            max-width: calc(400px + 40 * 100vw / 750);
            width: calc(100vw - 2.5rem);
            max-height: min(90vh, 580px);
            min-height: 0;
            overflow: hidden;
            align-items: stretch;
        }

        #modal-module-training .module-training-top-accent {
            height: 4px;
            width: 100%;
            flex-shrink: 0;
            background: #4a90e2;
        }

        #modal-module-training .module-training-header {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 0.75rem;
            padding: 1.5rem 2rem 1rem;
            flex-shrink: 0;
        }

        /* 标题：在原先 wallet 标题档基础上再缩一号 */
        #modal-module-training .module-training-title {
            margin: 0;
            font-size: 1rem;
            font-weight: 700;
            color: #1a1a1a;
            letter-spacing: 0;
        }

        @media (min-width: 480px) {
            #modal-module-training .module-training-title {
                font-size: 1.125rem;
            }
        }

        #modal-module-training .module-training-body {
            padding: 0 2rem 2rem;
            overflow-y: auto;
            min-height: 0;
            flex: 1 1 auto;
            display: flex;
            flex-direction: column;
            gap: 1.25rem;
        }

        #modal-module-training .module-training-block--model {
            display: flex;
            flex-direction: column;
            gap: 0.35rem;
        }

        #modal-module-training .module-training-label {
            margin: 0;
            font-size: 0.875rem;
            font-weight: 400;
            color: #888888;
            line-height: 1.4;
        }

        #modal-module-training .module-training-model-row {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 0.5rem 0.75rem;
        }

        #modal-module-training .module-training-model-name {
            font-size: 1.125rem;
            font-weight: 400;
            color: #333333;
            line-height: 1.45;
        }

        #modal-module-training .module-training-status-pill {
            display: inline-flex;
            align-items: center;
            font-size: 0.75rem;
            font-weight: 400;
            color: #d48806;
            background: #fffbe6;
            border: 1px solid #ffe58f;
            padding: 0.2rem 0.5rem;
            border-radius: 9999px;
            line-height: 1.35;
            white-space: nowrap;
        }

        #modal-module-training .module-training-info-box {
            display: flex;
            gap: 0.75rem;
            align-items: flex-start;
            padding: 1rem;
            border-radius: 8px;
            border: 1px solid rgba(74, 144, 226, 0.22);
            background: #f0f7ff;
            box-sizing: border-box;
        }

        #modal-module-training .module-training-info-icon {
            flex-shrink: 0;
            width: 1.5rem;
            height: 1.5rem;
            border-radius: 9999px;
            background: #fff;
            border: 1px solid rgba(74, 144, 226, 0.35);
            display: flex;
            align-items: center;
            justify-content: center;
            color: #4a90e2;
            margin-top: 0.125rem;
        }

        #modal-module-training .module-training-info-text {
            margin: 0;
            font-size: 0.875rem;
            font-weight: 400;
            color: #666666;
            line-height: 1.5;
        }

        #modal-module-training .module-training-footer {
            padding-top: 0;
            margin-top: 0;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 1rem;
        }

        #modal-module-training .module-training-split-wrap {
            width: 100%;
            display: flex;
            justify-content: center;
        }

        #modal-module-training .module-training-split-cta {
            display: flex;
            align-items: stretch;
            width: 100%;
            max-width: 58%;
            min-width: 200px;
            border-radius: 12px;
            border: 1px solid #e0e0e0;
            background: #ffffff;
            overflow: hidden;
            box-sizing: border-box;
        }

        @media (max-width: 360px) {
            #modal-module-training .module-training-split-cta {
                max-width: 100%;
            }
        }

        #modal-module-training .module-training-split-left {
            flex: 1 1 auto;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 0.65rem 0.75rem;
            font-size: 0.875rem;
            font-weight: 400;
            color: #999999;
            user-select: none;
            pointer-events: none;
        }

        #modal-module-training .module-training-split-divider {
            width: 1px;
            flex-shrink: 0;
            background: #e8e8e8;
            align-self: stretch;
        }

        #modal-module-training .module-training-split-thumb {
            flex: 0 0 auto;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-width: 2.75rem;
            padding: 0 0.65rem;
            border: none;
            background: #ffffff;
            font-size: 1.125rem;
            line-height: 1;
            cursor: pointer;
            transition: background 0.15s ease, opacity 0.15s ease;
        }

        #modal-module-training .module-training-split-thumb:hover:not(:disabled) {
            background: #fafafa;
        }

        #modal-module-training .module-training-split-thumb:active:not(:disabled) {
            opacity: 0.9;
        }

        #modal-module-training .module-training-split-thumb:disabled {
            cursor: default;
            opacity: 0.55;
        }

        #modal-module-training .module-training-count-line {
            margin: 0;
            text-align: center;
            font-size: 0.8125rem;
            font-weight: 400;
            color: #888888;
            line-height: 1.55;
        }

        #modal-module-training .module-training-count-num {
            font-weight: 700;
            color: #4a90e2;
        }

        #modal-module-training .module-training-close-btn {
            font-size: 1.25rem;
            line-height: 1;
            font-weight: 300;
            background: transparent;
            color: #b0b0b0;
            border-radius: 9999px;
            width: 2rem;
            height: 2rem;
            display: flex;
            align-items: center;
            justify-content: center;
            border: none;
            cursor: pointer;
            transition: background 0.15s ease, color 0.15s ease;
        }

        #modal-module-training .module-training-close-btn:hover {
            background: #f5f5f5;
            color: #666666;
        }

        #modal-wallet-manage #recharge-amount-chips {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 0.625rem;
        }

        #modal-wallet-manage .recharge-chip {
            text-align: left;
            border-radius: 12px;
            border: 2px solid #e2e8f0;
            background: #fff;
            padding: 0.875rem 1rem;
            cursor: pointer;
            transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
        }

        #modal-wallet-manage .wallet-section-recharge-title {
            font-size: 0.875rem;
            font-weight: 900;
            color: #0f172a;
        }

        #modal-wallet-manage .recharge-chip:hover {
            border-color: #cbd5e1;
        }

        #modal-wallet-manage .recharge-chip.wallet-modal-chip--active {
            border-color: #6e68e0;
            background: rgba(110, 104, 224, 0.07);
            box-shadow: 0 0 0 1px rgba(110, 104, 224, 0.1);
        }

        #modal-wallet-manage .recharge-chip .recharge-chip-price {
            color: #0f172a;
            font-size: 1.125rem;
            font-weight: 900;
        }

        #modal-wallet-manage .recharge-chip .recharge-chip-desc {
            color: #64748b;
            font-size: 0.75rem;
            font-weight: 700;
            margin-top: 0.35rem;
        }

        #modal-wallet-manage .recharge-chip.wallet-modal-chip--active .recharge-chip-price,
        #modal-wallet-manage .recharge-chip.wallet-modal-chip--active .recharge-chip-desc {
            color: #574fd4;
        }

        #modal-wallet-manage #recharge-custom-yuan {
            border-radius: 12px;
            border: 1px solid #e2e8f0;
            background: #f8fafc;
            width: 100%;
            padding: 0.8rem 1rem;
            font-size: 0.875rem;
            font-weight: 700;
            color: #0f172a;
            outline: none;
        }

        #modal-wallet-manage #recharge-custom-yuan::placeholder {
            color: #94a3b8;
            font-weight: 600;
        }

        #modal-wallet-manage #recharge-custom-yuan:focus {
            border-color: #6e68e0;
            box-shadow: 0 0 0 3px rgba(110, 104, 224, 0.22);
            background: #fff;
        }

        #modal-wallet-manage .wallet-ledger-card {
            border-radius: 12px;
            background: #fff;
            border: 1px solid #e2e8f0;
            box-shadow: 0 2px 10px rgba(15, 23, 42, 0.05);
        }

        #modal-wallet-manage .wallet-ledger-icon-plus {
            background: rgba(34, 197, 94, 0.16);
            color: #15803d;
        }

        #modal-wallet-manage .wallet-ledger-icon-minus {
            background: #e2e8f0;
            color: #475569;
        }

        #modal-wallet-manage .wallet-ledger-amount-plus {
            color: #22c55e;
        }

        #modal-wallet-manage .wallet-ledger-amount-minus {
            color: #0f172a;
        }

        #modal-wallet-manage .wallet-ledger-list-wrap {
            padding: 1rem 1.25rem 1.25rem;
            flex: 1 1 auto;
            min-height: 160px;
            overflow-y: auto;
            min-width: 0;
            display: flex;
            flex-direction: column;
            gap: 0.75rem;
        }

        @media (min-width: 1024px) {
            #modal-wallet-manage .wallet-ledger-list-wrap {
                min-height: 120px;
            }
        }

        /* 线性科技背景 */
        .bg-tech-linear {
            background: linear-gradient(135deg, #f8fafc 0%, #eef2ff 35%, #e0f2fe 70%, #f8fafc 100%);
            position: fixed;
            inset: 0;
            z-index: -1;
        }

        /* 动态流光线条 */
        .tech-flow-line {
            position: absolute;
            background: linear-gradient(90deg, transparent, rgba(59, 130, 246, 0.15), transparent);
            height: 2px;
            width: 150%;
            transform: rotate(-12deg);
            pointer-events: none;
            animation: flow-move 8s infinite linear;
        }

        @keyframes flow-move {
            0% { transform: translateY(-20vh) translateX(-10vw) rotate(-12deg); opacity: 0; }
            20% { opacity: 1; }
            80% { opacity: 1; }
            100% { transform: translateY(120vh) translateX(10vw) rotate(-12deg); opacity: 0; }
        }

        /* 漂浮光晕 */
        .blob {
            position: absolute;
            border-radius: 50%;
            filter: blur(100px);
            mix-blend-mode: multiply;
            opacity: 0.2;
            z-index: -1;
            animation: blob-float 15s infinite ease-in-out;
        }

        @keyframes blob-float {
            0%, 100% { transform: translate(0, 0) scale(1); }
            33% { transform: translate(30px, -50px) scale(1.1); }
            66% { transform: translate(-20px, 20px) scale(0.9); }
        }

        /* 跑马灯动画 */
        .marquee-content {
            display: flex;
            animation: marquee 30s linear infinite;
            white-space: nowrap;
        }

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

        .glass-card {
            background: rgba(255, 255, 255, 0.6);
            backdrop-filter: blur(20px);
            border: 1px solid rgba(255, 255, 255, 0.5);
            box-shadow: 0 8px 32px rgba(31, 38, 135, 0.07);
        }

        .hidden { display: none; }

        /* 上传模板卡片交互效果 */
        #upload-drop-zone {
            cursor: pointer;
            transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background-color 0.18s ease;
        }

        #upload-drop-zone:hover,
        #upload-drop-zone.upload-hover {
            transform: translateY(-2px) scale(1.01);
            box-shadow: 0 18px 45px rgba(79, 70, 229, 0.18);
            border-color: rgba(79, 70, 229, 0.45);
            background-color: rgba(239, 246, 255, 0.9);
        }

        /* 手动填写必填项校验样式 */
        .input-error {
            border-color: #f97373 !important;
            box-shadow: 0 0 0 1px rgba(248, 113, 113, 0.3);
            animation: input-error-pulse 0.4s ease-in-out 2;
        }

        .field-error-text {
            font-size: 11px;
            line-height: 1.4;
            color: #ef4444;
            font-weight: 600;
        }

        @keyframes input-error-pulse {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-1px); }
        }

        @keyframes slide-in-left {
            0% { opacity: 0; transform: translateX(24px); }
            100% { opacity: 1; transform: translateX(0); }
        }

        /* 定位职场坐标：提交加载浮层 — 漫步小人 */
        @keyframes coordinate-walker-drift {
            0%, 100% { transform: translateX(-14px); }
            50% { transform: translateX(14px); }
        }
        @keyframes coordinate-walker-bob {
            0%, 100% { transform: translateY(0) rotate(0deg); }
            50% { transform: translateY(-6px) rotate(-2deg); }
        }
        @keyframes coordinate-walker-leg {
            0%, 100% { transform: rotate(22deg); }
            50% { transform: rotate(-16deg); }
        }
        @keyframes coordinate-walker-arm {
            0%, 100% { transform: rotate(-8deg); }
            50% { transform: rotate(10deg); }
        }
        @keyframes coordinate-page-enter {
            from { opacity: 0; transform: translateY(16px); }
            to { opacity: 1; transform: translateY(0); }
        }

        /* 首页功能卡片：悬浮流光（对应原 group-hover:animate-shimmer） */
        @keyframes home-card-shimmer-move {
            0% { transform: translateX(-100%) skewX(-12deg); }
            100% { transform: translateX(200%) skewX(-12deg); }
        }
        .group:hover .home-card-shimmer {
            animation: home-card-shimmer-move 1.4s ease-in-out infinite;
        }

        /*
         * 首页七大功能卡片：统一高度与「offer 对比选择器」入口卡（同栅格同结构）一致。
         * 在 26rem 基准上整体减少 70rpx（750 稿等效：70 * 100vw / 750），七卡共用同一变量保持一致。
         */
        .home-feature-cards-grid {
            --home-feature-card-height: calc(26rem - 70 * 100vw / 750);
            /* 「标签」二字水平中心点的竖直锚：距卡片内边距底缘 6rem（translateY(50%) 落在该行竖直中心） */
            --home-card-anchor-tags-from-bottom: 6rem;
        }
        .home-feature-cards-grid > button.home-service-card {
            box-sizing: border-box;
            height: var(--home-feature-card-height);
            max-height: var(--home-feature-card-height);
            padding: 2rem;
            /*
             * 仅预留底栏占位即可。若在 padding-bottom 再叠一整段「标签锚点」高度，
             * 在卡片总高被 26rem-70vw/750 收紧时会把 flex 正文区挤没，文案像「消失」。
             */
            padding-bottom: calc(1.5rem + 1px + 1.25rem + 2.5rem + 0.75rem);
        }

        /*
         * 正文区：不得在 flex-1 盒内再减「整段 6rem+」的 padding-bottom，否则总高较矮时
         * 正文可用高度为 0～负值，overflow:hidden 会把文案裁没。
         * 标签仍为 absolute 且 bottom:6rem 不变；正文叠在标签之上（背景透明）以免被挡。
         */
        .home-feature-cards-grid .home-service-card-body {
            position: relative;
            z-index: 35;
            box-sizing: border-box;
        }

        /* 「立即进入」：相对卡片内边距底缘 1.5rem */
        .home-feature-cards-grid .home-service-card-footer {
            position: absolute;
            bottom: 1.5rem;
            left: 2rem;
            right: 2rem;
            z-index: 40;
        }

        /* 职场数据服务七卡：宽度仍由栅格控制；高度在 10rem 上增加 20rpx（750 稿等效：20 * 100vw / 750） */
        #page-workbench .wb-service-card {
            box-sizing: border-box;
            height: calc(10rem + 20 * 100vw / 750);
            max-height: calc(10rem + 20 * 100vw / 750);
            --wb-card-nudge: calc(5 * 100vw / 750);
            --wb-card-nudge-y: calc(2 * 100vw / 750);
            /* 覆盖按钮上 Tailwind `overflow-hidden`，避免下移后的标签在圆角处被裁切 */
            overflow: visible !important;
        }

        /* 图标+标题与文案区整体上移顶内边距 + 2rpx（750 稿） */
        #page-workbench .wb-service-card .wb-service-card-body {
            padding-top: calc(0.875rem + var(--wb-card-nudge-y));
        }

        /* 图标+标题行、文案、标签区：整体右移 5rpx（750 稿） */
        #page-workbench .wb-service-card .wb-service-card-head {
            margin-left: var(--wb-card-nudge);
        }

        #page-workbench .wb-service-card .wb-service-card-intro {
            margin-left: var(--wb-card-nudge);
            font-size: 14px;
            line-height: 1.4;
        }

        #page-workbench .wb-service-card .wb-service-card-title-sub {
            font-size: 12px;
        }

        /*
         * 职场数据服务：标签区固定在底栏「进入」上方、靠左；底栏始终占位，仅「进入」在悬停/聚焦时显现（避免标签随底栏显隐跳动）。
         */
        #page-workbench .wb-service-card .wb-service-card-tags-row {
            box-sizing: border-box;
            min-height: 2.25rem;
            max-height: 2.25rem;
            justify-content: flex-start;
            align-items: flex-start;
            padding-left: calc(0.875rem + 5 * 100vw / 750);
            padding-right: 0.875rem;
            overflow: visible !important;
            padding-top: 0;
            /* 高于底栏，避免 translateY 后与 footer 同 z-20 时被 bg-white/80 盖住 */
            z-index: 30;
            position: relative;
        }

        /* 标签内容仅做视觉下移（不占用布局高度），避免挤压正文导致被裁切 */
        #page-workbench .wb-service-card .wb-service-card-tags-row [data-wb-field='tags'] {
            justify-content: flex-start;
            transform: translateY(calc(var(--wb-card-nudge-y) + 10 * 100vw / 750));
            will-change: transform;
        }

        #page-workbench .wb-service-card .wb-tag-chip {
            display: inline-flex;
            align-items: center;
            padding: 0.125rem 0.375rem;
            border-radius: 0.375rem;
            font-size: 12px;
            font-weight: 400;
            line-height: 1.25;
        }

        #page-workbench .wb-service-card[data-wb-feature='coordinate'] .wb-tag-chip {
            background: rgba(59, 130, 246, 0.2);
            color: #1d4ed8;
        }

        #page-workbench .wb-service-card[data-wb-feature='path'] .wb-tag-chip {
            background: rgba(16, 185, 129, 0.2);
            color: #047857;
        }

        #page-workbench .wb-service-card[data-wb-feature='direction'] .wb-tag-chip {
            background: rgba(217, 70, 239, 0.18);
            color: #a21caf;
        }

        #page-workbench .wb-service-card[data-wb-feature='depth'] .wb-tag-chip {
            background: rgba(99, 102, 241, 0.2);
            color: #4338ca;
        }

        #page-workbench .wb-service-card[data-wb-feature='offer'] .wb-tag-chip {
            background: rgba(244, 63, 94, 0.18);
            color: #be123c;
        }

        #page-workbench .wb-service-card[data-wb-feature='labor'] .wb-tag-chip {
            background: rgba(139, 92, 246, 0.2);
            color: #6d28d9;
        }

        #page-workbench .wb-service-card[data-wb-feature='employer'] .wb-tag-chip {
            background: rgba(249, 115, 22, 0.18);
            color: #c2410c;
        }
        #page-workbench .wb-service-card .wb-service-card-footer {
            display: flex;
            box-sizing: border-box;
            align-items: center;
            justify-content: flex-end;
            min-height: 2.5rem;
            position: relative;
            z-index: 10;
        }
        #page-workbench .wb-service-card .wb-service-card-footer .wb-service-card-footer-inner {
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            transition: opacity 0.2s ease, visibility 0.2s ease;
        }
        #page-workbench .wb-service-card:hover .wb-service-card-footer .wb-service-card-footer-inner,
        #page-workbench .wb-service-card:focus-within .wb-service-card-footer .wb-service-card-footer-inner {
            opacity: 1;
            visibility: visible;
            pointer-events: none;
        }

        /* 文案 / 标签 / 底栏：无额外实底，仅透叠卡片 bg-white/45 */
        .home-feature-cards-grid .home-service-card-body,
        .home-feature-cards-grid .home-service-card-body-inner,
        .home-feature-cards-grid .home-service-card-intro,
        .home-feature-cards-grid .home-service-card-tags,
        .home-feature-cards-grid .home-service-card-footer {
            background: transparent;
            background-color: transparent;
            box-shadow: none;
        }

        /* 首页卡片正文区：统一 14px / 1.45；过长裁切（总高不足时不强制三行 min-height，避免整块被裁没） */
        .home-feature-cards-grid .home-service-card-body-inner {
            font-size: 14px;
            line-height: 1.45;
            transform-origin: top left;
            overflow: hidden;
            min-height: 0;
        }
        .home-feature-cards-grid .home-service-card-intro {
            line-height: 1.45;
            min-height: 0;
        }
        /*
         * 标签行：七卡统一 bottom；translateY(50%) 使首行（含「标签」）行盒竖直中心落在锚点；
         * justify-content:flex-start + 同 left 边距 → 同行各卡「标签」二字水平中心横向对齐。
         */
        .home-feature-cards-grid .home-service-card-tags {
            position: absolute;
            left: 2rem;
            right: 2rem;
            bottom: var(--home-card-anchor-tags-from-bottom);
            z-index: 30;
            transform: translateY(50%);
            transform-origin: center center;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: flex-start;
            gap: 0.25rem 0.375rem;
            box-sizing: border-box;
            font-size: 14px;
            line-height: 1.45;
        }
        .home-feature-cards-grid .home-service-card-tags .home-tags-label {
            font-size: 0.92em;
        }
        .home-feature-cards-grid .home-service-card-tags .home-tag-chip {
            font-size: 0.82em;
        }
        .coordinate-walker-drift {
            animation: coordinate-walker-drift 2.3s ease-in-out infinite;
        }
        .coordinate-walker-bob {
            transform-origin: 50px 48px;
            animation: coordinate-walker-bob 0.52s ease-in-out infinite;
        }
        #coordinate-walker-leg-l {
            transform-origin: 46px 66px;
            animation: coordinate-walker-leg 0.52s ease-in-out infinite;
        }
        #coordinate-walker-leg-r {
            transform-origin: 54px 66px;
            animation: coordinate-walker-leg 0.52s ease-in-out infinite reverse;
        }
        #coordinate-walker-arm-l {
            transform-origin: 41px 45px;
            animation: coordinate-walker-arm 0.52s ease-in-out infinite reverse;
        }

        /* 职场空间欢迎区：深蓝—青绿渐变 + 底部光晕 + SVG 点线网络（无位图）
         * 内边距在原有 calc(3rem|4rem - 20px) 基础上再减 20rpx（上下各 10rpx）。 */
        #page-workbench .workbench-welcome-bg {
            position: relative;
            overflow: hidden;
            box-shadow: 0 20px 60px -24px rgba(15, 23, 42, 0.65);
        }
        #page-workbench .workbench-welcome-bg .wb-welcome-inner {
            box-sizing: border-box;
            padding-top: calc(3rem - 20px - 10 * 100vw / 750);
            padding-bottom: calc(3rem - 20px - 10 * 100vw / 750);
        }
        @media (min-width: 768px) {
            #page-workbench .workbench-welcome-bg .wb-welcome-inner {
                padding-top: calc(4rem - 20px - 10 * 100vw / 750);
                padding-bottom: calc(4rem - 20px - 10 * 100vw / 750);
            }
        }
        #page-workbench .wb-w-bg-base {
            position: absolute;
            inset: 0;
            background:
                radial-gradient(ellipse 90% 100% at 50% 115%, rgba(34, 211, 238, 0.48), transparent 54%),
                radial-gradient(ellipse 75% 85% at 50% 38%, rgba(6, 182, 212, 0.42), transparent 62%),
                radial-gradient(ellipse 50% 60% at 72% 55%, rgba(59, 130, 246, 0.22), transparent 55%),
                linear-gradient(93deg, #020617 0%, #0a1628 12%, #0c4a6e 32%, #22d3ee 50%, #0e7490 70%, #082f49 88%, #020617 100%);
        }
        #page-workbench .wb-w-bg-mist {
            position: absolute;
            inset: 0;
            pointer-events: none;
            background:
                radial-gradient(ellipse 130% 100% at 22% 58%, rgba(148, 163, 184, 0.16), transparent 58%),
                radial-gradient(ellipse 100% 90% at 82% 32%, rgba(56, 189, 248, 0.14), transparent 52%);
            mix-blend-mode: screen;
            opacity: 0.7;
        }
        #page-workbench .wb-w-bg-vignette {
            position: absolute;
            inset: 0;
            pointer-events: none;
            background: linear-gradient(180deg, rgba(2, 6, 23, 0.45) 0%, transparent 38%, rgba(15, 23, 42, 0.35) 100%);
        }
        #page-workbench .wb-w-plexus {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            opacity: 0.44;
            pointer-events: none;
        }
        #page-workbench .wb-w-shimmer {
            position: absolute;
            inset: 0;
            pointer-events: none;
            background: linear-gradient(105deg, transparent 0%, rgba(255, 255, 255, 0.06) 45%, transparent 90%);
            transform: translateX(-30%) skewX(-12deg);
            width: 160%;
        }
        @keyframes workbench-star-bounce {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-4px); }
        }
        #page-workbench .workbench-star-bounce {
            animation: workbench-star-bounce 2s infinite ease-in-out;
        }
        #page-workbench .wb-profile-skills-scroll::-webkit-scrollbar { display: none; }
        #page-workbench .wb-profile-skills-scroll {
            -ms-overflow-style: none;
            scrollbar-width: none;
        }
        #workbench-profile-list.wb-profile-list-scroll {
            -ms-overflow-style: none;
            scrollbar-width: none;
        }
        #workbench-profile-list.wb-profile-list-scroll::-webkit-scrollbar {
            display: none;
        }

        /*
         * 职场画像卡片（#workbench-profile-list 直接子元素）
         *
         * 与「核心发现」卡片无直接 DOM/CSS 耦合；若曾在改报告页后执行 npm run build:css，
         * Tailwind 会整表重生成 assets/tailwind.css。画像卡片原先依赖的
         * w-[calc(36rem-100vw*50/750)] 等类写在 js 字符串里且含 *，JIT 常扫不进产物，
         * 于是表现为「一改报告、画像就塌」。此处用原生 CSS 固定尺寸，不依赖 tailwind 是否编出该类。
         *
         * 选择器挂在 #workbench-profile-list 上（卡片真实挂载点），不依赖 #page-workbench 祖先。
         */
        #workbench-profile-list > .wb-profile-card {
            box-sizing: border-box;
            position: relative;
            flex: 0 0 auto;
            flex-shrink: 0;
            scroll-snap-align: start;
            max-width: none;
            width: calc(36rem - 100vw * 50 / 750);
            min-width: calc(36rem - 100vw * 50 / 750);
            height: auto;
            transition:
                border-color 0.3s ease,
                box-shadow 0.3s ease;
        }
        /* 桌面：用 min-height 保底高度，允许随内容增高，避免固定 height + stretch 把右侧操作栏撑出竖向滚动条 */
        @media (min-width: 768px) {
            #workbench-profile-list > .wb-profile-card {
                height: auto;
                min-height: calc(20rem - 100vw * 100 / 750);
            }
        }
        #workbench-profile-list > .wb-profile-card:hover {
            border-color: rgb(96 165 250);
            box-shadow: 0 20px 50px -12px rgba(37, 99, 235, 0.1);
        }
        #workbench-profile-list > .wb-profile-card > div:first-child {
            width: 100%;
            box-sizing: border-box;
        }
        @media (min-width: 768px) {
            #workbench-profile-list > .wb-profile-card > div:first-child {
                width: calc(11.25rem - 100vw * 25 / 750);
                flex-shrink: 0;
            }
        }
        #workbench-profile-list > .wb-profile-card > div:nth-child(2) {
            box-sizing: border-box;
            flex: 1 1 0%;
            min-width: 0;
            min-height: 0;
            padding-left: calc(1.5rem - 100vw * 7.5 / 750);
            padding-right: calc(1.5rem - 100vw * 7.5 / 750);
        }
        @media (min-width: 768px) {
            #workbench-profile-list > .wb-profile-card > div:nth-child(2) {
                padding-left: calc(1.75rem - 100vw * 7.5 / 750);
                padding-right: calc(1.75rem - 100vw * 7.5 / 750);
            }
        }
        #workbench-profile-list > .wb-profile-card div.grid.grid-cols-2 {
            column-gap: calc(1.5rem - 100vw * 30 / 750);
        }
        @media (min-width: 768px) {
            #workbench-profile-list > .wb-profile-card div.grid.grid-cols-2 {
                column-gap: calc(2rem - 100vw * 30 / 750);
            }
        }
        #workbench-profile-list > .wb-profile-card > div:last-child {
            width: 100%;
            box-sizing: border-box;
            overflow: hidden;
            display: flex;
            flex-direction: row;
            align-items: center;
            justify-content: center;
        }
        @media (min-width: 768px) {
            #workbench-profile-list > .wb-profile-card > div:last-child {
                width: 80px;
                min-width: 80px;
                flex-shrink: 0;
                flex-direction: column;
                align-self: stretch;
                overflow-x: hidden;
                overflow-y: hidden;
            }
        }

        /* 导航星币首登赠送提示 */
        #nav-user-menu-wrap #nav-welcome-starcoin-tip {
            position: absolute;
            right: -2px;
            top: calc(100% + 8px);
            width: min(268px, calc(100vw - 24px));
            min-height: 64px;
            padding: 14px 32px 14px 12px;
            border-radius: 12px;
            background: linear-gradient(135deg, #fff7e6 0%, #fffaf1 100%);
            border: 1px solid rgba(251, 146, 60, 0.36);
            box-shadow: 0 10px 26px rgba(251, 146, 60, 0.18);
            color: #9a3412;
            z-index: 245;
        }
        #nav-user-menu-wrap #nav-welcome-starcoin-tip::before {
            content: '';
            position: absolute;
            top: -7px;
            right: 20px;
            width: 12px;
            height: 12px;
            transform: rotate(45deg);
            background: #fff8ea;
            border-left: 1px solid rgba(251, 146, 60, 0.36);
            border-top: 1px solid rgba(251, 146, 60, 0.36);
        }
        #nav-user-menu-wrap #nav-welcome-starcoin-tip p {
            margin: 0;
            font-size: 12px;
            line-height: 1.45;
            font-weight: 700;
        }
        #nav-user-menu-wrap #nav-welcome-starcoin-tip-close {
            position: absolute;
            top: 5px;
            right: 6px;
            width: 20px;
            height: 20px;
            border: 0;
            border-radius: 999px;
            background: transparent;
            color: #c2410c;
            font-size: 16px;
            line-height: 1;
            cursor: pointer;
            padding: 0;
        }
        #nav-user-menu-wrap #nav-welcome-starcoin-tip-close:hover {
            background: rgba(194, 65, 12, 0.1);
        }

        /* 全局悬浮反馈按钮 */
        #feedback-float-btn {
            position: fixed;
            right: max(14px, env(safe-area-inset-right));
            bottom: max(calc(18px + 100vw * 40 / 750), env(safe-area-inset-bottom));
            z-index: 165;
            width: 50px;
            height: 50px;
            border: 0;
            background: transparent;
            padding: 0;
            cursor: pointer;
            transition: transform 0.2s ease, filter 0.2s ease;
            -webkit-tap-highlight-color: transparent;
            animation: feedback-float-bounce 2.2s ease-in-out infinite;
        }
        @keyframes feedback-float-bounce {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-4px); }
        }
        #feedback-float-btn .feedback-float-btn-shadow {
            position: absolute;
            left: 50%;
            bottom: -3px;
            width: 70%;
            height: 20%;
            transform: translateX(-50%);
            border-radius: 999px;
            background: radial-gradient(ellipse at center, rgba(7, 39, 100, 0.44) 0%, rgba(7, 39, 100, 0.14) 62%, rgba(7, 39, 100, 0) 100%);
            filter: blur(2px);
            pointer-events: none;
        }
        #feedback-float-btn .feedback-float-btn-disc {
            position: relative;
            display: block;
            width: 100%;
            height: 100%;
            border-radius: 999px;
            background: transparent;
            box-shadow:
                0 10px 16px rgba(9, 70, 150, 0.24),
                0 4px 8px rgba(9, 70, 150, 0.2);
            overflow: hidden;
        }
        #feedback-float-btn .feedback-float-btn-disc img {
            width: 100%;
            height: 100%;
            object-fit: contain;
            display: block;
            transform: translateY(-1px);
            filter:
                drop-shadow(0 2px 3px rgba(7, 54, 125, 0.26));
        }
        #feedback-float-btn:hover {
            animation-play-state: paused;
            transform: translateY(-2px) scale(1.03);
            filter: saturate(1.04);
        }
        #feedback-float-btn:active {
            animation-play-state: paused;
            transform: translateY(0) scale(0.97);
        }
        #feedback-float-btn:focus-visible {
            outline: none;
            box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.3);
        }
        #feedback-float-btn.feedback-float-hidden-during-switch {
            opacity: 0;
            pointer-events: none;
        }
        /* 反馈弹窗（按设计图复刻） */
        #modal-feedback .feedback-modal-overlay {
            background: rgba(15, 23, 42, 0.62);
            backdrop-filter: blur(2px);
        }
        #modal-feedback .feedback-modal-panel {
            width: min(527px, calc(100vw - 16px));
            max-height: min(631px, calc(100vh - 16px));
            border-radius: 24px;
            background: #fff;
            border: 1px solid #e8edf5;
            box-shadow: 0 24px 52px rgba(17, 24, 39, 0.22);
            display: grid;
            grid-template-rows: 92px minmax(0, 1fr) 92px;
            overflow: hidden;
        }
        #modal-feedback .feedback-modal-header {
            height: 92px;
            padding: 0 34px;
            border-bottom: 1px solid #edf1f7;
            display: flex;
            align-items: center;
            justify-content: space-between;
        }
        #modal-feedback .feedback-modal-header-left {
            display: flex;
            align-items: center;
            gap: 12px;
        }
        #modal-feedback .feedback-modal-header-icon {
            width: 26px;
            height: 26px;
            color: #1e6bff;
            display: inline-flex;
        }
        #modal-feedback .feedback-modal-header-icon svg {
            width: 100%;
            height: 100%;
        }
        #modal-feedback #feedback-modal-title {
            margin: 0;
            font-size: 42px;
            line-height: 1;
            font-weight: 700;
            color: #0f274f;
            letter-spacing: -0.01em;
        }
        #modal-feedback .feedback-modal-close {
            width: 34px;
            height: 34px;
            border: 0;
            border-radius: 999px;
            background: transparent;
            color: #95a3b9;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
        }
        #modal-feedback .feedback-modal-close:hover {
            background: #f4f7fb;
            color: #73839d;
        }
        #modal-feedback .feedback-modal-close svg {
            width: 24px;
            height: 24px;
        }
        #modal-feedback .feedback-modal-scroll {
            padding: 24px 34px;
            overflow-y: auto;
        }
        #modal-feedback .feedback-modal-scroll::-webkit-scrollbar {
            width: 8px;
        }
        #modal-feedback .feedback-modal-scroll::-webkit-scrollbar-thumb {
            background: #b9c4d6;
            border-radius: 999px;
        }
        #modal-feedback .feedback-form-group {
            margin-bottom: 24px;
        }
        #modal-feedback .feedback-label {
            display: block;
            margin-bottom: 12px;
            font-size: 40px;
            line-height: 1;
            font-weight: 500;
            color: #243b63;
        }
        #modal-feedback .feedback-label em {
            color: #f44336;
            font-style: normal;
        }
        #modal-feedback .feedback-select-wrap {
            position: relative;
        }
        #modal-feedback .feedback-select-wrap::after {
            content: "";
            position: absolute;
            right: 22px;
            top: 50%;
            width: 11px;
            height: 11px;
            border-right: 2px solid #6e809d;
            border-bottom: 2px solid #6e809d;
            transform: translateY(-62%) rotate(45deg);
            pointer-events: none;
        }
        #modal-feedback .feedback-select {
            width: 100%;
            height: 64px;
            border: 1px solid #d6dfeb;
            border-radius: 13px;
            background: #fff;
            color: #304968;
            font-size: 42px;
            line-height: 1;
            padding: 0 56px 0 20px;
            appearance: none;
            outline: none;
        }
        #modal-feedback .feedback-textarea {
            width: 100%;
            min-height: calc(182px + 100vw * 20 / 750);
            border: 1px solid #d6dfeb;
            border-radius: 13px;
            background: #fff;
            color: #304968;
            font-size: 15px;
            line-height: 1.32;
            padding: 18px 20px;
            resize: vertical;
            outline: none;
        }
        #modal-feedback .feedback-select:focus,
        #modal-feedback .feedback-textarea:focus {
            border-color: #5f90ff;
            box-shadow: 0 0 0 3px rgba(95, 144, 255, 0.12);
        }
        #modal-feedback .feedback-select option:first-child,
        #modal-feedback .feedback-textarea::placeholder {
            color: #a4b2c8;
        }
        #modal-feedback .feedback-service-title {
            display: flex;
            align-items: center;
            gap: 16px;
            margin: 10px 0 20px;
            color: #667f9f;
            font-size: 36px;
            line-height: 1;
        }
        #modal-feedback .feedback-service-title::before,
        #modal-feedback .feedback-service-title::after {
            content: "";
            flex: 1;
            height: 1px;
            background: #e2e9f3;
        }
        #modal-feedback .feedback-service-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 32px;
            padding: 4px 14px 0;
        }
        #modal-feedback .feedback-service-item {
            text-align: center;
        }
        #modal-feedback .feedback-service-item p {
            margin: 12px 0 0;
            font-size: 40px;
            line-height: 1;
            color: #2a4267;
        }
        #modal-feedback .feedback-qr-wrap {
            width: 170px;
            height: 170px;
            margin: 0 auto;
            border: 1px solid #e6edf6;
            border-radius: 14px;
            background: #fff;
            box-shadow: 0 2px 8px rgba(31, 52, 88, 0.1);
            padding: 10px;
            box-sizing: border-box;
        }
        #modal-feedback .feedback-qr-img {
            width: 100%;
            height: 100%;
            object-fit: contain;
            display: block;
        }
        #modal-feedback .feedback-modal-footer {
            border-top: 1px solid #edf1f7;
            padding: 18px 34px;
            display: flex;
            justify-content: flex-end;
            gap: 14px;
            align-items: center;
        }
        #modal-feedback .feedback-btn {
            height: 50px;
            min-width: 136px;
            border-radius: 12px;
            font-size: 37px;
            line-height: 1;
            font-weight: 500;
            border: 1px solid transparent;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            cursor: pointer;
        }
        #modal-feedback .feedback-btn-cancel {
            background: #fff;
            border-color: #d3ddec;
            color: #28486f;
        }
        #modal-feedback .feedback-btn-submit {
            background: #1f68ff;
            color: #fff;
        }
        #modal-feedback .feedback-btn-submit svg {
            width: 16px;
            height: 16px;
        }
        #modal-feedback .feedback-btn-cancel:hover {
            background: #f6f9fd;
        }
        #modal-feedback .feedback-btn-submit:hover {
            background: #1a5ee8;
        }
        @media (max-width: 900px) {
            #modal-feedback .feedback-modal-panel {
                width: calc(100vw - 16px);
                max-height: calc(100vh - 16px);
                grid-template-rows: 72px minmax(0, 1fr) 76px;
                border-radius: 18px;
            }
            #modal-feedback .feedback-modal-header,
            #modal-feedback .feedback-modal-scroll,
            #modal-feedback .feedback-modal-footer {
                padding-left: 16px;
                padding-right: 16px;
            }
            #modal-feedback #feedback-modal-title,
            #modal-feedback .feedback-label,
            #modal-feedback .feedback-select,
            #modal-feedback .feedback-textarea,
            #modal-feedback .feedback-service-title,
            #modal-feedback .feedback-service-item p,
            #modal-feedback .feedback-btn {
                font-size: 16px;
            }
            #modal-feedback .feedback-select {
                height: 48px;
            }
            #modal-feedback .feedback-textarea {
                min-height: calc(126px + 100vw * 20 / 750);
            }
            #modal-feedback .feedback-service-grid {
                gap: 14px;
                padding: 0;
            }
            #modal-feedback .feedback-qr-wrap {
                width: 118px;
                height: 118px;
            }
            #modal-feedback .feedback-btn {
                min-width: calc(96px - 100vw * 4 / 750);
                height: calc(42px - 100vw * 2 / 750);
            }
        }
        /* 反馈弹窗文字继续整体缩小 */
        #modal-feedback #feedback-modal-title {
            font-size: 16px;
        }
        #modal-feedback .feedback-label {
            font-size: 15px;
        }
        #modal-feedback .feedback-select {
            font-size: 14px;
            height: calc(64px - 100vw * 8 / 750);
        }
        #modal-feedback .feedback-textarea {
            font-size: 15px;
            min-height: calc(182px + 100vw * 20 / 750);
        }
        #modal-feedback .feedback-service-title {
            font-size: 12px;
        }
        #modal-feedback .feedback-service-item p {
            font-size: 13px;
        }
        #modal-feedback .feedback-btn {
            font-size: 15px;
            height: calc(50px - 100vw * 4 / 750);
            min-width: calc(136px - 100vw * 7 / 750);
        }
        #modal-feedback .feedback-textarea::placeholder {
            font-size: 15px;
        }
        #modal-feedback .feedback-desc-counter {
            margin: 6px 2px 0 0;
            text-align: right;
            color: #94a3b8;
            font-size: 12px;
            line-height: 1;
            user-select: none;
        }
        #modal-feedback .feedback-qr-wrap {
            width: 113px;
            height: 113px;
        }
        @media (max-width: 900px) {
            #modal-feedback #feedback-modal-title,
            #modal-feedback .feedback-label,
            #modal-feedback .feedback-select,
            #modal-feedback .feedback-textarea,
            #modal-feedback .feedback-service-title,
            #modal-feedback .feedback-service-item p,
            #modal-feedback .feedback-btn {
                font-size: 7px;
            }
            #modal-feedback .feedback-textarea::placeholder {
                font-size: 7px;
            }
            #modal-feedback .feedback-qr-wrap {
                width: 79px;
                height: 79px;
            }
            #modal-feedback .feedback-desc-counter {
                font-size: 7px;
            }
        }

        /* —— 我的邀请码弹窗（设计稿） —— */
        #modal-invite-code .invite-modal-overlay {
            background: rgba(15, 23, 42, 0.45);
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
        }
        #modal-invite-code .invite-modal-panel {
            width: 100%;
            max-width: calc(420px + 60 * 100vw / 750);
            max-height: min(85vh, 640px);
            border-radius: 20px;
            background: #ffffff;
            box-shadow: 0 16px 48px rgba(15, 23, 42, 0.14);
            display: flex;
            flex-direction: column;
            position: relative;
            overflow: hidden;
            font-family: ui-sans-serif, system-ui, -apple-system, 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', sans-serif;
        }
        #modal-invite-code .invite-modal-gradient-bar {
            position: absolute;
            left: 0;
            right: 0;
            bottom: 0;
            height: 4px;
            background: linear-gradient(90deg, #2e5bff 0%, #8b5cf6 100%);
            pointer-events: none;
            z-index: 2;
        }
        #modal-invite-code .invite-modal-close {
            position: absolute;
            top: 14px;
            right: 14px;
            z-index: 3;
            width: 36px;
            height: 36px;
            display: flex;
            align-items: center;
            justify-content: center;
            border: none;
            border-radius: 10px;
            background: transparent;
            color: #b0b8c4;
            cursor: pointer;
            transition: color 0.15s ease, background 0.15s ease;
        }
        #modal-invite-code .invite-modal-close:hover {
            color: #64748b;
            background: rgba(148, 163, 184, 0.12);
        }
        #modal-invite-code .invite-modal-header {
            flex-shrink: 0;
            text-align: center;
            padding: 22px 48px 14px 48px;
        }
        #modal-invite-code #invite-modal-title {
            margin: 0;
            font-size: 18px;
            font-weight: 800;
            color: #1a1a1a;
            letter-spacing: 0.02em;
            line-height: 1.3;
        }
        #modal-invite-code .invite-modal-subtitle {
            margin: 8px 0 0 0;
            font-size: 13px;
            font-weight: 400;
            color: #999999;
            line-height: 1.45;
        }
        #modal-invite-code .invite-modal-divider {
            height: 1px;
            margin: 0 18px;
            background: #eeeeee;
            flex-shrink: 0;
        }
        #modal-invite-code .invite-modal-body {
            flex: 1;
            min-height: 0;
            overflow-y: auto;
            padding: 16px 18px 22px;
            -webkit-overflow-scrolling: touch;
        }
        #modal-invite-code .invite-code-card {
            background: #f0f4ff;
            border-radius: 14px;
            padding: 14px 16px 16px;
            margin-bottom: 14px;
        }
        #modal-invite-code .invite-code-card-label {
            font-size: 12px;
            font-weight: 400;
            color: #333333;
            margin-bottom: 10px;
        }
        #modal-invite-code .invite-code-card-row {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
        }
        #modal-invite-code .invite-code-display {
            flex: 1;
            min-width: 0;
            font-size: 25px;
            font-weight: 800;
            letter-spacing: 0.06em;
            color: #2e5bff;
            font-family: ui-monospace, 'SF Mono', Consolas, monospace;
            line-height: 1.2;
            word-break: break-all;
        }
        #modal-invite-code .invite-code-copy-btn {
            flex-shrink: 0;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 6px;
            padding: 7px 13px;
            border: none;
            border-radius: 9px;
            background: #2e5bff;
            color: #ffffff;
            font-size: 13px;
            font-weight: 700;
            cursor: pointer;
            box-shadow: 0 4px 12px rgba(46, 91, 255, 0.35);
            transition: filter 0.15s ease, transform 0.1s ease;
        }
        #modal-invite-code .invite-code-copy-btn:hover {
            filter: brightness(1.05);
        }
        #modal-invite-code .invite-code-copy-btn:active {
            transform: scale(0.98);
        }
        #modal-invite-code .invite-code-copy-ico {
            width: 14px;
            height: 14px;
            flex-shrink: 0;
        }
        #modal-invite-code .invite-activity-card {
            background: #f5f6f8;
            border-radius: 14px;
            padding: 14px 16px 16px;
            margin-bottom: 16px;
        }
        #modal-invite-code .invite-activity-card-head {
            display: flex;
            align-items: center;
            gap: 10px;
            margin-bottom: 10px;
        }
        #modal-invite-code .invite-gift-icon-wrap {
            width: 36px;
            height: 36px;
            border-radius: 10px;
            background: #fff5e6;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }
        #modal-invite-code .invite-gift-svg {
            width: 22px;
            height: 22px;
            color: #ff8c00;
        }
        #modal-invite-code .invite-activity-title {
            font-size: 15px;
            font-weight: 800;
            color: #333333;
        }
        #modal-invite-code .invite-activity-intro {
            margin: 0 0 8px 0;
            font-size: 14px;
            color: #333333;
            line-height: 1.55;
        }
        #modal-invite-code .invite-activity-rules {
            margin: 0;
            padding: 0;
            list-style: none;
            counter-reset: invite-rule;
        }
        #modal-invite-code .invite-activity-rules li {
            counter-increment: invite-rule;
            position: relative;
            padding-left: 1.5em;
            margin-bottom: 8px;
            font-size: 14px;
            line-height: 1.55;
            color: #333333;
        }
        #modal-invite-code .invite-activity-rules li:last-child {
            margin-bottom: 0;
        }
        #modal-invite-code .invite-activity-rules li::before {
            content: counter(invite-rule) '.';
            position: absolute;
            left: 0;
            top: 0;
            font-weight: 800;
            color: #ff8c00;
        }
        #modal-invite-code .invite-rule-em {
            font-weight: 800;
            color: #ff8c00;
        }
        #modal-invite-code .invite-success-section {
            margin-bottom: 4px;
        }
        #modal-invite-code .invite-success-head {
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            gap: 8px;
            margin-bottom: 12px;
        }
        #modal-invite-code .invite-people-icon {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 28px;
            height: 28px;
            color: #2e5bff;
            flex-shrink: 0;
        }
        #modal-invite-code .invite-people-icon svg {
            width: 26px;
            height: 26px;
        }
        #modal-invite-code .invite-success-title {
            margin: 0;
            flex: 1;
            min-width: 0;
            font-size: 15px;
            font-weight: 800;
            color: #333333;
        }
        #modal-invite-code .invite-total-badge {
            margin-left: auto;
            padding: 5px 12px;
            border-radius: 999px;
            border: 1px solid rgba(255, 140, 0, 0.45);
            background: #fff5e6;
            font-size: 12px;
            font-weight: 700;
            color: #ff8c00;
            white-space: nowrap;
        }
        #modal-invite-code .invite-success-scroll {
            max-height: 220px;
            overflow-y: auto;
            padding-right: 2px;
        }
        #modal-invite-code .invite-success-scroll::-webkit-scrollbar {
            width: 5px;
        }
        #modal-invite-code .invite-success-scroll::-webkit-scrollbar-thumb {
            background: rgba(148, 163, 184, 0.45);
            border-radius: 4px;
        }
        #modal-invite-code .invite-success-list {
            list-style: none;
            margin: 0;
            padding: 0;
            display: flex;
            flex-direction: column;
            gap: 10px;
        }
        #modal-invite-code .invite-success-item {
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 12px 14px;
            border: 1px solid #ebebeb;
            border-radius: 12px;
            background: #ffffff;
        }
        #modal-invite-code .invite-item-avatar {
            width: 40px;
            height: 40px;
            border-radius: 999px;
            background: #dbeafe;
            color: #2563eb;
            font-size: 17px;
            font-weight: 800;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }
        #modal-invite-code .invite-item-meta {
            flex: 1;
            min-width: 0;
        }
        #modal-invite-code .invite-item-name {
            font-size: 15px;
            font-weight: 700;
            color: #333333;
            line-height: 1.25;
        }
        #modal-invite-code .invite-item-time {
            margin-top: 3px;
            font-size: 12px;
            color: #999999;
        }
        #modal-invite-code .invite-item-reward {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            flex-shrink: 0;
            font-size: 16px;
            font-weight: 800;
            color: #ff8c00;
        }
        #modal-invite-code .invite-coin-ico {
            width: 18px;
            height: 18px;
            flex-shrink: 0;
        }
        #modal-invite-code .invite-success-empty {
            text-align: center;
            font-size: 13px;
            color: #999999;
            padding: 20px 8px;
            margin: 0;
        }
        #modal-invite-code .invite-modal-dev-hint {
            margin: 12px 0 0 0;
            font-size: 11px;
            line-height: 1.45;
            color: #94a3b8;
        }
        .xingtu-toast {
            position: fixed;
            left: 50%;
            bottom: 28px;
            transform: translateX(-50%);
            z-index: 400;
            max-width: min(90vw, 360px);
            padding: 11px 20px;
            border-radius: 10px;
            background: rgba(30, 41, 59, 0.92);
            color: #f8fafc;
            font-size: 14px;
            font-weight: 600;
            text-align: center;
            box-shadow: 0 10px 30px rgba(15, 23, 42, 0.25);
            pointer-events: none;
        }

        /* 路径模拟分析报告 */
        #page-report .report-section-title,
        #page-workbench .report-section-title {
            font-weight: 900;
            letter-spacing: -0.02em;
        }
        #page-report .report-step-node {
            transition: transform 0.15s ease, box-shadow 0.15s ease;
        }
        #page-report .report-step-node.active {
            box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.35);
        }
        #page-report .report-slot {
            min-height: 3.5rem;
            border: 1px dashed rgba(148, 163, 184, 0.6);
            border-radius: 1rem;
            background: rgba(248, 250, 252, 0.6);
        }
        #page-report .report-salary-row .report-salary-bar-fill {
            background: linear-gradient(90deg, #c7d2fe 0%, #a5b4fc 100%);
            transition: transform 0.16s ease, box-shadow 0.16s ease, filter 0.16s ease, background 0.16s ease;
            transform-origin: left center;
        }
        #page-report #report-salary-level-list:hover .report-salary-row .report-salary-bar-fill {
            filter: saturate(0.85) brightness(0.96);
        }
        #page-report #report-salary-level-list .report-salary-row:hover .report-salary-bar-fill {
            background: linear-gradient(90deg, #4f46e5 0%, #6366f1 100%);
            transform: scaleY(1.08);
            box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.18), 0 6px 14px rgba(79, 70, 229, 0.25);
            filter: saturate(1.12) brightness(1.03);
        }
        #page-report .report-city-user-row {
            background: rgba(59, 130, 246, 0.18) !important;
            transition: transform 0.14s ease, box-shadow 0.14s ease, background-color 0.14s ease;
        }
        #page-report .report-city-user-row td {
            color: #1d4ed8 !important;
            font-weight: 800;
            font-size: 15px;
        }
        #page-report .report-city-user-row:hover {
            transform: translateY(-1px);
            box-shadow: 0 10px 24px rgba(37, 99, 235, 0.2);
            background: rgba(59, 130, 246, 0.24) !important;
        }
        /* 目标岗位环境总览：表格与数据说明间距 750 稿 10rpx（较原 20rpx 上移 10rpx）；数据说明与分析总结仍为 20rpx */
        #page-report .report-env-overview-data-note {
            margin-top: calc(10 * 100vw / 750);
        }
        /* 分析总结块：较原 20rpx 再上移 5rpx */
        #page-report .report-env-overview-summary-box {
            margin-top: calc(15 * 100vw / 750);
        }
        /* 目标岗位城市分布 / 城市薪酬等级：数据说明与上下内容各 5rpx */
        #page-report .report-city-data-note,
        #page-report .report-salary-data-note,
        #page-report .report-target-map-data-note {
            margin-top: calc(5 * 100vw / 750);
            margin-bottom: calc(5 * 100vw / 750);
        }
        #page-report #report-env-overview-table {
            table-layout: auto;
        }
        #page-report #report-env-overview-table td.report-env-dist-cell {
            min-width: 11rem;
            width: max-content;
            max-width: min(36rem, 90vw);
            line-height: 1.55;
            word-break: break-word;
            overflow-wrap: anywhere;
            font-variant-numeric: normal;
            white-space: pre-line !important;
        }
        #page-report #report-env-overview-table thead .report-env-user-col {
            background: rgba(59, 130, 246, 0.12) !important;
            color: #3b82f6 !important;
            font-weight: 800;
        }
        #page-report #report-env-overview-table tbody .report-env-user-col {
            background: rgba(59, 130, 246, 0.07) !important;
            color: #60a5fa !important;
            font-weight: 700;
        }

        /*
         * 岗位匹配分析卡片（一至三阶段路径共用）
         * - 外层 .report-path-phase-job-card-host 为挂载点（无圆角/边框）；真实卡片为 .report-job-match-card
         * - 预编译 tailwind 常不含 rounded-[24px]、任意 shadow/border，故在此写死外观
         */
        #page-report .report-job-match-card {
            box-sizing: border-box;
            width: 100%;
            max-width: 1024px;
            margin-left: auto;
            margin-right: auto;
            background: #fff;
            color: #0f172a;
            border: 1px solid #e2e8f0;
            border-radius: 24px;
            box-shadow: 0 20px 25px rgba(0, 0, 0, 0.1);
            overflow: hidden;
        }
        /* 一阶段增高：加在侧栏/主栏内边距上，避免外侧 padding 露出整宽白条；左侧渐变随侧栏变高 */
        #page-report .report-path-phase-job-card-host .report-job-match-card {
            padding-top: 0;
            padding-bottom: 0;
        }
        @media (max-width: 767px) {
            #page-report .report-path-phase-job-card-host .report-job-match-sidebar {
                /* 减去 9rpx：环/双格/标题块等纵向微调净增高相抵，保持卡片总高 */
                padding-top: calc(0.75rem + max(6px, calc(100vw * 12 / 750)) - 100vw * 9 / 750);
            }
            #page-report .report-path-phase-job-card-host .report-job-match-main {
                /* 从下侧收留白（累计 15rpx：含审计网格上内边距 5rpx 的高度补偿），内容不动 */
                padding-bottom: calc(1rem + max(10px, calc(100vw * 28 / 750)) - 100vw * 15 / 750);
            }
        }
        @media (min-width: 768px) {
            #page-report .report-path-phase-job-card-host .report-job-match-sidebar {
                padding-top: calc(0.85rem + max(6px, calc(100vw * 12 / 750)) - 100vw * 3.5 / 750);
                padding-bottom: calc(0.85rem + max(10px, calc(100vw * 28 / 750)) - 100vw * 3.5 / 750 - 100vw * 15 / 750);
            }
            #page-report .report-path-phase-job-card-host .report-job-match-main {
                padding-top: calc(1.25rem + max(6px, calc(100vw * 12 / 750)) - 100vw * 3.5 / 750);
                padding-bottom: calc(1.25rem + max(10px, calc(100vw * 28 / 750)) - 100vw * 3.5 / 750 - 100vw * 15 / 750);
            }
        }
        /* 左右分栏 Grid（不限制 max-height，避免裁切诊断区与能力清单） */
        #page-report .report-job-match-card-inner {
            display: grid;
            grid-template-columns: minmax(0, 1fr);
            min-height: 0;
        }
        #page-report .report-job-match-sidebar {
            box-sizing: border-box;
            width: 100%;
            padding: 0.75rem 0.5rem;
            background: #f8fafc;
            border-right-color: #f1f5f9;
        }
        /* 路径岗位卡 · 左侧栏：更浅的蓝白渐变 + 顶光晕 */
        #page-report .report-path-phase-job-card-host .report-job-match-sidebar {
            background: linear-gradient(
                180deg,
                #f5f8ff 0%,
                #f7f9fc 28%,
                #fafbfd 55%,
                #fcfcfd 100%
            );
            border-right: 1px solid #f1f5f9;
        }
        @media (max-width: 767px) {
            #page-report .report-path-phase-job-card-host .report-job-match-sidebar {
                border-bottom-color: #f1f5f9;
            }
        }
        #page-report .report-path-phase-job-card-host .report-job-match-sidebar::before {
            content: '';
            position: absolute;
            left: 0;
            right: 0;
            top: 0;
            height: 4.5rem;
            pointer-events: none;
            z-index: 0;
            background: linear-gradient(
                180deg,
                rgba(59, 130, 246, 0.07) 0%,
                rgba(191, 219, 254, 0.12) 42%,
                rgba(255, 255, 255, 0) 100%
            );
        }
        #page-report .report-path-phase-job-card-host .report-job-match-sidebar > * {
            position: relative;
            z-index: 1;
        }
        /* 路径岗位卡：匹配环与中间数字上移 5rpx（覆盖 JS 内联 margin） */
        #page-report .report-path-phase-job-card-host .report-job-match-ring-wrap {
            margin: calc(6px - 100vw * 5 / 750) 0 10px !important;
        }
        /* 路径岗位卡：目标岗位+主副标题整块（含背景）下移 4rpx；薪酬/经验双格相对标题区下移 10rpx */
        #page-report .report-path-phase-job-card-host .report-job-match-sidebar > div:nth-child(2) {
            margin-top: calc(100vw * 4 / 750);
            margin-bottom: calc(10px + 100vw * 10 / 750) !important;
        }
        /* 路径岗位卡 · 岗位名副行（括号/空格后）胶囊 */
        #page-report .report-path-phase-job-card-host .report-job-name-subline {
            display: block;
            margin-top: 6px;
            text-align: center;
        }
        #page-report .report-job-match-card .report-job-name-subpill {
            display: inline-block;
            max-width: 100%;
            box-sizing: border-box;
            padding: 4px 12px;
            border-radius: 9999px;
            font-size: 12px;
            font-weight: 500;
            line-height: 1.4;
            color: #64748b;
            background: #f1f5f9;
            word-break: break-word;
            overflow-wrap: anywhere;
        }
        /* 路径岗位卡 · 底部薪酬/经验块收窄并居中 */
        #page-report .report-path-phase-job-card-host .report-job-match-stats {
            width: 88%;
            max-width: 220px;
            margin-left: auto;
            margin-right: auto;
        }
        #page-report .report-job-match-main {
            box-sizing: border-box;
            min-width: 0;
            display: flex;
            flex-direction: column;
            justify-content: flex-start;
            gap: 0.75rem;
            padding: 1rem 0.85rem;
            background: #fff;
            overflow-x: hidden;
            overflow-y: visible;
        }
        /* 岗位卡右侧 · 关键建议区：Slate-50（与 Tailwind 未编入类名时兜底） */
        #page-report .report-job-match-diagnosis-box {
            background: #f8fafc;
            border-color: #e2e8f0;
        }
        /* 路径岗位卡：关键建议卡片整体上移 5rpx（transform 不挤占文档流，其它块位置不变） */
        #page-report .report-path-phase-job-card-host .report-job-match-diagnosis-box {
            transform: translateY(calc(-100vw * 5 / 750));
        }
        /* 路径岗位卡：标题不动，五条靠网格上内边距下移 5rpx；总高由 main/sidebar 底内边距多收 5rpx 抵消 */
        #page-report .report-path-phase-job-card-host .report-job-match-audit-grid {
            padding-top: calc(100vw * 5 / 750);
        }
        #page-report .report-job-match-card .report-job-match-ring-wrap > svg {
            width: 72px !important;
            height: 72px !important;
            max-width: 100%;
            display: block;
        }
        #page-report .report-job-match-card .report-job-match-audit-ico svg {
            width: 14px;
            height: 14px;
            display: block;
        }
        @media (min-width: 768px) {
            #page-report .report-job-match-card-inner {
                grid-template-columns: 280px minmax(0, 1fr);
                align-items: stretch;
            }
            #page-report .report-job-match-sidebar {
                width: 280px;
                max-width: 280px;
                min-width: 280px;
                padding: 0.85rem 0.65rem;
                border-right-width: 1px;
                border-right-style: solid;
            }
            #page-report .report-job-match-main {
                padding: 1.25rem 1rem;
            }
        }
        /* ≥1024px：左栏 292px，与下方「能力维度雷达」左侧列（lg:w-[292px]）同宽 */
        @media (min-width: 1024px) {
            #page-report .report-job-match-card-inner {
                grid-template-columns: 292px minmax(0, 1fr);
            }
            #page-report .report-job-match-sidebar {
                width: 292px;
                max-width: 292px;
                min-width: 292px;
            }
        }

        /* 第三部分 · 1.一阶段 · 能力维度雷达与胜任力看板（复刻设计稿） */
        #page-report .report-skill-dash-wrap {
            --rsd-primary: #5b6fce;
            --rsd-primary-deep: #4a5dc4;
            --rsd-bar-on: #5b6fce;
            --rsd-bar-off: #e8eaf1;
            --rsd-pill-bg: #f1f3f9;
            --rsd-num-bg: #e8eefc;
            --rsd-accent-line: #b8c6f5;
            font-size: 13px;
            color: #374151;
        }
        #page-report .report-skill-dash-card {
            border-radius: 1rem;
            border: 1px solid rgba(226, 232, 240, 0.95);
            background: #fff;
            box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06);
            overflow: hidden;
        }
        #page-report .report-skill-dash-title-ico {
            width: 22px;
            height: 22px;
            border-radius: 999px;
            background: linear-gradient(145deg, #6f84eb 0%, #5b6fce 100%);
            display: inline-flex;
            align-items: center;
            justify-content: center;
            color: #fff;
            flex-shrink: 0;
        }
        #page-report .report-skill-dash-tabs {
            display: flex;
            flex-wrap: nowrap;
            align-items: stretch;
            gap: 2px;
            overflow-x: auto;
            overflow-y: hidden;
            scrollbar-width: none;
            -ms-overflow-style: none;
            -webkit-overflow-scrolling: touch;
            overscroll-behavior-x: contain;
            overscroll-behavior-y: none;
            scroll-behavior: smooth;
            border-bottom: 1px solid #eef0f6;
            background: #fafbff;
            padding-left: 4px;
            padding-right: 4px;
        }
        #page-report .report-skill-dash-tabs::-webkit-scrollbar {
            display: none;
            width: 0;
            height: 0;
        }
        /* 技能列表：不产生纵向滚动条、不锁定高度，随内容撑开 */
        #page-report #report-path-skill-list {
            overflow-x: hidden;
            overflow-y: visible;
            max-height: none;
        }
        #page-report .report-skill-dash-tab {
            flex: 0 0 auto;
            min-width: max-content;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.35rem;
            padding: 0.65rem 0.65rem;
            border: 0;
            background: transparent;
            cursor: pointer;
            font-size: 12px;
            color: #64748b;
            border-bottom: 2px solid transparent;
            margin-bottom: -1px;
            transition: color 0.15s ease, border-color 0.15s ease, background 0.15s ease;
            white-space: nowrap;
        }
        #page-report .report-skill-dash-tab:hover {
            color: var(--rsd-primary);
            background: rgba(91, 111, 206, 0.06);
        }
        #page-report .report-skill-dash-tab.is-active {
            color: var(--rsd-primary-deep);
            font-weight: 700;
            border-bottom-color: var(--rsd-primary);
            background: #fff;
        }
        #page-report .report-skill-dash-tab .tab-ico {
            color: inherit;
            opacity: 0.85;
        }
        #page-report .report-skill-dash-tab .tab-count {
            font-size: 11px;
            color: #94a3b8;
            background: var(--rsd-pill-bg);
            border-radius: 999px;
            padding: 0.1rem 0.45rem;
            font-weight: 600;
        }
        #page-report .report-skill-dash-tab.is-active .tab-count {
            color: #64748b;
            background: #e8eefc;
        }
        #page-report .report-skill-dash-accent {
            height: 2px;
            background: linear-gradient(90deg, rgba(184, 198, 245, 0.9) 0%, rgba(232, 238, 252, 0.3) 100%);
        }
        #page-report .report-skill-row {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            padding: 0.75rem 1rem;
            border-bottom: 1px solid #f1f3f8;
            transition: background 0.12s ease;
        }
        #page-report .report-skill-row:last-child {
            border-bottom: 0;
        }
        #page-report .report-skill-row:hover {
            background: rgba(91, 111, 206, 0.04);
        }
        #page-report .report-skill-num {
            width: 26px;
            height: 26px;
            border-radius: 999px;
            background: var(--rsd-num-bg);
            color: var(--rsd-primary-deep);
            font-size: 12px;
            font-weight: 400;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }
        #page-report .report-skill-level-bar {
            display: inline-flex;
            gap: 3px;
            align-items: center;
        }
        #page-report .report-skill-level-bar span {
            width: 20px;
            height: 7px;
            border-radius: 3px;
            background: var(--rsd-bar-off);
        }
        #page-report .report-skill-level-bar span.on {
            background: var(--rsd-bar-on);
        }
        #page-report .report-skill-dash-legend {
            border-top: 1px solid #eef0f6;
            background: #fafbfd;
            padding: 0.65rem 1rem;
            font-size: 11px;
            color: #64748b;
            line-height: 1.6;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            column-gap: 0.35rem;
            row-gap: 0.35rem;
        }
        /* 职业路径看板 · 等级说明：释义悬浮（与技能填写页文案一致，靠近底栏时向上展开） */
        #page-report .report-skill-dash-legend .skill-help {
            position: relative;
            display: inline-flex;
            align-items: center;
            vertical-align: middle;
            cursor: help;
        }
        #page-report .report-skill-dash-legend .skill-help-icon {
            width: 14px;
            height: 14px;
            border-radius: 999px;
            border: 1px solid rgba(148, 163, 184, 0.9);
            font-size: 11px;
            line-height: 12px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            color: #64748b;
            background: #ffffff;
        }
        #page-report .report-skill-dash-legend .skill-help-tooltip {
            position: absolute;
            left: 0;
            bottom: 100%;
            top: auto;
            margin-bottom: 6px;
            z-index: 80;
            min-width: 260px;
            max-width: min(320px, 92vw);
            padding: 10px 12px;
            border-radius: 10px;
            font-size: 11px;
            line-height: 1.5;
            font-weight: 400;
            color: #475569;
            background: #f9fafb;
            box-shadow: 0 10px 25px rgba(15, 23, 42, 0.12);
            border: 1px solid rgba(226, 232, 240, 0.9);
            display: none;
        }
        #page-report .report-skill-dash-legend .skill-help:hover .skill-help-tooltip,
        #page-report .report-skill-dash-legend .skill-help:focus-within .skill-help-tooltip {
            display: block;
        }
        #page-report .report-skill-dash-left {
            border-bottom: 1px solid #f1f3f8;
        }
        @media (min-width: 1024px) {
            #page-report .report-skill-dash-left {
                width: 292px;
                max-width: 292px;
                min-width: 292px;
                flex-shrink: 0;
                box-sizing: border-box;
                border-bottom: 0;
                border-right: 1px solid #f1f3f8;
            }
        }
        #page-report .report-skill-radar-hint {
            font-size: 11px;
            color: #94a3b8;
            line-height: 1.65;
            margin-top: 0.75rem;
        }
        /* 基本信息卡片：统一正常字重（不加黑） */
        #manual-basic-card,
        #manual-basic-card * {
            font-weight: 400 !important;
        }

        /* 工作经历卡片：统一使用正常字重（不加黑） */
        #manual-work-card,
        #manual-work-card * {
            font-weight: 400 !important;
        }

        /* 年月选择器（面板：顶栏换年 + 3×4 月网 + 底栏预览/清空/本月|至今） */
        .ym-picker .ym-month-btn {
            font-size: 13px;
            padding: 0.45rem 0.25rem;
            border-radius: 0.5rem;
            border: 1px solid transparent;
            background: transparent;
            color: #1e293b;
            transition: background 0.12s ease, color 0.12s ease;
        }
        .ym-picker .ym-month-btn:hover {
            background: rgba(13, 148, 136, 0.12);
        }
        .ym-picker .ym-month-btn.is-active {
            background: #0d9488;
            color: #fff;
            border-color: #0d9488;
        }
        .ym-picker .ym-popover {
            box-shadow: 0 10px 40px rgba(15, 23, 42, 0.12);
        }

        /* 技能组合卡片：统一正常字重（不加黑） */
        #manual-skill-card,
        #manual-skill-card * {
            font-weight: 400 !important;
        }

        /* 技能星级释义提示 */
        .skill-help {
            position: relative;
            cursor: pointer;
        }

        .skill-help-icon {
            width: 14px;
            height: 14px;
            border-radius: 999px;
            border: 1px solid rgba(148, 163, 184, 0.9);
            font-size: 11px;
            line-height: 12px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            color: #64748b;
            background: #ffffff;
        }

        .skill-help-tooltip {
            position: absolute;
            top: 120%;
            left: 0;
            z-index: 50;
            min-width: 260px;
            max-width: 320px;
            padding: 10px 12px;
            border-radius: 10px;
            font-size: 11px;
            line-height: 1.5;
            color: #475569;
            background: #f9fafb;
            box-shadow: 0 10px 25px rgba(15, 23, 42, 0.12);
            border: 1px solid rgba(226, 232, 240, 0.9);
            display: none;
        }

        .skill-help:hover .skill-help-tooltip {
            display: block;
        }

        /* 步骤标签：统一正常字重，基础线条样式 */
        #manual-step-nav .step-tab {
            font-weight: 400;
        }

        #manual-step-nav .step-tab div:last-child {
            border-bottom-left-radius: 0;
            border-bottom-right-radius: 0;
        }

        /* 岗位画像页面卡片：减小阴影与圆角 */
        #page-onboarding .glass-card {
            border-radius: 1.25rem;
            box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
        }

        #page-onboarding .upload-card {
            border-radius: 1.25rem;
            box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
        }

        /* 职场画像卡片「查看」：仅浏览手动填写三步，无编辑、无增删 */
        #page-onboarding.onboarding-profile-view #onboarding-mode-picker {
            display: none !important;
        }
        #page-onboarding.onboarding-profile-view #manual-flow-footer {
            display: none !important;
        }
        #page-onboarding.onboarding-profile-view .btn-add-work-exp,
        #page-onboarding.onboarding-profile-view .btn-add-project,
        #page-onboarding.onboarding-profile-view .btn-delete-work,
        #page-onboarding.onboarding-profile-view .btn-delete-project,
        #page-onboarding.onboarding-profile-view #btn-add-skill,
        #page-onboarding.onboarding-profile-view .btn-delete-skill {
            display: none !important;
        }
        #page-onboarding.onboarding-profile-view #onboarding-mode-manual .skill-help {
            pointer-events: none;
        }
        #page-onboarding.onboarding-profile-view #onboarding-mode-manual input:not([type="hidden"]),
        #page-onboarding.onboarding-profile-view #onboarding-mode-manual select,
        #page-onboarding.onboarding-profile-view #onboarding-mode-manual textarea {
            background-color: rgb(241 245 249 / 0.95) !important;
            color: rgb(71 85 105) !important;
            cursor: default !important;
            pointer-events: none !important;
        }
        #page-onboarding.onboarding-profile-view #onboarding-mode-manual button:not(.step-tab) {
            pointer-events: none !important;
        }

        /* 导航栏：获取邀请码（与反馈并排，勿使用横向 translate 否则会重叠） */
        .promo-club-btn {
            border: none;
            background: transparent;
            box-shadow: none;
            text-shadow:
                0 1px 0 rgba(255, 255, 255, 0.8),
                0 2px 6px rgba(37, 99, 235, 0.35);
        }

        @keyframes promo-breathe {
            0%, 100% { transform: translateY(0) scale(1); }
            50% { transform: translateY(-1px) scale(1.03); }
        }

        .promo-club-btn:hover {
            animation: promo-breathe 1.6s ease-in-out infinite;
        }

        .nav-avatar {
            width: 32px;
            height: 32px;
            border-radius: 999px;
            background: radial-gradient(circle at 30% 20%, #e0f2fe, #1d4ed8);
            box-shadow:
                0 4px 12px rgba(37, 99, 235, 0.35),
                inset 0 1px 0 rgba(255, 255, 255, 0.8);
        }

        #page-path-simulator #path-simulator-detail-card .path-sim-detail-tab {
            border: 1px solid #e2e8f0;
            background: #fff;
            color: #64748b;
            font-size: 0.875rem;
            font-weight: 800;
            padding: 0.45rem 1rem;
            border-radius: 9999px;
            cursor: pointer;
            transition:
                background 0.15s ease,
                color 0.15s ease,
                border-color 0.15s ease;
        }
        #page-path-simulator #path-simulator-detail-card .path-sim-detail-tab:hover {
            border-color: #c7d2fe;
            color: #4338ca;
        }
        #page-path-simulator #path-simulator-detail-card .path-sim-detail-tab.path-sim-detail-tab--active {
            background: #4f46e5;
            border-color: #4f46e5;
            color: #fff;
        }
        #page-path-simulator #path-simulator-detail-card {
            padding: 0;
            background: transparent;
            border: 0;
            box-shadow: none;
        }
        #page-path-simulator #path-simulator-detail-card > .flex.flex-wrap {
            margin-bottom: 0.9rem;
            padding: 0 .2rem;
        }
        #page-path-simulator #path-simulator-detail-card .path-sim-detail-iframe {
            display: block;
            min-height: 28rem;
        }
        /* 详情介绍内完整复刻原 path-sim-v2 卡片 */
        #page-path-simulator #path-simulator-detail-card .ps-origin .path-sim-v2-title {
            font-size: clamp(1.9rem, 4vw, 2.25rem);
            font-weight: 800;
            color: #111827;
            line-height: 1.25;
            margin-bottom: 1rem;
        }
        #page-path-simulator #path-simulator-detail-card .ps-origin .path-sim-v2-title span {
            background: linear-gradient(135deg, #2563eb, #7c3aed);
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
            color: transparent;
        }
        #page-path-simulator #path-simulator-detail-card .ps-origin .path-sim-v2-subtitle {
            color: #6b7280;
            font-size: 1.125rem;
        }
        #page-path-simulator #path-simulator-detail-card .ps-origin .path-sim-v2-main {
            width: 100%;
            margin: 0;
        }
        #page-path-simulator #path-simulator-detail-card .ps-origin .path-sim-v2-card {
            width: 100%;
            background: #fff;
            border-radius: 24px;
            box-shadow: 0 20px 50px rgba(0, 0, 0, 0.05);
            overflow: hidden;
            border: 1px solid rgba(255, 255, 255, 0.3);
        }
        #page-path-simulator #path-simulator-detail-card .ps-origin .path-sim-v2-banner {
            position: relative;
            background: linear-gradient(135deg, #2563eb 0%, #0ea5e9 52%, #22d3ee 100%);
            color: #fff;
            padding: 2rem;
            overflow: hidden;
        }
        #page-path-simulator #path-simulator-detail-card .ps-origin .path-sim-v2-banner-inner {
            position: relative;
            z-index: 1;
        }
        #page-path-simulator #path-simulator-detail-card .ps-origin .path-sim-v2-badge {
            display: inline-block;
            background: #2563eb;
            color: #fff;
            font-size: 0.75rem;
            font-weight: 700;
            border-radius: 9999px;
            padding: 0.25rem 0.75rem;
            letter-spacing: 0.04em;
        }
        #page-path-simulator #path-simulator-detail-card .ps-origin .path-sim-v2-banner h2 {
            margin-top: 1rem;
            font-size: 1.875rem;
            font-weight: 700;
        }
        #page-path-simulator #path-simulator-detail-card .ps-origin .path-sim-v2-banner p {
            margin-top: 0.5rem;
            color: #94a3b8;
        }
        #page-path-simulator #path-simulator-detail-card .ps-origin .path-sim-v2-banner-mark {
            position: absolute;
            right: -1rem;
            bottom: -1rem;
            opacity: 0.2;
            font-size: 5rem;
        }
        #page-path-simulator #path-simulator-detail-card .ps-origin .path-sim-v2-content {
            padding: 2rem;
            display: grid;
            gap: 3rem;
        }
        #page-path-simulator #path-simulator-detail-card .ps-origin .path-sim-v2-sec-head {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            margin-bottom: 1rem;
        }
        #page-path-simulator #path-simulator-detail-card .ps-origin .path-sim-v2-sec-head h3 {
            font-size: 1.25rem;
            font-weight: 700;
            color: #1f2937;
        }
        #page-path-simulator #path-simulator-detail-card .ps-origin .path-sim-v2-sec-icon {
            width: 2.5rem;
            height: 2.5rem;
            border-radius: 0.5rem;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-weight: 800;
        }
        #page-path-simulator #path-simulator-detail-card .ps-origin .path-sim-v2-sec-icon.is-red,
        #page-path-simulator #path-simulator-detail-card .ps-origin .path-sim-v2-sec-icon.is-blue,
        #page-path-simulator #path-simulator-detail-card .ps-origin .path-sim-v2-sec-icon.is-purple,
        #page-path-simulator #path-simulator-detail-card .ps-origin .path-sim-v2-sec-icon.is-green {
            background: #dbeafe;
            color: #2563eb;
        }
        #page-path-simulator #path-simulator-detail-card .ps-origin .path-sim-v2-highlight {
            background: #f9fafb;
            border-radius: 0.75rem;
            border-left: 4px solid #2563eb;
            padding: 1.25rem;
            color: #4b5563;
            line-height: 1.75;
        }
        #page-path-simulator #path-simulator-detail-card .ps-origin .path-sim-v2-highlight span { color: #2563eb; font-weight: 700; }
        #page-path-simulator #path-simulator-detail-card .ps-origin .path-sim-v2-grid2 {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 1rem;
        }
        #page-path-simulator #path-simulator-detail-card .ps-origin .path-sim-v2-mini-card {
            padding: 1rem;
            border: 1px solid #f3f4f6;
            border-radius: 0.75rem;
            transition: box-shadow .2s ease, transform .2s ease;
        }
        #page-path-simulator #path-simulator-detail-card .ps-origin .path-sim-v2-mini-card:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(15, 23, 42, .08); }
        #page-path-simulator #path-simulator-detail-card .ps-origin .path-sim-v2-mini-card p { font-size: .875rem; color: #4b5563; line-height: 1.7; }
        #page-path-simulator #path-simulator-detail-card .ps-origin .path-sim-v2-data-badge {
            display: inline-block;
            background: rgba(37, 99, 235, 0.1);
            color: #2563eb;
            padding: 4px 12px;
            border-radius: 999px;
            font-size: .85rem;
            font-weight: 600;
            margin-bottom: .5rem;
        }
        #page-path-simulator #path-simulator-detail-card .ps-origin .path-sim-v2-tip { color: #4b5563; margin-bottom: 1rem; font-size: .875rem; font-style: italic; }
        #page-path-simulator #path-simulator-detail-card .ps-origin .path-sim-v2-tags { display: flex; flex-wrap: wrap; gap: .75rem; }
        #page-path-simulator #path-simulator-detail-card .ps-origin .path-sim-v2-tags span {
            background: #f1f5f9;
            color: #334155;
            padding: .5rem 1rem;
            border-radius: .5rem;
            font-size: .875rem;
            font-weight: 500;
        }
        #page-path-simulator #path-simulator-detail-card .ps-origin .path-sim-v2-timeline {
            position: relative;
            padding-left: 1.25rem;
            border-left: 2px dashed #bfdbfe;
            display: grid;
            gap: 1.5rem;
        }
        #page-path-simulator #path-simulator-detail-card .ps-origin .path-sim-v2-timeline h4 { font-size: 1rem; font-weight: 700; color: #374151; margin-bottom: .25rem; }
        #page-path-simulator #path-simulator-detail-card .ps-origin .path-sim-v2-timeline h4.is-blue { color: #2563eb; }
        #page-path-simulator #path-simulator-detail-card .ps-origin .path-sim-v2-timeline p { color: #6b7280; font-size: .875rem; }
        #page-path-simulator #path-simulator-detail-card .ps-origin .path-sim-v2-resume-box {
            background: #eff6ff;
            border-radius: 1rem;
            padding: 1.5rem;
        }
        #page-path-simulator #path-simulator-detail-card .ps-origin .path-sim-v2-resume-box h3 {
            color: #1e3a8a;
            font-size: 1.125rem;
            font-weight: 700;
            margin-bottom: .75rem;
            text-decoration: underline;
            text-underline-offset: 4px;
            text-decoration-color: #93c5fd;
        }
        #page-path-simulator #path-simulator-detail-card .ps-origin .path-sim-v2-resume-box ul { display: grid; gap: .75rem; padding-left: 1rem; }
        #page-path-simulator #path-simulator-detail-card .ps-origin .path-sim-v2-resume-box li { color: #1e40af; font-size: .875rem; line-height: 1.6; }
        #page-path-simulator #path-simulator-detail-card .ps-origin .path-sim-v2-disclaimer {
            padding: 2rem;
            border-top: 1px solid #f3f4f6;
            background: #f9fafb;
            color: #9ca3af;
            font-size: .75rem;
            line-height: 1.7;
        }
        @media (max-width: 768px) {
            #page-path-simulator #path-simulator-detail-card .ps-origin .path-sim-v2-content {
                padding: 1.25rem;
                gap: 2rem;
            }
            #page-path-simulator #path-simulator-detail-card .ps-origin .path-sim-v2-grid2 {
                grid-template-columns: 1fr;
            }
            #page-path-simulator #path-simulator-detail-card .ps-origin .path-sim-v2-banner h2 {
                font-size: 1.45rem;
            }
        }
        #page-path-simulator #path-simulator-detail-card .ps-inline {
            --ps-brand: #16c291;
            --ps-brand-light: #e8f9f4;
            --ps-brand-dark: #119972;
            color: #374151;
            display: grid;
            gap: 1.25rem;
        }
        #page-path-simulator #path-simulator-detail-card .ps-inline-slogan {
            margin-bottom: .65rem;
        }
        #page-path-simulator #path-simulator-detail-card .ps-inline-slogan h4 {
            margin: 0;
            font-size: 1.6rem;
            line-height: 1.3;
            font-weight: 800;
            color: #1f2937;
            text-align: center;
        }
        #page-path-simulator #path-simulator-detail-card .ps-inline-slogan h4 span { color: var(--ps-brand); }
        #page-path-simulator #path-simulator-detail-card .ps-inline-slogan p {
            margin-top: .35rem;
            color: #6b7280;
            font-size: .95rem;
            text-align: center;
        }
        #page-path-simulator #path-simulator-detail-card .ps-inline-banner {
            background: linear-gradient(135deg, #2563eb 0%, #0ea5e9 52%, #22d3ee 100%);
            border-radius: 1.25rem;
            color: #fff;
            padding: 2.5rem;
            min-height: 12rem;
            display: flex;
            flex-direction: column;
            justify-content: center;
            position: relative;
            overflow: hidden;
        }
        #page-path-simulator #path-simulator-detail-card .ps-inline-badge {
            display: inline-block;
            font-size: .72rem;
            font-weight: 700;
            padding: .2rem .6rem;
            border-radius: 999px;
            background: rgba(255,255,255,.2);
        }
        #page-path-simulator #path-simulator-detail-card .ps-inline-banner h5 { margin: 1rem 0 .45rem; font-size: 1.875rem; line-height: 1.25; font-weight: 700; position: relative; z-index: 1; }
        #page-path-simulator #path-simulator-detail-card .ps-inline-banner p { margin: 0; font-size: 1.125rem; color: rgba(255,255,255,.85); font-style: italic; position: relative; z-index: 1; }
        #page-path-simulator #path-simulator-detail-card .ps-inline-banner-mark {
            position: absolute;
            right: 1.25rem;
            bottom: -.4rem;
            font-size: 5rem;
            line-height: 1;
            opacity: .2;
            transform: translateY(.35rem);
            pointer-events: none;
        }
        #page-path-simulator #path-simulator-detail-card .ps-inline-section { display: grid; gap: .7rem; }
        #page-path-simulator #path-simulator-detail-card .ps-inline-head { display: flex; align-items: center; gap: .5rem; }
        #page-path-simulator #path-simulator-detail-card .ps-inline-head .ico {
            width: 1.8rem; height: 1.8rem; border-radius: .6rem;
            background: var(--ps-brand-light); color: var(--ps-brand-dark);
            display: inline-flex; align-items: center; justify-content: center; font-weight: 700;
        }
        #page-path-simulator #path-simulator-detail-card .ps-inline-head h6 {
            margin: 0; font-size: 1rem; font-weight: 800; color: #1f2937;
        }
        #page-path-simulator #path-simulator-detail-card .ps-inline-highlight {
            background: rgba(232,249,244,.45); border-left: 4px solid var(--ps-brand);
            border-radius: .8rem; padding: .85rem .9rem;
        }
        #page-path-simulator #path-simulator-detail-card .ps-inline-highlight b { color: #2563eb; }
        #page-path-simulator #path-simulator-detail-card .ps-inline-grid2 {
            display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem;
        }
        #page-path-simulator #path-simulator-detail-card .ps-inline-grid2 > div {
            border: 1px solid #eef2f7; border-radius: .8rem; background: #fff; padding: .75rem;
        }
        #page-path-simulator #path-simulator-detail-card .ps-inline-grid2 .tag {
            display: inline-block; margin-bottom: .4rem;
            background: var(--ps-brand-light); color: var(--ps-brand-dark);
            font-size: .72rem; font-weight: 700; border-radius: 999px; padding: .16rem .5rem;
        }
        #page-path-simulator #path-simulator-detail-card .ps-inline-grid2 p { margin: 0; font-size: .83rem; color: #4b5563; line-height: 1.6; }
        #page-path-simulator #path-simulator-detail-card .ps-inline .tip { margin: 0; font-size: .86rem; color: #4b5563; }
        #page-path-simulator #path-simulator-detail-card .ps-inline-grid4 {
            display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .55rem;
        }
        #page-path-simulator #path-simulator-detail-card .ps-inline-grid4 > div {
            background: rgba(232,249,244,.35); border-radius: .65rem; padding: .65rem .4rem; text-align: center;
        }
        #page-path-simulator #path-simulator-detail-card .ps-inline-grid4 b { display: block; color: var(--ps-brand-dark); font-size: .82rem; }
        #page-path-simulator #path-simulator-detail-card .ps-inline-grid4 span { display: block; color: #6b7280; font-size: .68rem; margin-top: .12rem; }
        #page-path-simulator #path-simulator-detail-card .ps-inline-step {
            border-left: 2px dashed var(--ps-brand-light); padding-left: .8rem; display: grid; gap: .55rem;
        }
        #page-path-simulator #path-simulator-detail-card .ps-inline-step h6 { margin: 0; color: #374151; font-size: .86rem; font-weight: 800; }
        #page-path-simulator #path-simulator-detail-card .ps-inline-step p { margin: .1rem 0 0; color: #6b7280; font-size: .8rem; line-height: 1.5; }
        @media (max-width: 768px) {
            #page-path-simulator #path-simulator-detail-card .ps-inline-grid2,
            #page-path-simulator #path-simulator-detail-card .ps-inline-grid4 {
                grid-template-columns: 1fr;
            }
            #page-path-simulator #path-simulator-detail-card .ps-inline-slogan h4 {
                font-size: 1.3rem;
            }
            #page-path-simulator #path-simulator-detail-card .ps-inline-banner {
                min-height: auto;
                padding: 1.5rem 1.1rem;
            }
            #page-path-simulator #path-simulator-detail-card .ps-inline-banner h5 {
                font-size: 1.45rem;
            }
            #page-path-simulator #path-simulator-detail-card .ps-inline-banner p {
                font-size: .95rem;
            }
            #page-path-simulator #path-simulator-detail-card .ps-inline-banner-mark {
                font-size: 3.2rem;
                right: .8rem;
                bottom: -.2rem;
            }
        }

        /* 报告页 · 具体职业机会卡片（子卡表面板、悬浮与展开） */
        #page-report .report-opp-item .report-opp-card-surface {
            /* 覆盖 Tailwind overflow-hidden，避免释义浮层被裁切；展开区仍用圆角收尾 */
            overflow: visible;
            box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
        }
        /* 主内容区叠在展开区之上，释义 tooltip 与 p-6 外溢内容才能盖住「查看详情」面板 */
        #page-report .report-opp-card-surface > .p-6 {
            position: relative;
            z-index: 2;
            border-top-left-radius: 1rem;
            border-top-right-radius: 1rem;
            border-bottom-left-radius: 1rem;
            border-bottom-right-radius: 1rem;
        }
        #page-report .report-opp-card-surface:has(.report-opp-expand:not(.hidden)) > .p-6 {
            border-bottom-left-radius: 0;
            border-bottom-right-radius: 0;
        }
        #page-report .report-opp-expand {
            position: relative;
            z-index: 0;
        }
        #page-report .report-opp-expand:not(.hidden) {
            border-bottom-left-radius: 1rem;
            border-bottom-right-radius: 1rem;
        }
        #page-report .report-opp-item .report-opp-card-surface:hover {
            box-shadow:
                0 4px 6px -1px rgb(0 0 0 / 0.08),
                0 2px 4px -2px rgb(0 0 0 / 0.06);
        }
        #page-report .report-opp-expand-animate:not([hidden]) {
            animation: report-opp-expand-in 0.22s ease-out;
        }
        @keyframes report-opp-expand-in {
            from {
                opacity: 0;
                transform: translateY(-4px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        /* 具体职业机会 · 统计薪酬释义圈与悬浮说明 */
        #page-report .report-opp-stat-help {
            position: relative;
            display: inline-flex;
            align-items: center;
            vertical-align: middle;
            cursor: help;
            flex-shrink: 0;
            outline: none;
        }
        #page-report .report-opp-stat-help-icon {
            width: 14px;
            height: 14px;
            border-radius: 999px;
            border: 1px solid rgba(148, 163, 184, 0.9);
            font-size: 11px;
            line-height: 12px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            color: #64748b;
            background: #ffffff;
        }
        #page-report .report-opp-stat-help-tooltip {
            position: absolute;
            left: 0;
            bottom: 100%;
            top: auto;
            margin-bottom: 6px;
            z-index: 200;
            min-width: 220px;
            max-width: min(320px, 92vw);
            padding: 10px 12px;
            border-radius: 10px;
            font-size: 11px;
            line-height: 1.5;
            font-weight: 400;
            color: #475569;
            background: #f9fafb;
            box-shadow: 0 10px 25px rgba(15, 23, 42, 0.12);
            border: 1px solid rgba(226, 232, 240, 0.9);
            display: none;
        }
        #page-report .report-opp-stat-help:hover .report-opp-stat-help-tooltip,
        #page-report .report-opp-stat-help:focus-within .report-opp-stat-help-tooltip {
            display: block;
        }

        /* 「查看详情」：收起态浅灰悬浮；展开为深色后悬浮保持 slate-800，不变浅 */
        #page-report .report-opp-details-toggle[aria-expanded='false']:hover {
            background-color: rgb(248 250 252);
        }
        #page-report .report-opp-details-toggle[aria-expanded='true']:hover {
            background-color: rgb(30 41 59);
            border-color: rgb(30 41 59);
            color: #fff;
        }

        /* 「应对策略」：收起态 indigo-100 悬浮；展开为 indigo-600 后悬浮保持同色，不变浅 */
        #page-report .report-opp-strategy-toggle[aria-expanded='false']:hover {
            background-color: rgb(224 231 255);
        }
        #page-report .report-opp-strategy-toggle[aria-expanded='true']:hover {
            background-color: rgb(79 70 229);
            border-color: rgb(79 70 229);
            color: #fff;
        }

        /* 报告页：目录式折叠（<details>） */
        #page-report details.report-toc-details > summary {
            list-style: none;
            cursor: pointer;
            user-select: none;
            position: relative;
            padding-right: 1.75rem;
        }
        #page-report details.report-toc-details > summary::-webkit-details-marker {
            display: none;
        }
        #page-report details.report-toc-details > summary::after {
            content: '';
            position: absolute;
            right: 0.2rem;
            top: 50%;
            width: 0.45rem;
            height: 0.45rem;
            margin-top: -0.2rem;
            border-right: 2px solid rgb(100, 116, 139);
            border-bottom: 2px solid rgb(100, 116, 139);
            transform: rotate(-45deg);
            opacity: 0.55;
            transition: transform 0.2s ease, opacity 0.15s ease;
            pointer-events: none;
        }
        #page-report details.report-toc-details[open] > summary::after {
            transform: rotate(45deg);
            margin-top: -0.05rem;
        }
        #page-report details.report-toc-details > summary .report-section-title {
            margin: 0;
        }
        #page-report details.report-toc-summary--section {
            display: flex;
            align-items: flex-start;
            padding: 0.2rem 0 0.35rem;
            border-radius: 0.75rem;
            transition: background-color 0.15s ease;
        }
        #page-report details.report-toc-summary--section:hover {
            background-color: rgba(248, 250, 252, 0.95);
        }
        #page-report details.report-toc-details--section:not([open]) > .report-toc-summary--section {
            margin-bottom: 0;
        }
        #page-report details.report-toc-summary--nested {
            display: flex;
            align-items: center;
            min-height: 2.75rem;
            padding: 0.5rem 0.75rem;
            border-radius: 0.85rem;
            border: 1px solid rgba(226, 232, 240, 0.9);
            background: rgba(255, 255, 255, 0.72);
            transition: background-color 0.15s ease, border-color 0.15s ease;
        }
        #page-report details.report-toc-details--nested:not([open]) > .report-toc-summary--nested {
            background: rgba(255, 255, 255, 0.5);
        }
        #page-report details.report-toc-summary--nested:hover {
            background: rgba(248, 250, 252, 0.98);
            border-color: rgba(203, 213, 225, 0.95);
        }
        #page-report details.report-toc-panel--nested {
            padding-left: 0.5rem;
            margin-top: 0.5rem;
            margin-bottom: 0.25rem;
            border-left: 2px solid rgba(199, 210, 254, 0.7);
        }
        #page-report #report-toc-toolbar button:focus-visible {
            outline: 2px solid rgb(99, 102, 241);
            outline-offset: 2px;
        }

        /* 草稿删除确认：须高于 coordinate-loading-overlay / loading-layer（z-200）及导航下拉（z-260），否则全屏层会盖住弹窗 */
        #modal-confirm-delete-draft {
            z-index: 270;
        }

        /* 360°路径模拟器新落地页 */
        #page-path-simulator-landing {
            background: transparent;
            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
        }
        #page-path-simulator-landing .path-sim-v2-bg {
            display: none;
        }
        #page-path-simulator-landing .path-sim-v2-main {
            width: 70%;
            max-width: 900px;
            margin: 40px auto 0;
        }
        #page-path-simulator-landing .path-sim-v2-card {
            background: #fff;
            border-radius: 24px;
            box-shadow: 0 20px 50px rgba(0, 0, 0, 0.05);
            overflow: hidden;
            border: 1px solid rgba(255, 255, 255, 0.3);
        }
        #page-path-simulator-landing .path-sim-v2-title {
            font-size: clamp(1.9rem, 4vw, 2.25rem);
            font-weight: 800;
            color: #111827;
            line-height: 1.25;
            margin-bottom: 1rem;
        }
        #page-path-simulator-landing .path-sim-v2-back-wrap {
            max-width: 900px;
            width: 70%;
            margin: 0 auto;
        }
        #page-path-simulator-landing .path-sim-v2-back-btn {
            display: inline-flex;
            align-items: center;
            gap: .375rem;
            color: #475569;
            font-size: .875rem;
            font-weight: 700;
            padding: .35rem .5rem;
            border-radius: .5rem;
            transition: color .15s ease, background-color .15s ease;
        }
        #page-path-simulator-landing .path-sim-v2-back-btn:hover {
            color: #0f172a;
            background: rgba(255, 255, 255, 0.75);
        }
        #page-path-simulator-landing .path-sim-v2-title span {
            background: linear-gradient(135deg, #2563eb, #7c3aed);
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
            color: transparent;
        }
        #page-path-simulator-landing .path-sim-v2-subtitle {
            color: #6b7280;
            font-size: 1.125rem;
        }
        #page-path-simulator-landing .path-sim-v2-banner {
            position: relative;
            background: linear-gradient(135deg, #1d4ed8 0%, #0284c7 52%, #06b6d4 100%);
            color: #fff;
            padding: 2rem;
            overflow: hidden;
        }
        #page-path-simulator-landing .path-sim-v2-banner-inner {
            position: relative;
            z-index: 1;
        }
        #page-path-simulator-landing .path-sim-v2-badge {
            display: inline-block;
            background: #2563eb;
            color: #fff;
            font-size: 0.75rem;
            font-weight: 700;
            border-radius: 9999px;
            padding: 0.25rem 0.75rem;
            letter-spacing: 0.04em;
        }
        #page-path-simulator-landing .path-sim-v2-banner h2 {
            margin-top: 1rem;
            font-size: 1.875rem;
            font-weight: 700;
        }
        #page-path-simulator-landing .path-sim-v2-banner p {
            margin-top: 0.5rem;
            color: #94a3b8;
        }
        #page-path-simulator-landing .path-sim-v2-banner-mark {
            position: absolute;
            right: -1rem;
            bottom: -1rem;
            opacity: 0.2;
            font-size: 5rem;
        }
        #page-path-simulator-landing .path-sim-v2-content {
            padding: 2rem;
            display: grid;
            gap: 3rem;
        }
        #page-path-simulator-landing .path-sim-v2-sec-head {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            margin-bottom: 1rem;
        }
        #page-path-simulator-landing .path-sim-v2-sec-head h3 {
            font-size: 1.25rem;
            font-weight: 700;
            color: #1f2937;
        }
        #page-path-simulator-landing .path-sim-v2-sec-icon {
            width: 2.5rem;
            height: 2.5rem;
            border-radius: 0.5rem;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-weight: 800;
        }
        #page-path-simulator-landing .path-sim-v2-sec-icon.is-red,
        #page-path-simulator-landing .path-sim-v2-sec-icon.is-blue,
        #page-path-simulator-landing .path-sim-v2-sec-icon.is-purple,
        #page-path-simulator-landing .path-sim-v2-sec-icon.is-green { background: #dbeafe; color: #2563eb; }
        #page-path-simulator-landing .path-sim-v2-highlight {
            background: #f9fafb;
            border-radius: 0.75rem;
            border-left: 4px solid #2563eb;
            padding: 1.25rem;
            color: #4b5563;
            line-height: 1.75;
        }
        #page-path-simulator-landing .path-sim-v2-highlight span { color: #2563eb; font-weight: 700; }
        #page-path-simulator-landing .path-sim-v2-grid2 {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 1rem;
        }
        #page-path-simulator-landing .path-sim-v2-mini-card {
            padding: 1rem;
            border: 1px solid #f3f4f6;
            border-radius: 0.75rem;
            transition: box-shadow .2s ease, transform .2s ease;
        }
        #page-path-simulator-landing .path-sim-v2-mini-card:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(15, 23, 42, .08); }
        #page-path-simulator-landing .path-sim-v2-mini-card p { font-size: .875rem; color: #4b5563; line-height: 1.7; }
        #page-path-simulator-landing .path-sim-v2-data-badge {
            display: inline-block;
            background: rgba(37, 99, 235, 0.1);
            color: #2563eb;
            padding: 4px 12px;
            border-radius: 999px;
            font-size: .85rem;
            font-weight: 600;
            margin-bottom: .5rem;
        }
        #page-path-simulator-landing .path-sim-v2-tip { color: #4b5563; margin-bottom: 1rem; font-size: .875rem; font-style: italic; }
        #page-path-simulator-landing .path-sim-v2-tags { display: flex; flex-wrap: wrap; gap: .75rem; }
        #page-path-simulator-landing .path-sim-v2-tags span {
            background: #f1f5f9;
            color: #334155;
            padding: .5rem 1rem;
            border-radius: .5rem;
            font-size: .875rem;
            font-weight: 500;
        }
        #page-path-simulator-landing .path-sim-v2-timeline {
            position: relative;
            padding-left: 1.25rem;
            border-left: 2px dashed #bfdbfe;
            display: grid;
            gap: 1.5rem;
        }
        #page-path-simulator-landing .path-sim-v2-timeline h4 { font-size: 1rem; font-weight: 700; color: #374151; margin-bottom: .25rem; }
        #page-path-simulator-landing .path-sim-v2-timeline h4.is-blue { color: #2563eb; }
        #page-path-simulator-landing .path-sim-v2-timeline p { color: #6b7280; font-size: .875rem; }
        #page-path-simulator-landing .path-sim-v2-resume-box {
            background: #eff6ff;
            border-radius: 1rem;
            padding: 1.5rem;
        }
        #page-path-simulator-landing .path-sim-v2-resume-box h3 {
            color: #1e3a8a;
            font-size: 1.125rem;
            font-weight: 700;
            margin-bottom: .75rem;
            text-decoration: underline;
            text-underline-offset: 4px;
            text-decoration-color: #93c5fd;
        }
        #page-path-simulator-landing .path-sim-v2-resume-box ul { display: grid; gap: .75rem; padding-left: 1rem; }
        #page-path-simulator-landing .path-sim-v2-resume-box li { color: #1e40af; font-size: .875rem; line-height: 1.6; }
        #page-path-simulator-landing .path-sim-v2-disclaimer {
            padding: 2rem;
            border-top: 1px solid #f3f4f6;
            background: #f9fafb;
            color: #9ca3af;
            font-size: .75rem;
            line-height: 1.7;
        }
        #page-path-simulator-landing .path-sim-v2-floating-wrap {
            position: fixed;
            right: 5rem;
            bottom: 2rem;
            z-index: 50;
            display: flex;
            flex-direction: column;
            align-items: center;
        }
        #page-path-simulator-landing .path-sim-v2-floating-hint {
            background: #fff;
            padding: .5rem 1rem;
            border-radius: .75rem;
            box-shadow: 0 10px 25px rgba(15, 23, 42, .12);
            border: 1px solid #dbeafe;
            margin-bottom: .75rem;
            color: #2563eb;
            font-size: .875rem;
            font-weight: 700;
            animation: path-sim-v2-bounce 1.6s infinite;
        }
        #page-path-simulator-landing .path-sim-v2-floating-btn {
            animation: path-sim-v2-pulse 2s infinite;
            box-shadow: 0 10px 25px rgba(37, 99, 235, 0.4);
        }
        #page-path-simulator-landing .path-sim-v2-floating-sub {
            margin-top: .5rem;
            color: #9ca3af;
            font-size: .75rem;
        }
        #page-path-simulator-landing .path-sim-landing-reveal {
            opacity: 0;
            transform: translateY(24px);
            transition: opacity .45s ease, transform .45s ease;
        }
        #page-path-simulator-landing .path-sim-landing-reveal.active {
            opacity: 1;
            transform: translateY(0);
        }
        @keyframes path-sim-v2-pulse {
            0% { transform: scale(1); }
            50% { transform: scale(1.05); }
            100% { transform: scale(1); }
        }
        @keyframes path-sim-v2-bounce {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-4px); }
        }
        @media (max-width: 768px) {
            #page-path-simulator-landing .path-sim-v2-main {
                width: 95%;
                margin-top: 20px;
            }
            #page-path-simulator-landing .path-sim-v2-back-wrap {
                width: 95%;
            }
            #page-path-simulator-landing .path-sim-v2-content {
                padding: 1.25rem;
                gap: 2rem;
            }
            #page-path-simulator-landing .path-sim-v2-grid2 {
                grid-template-columns: 1fr;
            }
            #page-path-simulator-landing .path-sim-v2-banner h2 {
                font-size: 1.45rem;
            }
            #page-path-simulator-landing .path-sim-v2-floating-wrap {
                right: 0;
                left: 0;
                bottom: 0;
                padding: .75rem 1rem;
                background: rgba(255, 255, 255, .9);
                backdrop-filter: blur(10px);
                border-top: 1px solid #e2e8f0;
            }
            #page-path-simulator-landing .path-sim-v2-floating-btn {
                width: 100%;
                max-width: 24rem;
            }
        }
