
        /* 基线 */
        html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
        body { font-family: "Microsoft YaHei", "SourceHanSansCN", system-ui, sans-serif; }

        /* 桌面竖排导航 */
        .vertical-nav a,
        .vertical-nav button {
            writing-mode: vertical-rl;
            font-family: "SourceHanSansCN", "Microsoft YaHei", sans-serif;
            font-size: 15px;
            font-weight: 400;
            letter-spacing: 0.24em;
            color: #000000;
            padding: 6px 4px;
            position: relative;
            transition: font-weight 0.3s ease, color 0.3s ease;
        }
        .vertical-nav button { background: none; border: none; cursor: pointer; }
        .vertical-nav a::before,
        .vertical-nav button::before {
            content: "";
            position: absolute;
            top: 0; left: 0;
            width: 2px; height: 0;
            background: #7C1415;
            transition: height 0.3s ease;
        }
        .vertical-nav a:hover::before,
        .vertical-nav button:hover::before { height: 100%; }
        .vertical-nav a:hover,
        .vertical-nav button:hover { font-weight: 500; }
        .vertical-nav a:focus-visible,
        .vertical-nav button:focus-visible {
            outline: 1px solid #7C1415;
            outline-offset: 4px;
        }

        /* 页头滚动变色 */
        .site-header.scrolled { background-color: #7C1415; border-bottom-color: rgba(255, 255, 255, 0.35); }
        .site-header.scrolled .logo-img { filter: brightness(0) invert(1); }
        .site-header.scrolled .vertical-nav a,
        .site-header.scrolled .vertical-nav button { color: #FFFFFF; }
        .site-header.scrolled .vertical-nav a::before,
        .site-header.scrolled .vertical-nav button::before { background: #FFFFFF; }
        .site-header.scrolled #hamburger { color: #FFFFFF; }
        .site-header.scrolled #drawerClose { color: #FFFFFF; }

        /* 页脚分隔线 */
        .site-footer { border-top: 1px solid #7C1415; }

        /* 抽屉（移动端） */
        .drawer .drawer-overlay { background: rgba(0, 0, 0, 0.5); opacity: 0; pointer-events: none; transition: opacity 0.3s ease; }
        .drawer .drawer-panel { transform: translateX(100%); transition: transform 0.3s ease; }
        .drawer.open { pointer-events: auto; }
        .drawer.open .drawer-overlay { opacity: 1; pointer-events: auto; }
        .drawer.open .drawer-panel { transform: translateX(0); }

        .drawer-link {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 18px 4px;
            font-family: "SourceHanSansCN", "Microsoft YaHei", sans-serif;
            font-size: 18px;
            font-weight: 500;
            color: #000000;
            border-bottom: 1px solid #E5E5E5;
            transition: padding-left 0.3s ease, color 0.3s ease;
        }
        .drawer-link:hover, .drawer-link:focus-visible {
            padding-left: 12px;
            color: #7C1415;
            outline: none;
        }

        .drawer-link:hover::after { opacity: 1; transform: translateX(4px); }

        /* 步骤列表 */
        .step-item { transition: color 0.3s ease; }
        .step-item.active { color: #7C1415; font-weight: 500; }
        .step-item.done { color: #666666; }
        .step-item.error { color: #000000; font-weight: 500; }

        /* 状态点（脉冲） */
        .status-dot { background: #7C1415; }
        .status-dot.done { background: #000000; animation: none; }
        .status-dot.error { background: #000000; animation: none; }
        .status-dot:not(.done):not(.error) { animation: pulse 1.2s ease-in-out infinite; }
        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.2; } }

        /* 按钮体系 */
        .btn-ink {
            background: transparent;
            color: #000000;
            border: 1px solid #212121;
            transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
            font-family: "SourceHanSansCN", "Microsoft YaHei", sans-serif;
        }
        .btn-ink:hover:not(:disabled) { background: #000000; color: #FFFFFF; border-color: #000000; }
        .btn-ink:focus-visible { outline: 1px solid #7C1415; outline-offset: 2px; }
        .btn-ink:disabled { color: #999999; border-color: #E5E5E5; cursor: not-allowed; }

        .btn-brand {
            background: #7C1415;
            color: #FFFFFF;
            border: 1px solid #7C1415;
            transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
            font-family: "SourceHanSansCN", "Microsoft YaHei", sans-serif;
        }
        .btn-brand:hover:not(:disabled) { background: #5E0F10; border-color: #5E0F10; }
        .btn-brand:focus-visible { outline: 2px solid #7C1415; outline-offset: 2px; }
        .btn-brand:disabled {
            background: transparent;
            color: #999999;
            border-color: #E5E5E5;
            cursor: not-allowed;
        }
        .btn-brand .arrow, .btn-ink .arrow { transition: transform 0.3s ease; display: inline-block; }
        .btn-brand:hover:not(:disabled) .arrow,
        .btn-ink:hover:not(:disabled) .arrow { transform: translateX(4px); }

        /* 登录弹窗 */
        .login-modal { display: none; position: fixed; inset: 0; z-index: 60; align-items: center; justify-content: center; }
        .login-modal.open { display: flex; }
        .login-modal .login-overlay { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.5); }
        .login-modal .login-panel {
            position: relative;
            width: 92%;
            max-width: 400px;
            background: #FFFFFF;
            border: 1px solid #212121;
            padding: 28px 28px 32px;
        }
        .login-modal .login-title { font-family: "SourceHanSansCN", "Microsoft YaHei", sans-serif; font-size: 20px; font-weight: 500; color: #7C1415; letter-spacing: 0.08em; }
        .login-modal .login-subtitle { font-size: 12px; color: #999999; margin-top: 4px; }
        .login-modal .login-close { position: absolute; top: 10px; right: 10px; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; color: #000000; font-size: 16px; }
        .login-modal .login-close:hover { color: #7C1415; }
        .login-field { display: block; width: 100%; border: 1px solid #212121; padding: 10px 12px; font-size: 14px; margin-top: 16px; background: #FFFFFF; color: #000000; }
        .login-field:focus { outline: 1px solid #7C1415; border-color: #7C1415; }
        .login-error { display: none; margin-top: 12px; font-size: 13px; color: #7C1415; }
        .login-error.show { display: block; }
        .login-submit { width: 100%; height: 44px; margin-top: 18px; background: #7C1415; color: #FFFFFF; border: 1px solid #7C1415; font-size: 15px; font-family: "SourceHanSansCN", "Microsoft YaHei", sans-serif; transition: background 0.3s ease, border-color 0.3s ease; }
        .login-submit:hover:not(:disabled) { background: #5E0F10; border-color: #5E0F10; }
        .login-submit:disabled { background: transparent; color: #999999; border-color: #E5E5E5; cursor: not-allowed; }
        .login-hint { margin-top: 14px; font-size: 12px; color: #999999; text-align: center; }
        /* 弹窗打开动画 */
        .login-modal.open .login-overlay { animation: modalFadeIn 0.25s ease; }
        .login-modal.open .login-panel { animation: modalSlideUp 0.25s ease; }
        @keyframes modalFadeIn { from { opacity: 0; } to { opacity: 1; } }
        @keyframes modalSlideUp { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
        body.modal-open { overflow: hidden; }
        #drawerAuthBtn::after { content: none; }
        #drawerAuthBtn { font-family: "SourceHanSansCN", "Microsoft YaHei", sans-serif; background: none; }

        /* 上传区 */
        .upload-zone { transition: background 0.3s ease, border-color 0.3s ease, border-style 0.3s ease; }
        .upload-zone.dragover {
            border-style: solid;
            border-color: #7C1415;
            background: #F7EFEF;
        }
        /* busy 态：去掉容器外观，内容自由展开 */
        .upload-zone[data-state="busy"] {
            height: auto;
            min-height: 0;
            border: none;
            background: transparent;
            padding: 0;
        }
        .upload-zone[data-state="busy"]:hover { background: transparent; }
        /* done 态：隐藏上传区，让位给报告 */
        .upload-zone[data-state="done"] { display: none; }

        /* 客户姓名：提交分析后只读 */
        #customerName:disabled { background: #F5F5F5; color: #999999; cursor: not-allowed; }

        /* 进度条 */
        .progress-fill { transition: width 0.6s ease; }

        /* 报告内 Markdown 排版 */
        .report-box { font-size: 14px; line-height: 1.8; color: #000000; word-break: break-word; }
        .report-box h1 { font-family: "SourceHanSansCN", sans-serif; font-size: 22px; font-weight: 500; margin: 16px 0 10px; padding-bottom: 8px; border-bottom: 2px solid #000000; }
        .report-box h2 { font-family: "SourceHanSansCN", sans-serif; font-size: 18px; font-weight: 500; margin: 20px 0 8px; }
        .report-box h3 { font-family: "SourceHanSansCN", sans-serif; font-size: 15px; font-weight: 500; margin: 14px 0 6px; }
        .report-box p { margin: 8px 0; }
        .report-box ul, .report-box ol { padding-left: 24px; margin: 8px 0; }
        .report-box li { margin: 4px 0; }
        .report-box img { max-width: 100%; height: auto; margin: 12px 0; display: block; }
        .report-box strong { color: #000000; font-weight: 500; }
        .report-box em { color: #666666; font-style: normal; }
        .report-box hr { border: none; border-top: 1px solid #212121; margin: 16px 0; }
        .report-box table { border-collapse: collapse; width: 100%; margin: 12px 0; font-size: 13px; }
        .report-box table th, .report-box table td { border: 1px solid #212121; padding: 8px 10px; text-align: left; }
        .report-box blockquote { border-left: 2px solid #212121; padding: 4px 0 4px 12px; color: #666666; margin: 8px 0; }
        .report-box code { background: #F5F5F5; padding: 2px 5px; font-size: 0.9em; }
        .report-box pre { background: #F5F5F5; padding: 12px; overflow-x: auto; font-size: 13px; }
        .report-box a { color: #000000; text-decoration: underline; text-underline-offset: 2px; }

        /* 移动端报告降级 */
        @media (max-width: 640px) {
            .report-box { font-size: 14px; line-height: 1.75; }
            .report-box h1 { font-size: 20px; }
            .report-box h2 { font-size: 17px; }
            .report-box h3 { font-size: 15px; }
            .report-box table { font-size: 12px; }
            .report-box table th, .report-box table td { padding: 6px 8px; }
        }

        /* 减弱动画偏好 */
        @media (prefers-reduced-motion: reduce) {
            *, *::before, *::after {
                transition-duration: 0.01ms !important;
                animation-duration: 0.01ms !important;
                scroll-behavior: auto !important;
            }
        }

        /* 抽屉打开时锁滚动 */
        body.drawer-open { overflow: hidden; }
    