:root {
    /* Colors */
    color-scheme: light;
    --brand: #2f6f4f;
    --brand-light: #e8f5ee;
    --brand-dark: #1f5139;
    --brand-text: #1a7a3a;
    --secondary: #B8753A;
    --ink: #1c1c1e;
    --muted: #6b6b70;
    --bg: #fafaf8;
    --surface: #ffffff;
    --border: #e8e8e5;
    --border-light: #e5e5e2;
    --error: #b3261e;
    --accent: #2f6f4f;

    /* Spacing */
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 20px;
    --space-6: 24px;
    --space-8: 32px;

    /* Radius */
    --radius-sm: 6px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-xl: 16px;
    --radius-2xl: 20px;
    --radius-pill: 999px;
    --radius-circle: 50%;

    /* Shadows */
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.04);
    --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.06);
    --shadow-lg: 0 24px 48px rgba(0, 0, 0, 0.15);
    --shadow-xl: 0 4px 24px rgba(0, 0, 0, 0.06);
    --focus-ring: 0 0 0 3px rgba(47, 111, 79, 0.1);

    /* Transitions */
    --transition-fast: all 0.15s ease;
    --transition-medium: transform 0.18s ease, box-shadow 0.18s ease;
    --transition-color: color 0.15s ease, border-color 0.15s ease;
    --transition-row: background 0.1s ease;

    /* Semantic aliases */
    --hover-bg: #f5f5f3;
}* { box-sizing: border-box; }body {
    margin: 0;
    font-family: -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;
    color: var(--ink);
    background: var(--bg);
    display: flex;
    min-height: 100vh;
    flex-direction: column;
}main {
    flex: 1;
    width: min(720px, 92vw);
    margin: 0 auto;
    padding: 32px 0 64px;
}.site-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 24px;
    border-bottom: 1px solid var(--border-light);
}.brand {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
    font-size: 20px;
    text-decoration: none;
    color: var(--ink);
}.brand-logo {
    width: 28px;
    height: 28px;
    object-fit: contain;
}.site-header nav { display: flex; gap: 16px; }.site-header nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 4px; color: var(--muted); text-decoration: none; }.site-header nav a:hover { color: var(--ink); }.site-header nav a:focus-visible, .button:focus-visible, .text-link:focus-visible { outline: 3px solid #9bd4ad; outline-offset: 3px; }.site-header nav .nav-apply, .site-header nav .nav-login { color: var(--accent); font-weight: 700; }.lang-switch {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 4px 14px;
    border: 1px solid var(--border-light);
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
}.site-footer {
    padding: 24px;
    text-align: center;
    color: var(--muted);
    border-top: 1px solid var(--border-light);
}.footer-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 4px 0 10px;
    padding: 6px 16px;
    border-radius: 999px;
    background: #e8f3eb;
    color: var(--accent);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: background .15s ease, transform .15s ease;
}.footer-link:hover { background: #d7ebdd; transform: translateY(-1px); }.footer-link svg { width: 14px; height: 14px; }.footer-version {
    font-size: 12px;
    opacity: 0.6;
}.button {
    display: inline-block;
    background: var(--accent);
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 12px 24px;
    font-size: 16px;
    text-decoration: none;
    cursor: pointer;
}.button.secondary { background: transparent; color: var(--accent); border: 1px solid var(--accent); }.field { margin-bottom: 16px; }.field label { display: block; margin-bottom: 6px; font-weight: 600; }.field input, .field textarea {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #d5d5d2;
    border-radius: 8px;
    font-size: 16px;
}.field .hint { color: var(--muted); font-size: 13px; margin-top: 4px; }.field-error { color: var(--error); font-size: 13px; }.error-summary {
    background: #fdecea;
    color: var(--error);
    border-radius: 8px;
    padding: 12px 16px;
    margin-bottom: 16px;
}.success-panel {
    background: #e9f5ee;
    border-radius: 8px;
    padding: 24px;
    text-align: center;
}.success-panel code {
    display: inline-block;
    background: #fff;
    border-radius: 6px;
    padding: 6px 12px;
    margin: 8px 0;
    font-size: 15px;
    word-break: break-all;
}.status-badge {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 14px;
    background: var(--border-light);
}/* Wide layout for landing page */
main.wide-layout {
    width: 100%;
    max-width: none;
    padding: 0;
}main.wide-layout > section {
    width: min(720px, 92vw);
    margin: 0 auto;
    padding: 40px 0;
}.landing-section { width: min(960px, 92vw) !important; padding: 72px 0 !important; }.section-lead { max-width: 620px; margin: -16px auto 32px; color: var(--muted); text-align: center; line-height: 1.7; }main.wide-layout > section.full-bleed {
    width: 100%;
    max-width: none;
    padding: 64px 24px;
}/* Hero section */
.hero { text-align: center; background: linear-gradient(180deg, #e7f1e9 0%, var(--bg) 100%); }.hero-inner { max-width: 640px; margin: 0 auto; }.hero h1 { font-size: clamp(28px, 4vw, 38px); margin: 0 0 12px; line-height: 1.2; }.hero-sub { color: var(--muted); font-size: 18px; line-height: 1.6; }.hero-actions { display: flex; gap: 12px; justify-content: center; margin-top: 24px; }.hero-panda { position: relative; overflow: hidden; }.hero-panda::before, .hero-panda::after { content: ""; position: absolute; border-radius: 999px; background: rgba(47, 111, 79, .08); }.hero-panda::before { width: 340px; height: 340px; left: -190px; top: 35px; }.hero-panda::after { width: 260px; height: 260px; right: -130px; bottom: -100px; }.hero-inner { position: relative; z-index: 1; }.hero-grid { max-width: 1080px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, 460px); align-items: center; gap: 64px; text-align: left; }.hero-copy { max-width: 620px; }.hero-copy .hero-actions { justify-content: flex-start; }.product-preview { filter: drop-shadow(0 24px 36px rgba(31, 81, 57, .16)); transform: rotate(2deg); }.preview-window { overflow: hidden; border: 1px solid rgba(31, 81, 57, .16); border-radius: 18px; background: rgba(255,255,255,.94); }.preview-topbar { display: flex; align-items: center; gap: 6px; padding: 13px 18px; border-bottom: 1px solid #e8eee9; color: var(--muted); font-size: 13px; }.preview-topbar span { width: 7px; height: 7px; border-radius: 50%; background: #b7d8c0; }.preview-topbar strong { margin-left: 8px; color: var(--ink); font-size: 14px; }.preview-body { padding: 24px; display: flex; flex-direction: column; }.preview-label { margin-bottom: 8px; color: var(--accent); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.preview-input { margin: 0 0 20px; color: var(--ink); line-height: 1.6; }.preview-result { padding: 18px; border-radius: 13px; background: #edf7ef; }.preview-result strong { display: block; margin-bottom: 6px; font-size: 18px; }.preview-result p { margin: 0 0 16px; color: var(--muted); font-size: 14px; line-height: 1.5; }.preview-task { display: flex; align-items: flex-start; gap: 8px; padding-top: 12px; border-top: 1px solid #d3e7d8; color: var(--ink); font-size: 14px; line-height: 1.4; }.preview-check { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; width: 18px; height: 18px; border-radius: 50%; background: var(--accent); color: #fff; font-size: 12px; }/* Hero 预览：与盼盼的对话帧 */
.chat-bubble { max-width: 88%; margin-bottom: 14px; padding: 12px 14px; border-radius: 14px; }.chat-bubble .preview-label { margin-bottom: 6px; }.chat-bubble .preview-input { margin: 0; }.chat-user { align-self: flex-end; background: #e8f3eb; border-bottom-right-radius: 4px; }.chat-agent { align-self: flex-start; background: #f4f8f5; border-bottom-left-radius: 4px; }.chat-agent .preview-result { background: #fff; border: 1px solid #d3e7d8; }.chat-agent-head { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; color: var(--ink); font-size: 14px; }.chat-agent-logo { width: 22px; height: 22px; flex: 0 0 auto; }.chat-actions { display: flex; gap: 8px; }.chat-accept { padding: 6px 14px; border-radius: 999px; background: var(--accent); color: #fff; font-size: 13px; font-weight: 600; }.chat-later { padding: 6px 14px; border-radius: 999px; border: 1px solid #d3e7d8; color: var(--muted); font-size: 13px; }.eyebrow, .section-kicker { color: var(--accent); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }.hero-note { color: var(--muted); font-size: 14px; margin-top: 14px; }.workflow-section .section-kicker { display: block; text-align: center; margin-bottom: 10px; }.features-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}.scenario-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }.scenario-card { padding: 24px; border: 1px solid var(--border-light); border-radius: 12px; background: #fff; }.scenario-card h3 { margin: 0 0 8px; font-size: 18px; }.scenario-card p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.6; }.feature-card {
    padding: 24px;
    border: 1px solid var(--border-light);
    border-radius: 12px;
    background: #fff;
}.feature-card h3 { margin: 0 0 8px; font-size: 18px; }.feature-card p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.5; }.feature-icon { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; margin-bottom: 18px; border-radius: 8px; background: #e8f3eb; color: var(--accent); font-size: 12px; font-weight: 800; }.feature-glyph { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; margin-bottom: 18px; border-radius: 8px; background: #e8f3eb; color: var(--accent); }.feature-glyph svg { width: 18px; height: 18px; }/* Workflow steps */
.workflow-section h2 { text-align: center; margin-bottom: 32px; }.workflow-steps {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 24px;
}.workflow-steps li {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}.workflow-steps { max-width: 760px; margin-inline: auto; }.step-number {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--accent);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 16px;
}.workflow-steps h3 { margin: 0 0 4px; font-size: 17px; }.workflow-steps p { margin: 0; color: var(--muted); font-size: 15px; }/* CTA section */
.cta-section {
    text-align: center;
    background: #f0f5f2;
}.cta-inner { max-width: 540px; margin: 0 auto; }.cta-actions { display: flex; align-items: center; justify-content: center; gap: 20px; }.cta-actions .text-link { color: var(--accent); text-decoration: none; }.cta-actions .text-link:hover { text-decoration: underline; }.trust-panel { padding: 40px; border-radius: 20px; background: var(--brand-dark); color: #fff; }.trust-panel .section-kicker { color: #b7e8c7; }.trust-panel h2 { max-width: 620px; margin: 10px 0 12px; }.trust-panel p { max-width: 620px; margin: 0; color: rgba(255,255,255,.78); line-height: 1.7; }.trust-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px 24px; margin: 28px 0 0; padding: 0; list-style: none; }.trust-list li { padding-top: 12px; border-top: 1px solid rgba(255,255,255,.25); color: rgba(255,255,255,.9); font-size: 14px; line-height: 1.5; }.cta-section h2 { margin: 0 0 12px; }.cta-section p { color: var(--muted); margin: 0 0 24px; }/* Help center */
.help-nav {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 24px;
}.help-nav-card {
    display: block;
    padding: 24px;
    border: 1px solid var(--border-light);
    border-radius: 12px;
    text-decoration: none;
    color: var(--ink);
    background: #fff;
}.help-nav-card:hover { border-color: var(--accent); }.help-nav-card h3 { margin: 0 0 4px; }.help-nav-card p { margin: 0; color: var(--muted); font-size: 14px; }.faq-list { margin-top: 24px; }.faq-list details {
    border-bottom: 1px solid var(--border-light);
    padding: 16px 0;
}.faq-list summary {
    cursor: pointer;
    font-weight: 600;
    padding: 4px 0;
}.faq-list details[open] summary { margin-bottom: 8px; }.faq-list details p { margin: 0; color: var(--muted); line-height: 1.6; }.guide-steps {
    counter-reset: step;
    list-style: none;
    padding: 0;
    margin: 24px 0 0;
}.guide-steps li {
    position: relative;
    padding: 16px 0 16px 48px;
    border-left: 2px solid var(--border-light);
    margin-left: 16px;
}.guide-steps li::before {
    counter-increment: step;
    content: counter(step);
    position: absolute;
    left: -16px;
    top: 14px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--accent);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 14px;
}.guide-steps li:last-child { border-left-color: transparent; }.guide-steps h3 { margin: 0 0 4px; font-size: 16px; }.guide-steps p { margin: 0; color: var(--muted); font-size: 15px; }/* Changelog：时间轴布局（左侧日期 + 品牌绿轴线与节点） */
.changelog-list { position: relative; margin-top: 8px; }.changelog-list::before {
    content: "";
    position: absolute;
    left: 118px;
    top: 12px;
    bottom: 12px;
    width: 2px;
    border-radius: 1px;
    background: #dce8df;
}.changelog-entry {
    position: relative;
    display: grid;
    grid-template-columns: 88px 1fr;
    column-gap: 46px;
    padding: 4px 0 30px;
}.changelog-entry::after {
    content: "";
    position: absolute;
    left: 113px;
    top: 10px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--accent);
    box-shadow: 0 0 0 4px rgba(47, 111, 79, .14);
}.changelog-entry time {
    display: block;
    color: var(--muted);
    font-size: 13px;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    text-align: right;
    padding-top: 2px;
}.changelog-entry h3 { margin: 0 0 8px; font-size: 18px; display: flex; align-items: center; gap: 8px; }.changelog-entry p { margin: 0; color: var(--muted); line-height: 1.6; }.changelog-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    border-radius: 999px;
    background: #e8f3eb;
    color: var(--accent);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.6;
}
@media (max-width: 600px) {.changelog-list::before { display: none; }.changelog-entry { grid-template-columns: 1fr; column-gap: 0; row-gap: 6px; padding: 0 0 26px; }.changelog-entry::after { display: none; }.changelog-entry time { text-align: left; padding-top: 0; }
}/* Legal pages */
.legal-links {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 24px;
}.legal-link-card {
    display: block;
    padding: 24px;
    border: 1px solid var(--border-light);
    border-radius: 12px;
    text-decoration: none;
    color: var(--ink);
    background: #fff;
}.legal-link-card:hover { border-color: var(--accent); }.legal-link-card h3 { margin: 0 0 4px; }.legal-link-card p { margin: 0; color: var(--muted); font-size: 14px; }.legal-content h2 { font-size: 20px; margin-top: 32px; }.legal-content p { line-height: 1.7; color: var(--muted); }.legal-content ul { color: var(--muted); line-height: 1.7; }.text-link { display: inline-flex; align-items: center; min-height: 44px; color: var(--muted); text-decoration: none; padding: 8px 12px; border-radius: 7px; font-size: 14px; }.text-link:hover { color: var(--accent); background: #e8f3eb; }.empty-state { padding: 24px; border: 1px solid #e1e4df; border-radius: 16px; background: #fff; }.empty-state { text-align: center; color: var(--muted); }.empty-state strong { color: var(--ink); font-size: 18px; }.empty-state pre { text-align: left; white-space: pre-wrap; }.download-available { max-width: 680px; margin: 56px auto; padding: 56px 32px; }.download-available h1 { margin: 10px 0; color: var(--ink); font-size: clamp(28px, 4vw, 38px); }.download-available p { max-width: 520px; margin: 0 auto 24px; line-height: 1.7; }

@media (max-width: 600px) {.site-header { padding: 12px 16px; align-items: flex-start; gap: 12px; }.site-header nav { flex-wrap: wrap; justify-content: flex-end; gap: 8px 12px; font-size: 13px; }.features-grid, .help-nav, .legal-links { grid-template-columns: 1fr; }.hero-grid { grid-template-columns: 1fr; gap: 32px; text-align: center; }.hero-copy .hero-actions { justify-content: center; }.product-preview { transform: none; }.scenario-grid, .trust-list { grid-template-columns: 1fr; }.landing-section { padding: 48px 0 !important; }.hero h1 { font-size: 28px; }.workflow-steps li { flex-direction: column; }.hero-actions { align-items: stretch; flex-direction: column; }.hero-actions .button { text-align: center; }.cta-actions { align-items: stretch; flex-direction: column; gap: 12px; }.trust-panel { padding: 28px 22px; }
}/* --- Dialog / Modal --- */
dialog { border: none; border-radius: 16px; padding: 0; max-width: 520px; width: 92vw; box-shadow: 0 24px 48px rgba(0,0,0,.15); }dialog::backdrop { background: rgba(0,0,0,.4); }
@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

@media (max-width: 600px) {dialog { width: 100vw; max-width: 100vw; border-radius: 16px 16px 0 0; margin-top: auto; }
}#agent-attachment-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    list-style: none;
    padding: 0;
    margin: 0;
}/* --- Agent responsive --- */
@media (max-width: 600px) {
    .agent-layout {
        flex-direction: column;
        gap: 16px;
    }

    .agent-sessions {
        width: 100%;
        flex-direction: row;
        overflow-x: auto;
        overflow-y: hidden;
        max-height: none;
        padding: 8px;
        gap: 8px;
    }

    .agent-new-btn {
        flex-shrink: 0;
        margin-bottom: 0;
    }

    .agent-session-item {
        flex-shrink: 0;
        border-left: none;
        border-bottom: 2px solid transparent;
        padding: 6px 14px;
        white-space: nowrap;
    }

    .agent-session-item.active {
        border-left: none;
        border-bottom-color: var(--accent);
    }

    .agent-session-time {
        display: none;
    }
}/* Download 页：参与路径与亮点（路径复用 workflow-steps） */
.download-guide h2 { text-align: center; margin-bottom: 32px; }.download-highlights { list-style: none; max-width: 720px; margin: 8px auto 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 24px; color: var(--muted); font-size: 15px; }.download-highlights li { display: flex; align-items: center; gap: 8px; }.download-highlights li::before { content: "✓"; display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; width: 18px; height: 18px; border-radius: 50%; background: var(--accent); color: #fff; font-size: 12px; }
@media (max-width: 600px) {.download-highlights { grid-template-columns: 1fr; } }/* 跳到主要内容（键盘可达性） */
.skip-link {
    position: absolute;
    left: 16px;
    top: -48px;
    z-index: 100;
    padding: 10px 16px;
    border-radius: 8px;
    background: var(--accent);
    color: #fff;
    font-weight: 600;
    text-decoration: none;
    transition: top .15s ease;
}.skip-link:focus { top: 12px; }/* 全局键盘焦点与动画降级 */
:focus-visible { outline: 3px solid #9bd4ad; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}/* 错误页 */
.error-state { text-align: center; padding: 48px 24px; }.error-logo { width: 48px; height: 48px; margin-bottom: 12px; }.error-state .button { margin-top: 16px; }/* ICP 备案号（Site:IcpFilingNumber 配置后显示） */
.footer-icp { font-size: 12px; opacity: 0.6; }.footer-icp a { color: inherit; text-decoration: none; }.footer-icp a:hover { text-decoration: underline; }
.footer-icp-pending { opacity: 0.35; }/* 官网暗色模式：跟随系统（对齐移动端 PandaDarkColors 色板；brand/secondary/muted 按 tokens.md 暗色表覆盖，surface 取 container-low 分层） */
:root[data-theme="dark"] {
        color-scheme: dark;
        --brand: #8dd6b2;
        --secondary: #ffb77d;
        --brand-light: #1d231e;
        --brand-text: #8dd6b2;
        --ink: #e0e3de;
        --muted: #c1c9c1;
        --bg: #101411;
        --surface: #161b17;
        --border: #2b332c;
        --border-light: #242b25;
        --error: #ffb4ab;
        --accent: #8dd6b2;
    }:root[data-theme="dark"] body { background: #101411; color: var(--ink); }:root[data-theme="dark"] .hero { background: linear-gradient(180deg, #16201a 0%, #101411 100%); }:root[data-theme="dark"] .hero-panda::before, :root[data-theme="dark"] .hero-panda::after { background: rgba(141, 214, 178, .07); }:root[data-theme="dark"] .preview-window { background: rgba(22, 27, 23, .96); border-color: rgba(141, 214, 178, .2); }:root[data-theme="dark"] .preview-topbar { border-bottom-color: var(--border-light); }:root[data-theme="dark"] .preview-topbar strong { color: var(--ink); }:root[data-theme="dark"] .preview-result { background: #1d231e; }:root[data-theme="dark"] .preview-task { border-top-color: var(--border); }:root[data-theme="dark"] .chat-user { background: #1d231e; }:root[data-theme="dark"] .chat-agent { background: #161b17; }:root[data-theme="dark"] .chat-agent .preview-result { background: #101411; border-color: var(--border); }:root[data-theme="dark"] .chat-later { border-color: var(--border); }:root[data-theme="dark"] .button, :root[data-theme="dark"] .chat-accept, :root[data-theme="dark"] .preview-check, :root[data-theme="dark"] .download-highlights li::before { color: #10331f; }:root[data-theme="dark"] .success-panel code, :root[data-theme="dark"] .scenario-card, :root[data-theme="dark"] .feature-card, :root[data-theme="dark"] .help-nav-card, :root[data-theme="dark"] .legal-link-card, :root[data-theme="dark"] .empty-state {
        background: #161b17;
        border-color: var(--border-light);
    }:root[data-theme="dark"] .feature-glyph, :root[data-theme="dark"] .changelog-badge, :root[data-theme="dark"] .footer-link { background: #1d231e; }:root[data-theme="dark"] .footer-link:hover { background: #242b25; }:root[data-theme="dark"] .changelog-list::before { background: var(--border); }:root[data-theme="dark"] .lang-switch { border-color: var(--border-light); }:root[data-theme="dark"] :focus-visible { outline-color: #9bd4ad; }/* 产品一览：手机帧示意（纯 CSS 插画，语言中性内容 + 资源文案） */
.tour-section h2 { text-align: center; margin-bottom: 8px; }.tour-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; margin-top: 32px; }.tour-item { text-align: center; }.tour-item h3 { font-size: 18px; margin: 18px 0 6px; }.tour-item p { margin: 0 auto; max-width: 300px; color: var(--muted); font-size: 15px; line-height: 1.5; }.phone-frame {
    width: 240px;
    height: 420px;
    margin: 0 auto;
    border-radius: 32px;
    border: 2px solid var(--border);
    background: var(--surface);
    box-shadow: 0 12px 30px rgba(31, 81, 57, .10);
    padding: 14px;
    overflow: hidden;
}.phone-notch { width: 72px; height: 5px; border-radius: 999px; background: var(--border-light); margin: 2px auto 10px; }.phone-head { display: flex; align-items: center; gap: 6px; padding: 2px 6px 12px; color: var(--ink); font-size: 13px; }.phone-head img { width: 18px; height: 18px; }.phone-body { display: flex; flex-direction: column; gap: 10px; padding: 0 4px; }.phone-label { color: var(--accent); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.phone-task { display: flex; align-items: center; gap: 8px; padding: 9px 10px; border-radius: 10px; background: var(--brand-light); color: var(--ink); font-size: 12px; line-height: 1.4; }.phone-check { flex: 0 0 auto; width: 14px; height: 14px; border-radius: 50%; border: 2px solid var(--accent); }.phone-check.done { background: var(--accent); }.phone-week { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }.phone-week.tall { grid-auto-rows: 34px; }.phone-day { position: relative; display: flex; align-items: center; justify-content: center; height: 30px; border-radius: 8px; background: var(--brand-light); }.phone-day.on { background: var(--accent); }.phone-day b { position: absolute; top: -6px; right: -6px; min-width: 14px; height: 14px; padding: 0 3px; border-radius: 999px; background: var(--secondary); color: #fff; font-size: 9px; line-height: 14px; text-align: center; }.phone-goal { display: flex; align-items: center; gap: 8px; margin-top: 4px; color: var(--muted); font-size: 12px; }.phone-dot { flex: 0 0 auto; width: 8px; height: 8px; border-radius: 50%; background: var(--accent); }.phone-progress { height: 6px; border-radius: 999px; background: var(--brand-light); overflow: hidden; }.phone-progress span { display: block; height: 100%; width: 62%; border-radius: 999px; background: var(--accent); }.phone-bubble { max-width: 92%; padding: 9px 11px; border-radius: 12px; font-size: 12px; line-height: 1.5; background: var(--brand-light); color: var(--ink); }.phone-bubble.user { align-self: flex-end; border-bottom-right-radius: 4px; }.phone-bubble.agent { align-self: flex-start; border-bottom-left-radius: 4px; display: flex; flex-direction: column; gap: 8px; }.phone-bubble-title { font-size: 11px; font-weight: 700; }.phone-pill { align-self: flex-start; padding: 4px 12px; border-radius: 999px; background: var(--accent); color: #10331f; font-size: 11px; font-weight: 600; }
@media (max-width: 900px) {.tour-grid { grid-template-columns: 1fr; gap: 28px; } }/* 顶栏显示模式切换：跟随系统 → 浅色 → 深色 循环，图标随当前偏好 */
.theme-switch {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid var(--border-light);
    border-radius: 6px;
    background: transparent;
    cursor: pointer;
    color: var(--muted);
}.theme-switch:hover { color: var(--ink); }.theme-switch svg { width: 16px; height: 16px; display: none; }.theme-switch .icon-system { display: block; }:root[data-theme-pref="light"] .theme-switch .icon-system { display: none; }:root[data-theme-pref="light"] .theme-switch .icon-light { display: block; }:root[data-theme-pref="dark"] .theme-switch .icon-system { display: none; }:root[data-theme-pref="dark"] .theme-switch .icon-dark { display: block; }:root[data-theme="dark"] .cta-section { background: #14201a; }:root[data-theme="dark"] .error-summary { background: #3a1d1f; }:root[data-theme="dark"] .success-panel { background: #1d231e; }:root[data-theme="dark"] .feature-icon { background: #1d231e; }:root[data-theme="dark"] .text-link:hover { background: #1d231e; }
