:root {

            --glass-blur: 16px;
            --glass-sat: 1.55;
            --glass-edge: inset 0 1px 0 rgba(255, 255, 255, 0.65);
            --glass-drop: 0 10px 40px rgba(15, 23, 42, 0.1), 0 2px 8px rgba(15, 23, 42, 0.04);
            --bg-main:
                radial-gradient(1200px 720px at 8% -8%, rgba(99, 102, 241, 0.2) 0%, transparent 55%),
                radial-gradient(840px 520px at 100% 12%, rgba(56, 189, 248, 0.16) 0%, transparent 52%),
                radial-gradient(600px 400px at 50% 108%, rgba(129, 140, 248, 0.12) 0%, transparent 45%),
                linear-gradient(180deg, #f0f9ff 0%, #eef2ff 38%, #f8fafc 100%);
            --text-main: #0f172a;
            --text-muted: #64748b;
            --panel-bg: rgba(255, 255, 255, 0.52);
            --panel-border: rgba(255, 255, 255, 0.55);
            --menu-bg: rgba(255, 255, 255, 0.48);
            --line-color: rgba(148, 163, 184, 0.38);
            --soft-bg: rgba(248, 250, 252, 0.72);
            --soft-bg-2: rgba(238, 242, 255, 0.75);
            --accent: #2563eb;
            --accent-soft: rgba(37, 99, 235, 0.14);
            /* 对比页新手指引：须高于 drawer portal(10420)、颜色 dock(10258)、axis 弹层(100100) */

            /* 拉手：底层与 drawer-body 同色（sheet-tint）；上层仅顶部浅色 wash，中段即透明，与下方无断层 */

            --backdrop-std: saturate(var(--glass-sat)) blur(var(--glass-blur));
            --backdrop-menu: saturate(calc(var(--glass-sat) + 0.08)) blur(calc(var(--glass-blur) + 4px));
            /* 统一圆角 / 动效（提升全站组件「一体感」） */
            --radius-xs: 10px;
            --radius-sm: 12px;
            --radius-md: 14px;
            --radius-lg: 16px;
            --radius-xl: 18px;
            --radius-2xl: 22px;
            --ui-ease: cubic-bezier(0.4, 0, 0.2, 1);
            --ui-duration: 0.2s;
        
        }[data-theme="dark"] {

            --glass-edge: inset 0 1px 0 rgba(255, 255, 255, 0.08);
            --glass-drop: 0 12px 42px rgba(0, 0, 0, 0.45), 0 2px 8px rgba(0, 0, 0, 0.25);
            --bg-main:
                radial-gradient(980px 600px at 12% -6%, rgba(59, 130, 246, 0.16) 0%, transparent 55%),
                radial-gradient(700px 480px at 96% 8%, rgba(99, 102, 241, 0.12) 0%, transparent 52%),
                linear-gradient(180deg, #0c1222 0%, #111827 48%, #0f172a 100%);
            --text-main: #e2e8f0;
            --text-muted: #94a3b8;
            --panel-bg: rgba(30, 41, 59, 0.52);
            --panel-border: rgba(148, 163, 184, 0.14);
            --menu-bg: rgba(17, 24, 39, 0.5);
            --line-color: rgba(148, 163, 184, 0.2);
            --soft-bg: rgba(15, 23, 42, 0.58);
            --soft-bg-2: rgba(30, 41, 59, 0.55);
            --accent: #60a5fa;
            --accent-soft: rgba(59, 130, 246, 0.2);

        
        }html {
            color-scheme: light;
        }html[data-theme="dark"] {
            color-scheme: dark;
        }@media (prefers-color-scheme: dark) {
            html[data-theme="light"] input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]),
            html[data-theme="light"] select,
            html[data-theme="light"] textarea {
                background-color: #fff;
                color: var(--text-main);
                -webkit-text-fill-color: currentColor;
            }
            html[data-theme="light"] input::placeholder,
            html[data-theme="light"] textarea::placeholder {
                color: var(--text-muted);
                opacity: 1;
            }
        }html, body {
            height: 100%;
        }body {
            margin: 0;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
            background: var(--bg-main);
            background-attachment: scroll;
            color: var(--text-main);
            overflow: hidden;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
        }.container {
            max-width: 100%;
            margin: 0 auto;
            padding: 12px clamp(14px, 2.5vw, 24px);
            height: 100vh;
            box-sizing: border-box;
        }.layout {
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: stretch;
            height: 100%;
        }.layout.has-dash-global-head .announcement-panel.comparison-head-toolbar,
        .layout.has-dash-global-head .announcement-panel.trend-head-toolbar,
        .layout.has-dash-global-head .announcement-panel.page-local-head,
        .layout.has-dash-global-head #certification .wiki-notice-meta,
        .layout.has-dash-global-head #wiki .wiki-notice-meta {
            display: none !important;
        }.dash-global-announce {
            flex: 0 0 auto;
            width: 100%;
            height: 30px;
            min-height: 30px;
            border: 1px solid var(--panel-border);
            border-radius: var(--radius-lg);
            background: var(--panel-bg);
            box-shadow: var(--glass-drop), var(--glass-edge);
            -webkit-backdrop-filter: var(--backdrop-std);
            backdrop-filter: var(--backdrop-std);
            overflow: hidden;
            box-sizing: border-box;
        }.dash-global-announce-viewport {
            width: 100%;
            height: 100%;
            overflow: hidden;
            position: relative;
        }.dash-global-announce-track {
            display: inline-flex;
            flex-wrap: nowrap;
            align-items: center;
            list-style: none;
            margin: 0;
            padding: 0;
            height: 100%;
            white-space: nowrap;
            will-change: transform;
            animation: dashGlobalAnnounceMarquee var(--dash-announce-duration, 36s) linear infinite;
        }.dash-global-announce-track:hover {
            animation-play-state: paused;
        }.dash-global-announce-track li {
            display: inline-block;
            flex: 0 0 auto;
            padding: 0 2.75rem 0 0;
            font-size: 12px;
            line-height: 30px;
            color: var(--text-main);
            white-space: nowrap;
        }@keyframes dashGlobalAnnounceMarquee {
            0% { transform: translateX(0); }
            100% { transform: translateX(var(--dash-announce-shift, -50%)); }
        }.left-menu,
        .dash-top-nav {
            width: 100%;
            background: var(--menu-bg);
            border: 1px solid var(--panel-border);
            border-radius: var(--radius-xl);
            padding: 10px 12px;
            position: relative;
            top: auto;
            box-shadow: var(--glass-drop), var(--glass-edge);
            backdrop-filter: var(--backdrop-menu);
            -webkit-backdrop-filter: var(--backdrop-menu);
            height: auto;
            max-height: none;
            min-height: 0;
            flex: 0 0 auto;
            box-sizing: border-box;
            display: grid;
            grid-template-columns: auto minmax(0, 1fr) auto;
            grid-template-rows: auto auto;
            align-items: center;
            column-gap: 10px;
            row-gap: 10px;
            overflow: visible;
        }.dash-top-nav-scroll {
            grid-column: 1 / -1;
            grid-row: 2;
            display: flex;
            flex: 1 1 auto;
            min-width: 0;
            align-items: center;
            gap: 6px;
            overflow-x: auto;
            overflow-y: hidden;
            -webkit-overflow-scrolling: touch;
            scrollbar-width: thin;
            padding: 2px 0 4px;
            scroll-snap-type: x proximity;
            -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 10px, #000 calc(100% - 10px), transparent 100%);
            mask-image: linear-gradient(90deg, transparent 0, #000 10px, #000 calc(100% - 10px), transparent 100%);
        }.dash-top-nav-tools {
            grid-column: 2 / -1;
            grid-row: 1;
            justify-self: end;
            flex: 0 0 auto;
            margin-left: 0;
            padding-left: 0;
            border-left: none;
            display: inline-flex;
            align-items: center;
            justify-content: flex-end;
            flex-wrap: nowrap;
            gap: 6px;
            min-height: 36px;
        }.dash-top-nav-date {
            font-size: 11px;
            font-weight: 500;
            color: var(--text-muted);
            letter-spacing: 0.02em;
            white-space: nowrap;
            line-height: 1;
            padding: 0 2px;
        }.dash-top-nav-tools .fe-locale-edit-entry {
            padding: 5px 10px;
            font-size: 11px;
            border-radius: 8px;
            border: 1px solid rgba(124, 58, 237, 0.4);
            background: rgba(139, 92, 246, 0.1);
            color: #6d28d9;
            box-shadow: none;
        }[data-theme="dark"] .dash-top-nav-tools .fe-locale-edit-entry {

            background: rgba(139, 92, 246, 0.18);
            color: #c4b5fd;
            border-color: rgba(167, 139, 250, 0.45);
        
        }.dash-top-nav-tools .fe-locale-edit-entry:hover {
            filter: none;
            background: rgba(139, 92, 246, 0.2);
        }.dash-top-nav-tools .theme-toggle-btn {
            margin-left: 0;
            width: 34px;
            height: 34px;
            padding: 0;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 8px;
            font-size: 14px;
            line-height: 1;
            flex-shrink: 0;
        }.dash-top-nav-tools .frontend-locale-select {
            margin-left: 0;
            height: 34px;
            min-height: 34px;
            padding: 0 28px 0 10px;
            border-radius: 8px;
            font-size: 12px;
            max-width: 9.5rem;
        }@media (min-width: 901px) {
            .left-menu,
            .dash-top-nav {
                grid-template-columns: auto minmax(0, 1fr) auto;
                grid-template-rows: auto;
                column-gap: 12px;
                row-gap: 0;
                padding: 8px 12px;
            }
            .left-menu-logo {
                grid-column: 1;
                grid-row: 1;
            }
            .dash-top-nav-scroll {
                grid-column: 2;
                grid-row: 1;
                padding: 2px 0;
                -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 8px, #000 calc(100% - 16px), transparent 100%);
                mask-image: linear-gradient(90deg, transparent 0, #000 8px, #000 calc(100% - 16px), transparent 100%);
            }
            .dash-top-nav-tools {
                grid-column: 3;
                grid-row: 1;
                padding-left: 10px;
                border-left: 1px solid var(--panel-border);
            }
        }.left-menu-logo {
            grid-column: 1;
            grid-row: 1;
            align-self: center;
            display: flex;
            align-items: center;
            border: none;
            border-radius: 8px;
            background: transparent;
            padding: 2px 0;
            margin: 0;
            flex: 0 0 auto;
            text-align: center;
            text-decoration: none;
            transition: opacity 0.15s ease;
            box-shadow: none;
            -webkit-backdrop-filter: none;
            backdrop-filter: none;
        }.left-menu a.left-menu-logo:hover,
        .left-menu a.left-menu-logo:focus-visible {
            opacity: 0.82;
            transform: none;
            box-shadow: none;
            border-color: transparent;
            background: transparent;
        }.left-menu-logo img {
            height: 24px;
            width: auto;
            display: block;
        }.left-menu-title {
            font-size: 12px;
            color: var(--accent);
            margin: 0 0 12px;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            font-weight: 600;
        }.left-menu-title:before {
            content: "";
            display: inline-block;
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: var(--accent);
            margin-right: 8px;
            vertical-align: middle;
        }.left-menu a {
            display: block;
            color: var(--text-main);
            text-decoration: none;
            border: 1px solid var(--panel-border);
            border-radius: 10px;
            padding: 6px 10px;
            margin-bottom: 0;
            font-size: 12px;
            font-weight: 500;
            background: rgba(255, 255, 255, 0.35);
            -webkit-backdrop-filter: saturate(1.2) blur(8px);
            backdrop-filter: saturate(1.2) blur(8px);
            transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease;
        }[data-theme="dark"] .left-menu a {

            background: rgba(15, 23, 42, 0.35);
        
        }.left-menu a.page-menu-item {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            font-size: 12px;
            font-weight: 600;
            line-height: 1.25;
            border: 1px solid transparent;
            border-radius: 999px;
            padding: 7px 12px;
            flex: 0 0 auto;
            white-space: nowrap;
            scroll-snap-align: start;
            background: rgba(255, 255, 255, 0.5);
            box-shadow: none;
            transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
        }[data-theme="dark"] .left-menu a.page-menu-item {

            background: rgba(30, 41, 59, 0.45);
        
        }.left-menu .menu-item-icon {
            flex-shrink: 0;
            width: 18px;
            height: 18px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            color: var(--text-muted);
        }.left-menu .menu-item-icon svg {
            width: 18px;
            height: 18px;
            display: block;
        }.left-menu .menu-item-label {
            min-width: 0;
            flex: 1;
        }.left-menu a.page-menu-item:hover .menu-item-icon,
        .left-menu a.page-menu-item:focus-visible .menu-item-icon {
            color: var(--accent);
        }.left-menu a.primary {
            border-color: rgba(37, 99, 235, 0.32);
            background: var(--accent-soft);
            color: var(--accent);
            box-shadow: inset 0 0 0 1px rgba(37, 99, 235, 0.08);
        }[data-theme="dark"] .left-menu a.primary {

            border-color: rgba(96, 165, 250, 0.38);
            color: var(--accent);
            box-shadow: inset 0 0 0 1px rgba(96, 165, 250, 0.12);
        
        }.left-menu a.primary .menu-item-icon {
            color: var(--accent);
        }.left-menu a.page-menu-item:hover,
        .left-menu a.page-menu-item:focus-visible {
            transform: none;
            border-color: rgba(37, 99, 235, 0.28);
            background: rgba(239, 246, 255, 0.85);
            box-shadow: none;
        }[data-theme="dark"] .left-menu a.page-menu-item:hover,
        [data-theme="dark"] .left-menu a.page-menu-item:focus-visible {

            background: rgba(30, 58, 138, 0.35);
            border-color: rgba(96, 165, 250, 0.35);
        
        }.left-menu a.page-menu-item.primary:hover,
        .left-menu a.page-menu-item.primary:focus-visible {
            background: var(--accent-soft);
            border-color: rgba(37, 99, 235, 0.45);
        }.left-menu a:hover {
            transform: none;
        }.main-content {
            flex: 1;
            min-width: 0;
            height: 100%;
            overflow: hidden;
            display: flex;
            flex-direction: column;
        }.mobile-sidebar-toggle {
            display: none !important;
            align-items: center;
            justify-content: center;
            width: 48px;
            height: 48px;
            margin: 0;
            padding: 0;
            border-radius: 14px;
            border: 1px solid var(--panel-border);
            background: var(--menu-bg);
            color: var(--text-main);
            box-shadow: var(--glass-drop), var(--glass-edge);
            backdrop-filter: var(--backdrop-menu);
            -webkit-backdrop-filter: var(--backdrop-menu);
            cursor: pointer;
            font-size: 22px;
            line-height: 1;
            -webkit-tap-highlight-color: transparent;
        }.mobile-sidebar-toggle-icon {
            display: flex;
            width: 1em;
            height: 1em;
            pointer-events: none;
        }.mobile-sidebar-toggle:active {
            transform: scale(0.96);
        }.mobile-nav-backdrop {
            display: none !important;
            position: fixed;
            inset: 0;
            z-index: 1040;
            background: rgba(15, 23, 42, 0.5);
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            transition: opacity 0.26s ease, visibility 0.26s ease;
            -webkit-tap-highlight-color: transparent;
        }.layout.sidebar-open-on-mobile .mobile-nav-backdrop {
            opacity: 1;
            visibility: visible;
            pointer-events: auto;
        }.title {
            display: flex;
            justify-content: flex-end;
            align-items: center;
            margin-bottom: 8px;
            flex: 0 0 auto;
        }.brand-logo {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 4px 6px;
            border-radius: 10px;
            border: 1px solid var(--line-color);
            background: #000;
            color: var(--text-main);
            text-decoration: none;
            font-weight: 700;
            letter-spacing: 0.02em;
            font-size: 13px;
        }.brand-logo-img {
            height: 36px;
            width: auto;
            display: block;
        }.announcement-panel {
            margin-top: 8px;
            margin-bottom: 8px;
            border: 1px solid var(--panel-border);
            border-radius: var(--radius-lg);
            background: var(--panel-bg);
            padding: 4px 10px;
            -webkit-backdrop-filter: var(--backdrop-std);
            backdrop-filter: var(--backdrop-std);
            box-shadow: var(--glass-drop), var(--glass-edge);
            height: 42px;
            min-height: 42px;
            max-height: 42px;
            box-sizing: border-box;
            overflow: hidden;
        }.announcement-panel.page-section {
            flex: 0 0 42px;
            min-height: 42px;
            max-height: 42px;
            overflow: hidden;
        }.announcement-row {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            height: 100%;
        }.announcement-head-right {
            color: var(--text-muted);
            font-size: 12px;
            display: inline-flex;
            align-items: center;
            gap: 6px;
            white-space: nowrap;
            flex: 0 0 auto;
        }.announcement-ticker {
            position: relative;
            overflow: hidden;
            height: 100%;
            flex: 1 1 auto;
            min-width: 0;
        }.announcement-list {
            list-style: none;
            margin: 0;
            padding: 0;
            transition: transform .45s ease;
        }.announcement-list li {
            height: 32px;
            line-height: 32px;
            padding: 0 2px;
            font-size: 12px;
            color: var(--text-main);
            white-space: nowrap;
            text-overflow: ellipsis;
            overflow: hidden;
            word-break: normal;
        }.nav-links a {
            color: var(--accent);
            text-decoration: none;
            margin-right: 14px;
            font-size: 13px;
        }.announcement-head-right .locale-switch-bundle,
        #wiki .wiki-notice-meta .locale-switch-bundle,
        .dash-top-nav-tools .locale-switch-bundle {
            display: inline-flex;
            align-items: center;
            vertical-align: middle;
        }.announcement-head-right .frontend-locale-select,
        .dash-top-nav-tools .frontend-locale-select {
            margin-left: 6px;
            padding: 4px 8px;
            border: 1px solid var(--panel-border);
            border-radius: 10px;
            font-size: 12px;
            background: var(--panel-bg);
            color: var(--text-main);
            max-width: 10rem;
            -webkit-backdrop-filter: saturate(1.2) blur(8px);
            backdrop-filter: saturate(1.2) blur(8px);
        }#wiki .wiki-notice-meta .frontend-locale-select {
            padding: 4px 8px;
            border: 1px solid var(--panel-border);
            border-radius: 10px;
            font-size: 12px;
            background: var(--panel-bg);
            color: var(--text-main);
            max-width: 10rem;
            -webkit-backdrop-filter: saturate(1.2) blur(8px);
            backdrop-filter: saturate(1.2) blur(8px);
        }.theme-toggle-btn {
            margin-left: 4px;
            padding: 4px 10px;
            border-radius: 10px;
            border: 1px solid var(--panel-border);
            background: var(--panel-bg);
            color: var(--text-main);
            font-size: 12px;
            cursor: pointer;
            -webkit-backdrop-filter: saturate(1.2) blur(8px);
            backdrop-filter: saturate(1.2) blur(8px);
            box-shadow: var(--glass-edge);
        }.cards {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 12px;
            margin-bottom: 12px;
        }.card {
            background: rgba(255, 255, 255, 0.45);
            border: 1px solid var(--panel-border);
            border-radius: var(--radius-lg);
            padding: 14px;
            box-shadow: var(--glass-drop), var(--glass-edge);
            -webkit-backdrop-filter: var(--backdrop-std);
            backdrop-filter: var(--backdrop-std);
        }[data-theme="dark"] .card {

            background: rgba(30, 41, 59, 0.42);
        
        }.card h4 {
            margin: 0 0 8px;
            color: var(--accent);
            font-size: 14px;
            font-weight: 600;
        }.num {
            font-size: 30px;
            font-weight: 700;
            line-height: 1.1;
            margin-bottom: 6px;
        }.desc {
            font-size: 13px;
            color: var(--text-muted);
        }.panel {
            background: var(--panel-bg);
            border: 1px solid var(--panel-border);
            border-radius: var(--radius-xl);
            padding: 12px 14px;
            margin-top: 8px;
            box-shadow: var(--glass-drop), var(--glass-edge);
            -webkit-backdrop-filter: var(--backdrop-std);
            backdrop-filter: var(--backdrop-std);
        }#outputChart {
            width: 100%;
            height: 380px;
        }.feedback-panel {
            max-width: 720px;
        }#health .feedback-panel {
            max-width: none;
            width: 100%;
            box-sizing: border-box;
        }#health h3 {
            margin: 0 0 14px;
            font-size: 18px;
            font-weight: 700;
            color: var(--text-main);
        }#health .feedback-form-layout {
            display: grid;
            grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.9fr);
            gap: 22px 28px;
            align-items: start;
        }#health .feedback-form-intro {
            grid-column: 1 / -1;
        }#health .feedback-form-main .feedback-field textarea {
            min-height: 220px;
        }#health .feedback-contact-card {
            padding: 20px 18px 18px;
            border-radius: 16px;
            background: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
            border: 1px solid rgba(148, 163, 184, 0.35);
            box-shadow: var(--glass-edge);
        }[data-theme="dark"] #health .feedback-contact-card {

            background: rgba(15, 23, 42, 0.45);
            border-color: rgba(255, 255, 255, 0.1);
        
        }#health .feedback-contact-card-title {
            display: block;
            margin: 0 0 6px;
            font-size: 15px;
            font-weight: 700;
            color: var(--text-main);
        }#health .feedback-contact-card-hint {
            margin: 0 0 16px;
            font-size: 13px;
            line-height: 1.5;
            color: var(--text-muted);
        }#health .feedback-contact-card .feedback-field {
            margin-bottom: 12px;
        }#health .feedback-contact-card .feedback-field:last-child {
            margin-bottom: 0;
        }#health .feedback-contact-card input[type="text"],
        #health .feedback-contact-card input[type="email"],
        #health .feedback-contact-card input[type="tel"] {
            border-radius: 999px;
            background: #ffffff;
            border-color: #e2e8f0;
            -webkit-backdrop-filter: none;
            backdrop-filter: none;
        }[data-theme="dark"] #health .feedback-contact-card input[type="text"],
        [data-theme="dark"] #health .feedback-contact-card input[type="email"],
        [data-theme="dark"] #health .feedback-contact-card input[type="tel"] {

            background: rgba(30, 41, 59, 0.85);
            border-color: rgba(148, 163, 184, 0.28);
        
        }#health .feedback-form-footer {
            grid-column: 1 / -1;
            padding-top: 4px;
            border-top: 1px solid var(--panel-border);
        }@media (max-width: 960px) {
            #health .feedback-form-layout {
                grid-template-columns: 1fr;
            }
            #health .feedback-form-main .feedback-field textarea {
                min-height: 160px;
            }
        }.feedback-panel .feedback-intro {
            font-size: 13px;
            color: var(--text-muted);
            margin: 0 0 16px;
            line-height: 1.5;
        }.feedback-panel .feedback-field {
            margin-bottom: 14px;
        }.feedback-panel .feedback-field label {
            display: block;
            font-size: 13px;
            font-weight: 600;
            margin-bottom: 6px;
            color: var(--text-main);
        }.feedback-panel .feedback-field .req {
            color: #dc2626;
            font-weight: 700;
        }.feedback-panel input[type="text"],
        .feedback-panel input[type="email"],
        .feedback-panel input[type="tel"],
        .feedback-panel textarea {
            width: 100%;
            box-sizing: border-box;
            padding: 10px 12px;
            border-radius: 12px;
            border: 1px solid var(--panel-border);
            background: rgba(255, 255, 255, 0.4);
            color: var(--text-main);
            font-size: 14px;
            -webkit-backdrop-filter: saturate(1.2) blur(8px);
            backdrop-filter: saturate(1.2) blur(8px);
        }[data-theme="dark"] .feedback-panel input[type="text"],
        [data-theme="dark"] .feedback-panel input[type="email"],
        [data-theme="dark"] .feedback-panel input[type="tel"],
        [data-theme="dark"] .feedback-panel textarea {

            background: rgba(15, 23, 42, 0.42);
        
        }.feedback-panel textarea {
            min-height: 140px;
            resize: vertical;
        }.feedback-panel .feedback-actions {
            margin-top: 18px;
        }.feedback-panel .feedback-actions button {
            padding: 10px 22px;
            border-radius: 10px;
            border: none;
            font-weight: 600;
            cursor: pointer;
            background: var(--accent);
            color: #fff;
        }.feedback-panel .feedback-actions button:disabled {
            opacity: 0.6;
            cursor: not-allowed;
        }.feedback-panel .feedback-msg {
            margin-top: 12px;
            font-size: 13px;
        }.feedback-panel .feedback-msg.ok { color: #16a34a; }.feedback-panel .feedback-msg.err { color: #dc2626; }.feedback-panel .feedback-privacy {
            margin-top: 14px;
            font-size: 12px;
            color: var(--text-muted);
        }.feedback-honeypot {
            position: absolute;
            left: -9999px;
            width: 1px;
            height: 1px;
            overflow: hidden;
        }.feedback-panel .fe-form-submit-bar {
            display: flex;
            flex-wrap: wrap;
            align-items: flex-end;
            gap: 10px 14px;
            margin-top: 14px;
        }.feedback-panel .fe-form-captcha-block {
            flex: 0 1 auto;
            min-width: 0;
            max-width: 100%;
        }.feedback-panel .fe-captcha-label {
            display: block;
            margin: 0 0 6px;
            font-size: 13px;
            font-weight: 600;
            color: var(--text-main);
        }.feedback-panel .fe-captcha-label .req {
            color: #dc2626;
        }.feedback-panel .fe-captcha-row {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            align-items: center;
        }.feedback-panel .fe-captcha-row .fe-form-submit-actions {
            margin-left: 0;
            justify-content: flex-start;
        }.feedback-panel .fe-captcha-input,
        .feedback-panel .fe-captcha-row input[type="text"] {
            flex: 1 1 96px;
            min-width: 0;
            width: auto;
            max-width: 136px;
            box-sizing: border-box;
            padding: 10px 12px;
            border-radius: 12px;
            border: 1px solid var(--panel-border);
            background: rgba(255, 255, 255, 0.4);
            color: var(--text-main);
            font-size: 14px;
            line-height: 1.25;
            outline: none;
            -webkit-backdrop-filter: saturate(1.2) blur(8px);
            backdrop-filter: saturate(1.2) blur(8px);
            transition: border-color 0.2s ease, box-shadow 0.2s ease;
        }.feedback-panel .fe-captcha-input::placeholder {
            color: var(--text-muted);
            opacity: 0.85;
        }.feedback-panel .fe-captcha-input:focus,
        .feedback-panel .fe-captcha-row input[type="text"]:focus {
            border-color: var(--accent);
            box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.14);
        }[data-theme="dark"] .feedback-panel .fe-captcha-input,
        [data-theme="dark"] .feedback-panel .fe-captcha-row input[type="text"] {

            background: rgba(15, 23, 42, 0.42);
        
        }.feedback-panel .fe-captcha-img {
            height: 40px;
            width: auto;
            border-radius: 12px;
            cursor: pointer;
            border: 1px solid var(--panel-border);
            flex-shrink: 0;
            background: rgba(255, 255, 255, 0.55);
        }[data-theme="dark"] .feedback-panel .fe-captcha-img {

            background: rgba(15, 23, 42, 0.42);
        
        }.feedback-panel .fe-form-submit-actions {
            flex: 0 0 auto;
            margin: 0;
            display: flex;
            align-items: center;
            justify-content: flex-end;
            gap: 8px;
        }.feedback-panel .fe-form-submit-actions button {
            padding: 10px 20px;
            border-radius: 10px;
            border: none;
            font-weight: 600;
            font-size: 14px;
            cursor: pointer;
            white-space: nowrap;
            touch-action: manipulation;
        }.feedback-panel .fe-form-submit-actions .fe-form-submit-btn {
            background: linear-gradient(135deg, #2f8fc8, #0863c4);
            color: #fff;
            box-shadow: 0 8px 20px rgba(8, 99, 196, 0.22);
        }.feedback-panel .fe-form-submit-actions .fe-form-reset-btn {
            background: #fff;
            color: #334155;
            border: 1px solid #e2e8f0;
        }[data-theme="dark"] .feedback-panel .fe-form-submit-actions .fe-form-reset-btn {

            background: rgba(15, 23, 42, 0.55);
            color: #e2e8f0;
            border-color: #334155;
        
        }.feedback-panel .fe-form-submit-actions button:disabled {
            opacity: 0.6;
            cursor: not-allowed;
        }.feedback-panel .fe-captcha-hint {
            flex: 1 1 100%;
            margin: -4px 0 0;
            font-size: 12px;
            color: var(--text-muted);
            line-height: 1.4;
        }@media (max-width: 520px) {
            .feedback-panel .fe-captcha-input,
            .feedback-panel .fe-captcha-row input[type="text"] {
                max-width: none;
                flex: 1 1 88px;
            }
            .feedback-panel .fe-captcha-row .fe-form-submit-actions {
                flex: 1 1 auto;
                width: 100%;
                justify-content: flex-start;
            }
            .feedback-panel .fe-captcha-row .fe-form-submit-actions .fe-form-submit-btn {
                width: 100%;
            }
        }.feedback-panel input[type="number"] {
            width: 100%;
            box-sizing: border-box;
            padding: 10px 12px;
            border-radius: 12px;
            border: 1px solid var(--panel-border);
            background: rgba(255, 255, 255, 0.4);
            color: var(--text-main);
            font-size: 14px;
            -webkit-backdrop-filter: saturate(1.2) blur(8px);
            backdrop-filter: saturate(1.2) blur(8px);
        }[data-theme="dark"] .feedback-panel input[type="number"] {

            background: rgba(15, 23, 42, 0.42);
        
        }.feedback-panel .proc-catalog-empty {
            margin: 0 0 8px;
        }.feedback-panel .proc-section-title {
            display: block;
            font-size: 14px;
            font-weight: 600;
            margin: 20px 0 10px;
            color: var(--text-main);
        }.feedback-panel .proc-section-title.proc-section-first {
            margin-top: 0;
        }.proc-catalog-scroll {
            overflow-x: auto;
            overflow-y: hidden;
            margin: 0 0 4px;
            -webkit-overflow-scrolling: touch;
        }.proc-catalog-table {
            width: 100%;
            border-collapse: collapse;
            min-width: 520px;
            font-size: 14px;
        }.proc-catalog-table th,
        .proc-catalog-table td {
            padding: 10px 12px;
            text-align: left;
            border-bottom: 1px solid var(--line-color);
            vertical-align: middle;
        }.proc-catalog-table th {
            font-size: 12px;
            font-weight: 600;
            color: var(--text-muted);
        }.feedback-panel .proc-catalog-table input[type="text"],
        .feedback-panel .proc-catalog-table input[type="number"] {
            width: 100%;
            min-width: 0;
            max-width: 220px;
        }.feedback-panel .proc-catalog-table td input[type="number"] {
            max-width: 92px;
        }/* 采购清单行内数量：原 92px 过窄，数字易糊成一团 */.feedback-panel .proc-lines-table td input[type="number"].js-pr-qty {
            max-width: none;
            width: 100%;
            min-width: 7.5rem;
            box-sizing: border-box;
            padding: 10px 14px;
            font-size: 15px;
            font-weight: 600;
            font-variant-numeric: tabular-nums;
            line-height: 1.35;
            color: var(--text-main);
        }.proc-lines-table th:nth-child(5),
        .proc-lines-table td:nth-child(5) {
            min-width: 112px;
            width: 8.75rem;
        }/* 需求与合作：表单区与主内容区等宽（不再缩成窄栏） */#procurement .feedback-panel {
            max-width: none;
            width: 100%;
            box-sizing: border-box;
        }#procurement .feedback-panel--procurement.proc-pill-theme {
            max-width: none;
            width: 100%;
        }/* 宽布局下产品检索框与表格列随容器拉满（原 340px / 220px 上限过窄） */#procurement .feedback-panel .proc-lines-table .proc-product-combo {
            max-width: none;
            width: 100%;
        }#procurement .feedback-panel .proc-lines-table input[type="text"].proc-product-search {
            max-width: none;
        }#procurement .feedback-panel .proc-lines-table input[type="text"].js-pr-remark {
            max-width: none;
        }#procurement .proc-form-top-hint {
            margin-top: -6px;
            margin-bottom: 18px;
        }#procurement .proc-tabs {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin: 0 0 18px;
            padding: 5px;
            border-radius: 999px;
            background: rgba(15, 23, 42, 0.06);
        }[data-theme="dark"] #procurement .proc-tabs {

            background: rgba(255, 255, 255, 0.08);
        
        }#procurement .proc-tab {
            flex: 1;
            min-width: 140px;
            border: none;
            padding: 10px 16px;
            border-radius: 999px;
            font-size: 13px;
            font-weight: 600;
            cursor: pointer;
            background: transparent;
            color: var(--text-muted);
            transition: background 0.15s, color 0.15s, box-shadow 0.15s;
        }#procurement .proc-tab.proc-tab--active {
            background: rgba(255, 255, 255, 0.95);
            color: var(--accent);
            box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
        }[data-theme="dark"] #procurement .proc-tab.proc-tab--active {

            background: rgba(30, 41, 59, 0.95);
            color: var(--accent);
        
        }#procurement .proc-tab-panel {
            margin-bottom: 8px;
        }/* 页签内表单：浅灰底胶囊输入（与联系信息区块区分） */#procurement .proc-pill-theme .proc-tab-panel .feedback-field input[type="text"],
        #procurement .proc-pill-theme .proc-tab-panel .feedback-field input[type="email"],
        #procurement .proc-pill-theme .proc-tab-panel .feedback-field input[type="tel"],
        #procurement .proc-pill-theme .proc-tab-panel .feedback-field textarea {
            border-radius: 999px;
            background: #f7f8fa;
            border: 1px solid rgba(15, 23, 42, 0.08);
            box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04);
            -webkit-backdrop-filter: none;
            backdrop-filter: none;
        }#procurement .proc-pill-theme .proc-tab-panel .feedback-field textarea {
            border-radius: 18px;
            min-height: 120px;
            resize: vertical;
        }#procurement .proc-pill-theme .proc-tab-panel .feedback-field textarea[name="coop_detail"] {
            min-height: 180px;
        }[data-theme="dark"] #procurement .proc-pill-theme .proc-tab-panel .feedback-field input[type="text"],
        [data-theme="dark"] #procurement .proc-pill-theme .proc-tab-panel .feedback-field input[type="email"],
        [data-theme="dark"] #procurement .proc-pill-theme .proc-tab-panel .feedback-field input[type="tel"],
        [data-theme="dark"] #procurement .proc-pill-theme .proc-tab-panel .feedback-field textarea {

            background: rgba(15, 23, 42, 0.55);
            border-color: rgba(255, 255, 255, 0.1);
            box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15);
        
        }#procurement .proc-pill-theme .proc-tab-panel .feedback-field label {
            font-weight: 700;
        }/* 主要联系信息：全部与邮箱相同 — 通栏 + 胶囊（含显式 type=text，避免 [type=text] 匹配不到默认 input） */#procurement .proc-contact-block {
            margin-top: 10px;
            padding: 22px 18px 20px;
            border-radius: 16px;
            background: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
            border: 1px solid rgba(148, 163, 184, 0.35);
        }[data-theme="dark"] #procurement .proc-contact-block {

            background: rgba(15, 23, 42, 0.45);
            border-color: rgba(255, 255, 255, 0.1);
        
        }#procurement .proc-contact-block .proc-section-title {
            margin-top: 0;
            margin-bottom: 8px;
            font-size: 15px;
        }#procurement .proc-contact-block .proc-contact-hint {
            margin-top: 0;
            margin-bottom: 18px;
            font-size: 13px;
            color: var(--text-muted);
            font-weight: 500;
        }#procurement .proc-contact-fields {
            display: flex;
            flex-direction: column;
            gap: 18px;
        }#procurement .proc-contact-block .feedback-field.proc-field-full {
            margin-bottom: 0;
        }#procurement .proc-contact-block .feedback-field input[type="text"],
        #procurement .proc-contact-block .feedback-field input[type="email"],
        #procurement .proc-contact-block .feedback-field input[type="tel"] {
            width: 100%;
            max-width: none;
            box-sizing: border-box;
            padding: 13px 18px;
            font-size: 14px;
            border-radius: 999px;
            background: #ffffff;
            border: 1px solid #e2e8f0;
            box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.05);
            color: var(--text-main);
            -webkit-backdrop-filter: none;
            backdrop-filter: none;
        }#procurement .proc-contact-block .feedback-field label {
            display: block;
            font-size: 13px;
            font-weight: 700;
            margin-bottom: 8px;
            color: var(--text-main);
        }[data-theme="dark"] #procurement .proc-contact-block .feedback-field input[type="text"],
        [data-theme="dark"] #procurement .proc-contact-block .feedback-field input[type="email"],
        [data-theme="dark"] #procurement .proc-contact-block .feedback-field input[type="tel"] {

            background: rgba(30, 41, 59, 0.92);
            border-color: rgba(255, 255, 255, 0.14);
            box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.18);
        
        }#procurement .proc-pill-theme .feedback-actions {
            margin-top: 22px;
        }#procurement.page-section {
            display: flex;
            flex-direction: column;
            min-height: 0;
            overflow: auto;
            -webkit-overflow-scrolling: touch;
        }#procurement .feedback-panel--procurement.proc-pill-theme {
            flex: 1 1 auto;
            min-height: 0;
            display: flex;
            flex-direction: column;
        }#procurement .proc-inquiry-form {
            flex: 1 1 auto;
            min-height: 0;
            display: flex;
            flex-direction: column;
        }#procurement .proc-inquiry-form .proc-tabs,
        #procurement .proc-inquiry-form .proc-contact-block,
        #procurement .proc-inquiry-form .proc-tab-panel {
            flex-shrink: 0;
        }#procurement .proc-inquiry-form .fe-form-submit-bar {
            flex: 0 0 auto;
            position: static;
            margin-top: 14px;
            padding: 0 0 calc(6px + env(safe-area-inset-bottom, 0px));
            background: none;
            border-top: none;
        }#procurement .proc-inquiry-form .fe-form-captcha-block {
            flex: 0 1 auto;
            max-width: 100%;
        }#procurement .proc-tab-panel[hidden] {
            display: none !important;
        }#procurement .proc-tab-panel.proc-tab-panel--active {
            display: block;
        }#procurement .proc-pill-theme select {
            border-radius: 999px;
            background: #f7f8fa;
            border: 1px solid rgba(15, 23, 42, 0.08);
            box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04);
            -webkit-backdrop-filter: none;
            backdrop-filter: none;
        }[data-theme="dark"] #procurement .proc-pill-theme select {

            background: rgba(15, 23, 42, 0.55);
            border-color: rgba(255, 255, 255, 0.1);
        
        }#procurement .proc-pill-theme .proc-batch-input-num,
        #procurement .proc-pill-theme .proc-batch-input-text {
            background: #f7f8fa !important;
            border-radius: 999px !important;
            border: 1px solid rgba(15, 23, 42, 0.08) !important;
            box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04) !important;
        }[data-theme="dark"] #procurement .proc-pill-theme .proc-batch-input-num,
        [data-theme="dark"] #procurement .proc-pill-theme .proc-batch-input-text {

            background: rgba(15, 23, 42, 0.55) !important;
            border-color: rgba(255, 255, 255, 0.1) !important;
        
        }#procurement .proc-pill-theme .proc-catalog-table input[type="text"],
        #procurement .proc-pill-theme .proc-catalog-table input[type="number"] {
            border-radius: 999px;
            background: #f7f8fa;
            border: 1px solid rgba(15, 23, 42, 0.08);
            box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04);
        }/* 数量专用：略减圆角，避免 “0” 在极窄胶囊里被看成其它字形 */#procurement .proc-pill-theme .proc-lines-table input.js-pr-qty {
            border-radius: 12px !important;
        }[data-theme="dark"] #procurement .proc-pill-theme .proc-catalog-table input[type="text"],
        [data-theme="dark"] #procurement .proc-pill-theme .proc-catalog-table input[type="number"] {

            background: rgba(30, 41, 59, 0.55);
            border-color: rgba(255, 255, 255, 0.1);
        
        }.feedback-panel select {
            width: 100%;
            max-width: min(340px, 100%);
            min-width: 0;
            box-sizing: border-box;
            padding: 10px 12px;
            border-radius: 12px;
            border: 1px solid var(--panel-border);
            background: rgba(255, 255, 255, 0.4);
            color: var(--text-main);
            font-size: 14px;
            -webkit-backdrop-filter: saturate(1.2) blur(8px);
            backdrop-filter: saturate(1.2) blur(8px);
            cursor: pointer;
        }[data-theme="dark"] .feedback-panel select {

            background: rgba(15, 23, 42, 0.42);
        
        }.proc-lines-hint {
            margin: 0 0 14px !important;
        }.proc-catalog-scroll + .proc-lines-toolbar {
            margin-top: 14px;
        }.proc-product-combo {
            position: relative;
            width: 100%;
            max-width: min(340px, 100%);
            min-width: 140px;
        }.proc-product-select-hidden {
            position: absolute !important;
            width: 1px !important;
            height: 1px !important;
            padding: 0 !important;
            margin: 0 !important;
            overflow: hidden !important;
            clip: rect(0, 0, 0, 0) !important;
            white-space: nowrap !important;
            border: 0 !important;
            opacity: 0 !important;
            pointer-events: none !important;
        }.proc-product-search {
            width: 100%;
            box-sizing: border-box;
            padding: 10px 12px;
            border-radius: 12px;
            border: 1px solid var(--panel-border);
            background: rgba(255, 255, 255, 0.4);
            color: var(--text-main);
            font-size: 14px;
        }[data-theme="dark"] .proc-product-search {

            background: rgba(15, 23, 42, 0.42);
        
        }.proc-product-dd {
            display: none;
            position: absolute;
            left: 0;
            right: 0;
            top: calc(100% + 4px);
            max-height: min(320px, 46vh);
            overflow-y: auto;
            margin: 0;
            padding: 6px 0;
            list-style: none;
            z-index: 800;
            border-radius: 12px;
            border: 1px solid var(--panel-border);
            background: var(--panel-bg);
            -webkit-backdrop-filter: var(--backdrop-std);
            backdrop-filter: var(--backdrop-std);
            box-shadow: var(--glass-drop), var(--glass-edge);
            box-sizing: border-box;
        }.proc-product-dd.proc-product-dd--open {
            display: block;
        }.proc-product-dd li {
            padding: 8px 12px;
            cursor: pointer;
            font-size: 13px;
            line-height: 1.35;
            color: var(--text-main);
            word-break: break-word;
        }.proc-product-dd li:hover,
        .proc-product-dd li.proc-product-dd--active {
            background: var(--accent-soft);
        }.proc-product-dd--empty {
            padding: 10px 12px;
            font-size: 12px;
            color: var(--text-muted);
            cursor: default;
        }.proc-product-dd--empty:hover {
            background: transparent;
        }.proc-lines-toolbar {
            margin: 0 0 12px;
            padding: 14px;
            border-radius: var(--radius-lg);
            border: 1px solid var(--panel-border);
            background: var(--soft-bg-2);
        }.proc-toolbar-actions,
        .proc-batch-row {
            display: flex;
            flex-wrap: wrap;
            align-items: flex-end;
            gap: 10px 14px;
        }.proc-batch-row {
            margin-top: 12px;
            padding-top: 12px;
            border-top: 1px solid var(--line-color);
        }.proc-batch-field > span:first-child {
            display: block;
            font-size: 12px;
            font-weight: 600;
            color: var(--text-main);
            margin-bottom: 4px;
        }.proc-batch-strong {
            font-size: 12px;
            font-weight: 700;
            color: var(--text-muted);
            letter-spacing: 0.03em;
            margin-right: 4px;
        }.proc-batch-input-num {
            width: 100px !important;
            max-width: 120px !important;
            padding: 8px 10px !important;
            border-radius: 10px !important;
            min-height: auto !important;
        }.proc-batch-input-text {
            width: min(268px, 100%) !important;
            max-width: 320px !important;
            padding: 8px 10px !important;
            border-radius: 10px !important;
            min-height: auto !important;
        }.proc-btn-main,
        .proc-btn-soft,
        .proc-btn-wire {
            padding: 9px 16px;
            border-radius: 10px;
            font-size: 13px;
            font-weight: 600;
            cursor: pointer;
            line-height: 1.35;
            border: none;
        }.proc-btn-main {
            background: var(--accent);
            color: #fff;
        }.proc-btn-soft {
            background: rgba(255, 255, 255, 0.55);
            border: 1px solid var(--panel-border);
            color: var(--text-main);
        }.proc-btn-wire {
            background: transparent;
            color: var(--accent);
            border: 1px dashed var(--panel-border);
            font-weight: 600;
        }[data-theme="dark"] .proc-btn-soft {

            background: rgba(30, 41, 59, 0.55);
        
        }.proc-quick-fill-modal {
            position: fixed;
            inset: 0;
            z-index: 12000;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 18px;
            box-sizing: border-box;
        }.proc-quick-fill-modal[hidden] {
            display: none !important;
        }.proc-quick-fill-backdrop {
            position: absolute;
            inset: 0;
            background: rgba(15, 23, 42, 0.5);
            -webkit-backdrop-filter: blur(4px);
            backdrop-filter: blur(4px);
        }.proc-quick-fill-panel {
            position: relative;
            z-index: 1;
            width: 100%;
            max-width: 640px;
            max-height: min(92vh, 760px);
            display: flex;
            flex-direction: column;
            gap: 10px;
            padding: 20px 22px;
            border-radius: 16px;
            border: 1px solid var(--panel-border);
            background: var(--panel-bg);
            box-shadow: var(--glass-drop), var(--glass-edge);
            -webkit-backdrop-filter: var(--backdrop-std);
            backdrop-filter: var(--backdrop-std);
        }.proc-quick-fill-panel h4 {
            margin: 0;
            font-size: 16px;
            font-weight: 700;
            color: var(--text-main);
        }.proc-quick-fill-hint {
            margin: 0 !important;
            font-size: 12px !important;
            line-height: 1.5 !important;
            color: var(--text-soft, #64748b);
        }.proc-quick-fill-filter {
            width: 100%;
            box-sizing: border-box;
            margin-top: 6px;
            padding: 10px 12px;
            border-radius: 12px;
            border: 1px solid var(--panel-border);
            background: rgba(255, 255, 255, 0.65);
            color: var(--text-main);
            font-size: 13px;
        }[data-theme="dark"] .proc-quick-fill-filter {

            background: rgba(30, 41, 59, 0.65);
        
        }.proc-quick-fill-bar {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin: 10px 0 6px;
        }.proc-quick-fill-scroll {
            flex: 1;
            min-height: 140px;
            max-height: min(42vh, 360px);
            overflow: auto;
            border-radius: 12px;
            border: 1px solid var(--panel-border);
            background: rgba(255, 255, 255, 0.38);
            -webkit-overflow-scrolling: touch;
        }[data-theme="dark"] .proc-quick-fill-scroll {

            background: rgba(15, 23, 42, 0.42);
        
        }.proc-quick-fill-table {
            width: 100%;
            border-collapse: collapse;
            font-size: 13px;
        }.proc-quick-fill-table th,
        .proc-quick-fill-table td {
            padding: 8px 10px;
            border-bottom: 1px solid var(--line-color);
            text-align: left;
            vertical-align: middle;
        }.proc-quick-fill-table th:first-child,
        .proc-quick-fill-table td:first-child {
            width: 44px;
            text-align: center;
        }.proc-quick-fill-table thead th {
            position: sticky;
            top: 0;
            z-index: 1;
            background: var(--soft-bg-2);
            font-weight: 700;
            font-size: 12px;
        }[data-theme="dark"] .proc-quick-fill-table thead th {

            background: rgba(30, 41, 59, 0.92);
        
        }.proc-quick-fill-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            justify-content: flex-end;
        }.proc-col-cb {
            width: 44px;
            text-align: center;
        }.proc-lines-table .proc-col-action {
            width: 76px;
            text-align: center;
        }.proc-btn-remove-line {
            padding: 6px 8px;
            font-size: 12px;
            border-radius: 8px;
            border: none;
            background: rgba(220, 38, 38, 0.12);
            color: #b91c1c;
            cursor: pointer;
            font-weight: 600;
        }.proc-btn-remove-line:hover {
            background: rgba(220, 38, 38, 0.2);
        }[data-theme="dark"] .proc-btn-remove-line {

            background: rgba(248, 113, 113, 0.14);
            color: #fca5a5;
        
        }.proc-lines-table {
            min-width: 680px;
            table-layout: fixed;
        }.proc-lines-table col.proc-col-cb {
            width: 44px;
        }.proc-lines-table col.proc-col-product {
            width: 32%;
        }.proc-lines-table col.proc-col-sku {
            width: 14%;
        }.proc-lines-table col.proc-col-uom {
            width: 8%;
        }.proc-lines-table col.proc-col-qty {
            width: 8.75rem;
        }.proc-lines-table col.proc-col-remark {
            width: auto;
        }.proc-lines-table col.proc-col-action {
            width: 76px;
        }.proc-lines-table th.proc-col-sku,
        .proc-lines-table td.js-pr-sku,
        .proc-lines-table th.proc-col-uom,
        .proc-lines-table td.js-pr-uom {
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            color: var(--text-muted);
            font-size: 13px;
        }.proc-lines-table td.js-pr-sku:empty::before,
        .proc-lines-table td.js-pr-uom:empty::before {
            content: "\00a0";
        }#bubbleChart {
            width: 100%;
            height: 936px;
        }[data-theme="dark"] .compare-heatmap-chart-scroll {

            scrollbar-color: rgba(148, 163, 184, 0.45) rgba(30, 41, 59, 0.85);
        
        }.parallel-data-table-host {
            width: 100%;
            margin: 0;
            padding: 0;
        }[data-theme="dark"] .compare-parallel-chart-scroll,
        [data-theme="dark"] .compare-parallel-axis-scroll {

            scrollbar-color: rgba(148, 163, 184, 0.45) rgba(30, 41, 59, 0.85);
        
        }#bubbleDataTableWrap {
            margin-top: 12px;
            border-radius: 14px;
            border: 1px solid var(--panel-border);
            background: var(--panel-bg);
            overflow: auto;
            -webkit-overflow-scrolling: touch;
            overscroll-behavior: contain;
            scrollbar-gutter: stable;
            -webkit-backdrop-filter: var(--backdrop-std);
            backdrop-filter: var(--backdrop-std);
            box-shadow: var(--glass-drop), var(--glass-edge);
        }.bubble-data-table {
            width: 100%;
            margin-top: 0;
            border-collapse: collapse;
            table-layout: fixed;
        }.bubble-data-table th,
        .bubble-data-table td {
            padding: 10px 12px;
            border-bottom: 1px solid var(--line-color);
            font-size: 12px;
            vertical-align: top;
        }.bubble-data-table th {
            background: var(--soft-bg-2);
            color: var(--text-main);
            font-weight: 600;
            text-align: left;
            white-space: nowrap;
        }#bubbleDataTableWrap .bubble-data-table thead th {
            position: -webkit-sticky;
            position: sticky;
            top: 0;
            z-index: 3;
            background: var(--soft-bg-2) !important;
            box-shadow: 0 1px 0 var(--line-color);
        }[data-theme="dark"] #bubbleDataTableWrap .bubble-data-table thead th {

            background: #1e293b !important;
        
        }.bubble-data-table td {
            color: var(--text-main);
            word-break: break-word;
        }.bubble-data-table th:nth-child(1),
        .bubble-data-table td:nth-child(1) {
            width: 36%;
            font-weight: 500;
        }.bubble-data-table th:nth-child(n+2),
        .bubble-data-table td:nth-child(n+2) {
            width: 21.33%;
            text-align: right;
            white-space: normal;
            word-break: break-word;
        }.bubble-data-table tbody tr:last-child td {
            border-bottom: none;
        }.bubble-data-table tbody tr:hover td {
            background: var(--accent-soft);
        }.bubble-data-table td.bubble-data-num {
            font-variant-numeric: tabular-nums;
            font-feature-settings: "tnum";
        }.bubble-data-table tr.bubble-data-row-focused td {
            background: var(--accent-soft);
            box-shadow: inset 3px 0 0 var(--accent);
        }.parallel-data-table {
            width: max-content;
            min-width: 100%;
            table-layout: auto;
        }.parallel-data-table th,
        .parallel-data-table td {
            min-width: 120px;
            padding: 3px 6px;
            font-size: 8px;
            line-height: 1.25;
            white-space: normal;
            word-break: break-word;
        }.parallel-data-table th:first-child,
        .parallel-data-table td:first-child {
            min-width: 90px;
            max-width: 280px;
            width: 90px;
            white-space: normal;
            word-break: break-word;
            text-align: left;
        }.parallel-data-table.is-axis-synced th:first-child,
        .parallel-data-table.is-axis-synced td:first-child {
            min-width: 0;
            max-width: none;
        }.parallel-data-table.is-axis-synced th:not(:first-child),
        .parallel-data-table.is-axis-synced td:not(:first-child) {
            min-width: 0;
            max-width: none;
            text-align: center;
            padding-left: 4px;
            padding-right: 4px;
        }.parallel-data-table.is-axis-synced thead th:not(:first-child) {
            vertical-align: bottom;
        }[data-theme="dark"] #compareParallelView.is-export-capture .parallel-data-table thead th {

            background: #1e293b !important;
        
        }[data-theme="dark"] #compareParallelView.is-export-capture .parallel-data-table.is-axis-synced thead th:first-child,
        [data-theme="dark"] #compareParallelView.is-export-capture .parallel-data-table.is-axis-synced td:first-child {

            background: #0f172a !important;
        
        }.parallel-export-snapshot {
            display: block;
            max-width: none !important;
            object-fit: fill !important;
        }#parallelDataPanel.parallel-data-panel {
            margin-top: 4px;
            padding: 0;
            border-radius: 0;
            border: none;
            background: transparent;
            overflow: visible;
            backdrop-filter: none;
            -webkit-backdrop-filter: none;
            box-shadow: none;
            flex: 0 1 auto;
            min-height: 0;
            display: flex;
            flex-direction: column;
        }.parallel-data-panel-head {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 8px;
            margin: 0 0 8px;
            flex: 0 0 auto;
        }.parallel-data-panel-actions {
            display: flex;
            align-items: center;
            gap: 6px;
            flex: 0 0 auto;
        }.parallel-data-panel-title {
            margin: 0;
            flex: 1 1 auto;
            min-width: 0;
            color: var(--text-main);
            font-size: 13px;
            font-weight: 600;
            line-height: 1.45;
        }.parallel-data-collapse-btn,
        .parallel-data-fullscreen-btn {
            flex: 0 0 auto;
        }.parallel-data-panel-body {
            flex: 1 1 auto;
            min-height: 0;
            display: flex;
            flex-direction: column;
        }#parallelDataPanel.parallel-data-panel.is-collapsed .parallel-data-panel-body {
            display: none;
        }#parallelDataPanel.parallel-data-panel.is-collapsed {
            padding-bottom: 8px;
        }[data-theme="dark"] #comparison #compareParallelView:not(.hidden) #parallelDataPanel.parallel-data-panel.is-collapsed {

            box-shadow: none;
        
        }.parallel-data-table-scroll {
            flex: 0 0 auto;
            width: 100%;
            height: min(38vh, 360px);
            max-height: min(38vh, 360px);
            min-height: 180px;
            overflow-x: auto;
            overflow-y: auto;
            overscroll-behavior: contain;
            touch-action: pan-x pan-y;
            -webkit-overflow-scrolling: touch;
            margin: 0;
            padding: 0;
            border-radius: 0;
            border: none;
            background: transparent;
            scrollbar-gutter: stable;
            scrollbar-width: thin;
            scrollbar-color: rgba(100, 116, 139, 0.55) rgba(226, 232, 240, 0.85);
        }[data-theme="dark"] .parallel-data-table-scroll {

            scrollbar-color: rgba(148, 163, 184, 0.45) rgba(30, 41, 59, 0.85);
        
        }.parallel-data-table-scroll::-webkit-scrollbar {
            height: 10px;
            width: 10px;
        }.parallel-data-table-scroll::-webkit-scrollbar-track {
            background: rgba(226, 232, 240, 0.75);
            border-radius: 5px;
        }.parallel-data-table-scroll::-webkit-scrollbar-thumb {
            background: rgba(100, 116, 139, 0.52);
            border-radius: 5px;
        }.parallel-data-table-inner {
            min-width: 100%;
        }.parallel-data-table thead th {
            position: -webkit-sticky;
            position: sticky;
            top: 0;
            z-index: 3;
            background: transparent !important;
            box-shadow: none;
        }.parallel-data-table thead th:first-child {
            left: 0;
            z-index: 5;
        }.parallel-data-table tbody td:first-child {
            position: -webkit-sticky;
            position: sticky;
            left: 0;
            z-index: 2;
            background: transparent !important;
            box-shadow: none;
        }.parallel-data-table tbody tr:hover td:first-child {
            background: var(--accent-soft) !important;
        }.parallel-data-table tr.bubble-data-row-focused td:first-child {
            background: var(--accent-soft) !important;
        }[data-theme="dark"] .parallel-data-table thead th {

            background: transparent !important;
        
        }[data-theme="dark"] .parallel-data-table tbody td:first-child {

            background: transparent !important;
        
        }body.parallel-data-fullscreen-lock {
            overflow: hidden;
        }#parallelDataPanel.parallel-data-panel.is-fullscreen {
            position: fixed;
            inset: 0;
            z-index: 8500;
            margin: 0;
            max-height: none;
            border-radius: 0;
            padding: 14px 16px 16px;
        }[data-theme="dark"] .compare-chart-landscape-stage {

            background: rgba(15, 23, 42, 0.65);
        
        }/* 全屏双 Y：与手机竖屏相同——图表在上，左/右 Y 滑块并排横条在下 */[data-theme="dark"] .compare-chart-landscape-slot .dual-axis-y-slider-col--left,
        [data-theme="dark"] .compare-chart-landscape-slot .dual-axis-y-slider-col--right,
        [data-theme="dark"] .dual-axis-chart-with-sliders.is-in-landscape-overlay .dual-axis-y-slider-col--left,
        [data-theme="dark"] .dual-axis-chart-with-sliders.is-in-landscape-overlay .dual-axis-y-slider-col--right {

            background: rgba(30, 41, 59, 0.45) !important;
        
        }/* 全屏横屏雷达：滑块缩放后以中心为焦点，图表可超出 pane 滚动 *//* 全屏横屏平行坐标：横向/纵向可滑动查看超出区域 */.bubble-action-modal {
            position: fixed;
            inset: 0;
            background: rgba(15, 23, 42, 0.72);
            display: none;
            align-items: center;
            justify-content: center;
            z-index: 9999;
        }.bubble-action-modal.show {
            display: flex;
        }.bubble-action-card {
            width: 92%;
            max-width: 760px;
            max-height: min(86vh, 720px);
            overflow: auto;
            background: var(--panel-bg);
            border: 1px solid var(--panel-border);
            border-radius: 16px;
            padding: 18px;
            box-shadow: var(--glass-drop), var(--glass-edge);
            -webkit-backdrop-filter: var(--backdrop-std);
            backdrop-filter: var(--backdrop-std);
        }.bubble-action-title {
            color: var(--text-main);
            font-size: 16px;
            margin: 0 0 8px;
        }.bubble-action-desc {
            color: var(--text-muted);
            font-size: 13px;
            line-height: 1.55;
            margin: 0 0 8px;
        }.bubble-action-desc-product {
            display: inline;
            color: var(--text-main);
            font-size: 15px;
            font-weight: 700;
            letter-spacing: -0.01em;
        }[data-theme="dark"] .bubble-action-desc-product {

            color: #f1f5f9;
        
        }.bubble-action-nozzle {
            margin: 0 0 12px;
            padding: 8px 10px;
            border-radius: 8px;
            border: 1px solid rgba(37, 99, 235, 0.25);
            background: rgba(37, 99, 235, 0.08);
            color: var(--text-main);
            font-size: 13px;
            font-weight: 600;
        }.bubble-action-colors {
            margin: 0 0 12px;
            padding: 10px 12px;
            border-radius: 10px;
            border: 1px solid rgba(148, 163, 184, 0.35);
            background: var(--soft-bg);
        }.bubble-action-colors-title {
            margin: 0 0 8px;
            font-size: 12px;
            font-weight: 800;
            color: var(--text-muted);
            letter-spacing: 0.04em;
        }.bubble-action-colors-target {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 6px;
            margin: 0 0 8px;
            padding: 6px 8px;
            border-radius: 8px;
            background: rgba(37, 99, 235, 0.06);
            border: 1px dashed rgba(37, 99, 235, 0.22);
            font-size: 12px;
            color: var(--text-main);
        }.bubble-action-colors-target code {
            font-size: 11px;
            font-weight: 700;
            font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
        }.bubble-action-colors-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(108px, 1fr));
            gap: 8px;
            max-height: min(52vh, 520px);
            overflow-x: hidden;
            overflow-y: auto;
            -webkit-overflow-scrolling: touch;
            overscroll-behavior: contain;
            padding: 2px 4px 6px 0;
            align-content: start;
            align-items: start;
        }.bubble-action-color-card {
            display: flex;
            flex-direction: column;
            border-radius: 10px;
            border: 1px solid var(--line-color);
            background: var(--panel-bg, #fff);
            overflow: visible;
            min-width: 0;
            height: auto;
            align-self: start;
        }[data-theme="dark"] .bubble-action-color-card {

            background: rgba(15, 23, 42, 0.45);
        
        }.bubble-action-color-card.is-match {
            border-color: rgba(34, 197, 94, 0.45);
            box-shadow: 0 0 0 1px rgba(34, 197, 94, 0.12);
        }.bubble-action-color-card-photo {
            position: relative;
            width: 100%;
            aspect-ratio: 4 / 3;
            background: #f1f5f9;
            overflow: hidden;
        }[data-theme="dark"] .bubble-action-color-card-photo {

            background: rgba(30, 41, 59, 0.65);
        
        }.bubble-action-color-card-body {
            padding: 6px 8px 8px;
            display: flex;
            flex-direction: column;
            gap: 3px;
            min-width: 0;
        }.bubble-action-color-hex-row {
            display: flex;
            align-items: center;
            gap: 6px;
            min-width: 0;
        }.bubble-action-color-hex-swatch {
            flex: 0 0 auto;
            width: 16px;
            height: 16px;
            border-radius: 4px;
            border: 1px solid rgba(15, 23, 42, 0.15);
            box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.35);
        }.bubble-action-color-hex-code {
            font-size: 10px;
            font-weight: 700;
            font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
            color: var(--text-main);
            line-height: 1.2;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }.bubble-action-color-swatch--inline {
            width: 18px;
            height: 18px;
            border-radius: 5px;
            vertical-align: middle;
            display: inline-block;
            border: 1px solid rgba(15, 23, 42, 0.12);
            box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.35);
        }.bubble-action-color-name {
            font-size: 11px;
            font-weight: 700;
            color: var(--text-main);
            line-height: 1.35;
            word-break: break-word;
        }.bubble-action-color-effect {
            font-size: 10px;
            color: var(--text-muted);
            line-height: 1.35;
            word-break: break-word;
        }.bubble-action-hints {
            margin: 8px 0 10px 0;
            display: grid;
            grid-template-columns: 1fr;
            gap: 8px;
        }.bubble-hint-item {
            display: flex;
            align-items: flex-start;
            gap: 8px;
            padding: 7px 9px;
            border: 1px solid var(--line-color);
            border-radius: 8px;
            background: var(--soft-bg);
        }.bubble-hint-item.is-long {
            display: block;
            padding: 10px 12px;
        }.bubble-hint-label {
            flex: 0 0 auto;
            font-size: 12px;
            line-height: 1.4;
            color: #1d4ed8;
            background: rgba(59, 130, 246, 0.12);
            border: 1px solid rgba(59, 130, 246, 0.25);
            border-radius: 999px;
            padding: 2px 8px;
            white-space: nowrap;
        }.bubble-hint-item.is-long .bubble-hint-label {
            display: inline-flex;
            margin-bottom: 8px;
        }.bubble-hint-value {
            flex: 1 1 auto;
            font-size: 13px;
            line-height: 1.75;
            color: var(--text-main);
            word-break: break-word;
            white-space: pre-line;
            text-align: left;
            font-weight: 500;
        }.bubble-hint-item.is-long .bubble-hint-value {
            display: block;
            font-size: 14px;
        }.bubble-hint-value .bubble-hint-list {
            margin: 0;
            padding-left: 1.35em;
            text-align: left;
        }.bubble-hint-value .bubble-hint-list li {
            margin: 0 0 6px;
            padding-left: 2px;
            text-align: left;
        }.bubble-hint-value .bubble-hint-list li:last-child {
            margin-bottom: 0;
        }.bubble-action-dynamic-links {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            width: 100%;
            margin-bottom: 4px;
        }.bubble-action-btns {
            display: flex;
            gap: 8px;
            flex-wrap: wrap;
        }.bubble-action-btns button {
            border: 1px solid var(--line-color);
            border-radius: 6px;
            background: var(--soft-bg-2);
            color: var(--text-main);
            padding: 8px 10px;
            font-size: 13px;
            cursor: pointer;
        }.bubble-action-btns .primary {
            background: var(--accent);
            border-color: var(--accent);
            color: #fff;
        }.bubble-action-btns a.primary {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border: 1px solid var(--accent);
            border-radius: 6px;
            background: var(--accent);
            color: #fff;
            padding: 8px 10px;
            font-size: 13px;
            text-decoration: none;
            cursor: pointer;
        }.bubble-action-btns button[disabled] {
            opacity: 0.45;
            cursor: not-allowed;
        }/* 重量/线径等多值：分行标签，避免窄列内「0.5 / 1 / 2」被挤成一行显示不全 */[data-theme="dark"] .compare-table thead th {

            background: rgba(15, 23, 42, 0.72);
            box-shadow: 0 1px 0 var(--line-color);
        
        }[data-theme="dark"] .compare-table th:first-child,
        [data-theme="dark"] .compare-table td:first-child {

            background: #1e293b !important;
        
        }[data-theme="dark"] .compare-table thead th:first-child {

            background: #0f172a !important;
        
        }[data-theme="dark"] .compare-table .group-row td:first-child {

            background: #111827 !important;
        
        }[data-theme="dark"] .compare-table .group-row td {

            background: #111827 !important;
        
        }[data-theme="dark"] .compare-table tbody tr:nth-child(even) td:first-child,
        [data-theme="dark"] .compare-table tbody tr:hover td:first-child,
        [data-theme="dark"] .compare-table tr.compare-row-highlight td:first-child,
        [data-theme="dark"] .compare-table td.compare-cross-highlight:first-child,
        [data-theme="dark"] .compare-table td.compare-cell-highlight:first-child {

            background: #1e293b !important;
        
        }.device-title {
            font-size: 12px;
            color: #93c5fd;
            line-height: 1.6;
        }/* 气泡图：X / Y / 大小 三列，每列「标签 + 下拉」横向排列 *//* 双 Y 轴：X + 等宽左/右 Y +「显示全部」，与下拉触发器视觉一致 *//* 参数气泡图 / 双 Y 轴：可搜索下拉（保留原生 select 同步 value，供 change 与持久化） */[data-theme="dark"] #comparison .searchable-select-panel {

            background: #1e293b;
        
        }[data-theme="dark"] #comparison .searchable-select-filter {

            background: #334155;
        
        }/* 双 Y 轴：读数贴在轨道最上/最下沿；大数用窄体+换行，避免 56px 截断「显示不全」 */.dual-axis-chart-with-sliders {
            --dual-axis-thumb-min: #db2777;
            --dual-axis-thumb-max: var(--accent, #2563eb);
        }/* 桌面：每侧一列竖轨，上限在上、下限在下，与图表同高 */.dual-axis-chart-with-sliders .dual-axis-slider-lane input[type="range"]::-webkit-slider-thumb {
            -webkit-appearance: none;
            appearance: none;
            pointer-events: auto;
            width: var(--dual-slider-thumb, 16px);
            height: var(--dual-slider-thumb, 16px);
            margin-top: calc((var(--dual-slider-h, 6px) - var(--dual-slider-thumb, 16px)) / 2);
            border-radius: 50%;
            border: 2px solid #ffffff;
            box-shadow: 0 1px 5px rgba(15, 23, 42, 0.32);
        }.dual-axis-chart-with-sliders .dual-axis-slider-lane input[type="range"]::-moz-range-thumb {
            pointer-events: auto;
            width: var(--dual-slider-thumb, 16px);
            height: var(--dual-slider-thumb, 16px);
            border-radius: 50%;
            border: 2px solid #ffffff;
            box-shadow: 0 1px 5px rgba(15, 23, 42, 0.32);
        }.dual-axis-chart-with-sliders .dual-axis-slider-lane--min input[type="range"]::-webkit-slider-thumb,
        .dual-axis-chart-with-sliders .dual-axis-slider-lane--min input.dual-axis-range-thumb-min::-webkit-slider-thumb {
            background: var(--dual-axis-thumb-min, #be185d);
        }.dual-axis-chart-with-sliders .dual-axis-slider-lane--min input[type="range"]::-moz-range-thumb,
        .dual-axis-chart-with-sliders .dual-axis-slider-lane--min input.dual-axis-range-thumb-min::-moz-range-thumb {
            background: var(--dual-axis-thumb-min, #be185d);
        }.dual-axis-chart-with-sliders .dual-axis-slider-lane--max input[type="range"]::-webkit-slider-thumb,
        .dual-axis-chart-with-sliders .dual-axis-slider-lane--max input.dual-axis-range-thumb-max::-webkit-slider-thumb {
            background: var(--dual-axis-thumb-max, #1d4ed8);
        }.dual-axis-chart-with-sliders .dual-axis-slider-lane--max input[type="range"]::-moz-range-thumb,
        .dual-axis-chart-with-sliders .dual-axis-slider-lane--max input.dual-axis-range-thumb-max::-moz-range-thumb {
            background: var(--dual-axis-thumb-max, #1d4ed8);
        }.dual-axis-chart-with-sliders .dual-axis-slider-lane--min input[type="range"],
        .dual-axis-chart-with-sliders .dual-axis-slider-lane--max input[type="range"] {
            cursor: ew-resize;
        }.dual-axis-chart-with-sliders .dual-axis-slider-lane input[type="range"]:active::-webkit-slider-thumb,
        .dual-axis-chart-with-sliders .dual-axis-slider-lane input[type="range"]:active::-moz-range-thumb {
            cursor: grabbing;
        }.kpi-item {
            border: 1px solid var(--panel-border);
            background: var(--panel-bg);
            border-radius: var(--radius-md);
            padding: 8px 10px;
            -webkit-backdrop-filter: saturate(1.3) blur(10px);
            backdrop-filter: saturate(1.3) blur(10px);
            box-shadow: var(--glass-edge);
        }.kpi-label {
            color: var(--text-muted);
            font-size: 11px;
            margin-bottom: 4px;
        }.kpi-value {
            color: var(--text-main);
            font-size: 16px;
            font-weight: 700;
            line-height: 1.1;
        }.selector-wrap, .mode-wrap {
            background: rgba(255, 255, 255, 0.38);
            border: 1px solid var(--panel-border);
            border-radius: 12px;
            padding: 10px;
            -webkit-backdrop-filter: saturate(1.25) blur(10px);
            backdrop-filter: saturate(1.25) blur(10px);
            box-shadow: var(--glass-edge);
        }[data-theme="dark"] .selector-wrap,
        [data-theme="dark"] .mode-wrap {

            background: rgba(30, 41, 59, 0.4);
        
        }[data-theme="dark"] .compare-toolbar-main .selector-wrap {

            background: linear-gradient(
                168deg,
                rgba(51, 65, 85, 0.52) 0%,
                rgba(30, 41, 59, 0.38) 100%
            );
        
        }.selector-actions {
            margin-bottom: 8px;
        }.selector-actions button, .selector-actions select {
            border: 1px solid var(--line-color);
            background: var(--soft-bg-2);
            color: var(--text-main);
            border-radius: 6px;
            padding: 4px 8px;
            margin-right: 6px;
            font-size: 12px;
        }.bubble-tooltip-title {
            display: block;
            margin-bottom: 5px;
            font-weight: 700;
        }.bubble-tooltip-row {
            font-size: 12px;
            margin: 2px 0;
        }.bubble-tooltip-hint {
            display: block;
            margin-top: 6px;
            font-size: 10px;
            line-height: 1.35;
            opacity: 0.78;
        }.bubble-data-panel-head {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 8px;
            margin: 0 0 8px;
            flex: 0 0 auto;
        }[data-theme="dark"] #comparison #compareParallelView #parallelDataTableWrap .parallel-data-table thead th {

            background: #1e293b !important;
            box-shadow: 0 1px 0 rgba(51, 65, 85, 0.75) !important;
        
        }[data-theme="dark"] #comparison #compareParallelView #parallelDataTableWrap .parallel-data-table.is-axis-synced thead th:not(:first-child) {

            background: #1e293b !important;
        
        }[data-theme="dark"] #comparison #compareBubbleView #bubbleDataTableWrap .bubble-data-table thead th {

            background: rgba(30, 41, 59, 0.92) !important;
        
        }[data-theme="dark"] #comparison #compareParallelView #parallelDataTableWrap .parallel-data-table.is-axis-synced thead th:first-child {

            background: #0f172a !important;
            box-shadow: 1px 0 0 rgba(51, 65, 85, 0.65), 0 1px 0 rgba(51, 65, 85, 0.75) !important;
        
        }[data-theme="dark"] #comparison #compareParallelView #parallelDataTableWrap .parallel-data-table.is-axis-synced th:first-child,
        [data-theme="dark"] #comparison #compareParallelView #parallelDataTableWrap .parallel-data-table.is-axis-synced td:first-child {

            background: #0f172a !important;
            box-shadow: 1px 0 0 rgba(51, 65, 85, 0.65);
        
        }[data-theme="dark"] #comparison #compareParallelView #parallelDataTableWrap .parallel-data-table tbody tr:hover td:first-child,
        [data-theme="dark"] #comparison #compareParallelView #parallelDataTableWrap .parallel-data-table tbody tr.compare-parallel-row-hover td:first-child,
        [data-theme="dark"] #comparison #compareParallelView #parallelDataTableWrap .parallel-data-table tbody tr.compare-parallel-table-row-hover td:first-child,
        [data-theme="dark"] #comparison #compareParallelView #parallelDataTableWrap .parallel-data-table tr.bubble-data-row-focused td:first-child {

            background: #1e293b !important;
        
        }[data-theme="dark"] .compare-parallel-line-hover-tag {

            background: rgba(15, 23, 42, 0.94);
            border-color: rgba(148, 163, 184, 0.35);
            box-shadow: 0 8px 22px rgba(0, 0, 0, 0.35);
        
        }/* 工具栏在 #bubbleChart 之前，ECharts 画布会与兄弟层叠且默认压住上方的 overflow；抬升整条参数栏使下拉盖住图表 */.group-filter-dropdown {
            position: relative;
            max-width: min(440px, 100%);
        }.group-filter-dropdown-trigger {
            display: flex;
            align-items: center;
            gap: 10px;
            width: 100%;
            min-height: 40px;
            padding: 8px 12px 8px 14px;
            border: 1px solid var(--line-color);
            border-radius: 10px;
            background: var(--soft-bg-2);
            color: var(--text-main);
            font-size: 13px;
            font-weight: 600;
            cursor: pointer;
            text-align: left;
            box-sizing: border-box;
            transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
            box-shadow: var(--glass-edge);
        }.group-filter-dropdown-trigger:hover {
            border-color: rgba(37, 99, 235, 0.35);
            background: var(--accent-soft);
        }[data-theme="dark"] .group-filter-dropdown-trigger:hover {

            border-color: rgba(96, 165, 250, 0.4);
        
        }.group-filter-dropdown-trigger:focus-visible {
            outline: 2px solid var(--accent);
            outline-offset: 2px;
        }.group-filter-dropdown-trigger[aria-expanded="true"] {
            border-color: var(--accent);
            box-shadow: var(--glass-edge), 0 0 0 1px rgba(37, 99, 235, 0.15);
        }.group-filter-dropdown-label {
            flex: 0 0 auto;
            color: var(--text-main);
        }.group-filter-dropdown-summary {
            flex: 1 1 auto;
            text-align: right;
            font-weight: 500;
            font-size: 12px;
            color: var(--text-muted);
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }.group-filter-dropdown-summary:not(.is-partial) {
            color: var(--accent);
        }.group-filter-dropdown-summary.is-partial {
            color: #b45309;
        }[data-theme="dark"] .group-filter-dropdown-summary.is-partial {

            color: #fbbf24;
        
        }.group-filter-dropdown-chevron {
            flex: 0 0 auto;
            width: 0;
            height: 0;
            border-left: 5px solid transparent;
            border-right: 5px solid transparent;
            border-top: 6px solid var(--text-muted);
            transition: transform 0.2s ease;
            margin-top: 2px;
        }.group-filter-dropdown-trigger[aria-expanded="true"] .group-filter-dropdown-chevron {
            transform: rotate(180deg);
        }.group-filter-dropdown-panel {
            position: absolute;
            left: 0;
            right: 0;
            top: calc(100% + 6px);
            z-index: 40;
            max-height: min(55vh, 320px);
            overflow-y: auto;
            -webkit-overflow-scrolling: touch;
            padding: 8px;
            border: 1px solid var(--panel-border);
            border-radius: 12px;
            background: #ffffff;
            box-shadow: var(--glass-edge), 0 14px 40px rgba(15, 23, 42, 0.12);
            box-sizing: border-box;
        }[data-theme="dark"] .group-filter-dropdown-panel {

            background: #1f2937;
            box-shadow: var(--glass-edge), 0 14px 40px rgba(0, 0, 0, 0.45);
        
        }.group-filter-dropdown-item {
            display: flex;
            align-items: center;
            gap: 10px;
            padding: 10px 12px;
            margin: 0;
            border-radius: 8px;
            cursor: pointer;
            font-size: 13px;
            color: var(--text-main);
            transition: background 0.15s ease;
        }.group-filter-dropdown-item:hover {
            background: var(--accent-soft);
        }.group-filter-dropdown-item input[type="checkbox"] {
            margin: 0;
            flex-shrink: 0;
            accent-color: var(--accent);
            width: 16px;
            height: 16px;
        }.group-filter-dropdown-item span {
            flex: 1;
            line-height: 1.35;
        }.group-filter-dropdown-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin-top: 10px;
            padding-top: 10px;
            border-top: 1px solid var(--line-color);
        }.group-filter-btn {
            flex: 1 1 auto;
            min-width: 0;
            padding: 7px 10px;
            border-radius: 8px;
            border: 1px solid var(--line-color);
            background: var(--soft-bg-2);
            color: var(--text-main);
            font-size: 12px;
            font-weight: 600;
            cursor: pointer;
            transition: background 0.15s ease, border-color 0.15s ease;
        }.group-filter-btn:hover {
            border-color: var(--accent);
            background: var(--accent-soft);
            color: var(--accent);
        }/* 线色标签（参考线材站点多色圆点选型条） */[data-theme="dark"] .compare-color-chip {

            border-color: rgba(30, 41, 59, 0.96);
            box-shadow:
                inset 0 0 0 1px rgba(255, 255, 255, 0.18),
                0 1px 3px rgba(0, 0, 0, 0.35);
        
        }.sr-only {
            position: absolute;
            width: 1px;
            height: 1px;
            padding: 0;
            margin: -1px;
            overflow: hidden;
            clip: rect(0, 0, 0, 0);
            white-space: nowrap;
            border: 0;
        }[data-theme="dark"] .compare-color-explorer {

            border-color: rgba(71, 85, 105, 0.48);
            background: linear-gradient(168deg, rgba(51, 65, 85, 0.38), rgba(15, 23, 42, 0.5));
            box-shadow:
                inset 0 1px 0 rgba(255, 255, 255, 0.05),
                var(--glass-edge, 0 0 0 1px rgba(0, 0, 0, 0.35)),
                0 8px 28px rgba(0, 0, 0, 0.28);
        
        }[data-theme="dark"] .compare-color-explorer-clear {

            background: rgba(30, 41, 59, 0.85);
            border-color: rgba(100, 116, 139, 0.45);
        
        }[data-theme="dark"] .compare-color-hue-rail {

            border-color: rgba(71, 85, 105, 0.55);
            box-shadow:
                inset 0 1px 2px rgba(255, 255, 255, 0.06),
                inset 0 -1px 4px rgba(0, 0, 0, 0.35),
                0 2px 14px rgba(0, 0, 0, 0.25);
        
        }[data-theme="dark"] .compare-color-picker-col {

            background: linear-gradient(165deg, rgba(51, 65, 85, 0.45), rgba(30, 41, 59, 0.35));
            border-color: rgba(71, 85, 105, 0.5);
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 2px 10px rgba(0, 0, 0, 0.2);
        
        }[data-theme="dark"] .compare-color-side-col {

            background: rgba(30, 41, 59, 0.5);
            border-color: rgba(71, 85, 105, 0.45);
        
        }[data-theme="dark"] .compare-color-catalog-sub {

            border-top-color: rgba(71, 85, 105, 0.38);
        
        }[data-theme="dark"] .compare-color-preset-swatch {

            border-color: rgba(30, 41, 59, 0.9);
        
        }[data-theme="dark"] .compare-color-hex-row label {

            color: #94a3b8;
        
        }[data-theme="dark"] .compare-color-hex-row input[type="text"] {

            background: rgba(15, 23, 42, 0.65);
            border-color: rgba(100, 116, 139, 0.5);
        
        }[data-theme="dark"] .compare-color-upload {

            border-color: rgba(96, 165, 250, 0.45);
            background: linear-gradient(180deg, rgba(59, 130, 246, 0.12), rgba(59, 130, 246, 0.04));
        
        }[data-theme="dark"] .compare-color-image-chip {

            border-color: rgba(96, 165, 250, 0.32);
            background: linear-gradient(135deg, rgba(59, 130, 246, 0.14), rgba(59, 130, 246, 0.04));
        
        }[data-theme="dark"] .compare-color-image-thumb,
        [data-theme="dark"] .compare-color-image-zoom-img {

            background: repeating-conic-gradient(#374151 0% 25%, #1f2937 0% 50%) 50% / 14px 14px;
        
        }[data-theme="dark"] .compare-color-tol-bar {

            background: linear-gradient(90deg, #334155 0%, #1e293b 50%, #334155 100%);
        
        }/* 对比页颜色筛选挂 body 后统一顶层（桌面 + 手机） *//* 颜色筛选收起：右侧蓝色竖条（桌面 + 手机一致） */[data-theme="dark"] #comparison .compare-chart-color-dock-shell.is-collapsed .compare-chart-color-dock-rail,
        [data-theme="dark"] body > .compare-chart-color-dock-shell.is-dock-portal.is-collapsed .compare-chart-color-dock-rail {

            box-shadow: -6px 10px 24px rgba(0, 0, 0, 0.45);
        
        }[data-theme="dark"] .compare-chart-color-dock {

            background: linear-gradient(168deg, rgba(30, 41, 59, 0.92), rgba(15, 23, 42, 0.78));
            border-color: rgba(71, 85, 105, 0.55);
            box-shadow: var(--glass-edge), 0 12px 36px rgba(0, 0, 0, 0.35);
        
        }[data-theme="dark"] .compare-dock-section-label {

            background: linear-gradient(90deg, rgba(59, 130, 246, 0.12), transparent 88%);
        
        }[data-theme="dark"] .compare-chart-color-dock-hide-edge {

            background: linear-gradient(168deg, rgba(30, 41, 59, 0.95), rgba(15, 23, 42, 0.85));
            border-color: rgba(71, 85, 105, 0.55);
        
        }[data-theme="dark"] .compare-color-image-picker-panel {

            background: linear-gradient(168deg, rgba(30, 41, 59, 0.96), rgba(15, 23, 42, 0.9));
            border-color: rgba(71, 85, 105, 0.55);
        
        }[data-theme="dark"] .compare-color-upload-hero {

            border-color: rgba(96, 165, 250, 0.32);
            background: linear-gradient(165deg, rgba(59, 130, 246, 0.18), rgba(15, 23, 42, 0.2));
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
        
        }[data-theme="dark"] .compare-color-upload-frame {

            border-color: rgba(96, 165, 250, 0.45);
            background: linear-gradient(180deg, rgba(59, 130, 246, 0.12), rgba(59, 130, 246, 0.04));
        
        }[data-theme="dark"] .compare-color-upload-frame.is-loaded {

            border-color: rgba(96, 165, 250, 0.32);
            background: repeating-conic-gradient(#334155 0% 25%, #1e293b 0% 50%) 50% / 12px 12px;
        
        }[data-theme="dark"] .compare-color-upload-hero-clear {

            background: rgba(30, 41, 59, 0.92);
            border-color: rgba(71, 85, 105, 0.65);
        
        }[data-theme="dark"] .compare-color-upload-hero-repick-btn {

            background: rgba(30, 41, 59, 0.65);
            border-color: rgba(71, 85, 105, 0.55);
        
        }[data-theme="dark"] .compare-chart-color-dock-rail {

            background: linear-gradient(168deg, rgba(30, 41, 59, 0.95), rgba(15, 23, 42, 0.85));
            border-color: rgba(71, 85, 105, 0.55);
        
        }[data-theme="dark"] .compare-chart-color-dock-collapse-btn {

            background: rgba(37, 99, 235, 0.16);
            border-color: rgba(96, 165, 250, 0.4);
        
        }[data-theme="dark"] .compare-color-target-card {

            background: rgba(15, 23, 42, 0.55);
            border-color: rgba(71, 85, 105, 0.5);
        
        }[data-theme="dark"] .compare-color-target-line--de {

            color: #5eead4;
        
        }[data-theme="dark"] .compare-color-hit-card {

            background: rgba(30, 41, 59, 0.65);
            border-color: rgba(71, 85, 105, 0.45);
        
        }/* 紧凑卡片网格：更多列、更小留白 */[data-theme="dark"] .compare-surface-effect-grid {

            background: rgba(15, 23, 42, 0.35);
            border-color: rgba(71, 85, 105, 0.45);
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
        
        }[data-theme="dark"] .compare-color-advanced-details {

            border-color: rgba(71, 85, 105, 0.42);
            background: rgba(15, 23, 42, 0.4);
            box-shadow: 0 1px 10px rgba(0, 0, 0, 0.12);
        
        }[data-theme="dark"] .compare-color-advanced-summary {

            background: rgba(30, 41, 59, 0.55);
        
        }[data-theme="dark"] .compare-color-advanced-inner {

            background: linear-gradient(180deg, rgba(30, 41, 59, 0.25), rgba(15, 23, 42, 0.15));
        
        }[data-theme="dark"] .compare-color-custom-heading {

            background: linear-gradient(90deg, rgba(59, 130, 246, 0.12), transparent 88%);
        
        }[data-theme="dark"] .compare-color-explorer-details {

            border-color: rgba(71, 85, 105, 0.48);
            background: linear-gradient(168deg, rgba(51, 65, 85, 0.42), rgba(15, 23, 42, 0.45));
            box-shadow: 0 8px 26px rgba(0, 0, 0, 0.24);
        
        }[data-theme="dark"] .compare-color-explorer-summary {

            background: linear-gradient(180deg, rgba(51, 65, 85, 0.5), rgba(30, 41, 59, 0.35));
        
        }[data-theme="dark"] .compare-color-explorer-details[open] .compare-color-explorer-summary {

            border-bottom-color: rgba(71, 85, 105, 0.5);
            background: linear-gradient(180deg, rgba(30, 41, 59, 0.75), rgba(15, 23, 42, 0.5));
        
        }.material-title-color-row {
            display: block;
            width: 100%;
            margin-top: 6px;
        }/* 对比产品抽屉挂 body：高于颜色筛选 portal（≈10258） */[data-theme="dark"] .compare-drawer-shell {

            background: #111827;
        
        }/* shell 不接收命中：展开后避免整块面板在视觉上方的透明区域挡住工具栏「i」等控件 */[data-theme="dark"] .compare-drawer-tab-rail .drawer-toggle.is-active {

            border-color: rgba(96, 165, 250, 0.45);

        
        }[data-theme="dark"] .compare-selector-drawer .drawer-toggle {

            background: #111827;
        
        }[data-theme="dark"] .compare-selector-drawer .drawer-toggle:hover {

            border-color: rgba(96, 165, 250, 0.38);

        
        }[data-theme="dark"] .compare-selector-drawer .drawer-body {

            border-color: var(--panel-border);
            box-shadow: var(--glass-edge), 0 4px 20px rgba(0, 0, 0, 0.22);
        
        }[data-theme="dark"] .compare-drawer-product-panel,
        [data-theme="dark"] .compare-drawer-color-panel {

            background: linear-gradient(
                168deg,
                rgba(51, 65, 85, 0.55) 0%,
                rgba(30, 41, 59, 0.35) 100%
            );
            border-color: rgba(96, 165, 250, 0.28);
            box-shadow: var(--glass-edge), 0 4px 22px rgba(0, 0, 0, 0.25);
        
        }[data-theme="dark"] .compare-drawer-material-scroll {

            background: rgba(15, 23, 42, 0.35);
        
        }/* 抽屉内「选择对比产品」容器：再一层轻玻璃，与下方系列柱协调 */[data-theme="dark"] .compare-selector-drawer .drawer-body .selector-wrap {

            background: linear-gradient(
                168deg,
                rgba(51, 65, 85, 0.42) 0%,
                rgba(30, 41, 59, 0.22) 100%
            );
        
        }/* 系列分栏：玻璃小格 + 清晰描边（与国表 line-color 一致，避免与背景融没） */[data-theme="dark"] .compare-selector-drawer .selector-series-col {

            background: rgba(30, 41, 59, 0.38);
            border-color: var(--line-color);
            box-shadow: var(--glass-edge), inset 0 1px 0 rgba(255, 255, 255, 0.07);
        
        }.mode-switch-top {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            margin-left: 4px;
        }.export-switch-top {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            margin-left: 4px;
        }[data-theme="dark"] .compare-top-actions {

            border-color: rgba(71, 85, 105, 0.42);
            background: linear-gradient(165deg, rgba(51, 65, 85, 0.38), rgba(15, 23, 42, 0.42));
            box-shadow:
                inset 0 1px 0 rgba(255, 255, 255, 0.05),
                var(--glass-edge),
                0 6px 22px rgba(0, 0, 0, 0.2);
        
        }[data-theme="dark"] .compare-top-actions-group.mode-group {

            border-color: rgba(71, 85, 105, 0.5);
            background: linear-gradient(180deg, rgba(30, 41, 59, 0.75), rgba(15, 23, 42, 0.5));
            box-shadow:
                inset 0 1px 0 rgba(255, 255, 255, 0.05),
                inset 0 -1px 4px rgba(0, 0, 0, 0.2);
        
        }[data-theme="dark"] .compare-top-actions-group.export-group {

            border-left-color: rgba(71, 85, 105, 0.45);
        
        }[data-theme="dark"] .compare-top-actions .export-btn {

            background: rgba(30, 41, 59, 0.65);
            border-color: rgba(100, 116, 139, 0.4);
            color: var(--text-main);
        
        }[data-theme="dark"] .compare-top-actions .export-btn:hover {

            background: rgba(59, 130, 246, 0.14);
        
        }[data-theme="dark"] .compare-top-actions .mode-btn:hover:not(.active) {

            background: rgba(59, 130, 246, 0.1);
            border-color: rgba(96, 165, 250, 0.25);
            color: var(--text-main);
        
        }[data-theme="dark"] .compare-top-actions .mode-btn.active {

            box-shadow:
                inset 0 1px 0 rgba(255, 255, 255, 0.18),
                0 2px 14px rgba(37, 99, 235, 0.4),
                0 1px 2px rgba(0, 0, 0, 0.25);
        
        }.legend-note {
            margin: 8px 0 10px;
            font-size: 12px;
            color: var(--text-muted);
        }.legend-note .tag {
            margin-right: 6px;
            color: var(--accent);
            font-weight: 600;
        }.status-bar {
            margin: 10px 0 12px;
            padding: 8px 10px;
            border: 1px dashed var(--line-color);
            border-radius: var(--radius-md);
            color: var(--text-muted);
            font-size: 12px;
            display: flex;
            gap: 14px;
            flex-wrap: wrap;
            background: var(--panel-bg);
            -webkit-backdrop-filter: saturate(1.2) blur(8px);
            backdrop-filter: saturate(1.2) blur(8px);
        }.report-header {
            display: none;
            background: var(--panel-bg);
            color: var(--text-main);
            border: 1px solid var(--panel-border);
            border-radius: 14px;
            padding: 12px;
            margin-bottom: 12px;
            box-shadow: var(--glass-drop), var(--glass-edge);
            -webkit-backdrop-filter: var(--backdrop-std);
            backdrop-filter: var(--backdrop-std);
        }.report-header h2 {
            margin: 0 0 8px;
            font-size: 18px;
        }.report-meta {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 6px 12px;
            font-size: 12px;
        }.selector-items {
            display: grid;
            grid-template-columns: repeat(6, minmax(0, 1fr));
            gap: 10px;
        }.selector-items--empty {
            display: flex;
            align-items: center;
            justify-content: center;
            min-height: 150px;
            padding: 18px;
            border: 1px dashed rgba(14, 165, 233, 0.35);
            border-radius: 14px;
            background: rgba(255, 255, 255, 0.48);
        }[data-theme="dark"] .selector-items--empty {

            background: rgba(15, 23, 42, 0.36);
        
        }[data-theme="dark"] .compare-bootstrap-skeleton-line {

            background: linear-gradient(90deg, #334155 0%, #475569 50%, #334155 100%);
            background-size: 200% 100%;
        
        }.selector-series-col {
            border: 1px solid var(--line-color);
            border-radius: 8px;
            padding: 8px;
            background: var(--soft-bg);
            min-height: 120px;
        }.selector-series-head {
            display: flex;
            align-items: center;
            gap: 8px;
            margin: 0 0 8px;
            padding-bottom: 6px;
            border-bottom: 1px dashed var(--line-color);
        }#materialSelector .series-check,
        .selector-series-head .series-check {
            width: 16px;
            height: 16px;
            min-width: 16px;
            min-height: 16px;
            flex: 0 0 16px;
            margin: 0;
            padding: 0;
            opacity: 1;
            cursor: pointer;
            accent-color: var(--accent);
            -webkit-appearance: checkbox;
            appearance: auto;
        }.selector-series-title {
            margin: 0;
            padding: 0;
            border: none;
            font-size: 12px;
            font-weight: 700;
            color: #93c5fd;
            flex: 1 1 auto;
            min-width: 0;
            line-height: 1.3;
            cursor: pointer;
            user-select: none;
        }.selector-series-title-text {
            display: block;
            line-height: 1.3;
        }.selector-series-items label {
            display: flex;
            align-items: flex-start;
            gap: 6px;
            margin: 0 0 10px;
            font-size: 12px;
            cursor: pointer;
            white-space: normal;
            overflow: visible;
            text-overflow: clip;
            line-height: 1.3;
        }.selector-series-items label input[type="checkbox"] {
            flex: 0 0 auto;
            margin-top: 1px;
        }.material-title-with-badges {
            display: inline-flex;
            flex-direction: column;
            align-items: flex-start;
            gap: 0;
            max-width: 100%;
        }.material-title-line1 {
            display: inline-flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 3px;
        }.material-state-badges {
            display: inline-flex;
            align-items: center;
            flex-wrap: wrap;
            gap: 3px;
            margin-left: 1px;
        }.material-state-badge {
            display: inline-block;
            padding: 0 5px;
            border-radius: 999px;
            border: 1px solid var(--line-color);
            background: var(--soft-bg-2);
            color: var(--text-muted);
            font-size: 10px;
            font-weight: 600;
            line-height: 1.2;
            white-space: nowrap;
        }.mode-wrap button {
            border: 1px solid var(--line-color);
            background: var(--soft-bg-2);
            color: var(--text-main);
            border-radius: 6px;
            padding: 6px 10px;
            margin-right: 6px;
            cursor: pointer;
        }.mode-wrap button.active {
            background: var(--accent);
            border-color: var(--accent);
            color: #fff;
        }.radar-param-wrap {
            background: var(--panel-bg);
            border: 1px solid var(--panel-border);
            border-radius: 14px;
            padding: 10px;
            margin-bottom: 10px;
            font-size: 12px;
            color: var(--comparison-param-text);
            -webkit-backdrop-filter: saturate(1.2) blur(10px);
            backdrop-filter: saturate(1.2) blur(10px);
            box-shadow: var(--glass-edge);
        }.chart-param-wrap {
            background: var(--panel-bg);
            border: 1px solid var(--panel-border);
            border-radius: 14px;
            padding: 10px;
            margin-bottom: 10px;
            font-size: 12px;
            color: var(--comparison-param-text);
            -webkit-backdrop-filter: saturate(1.2) blur(10px);
            backdrop-filter: saturate(1.2) blur(10px);
            box-shadow: var(--glass-edge);
        }.param-selector-head {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 8px 12px;
            margin-bottom: 8px;
        }.param-selector-head .param-selector-batch {
            display: inline-flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 8px;
            font-size: 12px;
        }.param-selector-batch a {
            color: var(--accent);
            text-decoration: none;
            font-weight: 600;
        }.param-selector-batch a:hover {
            text-decoration: underline;
        }.param-selector-search-row {
            width: 100%;
            margin-bottom: 8px;
        }.param-selector-search-input {
            width: 100%;
            max-width: 100%;
            box-sizing: border-box;
            border: 1px solid var(--line-color);
            border-radius: 8px;
            padding: 8px 10px;
            font-size: 13px;
            background: var(--soft-bg-2);
            color: var(--comparison-param-text);
        }.param-selector-search-input:focus {
            outline: none;
            border-color: var(--accent);
            box-shadow: 0 0 0 2px var(--accent-soft);
        }.param-selector-list {
            margin-top: 0;
            max-height: min(260px, 40vh);
            overflow-x: hidden;
            overflow-y: scroll;
            -webkit-overflow-scrolling: touch;
            border: 1px solid var(--line-color);
            border-radius: 10px;
            padding: 6px 8px;
            background: var(--soft-bg);
            display: flex;
            flex-direction: column;
            gap: 2px;
            scrollbar-gutter: stable;
            scrollbar-width: thin;
            scrollbar-color: rgba(100, 116, 139, 0.72) rgba(226, 232, 240, 0.95);
        }[data-theme="dark"] .param-selector-list {

            scrollbar-color: rgba(148, 163, 184, 0.52) rgba(30, 41, 59, 0.88);
        
        }.param-selector-list:not(.param-selector-list--by-group)::-webkit-scrollbar {
            width: 10px;
        }.param-selector-list:not(.param-selector-list--by-group)::-webkit-scrollbar-track {
            background: rgba(226, 232, 240, 0.75);
            border-radius: 5px;
        }[data-theme="dark"] .param-selector-list:not(.param-selector-list--by-group)::-webkit-scrollbar-track {

            background: rgba(30, 41, 59, 0.75);
        
        }.param-selector-list:not(.param-selector-list--by-group)::-webkit-scrollbar-thumb {
            background-color: rgba(100, 116, 139, 0.55);
            border-radius: 5px;
            border: 2px solid transparent;
            background-clip: padding-box;
        }[data-theme="dark"] .param-selector-list:not(.param-selector-list--by-group)::-webkit-scrollbar-thumb {

            background-color: rgba(148, 163, 184, 0.42);
            border-color: transparent;
            background-clip: padding-box;
        
        }.param-selector-list label {
            display: flex;
            align-items: flex-start;
            gap: 8px;
            margin: 0;
            padding: 6px 8px;
            border-radius: 8px;
            cursor: pointer;
            color: var(--comparison-param-text);
            line-height: 1.35;
        }.param-selector-list label:hover {
            background: var(--accent-soft);
        }.param-selector-list .text-muted.small {
            display: block;
            padding: 10px 8px;
            margin: 0;
        }.param-selector-list input[type="checkbox"] {
            margin-top: 2px;
            flex-shrink: 0;
            accent-color: var(--accent);
        }/* 矩阵 / 卡片 / 雷达 / 热力图 / 平行坐标：多列网格（弹窗内更舒适） */.param-selector-list.param-selector-list--grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
            gap: 4px 10px;
            max-height: min(420px, 62vh);
            align-content: start;
        }/* 弹窗内：按大分类分列，每列下为小项 */.param-selector-list.param-selector-list--by-group {
            display: flex;
            flex-direction: row;
            flex-wrap: nowrap;
            align-items: flex-start;
            gap: 12px 14px;
            max-height: min(480px, 62vh);
            overflow-x: scroll;
            overflow-y: hidden;
            padding: 4px 2px 10px;
            -webkit-overflow-scrolling: touch;
            scrollbar-gutter: stable;
            scrollbar-width: thin;
            scrollbar-color: rgba(100, 116, 139, 0.72) rgba(226, 232, 240, 0.95);
        }[data-theme="dark"] .param-selector-list.param-selector-list--by-group {

            scrollbar-color: rgba(148, 163, 184, 0.52) rgba(30, 41, 59, 0.88);
        
        }.param-selector-list.param-selector-list--by-group::-webkit-scrollbar {
            height: 10px;
        }.param-selector-list.param-selector-list--by-group::-webkit-scrollbar-track {
            background: rgba(226, 232, 240, 0.78);
            border-radius: 5px;
        }[data-theme="dark"] .param-selector-list.param-selector-list--by-group::-webkit-scrollbar-track {

            background: rgba(30, 41, 59, 0.75);
        
        }.param-selector-list.param-selector-list--by-group::-webkit-scrollbar-thumb {
            background-color: rgba(100, 116, 139, 0.55);
            border-radius: 5px;
            border: 2px solid transparent;
            background-clip: padding-box;
        }[data-theme="dark"] .param-selector-list.param-selector-list--by-group::-webkit-scrollbar-thumb {

            background-color: rgba(148, 163, 184, 0.42);
            border-color: transparent;
            background-clip: padding-box;
        
        }.param-selector-group-col {
            flex: 0 0 auto;
            width: min(200px, 42vw);
            min-width: 148px;
            max-width: 240px;
            display: flex;
            flex-direction: column;
            gap: 6px;
        }.param-selector-group-col-title {
            font-size: 12px;
            font-weight: 700;
            line-height: 1.25;
            color: var(--text-main);
            padding: 8px 10px;
            border-radius: 10px;
            background: var(--soft-bg-2);
            border: 1px solid var(--line-color);
            flex-shrink: 0;
        }.param-selector-group-col.is-group-off {
            opacity: 0.58;
        }.param-selector-group-col-head {
            display: flex;
            align-items: flex-start;
            gap: 8px;
            margin: 0;
            cursor: pointer;
            font: inherit;
            width: 100%;
        }.param-selector-group-col-head input[type="checkbox"] {
            margin-top: 2px;
            flex-shrink: 0;
            accent-color: var(--accent);
        }.param-selector-group-col-head-text {
            flex: 1;
            min-width: 0;
            font-size: 12px;
            font-weight: 700;
            line-height: 1.25;
            color: var(--text-main);
        }.param-selector-group-col-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 6px;
            margin-top: 6px;
            padding-left: 24px;
            font-size: 11px;
            line-height: 1.2;
        }.param-selector-group-col-actions a {
            color: var(--accent);
            text-decoration: none;
            font-weight: 700;
        }.param-selector-group-col-actions a:hover {
            text-decoration: underline;
        }.param-selector-group-col-body {
            display: flex;
            flex-direction: column;
            gap: 2px;
            max-height: min(400px, 56vh);
            overflow-y: scroll;
            overflow-x: hidden;
            -webkit-overflow-scrolling: touch;
            padding-right: 2px;
            scrollbar-gutter: stable;
            scrollbar-width: thin;
            scrollbar-color: rgba(100, 116, 139, 0.72) rgba(226, 232, 240, 0.95);
        }[data-theme="dark"] .param-selector-group-col-body {

            scrollbar-color: rgba(148, 163, 184, 0.52) rgba(30, 41, 59, 0.88);
        
        }.param-selector-group-col-body::-webkit-scrollbar {
            width: 10px;
        }.param-selector-group-col-body::-webkit-scrollbar-track {
            background: rgba(226, 232, 240, 0.82);
            border-radius: 5px;
        }[data-theme="dark"] .param-selector-group-col-body::-webkit-scrollbar-track {

            background: rgba(30, 41, 59, 0.76);
        
        }.param-selector-group-col-body::-webkit-scrollbar-thumb {
            background-color: rgba(100, 116, 139, 0.58);
            border-radius: 5px;
            border: 2px solid transparent;
            background-clip: padding-box;
        }[data-theme="dark"] .param-selector-group-col-body::-webkit-scrollbar-thumb {

            background-color: rgba(148, 163, 184, 0.45);
            border-color: transparent;
            background-clip: padding-box;
        
        }.param-selector-group-col-body label {
            display: flex;
            align-items: flex-start;
            gap: 8px;
            margin: 0;
            padding: 6px 8px;
            border-radius: 8px;
            cursor: pointer;
            color: var(--comparison-param-text);
            line-height: 1.35;
        }.param-selector-group-col-body label:hover {
            background: var(--accent-soft);
        }.param-selector-group-col-body input[type="checkbox"] {
            margin-top: 2px;
            flex-shrink: 0;
            accent-color: var(--accent);
        }[data-theme="dark"] .compare-toolbar-help-guide-btn {

            background: rgba(59, 130, 246, 0.15);
        
        }[data-theme="dark"] .compare-onboarding-shade {

            background: rgba(0, 0, 0, 0.62);
        
        }[data-theme="dark"] .compare-onboarding-focus-ring {

            box-shadow:
                0 0 0 3px rgba(96, 165, 250, 0.22),
                0 0 0 1px rgba(255, 255, 255, 0.12) inset,
                0 8px 28px rgba(0, 0, 0, 0.45);
        
        }[data-theme="dark"] .compare-toolbar-help-popover {

            background: #1f2937;
            box-shadow: var(--glass-edge), 0 16px 48px rgba(0, 0, 0, 0.45);
        
        }.param-selector-compact {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: space-between;
            gap: 10px 14px;
        }.param-selector-compact--prominent {
            flex-direction: column;
            align-items: stretch;
            gap: 8px;
            padding: 10px 12px;
            border-radius: 12px;
            border: 1px solid var(--line-color);
            background: linear-gradient(165deg, var(--accent-soft) 0%, var(--soft-bg-2) 55%, var(--panel-bg, var(--soft-bg-2)) 100%);
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
        }[data-theme="dark"] .param-selector-compact--prominent {

            box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
        
        }.param-selector-compact-top {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: space-between;
            gap: 10px 14px;
        }.param-selector-compact-main {
            display: flex;
            flex-wrap: wrap;
            align-items: baseline;
            gap: 6px 12px;
            min-width: 0;
        }.param-selector-compact-meta {
            font-size: 12px;
            color: var(--text-muted);
        }.param-selector-compact-hint {
            margin: 0;
            font-size: 11px;
            line-height: 1.45;
            color: var(--text-muted);
            padding: 0 2px;
        }[data-theme="dark"] #comparison .axis-param-pick-btn {

            box-shadow: 0 2px 14px rgba(0, 0, 0, 0.35);
        
        }[data-theme="dark"] .axis-param-modal-backdrop {

            background: rgba(0, 0, 0, 0.55);
        
        }[data-theme="dark"] .axis-param-modal-dialog {

            background: var(--panel-bg);
            box-shadow: var(--glass-drop), var(--glass-edge);
        
        }[data-theme="dark"] .axis-param-modal-body {

            scrollbar-color: rgba(148, 163, 184, 0.55) rgba(30, 41, 59, 0.92);
        
        }[data-theme="dark"] .axis-param-modal-body::-webkit-scrollbar-track {

            background: rgba(30, 41, 59, 0.88);
        
        }[data-theme="dark"] .axis-param-modal-body::-webkit-scrollbar-thumb {

            background-color: rgba(148, 163, 184, 0.42);
            border-color: transparent;
            background-clip: padding-box;
        
        }.chart-param-wrap strong,
        .radar-param-wrap strong {
            color: var(--comparison-param-text);
            font-weight: 700;
        }.chart-param-wrap label {
            margin-right: 10px;
            display: inline-block;
            cursor: pointer;
            color: var(--comparison-param-text);
        }.chart-param-wrap .param-selector-list label {
            margin-right: 0;
            display: flex;
        }.radar-param-wrap label {
            margin-right: 10px;
            display: inline-block;
            cursor: pointer;
            color: var(--comparison-param-text);
        }.radar-param-wrap .param-selector-list label {
            margin-right: 0;
            display: flex;
        }/* 雷达图悬浮框：挂在图表滚动区内，层级高于右侧产品图例 */.radar-tooltip-scroll {
            overflow: visible;
            line-height: 1.28;
            font-size: 12px;
        }.radar-tooltip-title {
            display: block;
            margin-bottom: 5px;
            font-weight: 700;
        }.radar-tooltip-grid {
            display: grid;
            grid-template-columns: repeat(var(--radar-tooltip-cols, 3), minmax(145px, 1fr));
            gap: 3px 10px;
            align-items: start;
        }.radar-tooltip-item {
            min-width: 0;
            white-space: normal;
            word-break: break-word;
        }.preset-filters {
            display: grid;
            grid-template-columns: repeat(4, minmax(160px, 1fr));
            gap: 12px;
            margin-top: 8px;
            padding: 12px;
            border: 1px solid var(--panel-border);
            border-radius: 16px;
            background: var(--panel-bg);
            -webkit-backdrop-filter: var(--backdrop-std);
            backdrop-filter: var(--backdrop-std);
            box-shadow: var(--glass-drop), var(--glass-edge);
        }.preset-filter-item {
            display: flex;
            flex-direction: column;
            gap: 6px;
            min-width: 0;
        }.preset-filter-label {
            font-size: 11px;
            color: var(--text-muted);
            line-height: 1;
            padding-left: 2px;
        }.preset-filters select {
            width: 100%;
            border: 1px solid var(--line-color);
            background: var(--soft-bg-2);
            color: var(--text-main);
            border-radius: 8px;
            padding: 8px 10px;
            font-size: 12px;
            height: 36px;
            line-height: 20px;
            box-sizing: border-box;
        }.preset-filters input[type="text"] {
            width: 100%;
            border: 1px solid var(--line-color);
            background: var(--soft-bg-2);
            color: var(--text-main);
            border-radius: 8px;
            padding: 8px 10px;
            font-size: 12px;
            height: 36px;
            line-height: 20px;
            box-sizing: border-box;
        }.preset-strict {
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 12px;
            gap: 6px;
            padding: 0 8px;
            border: 1px solid var(--line-color);
            border-radius: 8px;
            background: var(--soft-bg-2);
            height: 36px;
        }.preset-strict input[type="checkbox"] {
            width: 14px;
            height: 14px;
            margin: 0;
        }.preset-toolbar {
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            gap: 8px;
            margin-top: 10px;
        }#trend .preset-toolbar .export-btn,
        .preset-toolbar .export-btn {
            border: 1px solid var(--line-color);
            background: var(--soft-bg-2);
            color: var(--text-main);
            border-radius: 8px;
            padding: 8px 14px;
            font-size: 12px;
            font-weight: 600;
            line-height: 1.2;
            cursor: pointer;
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 36px;
            box-sizing: border-box;
            white-space: nowrap;
            transition: background-color .15s ease, border-color .15s ease, color .15s ease;
        }#trend .preset-toolbar .export-btn:hover,
        .preset-toolbar .export-btn:hover {
            background: var(--accent-soft);
            border-color: color-mix(in srgb, var(--accent) 45%, var(--line-color));
            color: var(--accent);
        }#trend .preset-toolbar .preset-toolbar-btn--primary {
            background: var(--accent);
            border-color: var(--accent);
            color: #fff;
        }#trend .preset-toolbar .preset-toolbar-btn--primary:hover {
            background: color-mix(in srgb, var(--accent) 88%, #000);
            border-color: color-mix(in srgb, var(--accent) 88%, #000);
            color: #fff;
        }@media (max-width: 767px) {
            #trend .preset-toolbar {
                display: grid;
                grid-template-columns: repeat(3, minmax(0, 1fr));
                gap: 6px;
                margin-top: 6px;
            }
            #trend .preset-toolbar .export-btn {
                width: 100%;
                min-height: 34px;
                padding: 6px 8px;
                font-size: 11px;
            }
        }.preset-table {
            width: 100%;
            margin-top: 10px;
            border-collapse: collapse;
        }.preset-table th, .preset-table td {
            border-bottom: 1px solid var(--line-color);
            padding: 8px 10px;
            font-size: 12px;
            text-align: left;
        }.preset-table th {
            background: rgba(255, 255, 255, 0.55);
            -webkit-backdrop-filter: saturate(1.25) blur(8px);
            backdrop-filter: saturate(1.25) blur(8px);
        }[data-theme="dark"] .preset-table th {

            background: rgba(15, 23, 42, 0.65);
        
        }.preset-table tbody tr {
            transition: background-color .18s ease, box-shadow .18s ease;
        }.preset-table tbody tr:hover {
            background: var(--accent-soft);
        }.preset-table tbody tr.preset-row-selected {
            background: var(--accent-soft);
            box-shadow: inset 2px 0 0 var(--accent);
        }/* 打印配置下载：备注列约为其它数据列典型宽度的 3 倍，便于阅读长备注 */.preset-table th.preset-table-col-remark,
        .preset-table td.preset-table-col-remark {
            min-width: 21rem;
            max-width: 40rem;
            width: 21rem;
            word-break: break-word;
            white-space: normal;
            vertical-align: top;
        }.preset-table-wrap {
            width: 100%;
            min-width: 0;
            margin-top: 10px;
        }#trend .preset-download-hint {
            font-size: 12px;
            color: var(--text-muted);
            margin-top: 8px;
            line-height: 1.45;
        }#trend .preset-pagination {
            margin-top: 12px;
        }#trend .preset-pagination-inner {
            display: flex;
            align-items: center;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 10px 16px;
        }#trend .preset-pagination-meta,
        #trend .preset-pagination-page {
            font-size: 12px;
            color: var(--text-muted);
        }#trend .preset-pagination-nav {
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            gap: 6px;
        }#trend .preset-page-btn {
            border: 1px solid var(--line-color);
            background: var(--soft-bg-2);
            color: var(--text-main);
            border-radius: 8px;
            min-width: 34px;
            height: 32px;
            padding: 0 10px;
            font-size: 12px;
            font-weight: 600;
            cursor: pointer;
            transition: background-color .15s ease, border-color .15s ease, color .15s ease;
        }#trend .preset-page-btn:hover:not(:disabled) {
            background: var(--accent-soft);
            border-color: color-mix(in srgb, var(--accent) 45%, var(--line-color));
            color: var(--accent);
        }#trend .preset-page-btn.is-active {
            background: var(--accent);
            border-color: var(--accent);
            color: #fff;
        }#trend .preset-page-btn:disabled {
            opacity: .45;
            cursor: not-allowed;
        }@media (max-width: 767px) {
            #trend .preset-pagination-inner {
                flex-direction: column;
                align-items: stretch;
            }
            #trend .preset-pagination-nav {
                justify-content: center;
            }
        }/* WIKI V3 — Wiki.js inspired, aligned with dashboard glass theme */.pw-wiki-shell {
            --wiki-drawer-w: 280px;
            --wiki-page-toc-w: 228px;
            --wiki-page-toc-gap: 0px;
            display: grid;
            /* 左 1/8 导航 + 右 7/8 内容（不用 minmax 变量，避免部分浏览器列宽失效） */
            grid-template-columns: minmax(160px, 1fr) minmax(0, 7fr);
            grid-template-rows: minmax(0, 1fr);
            grid-template-areas: "wiki-nav wiki-main";
            gap: 0;
            width: 100%;
            box-sizing: border-box;
            min-height: min(680px, calc(100vh - 176px));
            flex: 1 1 auto;
            align-items: stretch;
            border: 1px solid var(--panel-border);
            border-radius: var(--radius-lg);
            overflow: hidden;
            background: var(--panel-bg);
            box-shadow: var(--glass-drop), var(--glass-edge);
            -webkit-backdrop-filter: var(--backdrop-std);
            backdrop-filter: var(--backdrop-std);
            position: relative;
        }/* 遮罩不参与 grid，否则会挤占第一列导致右侧正文被压成竖条 */.pw-wiki-sidebar-backdrop {
            display: none;
            position: absolute;
            inset: 0;
            z-index: 15;
            pointer-events: none;
            background: transparent;
        }.pw-wiki-sidebar {
            grid-area: wiki-nav;
            grid-column: 1;
            display: flex;
            flex-direction: column;
            min-width: 0;
            min-height: 0;
            max-width: 100%;
            background: var(--soft-bg);
            border-right: 1px solid var(--line-color);
        }.pw-wiki-sidebar-head {
            flex-shrink: 0;
            padding: 14px 14px 10px;
            border-bottom: 1px solid var(--line-color);
        }.pw-wiki-brand {
            display: flex;
            align-items: center;
            gap: 10px;
            margin-bottom: 12px;
            font-size: 15px;
            font-weight: 700;
            color: var(--text-main);
            letter-spacing: 0.01em;
        }.pw-wiki-brand-mark {
            width: 32px;
            height: 32px;
            border-radius: var(--radius-sm);
            background: var(--accent-soft);
            color: var(--accent);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 14px;
        }.pw-wiki-search-wrap { position: relative; }.pw-wiki-search-clear {
            position: absolute;
            right: 8px;
            top: 9px;
            width: 22px;
            height: 22px;
            padding: 0;
            border: 0;
            border-radius: 50%;
            background: var(--soft-bg);
            color: var(--text-muted);
            font-size: 14px;
            line-height: 22px;
            cursor: pointer;
            display: none;
        }.pw-wiki-search-wrap.has-query .pw-wiki-search-clear { display: block; }.pw-wiki-search-wrap.has-query .pw-wiki-search { padding-right: 32px; }.pw-wiki-recent-tag {
            display: inline-block;
            margin-right: 4px;
            padding: 0 5px;
            border-radius: 4px;
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 0.04em;
            text-transform: uppercase;
            background: var(--accent-soft);
            color: var(--accent);
            vertical-align: 1px;
        }.pw-wiki-search {
            width: 100%;
            box-sizing: border-box;
            padding: 8px 12px 8px 34px;
            border: 1px solid var(--line-color);
            border-radius: var(--radius-sm);
            font-size: 13px;
            background: var(--panel-bg);
            color: var(--text-main);
            outline: none;
            transition: border-color var(--ui-duration) var(--ui-ease), box-shadow var(--ui-duration) var(--ui-ease);
        }.pw-wiki-search-wrap { position: relative; }.pw-wiki-search-meta {
            display: block;
            margin-top: 4px;
            font-size: 11px;
            color: var(--text-muted);
            min-height: 14px;
        }.pw-wiki-search-meta:empty { display: none; }.pw-wiki-state-detail {
            margin: 0;
            font-size: 12px;
            color: var(--text-muted);
            font-family: ui-monospace, Menlo, Monaco, Consolas, monospace;
        }.pw-wiki-search:focus {
            border-color: var(--accent);
            box-shadow: 0 0 0 3px var(--accent-soft);
        }.pw-wiki-search-wrap::before {
            content: "";
            position: absolute;
            left: 11px;
            top: 50%;
            width: 14px;
            height: 14px;
            margin-top: -7px;
            opacity: 0.45;
            background: currentColor;
            -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='black' stroke-width='2' d='M11 19a8 8 0 100-16 8 8 0 000 16zM21 21l-4.35-4.35'/%3E%3C/svg%3E") center/contain no-repeat;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='black' stroke-width='2' d='M11 19a8 8 0 100-16 8 8 0 000 16zM21 21l-4.35-4.35'/%3E%3C/svg%3E") center/contain no-repeat;
            color: var(--text-muted);
            pointer-events: none;
        }.pw-wiki-menu {
            flex: 1 1 auto;
            overflow-y: auto;
            padding: 8px 0 20px;
            min-height: 0;
        }.pw-menu-section-title {
            padding: 16px 14px 6px;
            font-size: 11px;
            font-weight: 600;
            text-transform: uppercase;
            color: var(--text-muted);
            letter-spacing: 0.05em;
        }.pw-menu-group { margin: 0; }.pw-menu-item {
            display: flex;
            align-items: center;
            gap: 8px;
            width: 100%;
            border: 0;
            border-left: 3px solid transparent;
            background: transparent;
            text-align: left;
            padding: 7px 12px 7px 10px;
            font-size: 13px;
            line-height: 1.4;
            color: var(--text-main);
            cursor: pointer;
            transition: background var(--ui-duration) var(--ui-ease), border-color var(--ui-duration) var(--ui-ease);
        }.pw-menu-item:hover { background: var(--accent-soft); }.pw-menu-item.is-focus {
            background: rgba(250, 204, 21, 0.18);
            border-left-color: #eab308;
        }.pw-menu-item.is-active {
            background: var(--accent-soft);
            border-left-color: var(--accent);
            color: var(--accent);
            font-weight: 600;
        }.pw-menu-item.is-hidden { display: none !important; }.pw-menu-item .pw-icon {
            width: 20px;
            text-align: center;
            color: var(--text-muted);
            flex-shrink: 0;
            font-size: 13px;
        }.pw-menu-item.is-active .pw-icon { color: var(--accent); }.pw-menu-item .pw-label {
            flex: 1;
            min-width: 0;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }.pw-menu-item .pw-chevron {
            color: var(--text-muted);
            font-size: 10px;
            flex-shrink: 0;
            transition: transform var(--ui-duration) var(--ui-ease);
        }.pw-menu-group.is-collapsed > .pw-menu-children { display: none; }.pw-menu-group.is-collapsed > .pw-menu-item--section .pw-chevron { transform: rotate(-90deg); }.pw-menu-children {
            padding: 0 0 2px 0;
            border-left: 1px solid var(--line-color);
            margin-left: 18px;
        }.pw-menu-children .pw-menu-item { padding-left: 8px; font-size: 12.5px; }.pw-wiki-main {
            grid-area: wiki-main;
            grid-column: 2;
            display: flex;
            flex-direction: column;
            min-width: 0;
            min-height: 0;
            overflow: hidden;
            background: var(--panel-bg);
        }.pw-wiki-topbar {
            flex-shrink: 0;
            display: flex;
            align-items: center;
            gap: 10px;
            padding: 8px 14px;
            border-bottom: 1px solid var(--line-color);
            background: var(--soft-bg);
            min-height: 48px;
            flex-wrap: nowrap;
            overflow: hidden;
        }.pw-wiki-topbar-start {
            display: flex;
            align-items: center;
            gap: 10px;
            flex: 1 1 auto;
            min-width: 0;
            overflow: hidden;
        }.pw-wiki-topbar-actions {
            display: flex;
            align-items: center;
            gap: 8px;
            flex-shrink: 0;
        }.pw-wiki-breadcrumb {
            display: flex;
            flex-wrap: nowrap;
            align-items: center;
            gap: 6px;
            font-size: 13px;
            color: var(--text-muted);
            min-width: 0;
            flex: 1 1 auto;
            overflow: hidden;
        }.pw-wiki-breadcrumb span { color: var(--text-muted); }.pw-wiki-breadcrumb strong {
            color: var(--text-main);
            font-weight: 600;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
            max-width: min(420px, 50vw);
        }.pw-wiki-breadcrumb button {
            border: 0;
            background: none;
            padding: 0;
            font: inherit;
            color: var(--accent);
            cursor: pointer;
        }.pw-wiki-breadcrumb button:hover { text-decoration: underline; }.pw-wiki-topbar-link {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            flex-shrink: 0;
            padding: 6px 10px;
            border: 1px solid var(--line-color);
            border-radius: 999px;
            background: var(--panel-bg);
            font-size: 12px;
            font-weight: 700;
            color: var(--accent);
            text-decoration: none;
            white-space: nowrap;
        }.pw-wiki-topbar-link .pw-ui-icon {
            width: 14px;
            height: 14px;
            flex-shrink: 0;
        }.pw-wiki-topbar-link:hover {
            border-color: var(--accent);
            background: var(--accent-soft);
            text-decoration: none;
        }.pw-wiki-body { flex: 1 1 auto; min-height: 0; overflow: hidden; display: flex; flex-direction: column; }.pw-wiki-view { display: none; flex: 1 1 auto; min-height: 0; overflow: hidden; }.pw-wiki-view.is-active { display: flex; flex-direction: column; }#pwWikiWelcomeView.is-active {
            display: flex;
            flex-direction: column;
            flex: 1 1 auto;
            min-height: 0;
            overflow: hidden;
        }.pw-portfolio {
            flex: 1 1 auto;
            width: 100%;
            max-width: 100%;
            box-sizing: border-box;
            min-height: 0;
            overflow-x: hidden;
            overflow-y: auto;
            padding: 20px clamp(16px, 3vw, 28px) 32px;
            -webkit-overflow-scrolling: touch;
        }.pw-portfolio-head,
        .pw-portfolio-grid,
        .pw-wiki-welcome-banner {
            width: 100%;
            max-width: 100%;
            box-sizing: border-box;
        }.pw-portfolio-head {
            display: flex;
            flex-wrap: wrap;
            align-items: flex-start;
            justify-content: space-between;
            gap: 12px 24px;
            margin-bottom: 20px;
        }.pw-portfolio-eyebrow {
            font-size: 11px;
            font-weight: 700;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: var(--text-muted);
            margin: 0 0 6px;
        }.pw-portfolio-title {
            font-size: clamp(22px, 2.4vw, 30px);
            font-weight: 800;
            color: var(--text-main);
            margin: 0;
            line-height: 1.2;
        }.pw-portfolio-subtitle {
            font-size: 13px;
            color: var(--text-muted);
            max-width: 420px;
            line-height: 1.55;
            margin: 0;
            text-align: right;
        }.pw-portfolio-meta {
            font-size: 12px;
            font-weight: 600;
            color: var(--accent);
            margin: 8px 0 0;
        }.pw-portfolio-grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: 16px;
        }@media (min-width: 900px) {
            .pw-portfolio-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }
            .pw-portfolio-card.is-wide {
                grid-column: 1 / -1;
            }
            .pw-portfolio-card.is-wide .pw-portfolio-card-body {
                grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
            }
        }.pw-portfolio-refresh-btn {
            flex-shrink: 0;
            width: 32px;
            height: 32px;
            border: 1px solid var(--line-color);
            border-radius: 50%;
            background: var(--panel-bg);
            color: var(--text-muted);
            cursor: pointer;
        }.pw-portfolio-refresh-btn:hover { color: var(--accent); border-color: var(--accent); }.pw-wiki-welcome-kbd { margin: 8px 0 0; font-size: 12px; color: var(--text-muted); }.pw-portfolio-head > div:first-child {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 12px;
        }.pw-portfolio-head--sticky {
            position: sticky;
            top: 0;
            z-index: 2;
            padding-bottom: 12px;
            margin-bottom: 12px;
            background: linear-gradient(180deg, var(--panel-bg, #fff) 70%, transparent);
            backdrop-filter: blur(8px);
        }.pw-portfolio-pill.is-active {
            box-shadow: 0 0 0 2px var(--accent);
            font-weight: 700;
        }.pw-portfolio-pill mark {
            background: rgba(250, 204, 21, 0.55);
            color: inherit;
            padding: 0 1px;
            border-radius: 2px;
        }.pw-portfolio-card[data-series="fusfun"] {
            background: linear-gradient(145deg, #4ade80 0%, #22c55e 55%, #16a34a 100%);
        }.pw-portfolio-card[data-series="fusforce"] {
            background: linear-gradient(145deg, #64748b 0%, #475569 55%, #334155 100%);
        }.pw-portfolio-card[data-series="fusflex"] {
            background: #fff;
            border: 2px dashed #cbd5e1;
            box-shadow: 0 4px 16px rgba(15, 23, 42, 0.08);
        }.pw-portfolio-card[data-series="fuscoating"] {
            background: linear-gradient(145deg, #fb923c 0%, #f97316 55%, #ea580c 100%);
        }.pw-portfolio-card[data-series="fusfree"] {
            background: linear-gradient(145deg, #38bdf8 0%, #0ea5e9 55%, #0284c7 100%);
        }.pw-portfolio-card[data-series="fuslab"] {
            background: linear-gradient(145deg, #a78bfa 0%, #8b5cf6 55%, #7c3aed 100%);
        }.pw-portfolio-card[data-series="other"] {
            background: linear-gradient(145deg, #94a3b8 0%, #64748b 100%);
        }.pw-portfolio-card {
            border-radius: 16px;
            padding: 16px 16px 14px;
            color: #fff;
            box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
            display: flex;
            flex-direction: column;
            gap: 12px;
        }.pw-portfolio-card.is-light {
            color: var(--text-main);
            box-shadow: 0 4px 16px rgba(15, 23, 42, 0.08);
        }.pw-portfolio-card-head {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 8px;
        }.pw-portfolio-card-head--btn {
            width: 100%;
            margin: 0;
            padding: 0;
            border: 0;
            background: transparent;
            color: inherit;
            text-align: left;
            cursor: pointer;
            border-radius: 8px;
            transition: opacity 0.15s ease;
        }.pw-portfolio-card-head--btn:hover {
            opacity: 0.88;
        }.pw-portfolio-card.is-focus {
            outline: 2px solid rgba(255, 255, 255, 0.65);
            outline-offset: 2px;
        }.pw-portfolio-card.is-light.is-focus {
            outline-color: var(--accent);
        }.pw-portfolio-card-title {
            font-size: 17px;
            font-weight: 700;
            margin: 0;
        }.pw-portfolio-card-count {
            font-size: 12px;
            font-weight: 600;
            padding: 3px 10px;
            border-radius: 999px;
            background: rgba(255, 255, 255, 0.22);
            color: inherit;
            white-space: nowrap;
        }.pw-portfolio-card.is-light .pw-portfolio-card-count {
            background: #f1f5f9;
            color: #64748b;
        }.pw-portfolio-card-body {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
            gap: 10px 12px;
        }.pw-portfolio-group-title {
            font-size: 12px;
            font-weight: 700;
            margin: 0 0 6px;
            opacity: 0.92;
        }.pw-portfolio-card.is-light .pw-portfolio-group-title {
            color: #64748b;
        }.pw-portfolio-pills {
            display: flex;
            flex-wrap: wrap;
            gap: 6px;
        }.pw-portfolio-pill {
            display: inline-flex;
            align-items: center;
            max-width: 100%;
            padding: 5px 10px;
            border: none;
            border-radius: 8px;
            background: rgba(255, 255, 255, 0.95);
            color: #0f172a;
            font-size: 11px;
            font-weight: 600;
            line-height: 1.3;
            cursor: pointer;
            text-align: left;
            transition: transform 0.12s ease, box-shadow 0.12s ease;
        }.pw-portfolio-pill:hover,
        .pw-portfolio-pill:focus-visible {
            transform: translateY(-1px);
            box-shadow: 0 4px 12px rgba(15, 23, 42, 0.15);
            outline: 2px solid rgba(255, 255, 255, 0.6);
            outline-offset: 1px;
        }.pw-portfolio-card.is-light .pw-portfolio-pill:focus-visible {
            outline-color: var(--accent);
        }.pw-portfolio.is-refreshing {
            opacity: 0.72;
            pointer-events: none;
            transition: opacity 0.2s ease;
        }.pw-portfolio-pill.is-hidden,
        .pw-portfolio-group.is-hidden,
        .pw-portfolio-card.is-hidden { display: none !important; }.pw-portfolio-card.is-light .pw-portfolio-pill {
            background: #fff;
            border: 1px solid #e2e8f0;
        }.pw-portfolio-empty {
            padding: 48px 24px;
            text-align: center;
            color: var(--text-muted);
            font-size: 14px;
        }@media (max-width: 720px) {
            .pw-portfolio-head { flex-direction: column; }
            .pw-portfolio-subtitle { text-align: left; max-width: none; }
        }[data-theme="dark"] .pw-portfolio-head--sticky {

            background: linear-gradient(180deg, rgba(30, 41, 59, 0.92) 70%, transparent);
        
        }[data-theme="dark"] .pw-portfolio-card[data-series="fusflex"] {

            background: var(--soft-bg);
            border-color: var(--line-color);
        
        }[data-theme="dark"] .pw-portfolio-card.is-light .pw-portfolio-card-count {

            background: var(--soft-bg-2);
            color: var(--text-muted);
        
        }[data-theme="dark"] .pw-portfolio-pill {

            background: rgba(15, 23, 42, 0.88);
            color: #e2e8f0;
        
        }[data-theme="dark"] .pw-portfolio-card.is-light .pw-portfolio-pill {

            background: var(--soft-bg-2);
            border-color: var(--line-color);
        
        }[data-theme="dark"] .pw-portfolio-pill mark {

            background: rgba(250, 204, 21, 0.35);
        
        }.pw-product-subhead,
        .pw-wiki-page-head {
            flex-shrink: 0;
            padding: 8px clamp(12px, 3vw, 24px);
            border-bottom: 1px solid var(--line-color);
            background: var(--panel-bg);
        }.pw-product-subhead .pw-wiki-back,
        .pw-wiki-page-head .pw-wiki-back { margin: 0; }/* 正文 + 本页目录：flex 双轨（避免 grid 子项叠在同一格） */.pw-product-layout,
        .pw-wiki-page-layout {
            display: flex;
            flex-direction: column;
            flex: 1 1 auto;
            min-height: 0;
            min-width: 0;
            width: 100%;
            overflow: hidden;
            align-items: stretch;
            box-sizing: border-box;
        }#pwWikiProductView .pw-product-layout,
        #pwWikiPageView .pw-wiki-page-layout {
            flex: 1 1 auto;
            min-height: 0;
        }.pw-product-layout .pw-product-body,
        .pw-wiki-page-layout .pw-custom-body {
            flex: 1 1 auto;
            min-width: 0;
            min-height: 0;
            width: 100%;
            box-sizing: border-box;
        }@media (min-width: 960px) {
            .pw-product-layout.has-product-toc,
            .pw-wiki-page-layout.has-page-toc {
                flex-direction: row;
                align-items: stretch;
            }
            .pw-product-layout.has-product-toc .pw-product-body,
            .pw-wiki-page-layout.has-page-toc .pw-custom-body {
                flex: 1 1 0;
                min-width: 0;
                max-width: none !important;
                width: auto !important;
                order: 1;
                overflow-x: auto;
                overflow-y: auto;
            }
            .pw-product-layout.has-product-toc .pw-product-toc,
            .pw-wiki-page-layout.has-page-toc .pw-wiki-page-toc {
                flex: 0 0 var(--wiki-page-toc-w);
                order: 2;
                width: var(--wiki-page-toc-w);
                min-width: var(--wiki-page-toc-w);
                max-width: var(--wiki-page-toc-w);
                box-sizing: border-box;
                border-left: 1px solid var(--line-color);
                background: linear-gradient(180deg, var(--soft-bg) 0%, var(--panel-bg) 100%);
                box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.35);
                display: flex;
                flex-direction: column;
                overflow: hidden;
            }
            .pw-product-layout.has-product-toc.is-toc-collapsed .pw-product-toc,
            .pw-wiki-page-layout.has-page-toc.is-toc-collapsed .pw-wiki-page-toc {
                display: none !important;
                flex: 0 0 0;
                width: 0;
                min-width: 0;
                max-width: 0;
                border: 0;
                overflow: hidden;
            }
            .pw-product-layout.has-product-toc.is-toc-collapsed .pw-product-body,
            .pw-wiki-page-layout.has-page-toc.is-toc-collapsed .pw-custom-body {
                flex: 1 1 100%;
                width: 100% !important;
            }
        }#pwWikiProductView,
        #pwWikiPageView {
            position: relative;
            min-width: 0;
        }#pwWikiProductView.is-product-toc-open .pw-product-back-top,
        #pwWikiPageView.is-page-toc-open .pw-page-back-top {
            right: calc(var(--wiki-page-toc-w) + 16px);
        }.pw-product-toc,
        .pw-wiki-page-toc {
            display: none;
            flex-direction: column;
            min-width: 0;
            min-height: 0;
            overflow: hidden;
            padding: 0;
        }.pw-page-toc-rail__head {
            flex-shrink: 0;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 8px;
            padding: 12px 12px 10px;
            border-bottom: 1px solid var(--line-color);
            background: inherit;
        }.pw-page-toc-rail__head .pw-product-toc-label,
        .pw-page-toc-rail__head .pw-wiki-page-toc-title {
            margin: 0;
            flex: 1 1 auto;
            min-width: 0;
            font-size: 11px;
            font-weight: 700;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            color: var(--text-muted);
        }.pw-page-toc-rail__tools {
            flex-shrink: 0;
            padding: 10px 12px 0;
        }.pw-page-toc-rail__nav {
            flex: 1 1 auto;
            min-height: 0;
            overflow-x: hidden;
            overflow-y: auto;
            padding: 8px 8px 16px;
            -webkit-overflow-scrolling: touch;
            scroll-padding-block: 8px;
        }.pw-product-toc-toggle,
        .pw-wiki-page-toc-toggle {
            flex-shrink: 0;
            border: 1px solid var(--line-color);
            border-radius: 8px;
            background: var(--panel-bg);
            color: var(--text-muted);
            font-size: 11px;
            font-weight: 600;
            padding: 4px 8px;
            cursor: pointer;
            line-height: 1.2;
        }.pw-product-toc-toggle:hover,
        .pw-wiki-page-toc-toggle:hover {
            border-color: var(--accent);
            color: var(--accent);
            background: var(--accent-soft);
        }.pw-toc-edge-tab {
            display: none;
            position: absolute;
            right: 0;
            top: 42%;
            z-index: 11;
            writing-mode: vertical-rl;
            text-orientation: mixed;
            padding: 10px 7px;
            border: 1px solid var(--line-color);
            border-right: 0;
            border-radius: 10px 0 0 10px;
            background: var(--panel-bg);
            color: var(--accent);
            font-size: 11px;
            font-weight: 600;
            letter-spacing: 0.08em;
            cursor: pointer;
            box-shadow: -4px 0 16px rgba(15, 23, 42, 0.08);
            transition: background var(--ui-duration) var(--ui-ease), box-shadow var(--ui-duration) var(--ui-ease);
        }.pw-toc-edge-tab:hover {
            background: var(--accent-soft);
            box-shadow: -6px 0 20px rgba(37, 99, 235, 0.12);
        }.pw-toc-edge-tab.is-visible { display: block; }.pw-product-hero {
            display: flex;
            flex-wrap: wrap;
            align-items: flex-start;
            justify-content: space-between;
            gap: 12px 16px;
            margin-bottom: 20px;
        }.pw-product-hero-main { min-width: 0; flex: 1 1 200px; }.pw-product-series-badge {
            display: inline-block;
            font-size: 11px;
            font-weight: 600;
            padding: 3px 10px;
            border-radius: 999px;
            background: var(--accent-soft);
            color: var(--accent);
            margin-bottom: 8px;
        }.pw-product-hero h1 {
            margin: 0;
            font-size: clamp(20px, 2.2vw, 26px);
            line-height: 1.25;
        }.pw-product-hero-meta {
            margin: 8px 0 0;
            font-size: 12px;
            color: var(--text-muted);
            line-height: 1.5;
        }.pw-product-copy-link {
            flex-shrink: 0;
            padding: 6px 12px;
            border: 1px solid var(--line-color);
            border-radius: var(--radius-sm);
            background: var(--panel-bg);
            color: var(--accent);
            font-size: 12px;
            font-weight: 600;
            cursor: pointer;
            transition: background 0.15s ease;
        }.pw-product-copy-link:hover { background: var(--accent-soft); }.pw-product-copy-link.is-done { color: var(--text-muted); }.pw-product-hero-actions {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 8px;
            flex-shrink: 0;
        }.pw-product-nav-btn {
            padding: 6px 10px;
            border: 1px solid var(--line-color);
            border-radius: var(--radius-sm);
            background: var(--panel-bg);
            color: var(--text-main);
            font-size: 12px;
            font-weight: 600;
            cursor: pointer;
        }.pw-product-nav-btn:hover:not(:disabled) { background: var(--accent-soft); color: var(--accent); }.pw-product-nav-btn:disabled { opacity: 0.4; cursor: not-allowed; }.pw-wiki-welcome-banner {
            margin-bottom: 18px;
            padding: 18px 20px;
            border-radius: var(--radius-lg);
            border: 1px solid var(--line-color);
            background: linear-gradient(135deg, var(--accent-soft) 0%, var(--soft-bg) 55%, var(--panel-bg) 100%);
        }.pw-wiki-welcome-banner h2 {
            margin: 0 0 6px;
            font-size: 18px;
            font-weight: 700;
            color: var(--text-main);
        }.pw-wiki-welcome-banner p {
            margin: 0;
            font-size: 13px;
            color: var(--text-muted);
            line-height: 1.55;
            max-width: 640px;
        }.pw-wiki-menu-skeleton {
            padding: 8px 12px 16px;
        }.pw-wiki-menu-skeleton .pw-skel-line {
            height: 12px;
            margin: 10px 0;
            border-radius: 6px;
            background: linear-gradient(90deg, var(--soft-bg) 0%, var(--line-color) 50%, var(--soft-bg) 100%);
            background-size: 200% 100%;
            animation: pwWikiSkel 1.1s ease-in-out infinite;
        }.pw-wiki-menu-skeleton .pw-skel-line:nth-child(odd) { width: 88%; }.pw-wiki-menu-skeleton .pw-skel-line:nth-child(even) { width: 72%; margin-left: 12px; }@keyframes pwWikiSkel {
            0% { background-position: 100% 0; }
            100% { background-position: -100% 0; }
        }#pwWikiPortfolio.is-refreshing { opacity: 0.72; pointer-events: none; transition: opacity 0.2s ease; }.pw-wiki-state--error code {
            font-size: 11px;
            padding: 2px 6px;
            border-radius: 4px;
            background: rgba(0,0,0,0.06);
        }.pw-portfolio-recent {
            margin-bottom: 20px;
            padding: 14px 16px;
            border: 1px solid var(--line-color);
            border-radius: var(--radius-md);
            background: var(--soft-bg);
        }.pw-portfolio-recent-title {
            margin: 0 0 10px;
            font-size: 12px;
            font-weight: 600;
            color: var(--text-muted);
        }.pw-portfolio-recent-pills {
            display: flex;
            flex-wrap: wrap;
            gap: 6px;
        }.pw-portfolio-updated {
            font-size: 11px;
            color: var(--text-muted);
            margin: 4px 0 0;
        }.pw-product-toc-filter {
            width: 100%;
            margin: 0;
            padding: 6px 8px;
            border: 1px solid var(--line-color);
            border-radius: var(--radius-sm);
            background: var(--panel-bg);
            font-size: 12px;
            color: var(--text-main);
        }.pw-toc-item.is-hidden { display: none; }.pw-toc-group-label {
            margin: 0;
            padding: 10px 10px 4px;
            font-size: 10px;
            font-weight: 700;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            color: var(--text-muted);
        }.pw-toc-group-head {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 8px;
            padding: 10px 10px 4px;
        }.pw-toc-group-head .pw-toc-group-label {
            padding: 0;
            flex: 1 1 auto;
            min-width: 0;
        }.pw-toc-group-actions {
            display: flex;
            align-items: center;
            gap: 4px;
            flex-shrink: 0;
        }.pw-toc-bulk-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 28px;
            height: 28px;
            padding: 0;
            border: 1px solid var(--line-color);
            border-radius: 8px;
            background: var(--panel-bg);
            color: var(--text-muted);
            cursor: pointer;
            transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
        }.pw-toc-bulk-btn:hover {
            border-color: var(--accent);
            color: var(--accent);
            background: var(--accent-soft);
        }.pw-toc-bulk-btn .pw-ui-icon {
            width: 14px;
            height: 14px;
        }.pw-toc-group:first-child .pw-toc-group-label { padding-top: 2px; }.pw-toc-group-label.is-hidden { display: none; }.pw-toc-filter-empty {
            display: none;
            margin: 8px 10px 12px;
            font-size: 12px;
            color: var(--text-muted);
        }.pw-toc-filter-empty.is-visible { display: block; }.pw-product-read-progress {
            position: sticky;
            top: 0;
            z-index: 8;
            height: 3px;
            margin: 0 0 12px;
            border-radius: 99px;
            background: var(--line-color);
            pointer-events: none;
            overflow: hidden;
        }.pw-product-read-progress__bar {
            display: block;
            height: 100%;
            width: 0;
            background: linear-gradient(90deg, var(--accent) 0%, #60a5fa 100%);
            transition: width 0.12s ease-out;
        }.pw-product-read-context {
            display: none;
            position: sticky;
            top: 3px;
            z-index: 7;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            margin: -8px 0 14px;
            padding: 8px 12px;
            border: 1px solid var(--line-color);
            border-radius: var(--radius-md);
            background: var(--panel-bg);
            box-shadow: 0 4px 16px rgba(15, 23, 42, 0.06);
            font-size: 12px;
            color: var(--text-muted);
        }.pw-product-read-context.is-visible { display: flex; }.pw-product-read-context strong {
            flex: 1;
            min-width: 0;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
            color: var(--text-main);
            font-weight: 600;
        }.pw-product-read-context button {
            flex-shrink: 0;
            border: 0;
            background: var(--accent-soft);
            color: var(--accent);
            font-size: 11px;
            font-weight: 600;
            padding: 4px 10px;
            border-radius: 999px;
            cursor: pointer;
        }.pw-product-read-context button:hover { filter: brightness(0.97); }.pw-toc-jump-mobile {
            display: none;
            position: fixed;
            right: 14px;
            bottom: calc(14px + env(safe-area-inset-bottom, 0px));
            z-index: 25;
            padding: 10px 14px;
            border: 1px solid var(--line-color);
            border-radius: 999px;
            background: var(--panel-bg);
            color: var(--accent);
            font-size: 12px;
            font-weight: 600;
            box-shadow: var(--glass-drop);
            cursor: pointer;
        }.pw-wiki-prose .wiki-table-scroll {
            overflow-x: auto;
            overflow-y: hidden;
            margin: 12px 0;
            -webkit-overflow-scrolling: touch;
        }.pw-wiki-prose .wiki-table-scroll table { margin: 0; }.pw-toc-item {
            display: block;
            width: 100%;
            border: 0;
            border-left: 2px solid transparent;
            background: transparent;
            text-align: left;
            padding: 6px 8px 6px 10px;
            border-radius: 0 var(--radius-xs) var(--radius-xs) 0;
            font-size: 12.5px;
            line-height: 1.45;
            color: var(--text-muted);
            cursor: pointer;
            transition: background var(--ui-duration) var(--ui-ease), border-color var(--ui-duration) var(--ui-ease), color var(--ui-duration) var(--ui-ease);
        }.pw-toc-item:hover {
            background: var(--accent-soft);
            color: var(--text-main);
        }.pw-toc-item.is-active {
            background: var(--accent-soft);
            border-left-color: var(--accent);
            color: var(--accent);
            font-weight: 600;
        }.pw-toc-item--tool {
            font-size: 12px;
            padding-left: 18px;
        }.pw-toc-group .pw-toc-item--tool + .pw-toc-item:not(.pw-toc-item--tool),
        .pw-toc-group .pw-toc-item:not(.pw-toc-item--tool) + .pw-toc-item--tool {
            margin-top: 2px;
        }.pw-product-body,
        .pw-custom-body {
            padding: 20px clamp(16px, 3vw, 36px) 40px;
            min-width: 0;
            min-height: 0;
            overflow-x: hidden;
            overflow-y: auto;
            -webkit-overflow-scrolling: touch;
        }.pw-product-body:not(.has-embed-tabs) {
            max-width: 960px;
        }.pw-custom-body {
            max-width: 960px;
        }.pw-product-layout.has-product-toc .pw-product-body,
        .pw-wiki-page-layout.has-page-toc .pw-custom-body {
            max-width: none !important;
        }.pw-product-body.has-embed-tabs {
            max-width: none;
        }.pw-product-wiki-panel,
        .pw-product-tab-panel {
            max-width: 100%;
            min-width: 0;
            box-sizing: border-box;
        }.pw-product-body .ds-material-feature-panel {
            width: 100%;
            max-width: 100%;
            min-width: 0;
            margin: 8px 0 20px;
            box-sizing: border-box;
        }.pw-product-body .ds-mf-cr-shell,
        .pw-product-body .ds-mf-radar-chart-wrap,
        .pw-product-body .ds-mf-radar {
            max-width: 100%;
            min-width: 0;
            box-sizing: border-box;
        }.pw-wiki-article h1,
        .pw-wiki-article h2 {
            margin: 0 0 20px;
            font-size: 1.75rem;
            font-weight: 700;
            line-height: 1.25;
            color: var(--text-main);
            letter-spacing: -0.02em;
        }.pw-wiki-article .pw-article-lead {
            font-size: 15px;
            color: var(--text-muted);
            margin: -8px 0 24px;
            line-height: 1.6;
        }.pw-product-section {
            margin-bottom: 20px;
            scroll-margin-top: 88px;
            padding-top: 0;
            transition: box-shadow 0.35s ease, border-color 0.35s ease;
        }.pw-product-section.is-toc-target {
            border-radius: var(--radius-lg);
            box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.45), 0 8px 24px rgba(37, 99, 235, 0.12);
        }.pw-wiki-disclosure.is-toc-target {
            box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.45), 0 8px 24px rgba(37, 99, 235, 0.12);
        }.pw-wiki-prose h2.is-toc-target,
        .pw-wiki-prose h3.is-toc-target {
            border-radius: 6px;
            box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.35);
            scroll-margin-top: 88px;
        }.pw-product-section h3 {
            margin: 0 0 12px;
            font-size: 1.125rem;
            font-weight: 600;
            color: var(--text-main);
            padding-bottom: 8px;
            border-bottom: 1px solid var(--line-color);
        }.pw-wiki-disclosure {
            border: 1px solid var(--line-color);
            border-radius: var(--radius-lg);
            background: linear-gradient(145deg, var(--panel-bg) 0%, var(--soft-bg) 100%);
            box-shadow: var(--glass-edge);
            overflow: hidden;
            transition: border-color var(--ui-duration) var(--ui-ease), box-shadow var(--ui-duration) var(--ui-ease);
        }.pw-wiki-disclosure.is-open {
            border-color: rgba(37, 99, 235, 0.35);
            box-shadow: 0 8px 28px rgba(37, 99, 235, 0.08), var(--glass-edge);
        }.pw-wiki-disclosure-trigger {
            display: flex;
            align-items: center;
            gap: 12px;
            width: 100%;
            padding: 14px 16px;
            border: 0;
            background: transparent;
            text-align: left;
            cursor: pointer;
            color: var(--text-main);
        }.pw-wiki-disclosure-trigger:hover { background: var(--accent-soft); }.pw-wiki-disclosure-icon {
            width: 36px;
            height: 36px;
            border-radius: 10px;
            flex-shrink: 0;
            background: linear-gradient(135deg, var(--accent) 0%, #6366f1 100%);
            box-shadow: 0 4px 14px rgba(37, 99, 235, 0.25);
            position: relative;
        }.pw-wiki-disclosure-icon::after {
            content: "";
            position: absolute;
            left: 14px;
            top: 11px;
            width: 7px;
            height: 7px;
            border-right: 2px solid rgba(255, 255, 255, 0.95);
            border-bottom: 2px solid rgba(255, 255, 255, 0.95);
            transform: rotate(-45deg);
            transition: transform var(--ui-duration) var(--ui-ease);
        }.pw-wiki-disclosure.is-open .pw-wiki-disclosure-icon::after {
            transform: rotate(45deg);
            top: 13px;
        }.pw-wiki-disclosure-meta {
            flex: 1 1 auto;
            min-width: 0;
            display: flex;
            flex-direction: column;
            gap: 3px;
        }.pw-wiki-disclosure-meta strong {
            font-size: 14px;
            font-weight: 600;
            letter-spacing: 0.01em;
        }.pw-wiki-disclosure-hint {
            font-size: 12px;
            color: var(--text-muted);
            line-height: 1.45;
        }.pw-wiki-disclosure-action {
            flex-shrink: 0;
            font-size: 12px;
            font-weight: 600;
            color: var(--accent);
            padding: 6px 12px;
            border-radius: 999px;
            border: 1px solid var(--line-color);
            background: var(--panel-bg);
        }.pw-wiki-disclosure.is-open .pw-wiki-disclosure-action { color: var(--text-muted); }.pw-wiki-disclosure-panel {
            display: none;
            padding: 0 16px 16px;
            border-top: 1px solid var(--line-color);
            background: var(--panel-bg);
        }.pw-wiki-disclosure.is-open .pw-wiki-disclosure-panel { display: block; }.pw-wiki-disclosure-panel .pw-wiki-prose { padding-top: 14px; }.pw-wiki-disclosure-head {
            display: flex;
            align-items: stretch;
            gap: 0;
            border-bottom: 1px solid transparent;
        }.pw-wiki-disclosure-head .pw-wiki-disclosure-trigger { flex: 1 1 auto; }.pw-wiki-disclosure.is-open .pw-wiki-disclosure-head { border-bottom-color: var(--line-color); }.pw-wiki-disclosure-copy {
            flex-shrink: 0;
            align-self: center;
            margin-right: 10px;
            border: 0;
            background: transparent;
            color: var(--text-muted);
            font-size: 13px;
            cursor: pointer;
            padding: 8px 10px;
            border-radius: 8px;
        }.pw-wiki-disclosure-copy:hover { background: var(--accent-soft); color: var(--accent); }.wiki-preset-pill--link {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            text-decoration: none;
            color: inherit;
        }.wiki-preset-pill--link:hover { color: var(--accent); border-color: var(--accent); }.wiki-faq-list { display: flex; flex-direction: column; gap: 8px; }.wiki-faq-item {
            border: 1px solid var(--line-color);
            border-radius: var(--radius-md);
            background: var(--soft-bg);
            overflow: hidden;
        }.wiki-faq-item summary {
            cursor: pointer;
            padding: 12px 14px;
            font-weight: 600;
            font-size: 14px;
            list-style: none;
        }.wiki-faq-item summary::-webkit-details-marker { display: none; }.wiki-faq-item[open] summary { border-bottom: 1px solid var(--line-color); background: var(--panel-bg); }.wiki-faq-answer {
            padding: 12px 14px 14px;
            font-size: 13px;
            line-height: 1.6;
            color: var(--text-main);
        }.wiki-faq-panel,
        .wiki-cases-panel {
            display: flex;
            flex-direction: column;
            gap: 10px;
        }.wiki-faq-toolbar,
        .wiki-cases-toolbar {
            display: flex;
            align-items: center;
            gap: 10px;
            flex-wrap: wrap;
        }.wiki-faq-search,
        .wiki-cases-search {
            flex: 1 1 180px;
            min-width: 0;
            max-width: 360px;
            padding: 8px 12px;
            border: 1px solid var(--line-color);
            border-radius: var(--radius-md);
            background: var(--panel-bg);
            color: var(--text-main);
            font-size: 13px;
        }.wiki-faq-count,
        .wiki-cases-count {
            font-size: 12px;
            color: var(--text-muted);
            white-space: nowrap;
        }.wiki-faq-list--accordion .wiki-faq-item.is-hidden,
        .wiki-case-card.is-hidden {
            display: none !important;
        }.wiki-cases-empty {
            margin: 0;
            font-size: 13px;
            color: var(--text-muted);
        }.wiki-cases-empty.is-hidden { display: none; }.wiki-cases-grid {
            display: flex;
            flex-direction: column;
            gap: 8px;
        }.wiki-case-card {
            border: 1px solid var(--line-color);
            border-radius: var(--radius-md);
            background: var(--soft-bg);
            overflow: hidden;
        }.wiki-case-card__head {
            display: flex;
            align-items: center;
            gap: 12px;
            cursor: pointer;
            padding: 10px 12px;
            list-style: none;
        }.wiki-case-card__head::-webkit-details-marker { display: none; }.wiki-case-card[open] .wiki-case-card__head {
            border-bottom: 1px solid var(--line-color);
            background: var(--panel-bg);
        }.wiki-case-card__thumb {
            flex: 0 0 56px;
            width: 56px;
            height: 56px;
            border-radius: 8px;
            overflow: hidden;
            background: var(--panel-bg);
        }.wiki-case-card__thumb img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }.wiki-case-card__meta {
            flex: 1;
            min-width: 0;
            display: flex;
            flex-direction: column;
            gap: 4px;
        }.wiki-case-card__meta strong {
            font-size: 14px;
            line-height: 1.35;
        }.wiki-case-card__desc {
            font-size: 12px;
            color: var(--text-muted);
            line-height: 1.45;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }.wiki-case-card__body {
            padding: 10px 12px 12px;
        }.wiki-case-card__link {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            font-size: 13px;
            font-weight: 600;
            color: var(--accent);
            text-decoration: none;
        }.wiki-case-card__link:hover { text-decoration: underline; }.wiki-preset-hub-card,
        .wiki-preset-panel {
            padding: 16px;
            border-radius: var(--radius-md);
            border: 1px solid var(--line-color);
            background: var(--soft-bg);
        }.wiki-preset-panel-head {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: space-between;
            gap: 10px 16px;
            margin-bottom: 12px;
        }.wiki-preset-panel-head .wiki-preset-hub-meta { margin: 0; }.wiki-preset-panel .preset-filters {
            grid-template-columns: repeat(3, minmax(130px, 1fr));
            margin-top: 0;
        }.wiki-preset-table-wrap {
            overflow-x: auto;
            margin-top: 8px;
            -webkit-overflow-scrolling: touch;
        }.wiki-preset-panel .wiki-preset-table { margin-top: 0; min-width: 720px; }.wiki-preset-result-count {
            font-size: 12px;
            margin: 8px 0 0;
            color: var(--text-muted);
        }.wiki-preset-download-link {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            color: var(--accent);
            font-weight: 600;
            text-decoration: none;
            white-space: nowrap;
        }.wiki-preset-download-link .pw-ui-icon {
            width: 14px;
            height: 14px;
            flex-shrink: 0;
        }.wiki-preset-download-link:hover { text-decoration: underline; }.wiki-preset-loading { margin: 0; font-size: 13px; }.wiki-preset-hub-meta {
            margin: 0 0 12px;
            font-size: 13px;
            color: var(--text-muted);
        }.wiki-preset-hub-btn {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 8px 14px;
            border-radius: 999px;
            background: var(--accent);
            color: #fff;
            font-size: 13px;
            font-weight: 600;
            text-decoration: none;
            box-shadow: 0 4px 14px rgba(37, 99, 235, 0.28);
        }.wiki-preset-hub-btn:hover { filter: brightness(1.06); color: #fff; }.wiki-preset-list--compact {
            list-style: none;
            margin: 14px 0 0;
            padding: 0;
            display: flex;
            flex-wrap: wrap;
            gap: 6px;
        }.wiki-preset-pill {
            display: inline-block;
            padding: 4px 10px;
            border-radius: 999px;
            font-size: 11px;
            background: var(--panel-bg);
            border: 1px solid var(--line-color);
            color: var(--text-muted);
        }.wiki-preset-more {
            font-size: 11px;
            color: var(--text-muted);
            list-style: none;
        }.pw-wiki-prose .wiki-tds-table {
            font-size: 12px;
        }.pw-wiki-prose {
            font-size: 14px;
            line-height: 1.75;
            color: var(--text-main);
        }.pw-wiki-prose p { margin: 0 0 1em; }.pw-wiki-prose ul, .pw-wiki-prose ol { margin: 0 0 1em; padding-left: 1.4em; }.pw-wiki-prose img { max-width: 100%; height: auto; border-radius: var(--radius-sm); }.pw-wiki-prose iframe, .pw-wiki-prose video { max-width: 100%; }.pw-wiki-prose .embed-responsive {
            position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;
            max-width: 100%; margin: 12px 0;
        }.pw-wiki-prose .embed-responsive iframe,
        .pw-wiki-prose .embed-responsive video {
            position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;
        }.pw-wiki-prose table {
            width: 100%;
            border-collapse: collapse;
            font-size: 13px;
            margin-bottom: 1em;
        }.pw-wiki-prose th, .pw-wiki-prose td {
            border: 1px solid var(--line-color);
            padding: 8px 10px;
            text-align: left;
        }.pw-wiki-prose th { background: var(--soft-bg); font-weight: 600; }.pw-wiki-back {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            margin: 12px clamp(20px, 4vw, 40px) 0;
            padding: 6px 10px;
            font-size: 13px;
            color: var(--accent);
            cursor: pointer;
            border: 1px solid var(--line-color);
            border-radius: var(--radius-sm);
            background: var(--panel-bg);
        }.pw-wiki-back:hover { background: var(--accent-soft); border-color: transparent; }.pw-menu-empty {
            padding: 16px 14px;
            font-size: 13px;
            color: var(--text-muted);
        }.pw-wiki-state {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            text-align: center;
            gap: 10px;
            min-height: 280px;
            padding: 32px 24px;
            margin: 12px clamp(16px, 4vw, 32px);
            border: 1px dashed var(--line-color);
            border-radius: var(--radius-lg);
            background: var(--soft-bg);
        }.pw-wiki-state--loading { border-style: solid; }.pw-wiki-state--empty { border-style: dashed; }.pw-wiki-state--error {
            border-color: rgba(239, 68, 68, 0.35);
            background: linear-gradient(180deg, #fef2f2 0%, var(--soft-bg) 100%);
        }.pw-wiki-state-spin {
            width: 36px;
            height: 36px;
            border: 3px solid var(--line-color);
            border-top-color: var(--accent);
            border-radius: 50%;
            animation: twspin 0.75s linear infinite;
        }.pw-wiki-state-icon {
            width: 44px;
            height: 44px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 22px;
            background: var(--panel-bg);
            border: 1px solid var(--line-color);
            color: var(--text-muted);
        }.pw-wiki-state--error .pw-wiki-state-icon {
            color: #dc2626;
            border-color: #fecaca;
            background: #fff;
        }.pw-wiki-state-msg {
            margin: 0;
            font-size: 15px;
            font-weight: 600;
            color: var(--text-main);
            max-width: 420px;
            line-height: 1.5;
        }.pw-wiki-state-hint {
            margin: 0;
            font-size: 13px;
            color: var(--text-muted);
            max-width: 400px;
            line-height: 1.55;
        }.pw-wiki-state-retry {
            margin-top: 4px;
            padding: 8px 18px;
            border: 0;
            border-radius: 999px;
            background: var(--accent);
            color: #fff;
            font-size: 13px;
            font-weight: 600;
            cursor: pointer;
            box-shadow: 0 4px 14px rgba(59, 130, 246, 0.25);
        }.pw-wiki-state-retry:hover { filter: brightness(1.06); }.pw-wiki-toast {
            position: fixed;
            bottom: 24px;
            left: 50%;
            transform: translateX(-50%) translateY(12px);
            padding: 10px 16px;
            border-radius: 999px;
            background: #111827;
            color: #f8fafc;
            font-size: 13px;
            z-index: 100020;
            opacity: 0;
            pointer-events: none;
            transition: opacity .2s, transform .2s;
        }.pw-wiki-toast.is-visible { opacity: 1; transform: translateX(-50%) translateY(0); }.pw-wiki-toast--error { background: #991b1b; }#wiki.is-wiki-focus .wiki-notice-bar { display: none; }#wiki.is-wiki-focus .pw-wiki-shell { min-height: calc(100vh - 40px); }#wiki.is-wiki-focus .pw-wiki-menu { max-height: none; }body.wiki-focus-active #fe-translate-telemetry-dock {
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.2s ease;
        }.pw-wiki-page-toc-title {
            margin: 0 0 8px;
            font-size: 10px;
            font-weight: 700;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            color: var(--text-muted);
        }.pw-wiki-page-toc a {
            display: block;
            padding: 6px 8px 6px 10px;
            margin: 0 0 2px;
            border-left: 2px solid transparent;
            border-radius: 0 var(--radius-xs) var(--radius-xs) 0;
            color: var(--text-muted);
            text-decoration: none;
            line-height: 1.45;
            font-size: 12.5px;
        }.pw-wiki-page-toc a:hover {
            background: var(--accent-soft);
            color: var(--text-main);
        }.pw-wiki-page-toc a.is-active {
            background: var(--accent-soft);
            border-left-color: var(--accent);
            color: var(--accent);
            font-weight: 600;
        }.pw-wiki-page-toc a.depth-3 { padding-left: 12px; font-size: 11px; }.pw-wiki-page-head.is-sticky {
            position: sticky;
            top: 0;
            z-index: 8;
            background: var(--panel-bg);
            box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
            margin-bottom: 0;
            padding-bottom: 8px;
        }.pw-page-back-top {
            position: fixed;
            right: clamp(16px, 3vw, 28px);
            bottom: 24px;
            z-index: 12;
            display: none;
            align-items: center;
            justify-content: center;
            padding: 10px 14px;
            border: 1px solid var(--line-color);
            border-radius: 999px;
            background: var(--panel-bg);
            color: var(--text-main);
            font-size: 12px;
            box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
            cursor: pointer;
        }.pw-page-back-top.is-visible { display: inline-flex; }.pw-wiki-shortcuts {
            position: fixed;
            inset: 0;
            z-index: 100040;
            display: none;
            align-items: center;
            justify-content: center;
            padding: 20px;
            background: rgba(15, 23, 42, 0.45);
        }.pw-wiki-shortcuts.is-open { display: flex; }.pw-wiki-shortcuts-panel {
            max-width: 420px;
            width: 100%;
            padding: 20px 22px;
            border-radius: 16px;
            background: var(--panel-bg);
            box-shadow: 0 24px 48px rgba(15, 23, 42, 0.2);
        }.pw-wiki-shortcuts-panel h3 { margin: 0 0 12px; font-size: 16px; }.pw-wiki-shortcuts-panel dl { margin: 0; font-size: 13px; }.pw-wiki-shortcuts-panel dt { font-weight: 600; margin-top: 8px; }.pw-wiki-shortcuts-panel dd { margin: 2px 0 0; color: var(--text-muted); }.pw-wiki-shortcuts-panel kbd {
            padding: 1px 6px;
            border: 1px solid var(--line-color);
            border-radius: 4px;
            background: var(--soft-bg);
            font-size: 11px;
        }.pw-wiki-topbar-tool {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 6px;
            padding: 6px 10px;
            border: 1px solid var(--line-color);
            border-radius: 999px;
            background: var(--panel-bg);
            color: var(--text-muted);
            font-size: 12px;
            cursor: pointer;
            white-space: nowrap;
            flex-shrink: 0;
        }.pw-wiki-topbar-tool .fa { font-size: 13px; }.pw-wiki-topbar-tool .pw-ui-icon-wrap .pw-ui-icon,
        .pw-portfolio-refresh-btn .pw-ui-icon {
            width: 14px;
            height: 14px;
        }.wiki-preset-file-col {
            min-width: 10rem;
            max-width: 18rem;
        }.wiki-preset-file-name {
            display: block;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
            font-size: 11px;
        }.pw-wiki-topbar-tool-label { max-width: 6em; overflow: hidden; text-overflow: ellipsis; }@media (max-width: 1100px) {
            .pw-wiki-topbar-tool-label { display: none; }
            .pw-wiki-topbar-tool { padding: 7px 9px; }
        }.pw-wiki-topbar-tool:hover,
        .pw-wiki-topbar-tool.is-active {
            color: var(--accent);
            border-color: transparent;
            background: var(--accent-soft);
        }.pw-wiki-sidebar-recent { padding: 0 12px 8px; }.pw-wiki-sidebar-recent[hidden] { display: none !important; }.pw-wiki-sidebar-recent-title {
            margin: 0 0 6px;
            font-size: 10px;
            font-weight: 700;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            color: var(--text-muted);
        }.pw-wiki-sidebar-recent-pills { display: flex; flex-wrap: wrap; gap: 4px; }.pw-wiki-sidebar-pill {
            max-width: 100%;
            padding: 4px 8px;
            border: 1px solid var(--line-color);
            border-radius: 999px;
            background: var(--soft-bg);
            color: var(--text-main);
            font-size: 11px;
            line-height: 1.3;
            cursor: pointer;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }.pw-wiki-sidebar-pill:hover { border-color: var(--accent); color: var(--accent); }.pw-wiki-sidebar-foot {
            flex-shrink: 0;
            padding: 10px 12px 14px;
            border-top: 1px solid var(--line-color);
            display: flex;
            flex-direction: column;
            gap: 6px;
        }.pw-wiki-sidebar-foot button,
        .pw-wiki-sidebar-foot a {
            display: block;
            width: 100%;
            text-align: left;
            padding: 7px 10px;
            border-radius: var(--radius-sm);
            font-size: 12px;
            color: var(--text-muted);
            text-decoration: none;
            background: transparent;
            border: 1px solid transparent;
        }.pw-wiki-page-head {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: space-between;
            gap: 10px 16px;
            margin: 0;
        }.pw-wiki-page-toolbar {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
        }.pw-wiki-page-tool {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 6px 12px;
            border: 1px solid var(--line-color);
            border-radius: 999px;
            background: var(--panel-bg);
            color: var(--text-muted);
            font-size: 12px;
            cursor: pointer;
        }.pw-wiki-page-tool.is-busy { opacity: 0.65; pointer-events: none; }.pw-wiki-page-meta {
            margin: -8px 0 16px;
            font-size: 12px;
            color: var(--text-muted);
        }.pw-portfolio.is-refreshing .pw-portfolio-refresh-btn i {
            animation: twspin 0.75s linear infinite;
        }.pw-wiki-index-badge {
            display: inline-block;
            margin-right: 8px;
            padding: 2px 8px;
            border-radius: 999px;
            font-size: 11px;
            font-weight: 600;
            vertical-align: middle;
            background: var(--accent-soft);
            color: var(--accent);
        }@media print {
            .left-menu, .mobile-sidebar-toggle, .wiki-notice-bar,
            .pw-wiki-sidebar, .pw-wiki-topbar, .pw-wiki-page-head,
            .pw-page-back-top, .pw-wiki-page-toc, .pw-product-toc, .pw-toc-edge-tab, .pw-wiki-shortcuts { display: none !important; }
            #wiki.page-section { overflow: visible !important; height: auto !important; }
            #wiki .pw-wiki-view { display: none !important; }
            #pwWikiPageView { display: block !important; overflow: visible !important; height: auto !important; }
            #pwCustomPageBody { padding: 0 16px !important; }
        }.pw-wiki-page-tool:hover {
            color: var(--accent);
            border-color: transparent;
            background: var(--accent-soft);
        }.pw-wiki-section-intro { color: var(--text-muted); margin-bottom: 1em; }.pw-wiki-section-index {
            margin: 0;
            padding-left: 1.2em;
            line-height: 1.7;
        }.pw-wiki-section-index a {
            color: var(--accent);
            text-decoration: none;
            font-weight: 500;
        }.pw-wiki-section-index a:hover { text-decoration: underline; }.pw-custom-body { padding: 0 clamp(16px, 4vw, 40px) 32px; }.pw-wiki-sidebar-foot button:hover,
        .pw-wiki-sidebar-foot a:hover {
            color: var(--accent);
            background: var(--accent-soft);
            border-color: transparent;
        }.pw-product-back-top {
            position: fixed;
            right: clamp(16px, 3vw, 32px);
            bottom: 24px;
            z-index: 50;
            display: none;
            padding: 8px 14px;
            border: 1px solid var(--line-color);
            border-radius: 999px;
            background: var(--panel-bg);
            color: var(--accent);
            font-size: 12px;
            font-weight: 600;
            cursor: pointer;
            box-shadow: var(--glass-drop);
        }.pw-product-back-top.is-visible { display: inline-flex; }.pw-product-section-head {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            margin-bottom: 12px;
        }.pw-product-section-head h3 { margin: 0; }.pw-section-link {
            flex-shrink: 0;
            padding: 2px 8px;
            border: 1px solid var(--line-color);
            border-radius: var(--radius-sm);
            background: var(--panel-bg);
            color: var(--text-muted);
            font-size: 11px;
            cursor: pointer;
        }.pw-section-link:hover { color: var(--accent); border-color: transparent; background: var(--accent-soft); }.pw-section-link.is-done { color: var(--accent); }.pw-wiki-prose img {
            max-width: 100%;
            height: auto;
            border-radius: var(--radius-sm);
        }.pw-wiki-prose a[target="_blank"]::after {
            content: ' ↗';
            font-size: 0.85em;
        }.pw-product-tabs {
            margin: 0 0 24px;
            border: 1px solid var(--line-color);
            border-radius: var(--radius-md);
            overflow: hidden;
            background: var(--panel-bg);
        }.pw-product-tab-bar {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 0;
            border-bottom: 1px solid var(--line-color);
            background: var(--soft-bg);
            position: sticky;
            top: 0;
            z-index: 6;
        }.pw-product-tab-bar--solo .pw-product-tab-btn { display: none; }.pw-product-tab-bar--solo { justify-content: flex-end; min-height: 40px; }.pw-product-tab-bar-actions {
            margin-left: auto;
            padding: 4px 10px 4px 0;
            display: inline-flex;
            align-items: center;
            gap: 4px;
        }.pw-product-tab-bar-actions[hidden] {
            display: none !important;
        }body.pw-embed-fullscreen-active .pw-product-tab-bar-actions {
            position: fixed;
            top: 12px;
            right: 12px;
            z-index: 100082;
            display: inline-flex !important;
            margin: 0;
            padding: 4px 6px;
            border-radius: 999px;
            border: 1px solid var(--line-color);
            background: var(--panel-bg);
            box-shadow: 0 8px 24px rgba(15, 23, 42, 0.14);
        }.pw-product-embed-icon-btn {
            position: relative;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0;
            width: 32px;
            height: 32px;
            min-height: 32px;
            padding: 0;
            border: 1px solid var(--line-color);
            border-radius: 999px;
            background: var(--panel-bg);
            color: var(--accent);
            font-size: 14px;
            font-weight: 700;
            line-height: 1;
            cursor: pointer;
            text-decoration: none;
            white-space: nowrap;
            flex-shrink: 0;
            transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
        }.pw-product-embed-icon-btn .pw-ui-icon {
            display: block;
            width: 16px;
            height: 16px;
            flex-shrink: 0;
        }.pw-embed-btn-label {
            position: absolute;
            width: 1px;
            height: 1px;
            padding: 0;
            margin: -1px;
            overflow: hidden;
            clip: rect(0, 0, 0, 0);
            white-space: nowrap;
            border: 0;
        }.pw-product-embed-icon-btn:hover {
            border-color: var(--accent);
            background: var(--accent-soft);
            color: var(--accent);
            text-decoration: none;
        }.pw-product-embed-icon-btn:focus-visible {
            outline: 2px solid var(--accent);
            outline-offset: 1px;
        }.pw-product-embed-open {
            font-size: 14px;
            font-weight: 600;
            color: var(--accent);
            text-decoration: none;
            white-space: nowrap;
        }.pw-product-embed-open:hover { text-decoration: none; }.pw-product-tab-btn {
            flex: 1 1 auto;
            min-width: 120px;
            padding: 10px 14px;
            border: 0;
            border-bottom: 2px solid transparent;
            background: transparent;
            color: var(--text-muted);
            font-size: 13px;
            font-weight: 600;
            cursor: pointer;
            transition: color 0.15s ease, border-color 0.15s ease, background 0.15s ease;
        }.pw-product-tab-btn:hover { color: var(--accent); background: var(--accent-soft); }.pw-product-tab-btn.is-active {
            color: var(--accent);
            border-bottom-color: var(--accent);
            background: var(--panel-bg);
        }.pw-product-tab-panel { display: none; }.pw-product-tab-panel.is-active {
            display: block;
            animation: pw-tab-fade 0.22s ease;
        }@keyframes pw-tab-fade {
            from { opacity: 0; transform: translateY(4px); }
            to { opacity: 1; transform: translateY(0); }
        }.pw-product-embed-fullscreen {
            /* legacy alias for icon button */
        }.pw-product-embed-wrap.is-fullscreen {
            position: fixed;
            inset: 0;
            z-index: 100070;
            margin: 0;
            border-radius: 0;
            box-shadow: none;
            background: var(--panel-bg);
            width: 100vw !important;
            max-width: none !important;
            height: 100vh !important;
            min-height: 100vh !important;
        }.pw-product-embed-wrap.is-fullscreen .pw-product-embed-frame {
            height: 100vh !important;
            min-height: 100vh !important;
        }body.pw-embed-fullscreen-active {
            overflow: hidden;
        }.pw-product-embed-wrap {
            position: relative;
            padding: 0;
            background: var(--panel-bg);
        }.pw-product-embed-loading {
            position: absolute;
            inset: 0;
            z-index: 2;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            background: var(--panel-bg);
            color: var(--text-muted);
            font-size: 13px;
            transition: opacity 0.2s ease;
        }.pw-product-embed-loading.is-done {
            opacity: 0;
            pointer-events: none;
        }.pw-product-embed-error {
            position: absolute;
            inset: 0;
            z-index: 3;
            display: none;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 12px;
            padding: 20px;
            text-align: center;
            background: var(--panel-bg);
            color: var(--text-muted);
            font-size: 13px;
        }.pw-product-embed-error.is-visible { display: flex; }.pw-product-embed-retry {
            padding: 7px 14px;
            border: 1px solid var(--line-color);
            border-radius: var(--radius-sm);
            background: var(--accent-soft);
            color: var(--accent);
            font-size: 13px;
            font-weight: 600;
            cursor: pointer;
        }.pw-product-embed-loading::before {
            content: '';
            width: 18px;
            height: 18px;
            border: 2px solid var(--line-color);
            border-top-color: var(--accent);
            border-radius: 50%;
            animation: pw-wiki-spin 0.7s linear infinite;
        }@keyframes pw-wiki-spin { to { transform: rotate(360deg); } }.pw-product-embed-frame {
            width: 100%;
            min-height: min(70vh, 680px);
            height: min(72vh, 720px);
            border: 0;
            display: block;
            background: var(--panel-bg);
        }[data-theme="dark"] .pw-product-embed-frame {
 background: #0f172a; 
        }.pw-product-wiki-panel {
            padding: 4px 16px 20px;
        }.pw-product-wiki-panel .pw-product-section:first-child { margin-top: 8px; }.pw-wiki-menu-toggle {
            display: none;
            align-items: center;
            justify-content: center;
            width: 36px;
            height: 36px;
            padding: 0;
            border: 1px solid var(--line-color);
            border-radius: var(--radius-sm);
            background: var(--panel-bg);
            color: var(--text-main);
            font-size: 18px;
            cursor: pointer;
            flex-shrink: 0;
        }.pw-wiki-skeleton {
            display: block;
            height: 14px;
            margin: 10px 0;
            border-radius: 6px;
            background: linear-gradient(90deg, var(--soft-bg) 0%, var(--soft-bg-2) 50%, var(--soft-bg) 100%);
            background-size: 200% 100%;
            animation: pw-wiki-shimmer 1.1s ease-in-out infinite;
        }.pw-wiki-skeleton--lg { height: 28px; width: 55%; margin-bottom: 16px; }@keyframes pw-wiki-shimmer {
            0% { background-position: 100% 0; }
            100% { background-position: -100% 0; }
        }@media (max-width: 900px) {
            .pw-wiki-shell {
                grid-template-columns: 1fr;
                grid-template-areas: "wiki-main";
                position: relative;
            }
            .pw-wiki-sidebar {
                grid-area: auto;
                grid-column: auto;
            }
            .pw-wiki-main {
                grid-area: wiki-main;
                grid-column: 1;
            }
            .pw-wiki-menu-toggle { display: inline-flex; }
            .pw-wiki-sidebar {
                position: absolute;
                z-index: 20;
                left: 0;
                top: 0;
                bottom: 0;
                width: min(var(--wiki-drawer-w), 88vw);
                max-height: none;
                border-right: 1px solid var(--line-color);
                border-bottom: 0;
                transform: translateX(-105%);
                transition: transform 0.22s var(--ui-ease);
                box-shadow: var(--glass-drop);
            }
            .pw-wiki-shell.is-sidebar-open .pw-wiki-sidebar {
                transform: translateX(0);
            }
            .pw-wiki-shell.is-sidebar-open .pw-wiki-sidebar-backdrop {
                display: block;
                pointer-events: auto;
                background: rgba(15, 23, 42, 0.35);
            }
            .pw-product-layout,
            .pw-wiki-page-layout {
                flex-direction: column;
            }
            .pw-product-layout.has-product-toc .pw-product-toc,
            .pw-wiki-page-layout.has-page-toc .pw-wiki-page-toc {
                flex: 0 0 auto;
                width: 100%;
                min-width: 0;
                max-width: 100%;
                max-height: 220px;
                border-left: 0;
                border-top: 1px solid var(--line-color);
                order: 2;
                display: flex;
            }
            .pw-product-layout.has-product-toc .pw-product-body,
            .pw-wiki-page-layout.has-page-toc .pw-custom-body {
                order: 1;
                flex: 1 1 auto;
                width: 100% !important;
                max-width: none !important;
            }
            .pw-product-embed-frame {
                min-height: 58vh;
                height: 58vh;
            }
            .pw-product-tab-btn { min-width: 0; font-size: 12px; padding: 8px 10px; }
            #pwWikiProductView .pw-product-layout.has-product-toc .pw-toc-jump-mobile { display: block; }
        }.wiki-embed-wrap {
            margin-top: 14px;
            border: 1px solid var(--panel-border);
            border-radius: 16px;
            background: var(--panel-bg);
            overflow: hidden;
            box-shadow: var(--glass-drop), var(--glass-edge);
            -webkit-backdrop-filter: var(--backdrop-std);
            backdrop-filter: var(--backdrop-std);
        }.wiki-embed-head {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 8px;
            padding: 8px 10px;
            border-bottom: 1px solid var(--line-color);
            font-size: 13px;
            font-weight: 600;
        }.wiki-embed-head a {
            font-size: 12px;
            font-weight: 500;
            color: var(--accent);
            text-decoration: none;
        }.wiki-open-newtab {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            width: 40px;
            height: 36px;
            padding: 0;
            margin: 0;
            border-radius: 10px;
            border: 1px solid var(--panel-border);
            background: var(--panel-bg);
            color: var(--accent);
            vertical-align: middle;
            cursor: pointer;
            box-shadow: var(--glass-edge);
            -webkit-backdrop-filter: saturate(1.2) blur(8px);
            backdrop-filter: saturate(1.2) blur(8px);
        }.wiki-open-newtab:hover {
            opacity: 0.92;
        }.official-site-lang-link {
            padding: 6px 12px;
            border-radius: 10px;
            font-size: 12px;
            font-weight: 600;
            text-decoration: none;
            white-space: nowrap;
        }.official-site-lang-link .official-loc-pill {
            display: inline;
        }.wiki-open-newtab svg {
            display: block;
            width: 18px;
            height: 18px;
            flex-shrink: 0;
        }.wiki-embed-head-group {
            display: flex;
            align-items: center;
            gap: 10px;
            flex-wrap: wrap;
            margin-left: auto;
        }.wiki-mobile-hint {
            display: none;
            margin: 0;
            flex: 1 1 100%;
            text-align: right;
            font-size: 12px;
            font-weight: 400;
            line-height: 1.45;
            color: var(--text-muted);
        }.wiki-notice-bar {
            margin-top: 8px;
            margin-bottom: 8px;
            border: 1px solid var(--panel-border);
            border-radius: 16px;
            background: var(--panel-bg);
            padding: 10px 12px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            flex-wrap: wrap;
            font-size: 13px;
            box-shadow: var(--glass-drop), var(--glass-edge);
            -webkit-backdrop-filter: var(--backdrop-std);
            backdrop-filter: var(--backdrop-std);
        }.wiki-notice-meta {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            color: var(--text-sub);
            font-size: 12px;
        }.wiki-notice-links {
            display: inline-flex;
            align-items: center;
            gap: 10px;
        }.fe-locale-edit-entry {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            padding: 6px 12px;
            border: 1px solid #7c3aed;
            border-radius: 999px;
            background: linear-gradient(135deg, #8b5cf6, #6d28d9);
            color: #fff;
            font-size: 12px;
            font-weight: 600;
            line-height: 1;
            cursor: pointer;
            white-space: nowrap;
        }.fe-locale-edit-entry:hover { filter: brightness(1.05); }.pw-wiki-topbar-tool.fe-locale-edit-entry {
            border-radius: 10px;
            background: linear-gradient(135deg, #8b5cf6, #6d28d9);
            color: #fff;
            border-color: #7c3aed;
        }.wiki-embed-frame {
            width: 100%;
            height: 520px;
            border: 0;
            display: block;
            background: #fff;
        }#wiki.page-section,
        #officialsite.page-section {
            overflow: hidden;
            display: flex;
            flex-direction: column;
            padding: 0;
            margin-top: 8px;
        }#wiki .wiki-notice-bar {
            flex-shrink: 0;
            margin: 0 0 8px;
        }#wiki .pw-wiki-shell {
            flex: 1 1 auto;
            min-height: 0;
        }#wiki .pw-wiki-main,
        #wiki .pw-wiki-body,
        #wiki .wiki-embed-wrap,
        #officialsite .wiki-embed-wrap {
            min-height: 0;
            min-width: 0;
            display: flex;
            flex-direction: column;
        }#wiki .pw-wiki-sidebar {
            min-height: 0;
            min-width: 0;
            display: flex;
            flex-direction: column;
        }#wiki .pw-wiki-menu {
            flex: 1 1 auto;
            min-height: 0;
        }#wiki .wiki-v2-panel.is-active .wiki-v2-layout {
            flex: 1 1 auto;
            min-height: 0;
        }#wiki .wiki-embed-frame,
        #officialsite .wiki-embed-frame {
            height: 100%;
            flex: 1 1 auto;
            min-height: 0;
        }/* 认证查询：原生看板区块，与材料对比/下载页统一玻璃卡片风格 */#certification.page-section {
            overflow: auto;
            display: flex;
            flex-direction: column;
        }.certification-native {
            margin-top: 12px;
            display: grid;
            grid-template-columns: minmax(280px, 0.82fr) minmax(320px, 1.18fr);
            gap: 14px;
            min-height: 0;
        }.certification-card {
            background: rgba(248, 250, 252, 0.62);
            border: 1px solid var(--panel-border);
            border-radius: 18px;
            box-shadow: var(--glass-edge);
            -webkit-backdrop-filter: saturate(1.35) blur(16px);
            backdrop-filter: saturate(1.35) blur(16px);
        }[data-theme="dark"] .certification-card {

            background: rgba(15, 23, 42, 0.52);
        
        }.certification-search-card {
            padding: 18px;
        }.certification-tabs {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin-bottom: 16px;
        }.certification-tab {
            border: 1px solid var(--line-color);
            border-radius: 999px;
            padding: 9px 12px;
            text-align: center;
            flex: 1 1 136px;
            color: var(--text-muted);
            text-decoration: none;
            font-weight: 800;
            background: var(--soft-bg-2);
        }.certification-tab.active {
            color: #fff;
            border-color: transparent;
            background: linear-gradient(135deg, var(--accent), #06b6d4);
            box-shadow: 0 10px 24px rgba(14, 165, 233, 0.24);
        }.certification-search-title {
            margin: 0 0 8px;
            color: var(--text-main);
            font-size: 18px;
            font-weight: 900;
        }.certification-search-lead {
            margin: 0 0 16px;
            color: var(--text-muted);
            font-size: 13px;
            line-height: 1.6;
        }.certification-form {
            display: grid;
            gap: 10px;
        }.certification-instructions {
            margin-top: 16px;
            border: 1px solid rgba(14, 165, 233, 0.22);
            border-radius: 14px;
            padding: 13px 14px;
            background: rgba(14, 165, 233, 0.08);
            color: var(--text-muted);
            font-size: 12px;
            line-height: 1.62;
        }.certification-instructions h4 {
            margin: 0 0 8px;
            color: var(--text-main);
            font-size: 13px;
            font-weight: 900;
        }.certification-instructions ol {
            margin: 0;
            padding-left: 18px;
        }.certification-instructions li + li {
            margin-top: 8px;
        }.certification-instructions a {
            color: var(--accent);
            font-weight: 800;
            text-decoration: none;
        }.certification-instructions a:hover {
            text-decoration: underline;
        }.certification-input {
            width: 100%;
            box-sizing: border-box;
            border: 1px solid var(--line-color);
            border-radius: 12px;
            padding: 11px 13px;
            background: var(--panel-bg);
            color: var(--text-main);
            outline: none;
        }.certification-input:focus {
            border-color: rgba(14, 165, 233, 0.75);
            box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.14);
        }.certification-submit {
            border: 0;
            border-radius: 999px;
            padding: 11px 18px;
            color: #fff;
            font-weight: 900;
            background: linear-gradient(135deg, #0ea5e9, #2563eb);
            box-shadow: 0 12px 24px rgba(37, 99, 235, 0.22);
            cursor: pointer;
        }.certification-results-card {
            padding: 16px;
            min-height: 320px;
        }.certification-results-head {
            display: flex;
            justify-content: space-between;
            gap: 12px;
            align-items: center;
            margin-bottom: 12px;
        }.certification-results-head h3 {
            margin: 0;
            color: var(--text-main);
            font-size: 17px;
        }.certification-result-list {
            display: grid;
            gap: 10px;
        }.certification-result {
            border: 1px solid var(--line-color);
            border-radius: 14px;
            padding: 14px;
            background: rgba(255, 255, 255, 0.44);
        }[data-theme="dark"] .certification-result {

            background: rgba(30, 41, 59, 0.45);
        
        }.certification-result h4 {
            margin: 0 0 8px;
            color: var(--text-main);
            font-size: 16px;
        }.certification-meta {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 6px 12px;
            color: var(--text-muted);
            font-size: 12px;
            line-height: 1.5;
        }.certification-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin-top: 12px;
        }.certification-action {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 999px;
            padding: 7px 13px;
            text-decoration: none;
            color: #fff;
            background: var(--accent);
            font-weight: 800;
            font-size: 12px;
        }.certification-action.secondary {
            background: #64748b;
        }.certification-empty {
            padding: 48px 20px;
            text-align: center;
            color: var(--text-muted);
            font-size: 14px;
            line-height: 1.65;
        }@media (max-width: 980px) {
            .certification-native {
                grid-template-columns: 1fr;
            }
            .certification-meta {
                grid-template-columns: 1fr;
            }
        }.preset-source-tag {
            display: inline-block;
            font-size: 11px;
            line-height: 1;
            padding: 4px 8px;
            border-radius: 999px;
            border: 1px solid var(--line-color);
            background: var(--soft-bg-2);
        }.preset-source-link {
            color: #1d4ed8;
            border-color: #93c5fd;
            background: rgba(59, 130, 246, 0.14);
        }.preset-source-file {
            color: #0f766e;
            border-color: #5eead4;
            background: rgba(20, 184, 166, 0.16);
        }.preset-source-pending {
            color: #a16207;
            border-color: #fcd34d;
            background: rgba(250, 204, 21, 0.16);
        }.preset-provider-official {
            color: #1d4ed8;
            border-color: #93c5fd;
            background: rgba(59, 130, 246, 0.14);
        }.preset-provider-customer {
            color: #7c2d12;
            border-color: #fdba74;
            background: rgba(249, 115, 22, 0.16);
        }.preset-provider-other {
            color: #3f3f46;
            border-color: #d4d4d8;
            background: rgba(161, 161, 170, 0.18);
        }.preset-remark-badge {
            display: inline-block;
            max-width: 100%;
            box-sizing: border-box;
            padding: 4px 8px;
            border-radius: 999px;
            background: rgba(245, 158, 11, 0.16);
            color: #b45309;
            border: 1px solid rgba(245, 158, 11, 0.36);
            font-weight: 700;
            white-space: normal;
            word-break: break-word;
        }[data-theme="dark"] .preset-remark-badge {

            background: rgba(251, 191, 36, 0.16);
            color: #fbbf24;
        
        }.preset-material-link {
            color: var(--accent);
            text-decoration: none;
            font-weight: 600;
        }.preset-material-link:hover {
            text-decoration: underline;
        }[data-theme="dark"] .compare-color-filter-toolbar {

            background: rgba(30, 41, 59, 0.45);
        
        }[data-theme="dark"] .compare-color-filter-card {

            background: rgba(30, 41, 59, 0.62);
            border-color: rgba(71, 85, 105, 0.55);
        
        }[data-theme="dark"] .compare-color-filter-card:nth-child(even) {

            background: rgba(37, 52, 78, 0.72);
            border-color: rgba(59, 130, 246, 0.28);
        
        }[data-theme="dark"] .compare-color-filter-card:nth-child(odd) {

            background: rgba(24, 33, 49, 0.78);
            border-color: rgba(71, 85, 105, 0.5);
        
        }/* 产品色样实拍：铺满 4:3 展示区 */[data-theme="dark"] .compare-color-photo-placeholder {

            background:
                radial-gradient(ellipse 80% 70% at 30% 20%, rgba(51, 65, 85, 0.9), transparent 55%),
                radial-gradient(ellipse 60% 50% at 75% 80%, rgba(59, 130, 246, 0.22), transparent 50%),
                linear-gradient(145deg, #1e293b 0%, #172033 50%, #0f172a 100%);
        
        }[data-theme="dark"] .compare-color-filter-card-photo .compare-color-photo-placeholder-logo {

            opacity: 1;
            filter: none;
        
        }[data-theme="dark"] .compare-color-filter-card-photo .compare-color-photo-placeholder-hint {

            color: #94a3b8;
        
        }[data-theme="dark"] .compare-color-photo-placeholder-logo {

            opacity: 0.85;
            filter: brightness(1.08) saturate(0.95);
        
        }[data-theme="dark"] .compare-color-photo-placeholder-hint {

            color: #94a3b8;
        
        }[data-theme="dark"] .compare-card {

            background: rgba(30, 41, 59, 0.62);
            border-color: rgba(71, 85, 105, 0.55);
        
        }[data-theme="dark"] .compare-cards .compare-card:nth-child(even) {

            background: rgba(37, 52, 78, 0.72);
            border-color: rgba(59, 130, 246, 0.28);
        
        }[data-theme="dark"] .compare-cards .compare-card:nth-child(odd) {

            background: rgba(24, 33, 49, 0.78);
            border-color: rgba(71, 85, 105, 0.5);
        
        }/* 矩阵表头 sticky：列高亮/十字高亮默认是 rgba，滚动时会透出 tbody，改为实色 */[data-theme="dark"] .compare-table thead th.compare-col-highlight {

            background: #1a2f4d !important;
            box-shadow: inset 0 0 0 1px rgba(59, 130, 246, 0.55);
        
        }[data-theme="dark"] .compare-table thead th.compare-cross-highlight {

            background: #1e3a5a !important;
            box-shadow: inset 0 0 0 1px rgba(96, 165, 250, 0.65);
        
        }.best-val {
            color: #22c55e;
            font-weight: 700;
        }.group-row td {
            background: var(--soft-bg);
            color: #93c5fd;
            font-weight: 600;
            border-top: 1px solid var(--line-color);
        }.hidden { display: none; }.page-section.hidden { display: none !important; }.page-section {
            flex: 1 1 auto;
            min-height: 0;
            overflow: auto;
        }/* 对比页：顶栏固定 + 内容区填满剩余视口高度 */[data-theme="dark"] .compare-sticky-head {

            box-shadow: 0 2px 16px rgba(0, 0, 0, 0.32);
        
        }[data-theme="dark"] #comparison #compareParallelView #parallelDataTableWrap .parallel-data-table tr.bubble-data-row-focused td {

            background: var(--accent-soft) !important;
            box-shadow: inset 3px 0 0 var(--accent);
        
        }table {
            width: 100%;
            border-collapse: collapse;
            margin-top: 10px;
        }th, td {
            padding: 10px;
            border-bottom: 1px solid var(--line-color);
            text-align: left;
            font-size: 13px;
        }.tag {
            display: inline-block;
            padding: 2px 8px;
            border-radius: 999px;
            font-size: 12px;
        }.lv1 { background: #1d4ed8; }.lv2 { background: #b45309; }.lv3 { background: #b91c1c; }.status0 { color: #fbbf24; }.status1 { color: #60a5fa; }@media (max-width: 520px) {
            .dash-top-nav-date {
                display: none;
            }
            .dash-top-nav-tools .fe-locale-edit-entry {
                padding: 0;
                width: 32px;
                height: 32px;
                font-size: 0;
                line-height: 0;
                overflow: hidden;
                position: relative;
                border-radius: 8px;
            }
            .dash-top-nav-tools .fe-locale-edit-entry::after {
                content: "✎";
                position: absolute;
                inset: 0;
                display: flex;
                align-items: center;
                justify-content: center;
                font-size: 14px;
                line-height: 1;
                color: inherit;
            }
        }.compare-page-load-overlay {
            position: fixed;
            inset: 0;
            z-index: 12050;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 24px;
            background: rgba(15, 23, 42, 0.42);
            backdrop-filter: blur(6px);
            -webkit-backdrop-filter: blur(6px);
            transition: opacity 0.28s ease, visibility 0.28s ease;
        }.compare-page-load-overlay.hidden {
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
        }.compare-page-load-card {
            width: min(420px, 100%);
            padding: 22px 24px 20px;
            border-radius: 16px;
            border: 1px solid rgba(148, 163, 184, 0.35);
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 252, 0.96) 100%);
            box-shadow: 0 24px 48px rgba(15, 23, 42, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.65);
        }.compare-page-load-title {
            margin: 0 0 14px;
            font-size: 15px;
            font-weight: 700;
            color: #0f172a;
        }.compare-page-load-bar {
            height: 8px;
            border-radius: 999px;
            overflow: hidden;
            background: #e2e8f0;
        }.compare-page-load-bar-fill {
            width: 0%;
            height: 100%;
            border-radius: inherit;
            background: linear-gradient(90deg, #2563eb 0%, #0ea5e9 55%, #38bdf8 100%);
            transition: width 0.22s ease;
        }.compare-page-load-meta {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            margin-top: 10px;
            font-size: 12px;
            color: #64748b;
        }.compare-page-load-percent {
            font-variant-numeric: tabular-nums;
            font-weight: 700;
            color: #2563eb;
        }.compare-page-load-stage {
            text-align: right;
            flex: 1;
            min-width: 0;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }/* 对比页图表：手机端布局与滚动（覆盖桌面固定高度） *//* 对比页工具条：超窄屏模式钮更紧凑 */