/* bofei.com Main Stylesheet - Auto-extracted 2026-04-16 */

/* === Style Block 1 === */
/* SEO 隐藏文本 */
.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; }

:root {
    --bg-color: #F7F3EE;
    --section-alt-bg: #F5F0EA;
    --text-primary: #2D2B28;
    --text-secondary: #8A847D;
    --text-tertiary: #5A5550;
    --accent-red: #C53D43;
    --accent-gold: #B8860B;
    --white: #FFFFFF;
    --card-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    --transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    --serif: 'Noto Serif SC', 'Songti SC', 'STSong', '宋体', 'SimSun', Georgia, serif;
    /* ── 禅境四时 · Seasonal Theme Variables (2026-04-15 战略迭代) ── */
    --season-accent: #7CB87C;
    --season-accent-soft: rgba(124, 184, 124, 0.12);
    --season-glow: rgba(124, 184, 124, 0.06);
    --season-gradient: linear-gradient(135deg, rgba(124,184,124,0.08) 0%, rgba(200,230,200,0.04) 100%);
    --season-particle-color: rgba(255, 183, 197, 0.7);
    --season-greeting: '春深时节，万物萌发';
}
/* Seasonal overrides applied via body class */
body[data-season="spring"] {
    --season-accent: #7CB87C;
    --season-accent-soft: rgba(124, 184, 124, 0.12);
    --season-glow: rgba(124, 184, 124, 0.06);
    --season-gradient: linear-gradient(135deg, rgba(124,184,124,0.08) 0%, rgba(200,230,200,0.04) 100%);
    --season-particle-color: rgba(255, 183, 197, 0.7);
}
body[data-season="summer"] {
    --season-accent: #4EAAB5;
    --season-accent-soft: rgba(78, 170, 181, 0.12);
    --season-glow: rgba(78, 170, 181, 0.06);
    --season-gradient: linear-gradient(135deg, rgba(78,170,181,0.08) 0%, rgba(160,220,230,0.04) 100%);
    --season-particle-color: rgba(120, 220, 180, 0.5);
    --bg-color: #F5F4EF;
    --section-alt-bg: #F2F1EC;
}
body[data-season="autumn"] {
    --season-accent: #C88B4A;
    --season-accent-soft: rgba(200, 139, 74, 0.12);
    --season-glow: rgba(200, 139, 74, 0.06);
    --season-gradient: linear-gradient(135deg, rgba(200,139,74,0.08) 0%, rgba(230,200,160,0.04) 100%);
    --season-particle-color: rgba(210, 150, 60, 0.6);
    --bg-color: #F5F0E8;
    --section-alt-bg: #F0EBE2;
}
body[data-season="winter"] {
    --season-accent: #8B9AAF;
    --season-accent-soft: rgba(139, 154, 175, 0.12);
    --season-glow: rgba(139, 154, 175, 0.06);
    --season-gradient: linear-gradient(135deg, rgba(139,154,175,0.08) 0%, rgba(200,210,225,0.04) 100%);
    --season-particle-color: rgba(220, 230, 245, 0.8);
    --bg-color: #F0F0F2;
    --section-alt-bg: #EBEBEE;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    background-color: var(--bg-color);
    color: var(--text-primary);
    font-family: var(--serif);
    line-height: 1.6;
    width: 100%;
    overflow-x: hidden;
}

/* ── 导航 ── */
.zen-nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 60px;
    background-color: rgba(247, 243, 238, 0.92);
    backdrop-filter: blur(12px);
    z-index: 10000;
    transition: var(--transition);
    box-shadow: none;
}
.zen-nav .logo { display: flex; align-items: center; gap: 12px; cursor: pointer; }
.zen-nav .logo-icon { width: 36px; height: 36px; }
.zen-nav .logo-icon svg { width: 100%; height: 100%; }
.zen-nav .logo-text { font-size: 20px; font-weight: 700; letter-spacing: 4px; }
.zen-nav .nav-links { display: flex; gap: 24px; list-style: none; flex-wrap: nowrap; white-space: nowrap; }
.zen-nav .nav-links a {
    text-decoration: none;
    color: var(--text-primary);
    font-size: 13px;
    letter-spacing: 1.5px;
    transition: var(--transition);
}
.zen-nav .nav-links a:hover { color: var(--accent-red); }
@media (max-width: 768px) {
    .zen-path-cards {
        flex-direction: column;
        align-items: center;
    }
    .zen-path-card {
        max-width: 100%;
        width: 100%;
    }
}

/* ═══════════════════════════════════════════════════
   时辰感知 Hero 背景动画 (2026-04-13 战略迭代)
   根据当前时辰动态调整背景色调和氛围
   ═══════════════════════════════════════════════════ */
.hero-time-morning { 
    background: linear-gradient(160deg, #6b5b4a 0%, #5a4d3d 30%, #4a3f35 60%, #3d332a 100%);
}
.hero-time-noon { 
    background: linear-gradient(160deg, #8b7355 0%, #6b5b4a 30%, #5a4d3d 60%, #4a3f35 100%);
}
.hero-time-afternoon { 
    background: linear-gradient(160deg, #5a4d3d 0%, #4a3f35 30%, #3d332a 60%, #2d2620 100%);
}
.hero-time-evening { 
    background: linear-gradient(160deg, #4a4238 0%, #3d3630 30%, #2d2b28 60%, #1a1815 100%);
}
.hero-time-night { 
    background: linear-gradient(160deg, #2d2b28 0%, #1a1815 30%, #0f0e0d 60%, #050403 100%);
}

@keyframes timeTransition {
    0%, 100% { opacity: 0.92; }
    50% { opacity: 0.95; }
}

.hero-time-indicator {
    position: absolute;
    top: 20px;
    right: 30px;
    font-size: 12px;
    letter-spacing: 3px;
    color: rgba(247, 243, 238, 0.6);
    padding: 8px 16px;
    border-radius: 20px;
    background: rgba(184, 134, 11, 0.1);
    border: 1px solid rgba(184, 134, 11, 0.2);
    backdrop-filter: blur(8px);
    z-index: 10;
    animation: timeTransition 8s ease-in-out infinite;
}

/* ── 英雄区 ── */
.hero {
    position: relative;
    height: 100vh;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    text-align: center;
    padding: 76px 20px 0 20px;
    overflow: hidden;
    box-sizing: border-box;
}
.hero-bg {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: 
        radial-gradient(ellipse at 20% 50%, rgba(139,90,43,0.08) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 20%, rgba(197,61,67,0.06) 0%, transparent 40%),
        radial-gradient(ellipse at 50% 80%, rgba(45,43,40,0.04) 0%, transparent 60%),
        linear-gradient(160deg, #4a4238 0%, #3d3630 30%, #2d2b28 60%, #1a1815 100%);
    background-size: cover;
    background-position: center;
    opacity: 0.92;
    z-index: -1;
    animation: slowZoom 20s infinite alternate;
}
/* ── 呼吸之海：墨韵呼吸波纹 (2026-04-07 迭代) ── */
.hero-bg::before,
.hero-bg::after {
    content: '';
    position: absolute;
    top: 50%; left: 50%;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
}
.hero-bg::before {
    width: 120vmax; height: 120vmax;
    background: radial-gradient(circle, rgba(197,61,67,0.1) 0%, rgba(197,61,67,0.03) 40%, transparent 70%);
    animation: breatheWave 8s ease-in-out infinite;
}
.hero-bg::after {
    width: 80vmax; height: 80vmax;
    background: radial-gradient(circle, rgba(184,134,11,0.08) 0%, rgba(184,134,11,0.02) 35%, transparent 65%);
    animation: breatheWave 8s ease-in-out infinite 2s;
}
@keyframes breatheWave {
    0%, 100% { transform: translate(-50%, -50%) scale(0.85); opacity: 0.6; }
    50% { transform: translate(-50%, -50%) scale(1.15); opacity: 1; }
}
/* ═══════════════════════════════════════════════════
   交互式圆相（Enso）呼吸圈 - 2026-04-09 战略迭代
   可视化中心锚点 + 点击即开始呼吸引导
   ═══════════════════════════════════════════════════ */
.hero-enso-container {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 320px; height: 320px;
    z-index: 1;
    cursor: pointer;
    pointer-events: auto;
}
.hero-enso-svg {
    width: 100%; height: 100%;
    filter: drop-shadow(0 0 30px rgba(197,61,67,0.08));
    transition: filter 0.6s ease;
}
.hero-enso-container:hover .hero-enso-svg {
    filter: drop-shadow(0 0 40px rgba(197,61,67,0.15));
}
.hero-enso-bg-circle {
    fill: none;
    stroke: rgba(247,243,238,0.04);
    stroke-width: 1;
}
.hero-enso-ring-outer {
    fill: none;
    stroke: rgba(184,134,11,0.12);
    stroke-width: 0.5;
    stroke-dasharray: 4 12;
    animation: ensoRotate 60s linear infinite;
}
.hero-enso-ring-inner {
    fill: none;
    stroke: rgba(197,61,67,0.08);
    stroke-width: 0.5;
    stroke-dasharray: 2 8;
    animation: ensoRotate 45s linear infinite reverse;
}
.hero-enso-stroke {
    fill: none;
    stroke: rgba(247,243,238,0.25);
    stroke-width: 2;
    stroke-linecap: round;
    stroke-dasharray: 680 120;
    stroke-dashoffset: 800;
    animation: ensoDraw 4s ease-out 1.5s forwards, ensoBreathe 8s ease-in-out 5.5s infinite;
}
.hero-enso-center-text {
    fill: rgba(247,243,238,0.35);
    font-family: var(--serif);
    font-size: 18px;
    font-weight: 300;
    letter-spacing: 6px;
    text-anchor: middle;
    dominant-baseline: middle;
    opacity: 0;
    animation: ensoFadeText 1.5s ease forwards 4.5s;
    pointer-events: none;
}
.hero-enso-hint {
    position: absolute;
    bottom: -30px; left: 50%;
    transform: translateX(-50%);
    font-size: 10px;
    color: rgba(247,243,238,0.25);
    letter-spacing: 3px;
    white-space: nowrap;
    opacity: 0;
    animation: ensoFadeText 1s ease forwards 6s;
}
@keyframes ensoDraw {
    to { stroke-dashoffset: 0; }
}
@keyframes ensoBreathe {
    0%, 100% { stroke-dashoffset: 0; stroke-width: 2; opacity: 0.7; }
    50% { stroke-dashoffset: -20; stroke-width: 2.5; opacity: 1; }
}
@keyframes ensoRotate {
    from { transform-origin: center; transform: rotate(0deg); }
    to { transform-origin: center; transform: rotate(360deg); }
}
@keyframes ensoFadeText {
    to { opacity: 1; }
}
/* 圆相呼吸动画（点击后激活） */
.hero-enso-container.breathing .hero-enso-stroke {
    animation: ensoBreathing 16s ease-in-out infinite;
    stroke: rgba(197,61,67,0.5);
    stroke-width: 3;
}
.hero-enso-container.breathing .hero-enso-center-text {
    fill: rgba(247,243,238,0.7);
    animation: none;
    opacity: 1;
}
.hero-enso-container.breathing .hero-enso-bg-circle {
    stroke: rgba(197,61,67,0.06);
}
@keyframes ensoBreathing {
    0%   { stroke-dashoffset: 100; stroke-width: 2; opacity: 0.4; } /* 吸气开始 */
    25%  { stroke-dashoffset: -30; stroke-width: 3; opacity: 1; }    /* 吸气完成 */
    50%  { stroke-dashoffset: -30; stroke-width: 3; opacity: 1; }    /* 停息 */
    75%  { stroke-dashoffset: 100; stroke-width: 2; opacity: 0.6; }  /* 呼气 */
    100% { stroke-dashoffset: 100; stroke-width: 2; opacity: 0.4; }  /* 完成 */
}

/* ═══════════════════════════════════════════════════
   呼吸波纹 · 交互式呼吸引导增强 (2026-04-11 战略迭代)
   圆相点击后产生涟漪扩散 + 呼吸阶段色彩变换
   ═══════════════════════════════════════════════════ */
/* 呼吸涟漪容器 */
.enso-ripple-container {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 320px; height: 320px;
    pointer-events: none;
    z-index: 0;
}
.enso-ripple {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    border: 1px solid rgba(197,61,67,0.3);
    opacity: 0;
    pointer-events: none;
}
.hero-enso-container.breathing .enso-ripple {
    animation: ensoRippleExpand 4s ease-out infinite;
}
.hero-enso-container.breathing .enso-ripple:nth-child(2) {
    animation-delay: 1s;
}
.hero-enso-container.breathing .enso-ripple:nth-child(3) {
    animation-delay: 2s;
}
.hero-enso-container.breathing .enso-ripple:nth-child(4) {
    animation-delay: 3s;
}
@keyframes ensoRippleExpand {
    0% {
        width: 100px; height: 100px;
        opacity: 0.4;
        border-color: rgba(197,61,67,0.4);
    }
    50% {
        opacity: 0.2;
        border-color: rgba(197,61,67,0.2);
    }
    100% {
        width: 500px; height: 500px;
        opacity: 0;
        border-color: rgba(197,61,67,0);
    }
}
/* 呼吸阶段色彩 */
.hero-enso-container.breathing.phase-inhale .hero-enso-stroke {
    stroke: rgba(255,183,77,0.6);
    filter: drop-shadow(0 0 15px rgba(255,183,77,0.2));
}
.hero-enso-container.breathing.phase-hold .hero-enso-stroke {
    stroke: rgba(184,134,11,0.7);
    filter: drop-shadow(0 0 20px rgba(184,134,11,0.3));
}
.hero-enso-container.breathing.phase-exhale .hero-enso-stroke {
    stroke: rgba(197,61,67,0.5);
    filter: drop-shadow(0 0 15px rgba(197,61,67,0.2));
}
.hero-enso-container.breathing.phase-rest .hero-enso-stroke {
    stroke: rgba(247,243,238,0.35);
    filter: drop-shadow(0 0 10px rgba(247,243,238,0.1));
}
/* 呼吸进度环 */
.enso-progress-ring {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 340px; height: 340px;
    pointer-events: none;
    z-index: 0;
    opacity: 0;
    transition: opacity 0.6s ease;
}
.hero-enso-container.breathing .enso-progress-ring {
    opacity: 1;
}
.enso-progress-ring circle {
    fill: none;
    stroke-linecap: round;
}
.enso-progress-bg {
    stroke: rgba(247,243,238,0.05);
    stroke-width: 1;
}
.enso-progress-fill {
    stroke: rgba(197,61,67,0.4);
    stroke-width: 2;
    stroke-dasharray: 1005;
    stroke-dashoffset: 1005;
    transform: rotate(-90deg);
    transform-origin: center;
    transition: stroke-dashoffset 0.3s linear;
}
/* 呼吸次数计数器 */
.enso-breath-count {
    position: absolute;
    bottom: -55px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 8px;
    opacity: 0;
    transition: opacity 0.5s ease;
}
.hero-enso-container.breathing .enso-breath-count {
    opacity: 1;
}
.enso-breath-dot {
    width: 6px; height: 6px;
    border-radius: 50%;
    background: rgba(247,243,238,0.15);
    transition: all 0.4s ease;
}
.enso-breath-dot.active {
    background: rgba(197,61,67,0.6);
    box-shadow: 0 0 6px rgba(197,61,67,0.3);
}
.enso-breath-dot.completed {
    background: rgba(184,134,11,0.5);
}

@keyframes slowZoom {
    from { transform: scale(1); }
    to { transform: scale(1.08); }
}

/* ═══════════════════════════════════════════════════
   禅境时钟 · 时辰感知动态背景 (2026-04-11 战略迭代)
   根据一天中的时辰，hero 区呈现不同的禅境氛围
   ═══════════════════════════════════════════════════ */
/* 黎明 · 天将明 (5-7时) */
.hero[data-time-phase="dawn"] .hero-bg {
    background:
        radial-gradient(ellipse at 30% 90%, rgba(255,183,77,0.18) 0%, transparent 50%),
        radial-gradient(ellipse at 70% 70%, rgba(255,138,101,0.12) 0%, transparent 40%),
        radial-gradient(ellipse at 50% 50%, rgba(139,90,43,0.08) 0%, transparent 60%),
        linear-gradient(170deg, #5a4a3a 0%, #4a3f32 25%, #3d3630 50%, #2d2b28 75%, #1a1815 100%);
    animation: slowZoom 25s infinite alternate, dawnGlow 12s ease-in-out infinite;
}
@keyframes dawnGlow {
    0%, 100% { filter: brightness(1) saturate(1); }
    50% { filter: brightness(1.08) saturate(1.1); }
}
.hero[data-time-phase="dawn"] .hero-bg::before {
    background: radial-gradient(circle, rgba(255,183,77,0.15) 0%, rgba(255,160,100,0.05) 40%, transparent 70%);
    animation: breatheWave 10s ease-in-out infinite;
}
.hero[data-time-phase="dawn"] .hero-bg::after {
    background: radial-gradient(circle, rgba(255,138,101,0.12) 0%, rgba(255,120,80,0.03) 35%, transparent 65%);
    animation: breatheWave 10s ease-in-out infinite 3s;
}
/* 晨光 · 万物始动 (7-11时) */
.hero[data-time-phase="morning"] .hero-bg {
    background:
        radial-gradient(ellipse at 75% 20%, rgba(255,224,130,0.15) 0%, transparent 45%),
        radial-gradient(ellipse at 20% 60%, rgba(139,90,43,0.1) 0%, transparent 50%),
        radial-gradient(ellipse at 60% 80%, rgba(184,134,11,0.06) 0%, transparent 40%),
        linear-gradient(160deg, #524a3e 0%, #453d34 30%, #3a342c 55%, #2a2520 80%, #1a1815 100%);
    animation: slowZoom 22s infinite alternate;
}
.hero[data-time-phase="morning"] .hero-bg::before {
    background: radial-gradient(circle, rgba(255,224,130,0.12) 0%, rgba(255,200,100,0.04) 40%, transparent 70%);
    animation: breatheWave 9s ease-in-out infinite;
}
.hero[data-time-phase="morning"] .hero-bg::after {
    background: radial-gradient(circle, rgba(184,134,11,0.1) 0%, rgba(184,134,11,0.03) 35%, transparent 65%);
    animation: breatheWave 9s ease-in-out infinite 2.5s;
}
/* 午后 · 日光正盛 (11-17时) */
.hero[data-time-phase="afternoon"] .hero-bg {
    background:
        radial-gradient(ellipse at 80% 30%, rgba(184,134,11,0.12) 0%, transparent 45%),
        radial-gradient(ellipse at 20% 50%, rgba(139,90,43,0.08) 0%, transparent 50%),
        radial-gradient(ellipse at 50% 80%, rgba(45,43,40,0.04) 0%, transparent 60%),
        linear-gradient(160deg, #4a4238 0%, #3d3630 30%, #2d2b28 60%, #1a1815 100%);
    animation: slowZoom 20s infinite alternate;
}
/* 日暮 · 归于寂静 (17-20时) */
.hero[data-time-phase="evening"] .hero-bg {
    background:
        radial-gradient(ellipse at 15% 50%, rgba(197,61,67,0.18) 0%, transparent 45%),
        radial-gradient(ellipse at 70% 30%, rgba(180,100,50,0.12) 0%, transparent 40%),
        radial-gradient(ellipse at 50% 80%, rgba(139,69,19,0.08) 0%, transparent 50%),
        linear-gradient(150deg, #4a3838 0%, #3d3030 25%, #332a28 50%, #261e1c 75%, #1a1515 100%);
    animation: slowZoom 24s infinite alternate, eveningGlow 15s ease-in-out infinite;
}
@keyframes eveningGlow {
    0%, 100% { filter: brightness(1) saturate(1); }
    50% { filter: brightness(1.05) saturate(1.15); }
}
.hero[data-time-phase="evening"] .hero-bg::before {
    background: radial-gradient(circle, rgba(197,61,67,0.15) 0%, rgba(180,80,50,0.05) 40%, transparent 70%);
    animation: breatheWave 11s ease-in-out infinite;
}
.hero[data-time-phase="evening"] .hero-bg::after {
    background: radial-gradient(circle, rgba(180,100,50,0.12) 0%, rgba(160,80,30,0.03) 35%, transparent 65%);
    animation: breatheWave 11s ease-in-out infinite 3s;
}
/* 夜深 · 万籁俱寂 (21-5时) */
.hero[data-time-phase="night"] .hero-bg {
    background:
        radial-gradient(ellipse at 30% 20%, rgba(100,120,180,0.08) 0%, transparent 40%),
        radial-gradient(ellipse at 70% 70%, rgba(80,90,140,0.06) 0%, transparent 35%),
        radial-gradient(ellipse at 50% 50%, rgba(40,40,60,0.1) 0%, transparent 60%),
        linear-gradient(170deg, #2a2a35 0%, #222230 25%, #1c1c28 50%, #151520 75%, #0e0e18 100%);
    animation: slowZoom 28s infinite alternate;
}
.hero[data-time-phase="night"] .hero-bg::before {
    background: radial-gradient(circle, rgba(100,120,180,0.1) 0%, rgba(80,100,160,0.03) 40%, transparent 70%);
    animation: breatheWave 12s ease-in-out infinite;
}
.hero[data-time-phase="night"] .hero-bg::after {
    background: radial-gradient(circle, rgba(80,90,140,0.08) 0%, rgba(60,70,120,0.02) 35%, transparent 65%);
    animation: breatheWave 12s ease-in-out infinite 4s;
}
/* 夜间星尘效果 */
.hero[data-time-phase="night"] .hero-bg::before {
    background:
        radial-gradient(circle, rgba(100,120,180,0.1) 0%, rgba(80,100,160,0.03) 40%, transparent 70%),
        radial-gradient(1px 1px at 10% 20%, rgba(200,210,240,0.4) 0%, transparent 100%),
        radial-gradient(1px 1px at 25% 45%, rgba(200,210,240,0.3) 0%, transparent 100%),
        radial-gradient(1px 1px at 40% 15%, rgba(200,210,240,0.35) 0%, transparent 100%),
        radial-gradient(1px 1px at 55% 60%, rgba(200,210,240,0.25) 0%, transparent 100%),
        radial-gradient(1px 1px at 70% 35%, rgba(200,210,240,0.4) 0%, transparent 100%),
        radial-gradient(1px 1px at 85% 55%, rgba(200,210,240,0.3) 0%, transparent 100%),
        radial-gradient(1.5px 1.5px at 15% 70%, rgba(220,225,250,0.5) 0%, transparent 100%),
        radial-gradient(1.5px 1.5px at 60% 25%, rgba(220,225,250,0.45) 0%, transparent 100%),
        radial-gradient(1px 1px at 90% 80%, rgba(200,210,240,0.35) 0%, transparent 100%);
}
/* 时间徽章样式 */
.hero-time-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 20px;
    border-radius: 40px;
    background: rgba(247,243,238,0.08);
    border: 1px solid rgba(247,243,238,0.1);
    color: rgba(247,243,238,0.6);
    font-size: 12px;
    letter-spacing: 3px;
    margin-bottom: 24px;
    animation: fadeIn 1s forwards 2.5s;
    opacity: 0;
    z-index: 2;
    position: relative;
    backdrop-filter: blur(6px);
    transition: all 0.6s ease;
}
.hero-time-badge:hover {
    background: rgba(247,243,238,0.12);
    border-color: rgba(247,243,238,0.18);
    color: rgba(247,243,238,0.8);
}
.hero-time-badge .time-char {
    font-size: 16px;
    font-weight: 600;
    color: var(--accent-gold);
    opacity: 0.8;
}

/* 修复：同时覆盖 h1 和 h2，确保英雄区标题正确渲染 */
.hero h1, .hero h2 {
    font-size: 54px;
    font-weight: 300;
    letter-spacing: 6px;
    line-height: 1.65;
    margin-bottom: 20px;
    animation: fadeInSlide 1s forwards 0.5s;
    opacity: 0;
    color: rgba(247, 243, 238, 0.95);
    text-shadow: 0 2px 40px rgba(0, 0, 0, 0.3), 0 1px 20px rgba(0, 0, 0, 0.15);
}
.hero .author { font-size: 16px; color: rgba(247,243,238,0.6); letter-spacing: 3px; animation: fadeIn 1s forwards 1s; opacity: 0; }
.hero-divider { width: 40px; height: 1px; background-color: rgba(197,61,67,0.6); margin: 28px auto; }
.hero .tagline {
    font-size: 14px;
    letter-spacing: 4px;
    color: var(--text-tertiary);
    animation: fadeIn 1s forwards 1.2s;
    opacity: 0;
    max-width: 560px;
    line-height: 2;
}
.hero .site-intro {
    font-size: 15px;
    color: rgba(247,243,238,0.7);
    letter-spacing: 1px;
    line-height: 1.9;
    max-width: 480px;
    margin: 20px auto 0;
    animation: fadeIn 1s forwards 1.5s;
    opacity: 0;
}
.hero-ctas {
    display: flex;
    gap: 20px;
    justify-content: center;
    margin-top: 40px;
    animation: fadeIn 1s forwards 1.8s;
    opacity: 0;
    flex-wrap: wrap;
}
.hero-cta {
    display: inline-block;
    padding: 13px 40px;
    border: 1px solid rgba(247, 243, 238, 0.25);
    color: rgba(247, 243, 238, 0.85);
    text-decoration: none;
    font-size: 13px;
    letter-spacing: 4px;
    transition: var(--transition);
    border-radius: 1px;
    background: rgba(0,0,0,0.1);
    backdrop-filter: blur(4px);
}
.hero-cta:hover { background-color: var(--accent-red); border-color: var(--accent-red); color: white; box-shadow: 0 4px 20px rgba(197,61,67,0.35); }
.hero-cta.primary { background-color: var(--accent-red); border-color: var(--accent-red); color: white; box-shadow: 0 4px 24px rgba(197,61,67,0.3); }
.hero-cta.primary:hover { background-color: #a83035; border-color: #a83035; box-shadow: 0 6px 28px rgba(197,61,67,0.45); transform: translateY(-1px); }

/* ── 通用区块 ── */
section {
    padding: 96px 120px;
    width: 100%;
    scroll-margin-top: 76px;
}
/* 增强：主要区块之间增加视觉分隔 */
section + section {
    margin-top: 0;
}
/* 增强：特定区块增加额外间距 */
.daily-quote-section + .masters-section,
.masters-section + .lineage-section,
.lineage-section + .koans-section {
    padding-top: 120px;
}
.section-label { font-size: 11px; color: var(--accent-red); letter-spacing: 7px; text-transform: uppercase; margin-bottom: 18px; display: block; text-align: center; }
.section-title { font-size: 34px; text-align: center; margin-bottom: 18px; font-weight: 400; letter-spacing: 3px; }
.section-desc { color: var(--text-secondary); text-align: center; max-width: 640px; margin: 0 auto 36px; font-size: 15px; line-height: 2.1; }


/* ── 滚动引导增强 (2026-04-08 迭代) ── */
.scroll-indicator {
    animation: fadeIn 1s forwards 2.5s;
    opacity: 0;
    cursor: pointer;
    padding: 12px 20px;
    transition: opacity 0.3s ease;
}
.scroll-indicator:hover span {
    color: var(--accent-red);
    letter-spacing: 5px;
}
.scroll-indicator:hover .scroll-arrow {
    border-color: var(--accent-red);
    transform: translateY(4px);
}
.scroll-indicator span {
    font-size: 11px;
    color: rgba(247,243,238,0.4);
    letter-spacing: 4px;
    transition: all 0.3s ease;
}
.scroll-arrow {
    width: 16px;
    height: 16px;
    border-right: 1px solid rgba(247,243,238,0.3);
    border-bottom: 1px solid rgba(247,243,238,0.3);
    transform: rotate(45deg) translateY(-2px);
    margin: 12px auto 0;
    animation: scrollBounce 2s ease-in-out infinite;
    transition: all 0.3s ease;
}
@keyframes scrollBounce {
    0%, 100% { transform: rotate(45deg) translateY(-2px); }
    50% { transform: rotate(45deg) translateY(4px); }
}

/* ── 大师卡片 ── */
.masters-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin-top: 48px; }
.master-card {
    background-color: var(--white);
    padding: 48px 32px 40px;
    text-align: center;
    border-radius: 4px;
    box-shadow: var(--card-shadow);
    transition: var(--transition);
    border: 1px solid rgba(0, 0, 0, 0.03);
    text-decoration: none;
    display: block;
}
.master-card { position: relative; overflow: hidden; }
.master-card::before { content: ''; position: absolute; left: 0; top: 0; width: 3px; height: 100%; background: var(--accent-red); transform: scaleY(0); transform-origin: bottom; transition: transform 0.4s cubic-bezier(0.4,0,0.2,1); }
.master-card:hover { transform: translateY(-6px); box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1); background-color: #fdfbf8; }
.master-card:hover::before { transform: scaleY(1); }
.master-icon {
    width: 72px; height: 72px;
    margin: 0 auto 24px;
    border-radius: 50%;
    background-color: #fdfaf5;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
    border: 1px solid rgba(184, 134, 11, 0.15);
}
.master-icon img { width: 100%; height: 100%; object-fit: cover; }
.master-card h3 { margin-bottom: 12px; font-size: 19px; color: var(--text-primary); font-weight: 600; letter-spacing: 2px; }
.master-card p { font-size: 13.5px; color: var(--text-secondary); margin-bottom: 12px; line-height: 1.9; }
.master-card .period { font-size: 11px; color: var(--accent-gold); letter-spacing: 2px; display: block; margin-bottom: 8px; }
.master-card .read-more { font-size: 12px; color: var(--accent-red); letter-spacing: 2px; display: inline-block; margin-top: 4px; }
.master-signature {
    font-size: 14px;
    color: var(--accent-gold);
    letter-spacing: 1.5px;
    line-height: 1.8;
    display: block;
    margin-bottom: 16px;
    padding: 12px 16px;
    border-left: 3px solid rgba(184,134,11,0.4);
    text-align: left;
    background: rgba(184,134,11,0.05);
    border-radius: 0 2px 2px 0;
    font-style: italic;
    opacity: 0.95;
}

/* ── 每日禅语 ── */
.daily-quote-section {
    background: var(--section-alt-bg);
    padding: 52px 120px;
    text-align: center;
    scroll-margin-top: 76px;
}
.quote-box {
    max-width: 760px;
    margin: 0 auto;
    position: relative;
    padding: 52px 64px;
    border: 1px solid rgba(184, 134, 11, 0.22);
    background: rgba(255,255,255,0.7);
    border-radius: 2px;
    box-shadow: 0 16px 48px rgba(0,0,0,0.07), 0 2px 8px rgba(184,134,11,0.05);
}
.quote-mark-top {
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 52px;
    color: var(--accent-gold);
    opacity: 0.25;
    font-family: Georgia, serif;
    line-height: 1;
}
#zen-quote-text {
    font-size: 24px;
    font-weight: 300;
    letter-spacing: 3px;
    line-height: 2.1;
    color: var(--text-primary);
    display: block;
    margin-bottom: 20px;
}
#zen-quote-author {
    font-size: 13px;
    color: var(--text-secondary);
    letter-spacing: 4px;
    display: block;
    margin-bottom: 8px;
}
#zen-quote-source {
    font-size: 12px;
    color: var(--text-tertiary);
    letter-spacing: 2px;
    display: block;
    margin-bottom: 20px;
}
.quote-source {
    font-style: italic;
}
.quote-note {
    font-size: 12px;
    color: var(--text-tertiary);
    letter-spacing: 2px;
    line-height: 2;
    margin-top: 8px;
}
.shuffle-btn {
    display: inline-block;
    margin-top: 24px;
    padding: 9px 28px;
    border: 1px solid rgba(184, 134, 11, 0.4);
    background: transparent;
    color: var(--accent-gold);
    font-family: var(--serif);
    font-size: 12px;
    letter-spacing: 3px;
    cursor: pointer;
    transition: var(--transition);
    border-radius: 1px;
}
.shuffle-btn:hover { background: var(--accent-gold); color: white; }

/* ── 图文分栏 ── */
.split-section { display: flex; align-items: center; gap: 80px; scroll-margin-top: 76px; }
.split-section.alt { background-color: var(--section-alt-bg); }
.split-section.reverse { flex-direction: row-reverse; }
.split-image { flex: 1; height: 480px; border-radius: 4px; overflow: hidden; }
.split-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s ease; }
.split-image:hover img { transform: scale(1.04); }
.split-content { flex: 1; }
.split-content .section-label { text-align: left; }
.split-content .section-title { text-align: left; }
.split-content .section-desc { text-align: left; margin-left: 0; }

.list-items { list-style: none; margin-top: 28px; }
.list-items li { padding: 10px 0; display: flex; align-items: flex-start; gap: 12px; font-size: 14px; transition: var(--transition); border-bottom: 1px solid rgba(0,0,0,0.04); }
.list-items li:last-child { border-bottom: none; }
.list-items li a { text-decoration: none; color: var(--text-primary); line-height: 1.7; transition: var(--transition); }
.list-items li:hover a { color: var(--accent-red); }
.list-items li::before { content: '◇'; color: var(--accent-gold); flex-shrink: 0; margin-top: 2px; font-size: 10px; }
.list-desc { font-size: 12px; color: var(--text-tertiary); letter-spacing: 1px; display: block; margin-top: 3px; }

.section-divider { width: 32px; height: 1px; background-color: var(--accent-red); margin: 28px 0; }














/* ── 页脚 ── */
footer {
    background-color: #1e1c19;
    color: var(--bg-color);
    padding: 52px 120px 40px;
    text-align: center;
}
.footer-nav {
    display: flex;
    justify-content: center;
    gap: 60px;
    margin-bottom: 60px;
    padding-bottom: 48px;
    border-bottom: 1px solid rgba(247, 243, 238, 0.08);
    flex-wrap: wrap;
}
.footer-nav-group h4 {
    font-size: 11px;
    letter-spacing: 4px;
    color: var(--accent-gold);
    margin-bottom: 16px;
    text-transform: uppercase;
    font-weight: 400;
}
.footer-nav-group ul { list-style: none; }
.footer-nav-group ul li { margin-bottom: 10px; }
.footer-nav-group ul li a {
    text-decoration: none;
    color: rgba(247, 243, 238, 0.45);
    font-size: 13px;
    letter-spacing: 1px;
    transition: var(--transition);
}
.footer-nav-group ul li a:hover { color: rgba(247, 243, 238, 0.85); }
.footer-divider { width: 32px; height: 1px; background-color: var(--accent-red); margin: 0 auto 24px; }
.footer-quote { font-size: 20px; font-weight: 400; letter-spacing: 5px; margin-bottom: 20px; color: rgba(247, 243, 238, 0.85); }
.footer-sub { font-size: 13px; color: rgba(247, 243, 238, 0.35); letter-spacing: 2px; margin-bottom: 40px; }
.footer-copy { font-size: 11px; color: rgba(247, 243, 238, 0.2); letter-spacing: 1px; }
.footer-counter { margin-top: 36px; padding-top: 28px; border-top: 1px solid rgba(247,243,238,0.06); }
.counter-label { font-size: 10px; letter-spacing: 5px; color: rgba(247, 243, 238, 0.2); display: block; margin-bottom: 10px; text-transform: uppercase; }
.counter-number { font-size: 28px; font-weight: 200; letter-spacing: 10px; color: rgba(247,243,238,0.4); display: block; font-variant-numeric: tabular-nums; }
.counter-milestone { font-size: 11px; color: rgba(247, 243, 238, 0.2); margin-top: 8px; letter-spacing: 2px; display: block; }

/* ── 移动端菜单 ── */
.menu-toggle { display: none; flex-direction: column; gap: 5px; cursor: pointer; padding: 5px; background: none; border: none; }
.menu-toggle span { display: block; width: 22px; height: 2px; background-color: var(--text-primary); transition: var(--transition); }
.mobile-nav-open .menu-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.mobile-nav-open .menu-toggle span:nth-child(2) { opacity: 0; }
.mobile-nav-open .menu-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.mobile-menu { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background: rgba(247,243,238,0.97); z-index: 9999; flex-direction: column; justify-content: center; align-items: center; gap: 36px; }
.mobile-menu a { font-size: 22px; letter-spacing: 6px; text-decoration: none; color: var(--text-primary); }
.mobile-menu a:hover { color: var(--accent-red); }
.mobile-menu-active .mobile-menu { display: flex; }
@media (max-width: 600px) {
    .menu-toggle { display: flex; }
    .zen-nav .nav-links { display: none; }
    .zen-nav { padding: 16px 20px; }
}

/* ── 返回顶部 ── */
.back-to-top { position: fixed; bottom: 40px; right: 40px; width: 44px; height: 44px; background-color: var(--accent-red); color: white; border: none; border-radius: 50%; cursor: pointer; font-size: 18px; display: none; align-items: center; justify-content: center; z-index: 1000; transition: var(--transition); box-shadow: 0 4px 15px rgba(197,61,67,0.3); }
.back-to-top:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(197,61,67,0.4); }
@media (max-width: 600px) { .back-to-top { bottom: 20px; right: 20px; } }

/* ── 动画关键帧 ── */
@keyframes fadeInSlide { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

/* ── 新增：禅意浮动动画 ── */
@keyframes zenFloat {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-8px); }
}
.zen-float {
    animation: zenFloat 4s ease-in-out infinite;
}

/* ── 新增：呼吸脉冲动画 ── */
@keyframes breathPulse {
    0%, 100% { opacity: 0.6; transform: scale(1); }
    50% { opacity: 1; transform: scale(1.02); }
}
.breath-pulse {
    animation: breathPulse 3s ease-in-out infinite;
}

/* ── 新增：墨迹扩散动画 ── */
@keyframes inkSpread {
    0% { transform: scale(0); opacity: 0; }
    100% { transform: scale(1); opacity: 1; }
}
.ink-spread {
    animation: inkSpread 1.2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}


/* ── 滚动指示器 ── */
.scroll-indicator {
    position: absolute;
    bottom: 36px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    opacity: 0;
    animation: fadeIn 1s forwards 3s;
    cursor: pointer;
    z-index: 1;
}
.scroll-indicator span { font-size: 10px; letter-spacing: 4px; color: var(--text-tertiary); }
.scroll-arrow {
    width: 18px;
    height: 18px;
    border-right: 1px solid var(--text-tertiary);
    border-bottom: 1px solid var(--text-tertiary);
    transform: rotate(45deg);
    animation: scrollBounce 1.8s ease-in-out infinite;
}
@keyframes scrollBounce {
    0%, 100% { transform: rotate(45deg) translate(0,0); opacity: 0.35; }
    50% { transform: rotate(45deg) translate(4px, 4px); opacity: 1; }
}

/* ── 每日日期标签 ── */
.daily-date-label {
    font-size: 11px;
    letter-spacing: 5px;
    color: var(--text-secondary);
    text-align: center;
    margin-bottom: 28px;
    opacity: 0.7;
}

/* ── 今日一问 ── */
.daily-question-box {
    max-width: 620px;
    margin: 36px auto 0;
    padding: 28px 40px;
    border-top: 1px solid rgba(184, 134, 11, 0.15);
    text-align: center;
}
.daily-q-label {
    font-size: 10px;
    color: var(--accent-gold);
    letter-spacing: 6px;
    text-transform: uppercase;
    display: block;
    margin-bottom: 16px;
    opacity: 0.8;
}
.daily-q-text {
    font-size: 20px;
    font-weight: 300;
    letter-spacing: 2px;
    line-height: 1.9;
    color: var(--text-primary);
    margin-bottom: 12px;
}
.daily-q-note {
    font-size: 11px;
    color: var(--text-tertiary);
    letter-spacing: 3px;
    opacity: 0.65;
}
/* 新增：答案输入区样式 */
.daily-q-textarea {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid rgba(184, 134, 11, 0.2);
    border-radius: 2px;
    background: rgba(255, 255, 255, 0.7);
    font-family: var(--serif);
    font-size: 13px;
    line-height: 1.8;
    color: var(--text-primary);
    resize: vertical;
    transition: all 0.3s;
}
.daily-q-textarea:focus {
    outline: none;
    border-color: var(--accent-gold);
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 2px 12px rgba(184, 134, 11, 0.1);
}
.daily-q-textarea::placeholder {
    color: var(--text-secondary);
    opacity: 0.5;
}
.daily-q-btn {
    padding: 6px 16px;
    font-size: 11px;
    letter-spacing: 2px;
    border: 1px solid rgba(184, 134, 11, 0.3);
    background: transparent;
    color: var(--accent-gold);
    font-family: var(--serif);
    border-radius: 1px;
    cursor: pointer;
    transition: all 0.3s;
}
.daily-q-btn:hover {
    background: var(--accent-gold);
    color: white;
    border-color: var(--accent-gold);
}
.daily-q-btn.clear {
    border-color: rgba(90, 85, 80, 0.2);
    color: var(--text-secondary);
}
.daily-q-btn.clear:hover {
    background: rgba(90, 85, 80, 0.08);
    color: var(--text-primary);
    border-color: rgba(90, 85, 80, 0.3);
}
.daily-q-status {
    display: block;
    font-size: 10px;
    color: var(--accent-gold);
    letter-spacing: 2px;
    margin-top: 8px;
    text-align: right;
}
.daily-q-toggle {
    display: inline-block;
    padding: 8px 20px;
    font-size: 11px;
    letter-spacing: 3px;
    color: var(--text-secondary);
    background: transparent;
    border: 1px solid rgba(184, 134, 11, 0.15);
    border-radius: 1px;
    cursor: pointer;
    font-family: var(--serif);
    transition: all 0.3s;
}
.daily-q-toggle:hover {
    color: var(--accent-gold);
    border-color: rgba(184, 134, 11, 0.4);
    background: rgba(184, 134, 11, 0.05);
}
@media (max-width: 600px) {
    .daily-question-box { padding: 24px 16px; }
    .daily-q-text { font-size: 17px; }
}

/* ── 禅语操作 ── */
.quote-actions { display: flex; gap: 12px; justify-content: center; margin-top: 20px; flex-wrap: wrap; }
.copy-btn {
    display: inline-block;
    padding: 8px 22px;
    border: 1px solid rgba(90, 85, 80, 0.2);
    background: transparent;
    color: var(--text-tertiary);
    font-family: var(--serif);
    font-size: 12px;
    letter-spacing: 3px;
    cursor: pointer;
    transition: var(--transition);
    border-radius: 1px;
}

/* ── 今日参究 ── */
.koan-today-section {
    background: linear-gradient(135deg, var(--section-alt-bg) 0%, rgba(255,255,255,0.95) 100%);
    padding: 72px 120px;
    position: relative;
    overflow: hidden;
    scroll-margin-top: 76px;
}
.koan-today-section::before {
    content: '參';
    position: absolute;
    font-size: 380px;
    color: rgba(255,255,255,0.02);
    font-family: var(--serif);
    right: -40px; top: 50%;
    transform: translateY(-50%);
    line-height: 1;
    pointer-events: none;
}
.koan-today-label {
    font-size: 10px;
    color: var(--accent-gold);
    letter-spacing: 7px;
    text-transform: uppercase;
    display: block;
    text-align: center;
    margin-bottom: 24px;
    opacity: 0.8;
}
.koan-today-title {
    font-size: 28px;
    font-weight: 300;
    letter-spacing: 5px;
    color: var(--text-primary);
    text-align: center;
    margin-bottom: 16px;
}
.koan-today-subtitle {
    font-size: 13px;
    color: rgba(247,243,238,0.4);
    letter-spacing: 2px;
    text-align: center;
    max-width: 520px;
    margin: 0 auto 40px;
    line-height: 2;
}
.koan-card {
    max-width: 720px;
    margin: 0 auto;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(247,243,238,0.08);
    border-radius: 4px;
    padding: 48px 56px;
    position: relative;
}
.koan-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 4px;
    height: 100%;
    background: linear-gradient(180deg, var(--accent-red) 0%, var(--accent-gold) 100%);
    border-radius: 4px 0 0 4px;
}
.koan-source-tag {
    font-size: 10px;
    color: var(--accent-gold);
    letter-spacing: 4px;
    display: inline-block;
    padding: 4px 12px;
    border: 1px solid rgba(184,134,11,0.3);
    border-radius: 2px;
    margin-bottom: 20px;
}
.koan-text {
    font-size: 22px;
    font-weight: 300;
    letter-spacing: 2px;
    line-height: 2.2;
    color: rgba(247,243,238,0.95);
    margin-bottom: 32px;
}
.koan-text em {
    color: var(--accent-red);
    font-style: normal;
    font-weight: 400;
}
.koan-guidance {
    font-size: 13px;
    color: rgba(247,243,238,0.5);
    letter-spacing: 1px;
    line-height: 2.1;
    padding-top: 24px;
    border-top: 1px solid rgba(247,243,238,0.06);
}
.koan-guidance-label {
    font-size: 10px;
    color: var(--accent-gold);
    letter-spacing: 4px;
    display: block;
    margin-bottom: 12px;
    text-transform: uppercase;
}
.koan-actions {
    display: flex;
    gap: 16px;
    justify-content: center;
    margin-top: 36px;
    flex-wrap: wrap;
}
.koan-btn {
    display: inline-block;
    padding: 11px 32px;
    border: 1px solid rgba(247,243,238,0.2);
    background: transparent;
    color: rgba(247,243,238,0.7);
    font-family: var(--serif);
    font-size: 12px;
    letter-spacing: 3px;
    cursor: pointer;
    transition: var(--transition);
    border-radius: 2px;
    text-decoration: none;
}
.koan-btn:hover {
    background: rgba(247,243,238,0.08);
    color: rgba(247,243,238,0.95);
    border-color: rgba(247,243,238,0.35);
}
.koan-btn.primary {
    background: var(--accent-red);
    border-color: var(--accent-red);
    color: white;
}
.koan-btn.primary:hover {
    background: #a83035;
    border-color: #a83035;
}
.koan-counter {
    text-align: center;
    margin-top: 32px;
    font-size: 11px;
    color: rgba(247,243,238,0.3);
    letter-spacing: 2px;
}
.koan-note-area {
    max-width: 720px;
    margin: 36px auto 0;
    padding: 28px 36px;
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(247,243,238,0.06);
    border-radius: 4px;
}
.koan-note-label {
    font-size: 10px;
    color: rgba(247,243,238,0.4);
    letter-spacing: 4px;
    display: block;
    margin-bottom: 16px;
}
.koan-note-textarea {
    width: 100%;
    min-height: 120px;
    background: rgba(0,0,0,0.2);
    border: 1px solid rgba(247,243,238,0.1);
    border-radius: 2px;
    padding: 16px;
    color: rgba(247,243,238,0.8);
    font-family: var(--serif);
    font-size: 13px;
    line-height: 2;
    resize: vertical;
    transition: var(--transition);
}
.koan-note-textarea:focus {
    outline: none;
    border-color: rgba(184,134,11,0.4);
    background: rgba(0,0,0,0.3);
}
.koan-note-actions {
    display: flex;
    gap: 12px;
    justify-content: flex-end;
    margin-top: 16px;
}
.koan-note-btn {
    padding: 8px 24px;
    font-size: 11px;
    letter-spacing: 2px;
    border: none;
    border-radius: 2px;
    cursor: pointer;
    transition: var(--transition);
    font-family: var(--serif);
}
.koan-note-btn.save {
    background: var(--accent-gold);
    color: white;
}
.koan-note-btn.save:hover { background: #9a7008; }
.koan-note-btn.clear {
    background: transparent;
    color: rgba(247,243,238,0.4);
    border: 1px solid rgba(247,243,238,0.15);
}
.koan-note-btn.clear:hover {
    color: rgba(247,243,238,0.7);
    border-color: rgba(247,243,238,0.3);
}
.koan-note-status {
    font-size: 10px;
    color: rgba(247,243,238,0.3);
    letter-spacing: 2px;
    margin-top: 12px;
    text-align: right;
}
@media (max-width: 1024px) {
    .koan-today-section { padding: 52px 40px; }
    .koan-card { padding: 36px 32px; }
    .koan-text { font-size: 19px; }
}
@media (max-width: 600px) {
    .koan-today-section { padding: 40px 20px; }
    .koan-card { padding: 28px 20px; }
    .koan-text { font-size: 17px; letter-spacing: 1px; }
    .koan-actions { flex-direction: column; }
    .koan-btn { width: 100%; text-align: center; }
}

/* ── 读者参学园地 ── */
.reader-garden-section {
    background: var(--white);
    padding: 72px 120px;
    scroll-margin-top: 76px;
}
.reader-garden-label {
    font-size: 10px;
    color: var(--accent-gold);
    letter-spacing: 6px;
    text-transform: uppercase;
    display: block;
    text-align: center;
    margin-bottom: 16px;
}
.reader-garden-title {
    font-size: 28px;
    font-weight: 300;
    letter-spacing: 4px;
    text-align: center;
    margin-bottom: 12px;
}
.reader-garden-desc {
    font-size: 13px;
    color: var(--text-secondary);
    text-align: center;
    max-width: 560px;
    margin: 0 auto 48px;
    line-height: 2.1;
}
.reader-garden-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    max-width: 1080px;
    margin: 0 auto;
}
.reader-card {
    padding: 32px 28px;
    background: var(--bg-color);
    border: 1px solid rgba(0,0,0,0.05);
    border-radius: 3px;
    transition: var(--transition);
    position: relative;
}
.reader-card::before {
    content: '◦';
    position: absolute;
    top: 20px;
    right: 22px;
    font-size: 18px;
    color: var(--accent-gold);
    opacity: 0.3;
}
.reader-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 36px rgba(0,0,0,0.06);
    border-color: rgba(184,134,11,0.15);
}
.reader-card-text {
    font-size: 14px;
    line-height: 2.1;
    color: var(--text-primary);
    margin-bottom: 20px;
    font-style: italic;
}
.reader-card-text em {
    color: var(--accent-red);
    font-style: normal;
}
.reader-card-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-top: 16px;
    border-top: 1px solid rgba(0,0,0,0.04);
}
.reader-card-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--accent-gold);
    opacity: 0.4;
}
.reader-card-date {
    font-size: 10px;
    color: var(--text-secondary);
    letter-spacing: 2px;
}
.reader-card-resonance {
    margin-left: auto;
    font-size: 10px;
    color: var(--text-tertiary);
    letter-spacing: 1px;
}
.reader-garden-cta {
    text-align: center;
    margin-top: 48px;
}
.reader-garden-btn {
    display: inline-block;
    padding: 12px 36px;
    border: 1px solid rgba(45,43,40,0.2);
    background: transparent;
    color: var(--text-tertiary);
    font-family: var(--serif);
    font-size: 12px;
    letter-spacing: 4px;
    text-decoration: none;
    transition: var(--transition);
    border-radius: 2px;
}
.reader-garden-btn:hover {
    border-color: var(--accent-red);
    color: var(--accent-red);
}
@media (max-width: 1024px) {
    .reader-garden-section { padding: 52px 40px; }
    .reader-garden-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    .reader-garden-section { padding: 40px 20px; }
    .reader-garden-grid { grid-template-columns: 1fr; }
}

/* ── 禅门日历悬浮组件 ── */
.zen-calendar-float {
    position: fixed;
    bottom: 160px;
    right: 40px;
    z-index: 9998;
    transition: var(--transition);
}
.zen-calendar-float:hover {
    transform: translateY(-2px);
}
.zen-calendar-btn {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--accent-gold) 0%, #9a7008 100%);
    border: 2px solid rgba(255,255,255,0.2);
    color: white;
    font-family: var(--serif);
    font-size: 11px;
    letter-spacing: 2px;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 20px rgba(184,134,11,0.3);
    transition: var(--transition);
}
.zen-calendar-btn:hover {
    box-shadow: 0 6px 28px rgba(184,134,11,0.45);
    transform: scale(1.05);
}
.zen-calendar-day {
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    margin-bottom: 2px;
}
.zen-calendar-label {
    font-size: 8px;
    letter-spacing: 1px;
    opacity: 0.9;
}
.zen-calendar-panel {
    position: absolute;
    bottom: 64px;
    right: 0;
    width: 280px;
    background: var(--bg-color);
    border: 1px solid rgba(184,134,11,0.2);
    border-radius: 4px;
    padding: 24px;
    box-shadow: 0 8px 40px rgba(0,0,0,0.12);
    display: none;
    animation: fadeIn 0.3s ease;
}
.zen-calendar-float.active .zen-calendar-panel {
    display: block;
}
.zen-calendar-panel-title {
    font-size: 11px;
    color: var(--accent-gold);
    letter-spacing: 4px;
    text-transform: uppercase;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(184,134,11,0.15);
}
.zen-calendar-panel-date {
    font-size: 13px;
    color: var(--text-primary);
    letter-spacing: 2px;
    margin-bottom: 8px;
}
.zen-calendar-panel-event {
    font-size: 12px;
    color: var(--text-secondary);
    line-height: 1.9;
    letter-spacing: 0.5px;
}
.zen-calendar-panel-event em {
    color: var(--accent-red);
    font-style: normal;
}
.zen-calendar-panel-link {
    display: inline-block;
    margin-top: 16px;
    font-size: 11px;
    color: var(--accent-red);
    letter-spacing: 2px;
    text-decoration: none;
    border-bottom: 1px solid rgba(197,61,67,0.2);
    padding-bottom: 2px;
    transition: var(--transition);
}
.zen-calendar-panel-link:hover {
    border-bottom-color: var(--accent-red);
}
@media (max-width: 600px) {
    .zen-calendar-float { bottom: 140px; right: 20px; }
    .zen-calendar-btn { width: 46px; height: 46px; }
    .zen-calendar-panel { width: 240px; right: -20px; }
}
.copy-btn:hover { background: rgba(90, 85, 80, 0.08); color: var(--text-primary); }
.save-btn {
    display: inline-block;
    padding: 8px 22px;
    border: 1px solid rgba(197, 61, 67, 0.4);
    background: transparent;
    color: var(--accent-red);
    font-family: var(--serif);
    font-size: 12px;
    letter-spacing: 3px;
    cursor: pointer;
    transition: var(--transition);
    border-radius: 1px;
}
.save-btn:hover { background: var(--accent-red); color: white; }
.copy-btn:hover { background: rgba(0,0,0,0.03); color: var(--text-primary); }
.copy-btn.copied { color: var(--accent-gold); border-color: rgba(184,134,11,0.35); }

/* ── 经典原句 ── */
.classic-quote {
    font-size: 11px;
    color: var(--accent-gold);
    letter-spacing: 1px;
    display: block;
    margin-top: 5px;
    opacity: 0.8;
    font-style: italic;
}

/* ── 法脉传承 ── */
.lineage-section {
    background: var(--white);
    padding: 96px 120px;
    scroll-margin-top: 76px;
    text-align: center;
}
.lineage-flow { margin-top: 48px; }
.lineage-patriarchs {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-wrap: nowrap;
    margin-bottom: 52px;
    overflow-x: auto;
    padding-bottom: 4px;
}
.lineage-node { text-align: center; flex-shrink: 0; }
.lineage-name {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 2px;
    color: var(--text-primary);
    display: block;
    padding: 10px 14px;
    border: 1px solid rgba(184, 134, 11, 0.25);
    background: var(--bg-color);
    border-radius: 2px;
    white-space: nowrap;
    transition: var(--transition);
}
.lineage-node:hover .lineage-name { border-color: rgba(184,134,11,0.55); background: #fdfaf5; }
.lineage-num {
    font-size: 10px;
    color: var(--accent-gold);
    letter-spacing: 2px;
    display: block;
    margin-top: 7px;
    opacity: 0.75;
}
.lineage-arrow {
    font-size: 14px;
    color: rgba(184, 134, 11, 0.35);
    padding: 0 10px;
    flex-shrink: 0;
    margin-top: 11px;
    align-self: flex-start;
}
.lineage-sep {
    font-size: 11px;
    letter-spacing: 5px;
    color: var(--accent-red);
    display: block;
    margin-bottom: 24px;
    opacity: 0.75;
}
.lineage-schools {
    display: flex;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}
.lineage-school {
    text-align: center;
    padding: 22px 28px;
    border: 1px solid rgba(0,0,0,0.06);
    border-radius: 2px;
    background: var(--bg-color);
    min-width: 140px;
    transition: var(--transition);
}
.lineage-school:hover {
    border-color: rgba(197, 61, 67, 0.2);
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.05);
}
.school-name { font-size: 16px; font-weight: 600; letter-spacing: 2px; color: var(--text-primary); display: block; margin-bottom: 8px; }
.school-founder { font-size: 11px; color: var(--text-secondary); letter-spacing: 1px; display: block; }
@media (max-width: 1024px) {
    .lineage-section { padding: 52px 40px; }
    .lineage-patriarchs { flex-wrap: wrap; }
    .lineage-arrow { display: none; }
    .lineage-node { margin: 5px 4px; }
}
@media (max-width: 600px) {
    .lineage-section { padding: 40px 20px; }
    .lineage-schools { gap: 10px; }
    .lineage-school { min-width: 100px; padding: 14px 14px; }
}
















@media (max-width: 1024px) {   }
@media (max-width: 600px) {
    
    
    
}


/* ── 学习路径选择 ── */
.learning-paths-section {
    background: var(--white);
    padding: 80px 120px;
    scroll-margin-top: 76px;
}
.paths-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    margin-top: 48px;
}
.path-card {
    display: block;
    padding: 40px 28px;
    background: var(--bg-color);
    border: 1px solid rgba(0,0,0,0.05);
    border-radius: 3px;
    transition: var(--transition);
    text-decoration: none;
    position: relative;
    overflow: hidden;
}
.path-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 3px;
    height: 100%;
    background: var(--accent-gold);
    transform: scaleY(0);
    transform-origin: bottom;
    transition: transform 0.4s cubic-bezier(0.4,0,0.2,1);
}
.path-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 40px rgba(0,0,0,0.08);
    background: #fdfaf5;
}
.path-card:hover::before {
    transform: scaleY(1);
}
.path-icon {
    font-size: 36px;
    display: block;
    margin-bottom: 20px;
    opacity: 0.8;
}
.path-title {
    font-size: 17px;
    font-weight: 600;
    letter-spacing: 2px;
    color: var(--text-primary);
    margin-bottom: 12px;
    display: block;
}
.path-desc {
    font-size: 13px;
    color: var(--text-secondary);
    line-height: 1.9;
    margin-bottom: 20px;
    display: block;
}
.path-link {
    font-size: 12px;
    color: var(--accent-red);
    letter-spacing: 2px;
    display: inline-block;
    transition: var(--transition);
}
.path-card:hover .path-link {
    color: var(--accent-gold);
    letter-spacing: 3px;
}
@media (max-width: 1024px) {
    .learning-paths-section { padding: 60px 40px; }
    .paths-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    .learning-paths-section { padding: 40px 20px; }
    .paths-grid { grid-template-columns: 1fr; }
    .path-card { padding: 32px 24px; }
}

/* ── 响应式 ── */
@media (max-width: 1024px) {

/* ── 随机发现区 ── */
.random-discovery-section {
    background: linear-gradient(135deg, var(--text-primary) 0%, #2a2622 100%);
    padding: 80px 120px;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.random-discovery-section::before {
    content: '遇';
    position: absolute;
    font-size: 280px;
    color: rgba(255,255,255,0.02);
    font-family: var(--serif);
    right: -20px;
    top: 50%;
    transform: translateY(-50%);
    line-height: 1;
    pointer-events: none;
}
.random-discovery-section .section-label {
    color: var(--accent-gold);
}
.random-discovery-section .section-title {
    color: rgba(247,243,238,0.95);
}
.random-discovery-section .section-desc {
    color: rgba(247,243,238,0.6);
}
.discovery-actions {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
    margin-top: 48px;
}
.discovery-btn {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 32px 36px;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(247,243,238,0.1);
    border-radius: 4px;
    cursor: pointer;
    transition: var(--transition);
    min-width: 180px;
}
.discovery-btn:hover {
    background: rgba(255,255,255,0.08);
    border-color: rgba(247,243,238,0.25);
    transform: translateY(-4px);
}
.discovery-icon {
    font-size: 36px;
    display: block;
    opacity: 0.9;
}
.discovery-text {
    font-size: 14px;
    color: rgba(247,243,238,0.9);
    letter-spacing: 2px;
    font-weight: 400;
}
.discovery-hint {
    font-size: 11px;
    color: rgba(247,243,238,0.4);
    letter-spacing: 1px;
}
.discovery-result {
    margin-top: 48px;
    animation: fadeIn 0.5s ease;
}
.discovery-card {
    max-width: 640px;
    margin: 0 auto;
    padding: 40px;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(247,243,238,0.1);
    border-radius: 4px;
    text-align: left;
}
.discovery-card-title {
    font-size: 18px;
    color: var(--accent-gold);
    letter-spacing: 3px;
    display: block;
    margin-bottom: 16px;
}
.discovery-card-content {
    font-size: 16px;
    color: rgba(247,243,238,0.9);
    line-height: 2.1;
}
.discovery-card-link {
    display: inline-block;
    margin-top: 20px;
    padding: 10px 24px;
    background: var(--accent-red);
    color: white;
    text-decoration: none;
    font-size: 12px;
    letter-spacing: 2px;
    border-radius: 2px;
    transition: var(--transition);
}
.discovery-card-link:hover {
    background: #a83035;
}
@media (max-width: 1024px) {
    .random-discovery-section { padding: 60px 40px; }
    .discovery-actions { gap: 16px; }
    .discovery-btn { min-width: 150px; padding: 28px 24px; }
}
@media (max-width: 600px) {
    .random-discovery-section { padding: 40px 20px; }
    .discovery-btn { min-width: 100%; }
}

    .zen-nav { padding: 16px 40px; }
    section { padding: 52px 40px; }
    .daily-quote-section { padding: 40px 40px; }
    
    footer { padding: 60px 40px 48px; }
    .masters-grid { grid-template-columns: repeat(2, 1fr); }
    .split-section { flex-direction: column; gap: 40px; }
    .split-section.reverse { flex-direction: column; }
    .split-image { height: 340px; width: 100%; }
    
    .hero h1, .hero h2 { font-size: 38px; }
    .footer-nav { gap: 40px; }
    .quote-box { padding: 40px 32px; }
}
@media (max-width: 600px) {
    .zen-nav { padding: 14px 20px; }
    .zen-nav .nav-links { display: none; }
    .hero h1, .hero h2 { font-size: 28px; letter-spacing: 2px; }
    .hero .site-intro { font-size: 13px; }
    section { padding: 40px 20px; }
    .daily-quote-section { padding: 32px 20px; }
    
    footer { padding: 48px 20px 40px; }
    .masters-grid { grid-template-columns: 1fr; }
    #zen-quote-text { font-size: 18px; letter-spacing: 2px; }
    .footer-nav { flex-direction: column; gap: 32px; align-items: center; }
    .hero-ctas { flex-direction: column; align-items: center; }
    .quote-box { padding: 32px 20px; }
}

/* ── 英雄区网站描述符 ── */
.hero-descriptor {
    font-size: 10px;
    letter-spacing: 8px;
    color: var(--text-secondary);
    opacity: 0;
    animation: fadeIn 0.8s forwards 0.05s;
    margin-bottom: 22px;
    text-transform: uppercase;
    text-shadow: none;
}

/* ── 英雄区同行提示 ── */
.hero-companions {
    font-size: 11px;
    letter-spacing: 4px;
    color: var(--text-secondary);
    margin-top: 28px;
    opacity: 0;
    animation: fadeIn 1s forwards 2.2s;
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: center;
}
.hero-companions .dot { width: 4px; height: 4px; border-radius: 50%; background: var(--accent-gold); opacity: 0.55; display: inline-block; }

/* ── 连续访问提示条 ── */
.visit-streak-pill {
    display: none;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 20px;
    padding: 10px 24px;
    background: linear-gradient(135deg, rgba(184,134,11,0.08) 0%, rgba(197,61,67,0.08) 100%);
    border: 1px solid rgba(184,134,11,0.2);
    border-radius: 20px;
    font-size: 12px;
    letter-spacing: 2px;
    color: var(--text-secondary);
    animation: none;
}
.visit-streak-pill .streak-num {
    font-size: 18px;
    font-weight: 600;
    color: var(--accent-gold);
    letter-spacing: 3px;
    padding: 0 8px;
}
.visit-streak-pill:hover {
    border-color: rgba(184,134,11,0.4);
    background: linear-gradient(135deg, rgba(184,134,11,0.12) 0%, rgba(197,61,67,0.12) 100%);
}

/* ── 即刻禅体验按钮 ── */
.hero-zen-moment { margin-top: 32px; opacity: 0; animation: fadeIn 1s forwards 2.5s; }
.zen-moment-btn {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 18px 48px;
    background: linear-gradient(135deg, rgba(197,61,67,0.08) 0%, rgba(184,134,11,0.08) 100%);
    border: 1px solid rgba(184,134,11,0.25);
    border-radius: 3px;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.4,0,0.2,1);
    backdrop-filter: blur(4px);
}
.zen-moment-btn:hover {
    background: linear-gradient(135deg, rgba(197,61,67,0.15) 0%, rgba(184,134,11,0.15) 100%);
    border-color: rgba(184,134,11,0.4);
    transform: translateY(-2px);
    box-shadow: 0 8px 32px rgba(184,134,11,0.15);
}
.zen-moment-icon { font-size: 28px; color: var(--accent-gold); animation: zenPulse 3s ease-in-out infinite; }
@keyframes zenPulse { 0%,100% { opacity: 0.6; transform: scale(1); } 50% { opacity: 1; transform: scale(1.1); } }
.zen-moment-text { font-size: 15px; font-weight: 600; letter-spacing: 6px; color: var(--text-primary); }
.zen-moment-sub { font-size: 10px; letter-spacing: 3px; color: var(--text-secondary); }

/* ── 即刻禅体验模态框 ── */
.zen-moment-modal {
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(10,8,6,0.92);
    z-index: 100000;
    display: none;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    animation: fadeIn 0.5s ease;
}
.zen-moment-modal.active { display: flex; }
@keyframes zmBreath { 0%,100% { transform: scale(0.85); box-shadow: 0 0 0 0 rgba(184,134,11,0.15); } 50% { transform: scale(1.15); box-shadow: 0 0 0 24px rgba(184,134,11,0); } }

/* ── 禅语签抽取 ── */
.zen-luck-draw { margin-top: 40px; padding-top: 32px; border-top: 1px solid rgba(184,134,11,0.15); text-align: center; }
.zen-luck-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 32px;
    background: transparent;
    border: 1px solid rgba(184,134,11,0.3);
    color: var(--accent-gold);
    font-family: var(--serif);
    font-size: 12px;
    letter-spacing: 4px;
    cursor: pointer;
    border-radius: 2px;
    transition: all 0.4s ease;
}
.zen-luck-btn:hover { background: rgba(184,134,11,0.1); border-color: var(--accent-gold); transform: translateY(-2px); }
.zen-luck-icon { font-size: 18px; }
.zen-luck-result {
    display: none;
    margin-top: 32px;
    padding: 32px 40px;
    background: rgba(255,255,255,0.6);
    border: 1px solid rgba(184,134,11,0.25);
    border-radius: 3px;
    animation: fadeIn 0.5s ease;
}
.zen-luck-result.show { display: block; }
.zen-luck-glyph { font-size: 56px; font-weight: 200; color: var(--text-primary); opacity: 0.7; display: block; margin-bottom: 16px; }
.zen-luck-quote { font-size: 20px; font-weight: 300; letter-spacing: 3px; color: var(--text-primary); line-height: 1.8; display: block; margin-bottom: 12px; }
.zen-luck-source { font-size: 11px; letter-spacing: 3px; color: var(--text-secondary); display: block; }
.zen-luck-actions { display: flex; gap: 12px; justify-content: center; margin-top: 20px; flex-wrap: wrap; }
.zen-luck-action-btn {
    padding: 8px 20px;
    font-size: 11px;
    letter-spacing: 3px;
    border: 1px solid rgba(0,0,0,0.1);
    background: transparent;
    cursor: pointer;
    font-family: var(--serif);
    border-radius: 1px;
    transition: all 0.3s;
}
.zen-luck-action-btn:hover { border-color: var(--accent-red); color: var(--accent-red); }

@media (max-width: 600px) {
    .hero-zen-moment { margin-top: 24px; }
    .zen-moment-btn { padding: 14px 32px; }
    .zen-moment-text { font-size: 13px; letter-spacing: 4px; }
    .zm-instruction { font-size: 22px; }
    .zm-breath-circle { width: 120px; height: 120px; }
    .zm-close-btn { top: 20px; right: 20px; }
}

/* ── 公案参究 ── */
.koans-section {
    background: var(--white);
    padding: 96px 120px;
    scroll-margin-top: 76px;
}
.koans-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 48px;
}
.koan-card {
    border: 1px solid rgba(184, 134, 11, 0.18);
    border-radius: 3px;
    padding: 36px 28px;
    transition: var(--transition);
    cursor: pointer;
    position: relative;
    overflow: hidden;
    background: var(--bg-color);
}
.koan-card::after {
    content: '点击展开 →';
    position: absolute;
    bottom: 12px;
    right: 16px;
    font-size: 9px;
    color: var(--accent-red);
    letter-spacing: 2px;
    opacity: 0;
    transition: opacity 0.3s ease;
}
.koan-card:hover::after { opacity: 0.5; }
.koan-card.open::after { display: none; }
.koan-card:hover {
    border-color: rgba(197, 61, 67, 0.3);
    box-shadow: 0 12px 32px rgba(0,0,0,0.06);
    transform: translateY(-4px);
}
.koan-num {
    font-size: 10px;
    letter-spacing: 5px;
    color: var(--accent-gold);
    display: block;
    margin-bottom: 16px;
    opacity: 0.75;
}
.koan-question {
    font-size: 18px;
    font-weight: 400;
    letter-spacing: 2px;
    line-height: 1.8;
    color: var(--text-primary);
    margin-bottom: 12px;
}
.koan-source {
    font-size: 11px;
    color: var(--text-secondary);
    letter-spacing: 2px;
    margin-bottom: 20px;
    display: block;
}
.koan-toggle {
    font-size: 11px;
    color: var(--accent-red);
    letter-spacing: 3px;
    background: none;
    border: none;
    cursor: pointer;
    font-family: var(--serif);
    padding: 0;
    display: flex;
    align-items: center;
    gap: 6px;
    transition: var(--transition);
}
.koan-toggle:hover { opacity: 0.7; }
.koan-toggle .toggle-icon { font-size: 10px; transition: transform 0.3s ease; display: inline-block; }
.koan-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s cubic-bezier(0.4,0,0.2,1), opacity 0.4s ease, padding 0.4s ease;
    opacity: 0;
    border-top: 1px solid rgba(184,134,11,0.12);
    margin-top: 0;
    padding-top: 0;
}
.koan-card.open .koan-answer {
    max-height: 500px;
    opacity: 1;
    margin-top: 20px;
    padding-top: 20px;
}
.koan-card.open .toggle-icon { transform: rotate(90deg); }
.koan-answer-text {
    font-size: 15px;
    color: var(--text-primary);
    letter-spacing: 1px;
    line-height: 2.1;
    font-weight: 300;
    margin-bottom: 10px;
}
.koan-answer-note {
    font-size: 12px;
    color: var(--text-tertiary);
    letter-spacing: 1px;
    line-height: 1.9;
    font-style: italic;
}
@media (max-width: 1024px) {
    .koans-section { padding: 52px 40px; }
    .koans-grid { grid-template-columns: 1fr; gap: 16px; }
}
@media (max-width: 600px) {
    .koans-section { padding: 40px 20px; }
}

/* ── 法脉五宗特色描述 ── */
.school-style {
    font-size: 11px;
    color: var(--accent-red);
    letter-spacing: 1px;
    display: block;
    margin-top: 6px;
    opacity: 0.75;
    font-style: italic;
}

/* ── 论著引文 ── */
.treatise-quote {
    font-size: 12px;
    color: var(--accent-gold);
    letter-spacing: 1px;
    display: block;
    margin-top: 5px;
    opacity: 0.85;
    font-style: italic;
    line-height: 1.7;
}

/* ── 书签按钮 ── */
.bookmark-hint {
    margin-top: 20px;
    text-align: center;
}
.bookmark-btn {
    background: none;
    border: 1px solid rgba(247,243,238,0.14);
    color: rgba(247,243,238,0.38);
    font-family: var(--serif);
    font-size: 11px;
    letter-spacing: 4px;
    padding: 8px 24px;
    cursor: pointer;
    border-radius: 1px;
    transition: var(--transition);
}
.bookmark-btn:hover { border-color: rgba(184,134,11,0.4); color: var(--accent-gold); }
.bookmark-btn.done { color: var(--accent-gold); border-color: rgba(184,134,11,0.4); }

/* ── 数字见证条 ── */
.trust-strip {
    background: #2A2118;
    padding: 22px 120px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    border-top: 1px solid rgba(184,134,11,0.10);
    border-bottom: 1px solid rgba(184,134,11,0.10);
}
.trust-item {
    text-align: center;
    padding: 6px 52px;
    flex-shrink: 0;
}
.trust-number {
    font-size: 24px;
    font-weight: 200;
    color: var(--accent-gold);
    letter-spacing: 5px;
    display: block;
    line-height: 1.2;
}
.trust-label {
    font-size: 10px;
    color: rgba(247, 243, 238, 0.35);
    letter-spacing: 4px;
    display: block;
    margin-top: 5px;
}
.trust-vdivider {
    width: 1px;
    height: 32px;
    background: rgba(247, 243, 238, 0.07);
    flex-shrink: 0;
}
@media (max-width: 1024px) { .trust-strip { padding: 18px 40px; } .trust-item { padding: 6px 24px; } }
@media (max-width: 600px) { .trust-strip { padding: 14px 12px; flex-wrap: wrap; } .trust-item { padding: 8px 16px; } .trust-vdivider { display: none; } .trust-number { font-size: 20px; } }

/* ── 今日禅门入口条 ── */
.today-portal-strip {
    background: linear-gradient(135deg, #1e1b17 0%, #1a1510 50%, #1e1b17 100%);
    border-top: 1px solid rgba(197,61,67,0.35);
    border-bottom: 1px solid rgba(197,61,67,0.15);
    padding: 0;
    overflow: hidden;
    position: relative;
}
.today-portal-strip::before {
    content: '今';
    position: absolute;
    right: 60px; top: 50%;
    transform: translateY(-50%);
    font-size: 100px; font-weight: 200;
    color: rgba(197,61,67,0.06);
    font-family: var(--serif);
    line-height: 1; pointer-events:none;
    letter-spacing: -2px;
}
.today-portal-inner {
    max-width: 1100px; margin: 0 auto;
    padding: 22px 120px;
    display: flex; align-items: center;
    justify-content: space-between; gap: 28px; flex-wrap: wrap;
}
.tp-badge {
    display: flex; align-items: center; gap: 14px; flex-shrink: 0;
}
.tp-badge-dot {
    width: 8px; height: 8px; border-radius: 50%;
    background: var(--accent-red);
    animation: tpPulse 2.5s ease-in-out infinite;
    flex-shrink: 0;
}
@keyframes tpPulse { 0%,100%{opacity:1;transform:scale(1);} 50%{opacity:0.4;transform:scale(1.4);} }
.tp-badge-text {
    font-size: 13px; letter-spacing: 5px;
    color: var(--accent-red); display: block; line-height: 1.4; font-weight: 400;
}
.tp-badge-sub {
    font-size: 10px; color: rgba(197,61,67,0.5);
    letter-spacing: 3px; display: block; margin-top: 3px;
}
.tp-today-items {
    flex: 1; display: flex; gap: 24px; flex-wrap: wrap; justify-content: center;
    padding: 0 16px;
}
.tp-today-item {
    text-align: center;
}
.tp-today-item-label {
    font-size: 9px; color: rgba(232,226,217,0.3);
    letter-spacing: 3px; display: block; margin-bottom: 5px;
    text-transform: uppercase;
}
.tp-today-item-value {
    font-size: 13px; color: rgba(232,226,217,0.65);
    letter-spacing: 1px; display: block; line-height: 1.6;
    max-width: 160px;
}
.tp-enter-cta {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 11px 28px; flex-shrink: 0;
    background: var(--accent-red); color: white;
    text-decoration: none; font-size: 12px; letter-spacing: 4px;
    transition: background 0.3s; border-radius: 1px; white-space: nowrap;
}
.tp-enter-cta:hover { background: #a83035; }
@media (max-width: 1024px) { .today-portal-inner { padding: 18px 40px; } }
@media (max-width: 768px) {
    .today-portal-inner { padding: 16px 20px; flex-direction: column; align-items: flex-start; gap: 14px; }
    .tp-today-items { display: none; }
    .today-portal-strip::before { display: none; }
}

/* ── 春分特辑条 ── */
.equinox-strip {
    background: linear-gradient(135deg, #2A1F0E 0%, #1A1508 50%, #2A1F0E 100%);
    border-top: 1px solid rgba(184,134,11,0.30);
    border-bottom: 1px solid rgba(184,134,11,0.15);
    padding: 0;
    display: none; /* JS 按日期控制 */
    overflow: hidden;
    position: relative;
}
.equinox-strip::before {
    content: '春分';
    position: absolute;
    right: 80px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 120px;
    font-weight: 200;
    color: rgba(184,134,11,0.05);
    font-family: var(--serif);
    line-height: 1;
    pointer-events: none;
    letter-spacing: -4px;
}
.equinox-inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 28px 120px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    flex-wrap: wrap;
}
.equinox-badge {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-shrink: 0;
}
.equinox-glyph {
    font-size: 32px;
    color: var(--accent-gold);
    opacity: 0.85;
    line-height: 1;
    font-weight: 200;
}
.equinox-title {
    font-size: 13px;
    letter-spacing: 5px;
    color: var(--accent-gold);
    display: block;
    line-height: 1.4;
    font-weight: 400;
}
.equinox-sub {
    font-size: 10px;
    color: rgba(184,134,11,0.5);
    letter-spacing: 3px;
    display: block;
    margin-top: 3px;
}
.equinox-quote {
    flex: 1;
    text-align: center;
    font-size: 16px;
    font-weight: 300;
    letter-spacing: 4px;
    color: rgba(247,243,238,0.75);
    line-height: 1.8;
    padding: 0 32px;
}
.equinox-quote em {
    font-style: normal;
    color: var(--accent-gold);
    opacity: 0.9;
}
.equinox-cta {
    display: inline-block;
    padding: 10px 28px;
    border: 1px solid rgba(184,134,11,0.4);
    color: var(--accent-gold);
    text-decoration: none;
    font-size: 12px;
    letter-spacing: 4px;
    transition: var(--transition);
    border-radius: 1px;
    flex-shrink: 0;
    white-space: nowrap;
}
.equinox-cta:hover {
    background: var(--accent-gold);
    color: #1A1508;
}
@media (max-width: 1024px) {
    .equinox-inner { padding: 24px 40px; }
    .equinox-quote { font-size: 14px; padding: 0 16px; }
}
@media (max-width: 600px) {
    .equinox-inner { padding: 20px; flex-direction: column; gap: 16px; text-align: center; }
    .equinox-badge { justify-content: center; }
    .equinox-quote { padding: 0; font-size: 13px; }
    .equinox-strip::before { display: none; }
}

/* ── 近期深读 ── */
.recent-reads {
    padding: 96px 120px;
    scroll-margin-top: 76px;
    background: var(--section-alt-bg);
}
.reads-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 48px;
}
.read-card {
    text-decoration: none;
    display: block;
    border: 1px solid rgba(0,0,0,0.05);
    border-radius: 3px;
    padding: 28px 22px 24px;
    transition: var(--transition);
    background: var(--white);
    position: relative;
    overflow: hidden;
}
.read-card::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0;
    width: 100%;
    height: 2px;
    background: var(--accent-red);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.4s cubic-bezier(0.4,0,0.2,1);
}
.read-card:hover { transform: translateY(-5px); box-shadow: 0 18px 40px rgba(0,0,0,0.08); }
.read-card:hover::after { transform: scaleX(1); }
.read-tag {
    font-size: 10px;
    color: var(--accent-gold);
    letter-spacing: 3px;
    display: block;
    margin-bottom: 12px;
    text-transform: uppercase;
}
.read-title {
    font-size: 16px;
    color: var(--text-primary);
    line-height: 1.75;
    letter-spacing: 1px;
    margin-bottom: 10px;
    font-weight: 400;
    display: block;
}
.read-excerpt {
    font-size: 12.5px;
    color: var(--text-secondary);
    line-height: 1.95;
    letter-spacing: 0.5px;
    display: block;
}
.read-arrow { font-size: 11px; color: var(--accent-red); letter-spacing: 2px; display: block; margin-top: 16px; opacity: 0.7; }
.read-card:hover .read-arrow { opacity: 1; }
@media (max-width: 1024px) { .recent-reads { padding: 52px 40px; } .reads-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .recent-reads { padding: 40px 20px; } .reads-grid { grid-template-columns: 1fr; } }

/* ── 滚动揭示动画 ── */
.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.72s ease, transform 0.72s ease;
}
.reveal.revealed { opacity: 1; transform: translateY(0); }

/* ── 今日字 ── */
.today-char-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-bottom: 32px;
    animation: fadeIn 1s forwards 0.2s;
    opacity: 0;
    cursor: default;
}
.today-char-glyph {
    font-size: 64px;
    font-weight: 200;
    color: var(--text-primary);
    opacity: 0.60;
    font-family: var(--serif);
    line-height: 1;
    letter-spacing: 0;
    display: block;
    transition: opacity 0.5s ease;
}
.today-char-pill:hover .today-char-glyph { opacity: 0.85; }
.today-char-info { text-align: left; }
.today-char-label {
    font-size: 9px;
    color: var(--accent-gold);
    letter-spacing: 5px;
    text-transform: uppercase;
    display: block;
    opacity: 0.8;
}
.today-char-meaning {
    font-size: 13px;
    color: var(--text-secondary);
    letter-spacing: 2px;
    display: block;
    margin-top: 5px;
    line-height: 1.7;
}
@media (max-width: 600px) {
    .today-char-glyph { font-size: 42px; }
    .today-char-meaning { font-size: 11px; letter-spacing: 2px; }
}





.zen-journal-textarea:focus { border-color: rgba(197, 61, 67, 0.32); }
.zen-journal-textarea::placeholder { color: var(--text-secondary); opacity: 0.42; }



.zen-journal-clear:hover { opacity: 0.82; }
@media (max-width: 600px) {
    
    
}

/* ── 访问连续天数 ── */
.visit-streak-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 10px;
    color: var(--accent-gold);
    letter-spacing: 3px;
    padding: 4px 16px;
    border: 1px solid rgba(184, 134, 11, 0.24);
    border-radius: 20px;
    margin-top: 10px;
    opacity: 0;
    animation: fadeIn 0.8s forwards;
    background: rgba(255, 255, 255, 0.3);
    backdrop-filter: blur(4px);
}
.streak-num { font-size: 15px; font-weight: 600; letter-spacing: 0; color: var(--accent-gold); }
@media (max-width: 600px) { .visit-streak-pill { font-size: 9px; padding: 3px 12px; } }

/* ═══════════════════════════════════════════════════════════════
   此刻禅沉浸体验 · 模态框样式 (2026-04-11 战略迭代新增)
   ═══════════════════════════════════════════════════════════════ */
.zen-moment-enter-wrap {
    text-align: center;
    margin: 32px 0 24px;
}
.zen-moment-enter-btn {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 20px 48px;
    background: linear-gradient(135deg, rgba(184,134,11,0.12) 0%, rgba(197,61,67,0.12) 100%);
    border: 1px solid rgba(184,134,11,0.3);
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.4,0,0.2,1);
    backdrop-filter: blur(4px);
}
.zen-moment-enter-btn:hover {
    background: linear-gradient(135deg, rgba(184,134,11,0.2) 0%, rgba(197,61,67,0.2) 100%);
    border-color: rgba(184,134,11,0.5);
    transform: translateY(-2px);
    box-shadow: 0 8px 32px rgba(184,134,11,0.2);
}

/* 模态框 overlay */
.zen-moment-modal-overlay {
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(10,8,6,0.96);
    z-index: 100000;
    display: none;
    align-items: center;
    justify-content: center;
    animation: fadeIn 0.4s ease;
}
.zen-moment-modal-overlay.active {
    display: flex;
}
.zen-moment-modal {
    position: relative;
    max-width: 520px;
    width: 90%;
    text-align: center;
    padding: 40px 32px;
}
@keyframes zmBreathLarge {
    0%, 100% { transform: scale(0.85); box-shadow: 0 0 0 0 rgba(184,134,11,0.15); }
    50% { transform: scale(1.15); box-shadow: 0 0 0 28px rgba(184,134,11,0); }
}

@media (max-width: 600px) {
    .zen-moment-enter-btn { padding: 16px 32px; width: 100%; }
    .zm-enter-text { font-size: 14px; letter-spacing: 4px; }
    .zm-modal-close { top: 12px; right: 16px; font-size: 28px; }
    .zm-stage-title { font-size: 22px; letter-spacing: 5px; }
    .zm-breath-circle-large { width: 140px; height: 140px; }
    .zm-quote-text { font-size: 20px; }
}

/* ── 禅意横幅 ── */
.zen-banner-strip {
    background: var(--section-alt-bg);
    border-top: 1px solid rgba(184, 134, 11, 0.10);
    border-bottom: 1px solid rgba(184, 134, 11, 0.10);
    padding: 22px 20px;
    text-align: center;
    overflow: hidden;
}
.zen-banner-text {
    font-size: 22px;
    font-weight: 300;
    letter-spacing: 10px;
    color: var(--text-secondary);
    opacity: 0.65;
    font-family: var(--serif);
}
@media (max-width: 600px) {
    .zen-banner-text { font-size: 14px; letter-spacing: 6px; }
}

/* ── 呼吸提示 ── */
.breath-cue {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 0 0 22px;
    opacity: 0.62;
}
.breath-dot {
    width: 9px; height: 9px;
    border-radius: 50%;
    background: var(--accent-gold);
    animation: breathe 4s ease-in-out infinite;
}
@keyframes breathe {
    0%, 100% { transform: scale(1); opacity: 0.22; }
    50% { transform: scale(1.75); opacity: 0.82; }
}
.breath-text { font-size: 10px; color: var(--text-tertiary); letter-spacing: 4px; }

/* ── 阅读进度条 ── */
#readingProgress {
    position: fixed;
    top: 0;
    left: 0;
    width: 0%;
    height: 2px;
    background: linear-gradient(90deg, var(--accent-red) 0%, var(--accent-gold) 100%);
    z-index: 10002;
    transition: width 0.08s linear;
    pointer-events: none;
}

/* ── 节气提示胶囊 ── */
.seasonal-pill {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 10px;
    letter-spacing: 5px;
    color: var(--text-secondary);
    opacity: 0;
    animation: fadeIn 0.8s forwards 0.1s;
    margin-bottom: 24px;
    padding: 5px 18px;
    border: 1px solid rgba(184, 134, 11, 0.22);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.10);
    backdrop-filter: blur(4px);
}
.seasonal-pill .sdot {
    width: 4px; height: 4px;
    border-radius: 50%;
    background: var(--accent-gold);
    opacity: 0.65;
    display: inline-block;
    flex-shrink: 0;
}

/* ── 导航活跃状态 ── */
.zen-nav .nav-links a.nav-active {
    color: var(--accent-red);
    position: relative;
}
.zen-nav .nav-links a.nav-active::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 100%;
    height: 1px;
    background: var(--accent-red);
    opacity: 0.5;
}
.zen-nav .nav-links a.nav-search-link {
    color: var(--accent-red) !important;
    border: 1px solid rgba(197,61,67,0.25);
    padding: 5px 14px;
    border-radius: 14px;
    letter-spacing: 1.5px;
    font-size: 13px;
    transition: var(--transition);
}
.zen-nav .nav-links a.nav-search-link:hover {
    background: var(--accent-red);
    color: var(--white) !important;
    border-color: var(--accent-red);
}

/* ── 今日三息冥想组件 ── */
.meditation-widget {
    max-width: 420px;
    margin: 24px auto 8px;
    text-align: center;
}
.meditation-trigger {
    background: none;
    border: 1px solid rgba(184, 134, 11, 0.28);
    color: var(--text-tertiary);
    font-family: var(--serif);
    font-size: 11px;
    letter-spacing: 4px;
    padding: 10px 32px;
    cursor: pointer;
    border-radius: 1px;
    transition: var(--transition);
}
.meditation-trigger:hover {
    border-color: rgba(184,134,11,0.6);
    color: var(--accent-gold);
    background: rgba(184,134,11,0.03);
}
.meditation-area {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.7s cubic-bezier(0.4,0,0.2,1), opacity 0.5s ease;
    opacity: 0;
}
.meditation-area.open { max-height: 320px; opacity: 1; }
.med-circle-wrap {
    position: relative;
    width: 110px;
    height: 110px;
    margin: 22px auto 14px;
}
.med-circle {
    width: 100%; height: 100%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(184,134,11,0.20) 0%, rgba(184,134,11,0.03) 75%);
    border: 1px solid rgba(184,134,11,0.22);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: medBreath 4.5s ease-in-out infinite;
}
@keyframes medBreath {
    0%, 100% { transform: scale(0.84); box-shadow: 0 0 0 0 rgba(184,134,11,0.12); }
    50% { transform: scale(1.16); box-shadow: 0 0 0 16px rgba(184,134,11,0); }
}
.med-phase {
    font-size: 15px;
    color: var(--accent-gold);
    letter-spacing: 3px;
    display: block;
    min-height: 24px;
    font-weight: 300;
}
.med-count {
    font-size: 10px;
    color: var(--text-secondary);
    letter-spacing: 4px;
    margin-top: 8px;
    display: block;
    opacity: 0.55;
}
.med-done {
    font-size: 15px;
    color: var(--text-primary);
    letter-spacing: 2px;
    line-height: 2;
    padding: 14px 0 4px;
    display: none;
}
.med-done.show { display: block; }
@media (max-width: 600px) { .meditation-widget { margin: 16px auto 4px; } }

/* ── 英雄区底部渐变遮罩 ── */
.hero::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 55%;
    background: linear-gradient(to bottom, transparent, rgba(247, 243, 238, 0.82));
    pointer-events: none;
    z-index: 0;
}
.hero-content { position: relative; z-index: 1; }

/* ── 动态问候 + 今日功课区块 ── */
.greeting-practice-section {
    background: linear-gradient(135deg, var(--white) 0%, var(--section-alt-bg) 100%);
    padding: 60px 120px;
    border-bottom: 1px solid rgba(184, 134, 11, 0.08);
}
.gp-container {
    max-width: 900px;
    margin: 0 auto;
}
.gp-greeting-wrap {
    text-align: center;
    margin-bottom: 36px;
}
.gp-greeting-icon {
    font-size: 42px;
    display: block;
    margin-bottom: 12px;
    animation: gpPulse 3s ease-in-out infinite;
}
@keyframes gpPulse {
    0%, 100% { transform: scale(1); opacity: 0.8; }
    50% { transform: scale(1.1); opacity: 1; }
}
.gp-greeting {
    font-size: 32px;
    font-weight: 300;
    letter-spacing: 8px;
    color: var(--text-primary);
    display: block;
    margin-bottom: 8px;
}
.gp-date {
    font-size: 12px;
    color: var(--text-secondary);
    letter-spacing: 3px;
}
.gp-practice-board {
    background: var(--white);
    border: 1px solid rgba(184, 134, 11, 0.15);
    border-radius: 4px;
    padding: 32px 36px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
}
.gp-board-header {
    text-align: center;
    margin-bottom: 28px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(184, 134, 11, 0.08);
}
.gp-board-label {
    font-size: 13px;
    color: var(--accent-gold);
    letter-spacing: 6px;
    text-transform: uppercase;
    display: block;
    margin-bottom: 6px;
}
.gp-board-sub {
    font-size: 11px;
    color: var(--text-secondary);
    letter-spacing: 3px;
}
.gp-tasks {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.gp-task-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 18px;
    background: var(--bg-color);
    border-radius: 3px;
    transition: var(--transition);
    border: 1px solid rgba(0, 0, 0, 0.03);
}
.gp-task-item:hover {
    background: #fdfaf5;
    border-color: rgba(184, 134, 11, 0.15);
    transform: translateX(4px);
}
.gp-task-item.completed {
    background: rgba(184, 134, 11, 0.06);
    border-color: rgba(184, 134, 11, 0.25);
}
.gp-task-check {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 2px solid rgba(184, 134, 11, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: var(--transition);
    flex-shrink: 0;
}
.gp-task-check:hover {
    border-color: var(--accent-gold);
    background: rgba(184, 134, 11, 0.05);
}
.gp-task-item.completed .gp-task-check {
    background: var(--accent-gold);
    border-color: var(--accent-gold);
}
.gp-check-icon {
    font-size: 16px;
    color: var(--accent-gold);
    opacity: 0;
    transform: scale(0);
    transition: var(--transition);
}
.gp-task-item.completed .gp-check-icon {
    opacity: 1;
    transform: scale(1);
    color: white;
}
.gp-task-content {
    flex: 1;
    min-width: 0;
}
.gp-task-text {
    display: block;
    font-size: 14px;
    color: var(--text-primary);
    letter-spacing: 1px;
    margin-bottom: 4px;
}
.gp-task-time {
    display: block;
    font-size: 11px;
    color: var(--text-secondary);
    letter-spacing: 2px;
}
.gp-task-link {
    font-size: 12px;
    color: var(--accent-red);
    letter-spacing: 2px;
    text-decoration: none;
    padding: 8px 16px;
    border: 1px solid rgba(197, 61, 67, 0.2);
    border-radius: 2px;
    transition: var(--transition);
    background: transparent;
    cursor: pointer;
    font-family: var(--serif);
    white-space: nowrap;
}
.gp-task-link:hover {
    background: var(--accent-red);
    color: white;
    border-color: var(--accent-red);
}
.gp-progress-bar {
    margin-top: 24px;
    height: 4px;
    background: rgba(184, 134, 11, 0.1);
    border-radius: 2px;
    overflow: hidden;
}
.gp-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--accent-gold) 0%, var(--accent-red) 100%);
    width: 0%;
    transition: width 0.5s ease;
    border-radius: 2px;
}
.gp-progress-text {
    text-align: center;
    margin-top: 12px;
    font-size: 11px;
    color: var(--text-secondary);
    letter-spacing: 2px;
}
@media (max-width: 1024px) {
    .greeting-practice-section { padding: 40px 40px; }
}
@media (max-width: 600px) {
    .greeting-practice-section { padding: 32px 20px; }
    .gp-greeting { font-size: 24px; letter-spacing: 5px; }
    .gp-greeting-icon { font-size: 32px; }
    .gp-task-item { padding: 12px 14px; }
    .gp-task-text { font-size: 13px; }
    .gp-task-link { padding: 6px 12px; font-size: 11px; }
}

/* ── 本周大师深度区块 ── */
.master-of-week-section {
    background: var(--white);
    padding: 80px 120px;
    border-bottom: 1px solid rgba(184, 134, 11, 0.08);
}
.mow-container {
    max-width: 1000px;
    margin: 0 auto;
}
.mow-label {
    font-size: 11px;
    color: var(--accent-gold);
    letter-spacing: 6px;
    text-transform: uppercase;
    display: block;
    text-align: center;
    margin-bottom: 12px;
}
.mow-title {
    font-size: 36px;
    font-weight: 300;
    letter-spacing: 5px;
    color: var(--text-primary);
    text-align: center;
    display: block;
    margin-bottom: 8px;
}
.mow-period {
    font-size: 13px;
    color: var(--text-secondary);
    letter-spacing: 3px;
    display: block;
    text-align: center;
    margin-bottom: 40px;
}
.mow-content-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-bottom: 32px;
}
.mow-bio-card, .mow-teaching-card, .mow-koan-card {
    background: var(--bg-color);
    border: 1px solid rgba(184, 134, 11, 0.12);
    border-radius: 3px;
    padding: 28px 24px;
    transition: var(--transition);
}
.mow-bio-card:hover, .mow-teaching-card:hover, .mow-koan-card:hover {
    border-color: rgba(184, 134, 11, 0.25);
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.05);
}
.mow-card-title {
    font-size: 12px;
    color: var(--accent-gold);
    letter-spacing: 4px;
    display: block;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(184, 134, 11, 0.1);
}
.mow-text {
    font-size: 14px;
    color: var(--text-primary);
    line-height: 2.1;
    letter-spacing: 1px;
}
.mow-koan-text {
    font-size: 15px;
    color: var(--text-primary);
    line-height: 2.2;
    letter-spacing: 1px;
    font-style: italic;
    display: block;
    margin-bottom: 12px;
}
.mow-koan-source {
    font-size: 11px;
    color: var(--text-secondary);
    letter-spacing: 2px;
    display: block;
}
.mow-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 24px;
    border-top: 1px solid rgba(184, 134, 11, 0.08);
}
.mow-week-info {
    font-size: 11px;
    color: var(--text-secondary);
    letter-spacing: 2px;
}
.mow-more-link {
    font-size: 12px;
    color: var(--accent-red);
    letter-spacing: 3px;
    text-decoration: none;
    padding: 10px 24px;
    border: 1px solid rgba(197, 61, 67, 0.2);
    border-radius: 2px;
    transition: var(--transition);
}
.mow-more-link:hover {
    background: var(--accent-red);
    color: white;
    border-color: var(--accent-red);
}
@media (max-width: 1024px) {
    .master-of-week-section { padding: 52px 40px; }
    .mow-content-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
    .master-of-week-section { padding: 40px 20px; }
    .mow-title { font-size: 26px; letter-spacing: 3px; }
    .mow-footer { flex-direction: column; gap: 16px; text-align: center; }
}

/* ── 今日速览条 ── */
.today-strip {
    background: var(--white);
    border-bottom: 1px solid rgba(184, 134, 11, 0.10);
    padding: 16px 120px;
    position: relative;
    overflow: hidden;
}
.today-strip::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 2px;
    background: linear-gradient(90deg, var(--accent-red) 0%, var(--accent-gold) 55%, transparent 100%);
}
.today-strip-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 960px;
    margin: 0 auto;
}
.ts-label {
    font-size: 9px;
    letter-spacing: 7px;
    color: var(--accent-red);
    text-transform: uppercase;
    padding-right: 28px;
    border-right: 1px solid rgba(0,0,0,0.07);
    margin-right: 28px;
    white-space: nowrap;
    flex-shrink: 0;
}
.ts-item {
    text-align: center;
    flex: 1;
    padding: 0 20px;
    min-width: 0;
}
.ts-item-label {
    font-size: 9px;
    color: var(--accent-gold);
    letter-spacing: 4px;
    text-transform: uppercase;
    display: block;
    margin-bottom: 5px;
    opacity: 0.8;
}
.ts-char-display {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.ts-char-glyph {
    font-size: 30px;
    font-weight: 200;
    color: var(--text-primary);
    opacity: 0.65;
    line-height: 1;
}
.ts-char-meaning {
    font-size: 11px;
    color: var(--text-secondary);
    letter-spacing: 1.5px;
    text-align: left;
    line-height: 1.5;
}
.ts-preview-text {
    font-size: 12.5px;
    color: var(--text-primary);
    letter-spacing: 1px;
    display: block;
    line-height: 1.6;
    opacity: 0.72;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.ts-divider {
    width: 1px;
    height: 32px;
    background: rgba(0,0,0,0.07);
    flex-shrink: 0;
}
.ts-enter {
    display: inline-block;
    font-size: 10px;
    letter-spacing: 3px;
    color: var(--accent-red);
    text-decoration: none;
    border: 1px solid rgba(197, 61, 67, 0.22);
    padding: 7px 18px;
    border-radius: 1px;
    transition: var(--transition);
    margin-left: 28px;
    white-space: nowrap;
    flex-shrink: 0;
}
.ts-enter:hover { background: var(--accent-red); color: white; border-color: var(--accent-red); }
@media (max-width: 1024px) {
    .today-strip { padding: 14px 40px; }
    .ts-label { display: none; }
    .ts-item { padding: 0 12px; }
}
@media (max-width: 600px) {
    .today-strip { padding: 12px 16px; }
    .today-strip-inner { flex-wrap: wrap; gap: 8px; }
    .ts-item { flex: 0 0 calc(50% - 8px); padding: 0 6px; }
    .ts-divider { display: none; }
    .ts-enter { margin-left: 0; width: 100%; text-align: center; margin-top: 8px; }
}

/* ── 今日公案标记 ── */
.koan-card.koan-today {
    border-color: rgba(197, 61, 67, 0.25);
}
.koan-today-badge {
    display: inline-block;
    font-size: 9px;
    letter-spacing: 3px;
    color: var(--accent-red);
    border: 1px solid rgba(197, 61, 67, 0.22);
    padding: 2px 10px;
    border-radius: 1px;
    margin-bottom: 10px;
    opacity: 0.85;
    background: rgba(197, 61, 67, 0.03);
}





@media (max-width: 600px) {   }

/* ── 今日修行打卡 ── */
.practice-tracker {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    margin: 24px auto 4px;
    max-width: 520px;
    padding-top: 22px;
    border-top: 1px solid rgba(184, 134, 11, 0.10);
}
.practice-summary {
    display: flex;
    gap: 40px;
    justify-content: center;
}
.practice-stat {
    text-align: center;
}
.stat-value {
    display: block;
    font-size: 28px;
    font-weight: 600;
    color: var(--accent-gold);
    letter-spacing: 2px;
}
.stat-label {
    font-size: 11px;
    color: var(--text-secondary);
    letter-spacing: 2px;
}
.checkin-btn {
    display: inline-block;
    padding: 12px 36px;
    background: var(--accent-red);
    color: white;
    border: none;
    border-radius: 2px;
    font-size: 13px;
    letter-spacing: 3px;
    cursor: pointer;
    transition: all 0.3s ease;
}
.checkin-btn:hover {
    background: #a83035;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(197, 61, 67, 0.3);
}
.checkin-btn.checked-in {
    background: rgba(184, 134, 11, 0.3);
    color: var(--accent-gold);
    cursor: default;
    transform: none;
    box-shadow: none;
}
.practice-status {
    font-size: 12px;
    color: var(--text-secondary);
    letter-spacing: 2px;
}
.practice-item {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 10px;
    letter-spacing: 2px;
    color: var(--text-secondary);
    opacity: 0.40;
    transition: all 0.5s ease;
    user-select: none;
}
.practice-item.done { color: var(--accent-gold); opacity: 1; }
.pcheck {
    width: 16px; height: 16px;
    border: 1px solid rgba(184,134,11,0.3);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 9px;
    color: transparent;
    flex-shrink: 0;
    transition: all 0.35s ease;
}
.practice-item.done .pcheck {
    background: var(--accent-gold);
    border-color: var(--accent-gold);
    color: white;
}
.practice-label { font-size: 10px; letter-spacing: 2px; }
@media (max-width: 600px) { .practice-tracker { gap: 14px; } }

/* ── 分享按钮 ── */
.share-btn {
    display: inline-block;
    padding: 8px 22px;
    border: 1px solid rgba(197, 61, 67, 0.22);
    background: transparent;
    color: var(--accent-red);
    font-family: var(--serif);
    font-size: 12px;
    letter-spacing: 3px;
    cursor: pointer;
    transition: var(--transition);
    border-radius: 1px;
}
.share-btn:hover { background: var(--accent-red); color: white; border-color: var(--accent-red); }
.share-btn.shared { color: var(--accent-gold); border-color: rgba(184,134,11,0.4); }

/* ── 横幅条文字动画 ── */
.zen-banner-text {
    transition: opacity 0.7s ease;
}
.zen-banner-text.fading { opacity: 0; }

/* ── 精选引语条（大师与深读之间） ── */
.featured-quote-strip {
    background: var(--text-primary);
    padding: 48px 120px;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.featured-quote-strip::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, rgba(184,134,11,0.45) 50%, transparent 100%);
}
.featured-quote-strip::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, rgba(184,134,11,0.45) 50%, transparent 100%);
}
.fqs-inner { max-width: 700px; margin: 0 auto; position: relative; }
.fqs-mark {
    font-size: 110px;
    color: var(--accent-gold);
    opacity: 0.18;
    font-family: Georgia, serif;
    line-height: 0.6;
    display: block;
    margin-bottom: 24px;
    user-select: none;
}
.fqs-text {
    font-size: 30px;
    font-weight: 300;
    letter-spacing: 5px;
    color: rgba(247, 243, 238, 0.93);
    line-height: 1.9;
    margin-bottom: 20px;
}
.fqs-author {
    font-size: 12px;
    color: var(--accent-gold);
    letter-spacing: 5px;
    opacity: 0.65;
    display: block;
}
@media (max-width: 1024px) { .featured-quote-strip { padding: 56px 40px; } .fqs-text { font-size: 22px; } }
@media (max-width: 600px) { .featured-quote-strip { padding: 44px 24px; } .fqs-text { font-size: 18px; letter-spacing: 3px; } .fqs-mark { font-size: 72px; } }

/* ── 近期深读更多按钮 ── */
.reads-more-wrap { text-align: center; margin-top: 36px; }
.reads-more-btn {
    display: inline-block;
    padding: 11px 40px;
    border: 1px solid rgba(45, 43, 40, 0.22);
    color: var(--text-secondary);
    text-decoration: none;
    font-size: 12px;
    letter-spacing: 4px;
    transition: var(--transition);
    border-radius: 1px;
    background: transparent;
    font-family: var(--serif);
    cursor: pointer;
}
.reads-more-btn:hover { border-color: var(--accent-red); color: var(--accent-red); }

/* ── 每天归处 · 留存行动区 ── */








@media (max-width: 1024px) {   }
@media (max-width: 600px) {
    
    
    
}

/* ── 邮件订阅区 ── */






.newsletter-input::placeholder { color: var(--text-secondary); opacity: 0.55; }
.newsletter-input:focus { background: rgba(255,255,255,1); }



@media (max-width: 1024px) {  }
@media (max-width: 600px) {
    
    
    
    
}

/* ── 禅学文库入口条 ── */
.lib-entry-strip {
    background: #1e1c19;
    padding: 48px 120px;
    border-top: 1px solid rgba(184, 134, 11, 0.15);
    border-bottom: 1px solid rgba(184, 134, 11, 0.15);
}
.lib-entry-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    max-width: 1200px;
    margin: 0 auto;
    flex-wrap: wrap;
}
.lib-entry-left {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-shrink: 0;
}
.lib-entry-num {
    font-size: 52px;
    font-weight: 300;
    color: var(--accent-gold);
    letter-spacing: 2px;
    line-height: 1;
}
.lib-entry-title {
    display: block;
    font-size: 20px;
    font-weight: 400;
    letter-spacing: 4px;
    color: rgba(247, 243, 238, 0.92);
    line-height: 1.4;
}
.lib-entry-sub {
    display: block;
    font-size: 11px;
    letter-spacing: 2px;
    color: rgba(247, 243, 238, 0.4);
    margin-top: 6px;
}
.lib-entry-tags {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    flex: 1;
    justify-content: center;
}
.lib-entry-tag {
    padding: 6px 14px;
    border: 1px solid rgba(184, 134, 11, 0.30);
    border-radius: 14px;
    font-size: 11px;
    letter-spacing: 2px;
    color: rgba(247, 243, 238, 0.55);
    white-space: nowrap;
    transition: var(--transition);
}
.lib-entry-tag:hover {
    border-color: rgba(184, 134, 11, 0.7);
    color: var(--accent-gold);
}
.lib-entry-cta {
    display: inline-block;
    padding: 14px 36px;
    background: var(--accent-red);
    color: white;
    text-decoration: none;
    font-size: 13px;
    letter-spacing: 3px;
    transition: var(--transition);
    border-radius: 1px;
    white-space: nowrap;
    flex-shrink: 0;
}
.lib-entry-cta:hover { background: #a83035; }
@media (max-width: 1024px) {
    .lib-entry-strip { padding: 40px 40px; }
    .lib-entry-inner { gap: 24px; }
}
@media (max-width: 768px) {
    .lib-entry-strip { padding: 36px 20px; }
    .lib-entry-inner { flex-direction: column; text-align: center; }
    .lib-entry-left { flex-direction: column; gap: 12px; }
    .lib-entry-tags { justify-content: center; }
    .lib-entry-num { font-size: 40px; }
}

/* ── 禅宗大事记时间轴 ── */
.timeline-section {
    background: var(--white);
    padding: 96px 120px;
    scroll-margin-top: 76px;
    overflow: hidden;
}
.timeline-inner { max-width: 900px; margin: 0 auto; position: relative; }
.timeline-spine {
    position: absolute;
    left: 50%;
    top: 0; bottom: 0;
    width: 1px;
    background: linear-gradient(to bottom, transparent 0%, rgba(184,134,11,0.25) 10%, rgba(184,134,11,0.25) 90%, transparent 100%);
    transform: translateX(-50%);
}
.timeline-items { position: relative; }
.timeline-item {
    display: grid;
    grid-template-columns: 1fr 48px 1fr;
    gap: 0;
    margin-bottom: 52px;
    align-items: start;
}
.timeline-item:last-child { margin-bottom: 0; }
.tl-content-left { text-align: right; padding-right: 36px; padding-top: 4px; }
.tl-content-right { text-align: left; padding-left: 36px; padding-top: 4px; }
.tl-empty { }
.tl-node {
    width: 48px; display: flex; flex-direction: column;
    align-items: center; gap: 0; position: relative; z-index: 1;
}
.tl-dot {
    width: 10px; height: 10px;
    border-radius: 50%;
    background: var(--accent-gold);
    border: 2px solid var(--white);
    box-shadow: 0 0 0 1px rgba(184,134,11,0.4);
    margin-top: 6px; flex-shrink: 0;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.timeline-item:hover .tl-dot {
    transform: scale(1.4);
    box-shadow: 0 0 0 3px rgba(184,134,11,0.2);
}
.tl-year {
    font-size: 10px; color: var(--accent-gold); letter-spacing: 2px;
    text-align: center; margin-top: 6px; opacity: 0.75; white-space: nowrap;
}
.tl-event-title {
    font-size: 15px; font-weight: 600; letter-spacing: 1.5px;
    color: var(--text-primary); margin-bottom: 6px; line-height: 1.6;
    display: block;
}
.tl-event-desc {
    font-size: 13px; color: var(--text-secondary); line-height: 1.9;
    letter-spacing: 0.5px;
}
.tl-master { font-size: 11px; color: var(--accent-gold); letter-spacing: 2px; display: block; margin-top: 8px; opacity: 0.8; }
.tl-expand-btn {
    font-size: 11px; color: var(--accent-red); letter-spacing: 2px;
    background: none; border: none; cursor: pointer; font-family: var(--serif);
    padding: 0; margin-top: 8px; transition: opacity 0.3s;
    display: inline-block;
}
.tl-expand-btn:hover { opacity: 0.7; }
.tl-detail {
    max-height: 0; overflow: hidden;
    transition: max-height 0.5s ease, opacity 0.4s ease;
    opacity: 0;
}
.tl-detail.open { max-height: 160px; opacity: 1; }
.tl-detail-text {
    font-size: 12.5px; color: var(--text-tertiary); line-height: 2;
    letter-spacing: 0.5px; padding-top: 10px;
    border-top: 1px solid rgba(184,134,11,0.12);
    margin-top: 10px;
}
.timeline-cta-wrap { text-align: center; margin-top: 64px; padding-top: 48px; border-top: 1px solid rgba(0,0,0,0.05); }
.timeline-cta-text { font-size: 14px; color: var(--text-secondary); letter-spacing: 2px; margin-bottom: 20px; display: block; }
.timeline-cta-btn {
    display: inline-block; padding: 12px 36px; font-size: 13px; letter-spacing: 4px;
    text-decoration: none; background: transparent; color: var(--accent-red);
    border: 1px solid rgba(197,61,67,0.3); border-radius: 1px;
    transition: var(--transition); font-family: var(--serif);
}
.timeline-cta-btn:hover { background: var(--accent-red); color: white; border-color: var(--accent-red); }
@media (max-width: 1024px) {
    .timeline-section { padding: 52px 40px; }
    .timeline-spine { display: none; }
    .timeline-item { grid-template-columns: 32px 1fr; }
    .tl-content-left { display: none; }
    .tl-content-right { padding-left: 20px; text-align: left; }
    .tl-node { align-items: flex-start; }
    .tl-year { text-align: left; }
}
@media (max-width: 600px) {
    .timeline-section { padding: 40px 20px; }
    .timeline-item { grid-template-columns: 28px 1fr; }
    .tl-event-title { font-size: 14px; }
    .tl-event-desc { font-size: 12px; }
}


.char-deep-section::before {
    content: attr(data-char);
    position: absolute;
    font-size: 320px;
    color: rgba(255,255,255,0.03);
    font-family: var(--serif);
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    line-height: 1;
    pointer-events: none;
    font-weight: 200;
}


.char-deep-glyph:hover { text-shadow: 0 4px 48px rgba(184,134,11,0.3), 0 2px 16px rgba(0,0,0,0.5); }




.char-deep-link:hover { border-color: var(--accent-gold); color: var(--accent-gold); }
@media (max-width: 1024px) {  }
@media (max-width: 600px) {
    
    
    
}

/* ── 今日传灯 · 大师轮换 ── */
.featured-master-band {
    background: linear-gradient(135deg, var(--section-alt-bg) 0%, rgba(255,255,255,0.85) 100%);
    border: 1px solid rgba(184,134,11,0.12);
    border-radius: 4px;
    padding: 28px 36px;
    margin-bottom: 44px;
    display: flex;
    align-items: center;
    gap: 28px;
    position: relative;
    overflow: hidden;
}
.featured-master-band::after {
    content: '今日传灯';
    position: absolute;
    top: 0; right: 24px;
    font-size: 9px;
    letter-spacing: 4px;
    background: var(--accent-gold);
    color: white;
    padding: 3px 12px;
    font-family: var(--serif);
}
.fmb-icon {
    width: 62px; height: 62px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    border: 2px solid rgba(184,134,11,0.2);
    background: var(--bg-color);
}
.fmb-icon img { width: 100%; height: 100%; object-fit: cover; }
.fmb-content { flex: 1; }
.fmb-name { font-size: 18px; font-weight: 600; letter-spacing: 3px; color: var(--text-primary); display: block; margin-bottom: 4px; }
.fmb-period { font-size: 11px; color: var(--accent-gold); letter-spacing: 2px; display: block; margin-bottom: 10px; }
.fmb-quote { font-size: 13.5px; color: var(--text-tertiary); letter-spacing: 1.5px; line-height: 1.9; font-style: italic; }
.fmb-link {
    font-size: 12px;
    color: var(--accent-red);
    text-decoration: none;
    letter-spacing: 3px;
    white-space: nowrap;
    border-bottom: 1px solid rgba(197,61,67,0.22);
    padding-bottom: 1px;
    transition: var(--transition);
    flex-shrink: 0;
}
.fmb-link:hover { border-bottom-color: var(--accent-red); }
@media (max-width: 1024px) { .featured-master-band { flex-wrap: wrap; gap: 16px; padding: 24px; } }
@media (max-width: 600px) { .featured-master-band { padding: 20px; flex-direction: column; text-align: center; } .fmb-icon { margin: 0 auto; } .fmb-link { align-self: center; } }

/* ── 禅可说乎 专栏 ── */
.zksayhu-section {
    padding: 96px 120px;
    background: var(--white);
    scroll-margin-top: 76px;
}
.zks-layout {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 56px;
    align-items: start;
    margin-top: 48px;
}
.zks-featured {
    background: var(--bg-color);
    border: 1px solid rgba(184,134,11,0.14);
    border-top: 3px solid var(--accent-red);
    border-radius: 2px;
    padding: 36px 36px 32px;
    position: relative;
}
.zks-featured-eyebrow {
    font-size: 10px;
    letter-spacing: 5px;
    color: var(--accent-red);
    text-transform: uppercase;
    display: block;
    margin-bottom: 14px;
    opacity: 0.9;
}
.zks-featured-title {
    font-size: 22px;
    font-weight: 600;
    letter-spacing: 2px;
    color: var(--text-primary);
    line-height: 1.55;
    display: block;
    margin-bottom: 16px;
}
.zks-featured-summary {
    font-size: 13.5px;
    color: var(--text-secondary);
    line-height: 2.05;
    letter-spacing: 0.5px;
    display: block;
    margin-bottom: 26px;
    border-left: 2px solid rgba(184,134,11,0.25);
    padding-left: 14px;
}
.zks-read-btn {
    display: inline-block;
    padding: 10px 28px;
    background: var(--accent-red);
    color: white;
    text-decoration: none;
    font-size: 12px;
    letter-spacing: 4px;
    transition: var(--transition);
    border-radius: 1px;
}
.zks-read-btn:hover { background: #a83035; }
.zks-recent { display: flex; flex-direction: column; }
.zks-recent-label {
    font-size: 10px;
    color: var(--accent-gold);
    letter-spacing: 6px;
    text-transform: uppercase;
    display: block;
    margin-bottom: 18px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(184,134,11,0.14);
}
.zks-item {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    padding: 16px 0;
    border-bottom: 1px solid rgba(0,0,0,0.04);
    text-decoration: none;
    transition: var(--transition);
    color: var(--text-primary);
}
.zks-item:hover .zks-item-title { color: var(--accent-red); }
.zks-item:last-child { border-bottom: none; }
.zks-item-date { font-size: 11px; color: var(--text-secondary); letter-spacing: 2px; flex-shrink: 0; min-width: 42px; margin-top: 3px; opacity: 0.7; }
.zks-item-body { flex: 1; }
.zks-item-title { font-size: 15px; letter-spacing: 1px; line-height: 1.7; color: var(--text-primary); transition: var(--transition); display: block; }
.zks-item-summary { font-size: 12px; color: var(--text-secondary); line-height: 1.85; letter-spacing: 0.5px; display: block; margin-top: 5px; }
.zks-footer-wrap { text-align: center; margin-top: 44px; }
.zks-more-btn {
    display: inline-block;
    padding: 12px 36px;
    border: 1px solid rgba(45,43,40,0.22);
    color: var(--text-tertiary);
    text-decoration: none;
    font-size: 12px;
    letter-spacing: 4px;
    transition: var(--transition);
    border-radius: 1px;
}
.zks-more-btn:hover { border-color: var(--accent-red); color: var(--accent-red); }
@media (max-width: 1024px) {
    .zksayhu-section { padding: 52px 40px; }
    .zks-layout { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 600px) {
    .zksayhu-section { padding: 40px 20px; }
    .zks-featured { padding: 24px 20px; }
    .zks-featured-title { font-size: 18px; }
}

/* ── 专题推荐区 ── */




















.ft-card:hover 
@media (max-width: 768px) {
    
    
    
    
}

/* ── 探索入口：响应式适配 ── */
@media (max-width: 768px) {
    .explore-entry-strip { padding: 36px 20px !important; }
    .explore-entry-grid { grid-template-columns: 1fr !important; }
}

/* ── 静修入口条 ── */
.practice-gateway {
    background: var(--text-primary);
    padding: 40px 120px;
    overflow-x: auto;
    scroll-margin-top: 76px;
}
.pg-inner {
    display: flex;
    gap: 0;
    justify-content: center;
    min-width: min-content;
    margin: 0 auto;
    max-width: 900px;
}
.pg-door {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 28px 36px;
    text-decoration: none;
    border-right: 1px solid rgba(247,243,238,0.07);
    transition: all 0.4s cubic-bezier(0.4,0,0.2,1);
    flex: 1;
    position: relative;
}
.pg-door:first-child { border-left: 1px solid rgba(247,243,238,0.07); }
.pg-door::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 2px;
    background: var(--accent-gold);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.3s ease;
}
.pg-door:hover::after { transform: scaleX(1); }
.pg-door:hover { background: rgba(247,243,238,0.04); }
.pg-char {
    font-size: 30px;
    font-weight: 200;
    color: var(--accent-gold);
    letter-spacing: 2px;
    line-height: 1;
    opacity: 0.8;
    transition: opacity 0.3s, transform 0.3s;
}
.pg-door:hover .pg-char { opacity: 1; transform: translateY(-2px); }
.pg-label {
    font-size: 11px;
    color: rgba(247,243,238,0.4);
    letter-spacing: 3px;
    white-space: nowrap;
    transition: color 0.3s;
}
.pg-door:hover .pg-label { color: rgba(247,243,238,0.75); }
@media (max-width: 1024px) { .practice-gateway { padding: 32px 20px; } .pg-door { padding: 22px 20px; } }
@media (max-width: 600px) { .pg-char { font-size: 22px; } .pg-label { font-size: 9px; letter-spacing: 1px; } .pg-door { padding: 18px 12px; gap: 8px; } .pg-inner { flex-wrap: wrap; min-width: unset; } .pg-door { flex: 1 1 30%; min-width: 0; } }

/* ── 共鸣角 ── */
.resonance-section {
    background: var(--white);
    padding: 96px 120px;
    scroll-margin-top: 76px;
}
.resonance-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 48px;
}
.resonance-card {
    padding: 28px 28px 24px;
    border: 1px solid rgba(0,0,0,0.06);
    border-radius: 3px;
    background: var(--bg-color);
    transition: all 0.4s cubic-bezier(0.4,0,0.2,1);
    position: relative;
}
.resonance-card::before {
    content: '◈';
    position: absolute;
    top: 20px;
    right: 22px;
    font-size: 12px;
    color: rgba(184,134,11,0.25);
    transition: opacity 0.3s;
}
.resonance-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(0,0,0,0.07);
    border-color: rgba(184,134,11,0.18);
}
.resonance-quote {
    font-size: 15px;
    font-weight: 300;
    letter-spacing: 0.5px;
    line-height: 2;
    color: var(--text-primary);
    display: block;
    margin-bottom: 18px;
    font-style: italic;
}
.resonance-quote em { font-style: normal; color: var(--accent-red); }
.resonance-meta {
    display: flex;
    align-items: center;
    gap: 10px;
}
.resonance-dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--accent-gold);
    opacity: 0.5;
    flex-shrink: 0;
}
.resonance-from {
    font-size: 11px;
    color: var(--text-secondary);
    letter-spacing: 2px;
    opacity: 0.75;
}
.resonance-footer {
    text-align: center;
    margin-top: 36px;
}
.resonance-note {
    font-size: 12px;
    color: var(--text-secondary);
    letter-spacing: 3px;
    opacity: 0.55;
}
@media (max-width: 1024px) {
    .resonance-section { padding: 52px 40px; }
    .resonance-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    .resonance-section { padding: 40px 20px; }
    .resonance-grid { grid-template-columns: 1fr; }
}

/* ── 禅定计时器入口链接 ── */
.timer-entry-link {
    display: inline-block;
    margin-top: 14px;
    font-size: 12px;
    color: var(--accent-gold);
    letter-spacing: 3px;
    text-decoration: none;
    border-bottom: 1px solid rgba(184,134,11,0.25);
    padding-bottom: 1px;
    transition: all 0.3s;
    opacity: 0.8;
}
.timer-entry-link:hover { opacity: 1; border-bottom-color: var(--accent-gold); }

/* ── 七门入禅 · 读者路径导航 ── */
.seven-gates-section {
    padding: 72px 120px;
    background: var(--white);
    border-top: 1px solid rgba(0,0,0,0.05);
    border-bottom: 1px solid rgba(0,0,0,0.05);
    position: relative;
    overflow: hidden;
    scroll-margin-top: 76px;
}
.seven-gates-section::before {
    content: '門';
    position: absolute;
    font-size: 420px;
    color: rgba(255,255,255,0.018);
    font-family: var(--serif);
    right: -60px; top: 50%;
    transform: translateY(-50%);
    line-height: 1;
    pointer-events: none;
    font-weight: 200;
}
/* 新增：门之光晕效果 */
.seven-gates-section::after {
    content: '';
    position: absolute;
    top: -50%; left: -50%;
    width: 200%; height: 200%;
    background: radial-gradient(circle at 30% 40%, rgba(184,134,11,0.04) 0%, transparent 60%);
    pointer-events: none;
    animation: gateGlow 8s ease-in-out infinite;
}
@keyframes gateGlow {
    0%, 100% { opacity: 0.4; transform: scale(1); }
    50% { opacity: 0.7; transform: scale(1.05); }
}
.seven-gates-header { text-align: center; margin-bottom: 52px; }
.seven-gates-label {
    font-size: 10px;
    color: var(--accent-gold);
    letter-spacing: 7px;
    text-transform: uppercase;
    display: block;
    margin-bottom: 16px;
    opacity: 0.75;
}
.seven-gates-title {
    font-size: 30px;
    font-weight: 300;
    letter-spacing: 6px;
    color: rgba(247,243,238,0.88);
    line-height: 1.65;
    margin-bottom: 14px;
}
.seven-gates-desc {
    font-size: 13.5px;
    color: rgba(247,243,238,0.38);
    letter-spacing: 1.5px;
    line-height: 2;
    max-width: 500px;
    margin: 0 auto;
}
.gates-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    max-width: 1100px;
    margin: 0 auto;
}
.gates-grid-bottom {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    max-width: 825px;
    margin: 14px auto 0;
}
.gate-card {
    display: flex;
    flex-direction: column;
    padding: 28px 22px 24px;
    border: 1px solid rgba(247,243,238,0.07);
    border-radius: 2px;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    background: rgba(247,243,238,0.025);
}
.gate-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(184,134,11,0.07) 0%, transparent 70%);
    opacity: 0;
    transition: opacity 0.4s ease;
}
/* 增强：门卡片底部光条 */
.gate-card::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0;
    width: 100%; height: 3px;
    background: linear-gradient(90deg, var(--accent-gold) 0%, var(--accent-red) 100%);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.gate-card:hover {
    border-color: rgba(184,134,11,0.32);
    background: rgba(247,243,238,0.045);
    transform: translateY(-3px);
}
.gate-card:hover::before { opacity: 1; }
.gate-card:hover::after { transform: scaleX(1); }
.gate-char {
    font-size: 50px;
    font-weight: 200;
    color: var(--accent-gold);
    line-height: 1;
    margin-bottom: 14px;
    font-family: var(--serif);
    opacity: 0.8;
    transition: opacity 0.3s ease, transform 0.35s ease;
    display: block;
}
.gate-card:hover .gate-char { opacity: 1; transform: scale(1.06); }
.gate-for {
    font-size: 10px;
    color: rgba(247,243,238,0.3);
    letter-spacing: 3px;
    margin-bottom: 8px;
    display: block;
}
.gate-title {
    font-size: 14.5px;
    font-weight: 500;
    color: rgba(247,243,238,0.82);
    letter-spacing: 2px;
    margin-bottom: 10px;
    display: block;
    line-height: 1.5;
}
.gate-desc {
    font-size: 12px;
    color: rgba(247,243,238,0.35);
    letter-spacing: 0.5px;
    line-height: 2;
    flex: 1;
}
.gate-arrow {
    font-size: 11px;
    color: var(--accent-red);
    letter-spacing: 3px;
    margin-top: 16px;
    display: block;
    opacity: 0;
    transform: translateX(-8px);
    transition: opacity 0.3s ease, transform 0.3s ease;
}
.gate-card:hover .gate-arrow { opacity: 1; transform: translateX(0); }
@media (max-width: 1024px) {
    .seven-gates-section { padding: 52px 40px; }
    .gates-grid { grid-template-columns: repeat(2, 1fr); }
    .gates-grid-bottom { grid-template-columns: repeat(3, 1fr); max-width: 100%; }
}
@media (max-width: 600px) {
    .seven-gates-section { padding: 40px 20px; }
    .gates-grid, .gates-grid-bottom { grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .seven-gates-title { font-size: 22px; letter-spacing: 4px; }
    .gate-char { font-size: 38px; }
    .gate-card { padding: 20px 14px; }
    .gate-desc { display: none; }
}

/* ── 祖师一击 · 机锋精粹 ── */
.strikes-section {
    padding: 72px 120px;
    background: var(--bg-color);
    scroll-margin-top: 76px;
}
.strikes-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-top: 48px;
}
.strike-card {
    padding: 28px 22px;
    background: var(--white);
    border-radius: 2px;
    border: 1px solid rgba(0,0,0,0.05);
    box-shadow: 0 4px 16px rgba(0,0,0,0.04);
    display: flex;
    flex-direction: column;
    gap: 14px;
    transition: var(--transition);
    position: relative;
    overflow: hidden;
}
.strike-card::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0;
    width: 0; height: 2px;
    background: var(--accent-red);
    transition: width 0.4s ease;
}
.strike-card:hover { transform: translateY(-5px); box-shadow: 0 16px 40px rgba(0,0,0,0.09); }
.strike-card:hover::after { width: 100%; }
.strike-setup {
    font-size: 12px;
    color: var(--text-secondary);
    letter-spacing: 0.5px;
    line-height: 1.9;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(0,0,0,0.05);
    margin: 0;
}
.strike-response {
    font-size: 28px;
    font-weight: 300;
    color: var(--text-primary);
    letter-spacing: 5px;
    line-height: 1.4;
    font-family: var(--serif);
    display: block;
}
.strike-meta {
    font-size: 11px;
    color: var(--accent-gold);
    letter-spacing: 3px;
    display: block;
}
.strike-gloss {
    font-size: 11px;
    color: var(--text-secondary);
    letter-spacing: 1px;
    line-height: 1.8;
    opacity: 0.7;
    margin-top: auto;
    display: block;
    border-top: 1px solid rgba(0,0,0,0.04);
    padding-top: 12px;
}
.strikes-cta-wrap { text-align: center; margin-top: 40px; }
@media (max-width: 1024px) {
    .strikes-section { padding: 52px 40px; }
    .strikes-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    .strikes-section { padding: 40px 20px; }
    .strikes-grid { grid-template-columns: 1fr; gap: 14px; }
    .strike-response { font-size: 24px; }
}

/* ── 禅与此刻 · 情境连接 ── */
.zen-now-section {
    padding: 72px 120px;
    background: var(--section-alt-bg);
    border-top: 1px solid rgba(184,134,11,0.1);
    border-bottom: 1px solid rgba(184,134,11,0.1);
    scroll-margin-top: 76px;
}
.zen-now-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    margin-top: 48px;
}
.zen-now-card {
    padding: 32px 26px;
    background: var(--white);
    border-radius: 2px;
    border: 1px solid rgba(0,0,0,0.05);
    box-shadow: 0 4px 14px rgba(0,0,0,0.035);
    transition: var(--transition);
    display: flex;
    flex-direction: column;
}
.zen-now-card:hover { transform: translateY(-4px); box-shadow: 0 14px 36px rgba(0,0,0,0.08); }
.zen-now-when {
    font-size: 10px;
    color: var(--accent-red);
    letter-spacing: 4px;
    margin-bottom: 10px;
    display: block;
    opacity: 0.85;
}
.zen-now-situation {
    font-size: 13px;
    color: var(--text-tertiary);
    letter-spacing: 0.5px;
    line-height: 1.9;
    margin-bottom: 20px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(0,0,0,0.055);
}
.zen-now-response {
    font-size: 24px;
    font-weight: 300;
    color: var(--text-primary);
    letter-spacing: 5px;
    line-height: 1.6;
    margin-bottom: 10px;
    font-family: var(--serif);
    display: block;
}
.zen-now-master {
    font-size: 11px;
    color: var(--accent-gold);
    letter-spacing: 3px;
    display: block;
    margin-bottom: 16px;
}
.zen-now-link {
    display: inline-block;
    margin-top: auto;
    font-size: 11px;
    color: var(--accent-red);
    letter-spacing: 3px;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-color 0.3s;
    padding-bottom: 1px;
}
.zen-now-link:hover { border-bottom-color: var(--accent-red); }
@media (max-width: 1024px) {
    .zen-now-section { padding: 52px 40px; }
    .zen-now-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    .zen-now-section { padding: 40px 20px; }
    .zen-now-grid { grid-template-columns: 1fr; gap: 14px; }
    .zen-now-response { font-size: 20px; }
}

/* ── 本月禅字历 ── */
.zen-calendar-section {
    padding: 52px 120px;
    background: var(--section-alt-bg);
    border-top: 1px solid rgba(0,0,0,0.06);
    border-bottom: 1px solid rgba(0,0,0,0.06);
}







.zcal-cell.empty { background: transparent; border-color: transparent; }


.zcal-cell.today 
.zcal-cell.today 
.zcal-cell:not(.empty):not(.today):hover { background: rgba(255,255,255,0.85); transform: translateY(-2px); }






.zcal-nav-link:hover { border-bottom-color: var(--accent-red); }
@media (max-width: 1024px) { .zen-calendar-section { padding: 44px 40px; } }
@media (max-width: 600px) {
    .zen-calendar-section { padding: 36px 20px; }
    
    
}

/* ── 开悟传奇 ── */
.awaken-section {
    padding: 72px 120px;
    background: var(--section-alt-bg);
    color: var(--text-primary);
    overflow: hidden;
}
.awaken-label {
    font-size: 10px;
    letter-spacing: 8px;
    text-transform: uppercase;
    color: var(--accent-gold);
    display: block;
    margin-bottom: 18px;
}
.awaken-title {
    font-size: 28px;
    font-weight: 300;
    letter-spacing: 5px;
    color: rgba(247,243,238,0.95);
    margin-bottom: 12px;
}
.awaken-desc {
    font-size: 14px;
    letter-spacing: 1px;
    color: rgba(247,243,238,0.5);
    line-height: 1.9;
    max-width: 680px;
    margin-bottom: 48px;
}
.awaken-scroll {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.awaken-card {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 2px;
    padding: 32px 28px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    transition: background 0.3s, transform 0.3s;
}
.awaken-card:hover {
    background: rgba(255,255,255,0.09);
    transform: translateY(-4px);
}
.awaken-trigger-tag {
    font-size: 9px;
    letter-spacing: 5px;
    text-transform: uppercase;
    color: var(--accent-gold);
    border: 1px solid rgba(184,134,11,0.35);
    display: inline-block;
    padding: 3px 12px;
    border-radius: 20px;
    width: fit-content;
}
.awaken-master-name {
    font-size: 20px;
    font-weight: 300;
    letter-spacing: 4px;
    color: rgba(247,243,238,0.95);
}
.awaken-era {
    font-size: 11px;
    letter-spacing: 2px;
    color: rgba(247,243,238,0.35);
}
.awaken-before {
    font-size: 13px;
    letter-spacing: 0.5px;
    color: rgba(247,243,238,0.55);
    line-height: 1.9;
    border-left: 2px solid rgba(255,255,255,0.1);
    padding-left: 14px;
    flex: 1;
}
.awaken-moment {
    font-size: 12px;
    letter-spacing: 2px;
    color: rgba(197,61,67,0.8);
    text-transform: uppercase;
}
.awaken-verse {
    font-size: 15px;
    font-weight: 300;
    letter-spacing: 1.5px;
    color: rgba(247,243,238,0.85);
    line-height: 2;
    border-top: 1px solid rgba(255,255,255,0.08);
    padding-top: 14px;
    font-style: italic;
}
.awaken-source {
    font-size: 11px;
    letter-spacing: 3px;
    color: rgba(247,243,238,0.3);
}
.awaken-cta {
    margin-top: 44px;
    text-align: center;
}
.awaken-cta-link {
    display: inline-block;
    padding: 12px 40px;
    border: 1px solid rgba(247,243,238,0.2);
    color: rgba(247,243,238,0.7);
    text-decoration: none;
    font-size: 12px;
    letter-spacing: 4px;
    transition: all 0.4s;
    border-radius: 1px;
}
.awaken-cta-link:hover {
    border-color: rgba(247,243,238,0.5);
    color: rgba(247,243,238,0.95);
    background: rgba(255,255,255,0.05);
}
@media (max-width: 1024px) {
    .awaken-section { padding: 56px 40px; }
    .awaken-scroll { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    .awaken-section { padding: 44px 20px; }
    .awaken-scroll { grid-template-columns: 1fr; gap: 16px; }
    .awaken-title { font-size: 22px; letter-spacing: 4px; }
    .awaken-card { padding: 24px 20px; }
}
























.jq-node.current 
.jq-node.current 
.jq-node.current 



@media (max-width: 960px) {
    
    
    
}
@media (max-width: 600px) {
    
    
    
    
    
    
}

/* ─────────────────────────────────────────
   问禅 · Q&A Showcase Section
   ───────────────────────────────────────── */
.zenqa-showcase {
    padding: 72px 120px;
    background: var(--bg-color);
    border-top: 1px solid rgba(0,0,0,0.05);
    border-bottom: 1px solid rgba(0,0,0,0.05);
}
.zenqa-showcase-inner {
    max-width: 780px;
    margin: 0 auto;
}
.zenqa-showcase-header { text-align: center; margin-bottom: 52px; }
.zenqa-list { display: flex; flex-direction: column; }
.zenqa-item { border-bottom: 1px solid rgba(0,0,0,0.07); }
.zenqa-item:last-child { border-bottom: none; }
.zenqa-q {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    padding: 22px 0;
    cursor: pointer;
    background: none;
    border: none;
    width: 100%;
    text-align: left;
    font-family: var(--serif);
    transition: color 0.2s;
}
.zenqa-q:hover .zenqa-q-text { color: var(--accent-red); }
.zenqa-q-mark {
    font-size: 13px;
    color: var(--accent-red);
    letter-spacing: 2px;
    flex-shrink: 0;
    margin-top: 3px;
    opacity: 0.7;
    width: 20px;
    text-align: center;
    font-weight: 300;
}
.zenqa-q-text {
    font-size: 15.5px;
    color: var(--text-primary);
    letter-spacing: 1px;
    line-height: 1.75;
    font-weight: 400;
    flex: 1;
    transition: color 0.2s;
}
.zenqa-q-arrow {
    font-size: 10px;
    color: var(--text-secondary);
    opacity: 0.4;
    flex-shrink: 0;
    margin-top: 6px;
    transition: transform 0.3s ease, opacity 0.2s;
}
.zenqa-item.open .zenqa-q-arrow {
    transform: rotate(90deg);
    opacity: 0.8;
    color: var(--accent-red);
}
.zenqa-a {
    display: none;
    padding: 0 0 26px 38px;
}
.zenqa-item.open .zenqa-a { display: block; }
.zenqa-a-text {
    font-size: 14px;
    color: var(--text-secondary);
    line-height: 2.1;
    letter-spacing: 0.5px;
    border-left: 2px solid rgba(197,61,67,0.3);
    padding-left: 18px;
}
.zenqa-a-source {
    font-size: 11px;
    color: var(--accent-gold);
    letter-spacing: 2.5px;
    display: block;
    margin-top: 12px;
    padding-left: 20px;
    opacity: 0.75;
}
.zenqa-cta-wrap {
    text-align: center;
    margin-top: 48px;
    padding-top: 40px;
    border-top: 1px solid rgba(0,0,0,0.06);
}
.zenqa-cta-note {
    font-size: 12px;
    color: var(--text-secondary);
    letter-spacing: 3px;
    display: block;
    margin-bottom: 20px;
    opacity: 0.7;
}
.zenqa-cta-btn {
    display: inline-block;
    padding: 13px 38px;
    background: transparent;
    border: 1px solid var(--accent-red);
    color: var(--accent-red);
    text-decoration: none;
    font-family: var(--serif);
    font-size: 13px;
    letter-spacing: 4px;
    transition: all 0.3s ease;
    border-radius: 1px;
}
.zenqa-cta-btn:hover { background: var(--accent-red); color: white; }
@media (max-width: 960px) { .zenqa-showcase { padding: 52px 40px; } }
@media (max-width: 600px) {
    .zenqa-showcase { padding: 40px 20px; }
    .zenqa-q-text { font-size: 14px; }
    .zenqa-a { padding-left: 0; }
    .zenqa-a-text { padding-left: 14px; }
}

/* ── 今日修行整合区 ── */
.today-practice-section {
    padding: 52px 120px;
    background: linear-gradient(135deg, rgba(247,243,238,0.9) 0%, rgba(255,255,255,0.95) 100%);
    border-top: 1px solid rgba(184,134,11,0.12);
    border-bottom: 1px solid rgba(184,134,11,0.12);
    scroll-margin-top: 76px;
}
.tp-inner { max-width: 1100px; margin: 0 auto; }
.tp-label {
    font-size: 10px;
    color: var(--accent-red);
    letter-spacing: 6px;
    text-transform: uppercase;
    display: block;
    text-align: center;
    margin-bottom: 32px;
    opacity: 0.85;
}
.tp-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
    margin-bottom: 24px;
}
.tp-card {
    background: var(--white);
    border: 1px solid rgba(184,134,11,0.15);
    border-radius: 3px;
    padding: 24px 16px;
    text-align: center;
    transition: all 0.35s cubic-bezier(0.4,0,0.2,1);
    position: relative;
    overflow: hidden;
}
.tp-card::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 2px;
    background: var(--accent-gold);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.35s ease;
}
.tp-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(0,0,0,0.06);
    border-color: rgba(184,134,11,0.3);
}
.tp-card:hover::after { transform: scaleX(1); }
.tp-card-highlight {
    background: linear-gradient(135deg, rgba(197,61,67,0.04) 0%, rgba(184,134,11,0.04) 100%);
    border-color: rgba(197,61,67,0.25);
}
.tp-char {
    font-size: 36px;
    font-weight: 200;
    color: var(--accent-gold);
    display: block;
    margin-bottom: 12px;
    line-height: 1;
    opacity: 0.85;
}
.tp-card-highlight .tp-char { color: var(--accent-red); }
.tp-title {
    font-size: 14px;
    color: var(--text-primary);
    letter-spacing: 1px;
    display: block;
    margin-bottom: 8px;
    line-height: 1.5;
    min-height: 42px;
}
.tp-desc {
    font-size: 10px;
    color: var(--text-secondary);
    letter-spacing: 2px;
    display: block;
    margin-bottom: 14px;
    text-transform: uppercase;
}
.tp-link {
    font-size: 11px;
    color: var(--accent-red);
    letter-spacing: 2px;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: all 0.3s;
    display: inline-block;
}
.tp-link:hover { border-bottom-color: var(--accent-red); }
.tp-checkin {
    background: var(--accent-red);
    color: white;
    border: none;
    padding: 8px 20px;
    font-size: 11px;
    letter-spacing: 3px;
    border-radius: 2px;
    cursor: pointer;
    transition: all 0.3s;
    font-family: var(--serif);
}
.tp-checkin:hover {
    background: #a83035;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(197,61,67,0.3);
}
.tp-checkin.checked-in {
    background: rgba(184,134,11,0.3);
    color: var(--accent-gold);
    cursor: default;
    transform: none;
    box-shadow: none;
}
.tp-footer { text-align: center; padding-top: 16px; }
.tp-note {
    font-size: 11px;
    color: var(--text-secondary);
    letter-spacing: 3px;
    opacity: 0.7;
}
@media (max-width: 1024px) {
    .today-practice-section { padding: 40px 40px; }
    .tp-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 600px) {
    .today-practice-section { padding: 32px 20px; }
    .tp-grid { grid-template-columns: repeat(2, 1fr); }
    .tp-char { font-size: 28px; }
    .tp-title { font-size: 12px; min-height: 36px; }
}

/* ── 同修见证区 ── */
.testimonials-section {
    padding: 96px 120px;
    background: var(--white);
    scroll-margin-top: 76px;
}
.testi-inner { max-width: 900px; margin: 0 auto; }
.testi-label {
    font-size: 10px;
    color: var(--accent-gold);
    letter-spacing: 6px;
    text-transform: uppercase;
    display: block;
    text-align: center;
    margin-bottom: 12px;
    opacity: 0.8;
}
.testi-title {
    font-size: 26px;
    font-weight: 300;
    color: var(--text-primary);
    letter-spacing: 4px;
    text-align: center;
    margin-bottom: 42px;
}
.testi-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 36px;
}
.testi-card {
    background: var(--bg-color);
    border: 1px solid rgba(0,0,0,0.05);
    border-radius: 3px;
    padding: 28px 24px;
    transition: all 0.35s ease;
    position: relative;
}
.testi-card::before {
    content: '"';
    position: absolute;
    top: 16px; left: 20px;
    font-size: 42px;
    color: var(--accent-gold);
    opacity: 0.2;
    line-height: 1;
    font-family: Georgia, serif;
}
.testi-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 32px rgba(0,0,0,0.05);
    border-color: rgba(184,134,11,0.2);
}
.testi-text {
    font-size: 14px;
    color: var(--text-primary);
    line-height: 2;
    letter-spacing: 0.5px;
    display: block;
    margin-bottom: 16px;
    padding-left: 12px;
}
.testi-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    padding-top: 16px;
    border-top: 1px solid rgba(0,0,0,0.05);
}
.testi-dot {
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--accent-gold);
    opacity: 0.5;
    flex-shrink: 0;
}
.testi-from {
    font-size: 10px;
    color: var(--text-secondary);
    letter-spacing: 2px;
}
.testi-footer {
    text-align: center;
    padding-top: 24px;
    border-top: 1px solid rgba(0,0,0,0.05);
}
.testi-note {
    font-size: 11px;
    color: var(--text-secondary);
    letter-spacing: 2px;
    opacity: 0.7;
}
@media (max-width: 1024px) {
    .testimonials-section { padding: 52px 40px; }
    .testi-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    .testimonials-section { padding: 40px 20px; }
    .testi-grid { grid-template-columns: 1fr; }
    .testi-title { font-size: 20px; letter-spacing: 3px; }
}

/* ── 七日禅修引导区 ── */
.seven-day-challenge {
    padding: 96px 120px;
    background: linear-gradient(135deg, #1a1815 0%, #2a2622 100%);
    color: rgba(247,243,238,0.9);
    scroll-margin-top: 76px;
    position: relative;
    overflow: hidden;
}
.seven-day-challenge::before {
    content: '七';
    position: absolute;
    right: -40px; top: 50%;
    transform: translateY(-50%);
    font-size: 280px;
    color: rgba(184,134,11,0.04);
    font-family: var(--serif);
    line-height: 1;
    pointer-events: none;
    font-weight: 200;
}
.sdc-inner { max-width: 800px; margin: 0 auto; position: relative; }
.sdc-label {
    font-size: 10px;
    color: var(--accent-gold);
    letter-spacing: 6px;
    text-transform: uppercase;
    display: block;
    text-align: center;
    margin-bottom: 14px;
    opacity: 0.8;
}
.sdc-title {
    font-size: 28px;
    font-weight: 300;
    color: rgba(247,243,238,0.95);
    letter-spacing: 4px;
    text-align: center;
    margin-bottom: 12px;
}
.sdc-subtitle {
    font-size: 14px;
    color: rgba(247,243,238,0.5);
    letter-spacing: 1px;
    text-align: center;
    line-height: 2;
    margin-bottom: 36px;
}
.sdc-steps {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 8px;
    margin-bottom: 36px;
}
.sdc-step {
    text-align: center;
    padding: 16px 8px;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(247,243,238,0.08);
    border-radius: 2px;
    transition: all 0.3s;
}
.sdc-step.completed {
    background: rgba(184,134,11,0.15);
    border-color: rgba(184,134,11,0.4);
}
.sdc-step.current {
    border-color: var(--accent-red);
    background: rgba(197,61,67,0.1);
}
.sdc-day {
    font-size: 9px;
    color: rgba(247,243,238,0.35);
    letter-spacing: 2px;
    display: block;
    margin-bottom: 6px;
    text-transform: uppercase;
}
.sdc-task {
    font-size: 12px;
    color: rgba(247,243,238,0.75);
    letter-spacing: 1px;
    display: block;
    line-height: 1.5;
}
.sdc-step.completed .sdc-task { color: var(--accent-gold); }
.sdc-cta {
    text-align: center;
}
.sdc-btn {
    display: inline-block;
    padding: 14px 42px;
    background: var(--accent-red);
    color: white;
    text-decoration: none;
    font-size: 13px;
    letter-spacing: 4px;
    border-radius: 2px;
    transition: all 0.3s;
}
.sdc-btn:hover {
    background: #a83035;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(197,61,67,0.35);
}
@media (max-width: 1024px) {
    .seven-day-challenge { padding: 52px 40px; }
    .sdc-steps { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 600px) {
    .seven-day-challenge { padding: 40px 20px; }
    .sdc-steps { grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .sdc-title { font-size: 22px; letter-spacing: 3px; }
    .sdc-step { padding: 12px 6px; }
    .sdc-task { font-size: 10px; }
}

/* ── 禅可说乎 · 杂志式新版（视觉统一修复） ── */
.zks-magazine {
    padding: 0;
    background: linear-gradient(135deg, var(--section-alt-bg) 0%, rgba(255,255,255,0.9) 100%);
    scroll-margin-top: 76px;
    overflow: hidden;
}
.zks-mag-header {
    padding: 56px 120px 40px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    border-bottom: 1px solid rgba(184,134,11,0.18);
}
.zks-mag-brand {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.zks-mag-eyebrow {
    font-size: 10px;
    letter-spacing: 6px;
    color: var(--accent-red);
    text-transform: uppercase;
}
.zks-mag-title {
    font-size: 32px;
    font-weight: 300;
    color: var(--text-primary);
    letter-spacing: 6px;
}
.zks-mag-tagline {
    font-size: 13px;
    color: var(--text-secondary);
    letter-spacing: 2px;
    max-width: 380px;
    line-height: 1.9;
}
.zks-mag-datestamp {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}
.zks-mag-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--accent-red);
    animation: zksPulse 2s ease-in-out infinite;
}
@keyframes zksPulse {
    0%,100% { opacity: 1; }
    50% { opacity: 0.3; }
}
.zks-mag-date-text {
    font-size: 12px;
    color: var(--text-secondary);
    letter-spacing: 2px;
}
.zks-mag-body {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 0;
}
.zks-mag-feature {
    padding: 52px 64px 56px 120px;
    border-right: 1px solid rgba(184,134,11,0.12);
    display: flex;
    flex-direction: column;
    gap: 20px;
    min-height: 340px;
}
.zks-mag-feature-tag {
    font-size: 10px;
    letter-spacing: 5px;
    color: var(--accent-red);
    text-transform: uppercase;
}
.zks-mag-feature-title {
    font-size: 36px;
    font-weight: 300;
    color: var(--text-primary);
    letter-spacing: 3px;
    line-height: 1.55;
}
.zks-mag-feature-summary {
    font-size: 14px;
    color: var(--text-secondary);
    letter-spacing: 0.5px;
    line-height: 2;
    max-width: 520px;
    flex: 1;
}
.zks-mag-read-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--accent-gold);
    text-decoration: none;
    font-size: 13px;
    letter-spacing: 3px;
    padding-bottom: 2px;
    border-bottom: 1px solid rgba(184,134,11,0.35);
    transition: all 0.3s;
    width: fit-content;
}
.zks-mag-read-link:hover { color: var(--accent-red); border-color: var(--accent-red); }
.zks-mag-sidebar {
    padding: 36px 36px 36px 32px;
    display: flex;
    flex-direction: column;
    gap: 0;
}
.zks-mag-sidebar-title {
    font-size: 10px;
    letter-spacing: 5px;
    color: var(--accent-gold);
    text-transform: uppercase;
    margin-bottom: 20px;
    display: block;
}
.zks-mag-item {
    display: flex;
    gap: 14px;
    padding: 16px 0;
    border-bottom: 1px solid rgba(0,0,0,0.04);
    text-decoration: none;
    transition: background 0.25s;
}
.zks-mag-item:hover .zks-mag-item-title { color: var(--accent-red); }
.zks-mag-item-date {
    font-size: 10px;
    color: var(--text-secondary);
    letter-spacing: 1px;
    flex-shrink: 0;
    padding-top: 2px;
    min-width: 36px;
}
.zks-mag-item-title {
    font-size: 13px;
    color: var(--text-primary);
    letter-spacing: 0.5px;
    line-height: 1.7;
    transition: color 0.25s;
}
.zks-mag-footer {
    padding: 24px 120px;
    border-top: 1px solid rgba(184,134,11,0.12);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}
.zks-mag-footer-text {
    font-size: 12px;
    color: var(--text-secondary);
    letter-spacing: 2px;
}
.zks-mag-footer-link {
    font-size: 12px;
    color: var(--text-tertiary);
    letter-spacing: 3px;
    text-decoration: none;
    border-bottom: 1px solid rgba(0,0,0,0.1);
    padding-bottom: 2px;
    transition: all 0.3s;
}
.zks-mag-footer-link:hover { color: var(--accent-red); border-color: var(--accent-red); }
@media (max-width: 1024px) {
    .zks-mag-header { padding: 44px 40px 32px; }
    .zks-mag-body { grid-template-columns: 1fr; }
    .zks-mag-feature { padding: 40px 40px 40px 40px; border-right: none; border-bottom: 1px solid rgba(184,134,11,0.12); }
    .zks-mag-sidebar { padding: 28px 40px; }
    .zks-mag-footer { padding: 20px 40px; }
}
@media (max-width: 600px) {
    .zks-mag-header { padding: 36px 20px 24px; }
    .zks-mag-title { font-size: 24px; }
    .zks-mag-feature { padding: 32px 20px; min-height: auto; }
    .zks-mag-feature-title { font-size: 24px; }
    .zks-mag-sidebar { padding: 24px 20px; }
    .zks-mag-footer { padding: 18px 20px; flex-direction: column; gap: 10px; text-align: center; }
}

/* ── 此刻·禅 情境区块 ── */
.zen-moment-section {
    padding: 72px 120px;
    background: linear-gradient(135deg, #1a1815 0%, #2a2622 50%, #1a1815 100%);
    position: relative;
    overflow: hidden;
    scroll-margin-top: 76px;
}
.zen-moment-section::before {
    content: attr(data-moment-char);
    position: absolute;
    font-size: 420px;
    color: rgba(184,134,11,0.03);
    font-family: var(--serif);
    right: -40px; top: 50%;
    transform: translateY(-50%);
    line-height: 1;
    pointer-events: none;
    font-weight: 200;
}
.zen-moment-header { text-align: center; margin-bottom: 48px; }
.zen-moment-label { font-size: 10px; color: var(--accent-gold); letter-spacing: 7px; text-transform: uppercase; display: block; margin-bottom: 16px; opacity: 0.8; }
.zen-moment-title { font-size: 28px; font-weight: 300; color: rgba(247,243,238,0.92); letter-spacing: 5px; line-height: 1.6; margin-bottom: 12px; }
.zen-moment-time { font-size: 12px; color: rgba(247,243,238,0.45); letter-spacing: 3px; display: block; margin-bottom: 32px; }
.zen-moment-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; max-width: 1000px; margin: 0 auto; }
.zen-moment-card { background: rgba(255,255,255,0.03); border: 1px solid rgba(184,134,11,0.12); border-radius: 3px; padding: 32px 28px; text-align: center; transition: all 0.4s ease; cursor: pointer; position: relative; overflow: hidden; }
.zen-moment-card::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 2px; background: var(--accent-gold); transform: scaleX(0); transform-origin: center; transition: transform 0.4s ease; }
.zen-moment-card:hover { background: rgba(255,255,255,0.06); border-color: rgba(184,134,11,0.25); transform: translateY(-4px); }
.zen-moment-card:hover::after { transform: scaleX(1); }
@media (max-width: 1024px) { .zen-moment-section { padding: 52px 40px; } .zen-moment-grid { grid-template-columns: 1fr; max-width: 420px; } }
@media (max-width: 600px) { .zen-moment-section { padding: 40px 20px; } .zen-moment-title { font-size: 22px; letter-spacing: 3px; } .zm-quote { font-size: 18px; } }

/* ── 时辰禅内容区 ── */
.zen-moment-content {
    max-width: 720px;
    margin: 0 auto 40px;
    text-align: center;
    padding: 48px 40px;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(184,134,11,0.15);
    border-radius: 4px;
}
.zen-moment-footer {
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
}
@media (max-width: 600px) {
    .zen-moment-content { padding: 32px 20px; }
    .zm-content-text { font-size: 18px; }
    .zen-moment-footer { flex-direction: column; gap: 12px; }
}

/* ── 禅语分享卡 ── */
.sharecards-section {
    padding: 72px 120px;
    background: var(--section-alt-bg);
    scroll-margin-top: 76px;
}
.sharecards-header {
    text-align: center;
    margin-bottom: 48px;
}
.sharecards-title {
    font-size: 28px;
    font-weight: 400;
    letter-spacing: 4px;
    margin-bottom: 12px;
}
.sharecards-desc {
    font-size: 14px;
    color: var(--text-secondary);
    letter-spacing: 1px;
    line-height: 2;
}
.sharecards-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.sharecard {
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 12px 40px rgba(0,0,0,0.1);
    display: flex;
    flex-direction: column;
}
.sharecard-body {
    padding: 40px 32px 36px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.sharecard.sc-paper .sharecard-body { background: #F7F3EE; }
.sharecard.sc-ink .sharecard-body { background: #1e1c19; }
.sharecard.sc-red .sharecard-body { background: #C53D43; }
.sharecard-glyph {
    font-size: 64px;
    font-weight: 300;
    line-height: 1;
    display: block;
}
.sharecard.sc-paper .sharecard-glyph { color: var(--accent-red); }
.sharecard.sc-ink .sharecard-glyph { color: var(--accent-gold); }
.sharecard.sc-red .sharecard-glyph { color: rgba(247,243,238,0.85); }
.sharecard-quote {
    font-size: 16px;
    letter-spacing: 2px;
    line-height: 2;
    font-weight: 400;
    flex: 1;
}
.sharecard.sc-paper .sharecard-quote { color: var(--text-primary); }
.sharecard.sc-ink .sharecard-quote { color: rgba(247,243,238,0.8); }
.sharecard.sc-red .sharecard-quote { color: rgba(247,243,238,0.92); }
.sharecard-source {
    font-size: 11px;
    letter-spacing: 2px;
}
.sharecard.sc-paper .sharecard-source { color: var(--text-secondary); }
.sharecard.sc-ink .sharecard-source { color: rgba(184,134,11,0.7); }
.sharecard.sc-red .sharecard-source { color: rgba(247,243,238,0.55); }
.sharecard-brand {
    font-size: 9px;
    letter-spacing: 3px;
    text-transform: uppercase;
}
.sharecard.sc-paper .sharecard-brand { color: rgba(45,43,40,0.2); }
.sharecard.sc-ink .sharecard-brand { color: rgba(184,134,11,0.3); }
.sharecard.sc-red .sharecard-brand { color: rgba(247,243,238,0.2); }
.sharecard-footer {
    padding: 14px 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.sharecard.sc-paper .sharecard-footer { background: #EDE8E1; }
.sharecard.sc-ink .sharecard-footer { background: #13110E; }
.sharecard.sc-red .sharecard-footer { background: rgba(0,0,0,0.15); }
.sc-copy-btn {
    font-family: var(--serif);
    font-size: 12px;
    letter-spacing: 2px;
    cursor: pointer;
    padding: 7px 18px;
    border-radius: 2px;
    border: none;
    transition: all 0.3s;
}
.sharecard.sc-paper .sc-copy-btn { background: var(--text-primary); color: var(--bg-color); }
.sharecard.sc-ink .sc-copy-btn { background: var(--accent-gold); color: #13110E; }
.sharecard.sc-red .sc-copy-btn { background: rgba(247,243,238,0.15); color: rgba(247,243,238,0.9); border: 1px solid rgba(247,243,238,0.25); }
.sc-copy-btn.copied { background: #2d7a4a !important; color: white !important; border-color: transparent !important; }
.sc-hint {
    font-size: 10px;
    letter-spacing: 1px;
}
.sharecard.sc-paper .sc-hint { color: var(--text-secondary); }
.sharecard.sc-ink .sc-hint { color: rgba(247,243,238,0.25); }
.sharecard.sc-red .sc-hint { color: rgba(247,243,238,0.3); }
@media (max-width: 1024px) {
    .sharecards-section { padding: 52px 40px; }
    .sharecards-grid { grid-template-columns: 1fr; max-width: 440px; margin: 0 auto; }
}
@media (max-width: 600px) {
    .sharecards-section { padding: 40px 20px; }
}

/* ── 今日速览条 ── */
.today-strip {
    background: var(--white);
    border-bottom: 1px solid rgba(184, 134, 11, 0.10);
    padding: 16px 120px;
    position: relative;
    overflow: hidden;
}
.today-strip::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 2px;
    background: linear-gradient(90deg, var(--accent-red) 0%, var(--accent-gold) 55%, transparent 100%);
}
.today-strip-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 960px;
    margin: 0 auto;
}
.ts-label {
    font-size: 9px;
    letter-spacing: 7px;
    color: var(--accent-red);
    text-transform: uppercase;
    padding-right: 28px;
    border-right: 1px solid rgba(0,0,0,0.07);
    margin-right: 28px;
    white-space: nowrap;
    flex-shrink: 0;
}
.ts-item {
    text-align: center;
    flex: 1;
    padding: 0 20px;
    min-width: 0;
}
.ts-item-label {
    font-size: 9px;
    color: var(--accent-gold);
    letter-spacing: 4px;
    text-transform: uppercase;
    display: block;
    margin-bottom: 5px;
    opacity: 0.8;
}
.ts-char-display {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.ts-char-glyph {
    font-size: 30px;
    font-weight: 200;
    color: var(--text-primary);
    opacity: 0.65;
    line-height: 1;
}
.ts-char-meaning {
    font-size: 11px;
    color: var(--text-secondary);
    letter-spacing: 1.5px;
    text-align: left;
    line-height: 1.5;
}
.ts-preview-text {
    font-size: 12.5px;
    color: var(--text-primary);
    letter-spacing: 1px;
    display: block;
    line-height: 1.6;
    opacity: 0.72;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.ts-divider {
    width: 1px;
    height: 32px;
    background: rgba(0,0,0,0.07);
    flex-shrink: 0;
}
.ts-enter {
    display: inline-block;
    font-size: 10px;
    letter-spacing: 3px;
    color: var(--accent-red);
    text-decoration: none;
    border: 1px solid rgba(197, 61, 67, 0.22);
    padding: 7px 18px;
    border-radius: 1px;
    transition: var(--transition);
    margin-left: 28px;
    white-space: nowrap;
    flex-shrink: 0;
}
.ts-enter:hover { background: var(--accent-red); color: white; border-color: var(--accent-red); }
@media (max-width: 1024px) {
    .today-strip { padding: 14px 40px; }
    .ts-label { display: none; }
    .ts-item { padding: 0 12px; }
}
@media (max-width: 600px) {
    .today-strip { padding: 12px 16px; }
    .today-strip-inner { flex-wrap: wrap; gap: 8px; }
    .ts-item { flex: 0 0 calc(50% - 8px); padding: 0 6px; }
    .ts-divider { display: none; }
    .ts-enter { margin-left: 0; width: 100%; text-align: center; margin-top: 8px; }
}

    
/* ── 此刻禅修卡片 ── */
.moment-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(0,0,0,0.06);
    border-color: rgba(184,134,11,0.3);
}

/* ── 深度参究区块 ── */
.deep-koan-section {
    position: relative;
    overflow: hidden;
}
.deep-koan-section::before {
    content: '參';
    position: absolute;
    right: -40px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 280px;
    color: rgba(184,134,11,0.03);
    font-family: var(--serif);
    line-height: 1;
    pointer-events: none;
    font-weight: 200;
}

/* ── 修行追踪进度条动画 ── */
@keyframes progressPulse {
    0%, 100% { opacity: 0.8; }
    50% { opacity: 1; }
}


/* ═══════════════════════════════════════════════════════════════
   新增：此刻·禅情境板块 (2026-04-05 迭代)
   ═══════════════════════════════════════════════════════════════ */
.zen-moment-section {
    padding: 72px 120px;
    background: linear-gradient(135deg, #1a1815 0%, #2d2b28 50%, #1a1815 100%);
    position: relative;
    overflow: hidden;
    scroll-margin-top: 76px;
}
.zen-moment-section::before {
    content: attr(data-moment-char);
    position: absolute;
    font-size: 420px;
    color: rgba(184,134,11,0.03);
    font-family: var(--serif);
    right: -60px;
    top: 50%;
    transform: translateY(-50%);
    line-height: 1;
    pointer-events: none;
    font-weight: 200;
}
.zen-moment-header {
    text-align: center;
    margin-bottom: 52px;
    position: relative;
}
.zen-moment-label {
    font-size: 10px;
    color: var(--accent-gold);
    letter-spacing: 7px;
    text-transform: uppercase;
    display: block;
    margin-bottom: 16px;
    opacity: 0.8;
}
.zen-moment-title {
    font-size: 30px;
    font-weight: 300;
    letter-spacing: 5px;
    color: rgba(247,243,238,0.9);
    margin-bottom: 12px;
}
.zen-moment-time {
    font-size: 13px;
    color: rgba(247,243,238,0.45);
    letter-spacing: 2px;
    display: block;
}
.zen-moment-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    max-width: 1080px;
    margin: 0 auto;
}
.zen-moment-card {
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(247,243,238,0.06);
    border-radius: 3px;
    padding: 32px 28px;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.4,0,0.2,1);
    position: relative;
    overflow: hidden;
}
.zen-moment-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 3px;
    height: 100%;
    background: linear-gradient(180deg, var(--accent-gold) 0%, var(--accent-red) 100%);
    transform: scaleY(0);
    transform-origin: bottom;
    transition: transform 0.4s cubic-bezier(0.4,0,0.2,1);
}
.zen-moment-card:hover {
    background: rgba(255,255,255,0.06);
    border-color: rgba(184,134,11,0.2);
    transform: translateY(-4px);
}
.zen-moment-card:hover::before {
    transform: scaleY(1);
}
.zen-moment-cta {
    text-align: center;
    margin-top: 48px;
}
.zen-moment-cta-btn {
    display: inline-block;
    padding: 12px 36px;
    background: transparent;
    border: 1px solid rgba(184,134,11,0.3);
    color: var(--accent-gold);
    text-decoration: none;
    font-size: 12px;
    letter-spacing: 4px;
    transition: var(--transition);
    border-radius: 2px;
}
.zen-moment-cta-btn:hover {
    background: var(--accent-gold);
    color: #1a1510;
    border-color: var(--accent-gold);
}
@media (max-width: 1024px) {
    .zen-moment-section { padding: 52px 40px; }
    .zen-moment-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    .zen-moment-section { padding: 40px 20px; }
    .zen-moment-grid { grid-template-columns: 1fr; }
    .zen-moment-title { font-size: 24px; letter-spacing: 3px; }
}

/* ═══════════════════════════════════════════════════════════════
   新增：禅修卡片生成器 (2026-04-05 迭代)
   ═══════════════════════════════════════════════════════════════ */
.zen-card-generator {
    background: var(--section-alt-bg);
    padding: 72px 120px;
    scroll-margin-top: 76px;
}
.zen-card-header {
    text-align: center;
    margin-bottom: 48px;
}
.zen-card-label {
    font-size: 10px;
    color: var(--accent-gold);
    letter-spacing: 6px;
    text-transform: uppercase;
    display: block;
    margin-bottom: 14px;
}
.zen-card-title {
    font-size: 28px;
    font-weight: 300;
    letter-spacing: 4px;
    color: var(--text-primary);
    margin-bottom: 12px;
}
.zen-card-desc {
    font-size: 14px;
    color: var(--text-secondary);
    letter-spacing: 1px;
    line-height: 2;
    max-width: 520px;
    margin: 0 auto;
}
.zen-card-preview-area {
    max-width: 420px;
    margin: 0 auto 36px;
}
.zen-card-preview {
    background: linear-gradient(135deg, #2d2b28 0%, #1a1815 100%);
    border-radius: 4px;
    padding: 48px 36px;
    text-align: center;
    position: relative;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0,0,0,0.15);
}
.zen-card-preview::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle at 30% 40%, rgba(184,134,11,0.08) 0%, transparent 60%);
    pointer-events: none;
}
.zc-glyph {
    font-size: 72px;
    font-weight: 200;
    color: var(--accent-gold);
    opacity: 0.2;
    position: absolute;
    top: 20px;
    right: 24px;
    font-family: var(--serif);
    line-height: 1;
}
.zc-quote {
    font-size: 22px;
    font-weight: 300;
    letter-spacing: 2px;
    color: rgba(247,243,238,0.95);
    line-height: 2;
    display: block;
    margin-bottom: 24px;
    position: relative;
}
.zc-source {
    font-size: 12px;
    color: var(--accent-gold);
    letter-spacing: 3px;
    display: block;
    margin-bottom: 20px;
    opacity: 0.7;
}
.zc-date {
    font-size: 10px;
    color: rgba(247,243,238,0.3);
    letter-spacing: 4px;
    display: block;
    padding-top: 20px;
    border-top: 1px solid rgba(247,243,238,0.08);
}
.zc-style-selector {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-bottom: 28px;
}
.zc-style-btn {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 2px solid transparent;
    cursor: pointer;
    transition: var(--transition);
}
.zc-style-btn.active {
    border-color: var(--accent-gold);
    transform: scale(1.1);
}
.zc-style-btn[data-style="dark"] { background: linear-gradient(135deg, #2d2b28, #1a1815); }
.zc-style-btn[data-style="light"] { background: linear-gradient(135deg, #f7f3ee, #f5f0ea); }
.zc-style-btn[data-style="red"] { background: linear-gradient(135deg, #c53d43, #8b2a2f); }
.zc-actions {
    display: flex;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}
.zc-action-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 28px;
    background: var(--text-primary);
    color: rgba(247,243,238,0.9);
    border: none;
    border-radius: 2px;
    font-size: 12px;
    letter-spacing: 3px;
    cursor: pointer;
    transition: var(--transition);
    font-family: var(--serif);
}
.zc-action-btn:hover {
    background: #3a3632;
    transform: translateY(-2px);
}
.zc-action-btn.secondary {
    background: transparent;
    border: 1px solid rgba(0,0,0,0.15);
    color: var(--text-tertiary);
}
.zc-action-btn.secondary:hover {
    border-color: var(--accent-gold);
    color: var(--accent-gold);
}
@media (max-width: 1024px) {
    .zen-card-generator { padding: 52px 40px; }
}
@media (max-width: 600px) {
    .zen-card-generator { padding: 40px 20px; }
    .zen-card-preview { padding: 36px 24px; }
    .zc-quote { font-size: 18px; }
}

/* ═══════════════════════════════════════════════════════════════
   新增：呼吸点 (页面留白区域)
   ═══════════════════════════════════════════════════════════════ */
.breathing-space {
    height: 80px;
    background: linear-gradient(to bottom, transparent, rgba(184,134,11,0.02), transparent);
    position: relative;
}
.breathing-space::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(184,134,11,0.15), transparent);
}

/* ═══════════════════════════════════════════════════════════════
   优化：英雄区即刻禅按钮
   ═══════════════════════════════════════════════════════════════ */
.hero-zen-moment-btn {
    margin-top: 36px;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 20px 56px;
    background: linear-gradient(135deg, rgba(184,134,11,0.08) 0%, rgba(197,61,67,0.08) 100%);
    border: 1px solid rgba(184,134,11,0.25);
    border-radius: 3px;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.4,0,0.2,1);
    backdrop-filter: blur(4px);
    animation: fadeIn 1s forwards 2.2s;
    opacity: 0;
}
.hero-zen-moment-btn:hover {
    background: linear-gradient(135deg, rgba(184,134,11,0.15) 0%, rgba(197,61,67,0.15) 100%);
    border-color: rgba(184,134,11,0.45);
    transform: translateY(-3px);
    box-shadow: 0 12px 40px rgba(184,134,11,0.15);
}
.hzm-icon {
    font-size: 32px;
    color: var(--accent-gold);
    animation: zenPulse 3s ease-in-out infinite;
}
.hzm-text {
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 5px;
    color: var(--text-primary);
}
.hzm-sub {
    font-size: 10px;
    letter-spacing: 3px;
    color: var(--text-secondary);
}
@keyframes zenPulse {
    0%, 100% { opacity: 0.6; transform: scale(1); }
    50% { opacity: 1; transform: scale(1.08); }
}
@media (max-width: 600px) {
    .hero-zen-moment-btn { padding: 16px 36px; margin-top: 28px; }
    .hzm-text { font-size: 13px; letter-spacing: 3px; }
}



/* ═══════════════════════════════════════════════════════════════
   止语时刻 · 夜间静默模式 (2026-04-07 新增)
   ═══════════════════════════════════════════════════════════════ */
.silence-mode-active {
    background: #0d0a08 !important;
}
.silence-mode-active body {
    background-color: #0d0a08 !important;
}
.silence-mode-active .zen-nav {
    background-color: rgba(13, 10, 8, 0.95) !important;
}
.silence-mode-active .hero-bg {
    opacity: 0.15 !important;
}
.silence-mode-active .hero h1,
.silence-mode-active .hero h2 {
    color: rgba(247, 243, 238, 0.6) !important;
}
.silence-mode-active section:not(.silence-preserve) {
    opacity: 0.3;
    pointer-events: none;
    filter: blur(2px);
}
.silence-mode-active .silence-preserve {
    opacity: 1 !important;
    pointer-events: auto !important;
    filter: none !important;
}
.silence-mode-active .silence-overlay {
    display: flex !important;
}
.silence-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(13, 10, 8, 0.98);
    z-index: 99999;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 40px 20px;
}
.silence-overlay-content {
    max-width: 520px;
}
.silence-glyph {
    font-size: 72px;
    font-weight: 200;
    color: var(--accent-gold);
    letter-spacing: 12px;
    margin-bottom: 24px;
    opacity: 0.9;
}
.silence-title {
    font-size: 28px;
    font-weight: 300;
    color: rgba(247, 243, 238, 0.85);
    letter-spacing: 6px;
    margin-bottom: 16px;
}
.silence-desc {
    font-size: 15px;
    color: rgba(247, 243, 238, 0.5);
    letter-spacing: 2px;
    line-height: 2.2;
    margin-bottom: 40px;
}
.silence-breath-circle {
    width: 120px;
    height: 120px;
    margin: 0 auto 32px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(184, 134, 11, 0.2) 0%, rgba(184, 134, 11, 0.02) 70%);
    border: 1px solid rgba(184, 134, 11, 0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: silenceBreath 6s ease-in-out infinite;
}
@keyframes silenceBreath {
    0%, 100% { transform: scale(0.9); opacity: 0.7; }
    50% { transform: scale(1.1); opacity: 1; }
}
.silence-breath-text {
    font-size: 24px;
    color: var(--accent-gold);
    letter-spacing: 8px;
}
.silence-hint {
    font-size: 12px;
    color: rgba(247, 243, 238, 0.35);
    letter-spacing: 3px;
    margin-top: 32px;
}
.silence-exit-btn {
    margin-top: 40px;
    padding: 12px 36px;
    background: transparent;
    border: 1px solid rgba(184, 134, 11, 0.3);
    color: var(--accent-gold);
    font-family: var(--serif);
    font-size: 12px;
    letter-spacing: 4px;
    cursor: pointer;
    border-radius: 2px;
    transition: all 0.3s;
}
.silence-exit-btn:hover {
    border-color: var(--accent-gold);
    background: rgba(184, 134, 11, 0.08);
}
.silence-mode-toggle {
    position: fixed;
    bottom: 100px;
    right: 40px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(13, 10, 8, 0.8);
    border: 1px solid rgba(184, 134, 11, 0.3);
    color: var(--accent-gold);
    font-size: 18px;
    cursor: pointer;
    z-index: 9998;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s;
    backdrop-filter: blur(4px);
}
.silence-mode-toggle:hover {
    transform: scale(1.1);
    border-color: var(--accent-gold);
}
.silence-mode-toggle.active {
    background: var(--accent-gold);
    color: #0d0a08;
}
@media (max-width: 600px) {
    .silence-mode-toggle { bottom: 80px; right: 20px; width: 40px; height: 40px; }
    .silence-glyph { font-size: 56px; }
    .silence-title { font-size: 22px; }
}

/* ═══════════════════════════════════════════════════════════════
     墨韵涟漪 Canvas 粒子动效 (2026-04-07 迭代)
     点击/触摸 Hero 区产生水墨粒子扩散效果
     ═══════════════════════════════════════════════════════════════ */
#inkRippleCanvas {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    pointer-events: none;
    z-index: 1;
    opacity: 0.6;
}
.hero-content { position: relative; z-index: 2; }
.scroll-indicator { position: relative; z-index: 2; }
.hero-breath-ring { z-index: 1; }

/* 时节流转 · 动态氛围系统 (2026-04-07 迭代)
   根据时段微调全页色调，营造时节感 */
[data-atmosphere="dawn"] {
    --atmosphere-tint: rgba(255, 183, 120, 0.03);
    --atmosphere-glow: rgba(255, 160, 80, 0.08);
}
[data-atmosphere="morning"] {
    --atmosphere-tint: rgba(255, 245, 200, 0.04);
    --atmosphere-glow: rgba(255, 220, 100, 0.06);
}
[data-atmosphere="noon"] {
    --atmosphere-tint: rgba(255, 255, 240, 0.03);
    --atmosphere-glow: rgba(255, 255, 200, 0.05);
}
[data-atmosphere="afternoon"] {
    --atmosphere-tint: rgba(255, 210, 160, 0.04);
    --atmosphere-glow: rgba(255, 180, 100, 0.07);
}
[data-atmosphere="dusk"] {
    --atmosphere-tint: rgba(200, 140, 100, 0.05);
    --atmosphere-glow: rgba(180, 100, 60, 0.10);
}
[data-atmosphere="night"] {
    --atmosphere-tint: rgba(30, 20, 40, 0.06);
    --atmosphere-glow: rgba(60, 40, 80, 0.08);
}
body::after {
    content: '';
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: var(--atmosphere-tint, transparent);
    pointer-events: none;
    z-index: 9999;
    transition: background 3s ease-in-out;
}

/* Hero 引语呼吸脉动 (2026-04-07 迭代) */
@keyframes heroQuoteBreath {
    0%, 100% { opacity: 0.92; transform: translateY(0); }
    50% { opacity: 1; transform: translateY(-2px); }
}
#heroQuoteText {
    animation: heroQuoteBreath 6s ease-in-out infinite;
}
#heroQuoteAuthor {
    animation: heroQuoteBreath 6s ease-in-out infinite 0.3s;
}

/* 墨韵涟漪 · 点击反馈 */
.hero.ink-active #heroQuoteText {
    transition: text-shadow 0.6s ease;
    text-shadow: 0 0 40px rgba(197, 61, 67, 0.15);
}

/* ═══════════════════════════════════════════════════════════════
   禅圆 · 滚动进度环 (2026-04-09 迭代)
   圆形进度 + 禅字，优雅指示页面位置
   ═══════════════════════════════════════════════════════════════ */
.zen-scroll-ring {
    position: fixed;
    bottom: 40px;
    left: 40px;
    width: 52px;
    height: 52px;
    z-index: 9998;
    opacity: 0;
    transform: translateY(20px) scale(0.8);
    transition: opacity 0.6s ease, transform 0.6s ease;
    cursor: pointer;
    pointer-events: none;
}
.zen-scroll-ring.visible {
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
}
.zen-scroll-ring:hover {
    transform: translateY(-2px) scale(1.08);
}
.zen-scroll-ring:hover .zen-scroll-ring-glow {
    opacity: 1;
}
.zen-scroll-ring svg {
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
}
.zen-scroll-ring .ring-bg {
    fill: none;
    stroke: rgba(45, 43, 40, 0.08);
    stroke-width: 2;
}
.zen-scroll-ring .ring-progress {
    fill: none;
    stroke: var(--accent-red);
    stroke-width: 2;
    stroke-linecap: round;
    transition: stroke-dashoffset 0.3s ease;
    opacity: 0.7;
}
.zen-scroll-ring-char {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 18px;
    font-weight: 300;
    color: var(--text-primary);
    opacity: 0.6;
    letter-spacing: 2px;
    pointer-events: none;
    transition: opacity 0.3s;
}
.zen-scroll-ring:hover .zen-scroll-ring-char {
    opacity: 1;
}
.zen-scroll-ring-glow {
    position: absolute;
    inset: -4px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(197,61,67,0.08) 0%, transparent 70%);
    opacity: 0;
    transition: opacity 0.4s;
    pointer-events: none;
}
.zen-scroll-ring-label {
    position: absolute;
    bottom: -22px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 10px;
    color: var(--text-secondary);
    letter-spacing: 2px;
    white-space: nowrap;
    opacity: 0;
    transition: opacity 0.3s;
    pointer-events: none;
}
.zen-scroll-ring:hover .zen-scroll-ring-label {
    opacity: 0.7;
}

/* ═══════════════════════════════════════════════════════════════
   智慧雨 · 禅字飘落 (2026-04-09 迭代)
   Hero 区底部禅字如雨般缓缓飘落
   ═══════════════════════════════════════════════════════════════ */
.wisdom-rain-container {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 40%;
    pointer-events: none;
    z-index: 1;
    overflow: hidden;
}
.wisdom-char {
    position: absolute;
    font-size: 14px;
    font-weight: 300;
    color: rgba(247, 243, 238, 0.08);
    animation: wisdomDrop linear infinite;
    will-change: transform;
    transition: color 0.8s ease, text-shadow 0.8s ease, font-size 0.5s ease;
    cursor: default;
    user-select: none;
    pointer-events: auto;
}
.wisdom-char:hover {
    color: rgba(184,134,11,0.35);
    text-shadow: 0 0 12px rgba(184,134,11,0.15), 0 0 24px rgba(184,134,11,0.05);
    font-size: 20px;
    animation-play-state: paused;
}
.wisdom-char.slow { animation-duration: 18s; }
.wisdom-char.medium { animation-duration: 12s; }
.wisdom-char.fast { animation-duration: 8s; }
@keyframes wisdomDrop {
    0% { transform: translateY(-30px) rotate(0deg); opacity: 0; }
    10% { opacity: 1; }
    90% { opacity: 1; }
    100% { transform: translateY(calc(100vh * 0.4)) rotate(15deg); opacity: 0; }
}
/* 智慧雨增强：偶发亮字 (2026-04-11 战略迭代) */
.wisdom-char.glow {
    color: rgba(197,61,67,0.12);
    text-shadow: 0 0 8px rgba(197,61,67,0.06);
}
.wisdom-char.glow:hover {
    color: rgba(197,61,67,0.5);
    text-shadow: 0 0 16px rgba(197,61,67,0.2);
}

/* ═══════════════════════════════════════════════════════════════
   禅境浮窗 · 滚动随缘禅语 (2026-04-09 迭代)
   侧边浮动禅语条，随滚动变换内容
   ═══════════════════════════════════════════════════════════════ */
.zen-whisper {
    position: fixed;
    right: -320px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 9990;
    max-width: 280px;
    padding: 16px 20px;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(12px);
    border-radius: 12px 0 0 12px;
    box-shadow: -4px 0 24px rgba(0, 0, 0, 0.06);
    transition: right 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    opacity: 0;
    cursor: pointer;
}
.zen-whisper.show {
    right: 0;
    opacity: 1;
}
.zen-whisper:hover {
    box-shadow: -4px 0 32px rgba(0, 0, 0, 0.1);
}
.zen-whisper-close {
    position: absolute;
    top: 6px;
    right: 10px;
    background: none;
    border: none;
    color: var(--text-secondary);
    cursor: pointer;
    font-size: 16px;
    line-height: 1;
    opacity: 0.5;
    transition: opacity 0.2s;
}
.zen-whisper-close:hover { opacity: 1; }
.zen-whisper-label {
    font-size: 10px;
    letter-spacing: 3px;
    color: var(--accent-red);
    margin-bottom: 8px;
    opacity: 0.6;
}
.zen-whisper-text {
    font-size: 14px;
    line-height: 1.7;
    color: var(--text-primary);
    font-weight: 400;
}
.zen-whisper-source {
    display: block;
    font-size: 11px;
    color: var(--text-secondary);
    margin-top: 8px;
    letter-spacing: 2px;
}
.zen-whisper-divider {
    width: 24px;
    height: 1px;
    background: var(--accent-red);
    opacity: 0.3;
    margin: 10px 0;
}
.zen-whisper-hint {
    font-size: 10px;
    color: var(--text-secondary);
    opacity: 0.4;
    letter-spacing: 1px;
}

/* ═══════════════════════════════════════════════════════════════
   墨境流动 · 增强水墨粒子 (2026-04-09 迭代)
   更多层次的环境水墨流动效果
   ═══════════════════════════════════════════════════════════════ */
.ink-flow-layer {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    pointer-events: none;
    z-index: 0;
    opacity: 0.4;
}
.ink-flow-blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(60px);
    animation: inkFlowDrift 20s ease-in-out infinite alternate;
}
.ink-flow-blob:nth-child(1) {
    width: 300px; height: 300px;
    background: rgba(197, 61, 67, 0.04);
    top: 10%; left: 5%;
    animation-delay: 0s;
}
.ink-flow-blob:nth-child(2) {
    width: 250px; height: 250px;
    background: rgba(184, 134, 11, 0.03);
    top: 60%; right: 10%;
    animation-delay: -5s;
}
.ink-flow-blob:nth-child(3) {
    width: 200px; height: 200px;
    background: rgba(45, 43, 40, 0.06);
    bottom: 20%; left: 40%;
    animation-delay: -10s;
}
@keyframes inkFlowDrift {
    0% { transform: translate(0, 0) scale(1); }
    33% { transform: translate(30px, -20px) scale(1.1); }
    66% { transform: translate(-20px, 15px) scale(0.95); }
    100% { transform: translate(15px, -10px) scale(1.05); }
}

/* 响应式 */
@media (max-width: 768px) {
    .zen-scroll-ring {
        bottom: 20px;
        left: 20px;
        width: 42px;
        height: 42px;
    }
    .zen-scroll-ring-char {
        font-size: 14px;
    }
    .zen-whisper {
        display: none;
    }
    .wisdom-char {
        font-size: 12px;
    }
}


/* ── 墨境留白 · 视觉禅意停顿 (2026-04-08 迭代) ── */
.zen-whitespace-section {
    padding: 120px 20px;
    background: #1a1815;
    text-align: center;
    position: relative;
    overflow: hidden;
    min-height: 60vh;
    display: flex;
    align-items: center;
    justify-content: center;
}
.zw-container {
    max-width: 600px;
    margin: 0 auto;
    position: relative;
}
.zw-ink-mark {
    position: absolute;
    top: -60px;
    left: 50%;
    transform: translateX(-50%);
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(197,61,67,0.06) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}
.zw-ensō {
    width: 160px;
    height: 160px;
    margin: 0 auto 40px;
    border-radius: 50%;
    border: 2px solid rgba(247,243,238,0.12);
    position: relative;
    animation: ensoPulse 6s ease-in-out infinite;
}
.zw-ensō::before {
    content: '';
    position: absolute;
    top: 8px; right: 8px; bottom: 8px; left: 8px;
    border-radius: 50%;
    border: 1px solid rgba(247,243,238,0.06);
}
.zw-ensō::after {
    content: '';
    position: absolute;
    top: -4px;
    left: 30%;
    width: 40%;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(184,134,11,0.3), transparent);
    animation: ensoGlint 4s ease-in-out infinite;
}
@keyframes ensoPulse {
    0%, 100% { transform: scale(1); opacity: 0.7; }
    50% { transform: scale(1.05); opacity: 1; }
}
@keyframes ensoGlint {
    0%, 100% { opacity: 0; transform: translateX(-20px); }
    50% { opacity: 1; transform: translateX(20px); }
}
.zw-text {
    font-size: 24px;
    color: rgba(247,243,238,0.85);
    letter-spacing: 6px;
    font-weight: 300;
    margin-bottom: 12px;
    opacity: 0;
    animation: zenFadeIn 2s ease forwards 0.5s;
}
.zw-sub {
    font-size: 14px;
    color: rgba(247,243,238,0.35);
    letter-spacing: 4px;
    opacity: 0;
    animation: zenFadeIn 2s ease forwards 1.2s;
}
@keyframes zenFadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}
.zw-divider {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-top: 60px;
}
.zw-dot {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: rgba(184,134,11,0.3);
    opacity: 0;
    animation: dotFadeIn 1.5s ease forwards;
}
.zw-dot:nth-child(1) { animation-delay: 1.8s; }
.zw-dot:nth-child(2) { animation-delay: 2.1s; background: rgba(197,61,67,0.4); }
.zw-dot:nth-child(3) { animation-delay: 2.4s; }
@keyframes dotFadeIn {
    from { opacity: 0; transform: scale(0); }
    to { opacity: 1; transform: scale(1); }
}
@media (max-width: 600px) {
    .zen-whitespace-section { padding: 80px 20px; min-height: 50vh; }
    .zw-text { font-size: 18px; letter-spacing: 4px; }
    .zw-ensō { width: 120px; height: 120px; }
}

/* 停顿体验区 · 呼吸同步脉动增强 */
.pause-experience-strip {
    transition: background 2s ease-in-out;
}
.pause-experience-strip.breathing {
    background: linear-gradient(90deg, 
        rgba(197,61,67,0.03) 0%, 
        rgba(184,134,11,0.05) 50%, 
        rgba(197,61,67,0.03) 100%) !important;
}
.fs-inner {
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}
.fs-label {
    font-size: 11px;
    color: var(--accent-red);
    letter-spacing: 7px;
    text-transform: uppercase;
    display: block;
    text-align: center;
    margin-bottom: 18px;
}
.fs-title {
    font-size: 34px;
    text-align: center;
    margin-bottom: 18px;
    font-weight: 400;
    letter-spacing: 3px;
}
.fs-desc {
    color: var(--text-secondary);
    text-align: center;
    max-width: 640px;
    margin: 0 auto 48px;
    font-size: 15px;
    line-height: 2.1;
}
.fs-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    margin-bottom: 56px;
}
.fs-card {
    position: relative;
    border-radius: 4px;
    overflow: hidden;
    transition: transform 0.5s cubic-bezier(0.4,0,0.2,1), box-shadow 0.5s ease;
    cursor: default;
    min-height: 360px;
    display: flex;
    flex-direction: column;
}
.fs-card-bg {
    position: absolute;
    inset: 0;
    transition: transform 0.6s ease, opacity 0.6s ease;
    z-index: 0;
}
.fs-card[data-season="spring"] .fs-card-bg {
    background: linear-gradient(160deg, #e8f5e9 0%, #c8e6c9 40%, #a5d6a7 100%);
}
.fs-card[data-season="summer"] .fs-card-bg {
    background: linear-gradient(160deg, #fff8e1 0%, #ffecb3 40%, #ffe082 100%);
}
.fs-card[data-season="autumn"] .fs-card-bg {
    background: linear-gradient(160deg, #fbe9e7 0%, #ffccbc 40%, #ffab91 100%);
}
.fs-card[data-season="winter"] .fs-card-bg {
    background: linear-gradient(160deg, #eceff1 0%, #cfd8dc 40%, #b0bec5 100%);
}
.fs-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 24px 48px rgba(0,0,0,0.12);
}
.fs-card:hover .fs-card-bg {
    transform: scale(1.05);
}
.fs-card-content {
    position: relative;
    z-index: 1;
    padding: 36px 28px;
    flex: 1;
    display: flex;
    flex-direction: column;
}
.fs-char {
    font-size: 56px;
    font-weight: 200;
    display: block;
    margin-bottom: 12px;
    opacity: 0.25;
    font-family: var(--serif);
    line-height: 1;
    transition: opacity 0.4s ease;
}
.fs-card:hover .fs-char {
    opacity: 0.4;
}
.fs-card-content h3 {
    font-size: 18px;
    letter-spacing: 4px;
    color: var(--text-primary);
    margin-bottom: 16px;
    font-weight: 500;
}
.fs-poem {
    font-size: 13.5px;
    color: var(--text-secondary);
    line-height: 2;
    letter-spacing: 1px;
    margin-bottom: 24px;
    flex: 1;
    font-style: italic;
}
.fs-practice {
    padding: 16px;
    background: rgba(255,255,255,0.6);
    border-radius: 3px;
    border-left: 3px solid var(--accent-red);
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 0.4s ease, transform 0.4s ease;
}
.fs-card:hover .fs-practice {
    opacity: 1;
    transform: translateY(0);
}
.fs-practice-label {
    font-size: 10px;
    color: var(--accent-red);
    letter-spacing: 3px;
    display: block;
    margin-bottom: 8px;
    text-transform: uppercase;
}
.fs-practice p {
    font-size: 12.5px;
    line-height: 1.9;
    color: var(--text-primary);
}
.fs-timeline {
    max-width: 600px;
    margin: 0 auto;
    position: relative;
}
.fs-timeline-bar {
    height: 2px;
    background: rgba(45,43,40,0.1);
    position: relative;
    border-radius: 1px;
}
.fs-timeline-progress {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    background: var(--accent-red);
    border-radius: 1px;
    transition: width 0.6s ease;
}
.fs-timeline-marker {
    position: absolute;
    top: -4px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--bg);
    border: 2px solid rgba(45,43,40,0.15);
    transform: translateX(-50%);
}
.fs-timeline-marker.active {
    border-color: var(--accent-red);
    background: var(--accent-red);
}
.fs-timeline-labels {
    display: flex;
    justify-content: space-between;
    margin-top: 16px;
    font-size: 12px;
    color: var(--text-tertiary);
    letter-spacing: 2px;
}

@media (max-width: 960px) {
    .fs-grid { grid-template-columns: repeat(2, 1fr); }
    .four-seasons-section { padding: 64px 40px; }
}
@media (max-width: 600px) {
    .fs-grid { grid-template-columns: 1fr; }
    .four-seasons-section { padding: 48px 20px; }
    .fs-practice { opacity: 1; transform: translateY(0); }
}

/* Section 滚动渐显 · 水墨入纸效果 (2026-04-07 迭代) */
.reveal.ink-visible {
    animation: inkReveal 0.8s ease-out forwards;
}
@keyframes inkReveal {
    from { opacity: 0.3; filter: blur(2px); transform: translateY(8px); }
    to { opacity: 1; filter: blur(0); transform: translateY(0); }
}

/* ═══════════════════════════════════════════════════
   禅迹导航 · 侧边章节导航 (2026-04-09 战略迭代)
   细长竖线 + 点标记 + 悬浮章节名
   ═══════════════════════════════════════════════════ */
.zen-journey-nav {
    position: fixed;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 9999;
    display: flex;
    align-items: center;
    opacity: 0;
    transition: opacity 0.6s ease 1s;
    pointer-events: none;
}
.zen-journey-nav.visible {
    opacity: 1;
    pointer-events: auto;
}
.zjn-track {
    position: absolute;
    right: 4px;
    top: 0;
    width: 2px;
    height: 100%;
    background: rgba(45,43,40,0.08);
    border-radius: 1px;
}
.zjn-fill {
    position: absolute;
    top: 0;
    width: 100%;
    height: 0%;
    background: linear-gradient(180deg, var(--accent-red), var(--accent-gold));
    border-radius: 1px;
    transition: height 0.3s ease;
}
.zjn-dots {
    display: flex;
    flex-direction: column;
    gap: 0;
    position: relative;
    z-index: 1;
}
.zjn-dot {
    width: 10px; height: 10px;
    border-radius: 50%;
    border: 1.5px solid rgba(45,43,40,0.15);
    background: var(--bg-color);
    cursor: pointer;
    position: relative;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}
.zjn-dot:hover {
    border-color: var(--accent-red);
    transform: scale(1.4);
}
.zjn-dot.active {
    border-color: var(--accent-red);
    background: var(--accent-red);
    box-shadow: 0 0 8px rgba(197,61,67,0.3);
}
.zjn-dot.active::after {
    content: '';
    width: 4px; height: 4px;
    border-radius: 50%;
    background: #fff;
}
.zjn-dot-label {
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 10px;
    color: var(--text-secondary);
    letter-spacing: 2px;
    white-space: nowrap;
    background: rgba(247,243,238,0.95);
    padding: 3px 8px;
    border-radius: 3px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
    font-family: var(--serif);
}
.zjn-dot:hover .zjn-dot-label {
    opacity: 1;
}

/* ═══════════════════════════════════════════════════
   水墨分隔 · 章节间渐变过渡 (2026-04-09 战略迭代)
   ═══════════════════════════════════════════════════ */
.zen-section-divider {
    width: 100%;
    height: 40px;
    position: relative;
    overflow: hidden;
}
.zen-section-divider::before {
    content: '';
    position: absolute;
    top: 0; left: 50%;
    transform: translateX(-50%);
    width: 120px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(184,134,11,0.25), transparent);
}
.zen-section-divider .ink-blob {
    position: absolute;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(45,43,40,0.03) 0%, transparent 70%);
    animation: inkFloat 12s ease-in-out infinite;
}
.zen-section-divider .ink-blob:nth-child(1) {
    width: 80px; height: 80px;
    left: 20%; top: -20px;
    animation-delay: 0s;
}
.zen-section-divider .ink-blob:nth-child(2) {
    width: 60px; height: 60px;
    right: 30%; top: -10px;
    animation-delay: 4s;
}
@keyframes inkFloat {
    0%, 100% { transform: scale(1) translateY(0); opacity: 0.6; }
    50% { transform: scale(1.3) translateY(-5px); opacity: 1; }
}

/* ═══ 浮游禅定 · 迷你计时器 (2026-04-09 夜间迭代) ═══ */
.zen-float-timer {
    position: fixed;
    bottom: 80px;
    right: 24px;
    z-index: 9998;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease, transform 0.6s ease;
    pointer-events: none;
}
.zen-float-timer.visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}
.zen-float-timer-btn {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: radial-gradient(circle at 40% 35%, rgba(247,243,238,0.95), rgba(230,225,215,0.9));
    border: 1.5px solid rgba(184,134,11,0.25);
    box-shadow: 0 2px 16px rgba(0,0,0,0.08), 0 0 0 0 rgba(197,61,67,0);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: #2D2B28;
    transition: all 0.3s ease;
    position: relative;
}
.zen-float-timer-btn:hover {
    box-shadow: 0 4px 24px rgba(0,0,0,0.12), 0 0 0 6px rgba(197,61,67,0.08);
    transform: scale(1.08);
}
.zen-float-timer-btn.breathing {
    animation: floatTimerPulse 4s ease-in-out infinite;
    border-color: rgba(197,61,67,0.5);
}
@keyframes floatTimerPulse {
    0%, 100% { transform: scale(1); box-shadow: 0 2px 16px rgba(0,0,0,0.08); }
    50% { transform: scale(1.12); box-shadow: 0 4px 24px rgba(197,61,67,0.15); }
}
.zen-float-timer-label {
    font-size: 10px;
    color: rgba(45,43,40,0.4);
    letter-spacing: 1px;
    text-align: center;
    white-space: nowrap;
}
/* 浮游禅定展开面板 */
.zen-float-panel {
    position: fixed;
    bottom: 140px;
    right: 24px;
    z-index: 9997;
    width: 260px;
    background: rgba(247,243,238,0.98);
    border: 1px solid rgba(184,134,11,0.15);
    border-radius: 16px;
    padding: 20px;
    box-shadow: 0 8px 40px rgba(0,0,0,0.1);
    opacity: 0;
    transform: translateY(10px) scale(0.95);
    transition: all 0.35s cubic-bezier(0.4,0,0.2,1);
    pointer-events: none;
    backdrop-filter: blur(12px);
}
.zen-float-panel.open {
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
}
.zfp-title {
    font-size: 15px;
    font-weight: 500;
    color: #2D2B28;
    letter-spacing: 2px;
    margin-bottom: 12px;
    text-align: center;
}
.zfp-presets {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-bottom: 16px;
}
.zfp-preset {
    padding: 10px 0;
    border: 1px solid rgba(184,134,11,0.15);
    border-radius: 10px;
    background: transparent;
    cursor: pointer;
    text-align: center;
    font-size: 12px;
    color: #2D2B28;
    letter-spacing: 1px;
    transition: all 0.2s ease;
}
.zfp-preset:hover {
    background: rgba(197,61,67,0.06);
    border-color: rgba(197,61,67,0.3);
}
.zfp-preset.active {
    background: rgba(197,61,67,0.08);
    border-color: var(--accent-red);
    color: var(--accent-red);
}
.zfp-preset-time {
    display: block;
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 2px;
}
.zfp-preset-label {
    font-size: 10px;
    opacity: 0.5;
}
.zfp-countdown {
    text-align: center;
    padding: 16px 0 12px;
    display: none;
}
.zfp-countdown.active {
    display: block;
}
.zfp-countdown-num {
    font-size: 42px;
    font-weight: 200;
    color: #2D2B28;
    letter-spacing: 2px;
    line-height: 1;
}
.zfp-countdown-label {
    font-size: 10px;
    color: rgba(45,43,40,0.4);
    letter-spacing: 2px;
    margin-top: 6px;
}
.zfp-cancel {
    display: block;
    margin: 10px auto 0;
    padding: 6px 18px;
    border: 1px solid rgba(45,43,40,0.12);
    border-radius: 6px;
    background: transparent;
    font-size: 11px;
    color: rgba(45,43,40,0.4);
    cursor: pointer;
    letter-spacing: 1px;
    transition: all 0.2s;
}
.zfp-cancel:hover {
    border-color: var(--accent-red);
    color: var(--accent-red);
}
@media (max-width: 768px) {
    .zen-float-timer { bottom: 72px; right: 16px; }
    .zen-float-panel { right: 16px; bottom: 132px; width: 240px; }
}

/* ═══════════════════════════════════════════════════
   2026-04-10 战略迭代 · 此刻禅修 + 成就系统 + 公案沉浸
   ═══════════════════════════════════════════════════ */

/* ── 此刻禅修引导区块 ── */
.now-meditation-section {
    background: linear-gradient(180deg, rgba(247,243,238,0) 0%, rgba(245,240,234,0.5) 100%);
    padding: 80px 120px 60px;
    text-align: center;
    position: relative;
}
.now-meditation-question {
    font-size: 28px;
    font-weight: 300;
    color: var(--text-primary);
    letter-spacing: 4px;
    margin-bottom: 40px;
    line-height: 1.8;
}
.now-meditation-question span {
    color: var(--accent-red);
    font-weight: 400;
}
.now-meditation-options {
    display: flex;
    gap: 24px;
    justify-content: center;
    flex-wrap: wrap;
}
.now-meditation-card {
    background: rgba(255,255,255,0.8);
    border: 1px solid rgba(184,134,11,0.15);
    border-radius: 8px;
    padding: 32px 28px;
    min-width: 200px;
    cursor: pointer;
    transition: var(--transition);
    position: relative;
    overflow: hidden;
}
.now-meditation-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 3px;
    background: linear-gradient(90deg, var(--accent-red), var(--accent-gold));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.4s ease;
}
.now-meditation-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(0,0,0,0.08);
    background: rgba(255,255,255,1);
}
.now-meditation-card:hover::before {
    transform: scaleX(1);
}
.now-meditation-icon {
    font-size: 32px;
    margin-bottom: 16px;
    display: block;
}
.now-meditation-card h4 {
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 2px;
    margin-bottom: 8px;
    color: var(--text-primary);
}
.now-meditation-card p {
    font-size: 12px;
    color: var(--text-secondary);
    line-height: 1.8;
}

/* ── 修行成就徽章系统 ── */
.achievement-system {
    margin-top: 40px;
    padding: 32px;
    background: rgba(255,255,255,0.6);
    border-radius: 12px;
    border: 1px solid rgba(184,134,11,0.1);
}
.achievement-title {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 3px;
    color: var(--text-tertiary);
    margin-bottom: 20px;
    text-align: center;
}
.achievement-badges {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
}
.achievement-badge {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(184,134,11,0.1), rgba(197,61,67,0.08));
    border: 2px solid rgba(184,134,11,0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    position: relative;
    transition: var(--transition);
    opacity: 0.4;
    filter: grayscale(0.8);
}
.achievement-badge.unlocked {
    opacity: 1;
    filter: grayscale(0);
    border-color: var(--accent-gold);
    box-shadow: 0 4px 16px rgba(184,134,11,0.2);
}
.achievement-badge:hover {
    transform: scale(1.1);
}
.achievement-badge .badge-tooltip {
    position: absolute;
    bottom: -36px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--text-primary);
    color: var(--bg-color);
    padding: 6px 10px;
    border-radius: 4px;
    font-size: 10px;
    letter-spacing: 1px;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}
.achievement-badge:hover .badge-tooltip {
    opacity: 1;
}

/* ── 公案沉浸模式 ── */
.koan-immersion-overlay {
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: linear-gradient(160deg, #1a1510 0%, #2a2420 50%, #0d0a08 100%);
    z-index: 99999;
    display: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 40px;
}
.koan-immersion-overlay.active {
    display: flex;
    animation: fadeIn 0.6s ease;
}
.koan-immersion-exit {
    position: absolute;
    top: 30px;
    right: 40px;
    background: transparent;
    border: 1px solid rgba(247,243,238,0.2);
    color: rgba(247,243,238,0.5);
    padding: 10px 20px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 12px;
    letter-spacing: 2px;
    transition: all 0.3s ease;
}
.koan-immersion-exit:hover {
    border-color: var(--accent-red);
    color: var(--accent-red);
}
.koan-immersion-timer {
    font-size: 72px;
    font-weight: 200;
    color: rgba(247,243,238,0.3);
    letter-spacing: 8px;
    margin-bottom: 40px;
}
.koan-immersion-koan {
    font-size: 28px;
    font-weight: 300;
    color: rgba(247,243,238,0.9);
    letter-spacing: 4px;
    line-height: 2;
    text-align: center;
    max-width: 700px;
    margin-bottom: 60px;
}
.koan-immersion-hint {
    font-size: 14px;
    color: rgba(247,243,238,0.4);
    letter-spacing: 2px;
    text-align: center;
}
.koan-immersion-breath {
    width: 200px;
    height: 200px;
    border-radius: 50%;
    border: 2px solid rgba(197,61,67,0.3);
    margin: 40px auto;
    animation: koanBreath 8s ease-in-out infinite;
}
@keyframes koanBreath {
    0%, 100% { transform: scale(0.9); opacity: 0.5; }
    50% { transform: scale(1.1); opacity: 0.8; }
}

/* ── 法脉树状图 ── */
.lineage-tree-container {
    overflow-x: auto;
    padding: 40px 0;
}
.lineage-tree {
    display: flex;
    justify-content: center;
    min-width: 800px;
}
.lineage-node {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px;
    cursor: pointer;
    transition: var(--transition);
}
.lineage-node:hover {
    transform: translateY(-4px);
}
.lineage-node-circle {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(184,134,11,0.15), rgba(197,61,67,0.1));
    border: 2px solid rgba(184,134,11,0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    margin-bottom: 12px;
}
.lineage-node-name {
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 2px;
    color: var(--text-primary);
}
.lineage-node-period {
    font-size: 10px;
    color: var(--text-secondary);
    margin-top: 4px;
}
.lineage-connection {
    width: 60px;
    height: 40px;
    border-left: 1px solid rgba(184,134,11,0.2);
    border-bottom: 1px solid rgba(184,134,11,0.2);
    margin: 0 10px;
}

@media (max-width: 768px) {
    .now-meditation-section { padding: 60px 24px; }
    .now-meditation-question { font-size: 20px; }
    .now-meditation-options { flex-direction: column; align-items: center; }
    .now-meditation-card { width: 100%; max-width: 280px; }
    .achievement-badges { gap: 12px; }
    .achievement-badge { width: 52px; height: 52px; font-size: 20px; }
    .koan-immersion-koan { font-size: 20px; }
    .koan-immersion-timer { font-size: 48px; }
}

/* ═══════════════════════════════════════════════════
   冗余section隐藏 (2026-04-11 迭代)
   隐藏重复的sevenDayChallenge和todayPracticeUnified
   ═══════════════════════════════════════════════════ */
#sevenDayChallenge { display: none !important; }
#todayPracticeUnified { display: none !important; }

/* ═══════════════════════════════════════════════════
   禅境引路 · 分层导航 (2026-04-11 新增)
   悬浮在第二屏出现的5层快速导航
   ═══════════════════════════════════════════════════ */
.zen-wayfinder {
    position: sticky;
    top: 68px;
    z-index: 9999;
    background: rgba(247,243,238,0.96);
    backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(184,134,11,0.15);
    padding: 0;
    opacity: 0;
    transform: translateY(-10px);
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
}
.zen-wayfinder.visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}
.zen-wayfinder-inner {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0;
    padding: 10px 40px;
}
.zen-wayfinder-link {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 20px;
    text-decoration: none;
    color: var(--text-secondary);
    font-size: 12px;
    letter-spacing: 2px;
    transition: all 0.4s ease;
    border-bottom: 2px solid transparent;
    position: relative;
}
.zen-wayfinder-link:hover {
    color: var(--accent-red);
    border-bottom-color: var(--accent-red);
}
.zen-wayfinder-link.active {
    color: var(--text-primary);
    border-bottom-color: var(--accent-red);
    font-weight: 600;
}
.zen-wayfinder-link .wf-icon {
    font-size: 14px;
    opacity: 0.7;
}
.zen-wayfinder-divider {
    width: 1px;
    height: 20px;
    background: rgba(0,0,0,0.08);
}

/* ═══════════════════════════════════════════════════
   禅境地图 · 互动式禅宗传播地图 (2026-04-11 新增)
   SVG地图展示禅宗传播路径、寺庙、祖师
   ═══════════════════════════════════════════════════ */
.zen-map-section {
    padding: 96px 120px;
    background: linear-gradient(180deg, var(--bg-color) 0%, #EDE8E0 50%, var(--bg-color) 100%);
    position: relative;
    overflow: hidden;
}
.zen-map-section::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: 
        radial-gradient(ellipse at 30% 40%, rgba(139,90,43,0.06) 0%, transparent 50%),
        radial-gradient(ellipse at 70% 60%, rgba(197,61,67,0.04) 0%, transparent 40%);
    pointer-events: none;
}
.zen-map-header {
    text-align: center;
    margin-bottom: 56px;
    position: relative;
    z-index: 1;
}
.zen-map-label {
    font-size: 11px;
    letter-spacing: 6px;
    color: var(--accent-red);
    text-transform: uppercase;
    margin-bottom: 16px;
}
.zen-map-title {
    font-size: 28px;
    font-weight: 600;
    letter-spacing: 6px;
    color: var(--text-primary);
    margin-bottom: 16px;
}
.zen-map-subtitle {
    font-size: 14px;
    color: var(--text-secondary);
    letter-spacing: 1px;
    line-height: 1.8;
    max-width: 600px;
    margin: 0 auto;
}
.zen-map-container {
    max-width: 1000px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}
.zen-map-svg {
    width: 100%;
    height: auto;
    filter: drop-shadow(0 2px 8px rgba(0,0,0,0.06));
}
.zen-map-svg .map-route {
    fill: none;
    stroke: var(--accent-gold);
    stroke-width: 1.5;
    stroke-dasharray: 8 4;
    opacity: 0.5;
    animation: mapRouteFlow 20s linear infinite;
}
@keyframes mapRouteFlow {
    0% { stroke-dashoffset: 0; }
    100% { stroke-dashoffset: -48; }
}
.zen-map-svg .map-point {
    cursor: pointer;
    transition: all 0.3s ease;
}
.zen-map-svg .map-point:hover {
    transform-origin: center;
}
.zen-map-svg .map-point-circle {
    fill: var(--white);
    stroke: var(--accent-red);
    stroke-width: 2;
    transition: all 0.3s ease;
}
.zen-map-svg .map-point:hover .map-point-circle {
    fill: var(--accent-red);
    stroke-width: 3;
}
.zen-map-svg .map-point-label {
    fill: var(--text-primary);
    font-size: 13px;
    font-family: var(--serif);
    letter-spacing: 1px;
    text-anchor: middle;
    transition: all 0.3s ease;
}
.zen-map-svg .map-point:hover .map-point-label {
    fill: var(--accent-red);
    font-weight: 600;
}
.zen-map-svg .map-point-sublabel {
    fill: var(--text-secondary);
    font-size: 10px;
    font-family: var(--serif);
    letter-spacing: 0.5px;
    text-anchor: middle;
}
.zen-map-svg .map-region-label {
    fill: rgba(0,0,0,0.12);
    font-size: 20px;
    font-family: var(--serif);
    letter-spacing: 8px;
    font-weight: 300;
}

/* 地图浮层卡片 */
.zen-map-tooltip {
    position: absolute;
    background: var(--white);
    border: 1px solid rgba(184,134,11,0.2);
    border-radius: 3px;
    padding: 20px 24px;
    max-width: 280px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.12);
    opacity: 0;
    transform: translateY(8px);
    transition: all 0.3s ease;
    pointer-events: none;
    z-index: 100;
}
.zen-map-tooltip.visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}
.zen-map-tooltip-title {
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 2px;
    color: var(--text-primary);
    margin-bottom: 8px;
}
.zen-map-tooltip-period {
    font-size: 11px;
    color: var(--accent-gold);
    letter-spacing: 1.5px;
    margin-bottom: 10px;
}
.zen-map-tooltip-desc {
    font-size: 12.5px;
    color: var(--text-secondary);
    line-height: 1.8;
}
.zen-map-tooltip-link {
    display: inline-block;
    margin-top: 12px;
    font-size: 11px;
    color: var(--accent-red);
    letter-spacing: 2px;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-color 0.3s ease;
}
.zen-map-tooltip-link:hover {
    border-bottom-color: var(--accent-red);
}

/* 地图图例 */
.zen-map-legend {
    display: flex;
    justify-content: center;
    gap: 32px;
    margin-top: 36px;
    position: relative;
    z-index: 1;
}
.zen-map-legend-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    color: var(--text-secondary);
    letter-spacing: 1px;
}
.zen-map-legend-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: 1.5px solid var(--accent-red);
    background: var(--white);
}
.zen-map-legend-dot.active {
    background: var(--accent-red);
}
.zen-map-legend-line {
    width: 24px;
    height: 0;
    border-top: 1.5px dashed var(--accent-gold);
    opacity: 0.5;
}

@media (max-width: 768px) {
    .zen-map-section { padding: 56px 20px; }
    .zen-map-title { font-size: 22px; letter-spacing: 4px; }
    .zen-map-legend { gap: 16px; flex-wrap: wrap; }
    .zen-wayfinder-inner { gap: 0; padding: 8px 16px; overflow-x: auto; }
    .zen-wayfinder-link { padding: 6px 12px; font-size: 11px; letter-spacing: 1px; white-space: nowrap; }
}


/* ═══════════════════════════════════════════════════════════
   2026-04-12 战略迭代：Hero 三阶段渐显 + 禅心法雨 + 禅心印记
   ═══════════════════════════════════════════════════════════ */

/* --- Hero 三阶段渐显 --- */
.hero-content { opacity: 0; transform: translateY(30px); transition: opacity 1.2s ease, transform 1.2s ease; }
.hero-content.hero-stage-2 { opacity: 1; transform: translateY(0); }

.hero-zen-moment-btn { opacity: 0; transform: translateY(20px); transition: opacity 0.8s ease 0.3s, transform 0.8s ease 0.3s; }
.hero-stage-2-active .hero-zen-moment-btn { opacity: 1; transform: translateY(0); }

.visit-streak-pill { opacity: 0; transition: opacity 0.6s ease; }
.hero-stage-3 .visit-streak-pill { opacity: 1; }

.scroll-indicator { opacity: 0; transition: opacity 0.8s ease 0.2s; }
.hero-stage-3 .scroll-indicator { opacity: 1; }

.hero-enso-container { opacity: 0; transform: scale(0.7); transition: opacity 1s ease, transform 1.5s cubic-bezier(0.16, 1, 0.3, 1); }

@keyframes yinian-pulse {
    0%, 100% { text-shadow: 0 0 0 transparent; }
    50% { text-shadow: 0 0 30px rgba(197,61,67,0.3), 0 0 60px rgba(197,61,67,0.1); }
}

.hero-enso-container.enso-visible { opacity: 1; transform: scale(1); }

/* --- 禅心法雨 (Zen Dharma Rain) --- */
.zen-dharma-rain {
    position: fixed; top: 0; left: 0; width: 100vw; height: 100vh;
    pointer-events: none; z-index: 9999; overflow: hidden;
    opacity: 0; transition: opacity 0.5s ease;
}
.zen-dharma-rain.active { opacity: 1; }
.zen-dharma-rain .dharma-char {
    position: absolute; font-size: 2.2rem; color: rgba(247,243,238,0.15);
    font-family: 'Noto Serif SC', 'Source Han Serif SC', serif;
    animation: dharma-fall linear forwards; pointer-events: auto; cursor: pointer;
    transition: color 0.3s ease, text-shadow 0.3s ease, transform 0.3s ease;
    text-shadow: 0 0 0 transparent;
}
.zen-dharma-rain .dharma-char:hover {
    color: rgba(197,61,67,0.9); text-shadow: 0 0 20px rgba(197,61,67,0.4);
    transform: scale(1.5); animation-play-state: paused;
}
.zen-dharma-rain .dharma-char.revealed {
    color: rgba(247,243,238,0.8); text-shadow: 0 0 30px rgba(247,243,238,0.3);
    animation-play-state: paused; transform: scale(2) !important;
    transition: all 0.5s ease; pointer-events: none;
}
@keyframes dharma-fall {
    0% { transform: translateY(-5vh) rotate(0deg); opacity: 0; }
    5% { opacity: 1; }
    90% { opacity: 1; }
    100% { transform: translateY(105vh) rotate(360deg); opacity: 0; }
}

/* --- 禅境之钟 (Zen Bell) --- */
.zen-bell {
    position: fixed; bottom: 24px; right: 24px; z-index: 1000;
    width: 56px; height: 56px; border-radius: 50%;
    background: rgba(26,22,18,0.9); border: 1px solid rgba(184,134,11,0.3);
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; transition: all 0.3s ease;
    box-shadow: 0 2px 20px rgba(0,0,0,0.3);
}
.zen-bell:hover {
    border-color: rgba(184,134,11,0.6);
    box-shadow: 0 0 30px rgba(184,134,11,0.2);
    transform: scale(1.05);
}
.zen-bell.ringing {
    animation: bell-swing 0.5s ease-in-out 3;
}
.zen-bell .bell-icon {
    font-size: 1.6rem; color: rgba(247,243,238,0.7);
    transition: color 0.3s ease;
}
.zen-bell:hover .bell-icon { color: #B8860B; }
.zen-bell .bell-ripples {
    position: absolute; width: 100%; height: 100%; top: 0; left: 0;
    pointer-events: none;
}
.zen-bell .bell-ripples span {
    position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
    width: 100%; height: 100%; border-radius: 50%;
    border: 1px solid rgba(184,134,11,0.3); opacity: 0;
}
.zen-bell.ringing .bell-ripples span {
    animation: bell-ripple 1.5s ease-out forwards;
}
.zen-bell.ringing .bell-ripples span:nth-child(2) { animation-delay: 0.3s; }
.zen-bell.ringing .bell-ripples span:nth-child(3) { animation-delay: 0.6s; }
@keyframes bell-swing {
    0%, 100% { transform: rotate(0deg); }
    25% { transform: rotate(8deg); }
    75% { transform: rotate(-8deg); }
}
@keyframes bell-ripple {
    0% { width: 100%; height: 100%; opacity: 0.6; }
    100% { width: 300%; height: 300%; opacity: 0; }
}
.zen-bell-tooltip {
    position: fixed; bottom: 88px; right: 24px; z-index: 1001;
    background: rgba(26,22,18,0.95); border: 1px solid rgba(184,134,11,0.2);
    border-radius: 8px; padding: 12px 18px; font-family: 'Noto Serif SC', serif;
    font-size: 0.85rem; color: rgba(247,243,238,0.7); letter-spacing: 2px;
    opacity: 0; transform: translateY(10px); transition: all 0.3s ease;
    pointer-events: none; max-width: 200px; text-align: center; line-height: 1.6;
}
.zen-bell-tooltip.visible {
    opacity: 1; transform: translateY(0); pointer-events: auto;
}
@media(max-width:768px) {
    .zen-bell { width: 48px; height: 48px; bottom: 16px; right: 16px; }
    .zen-bell .bell-icon { font-size: 1.3rem; }
}
@media(max-width:768px) {
    .zen-mind-seal .seal-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
    .zen-mind-seal { padding: 60px 16px 30px; }
}


/* ═══════════════════════════════════════════════════
   一念之间 · 悟性追踪扩展 (2026-04-13 战略迭代)
   ═══════════════════════════════════════════════════ */
.yinian-tracker {
    padding: 32px 24px;
    background: linear-gradient(180deg, var(--bg-color) 0%, var(--section-alt-bg) 100%);
    text-align: center;
}
.yinian-header {
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 4px;
    color: var(--text-primary);
    margin-bottom: 8px;
}
.yinian-subheader {
    font-size: 13px;
    color: var(--text-secondary);
    letter-spacing: 2px;
    margin-bottom: 24px;
}
.yinian-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 16px;
    max-width: 700px;
    margin: 0 auto;
}
.yinian-day {
    aspect-ratio: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: var(--white);
    border-radius: 16px;
    border: 2px solid rgba(184, 134, 11, 0.15);
    cursor: pointer;
    transition: all 0.3s ease;
}
.yinian-day:hover {
    transform: scale(1.05);
    border-color: var(--accent-gold);
    box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}
.yinian-day.completed {
    background: linear-gradient(135deg, rgba(184, 134, 11, 0.1) 0%, rgba(197, 61, 67, 0.1) 100%);
    border-color: var(--accent-gold);
}
.yinian-day-num {
    font-size: 24px;
    font-weight: 700;
    color: var(--text-primary);
    letter-spacing: 2px;
}
.yinian-day-label {
    font-size: 11px;
    color: var(--text-secondary);
    letter-spacing: 1px;
    margin-top: 4px;
}
.yinian-day-icon {
    font-size: 20px;
    margin-top: 8px;
}
.yinian-modal {
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0,0,0,0.6);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 20000;
}
.yinian-modal.active {
    display: flex;
}
.yinian-modal-content {
    background: var(--bg-color);
    padding: 40px 32px;
    border-radius: 20px;
    max-width: 500px;
    width: 90%;
    max-height: 80vh;
    overflow-y: auto;
}
.yinian-modal-title {
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 3px;
    margin-bottom: 20px;
    text-align: center;
}
.yinian-modal-textarea {
    width: 100%;
    min-height: 150px;
    padding: 16px;
    border: 1px solid rgba(184, 134, 11, 0.3);
    border-radius: 12px;
    background: var(--white);
    font-family: var(--serif);
    font-size: 14px;
    line-height: 1.8;
    resize: vertical;
}
.yinian-modal-buttons {
    display: flex;
    gap: 12px;
    margin-top: 20px;
}
.yinian-btn {
    flex: 1;
    padding: 12px 24px;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    letter-spacing: 2px;
    cursor: pointer;
    transition: all 0.3s ease;
}
.yinian-btn-primary {
    background: var(--accent-red);
    color: var(--white);
}
.yinian-btn-primary:hover {
    background: #a33237;
}
.yinian-btn-secondary {
    background: rgba(184, 134, 11, 0.15);
    color: var(--text-primary);
}
.yinian-btn-secondary:hover {
    background: rgba(184, 134, 11, 0.25);
}

/* === Style Block 2 === */
.seven-gates-intro-section {
    background: linear-gradient(135deg, #1a1510 0%, #2a2420 50%, #1a1510 100%);
    padding: 72px 120px;
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid rgba(184,134,11,0.15);
}
.seven-gates-intro-section::before {
    content: '門';
    position: absolute;
    font-size: 420px;
    color: rgba(184,134,11,0.03);
    font-family: var(--serif);
    right: -60px;
    top: 50%;
    transform: translateY(-50%);
    line-height: 1;
    pointer-events: none;
    font-weight: 200;
}
.seven-gates-intro-header {
    text-align: center;
    margin-bottom: 48px;
}
.seven-gates-intro-label {
    font-size: 10px;
    color: var(--accent-gold);
    letter-spacing: 7px;
    text-transform: uppercase;
    display: block;
    margin-bottom: 16px;
    opacity: 0.75;
}
.seven-gates-intro-title {
    font-size: 28px;
    font-weight: 300;
    letter-spacing: 5px;
    color: rgba(247,243,238,0.9);
    margin-bottom: 12px;
}
.seven-gates-intro-desc {
    font-size: 13px;
    color: rgba(247,243,238,0.5);
    letter-spacing: 1px;
    line-height: 2;
    max-width: 560px;
    margin: 0 auto;
}
.seven-gates-intro-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 12px;
    max-width: 1200px;
    margin: 0 auto;
}
.gate-intro-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 24px 12px;
    background: rgba(247,243,238,0.03);
    border: 1px solid rgba(247,243,238,0.08);
    border-radius: 2px;
    text-decoration: none;
    transition: all 0.4s cubic-bezier(0.4,0,0.2,1);
    position: relative;
    overflow: hidden;
}
.gate-intro-card::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, var(--accent-gold) 0%, var(--accent-red) 100%);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.4s cubic-bezier(0.4,0,0.2,1);
}
.gate-intro-card:hover {
    background: rgba(247,243,238,0.06);
    border-color: rgba(184,134,11,0.25);
    transform: translateY(-4px);
}
.gate-intro-card:hover::after {
    transform: scaleX(1);
}
.gate-intro-char {
    font-size: 36px;
    font-weight: 200;
    color: var(--accent-gold);
    line-height: 1;
    margin-bottom: 12px;
    font-family: var(--serif);
    opacity: 0.85;
    transition: all 0.3s ease;
}
.gate-intro-card:hover .gate-intro-char {
    opacity: 1;
    transform: scale(1.1);
}
.gate-intro-title {
    font-size: 12px;
    font-weight: 500;
    color: rgba(247,243,238,0.85);
    letter-spacing: 2px;
    margin-bottom: 6px;
    text-align: center;
}
.gate-intro-desc {
    font-size: 10px;
    color: rgba(247,243,238,0.4);
    letter-spacing: 1px;
    line-height: 1.6;
    text-align: center;
}
@media (max-width: 1200px) {
    .seven-gates-intro-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}
@media (max-width: 768px) {
    .seven-gates-intro-section {
        padding: 48px 20px;
    }
    .seven-gates-intro-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
    .gate-intro-card {
        padding: 18px 10px;
    }
    .gate-intro-char {
        font-size: 28px;
    }
    .gate-intro-title {
        font-size: 11px;
    }
    .gate-intro-desc {
        display: none;
    }
}

/* 今日修行统一入口条 */
.today-practice-unified-strip {
    background: linear-gradient(135deg, #1e1b17 0%, #2a2420 50%, #1e1b17 100%);
    padding: 48px 120px;
    border-top: 1px solid rgba(184,134,11,0.12);
    border-bottom: 1px solid rgba(184,134,11,0.12);
    position: relative;
    overflow: hidden;
}
.today-practice-unified-strip::before {
    content: '修';
    position: absolute;
    font-size: 280px;
    color: rgba(184,134,11,0.03);
    font-family: var(--serif);
    right: 80px;
    top: 50%;
    transform: translateY(-50%);
    line-height: 1;
    pointer-events: none;
    font-weight: 200;
}
.tpus-inner {
    max-width: 1000px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}
.tpus-label {
    font-size: 10px;
    color: var(--accent-red);
    letter-spacing: 6px;
    text-transform: uppercase;
    display: block;
    text-align: center;
    margin-bottom: 32px;
    opacity: 0.85;
}
.tpus-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
.tpus-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 28px 20px;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(247,243,238,0.08);
    border-radius: 3px;
    text-decoration: none;
    transition: all 0.4s cubic-bezier(0.4,0,0.2,1);
    position: relative;
    overflow: hidden;
}
.tpus-card::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: var(--accent-gold);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.4s ease;
}
.tpus-card:hover {
    background: rgba(255,255,255,0.06);
    border-color: rgba(184,134,11,0.25);
    transform: translateY(-4px);
}
.tpus-card:hover::after {
    transform: scaleX(1);
}
.tpus-card.highlight {
    background: linear-gradient(135deg, rgba(197,61,67,0.08) 0%, rgba(184,134,11,0.08) 100%);
    border-color: rgba(197,61,67,0.3);
}
.tpus-icon {
    font-size: 32px;
    margin-bottom: 14px;
    opacity: 0.9;
}
.tpus-title {
    font-size: 13px;
    font-weight: 500;
    color: rgba(247,243,238,0.9);
    letter-spacing: 2px;
    margin-bottom: 6px;
    text-align: center;
}
.tpus-desc {
    font-size: 10px;
    color: rgba(247,243,238,0.45);
    letter-spacing: 1px;
    line-height: 1.6;
    text-align: center;
}
@media (max-width: 1024px) {
    .today-practice-unified-strip {
        padding: 40px 40px;
    }
    .tpus-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 600px) {
    .today-practice-unified-strip {
        padding: 32px 20px;
    }
    .tpus-grid {
        grid-template-columns: 1fr;
    }
}

/* 三次呼吸悬浮组件 */
.breath-floating-widget {
    position: fixed;
    bottom: 100px;
    right: 40px;
    z-index: 9997;
    transition: all 0.4s cubic-bezier(0.4,0,0.2,1);
}
.breath-floating-widget:hover {
    transform: translateY(-2px);
}
.breath-float-btn {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(184,134,11,0.9) 0%, rgba(154,112,8,0.9) 100%);
    border: 2px solid rgba(255,255,255,0.2);
    color: white;
    font-family: var(--serif);
    font-size: 10px;
    letter-spacing: 2px;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 24px rgba(184,134,11,0.35);
    transition: all 0.4s ease;
    backdrop-filter: blur(4px);
}
.breath-float-btn:hover {
    box-shadow: 0 6px 32px rgba(184,134,11,0.5);
    transform: scale(1.08);
}
.breath-float-icon {
    font-size: 20px;
    line-height: 1;
    margin-bottom: 2px;
}
.breath-float-label {
    font-size: 8px;
    letter-spacing: 1px;
    opacity: 0.9;
}
.breath-float-panel {
    position: absolute;
    bottom: 68px;
    right: 0;
    width: 320px;
    background: linear-gradient(135deg, #1a1510 0%, #2a2420 100%);
    border: 1px solid rgba(184,134,11,0.25);
    border-radius: 4px;
    padding: 32px;
    box-shadow: 0 8px 48px rgba(0,0,0,0.3);
    display: none;
    animation: fadeIn 0.3s ease;
}
.breath-floating-widget.active .breath-float-panel {
    display: block;
}
.breath-panel-title {
    font-size: 11px;
    color: var(--accent-gold);
    letter-spacing: 4px;
    text-transform: uppercase;
    text-align: center;
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(184,134,11,0.15);
}
.breath-circle-container {
    position: relative;
    width: 140px;
    height: 140px;
    margin: 0 auto 24px;
}
.breath-circle {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(184,134,11,0.25) 0%, rgba(184,134,11,0.05) 70%);
    border: 1px solid rgba(184,134,11,0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: breathExpand 4.5s ease-in-out infinite;
}
@keyframes breathExpand {
    0%, 100% { 
        transform: scale(0.85); 
        box-shadow: 0 0 0 0 rgba(184,134,11,0.2);
    }
    50% { 
        transform: scale(1.15); 
        box-shadow: 0 0 0 28px rgba(184,134,11,0);
    }
}
.breath-phase-text {
    font-size: 18px;
    letter-spacing: 4px;
    color: var(--accent-gold);
    font-weight: 300;
}
.breath-instruction {
    font-size: 12px;
    color: rgba(247,243,238,0.6);
    letter-spacing: 2px;
    text-align: center;
    margin-bottom: 20px;
    line-height: 1.8;
}
.breath-counter {
    font-size: 10px;
    color: rgba(247,243,238,0.4);
    letter-spacing: 3px;
    text-align: center;
}
.breath-close-btn {
    position: absolute;
    top: 12px;
    right: 16px;
    font-size: 20px;
    color: rgba(247,243,238,0.4);
    cursor: pointer;
    transition: color 0.3s;
    background: none;
    border: none;
    padding: 4px;
}
.breath-close-btn:hover {
    color: rgba(247,243,238,0.8);
}
@media (max-width: 600px) {
    .breath-floating-widget {
        bottom: 80px;
        right: 20px;
    }
    .breath-float-btn {
        width: 50px;
        height: 50px;
    }
    .breath-float-panel {
        width: 280px;
        right: -20px;
    }
}

/* === Style Block 3 === */
/* ── 十牛图 · 互动画廊 ── */
.ten-ox-section {
    padding: 80px 24px 60px;
    background: linear-gradient(180deg, var(--section-alt-bg) 0%, var(--bg-color) 100%);
    text-align: center;
    max-width: 100%;
}
.tox-header { max-width: 640px; margin: 0 auto 48px; }
.tox-label {
    display: inline-block;
    font-size: 11px; letter-spacing: 6px; text-transform: uppercase;
    color: var(--accent-red); opacity: 0.7; margin-bottom: 12px;
}
.tox-title {
    font-size: 28px; font-weight: 400; letter-spacing: 4px;
    color: var(--text-primary); margin-bottom: 12px;
}
.tox-subtitle {
    font-size: 14px; color: var(--text-secondary); line-height: 1.8;
    letter-spacing: 1px;
}
.tox-stage { max-width: 680px; margin: 0 auto; position: relative; }

/* Progress Track */
.tox-progress-track {
    position: relative; height: 3px;
    background: rgba(45,43,40,0.1); border-radius: 2px; margin-bottom: 40px;
}
.tox-progress-fill {
    position: absolute; top: 0; left: 0; height: 100%;
    background: var(--accent-red); border-radius: 2px;
    transition: width 0.6s cubic-bezier(0.4,0,0.2,1); width: 10%;
}
.tox-progress-nodes { position: absolute; top: -5px; left: 0; width: 100%; height: 13px; }

/* Card */
.tox-card {
    background: var(--white); border-radius: 16px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.06);
    padding: 48px 40px 40px; position: relative;
    transition: transform 0.5s cubic-bezier(0.4,0,0.2,1), opacity 0.5s ease;
}
.tox-card-inner { opacity: 1; transition: opacity 0.3s ease; }
.tox-card.transitioning .tox-card-inner { opacity: 0; }
.tox-num {
    display: inline-block; width: 48px; height: 48px; line-height: 48px;
    border-radius: 50%; border: 2px solid var(--accent-gold);
    font-size: 16px; font-weight: 600; color: var(--accent-gold);
    letter-spacing: 2px; margin-bottom: 20px;
}
.tox-visual {
    width: 200px; height: 120px; margin: 0 auto 24px;
    opacity: 0.85;
}
.tox-svg { width: 100%; height: 100%; }
.tox-card-title {
    font-size: 22px; font-weight: 400; letter-spacing: 6px;
    color: var(--text-primary); margin-bottom: 16px;
}
.tox-poem {
    font-size: 15px; color: var(--accent-red); opacity: 0.8;
    line-height: 1.8; letter-spacing: 1px; margin-bottom: 20px;
    font-style: italic;
}
.tox-divider {
    width: 40px; height: 1px; background: var(--accent-gold);
    opacity: 0.3; margin: 20px auto;
}
.tox-meaning {
    font-size: 14px; color: var(--text-tertiary);
    line-height: 2; letter-spacing: 0.5px; max-width: 500px;
    margin: 0 auto 24px;
}
.tox-modern {
    background: linear-gradient(135deg, rgba(247,243,238,0.8) 0%, rgba(245,240,234,0.8) 100%);
    border-radius: 12px; padding: 20px 24px; border: 1px solid rgba(184,134,11,0.1);
}
.tox-modern-label {
    display: inline-block; font-size: 11px; letter-spacing: 3px;
    color: var(--accent-gold); opacity: 0.7; margin-bottom: 8px;
}
.tox-modern-text {
    font-size: 14px; color: var(--text-secondary);
    line-height: 1.8; letter-spacing: 0.5px;
}

/* Navigation */
.tox-nav {
    display: flex; align-items: center; justify-content: center;
    gap: 24px; margin-top: 32px;
}
.tox-nav-btn {
    background: none; border: 1px solid rgba(45,43,40,0.15);
    border-radius: 24px; padding: 10px 24px;
    font-size: 13px; color: var(--text-secondary);
    cursor: pointer; transition: all 0.3s ease;
    font-family: var(--serif); letter-spacing: 2px;
}
.tox-nav-btn:hover { border-color: var(--accent-red); color: var(--accent-red); }
.tox-nav-btn:disabled { opacity: 0.3; cursor: default; }
.tox-step-indicator {
    font-size: 12px; color: var(--text-secondary);
    letter-spacing: 2px; opacity: 0.6;
}

/* ── 正念足迹 · 导航栏累积禅定追踪 ── */
.mindfulness-badge {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 11px; color: var(--accent-gold);
    letter-spacing: 1px; padding: 4px 12px;
    border: 1px solid rgba(184,134,11,0.2);
    border-radius: 20px; cursor: default;
    transition: all 0.3s ease; opacity: 0;
    animation: mfFadeIn 1s ease 2s forwards;
}
.mindfulness-badge .mf-icon { font-size: 13px; }
.mindfulness-badge .mf-time { font-weight: 600; }
.mindfulness-badge:hover {
    background: rgba(184,134,11,0.06);
    border-color: rgba(184,134,11,0.4);
}
@keyframes mfFadeIn { to { opacity: 1; } }

/* ── 心境呼吸光晕 ── */
.breathing-glow {
    position: fixed; top: 50%; left: 50%;
    width: 100vw; height: 100vh;
    transform: translate(-50%, -50%);
    pointer-events: none; z-index: 0;
    opacity: 0;
    background: radial-gradient(ellipse at center,
        rgba(197,61,67,0.03) 0%,
        rgba(197,61,67,0.01) 30%,
        transparent 70%);
    animation: breathGlow 8s ease-in-out infinite;
    transition: opacity 1.5s ease;
}
.breathing-glow.active { opacity: 1; }
@keyframes breathGlow {
    0%, 100% { transform: translate(-50%, -50%) scale(0.95); opacity: 0.4; }
    50% { transform: translate(-50%, -50%) scale(1.05); opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
    .breathing-glow { display: none; }
}
@media (max-width: 768px) {
    .ten-ox-section { padding: 48px 16px 40px; }
    .tox-card { padding: 32px 24px 28px; }
    .tox-title { font-size: 22px; }
    .tox-visual { width: 160px; height: 96px; }
    .tox-nav-btn { padding: 8px 16px; font-size: 12px; }
    .mindfulness-badge { font-size: 10px; padding: 3px 8px; }
}

/* === Style Block 4 === */
/* ── 1. 春日花瓣飘落动画 ── */
.spring-petals-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 9999;
    overflow: hidden;
    opacity: 0;
    transition: opacity 2s ease;
}
.spring-petals-container.active {
    opacity: 1;
}
.spring-petal {
    position: absolute;
    top: -20px;
    width: 12px;
    height: 12px;
    background: radial-gradient(ellipse at center,
        rgba(255, 183, 197, 0.9) 0%,
        rgba(255, 150, 170, 0.6) 50%,
        rgba(255, 120, 150, 0.3) 100%);
    border-radius: 50% 0 50% 50%;
    opacity: 0;
    animation: petalFall var(--fall-duration, 12s) var(--fall-delay, 0s) infinite ease-in-out;
    transform: rotate(var(--start-rotate, 0deg));
    filter: blur(0.3px);
}
.spring-petal::after {
    content: '';
    position: absolute;
    top: 20%;
    left: 20%;
    width: 60%;
    height: 60%;
    background: radial-gradient(ellipse, rgba(255,220,230,0.5) 0%, transparent 70%);
    border-radius: 50%;
}
@keyframes petalFall {
    0% {
        opacity: 0;
        transform: translateY(0) translateX(0) rotate(0deg) scale(0.8);
    }
    10% {
        opacity: 0.7;
    }
    50% {
        opacity: 0.5;
        transform: translateY(50vh) translateX(var(--sway, 80px)) rotate(180deg) scale(1);
    }
    90% {
        opacity: 0.3;
    }
    100% {
        opacity: 0;
        transform: translateY(105vh) translateX(calc(var(--sway, 80px) * -0.5)) rotate(360deg) scale(0.6);
    }
}
@media (prefers-reduced-motion: reduce) {
    .spring-petals-container { display: none; }
}

/* ── 2. 时辰感知 Hero 变体 ── */
.hero[data-time-phase="dawn"] {
    background: linear-gradient(170deg, #1a1a2e 0%, #16213e 30%, #0f3460 60%, #e94560 100%) !important;
}
.hero[data-time-phase="morning"] {
    background: linear-gradient(170deg, #2d1b30 0%, #4a2040 20%, #8b3a5e 50%, #c77358 75%, #e8b87e 100%) !important;
}
.hero[data-time-phase="afternoon"] {
    background: linear-gradient(170deg, #2d2b28 0%, #3d3530 30%, #5a4a3a 60%, #8b7355 85%, #c4a265 100%) !important;
}
.hero[data-time-phase="evening"] {
    background: linear-gradient(170deg, #1a1a2e 0%, #16213e 30%, #1a1a40 60%, #2d1b4e 100%) !important;
}
.hero[data-time-phase="night"] {
    background: linear-gradient(170deg, #0a0a0f 0%, #0d0d1a 40%, #111122 70%, #1a1a2e 100%) !important;
}
.hero-time-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 16px;
    border-radius: 20px;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.12);
    color: rgba(247,243,238,0.7);
    font-size: 12px;
    letter-spacing: 2px;
    margin-bottom: 16px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    animation: fadeInUp 0.8s 0.5s both;
}
.hero-time-badge .time-char {
    font-size: 18px;
    opacity: 0.9;
}

/* ── 3. 一念之间 · Daily Insight Widget ── */
.yinian-widget {
    position: relative;
    max-width: 680px;
    margin: 0 auto 64px;
    padding: 48px 56px;
    background: linear-gradient(135deg, rgba(247,243,238,0.6) 0%, rgba(255,255,255,0.9) 100%);
    border: 1px solid rgba(184,134,11,0.15);
    border-radius: 4px;
    text-align: center;
    overflow: hidden;
}
.yinian-widget::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -30%;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(184,134,11,0.04) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}
.yinian-label {
    display: inline-block;
    font-size: 10px;
    letter-spacing: 4px;
    color: var(--text-secondary);
    text-transform: uppercase;
    margin-bottom: 20px;
    padding: 4px 12px;
    border: 1px solid rgba(184,134,11,0.2);
    border-radius: 2px;
}
.yinian-char {
    font-size: 72px;
    font-weight: 200;
    color: var(--accent-red);
    line-height: 1;
    margin: 16px 0;
    display: block;
    opacity: 0.85;
    transition: all 0.6s ease;
}
.yinian-char:hover {
    opacity: 1;
    transform: scale(1.05);
}
.yinian-meaning {
    font-size: 14px;
    color: var(--text-tertiary);
    letter-spacing: 2px;
    margin-bottom: 24px;
}
.yinian-quote {
    font-size: 20px;
    font-weight: 300;
    color: var(--text-primary);
    line-height: 1.8;
    margin: 24px 0 8px;
    letter-spacing: 1px;
}
.yinian-source {
    font-size: 13px;
    color: var(--text-secondary);
    letter-spacing: 1px;
}
.yinian-divider {
    width: 40px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--accent-gold), transparent);
    margin: 24px auto;
}
.yinian-action {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 24px;
    border: 1px solid rgba(197,61,67,0.3);
    border-radius: 3px;
    color: var(--accent-red);
    font-size: 13px;
    letter-spacing: 2px;
    cursor: pointer;
    background: transparent;
    transition: all 0.35s ease;
    text-decoration: none;
}
.yinian-action:hover {
    background: rgba(197,61,67,0.05);
    border-color: rgba(197,61,67,0.5);
    transform: translateY(-1px);
}
.yinian-seasonal {
    font-size: 11px;
    color: var(--text-secondary);
    letter-spacing: 3px;
    margin-top: 20px;
    opacity: 0.6;
}
@media (max-width: 768px) {
    .yinian-widget {
        padding: 36px 24px;
        margin: 0 16px 48px;
    }
    .yinian-char {
        font-size: 56px;
    }
    .yinian-quote {
        font-size: 17px;
    }
}
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
}

/* ═══════════════════════════════════════════════════
   禅门日课 · 五重修行 (2026-04-12 战略迭代)
   每日五课：字·语·案·师·行
   ═══════════════════════════════════════════════════ */
.zen-daily-gongfu {
    padding: 0;
    background: var(--white);
    position: relative;
    overflow: hidden;
}
.zdg-header {
    text-align: center;
    padding: 56px 24px 40px;
    position: relative;
}
.zdg-header::after {
    content: '';
    position: absolute;
    bottom: 0; left: 50%;
    transform: translateX(-50%);
    width: 60px; height: 1px;
    background: var(--accent-red);
    opacity: 0.3;
}
.zdg-title-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}
.zdg-label {
    font-size: 10px;
    letter-spacing: 6px;
    color: var(--text-secondary);
    text-transform: uppercase;
}
.zdg-title {
    font-size: 28px;
    font-weight: 400;
    letter-spacing: 8px;
    color: var(--text-primary);
}
.zdg-subtitle {
    font-size: 12px;
    letter-spacing: 3px;
    color: var(--text-tertiary);
    margin-top: 6px;
}
.zdg-date-bar {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: 16px;
    font-size: 11px;
    letter-spacing: 2px;
    color: var(--text-secondary);
}
.zdg-date-bar span {
    opacity: 0.4;
}

/* 日课容器 */
.zdg-courses {
    display: grid;
    grid-template-columns: 1fr;
    max-width: 900px;
    margin: 0 auto;
    padding: 0 24px 56px;
    gap: 0;
}

/* 单个日课 */
.zdg-course {
    border-bottom: 1px solid rgba(0,0,0,0.05);
    padding: 32px 28px;
    cursor: pointer;
    transition: all 0.4s ease;
    position: relative;
}
.zdg-course:last-child { border-bottom: none; }
.zdg-course:hover {
    background: rgba(247,243,238,0.5);
}
.zdg-course.active {
    background: rgba(247,243,238,0.3);
}

/* 日课头部 */
.zdg-course-head {
    display: flex;
    align-items: center;
    gap: 20px;
}
.zdg-course-num {
    width: 36px; height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1px;
    flex-shrink: 0;
    transition: all 0.4s ease;
}
.zdg-course:nth-child(1) .zdg-course-num { background: rgba(197,61,67,0.08); color: var(--accent-red); }
.zdg-course:nth-child(2) .zdg-course-num { background: rgba(184,134,11,0.08); color: var(--accent-gold); }
.zdg-course:nth-child(3) .zdg-course-num { background: rgba(45,43,40,0.06); color: var(--text-primary); }
.zdg-course:nth-child(4) .zdg-course-num { background: rgba(184,134,11,0.08); color: var(--accent-gold); }
.zdg-course:nth-child(5) .zdg-course-num { background: rgba(197,61,67,0.08); color: var(--accent-red); }

.zdg-course-meta {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.zdg-course-type {
    font-size: 10px;
    letter-spacing: 4px;
    color: var(--text-secondary);
    text-transform: uppercase;
}
.zdg-course-name {
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 3px;
    color: var(--text-primary);
}
.zdg-course-teaser {
    font-size: 12px;
    color: var(--text-secondary);
    letter-spacing: 1px;
    margin-top: 2px;
    line-height: 1.7;
}
.zdg-course-arrow {
    font-size: 18px;
    color: var(--text-secondary);
    opacity: 0.3;
    transition: all 0.3s ease;
    flex-shrink: 0;
}
.zdg-course:hover .zdg-course-arrow,
.zdg-course.active .zdg-course-arrow {
    opacity: 0.8;
    transform: translateX(3px);
}

/* 日课展开内容 */
.zdg-course-body {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1), padding 0.4s ease;
    padding: 0 0 0 56px;
}
.zdg-course.active .zdg-course-body {
    max-height: 600px;
    padding: 20px 0 8px 56px;
}

/* 日课 1：今日字 */
.zdg-char-display {
    font-size: 64px;
    font-weight: 300;
    color: var(--text-primary);
    letter-spacing: 8px;
    line-height: 1.2;
    margin-bottom: 12px;
}
.zdg-char-meaning {
    font-size: 14px;
    color: var(--text-secondary);
    letter-spacing: 2px;
    margin-bottom: 16px;
    line-height: 1.8;
}
.zdg-char-insight {
    font-size: 13px;
    color: var(--text-tertiary);
    letter-spacing: 1px;
    line-height: 2;
    padding: 16px 20px;
    background: var(--bg-color);
    border-left: 2px solid rgba(197,61,67,0.2);
    margin-bottom: 16px;
}

/* 日课 2：今日语 */
.zdg-quote-text {
    font-size: 20px;
    font-weight: 400;
    color: var(--text-primary);
    letter-spacing: 2px;
    line-height: 1.8;
    margin-bottom: 12px;
}
.zdg-quote-source {
    font-size: 12px;
    color: var(--text-secondary);
    letter-spacing: 3px;
    margin-bottom: 16px;
}
.zdg-quote-reflect {
    font-size: 12px;
    color: var(--text-tertiary);
    letter-spacing: 1px;
    line-height: 2;
    padding: 12px 20px;
    background: var(--bg-color);
    border-left: 2px solid rgba(184,134,11,0.2);
}

/* 日课 3：今日案 */
.zdg-koan-text {
    font-size: 16px;
    color: var(--text-primary);
    letter-spacing: 1px;
    line-height: 2;
    margin-bottom: 12px;
}
.zdg-koan-answer {
    font-size: 20px;
    font-weight: 600;
    color: var(--accent-red);
    letter-spacing: 4px;
    margin-bottom: 16px;
}
.zdg-koan-hint {
    font-size: 12px;
    color: var(--text-tertiary);
    letter-spacing: 1px;
    line-height: 2;
}

/* 日课 4：今日师 */
.zdg-master-name {
    font-size: 22px;
    font-weight: 400;
    letter-spacing: 6px;
    color: var(--text-primary);
    margin-bottom: 4px;
}
.zdg-master-era {
    font-size: 11px;
    color: var(--text-secondary);
    letter-spacing: 3px;
    margin-bottom: 14px;
}
.zdg-master-quote {
    font-size: 15px;
    color: var(--text-primary);
    letter-spacing: 1px;
    line-height: 2;
    padding: 16px 20px;
    background: var(--bg-color);
    border-left: 2px solid rgba(184,134,11,0.2);
    margin-bottom: 14px;
}
.zdg-master-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--accent-red);
    letter-spacing: 2px;
    text-decoration: none;
    transition: all 0.3s ease;
}
.zdg-master-link:hover { opacity: 0.7; }

/* 日课 5：今日行 */
.zdg-action-title {
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 3px;
    color: var(--text-primary);
    margin-bottom: 8px;
}
.zdg-action-desc {
    font-size: 13px;
    color: var(--text-secondary);
    letter-spacing: 1px;
    line-height: 1.9;
    margin-bottom: 16px;
}
.zdg-action-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 28px;
    background: var(--text-primary);
    color: rgba(247,243,238,0.9);
    font-size: 12px;
    letter-spacing: 3px;
    border: none;
    border-radius: 2px;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.3s ease;
    font-family: var(--serif);
}
.zdg-action-btn:hover {
    background: #3a3632;
    transform: translateY(-1px);
}

/* 日课进度指示器 */
.zdg-progress {
    display: flex;
    justify-content: center;
    gap: 8px;
    padding: 20px 24px 40px;
}
.zdg-progress-dot {
    width: 6px; height: 6px;
    border-radius: 50%;
    background: rgba(0,0,0,0.1);
    transition: all 0.3s ease;
}
.zdg-progress-dot.done {
    background: var(--accent-red);
}
.zdg-progress-dot.current {
    background: var(--accent-gold);
    width: 18px;
    border-radius: 3px;
}

/* 响应式 */
@media (max-width: 768px) {
    .zdg-title { font-size: 22px; letter-spacing: 6px; }
    .zdg-courses { padding: 0 16px 40px; }
    .zdg-course { padding: 24px 16px; }
    .zdg-course-body { padding-left: 0; }
    .zdg-course.active .zdg-course-body { padding: 16px 0 8px 0; }
    .zdg-course-head { gap: 14px; }
    .zdg-char-display { font-size: 48px; }
    .zdg-quote-text { font-size: 17px; }
}
@media (max-width: 480px) {
    .zdg-header { padding: 40px 16px 28px; }
    .zdg-title { font-size: 20px; }
    .zdg-course-num { width: 30px; height: 30px; font-size: 12px; }
}

/* ═══════════════════════════════════════════════════════════════
   禅境时辰主题 · 四时自动变色 (2026-04-12 战略迭代)
   根据真实时间自动切换：晨曦/日中/黄昏/夜阑
   ═══════════════════════════════════════════════════════════════ */
:root {
    --zen-time-dawn: 0;
    --zen-time-day: 0;
    --zen-time-dusk: 0;
    --zen-time-night: 0;
}
body.zen-dawn {
    --bg-color: #FDF6EC;
    --section-alt-bg: #FAF0E0;
    --text-primary: #3D3529;
    --text-secondary: #9A8B78;
    --accent-red: #D4735E;
    --accent-gold: #D4A04A;
}
body.zen-day {
    --bg-color: #F7F3EE;
    --section-alt-bg: #F5F0EA;
    --text-primary: #2D2B28;
    --text-secondary: #8A847D;
    --accent-red: #C53D43;
    --accent-gold: #B8860B;
}
body.zen-dusk {
    --bg-color: #F5EDE4;
    --section-alt-bg: #EDE3D7;
    --text-primary: #3A2F28;
    --text-secondary: #8B7B6E;
    --accent-red: #B84A3F;
    --accent-gold: #C4922A;
}
body.zen-night {
    --bg-color: #1A1816;
    --section-alt-bg: #222019;
    --text-primary: #E8E2D8;
    --text-secondary: #8A8278;
    --accent-red: #D45A52;
    --accent-gold: #D4A84A;
}
body.zen-night .zen-nav {
    background-color: rgba(26, 24, 22, 0.95);
}
body.zen-night .zen-nav .nav-links a {
    color: var(--text-primary);
}
body.zen-night footer {
    background: #151310;
}
body.zen-night .zen-float-timer,
body.zen-night .zen-scroll-ring,
body.zen-night .zen-whisper {
    background: rgba(26, 24, 22, 0.95);
    border-color: rgba(232, 226, 216, 0.1);
}
body.zen-night .zen-journey-nav {
    background: rgba(26, 24, 22, 0.9);
}
body.zen-night .zen-journey-nav .zjn-dot {
    background: rgba(232, 226, 216, 0.3);
    border-color: rgba(232, 226, 216, 0.15);
}
body.zen-night .zen-journey-nav .zjn-dot.active {
    background: var(--accent-red);
    border-color: var(--accent-red);
}
body.zen-night .practice-strip {
    background: rgba(26, 24, 22, 0.95);
    border-color: rgba(232, 226, 216, 0.08);
}
body.zen-night .back-to-top {
    background: rgba(26, 24, 22, 0.9);
    color: var(--text-primary);
    border-color: rgba(232, 226, 216, 0.15);
}
body.zen-night .zen-calendar-float {
    background: rgba(26, 24, 22, 0.95);
    color: var(--text-primary);
    border-color: rgba(232, 226, 216, 0.1);
}
body.zen-night .silence-mode-toggle {
    background: rgba(26, 24, 22, 0.9);
    color: var(--text-primary);
    border-color: rgba(232, 226, 216, 0.1);
}

/* 禅境光标轨迹 · 墨痕 (2026-04-12 战略迭代) */
.zen-cursor-trail {
    position: fixed;
    pointer-events: none;
    z-index: 99999;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(197, 61, 67, 0.25) 0%, transparent 70%);
    transform: translate(-50%, -50%);
    animation: zenTrailFade 1.8s ease-out forwards;
}
body.zen-night .zen-cursor-trail {
    background: radial-gradient(circle, rgba(212, 168, 74, 0.2) 0%, transparent 70%);
}
@keyframes zenTrailFade {
    0% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
    100% { opacity: 0; transform: translate(-50%, -50%) scale(2.5); }
}

/* 禅境音景按钮 (2026-04-12 战略迭代) */
.zen-soundscape-btn {
    position: fixed;
    bottom: 160px;
    right: 40px;
    z-index: 9999;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 1px solid rgba(0,0,0,0.1);
    background: rgba(247, 243, 238, 0.95);
    backdrop-filter: blur(8px);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
}
.zen-soundscape-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(0,0,0,0.12);
}
.zen-soundscape-btn.active {
    background: var(--accent-red);
    border-color: var(--accent-red);
    color: white;
    animation: zenSoundPulse 3s ease-in-out infinite;
}
body.zen-night .zen-soundscape-btn {
    background: rgba(26, 24, 22, 0.95);
    border-color: rgba(232, 226, 216, 0.15);
    color: var(--text-primary);
}
@keyframes zenSoundPulse {
    0%, 100% { box-shadow: 0 2px 12px rgba(197, 61, 67, 0.2); }
    50% { box-shadow: 0 2px 20px rgba(197, 61, 67, 0.4); }
}
.zen-soundscape-panel {
    position: fixed;
    bottom: 215px;
    right: 40px;
    z-index: 9999;
    background: rgba(247, 243, 238, 0.98);
    backdrop-filter: blur(16px);
    border-radius: 12px;
    padding: 20px;
    width: 240px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.12);
    border: 1px solid rgba(0,0,0,0.06);
    opacity: 0;
    transform: translateY(10px) scale(0.95);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
}
.zen-soundscape-panel.visible {
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
}
body.zen-night .zen-soundscape-panel {
    background: rgba(30, 28, 25, 0.98);
    border-color: rgba(232, 226, 216, 0.08);
}
.zen-sound-option {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.2s;
    margin-bottom: 4px;
}
.zen-sound-option:hover {
    background: rgba(184, 134, 11, 0.08);
}
.zen-sound-option.active {
    background: rgba(197, 61, 67, 0.08);
}
.zen-sound-icon {
    font-size: 20px;
    width: 28px;
    text-align: center;
}
.zen-sound-info {
    flex: 1;
}
.zen-sound-name {
    font-size: 13px;
    letter-spacing: 1px;
    color: var(--text-primary);
}
.zen-sound-desc {
    font-size: 10px;
    color: var(--text-secondary);
    letter-spacing: 0.5px;
    margin-top: 2px;
}

/* 一息微光入场动画 (2026-04-12 战略迭代) */
.zen-entrance-overlay {
    position: fixed;
    inset: 0;
    z-index: 100000;
    background: var(--bg-color);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

/* ═══════════════════════════════════════════════════
   禅息锚 · Zen Breathing Anchor (2026-04-14 战略迭代)
   持续的呼吸节奏提醒，连接整个页面体验
   ═══════════════════════════════════════════════════ */
.zen-breath-anchor {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 9997;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 20px;
    background: rgba(45, 43, 40, 0.75);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-radius: 28px;
    border: 1px solid rgba(255,255,255,0.08);
    box-shadow: 0 4px 24px rgba(0,0,0,0.15);
    opacity: 0;
    transition: opacity 0.6s ease, transform 0.6s ease;
    pointer-events: none;
    cursor: pointer;
}
.zen-breath-anchor.visible {
    opacity: 1;
    pointer-events: auto;
}
.zen-breath-anchor:hover {
    transform: translateX(-50%) translateY(-2px);
    box-shadow: 0 6px 28px rgba(0,0,0,0.2);
}
.zba-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--accent-red);
    animation: zbaBreathe 4s ease-in-out infinite;
    box-shadow: 0 0 8px rgba(197,61,67,0.4);
}
.zba-ring {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 1px solid rgba(197,61,67,0.3);
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}
.zba-ring::after {
    content: '';
    position: absolute;
    inset: -4px;
    border-radius: 50%;
    border: 1px solid rgba(197,61,67,0.15);
    animation: zbaRipple 4s ease-out infinite;
}
.zba-text {
    font-family: var(--serif);
    font-size: 11px;
    letter-spacing: 2px;
    color: rgba(247,243,238,0.6);
    transition: color 0.3s ease;
}
.zen-breath-anchor:hover .zba-text {
    color: rgba(247,243,238,0.9);
}
.zba-phase {
    font-family: var(--serif);
    font-size: 13px;
    color: var(--accent-red);
    letter-spacing: 3px;
    font-weight: 300;
    min-width: 20px;
    text-align: center;
}
@keyframes zbaBreathe {
    0%, 100% { transform: scale(1); opacity: 0.6; }
    50% { transform: scale(1.4); opacity: 1; }
}
@keyframes zbaRipple {
    0% { transform: scale(0.8); opacity: 0.4; }
    100% { transform: scale(1.8); opacity: 0; }
}
@media (max-width: 768px) {
    .zen-breath-anchor {
        bottom: 12px;
        padding: 6px 14px;
        gap: 6px;
    }
    .zba-text { font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
    .zba-dot, .zba-ring::after { animation: none !important; }
}

.zen-entrance-overlay.fading {
    opacity: 0;
    transform: scale(1.02);
}
.zen-entrance-char {
    font-size: 48px;
    font-weight: 300;
    letter-spacing: 12px;
    color: var(--text-primary);
    opacity: 0;
    animation: zenEntranceFadeIn 1.2s ease-out 0.3s forwards;
}
.zen-entrance-sub {
    font-size: 12px;
    letter-spacing: 6px;
    color: var(--text-secondary);
    margin-top: 16px;
    opacity: 0;
    animation: zenEntranceFadeIn 1s ease-out 0.8s forwards;
}
.zen-entrance-breath-line {
    width: 60px;
    height: 1px;
    background: var(--accent-red);
    margin-top: 24px;
    transform: scaleX(0);
    animation: zenEntranceBreathLine 2s ease-out 0.5s forwards;
}
@keyframes zenEntranceFadeIn {
    0% { opacity: 0; transform: translateY(8px); }
    100% { opacity: 1; transform: translateY(0); }
}
@keyframes zenEntranceBreathLine {
    0% { transform: scaleX(0); opacity: 0; }
    50% { transform: scaleX(1); opacity: 0.6; }
    100% { transform: scaleX(0.6); opacity: 0.3; }
}
@media (prefers-reduced-motion: reduce) {
    .zen-cursor-trail,
    .zen-entrance-overlay,
    .zen-entrance-char,
    .zen-entrance-sub,
    .zen-entrance-breath-line {
        animation: none !important;
        transition: none !important;
    }
    .zen-entrance-overlay { display: none !important; }
}


/* ── 觉照时刻 · Enhanced Entrance (2026-04-14) ── */
.zen-entrance-silence {
    position: absolute;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    border: 1px solid rgba(197,61,67,0.15);
    opacity: 0;
    animation: zenSilenceExpand 3s ease-out 0.2s forwards;
}
.zen-entrance-kanji {
    font-size: 72px;
    font-weight: 300;
    color: var(--accent-red);
    opacity: 0;
    position: absolute;
    animation: zenKanjiReveal 2s ease-out 0.5s forwards;
    letter-spacing: 4px;
}
@keyframes zenSilenceExpand {
    0% { transform: scale(0.3); opacity: 0; }
    50% { transform: scale(1); opacity: 0.3; }
    100% { transform: scale(1.5); opacity: 0; }
}
@keyframes zenKanjiReveal {
    0% { opacity: 0; transform: scale(0.8) translateY(10px); filter: blur(8px); }
    60% { opacity: 0.9; transform: scale(1.05) translateY(0); filter: blur(0); }
    100% { opacity: 0; transform: scale(1.1) translateY(-5px); filter: blur(2px); }
}
.zen-entrance-whisper {
    position: absolute;
    bottom: calc(50% - 80px);
    font-size: 11px;
    letter-spacing: 6px;
    color: var(--text-secondary);
    opacity: 0;
    animation: zenWhisperFade 2.5s ease-out 1.2s forwards;
}
@keyframes zenWhisperFade {
    0% { opacity: 0; }
    40% { opacity: 0.5; }
    100% { opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .zen-entrance-silence,
    .zen-entrance-kanji,
    .zen-entrance-whisper {
        animation: none !important;
        display: none !important;
    }
}

/* ═══════════════════════════════════════════════════
   禅径墨踪 · 滚动进度 (2026-04-12 战略迭代)
   以水墨笔触标记阅读旅程
   ═══════════════════════════════════════════════════ */
.zen-scroll-journey {
    position: fixed;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 200px;
    background: rgba(197,61,67,0.08);
    border-radius: 2px;
    z-index: 9998;
    opacity: 0;
    transition: opacity 0.6s ease;
    pointer-events: none;
}
.zen-scroll-journey.visible {
    opacity: 1;
}
.zen-scroll-journey-fill {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 0%;
    background: linear-gradient(180deg, 
        rgba(197,61,67,0.15) 0%, 
        rgba(197,61,67,0.5) 50%,
        rgba(197,61,67,0.8) 100%);
    border-radius: 2px;
    transition: height 0.15s ease-out;
}
.zen-scroll-journey-dot {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: rgba(197,61,67,0.3);
    transition: all 0.4s ease;
}
.zen-scroll-journey-dot.passed {
    background: rgba(197,61,67,0.8);
    box-shadow: 0 0 6px rgba(197,61,67,0.3);
}
.zen-scroll-journey-dot.current {
    background: #C53D43;
    width: 9px;
    height: 9px;
    box-shadow: 0 0 10px rgba(197,61,67,0.5);
}
.zen-scroll-journey-label {
    position: absolute;
    right: 14px;
    font-size: 10px;
    color: rgba(247,243,238,0.35);
    white-space: nowrap;
    letter-spacing: 2px;
    opacity: 0;
    transform: translateX(4px);
    transition: all 0.3s ease;
    font-family: serif;
}
.zen-scroll-journey-dot:hover .zen-scroll-journey-label,
.zen-scroll-journey-dot.current .zen-scroll-journey-label {
    opacity: 1;
    transform: translateX(0);
    color: rgba(247,243,238,0.6);
}
.zen-scroll-journey-top {
    position: absolute;
    top: -22px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 10px;
    color: rgba(247,243,238,0.25);
    letter-spacing: 2px;
    font-family: serif;
}
.zen-scroll-journey-pct {
    position: absolute;
    bottom: -22px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 9px;
    color: rgba(197,61,67,0.5);
    letter-spacing: 1px;
    font-family: serif;
}

/* ═══════════════════════════════════════════════════
   墨迹游踪 · 鼠标墨迹效果 (2026-04-12 战略迭代)
   鼠标移动时产生淡墨轨迹
   ═══════════════════════════════════════════════════ */
.ink-mouse-trail {
    position: fixed;
    pointer-events: none;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(197,61,67,0.12) 0%, transparent 70%);
    z-index: 9990;
    animation: inkTrailFade 1.2s ease-out forwards;
}
@keyframes inkTrailFade {
    0% { transform: scale(1); opacity: 1; }
    100% { transform: scale(2.5); opacity: 0; }
}

/* ═══════════════════════════════════════════════════
   禅境渐显 · 滚动触发动画 (2026-04-12 战略迭代)
   内容区块滚动进入视口时渐显
   ═══════════════════════════════════════════════════ */
.zen-reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.zen-reveal.revealed {
    opacity: 1;
    transform: translateY(0);
}
.zen-reveal-left {
    opacity: 0;
    transform: translateX(-30px);
    transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.zen-reveal-left.revealed {
    opacity: 1;
    transform: translateX(0);
}
.zen-reveal-right {
    opacity: 0;
    transform: translateX(30px);
    transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.zen-reveal-right.revealed {
    opacity: 1;
    transform: translateX(0);
}

/* 水墨分隔动画 - 区块间的墨晕过渡 */
.zen-ink-divider {
    height: 40px;
    position: relative;
    overflow: hidden;
    margin: 0;
    padding: 0;
}
.zen-ink-divider::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, 
        transparent 0%,
        rgba(197,61,67,0.08) 15%,
        rgba(197,61,67,0.15) 50%,
        rgba(197,61,67,0.08) 85%,
        transparent 100%);
    transform: scaleX(0);
    transition: transform 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.zen-ink-divider.revealed::before {
    transform: scaleX(1);
}
.zen-ink-divider::after {
    content: '墨';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 10px;
    color: rgba(197,61,67,0.2);
    letter-spacing: 4px;
    opacity: 0;
    transition: opacity 0.6s ease 0.5s;
}
.zen-ink-divider.revealed::after {
    opacity: 1;
}

/* 无障碍：尊重减少动画偏好 */
@media (prefers-reduced-motion: reduce) {
    .zen-reveal, .zen-reveal-left, .zen-reveal-right {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
    .zen-ink-divider::before, .zen-ink-divider::after {
        transition: none !important;
        transform: scaleX(1) !important;
        opacity: 1 !important;
    }
    .ink-mouse-trail {
        display: none !important;
    }
}

/* 移动端隐藏侧边进度条 */
@media (max-width: 768px) {
    .zen-scroll-journey {
        display: none;
    }
}

/* === Style Block 5 === */
/* ═══════════════════════════════════════════════════════════════
   初心之路 · Path of Beginner's Mind (2026-04-14 战略迭代)
   ═══════════════════════════════════════════════════════════════ */
.beginners-path-section {
    padding: 80px 24px 60px;
    background: linear-gradient(180deg, var(--section-alt-bg) 0%, var(--bg-color) 100%);
    position: relative;
}
.bp-inner { max-width: 800px; margin: 0 auto; }
.bp-label {
    display: block; text-align: center; font-size: 11px;
    letter-spacing: 6px; color: var(--accent-red); text-transform: uppercase; margin-bottom: 8px;
}
.bp-title {
    text-align: center; font-size: 26px; font-weight: 300;
    letter-spacing: 6px; color: var(--text-primary); margin: 0 0 8px;
}
.bp-subtitle {
    text-align: center; font-size: 14px; color: rgba(45,43,40,0.55);
    line-height: 1.8; margin-bottom: 48px;
}
.bp-steps { position: relative; }
.bp-step {
    display: flex; gap: 28px; margin-bottom: 40px; align-items: flex-start;
    opacity: 0; transform: translateY(20px); transition: opacity 0.6s ease, transform 0.6s ease;
}
.bp-step.visible { opacity: 1; transform: translateY(0); }
.bp-step-node {
    flex-shrink: 0; width: 48px; height: 48px; border-radius: 50%;
    background: var(--bg-color); border: 2px solid rgba(184,134,11,0.25);
    display: flex; align-items: center; justify-content: center; position: relative; z-index: 2;
}
.bp-step-num { font-size: 16px; color: var(--accent-red); font-weight: 600; }
.bp-step-connector {
    position: absolute; left: 23px; top: 48px; width: 2px;
    height: calc(100% + 40px);
    background: linear-gradient(180deg, rgba(184,134,11,0.2), rgba(184,134,11,0.05));
}
.bp-step:last-child .bp-step-connector { display: none; }
.bp-step-content { flex: 1; padding-top: 4px; }
.bp-step-title {
    font-size: 18px; font-weight: 400; letter-spacing: 4px;
    color: var(--text-primary); margin: 0 0 10px;
}
.bp-step-desc {
    font-size: 14px; color: rgba(45,43,40,0.65); line-height: 1.9; margin-bottom: 14px;
}
.bp-step-btn {
    display: inline-block; padding: 8px 20px;
    border: 1px solid rgba(184,134,11,0.3); border-radius: 24px;
    color: var(--text-primary); font-size: 13px; text-decoration: none;
    letter-spacing: 1px; transition: all 0.3s ease; background: rgba(184,134,11,0.04);
}
.bp-step-btn:hover {
    border-color: var(--accent-red); background: rgba(197,61,67,0.06); transform: translateY(-1px);
}
.bp-step-quote {
    margin-top: 14px; padding: 10px 16px; border-left: 2px solid rgba(184,134,11,0.15);
    font-size: 13px; color: rgba(45,43,40,0.5); font-style: italic; line-height: 1.7;
}
.bp-step-quote span { display: block; margin-top: 4px; font-size: 12px; font-style: normal; }
.bp-footer {
    text-align: center; margin-top: 40px; padding-top: 32px;
    border-top: 1px solid rgba(184,134,11,0.1);
}
.bp-footer-text { font-size: 14px; color: rgba(45,43,40,0.5); line-height: 1.8; margin-bottom: 20px; }
.bp-progress { max-width: 300px; margin: 0 auto; }
.bp-progress-text { font-size: 12px; color: rgba(45,43,40,0.4); display: block; margin-bottom: 8px; }
.bp-progress-bar { height: 3px; background: rgba(184,134,11,0.1); border-radius: 2px; overflow: hidden; }
.bp-progress-fill {
    height: 100%; background: linear-gradient(90deg, var(--accent-red), rgba(184,134,11,0.6));
    border-radius: 2px; transition: width 0.5s ease; width: 0%;
}
@media(max-width:768px) {
    .bp-step { gap: 16px; }
    .bp-step-node { width: 36px; height: 36px; }
    .bp-step-connector { left: 17px; top: 36px; }
    .bp-title { font-size: 20px; }
    .bp-step-title { font-size: 16px; }
}

/* ═══════════════════════════════════════════════════════════════
   观心池 · Mind Reflection Pool (2026-04-14 战略迭代)
   ═══════════════════════════════════════════════════════════════ */
.mind-pool-section {
    padding: 80px 24px 60px;
    background: linear-gradient(180deg, var(--bg-color) 0%, var(--section-alt-bg) 100%);
}
.mp-inner { max-width: 800px; margin: 0 auto; }
.mp-label {
    display: block; text-align: center; font-size: 11px;
    letter-spacing: 6px; color: var(--accent-red); text-transform: uppercase; margin-bottom: 8px;
}
.mp-title {
    text-align: center; font-size: 26px; font-weight: 300;
    letter-spacing: 6px; color: var(--text-primary); margin: 0 0 8px;
}
.mp-subtitle {
    text-align: center; font-size: 14px; color: rgba(45,43,40,0.55);
    line-height: 1.8; margin-bottom: 32px;
}
.mp-canvas-wrap {
    position: relative; width: 100%; aspect-ratio: 16/9;
    background: linear-gradient(135deg, #f0ebe4 0%, #e8e2d9 50%, #ddd6cb 100%);
    border-radius: 12px; overflow: hidden; cursor: pointer;
    box-shadow: 0 4px 24px rgba(0,0,0,0.06), inset 0 0 60px rgba(0,0,0,0.02);
}
#mindPoolCanvas { width: 100%; height: 100%; display: block; }
.mp-hint {
    position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
    text-align: center; pointer-events: none; transition: opacity 0.8s ease;
}
.mp-hint.hidden { opacity: 0; }
.mp-hint-text {
    display: block; font-size: 14px; letter-spacing: 4px;
    color: rgba(45,43,40,0.3); margin-bottom: 8px;
}
.mp-hint-icon {
    display: block; font-size: 20px; color: rgba(45,43,40,0.15);
    animation: mp-bob 2s ease-in-out infinite;
}
@keyframes mp-bob { 0%,100%{transform:translateY(0)} 50%{transform:translateY(6px)} }
.mp-zen-toast {
    position: absolute; bottom: 24px; left: 50%; transform: translateX(-50%);
    background: rgba(45,43,40,0.85); color: rgba(247,243,238,0.9);
    padding: 10px 24px; border-radius: 20px; font-size: 13px; letter-spacing: 2px;
    pointer-events: none; white-space: nowrap; animation: mp-toast-in 0.5s ease;
}
@keyframes mp-toast-in {
    from{opacity:0;transform:translateX(-50%) translateY(10px)}
    to{opacity:1;transform:translateX(-50%) translateY(0)}
}
.mp-controls { display:flex; align-items:center; gap:12px; margin-top:16px; justify-content:center; }
.mp-ctrl-btn {
    padding:6px 18px; border:1px solid rgba(184,134,11,0.2); border-radius:16px;
    background:transparent; color:rgba(45,43,40,0.6); font-size:12px;
    letter-spacing:2px; cursor:pointer; transition:all 0.3s ease;
}
.mp-ctrl-btn:hover { border-color:var(--accent-red); color:var(--accent-red); }
.mp-ink-count { font-size:11px; color:rgba(45,43,40,0.35); letter-spacing:1px; }
@media(max-width:768px) {
    .mp-title { font-size:20px; }
    .mp-canvas-wrap { aspect-ratio:4/3; }
}

/* ═══════════════════════════════════════════════════════════════
   禅修节律 · Practice Rhythm (2026-04-14 战略迭代)
   ═══════════════════════════════════════════════════════════════ */
.practice-rhythm-section {
    padding: 80px 24px 60px;
    background: linear-gradient(180deg, var(--section-alt-bg) 0%, var(--bg-color) 100%);
}
.pr-inner { max-width: 900px; margin: 0 auto; }
.pr-label {
    display:block; text-align:center; font-size:11px;
    letter-spacing:6px; color:var(--accent-red); text-transform:uppercase; margin-bottom:8px;
}
.pr-title {
    text-align:center; font-size:26px; font-weight:300;
    letter-spacing:6px; color:var(--text-primary); margin:0 0 8px;
}
.pr-subtitle {
    text-align:center; font-size:14px; color:rgba(45,43,40,0.55);
    line-height:1.8; margin-bottom:40px;
}
.pr-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:24px; margin-bottom:32px; }
.pr-card {
    background:var(--bg-color); border:1px solid rgba(184,134,11,0.1);
    border-radius:12px; padding:24px 20px; text-align:center;
}
.pr-card-header { margin-bottom:16px; }
.pr-card-icon { font-size:16px; color:var(--accent-red); margin-right:6px; }
.pr-card-label { font-size:12px; letter-spacing:3px; color:rgba(45,43,40,0.5); }
.pr-today-ring { position:relative; width:120px; height:120px; margin:0 auto 12px; }
.pr-ring-bg { fill:none; stroke:rgba(184,134,11,0.08); stroke-width:6; }
.pr-ring-fill {
    fill:none; stroke:var(--accent-red); stroke-width:6; stroke-linecap:round;
    stroke-dasharray:326.73; stroke-dashoffset:326.73;
    transform:rotate(-90deg); transform-origin:center; transition:stroke-dashoffset 1s ease;
}
.pr-ring-center {
    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); text-align:center;
}
.pr-ring-value { display:block; font-size:28px; font-weight:300; color:var(--text-primary); }
.pr-ring-unit { font-size:11px; color:rgba(45,43,40,0.4); }
.pr-today-detail { font-size:13px; color:rgba(45,43,40,0.5); line-height:1.6; }
.pr-today-detail small { color:rgba(45,43,40,0.35); }
.pr-week-bars { display:flex; align-items:flex-end; gap:8px; height:100px; padding:0 4px; margin-bottom:12px; }
.pr-bar-item { flex:1; display:flex; flex-direction:column; align-items:center; gap:4px; }
.pr-bar {
    width:100%; border-radius:3px 3px 0 0;
    background:linear-gradient(180deg, var(--accent-red), rgba(184,134,11,0.3));
    min-height:4px; transition:height 0.5s ease;
}
.pr-bar-label { font-size:10px; color:rgba(45,43,40,0.35); }
.pr-week-summary { font-size:13px; color:rgba(45,43,40,0.55); }
.pr-insight-quote {
    font-size:14px; color:rgba(45,43,40,0.65); line-height:1.8;
    font-style:italic; margin:0 0 8px; padding:0 8px;
}
.pr-insight-source { font-size:12px; color:rgba(45,43,40,0.35); }
.pr-insight-nature { margin-top:12px; font-size:18px; letter-spacing:4px; color:rgba(184,134,11,0.2); }
.pr-actions { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
.pr-action-btn {
    display:flex; flex-direction:column; align-items:center; gap:4px;
    padding:16px 32px; border-radius:12px; cursor:pointer;
    transition:all 0.3s ease; text-decoration:none;
}
.pr-start {
    background:linear-gradient(135deg, rgba(197,61,67,0.08), rgba(184,134,11,0.06));
    border:1px solid rgba(197,61,67,0.2); color:var(--text-primary);
}
.pr-start:hover {
    border-color:var(--accent-red); transform:translateY(-2px);
    box-shadow:0 4px 16px rgba(197,61,67,0.1);
}
.pr-log {
    background:rgba(184,134,11,0.04); border:1px solid rgba(184,134,11,0.15);
    color:var(--text-primary);
}
.pr-log:hover { border-color:rgba(184,134,11,0.3); transform:translateY(-2px); }
.pr-btn-icon { font-size:14px; color:var(--accent-red); }
.pr-action-btn span:nth-child(2) { font-size:14px; letter-spacing:2px; }
.pr-action-btn small { font-size:11px; color:rgba(45,43,40,0.4); }
.pr-log-overlay {
    position:fixed; top:0; left:0; right:0; bottom:0;
    background:rgba(0,0,0,0.4); z-index:9999;
    display:flex; align-items:center; justify-content:center;
}
.pr-log-panel {
    background:var(--bg-color); border-radius:16px; padding:28px;
    width:90%; max-width:480px; max-height:70vh; overflow-y:auto;
}
.pr-log-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; }
.pr-log-header h3 { font-size:18px; font-weight:400; letter-spacing:3px; color:var(--text-primary); margin:0; }
.pr-log-close { background:none; border:none; font-size:24px; color:rgba(45,43,40,0.4); cursor:pointer; }
.pr-log-empty { text-align:center; padding:40px 0; color:rgba(45,43,40,0.4); }
.pr-log-empty-sub { font-size:13px; color:rgba(45,43,40,0.3); margin-top:8px; }
.pr-log-item { padding:12px 0; border-bottom:1px solid rgba(184,134,11,0.08); }
.pr-log-date { font-size:12px; color:rgba(45,43,40,0.4); }
.pr-log-duration { font-size:16px; color:var(--text-primary); font-weight:300; }
.pr-log-type { font-size:12px; color:var(--accent-red); letter-spacing:1px; }
@media(max-width:768px) {
    .pr-grid { grid-template-columns:1fr; }
    .pr-title { font-size:20px; }
}


/* ═══════════════════════════════════════════════════
   共修墙 · Community Practice Wall (2026-04-15 战略迭代)
   显示当前在线修行人数、今日共修数据
   ═══════════════════════════════════════════════════ */
.community-practice-wall {
    padding: 60px 24px;
    background: linear-gradient(180deg, var(--bg-color) 0%, rgba(197,61,67,0.03) 100%);
    text-align: center;
    position: relative;
}
.cpw-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 11px;
    letter-spacing: 4px;
    color: var(--text-secondary);
    margin-bottom: 20px;
    text-transform: uppercase;
}
.cpw-label::before, .cpw-label::after {
    content: '';
    width: 24px; height: 1px;
    background: rgba(184,134,11,0.25);
}
.cpw-title {
    font-size: 24px;
    font-weight: 400;
    letter-spacing: 6px;
    color: var(--text-primary);
    margin-bottom: 8px;
}
.cpw-subtitle {
    font-size: 13px;
    color: var(--text-secondary);
    letter-spacing: 2px;
    margin-bottom: 40px;
}
.cpw-stats-grid {
    display: flex;
    gap: 24px;
    max-width: 800px;
    margin: 0 auto;
    flex-wrap: wrap;
    justify-content: center;
}
.cpw-stat-card {
    flex: 1;
    min-width: 140px;
    max-width: 180px;
    padding: 24px 20px;
    background: var(--white);
    border-radius: 12px;
    border: 1px solid rgba(184,134,11,0.1);
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
    transition: all 0.3s ease;
}
.cpw-stat-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(0,0,0,0.08);
    border-color: rgba(197,61,67,0.2);
}
.cpw-stat-icon {
    font-size: 24px;
    margin-bottom: 12px;
    display: block;
}
.cpw-stat-value {
    font-size: 28px;
    font-weight: 700;
    color: var(--accent-red);
    letter-spacing: 2px;
    display: block;
    margin-bottom: 4px;
}
.cpw-stat-label {
    font-size: 11px;
    color: var(--text-secondary);
    letter-spacing: 2px;
}
.cpw-milestone {
    margin-top: 32px;
    padding: 16px 24px;
    background: rgba(255,255,255,0.6);
    border-radius: 8px;
    display: inline-block;
    border: 1px solid rgba(184,134,11,0.15);
}
.cpw-milestone-text {
    font-size: 13px;
    color: var(--text-tertiary);
    letter-spacing: 1px;
    line-height: 1.6;
}
.cpw-milestone-text strong {
    color: var(--accent-gold);
    font-weight: 600;
}

/* ═══════════════════════════════════════════════════
   浮游禅定 · Floating Zen Actions (2026-04-15 战略迭代)
   快速访问核心功能的悬浮按钮
   ═══════════════════════════════════════════════════ */
.floating-zen-actions {
    position: fixed;
    bottom: 24px;
    right: 24px;
    z-index: 9995;
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: flex-end;
}
.fza-trigger {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--accent-red) 0%, #8B2530 100%);
    border: none;
    color: var(--white);
    font-size: 24px;
    cursor: pointer;
    box-shadow: 0 4px 16px rgba(197,61,67,0.4);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    justify-content: center;
}
.fza-trigger:hover {
    transform: scale(1.1);
    box-shadow: 0 6px 24px rgba(197,61,67,0.5);
}
.fza-trigger.active {
    transform: rotate(45deg);
}
.fza-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    opacity: 0;
    transform: translateY(20px) scale(0.9);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
}
.fza-actions.visible {
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
}
.fza-action-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    background: var(--white);
    border: 1px solid rgba(184,134,11,0.15);
    border-radius: 10px;
    color: var(--text-primary);
    font-size: 13px;
    letter-spacing: 1px;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    text-decoration: none;
}
.fza-action-btn:hover {
    background: var(--accent-red);
    color: var(--white);
    border-color: var(--accent-red);
    transform: translateX(-4px);
}
.fza-action-icon {
    font-size: 16px;
}
@media (max-width: 768px) {
    .floating-zen-actions {
        bottom: 16px;
        right: 16px;
    }
    .fza-trigger {
        width: 48px;
        height: 48px;
        font-size: 20px;
    }
    .fza-action-btn {
        padding: 10px 14px;
        font-size: 12px;
    }
}

/* ═══════════════════════════════════════════════════
   停顿时刻 · Pause Moment CTA (2026-04-15 战略迭代)
   邀请用户暂停片刻的温柔提示
   ═══════════════════════════════════════════════════ */
.pause-moment-cta {
    position: fixed;
    bottom: 100px;
    right: 24px;
    padding: 14px 20px;
    background: rgba(255,255,255,0.95);
    backdrop-filter: blur(8px);
    border-radius: 12px;
    border: 1px solid rgba(184,134,11,0.2);
    box-shadow: 0 4px 16px rgba(0,0,0,0.1);
    z-index: 9994;
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    transition: all 0.3s ease;
    opacity: 0;
    transform: translateX(20px);
    pointer-events: none;
}
.pause-moment-cta.visible {
    opacity: 1;
    transform: translateX(0);
    pointer-events: auto;
}
.pause-moment-cta:hover {
    background: var(--white);
    box-shadow: 0 6px 24px rgba(0,0,0,0.12);
    transform: translateX(-2px);
}
.pmc-icon {
    font-size: 20px;
    animation: pmcBreathe 4s ease-in-out infinite;
}
@keyframes pmcBreathe {
    0%, 100% { opacity: 0.6; transform: scale(1); }
    50% { opacity: 1; transform: scale(1.1); }
}
.pmc-text {
    font-size: 13px;
    color: var(--text-primary);
    letter-spacing: 1px;
}
.pmc-hint {
    font-size: 11px;
    color: var(--text-secondary);
}
@media (max-width: 768px) {
    .pause-moment-cta {
        display: none;
    }
}

/* ═══════════════════════════════════════════════════
   禅音空间 · Ambient Sound Mixer (2026-04-16 战略迭代)
   五音调心 - 用户可混合禅境音效，营造个人修行氛围
   ═══════════════════════════════════════════════════ */
.zen-sound-section {
    padding: 80px 24px;
    background: linear-gradient(180deg, var(--bg-color) 0%, var(--section-alt-bg) 50%, var(--bg-color) 100%);
    text-align: center;
}
.zen-sound-label {
    display: inline-block;
    font-size: 11px;
    letter-spacing: 4px;
    color: var(--text-secondary);
    text-transform: uppercase;
    margin-bottom: 8px;
    padding: 4px 16px;
    border: 1px solid rgba(138,132,125,0.3);
    border-radius: 20px;
}
.zen-sound-title {
    font-size: 1.8em;
    font-weight: 600;
    letter-spacing: 6px;
    margin: 12px 0 8px;
    color: var(--text-primary);
}
.zen-sound-subtitle {
    font-size: 0.9em;
    color: var(--text-secondary);
    margin-bottom: 40px;
    letter-spacing: 1px;
}
.zen-sound-stage {
    max-width: 900px;
    margin: 0 auto;
    position: relative;
}
.zen-sound-visual {
    width: 200px;
    height: 200px;
    margin: 0 auto 40px;
    position: relative;
    border-radius: 50%;
    background: radial-gradient(circle, var(--season-glow) 0%, transparent 70%);
}
.zen-sound-visual::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 1px solid var(--season-accent-soft);
    animation: soundRipple 4s ease-in-out infinite;
}
.zen-sound-visual::after {
    content: '';
    position: absolute;
    inset: 20px;
    border-radius: 50%;
    border: 1px solid rgba(138,132,125,0.15);
    animation: soundRipple 4s ease-in-out infinite 1s;
}
@keyframes soundRipple {
    0%, 100% { transform: scale(1); opacity: 0.5; }
    50% { transform: scale(1.08); opacity: 1; }
}
.zen-sound-visual.active::before {
    border-color: var(--season-accent);
    animation: soundActive 2s ease-in-out infinite;
}
.zen-sound-visual.active::after {
    border-color: var(--season-accent);
    animation: soundActive 2s ease-in-out infinite 0.5s;
}
@keyframes soundActive {
    0%, 100% { transform: scale(1); opacity: 0.6; }
    50% { transform: scale(1.15); opacity: 1; }
}
.zen-sound-center-char {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    font-size: 3em;
    color: var(--text-primary);
    opacity: 0.4;
    transition: all 0.6s ease;
    letter-spacing: 2px;
}
.zen-sound-visual.active .zen-sound-center-char {
    opacity: 0.7;
    color: var(--season-accent);
}
.zen-sound-channels {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
    margin-bottom: 32px;
}
@media (max-width: 768px) {
    .zen-sound-channels {
        grid-template-columns: repeat(3, 1fr);
        gap: 12px;
    }
}
.zen-sound-channel {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 20px 12px;
    border-radius: 16px;
    background: rgba(255,255,255,0.6);
    border: 1px solid rgba(0,0,0,0.06);
    cursor: pointer;
    transition: all 0.4s ease;
    user-select: none;
}
.zen-sound-channel:hover {
    background: rgba(255,255,255,0.9);
    border-color: var(--season-accent-soft);
    transform: translateY(-2px);
}
.zen-sound-channel.active {
    background: var(--season-accent-soft);
    border-color: var(--season-accent);
    box-shadow: 0 4px 16px rgba(0,0,0,0.08);
}
.zen-sound-channel-icon {
    font-size: 2em;
    line-height: 1;
    transition: transform 0.3s ease;
}
.zen-sound-channel.active .zen-sound-channel-icon {
    transform: scale(1.15);
}
.zen-sound-channel-name {
    font-size: 0.8em;
    letter-spacing: 2px;
    color: var(--text-secondary);
}
.zen-sound-channel.active .zen-sound-channel-name {
    color: var(--season-accent);
}
.zen-sound-vol {
    width: 100%;
    height: 4px;
    -webkit-appearance: none;
    appearance: none;
    background: rgba(0,0,0,0.08);
    border-radius: 2px;
    outline: none;
    cursor: pointer;
    opacity: 0;
    transition: opacity 0.3s ease;
}
.zen-sound-channel.active .zen-sound-vol {
    opacity: 1;
}
.zen-sound-vol::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 14px; height: 14px;
    border-radius: 50%;
    background: var(--season-accent);
    cursor: pointer;
}
.zen-sound-vol::-moz-range-thumb {
    width: 14px; height: 14px;
    border-radius: 50%;
    background: var(--season-accent);
    border: none;
    cursor: pointer;
}
.zen-sound-controls {
    display: flex;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}
.zen-sound-btn {
    padding: 10px 28px;
    border: 1px solid rgba(0,0,0,0.12);
    border-radius: 24px;
    background: transparent;
    color: var(--text-primary);
    font-family: var(--serif);
    font-size: 0.85em;
    letter-spacing: 2px;
    cursor: pointer;
    transition: all 0.3s ease;
}
.zen-sound-btn:hover {
    border-color: var(--season-accent);
    color: var(--season-accent);
}
.zen-sound-btn.active {
    background: var(--season-accent);
    color: #fff;
    border-color: var(--season-accent);
}
.zen-sound-timer {
    margin-top: 16px;
    font-size: 0.8em;
    color: var(--text-secondary);
    letter-spacing: 1px;
    min-height: 1.5em;
}
.zen-sound-timer span {
    color: var(--season-accent);
    font-weight: 600;
}

/* ═══════════════════════════════════════════════════
   修行足迹 · Practice Progress Tracker (2026-04-16 战略迭代)
   可视化修行进度 - 连续天数、总修行、徽章系统
   ═══════════════════════════════════════════════════ */
.zen-progress-section {
    padding: 72px 24px;
    background: linear-gradient(180deg, var(--section-alt-bg) 0%, var(--bg-color) 100%);
    text-align: center;
}
.zen-progress-label {
    display: inline-block;
    font-size: 11px;
    letter-spacing: 4px;
    color: var(--text-secondary);
    padding: 4px 16px;
    border: 1px solid rgba(138,132,125,0.3);
    border-radius: 20px;
    margin-bottom: 8px;
}
.zen-progress-title {
    font-size: 1.8em;
    font-weight: 600;
    letter-spacing: 6px;
    margin: 12px 0 8px;
    color: var(--text-primary);
}
.zen-progress-subtitle {
    font-size: 0.9em;
    color: var(--text-secondary);
    margin-bottom: 40px;
}
.zen-progress-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    max-width: 720px;
    margin: 0 auto 36px;
}
@media (max-width: 640px) {
    .zen-progress-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}
.zp-stat-card {
    padding: 28px 20px;
    border-radius: 16px;
    background: rgba(255,255,255,0.7);
    border: 1px solid rgba(0,0,0,0.06);
    transition: all 0.4s ease;
}
.zp-stat-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}
.zp-stat-icon {
    font-size: 1.8em;
    margin-bottom: 8px;
}
.zp-stat-value {
    font-size: 2.4em;
    font-weight: 700;
    color: var(--text-primary);
    line-height: 1.2;
    letter-spacing: 2px;
}
.zp-stat-label {
    font-size: 0.75em;
    color: var(--text-secondary);
    letter-spacing: 2px;
    margin-top: 4px;
}
.zp-streak-bar {
    display: flex;
    justify-content: center;
    gap: 6px;
    margin: 24px auto;
    max-width: 400px;
}
.zp-streak-day {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}
.zp-streak-dot {
    width: 32px; height: 32px;
    border-radius: 50%;
    background: rgba(0,0,0,0.06);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7em;
    transition: all 0.3s ease;
}
.zp-streak-dot.active {
    background: var(--season-accent);
    color: #fff;
}
.zp-streak-dot.today {
    border: 2px solid var(--season-accent);
    background: transparent;
}
.zp-streak-day-label {
    font-size: 0.6em;
    color: var(--text-secondary);
    letter-spacing: 1px;
}
.zp-badges {
    display: flex;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
    margin-top: 24px;
}
.zp-badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 16px;
    border-radius: 12px;
    background: rgba(255,255,255,0.5);
    border: 1px solid rgba(0,0,0,0.05);
    min-width: 80px;
    opacity: 0.4;
    transition: all 0.4s ease;
}
.zp-badge.earned {
    opacity: 1;
    border-color: var(--season-accent-soft);
    background: rgba(255,255,255,0.8);
}
.zp-badge-icon {
    font-size: 1.6em;
}
.zp-badge-name {
    font-size: 0.65em;
    color: var(--text-secondary);
    letter-spacing: 1px;
}
.zp-badge.earned .zp-badge-name {
    color: var(--season-accent);
}

/* ═══════════════════════════════════════════════════
   呼吸留白 · Breathing Space Dividers (2026-04-16 战略迭代)
   替代普通分隔线，在主要区块间插入禅意留白动画
   ═══════════════════════════════════════════════════ */
.zen-breath-divider {
    padding: 48px 24px;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.zen-breath-divider::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    width: 60px; height: 60px;
    border-radius: 50%;
    border: 1px solid rgba(138,132,125,0.2);
    transform: translate(-50%, -50%);
    animation: breathDivide 6s ease-in-out infinite;
}
.zen-breath-divider::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    width: 100px; height: 100px;
    border-radius: 50%;
    border: 1px solid rgba(138,132,125,0.1);
    transform: translate(-50%, -50%);
    animation: breathDivide 6s ease-in-out infinite 1s;
}
@keyframes breathDivide {
    0%, 100% { transform: translate(-50%, -50%) scale(0.8); opacity: 0.3; }
    50% { transform: translate(-50%, -50%) scale(1.2); opacity: 0.8; }
}
.zen-breath-divider-text {
    position: relative;
    z-index: 1;
    font-size: 0.75em;
    letter-spacing: 6px;
    color: var(--text-secondary);
    opacity: 0.5;
    animation: breathDivideText 6s ease-in-out infinite;
}
@keyframes breathDivideText {
    0%, 100% { opacity: 0.3; letter-spacing: 6px; }
    50% { opacity: 0.7; letter-spacing: 8px; }
}

/* === Style Block 6 === */
/* ═══ 禅心求签 · Interactive Zen Oracle (2026-04-15 战略迭代) ═══ */
.zen-oracle-section {
    padding: 80px 24px 72px;
    background: var(--season-gradient);
    text-align: center;
    position: relative;
    overflow: hidden;
}
.zen-oracle-section::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(ellipse at center, var(--season-glow) 0%, transparent 60%);
    animation: zo-bg-drift 20s ease-in-out infinite alternate;
    pointer-events: none;
}
@keyframes zo-bg-drift {
    0% { transform: translate(0, 0) rotate(0deg); }
    100% { transform: translate(3%, 2%) rotate(2deg); }
}
.zo-inner { max-width: 680px; margin: 0 auto; position: relative; z-index: 1; }
.zo-label {
    display: inline-block;
    font-size: 11px;
    letter-spacing: 6px;
    color: var(--season-accent);
    text-transform: uppercase;
    margin-bottom: 12px;
    padding: 4px 16px;
    border: 1px solid var(--season-accent-soft);
    border-radius: 20px;
}
.zo-title {
    font-family: var(--serif);
    font-size: 28px;
    font-weight: 400;
    letter-spacing: 12px;
    color: var(--text-primary);
    margin-bottom: 12px;
}
.zo-subtitle {
    font-size: 14px;
    color: var(--text-secondary);
    line-height: 1.8;
    margin-bottom: 40px;
}
.zo-stage { min-height: 320px; position: relative; }
/* 签筒 */
.zo-container {
    cursor: pointer;
    transition: transform 0.3s ease;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}
.zo-container:hover { transform: scale(1.02); }
.zo-container:active { transform: scale(0.98); }
.zo-tube {
    width: 100px;
    height: 160px;
    margin: 0 auto 20px;
    position: relative;
    perspective: 400px;
}
.zo-tube-body {
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, #8B7355 0%, #6B5335 40%, #5A4228 100%);
    border-radius: 12px 12px 20px 20px;
    position: relative;
    box-shadow: 0 8px 32px rgba(90,66,40,0.3), inset 0 2px 4px rgba(255,255,255,0.1);
    overflow: hidden;
}
.zo-tube-rim {
    position: absolute;
    top: 0;
    left: -4px;
    right: -4px;
    height: 18px;
    background: linear-gradient(180deg, #A08B6D 0%, #8B7355 100%);
    border-radius: 12px 12px 0 0;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}
.zo-tube-sticks {
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 3px;
}
.zo-stick {
    width: 4px;
    height: 40px;
    background: linear-gradient(180deg, #E8D5B0 0%, #C4A87A 60%, #B89B6E 100%);
    border-radius: 2px 2px 1px 1px;
    transform-origin: bottom center;
    animation: zo-stick-idle 3s ease-in-out infinite;
    animation-delay: calc(var(--i) * 0.15s);
    box-shadow: 0 0 4px rgba(0,0,0,0.1);
}
@keyframes zo-stick-idle {
    0%, 100% { transform: rotate(calc(var(--i) * 3deg - 6deg)); }
    50% { transform: rotate(calc(var(--i) * -2deg + 4deg)); }
}
.zo-tube-char {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    font-family: var(--serif);
    font-size: 24px;
    color: rgba(232,213,176,0.6);
    letter-spacing: 4px;
}
/* 摇签动画 */
.zo-tube.shaking {
    animation: zo-shake 0.6s ease-in-out 3;
}
.zo-tube.shaking .zo-stick {
    animation: zo-stick-shake 0.3s ease-in-out 6;
    animation-delay: calc(var(--i) * 0.05s);
}
@keyframes zo-shake {
    0%, 100% { transform: rotate(0deg); }
    20% { transform: rotate(-8deg); }
    40% { transform: rotate(8deg); }
    60% { transform: rotate(-6deg); }
    80% { transform: rotate(6deg); }
}
@keyframes zo-stick-shake {
    0%, 100% { transform: rotate(0deg) translateY(0); }
    25% { transform: rotate(15deg) translateY(-8px); }
    75% { transform: rotate(-15deg) translateY(-4px); }
}
.zo-hint {
    font-size: 13px;
    color: var(--text-secondary);
    letter-spacing: 3px;
    opacity: 0.8;
    transition: opacity 0.3s;
}
.zo-container:hover .zo-hint { opacity: 1; }
/* 签文结果 */
.zo-result {
    animation: zo-reveal 0.8s ease-out;
}
@keyframes zo-reveal {
    0% { opacity: 0; transform: translateY(30px) scale(0.95); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
}
.zo-result-seal {
    width: 80px;
    height: 80px;
    margin: 0 auto 20px;
    position: relative;
}
.zo-seal-char {
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--serif);
    font-size: 36px;
    color: var(--accent-red);
    border: 2px solid var(--accent-red);
    border-radius: 50%;
    position: relative;
    z-index: 1;
}
.zo-seal-glow {
    position: absolute;
    top: -10px;
    left: -10px;
    right: -10px;
    bottom: -10px;
    background: radial-gradient(circle, rgba(197,61,67,0.15) 0%, transparent 70%);
    border-radius: 50%;
    animation: zo-glow-pulse 2s ease-in-out infinite;
}
@keyframes zo-glow-pulse {
    0%, 100% { transform: scale(1); opacity: 0.6; }
    50% { transform: scale(1.15); opacity: 1; }
}
.zo-result-level {
    display: inline-block;
    padding: 4px 16px;
    font-size: 12px;
    letter-spacing: 4px;
    border: 1px solid var(--season-accent);
    color: var(--season-accent);
    border-radius: 20px;
    margin-bottom: 16px;
}
.zo-result-title {
    font-family: var(--serif);
    font-size: 22px;
    font-weight: 400;
    color: var(--text-primary);
    margin-bottom: 16px;
    letter-spacing: 4px;
}
.zo-result-poem {
    font-family: var(--serif);
    font-size: 16px;
    color: var(--text-tertiary);
    line-height: 2;
    font-style: italic;
    margin-bottom: 20px;
}
.zo-result-divider {
    width: 40px;
    height: 1px;
    background: var(--season-accent-soft);
    margin: 0 auto 20px;
}
.zo-result-meaning {
    font-size: 14px;
    color: var(--text-secondary);
    line-height: 1.8;
    max-width: 480px;
    margin: 0 auto 24px;
}
.zo-result-advice {
    background: var(--season-accent-soft);
    padding: 16px 24px;
    border-radius: 12px;
    max-width: 480px;
    margin: 0 auto 20px;
    text-align: left;
}
.zo-advice-label {
    font-size: 11px;
    letter-spacing: 3px;
    color: var(--season-accent);
    display: block;
    margin-bottom: 8px;
}
.zo-advice-text {
    font-size: 13px;
    color: var(--text-tertiary);
    line-height: 1.8;
}
.zo-result-element {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 16px;
    background: rgba(0,0,0,0.03);
    border-radius: 20px;
    font-size: 12px;
    color: var(--text-secondary);
    margin-bottom: 24px;
}
.zo-element-icon { font-size: 16px; }
.zo-result-actions {
    display: flex;
    gap: 12px;
    justify-content: center;
    margin-bottom: 16px;
}
.zo-btn {
    padding: 10px 24px;
    border: 1px solid rgba(247,243,238,0.3);
    border-radius: 24px;
    background: transparent;
    color: var(--text-secondary);
    font-size: 13px;
    letter-spacing: 2px;
    cursor: pointer;
    transition: all 0.3s;
}
.zo-btn:hover {
    border-color: var(--season-accent);
    color: var(--season-accent);
    background: var(--season-accent-soft);
}
.zo-btn-save {
    border-color: var(--season-accent-soft);
    color: var(--season-accent);
}
.zo-result-time {
    font-size: 11px;
    color: var(--text-secondary);
    opacity: 0.5;
    letter-spacing: 2px;
}
@media (max-width: 600px) {
    .zo-title { font-size: 22px; letter-spacing: 8px; }
    .zo-tube { width: 80px; height: 130px; }
    .zo-result-title { font-size: 18px; }
    .zo-result-actions { flex-direction: column; align-items: center; }
}

/* ═══ 禅心引路 - 智能入口卡片 (2026-04-15 战略迭代) ═══ */
.zen-guide-section {
    padding: 80px 24px 60px;
    background: linear-gradient(180deg, var(--section-alt-bg) 0%, var(--bg-color) 100%);
    text-align: center;
    position: relative;
    overflow: hidden;
}
.zen-guide-section::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(197,61,67,0.15), transparent);
}
.zen-guide-greeting {
    font-size: 13px;
    color: var(--accent-red);
    letter-spacing: 6px;
    margin-bottom: 8px;
    opacity: 0;
    animation: zenGuideFadeIn 0.8s ease forwards 0.2s;
}
.zen-guide-title {
    font-size: 28px;
    font-weight: 400;
    letter-spacing: 4px;
    margin-bottom: 12px;
    color: var(--text-primary);
    opacity: 0;
    animation: zenGuideFadeIn 0.8s ease forwards 0.4s;
}
.zen-guide-subtitle {
    font-size: 15px;
    color: var(--text-secondary);
    margin-bottom: 40px;
    opacity: 0;
    animation: zenGuideFadeIn 0.8s ease forwards 0.6s;
}
.zen-guide-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    max-width: 900px;
    margin: 0 auto;
    opacity: 0;
    animation: zenGuideFadeIn 0.8s ease forwards 0.8s;
}
.zen-guide-card {
    background: rgba(255,255,255,0.7);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(197,61,67,0.08);
    border-radius: 16px;
    padding: 28px 20px 24px;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    position: relative;
    overflow: hidden;
    text-decoration: none;
    display: block;
}
.zen-guide-card::after {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: var(--accent-red);
    opacity: 0;
    transition: opacity 0.3s ease;
}
.zen-guide-card:hover {
    transform: translateY(-4px);
    border-color: rgba(197,61,67,0.2);
    box-shadow: 0 12px 40px rgba(0,0,0,0.06);
}
.zen-guide-card:hover::after { opacity: 1; }
.zen-guide-card-icon {
    font-size: 32px;
    margin-bottom: 14px;
    display: block;
}
.zen-guide-card-title {
    font-size: 16px;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 6px;
    letter-spacing: 2px;
}
.zen-guide-card-desc {
    font-size: 13px;
    color: var(--text-secondary);
    line-height: 1.8;
}
.zen-guide-card-tag {
    display: inline-block;
    font-size: 10px;
    color: var(--accent-red);
    background: rgba(197,61,67,0.06);
    padding: 2px 10px;
    border-radius: 20px;
    margin-top: 10px;
    letter-spacing: 1px;
}
.zen-guide-card-primary {
    background: linear-gradient(135deg, rgba(197,61,67,0.06) 0%, rgba(197,61,67,0.02) 100%);
    border-color: rgba(197,61,67,0.15);
}
.zen-guide-time-hint {
    font-size: 12px;
    color: var(--text-secondary);
    margin-top: 24px;
    opacity: 0.6;
    letter-spacing: 1px;
}
@keyframes zenGuideFadeIn {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 768px) {
    .zen-guide-cards { grid-template-columns: repeat(2, 1fr); gap: 14px; }
    .zen-guide-title { font-size: 22px; }
}
@media (max-width: 480px) {
    .zen-guide-cards { grid-template-columns: 1fr; gap: 12px; }
}

/* ═══ 无声之境 · 滚动呼吸球 (2026-04-15 战略迭代) ═══ */
.zen-breathing-scroll {
    position: fixed;
    bottom: 24px;
    right: 24px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 1.5px solid rgba(197,61,67,0.15);
    background: rgba(247,243,238,0.85);
    backdrop-filter: blur(8px);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 1000;
    transition: all 0.5s ease;
    opacity: 0;
    transform: scale(0.8);
}
.zen-breathing-scroll.visible { opacity: 1; transform: scale(1); }
.zen-breathing-scroll:hover {
    border-color: rgba(197,61,67,0.3);
    background: rgba(247,243,238,0.95);
    transform: scale(1.05);
}
.zen-breathing-scroll-dot {
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--accent-red);
    animation: zenBreathDot 4s ease-in-out infinite;
}
@keyframes zenBreathDot {
    0%, 100% { transform: scale(1); opacity: 0.6; }
    50% { transform: scale(1.8); opacity: 1; }
}
.zen-breathing-scroll-label {
    position: absolute;
    right: 60px;
    white-space: nowrap;
    font-size: 11px;
    color: var(--text-secondary);
    letter-spacing: 2px;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}
.zen-breathing-scroll:hover .zen-breathing-scroll-label { opacity: 1; }

/* === Style Block 7 === */
@keyframes heroGreetingFade {
                from { opacity: 0; transform: translateY(-8px); }
                to { opacity: 1; transform: translateY(0); }
            }

/* === Style Block 8 === */
/* 一炷香深度参究区样式 */
.yizhuxiang-section {
    background: linear-gradient(180deg, rgba(197,61,67,0.04) 0%, rgba(247,243,238,0) 100%);
    padding: 80px 60px;
    scroll-margin-top: 76px;
}
.yzx-container {
    max-width: 800px;
    margin: 0 auto;
}
.yzx-header {
    text-align: center;
    margin-bottom: 48px;
}
.yzx-label {
    font-size: 11px;
    color: var(--accent-red);
    letter-spacing: 8px;
    text-transform: uppercase;
    display: block;
    margin-bottom: 16px;
}
.yzx-title {
    font-size: 36px;
    font-weight: 300;
    letter-spacing: 4px;
    color: var(--text-primary);
    margin-bottom: 12px;
}
.yzx-desc {
    font-size: 14px;
    color: var(--text-secondary);
    line-height: 2;
    letter-spacing: 1px;
}
.yzx-koan-card {
    background: var(--white);
    border: 1px solid rgba(184,134,11,0.15);
    border-radius: 4px;
    padding: 40px;
    margin-bottom: 32px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.04);
}
.yzx-koan-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 32px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(184,134,11,0.1);
}
.yzx-koan-tag {
    font-size: 11px;
    color: var(--accent-gold);
    letter-spacing: 3px;
    text-transform: uppercase;
    padding: 4px 12px;
    background: rgba(184,134,11,0.08);
    border-radius: 2px;
}
.yzx-incense-timer {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: var(--text-secondary);
    letter-spacing: 2px;
}
.incense-icon {
    font-size: 16px;
    opacity: 0.7;
}
.yzx-koan-main {
    text-align: center;
    margin-bottom: 40px;
}
.yzx-koan-question {
    font-size: 18px;
    color: var(--text-primary);
    line-height: 2;
    margin-bottom: 16px;
    letter-spacing: 1px;
}
.yzx-koan-answer {
    font-size: 24px;
    color: var(--accent-red);
    font-weight: 600;
    letter-spacing: 2px;
}
.yzx-koan-answer em {
    font-style: normal;
    font-size: 32px;
}
.yzx-layers {
    margin-bottom: 32px;
}
.yzx-layer {
    margin-bottom: 12px;
}
.yzx-layer-btn {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 20px;
    background: rgba(247,243,238,0.6);
    border: 1px solid rgba(184,134,11,0.1);
    border-radius: 3px;
    cursor: pointer;
    transition: all 0.3s;
    text-align: left;
}
.yzx-layer-btn:hover {
    background: rgba(247,243,238,0.9);
    border-color: rgba(184,134,11,0.2);
}
.layer-num {
    font-size: 16px;
    color: var(--accent-gold);
    font-weight: 600;
    width: 24px;
    text-align: center;
}
.layer-title {
    flex: 1;
    font-size: 13px;
    color: var(--text-primary);
    letter-spacing: 1px;
}
.layer-icon {
    font-size: 18px;
    color: var(--text-secondary);
    transition: transform 0.3s;
}
.yzx-layer-btn.active .layer-icon {
    transform: rotate(45deg);
}
.yzx-layer-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease;
}
.yzx-layer-content.show {
    max-height: 300px;
}
.yzx-layer-content p {
    padding: 20px;
    margin: 8px 0 0 40px;
    background: rgba(255,255,255,0.8);
    border-left: 3px solid var(--accent-gold);
    font-size: 14px;
    line-height: 2;
    color: var(--text-secondary);
}
.yzx-actions {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}
.yzx-action-btn {
    padding: 12px 24px;
    background: var(--white);
    border: 1px solid rgba(45,43,40,0.2);
    border-radius: 2px;
    font-size: 12px;
    letter-spacing: 2px;
    color: var(--text-tertiary);
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
}
.yzx-action-btn:hover {
    border-color: var(--accent-red);
    color: var(--accent-red);
}
.yzx-action-btn.primary {
    background: var(--accent-red);
    border-color: var(--accent-red);
    color: var(--white);
}
.yzx-action-btn.primary:hover {
    background: rgba(197,61,67,0.9);
    color: var(--white);
}
.yzx-action-btn.link {
    border: none;
    background: transparent;
}
.yzx-note-area {
    background: rgba(255,255,255,0.6);
    border: 1px solid rgba(184,134,11,0.12);
    border-radius: 3px;
    padding: 24px;
}
.yzx-note-label {
    font-size: 10px;
    color: var(--accent-gold);
    letter-spacing: 3px;
    text-transform: uppercase;
    display: block;
    margin-bottom: 12px;
}
.yzx-note-textarea {
    width: 100%;
    min-height: 100px;
    padding: 12px;
    border: 1px solid rgba(184,134,11,0.15);
    border-radius: 2px;
    background: var(--white);
    font-family: var(--serif);
    font-size: 13px;
    line-height: 1.8;
    resize: vertical;
    margin-bottom: 12px;
}
.yzx-note-actions {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
}
.yzx-note-btn {
    padding: 8px 16px;
    background: var(--white);
    border: 1px solid rgba(45,43,40,0.2);
    border-radius: 2px;
    font-size: 11px;
    letter-spacing: 2px;
    color: var(--text-tertiary);
    cursor: pointer;
    transition: all 0.3s;
}
.yzx-note-btn:hover {
    border-color: var(--accent-red);
    color: var(--accent-red);
}
.yzx-note-btn.clear:hover {
    border-color: var(--text-secondary);
    color: var(--text-secondary);
}
.yzx-note-status {
    display: block;
    text-align: right;
    font-size: 10px;
    color: var(--accent-gold);
    letter-spacing: 1px;
    margin-top: 8px;
    min-height: 16px;
}
@media (max-width: 768px) {
    .yizhuxiang-section { padding: 48px 24px; }
    .yzx-koan-card { padding: 24px; }
    .yzx-koan-answer { font-size: 20px; }
    .yzx-koan-answer em { font-size: 26px; }
}

/* === Style Block 9 === */
/* 修行里程碑样式 */
.milestone-banner {
    background: linear-gradient(135deg, rgba(184, 134, 11, 0.08) 0%, rgba(197, 61, 67, 0.08) 100%);
    border-top: 1px solid rgba(184, 134, 11, 0.15);
    border-bottom: 1px solid rgba(184, 134, 11, 0.15);
    padding: 32px 120px;
}
.milestone-inner {
    max-width: 1000px;
    margin: 0 auto;
}
.milestone-label {
    font-size: 10px;
    color: var(--accent-gold);
    letter-spacing: 6px;
    text-transform: uppercase;
    display: block;
    text-align: center;
    margin-bottom: 24px;
}
.milestone-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    margin-bottom: 32px;
}
.milestone-item {
    text-align: center;
    padding: 20px 16px;
    background: rgba(255, 255, 255, 0.6);
    border-radius: 4px;
    border: 1px solid rgba(184, 134, 11, 0.1);
    transition: all 0.3s;
    position: relative;
}
.milestone-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
    border-color: rgba(184, 134, 11, 0.25);
}
.milestone-icon {
    font-size: 28px;
    display: block;
    margin-bottom: 8px;
}
.milestone-value {
    font-size: 32px;
    font-weight: 600;
    color: var(--text-primary);
    letter-spacing: 2px;
    display: block;
}
.milestone-item:nth-child(1) .milestone-value { color: var(--accent-gold); }
.milestone-item:nth-child(2) .milestone-value { color: var(--accent-red); }
.milestone-item:nth-child(3) .milestone-value { color: var(--text-primary); }
.milestone-item:nth-child(4) .milestone-value { color: var(--text-tertiary); }
.milestone-text {
    font-size: 11px;
    color: var(--text-secondary);
    letter-spacing: 2px;
    display: block;
    margin-top: 6px;
}
.milestone-badge {
    position: absolute;
    top: 8px;
    right: 8px;
    font-size: 9px;
    padding: 2px 6px;
    background: var(--accent-gold);
    color: #0d0a08;
    border-radius: 8px;
    letter-spacing: 1px;
    display: none;
}
.milestone-badge.show { display: inline-block; }
.milestone-next {
    text-align: center;
    padding-top: 24px;
    border-top: 1px solid rgba(184, 134, 11, 0.1);
}
.milestone-next-label {
    font-size: 10px;
    color: var(--text-secondary);
    letter-spacing: 3px;
    display: block;
    margin-bottom: 12px;
}
.milestone-progress {
    max-width: 400px;
    height: 6px;
    background: rgba(184, 134, 11, 0.15);
    border-radius: 3px;
    margin: 0 auto 12px;
    overflow: hidden;
}
.milestone-progress-bar {
    height: 100%;
    background: linear-gradient(90deg, var(--accent-gold) 0%, var(--accent-red) 100%);
    border-radius: 3px;
    transition: width 0.5s ease;
    width: 0%;
}
.milestone-next-target {
    font-size: 11px;
    color: var(--text-tertiary);
    letter-spacing: 2px;
}
@media (max-width: 1024px) {
    .milestone-banner { padding: 24px 40px; }
    .milestone-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    .milestone-banner { padding: 20px; }
    .milestone-grid { grid-template-columns: 1fr; gap: 12px; }
    .milestone-value { font-size: 28px; }
}

/* === Style Block 10 === */
/* 禅问箱样式 */
.zen-question-section {
    background: var(--white);
    padding: 72px 120px;
    scroll-margin-top: 76px;
}
.zen-question-inner {
    max-width: 720px;
    margin: 0 auto;
    text-align: center;
}
.zen-question-label {
    font-size: 10px;
    color: var(--accent-gold);
    letter-spacing: 6px;
    text-transform: uppercase;
    display: block;
    margin-bottom: 12px;
}
.zen-question-title {
    font-size: 32px;
    font-weight: 300;
    letter-spacing: 4px;
    color: var(--text-primary);
    margin-bottom: 12px;
}
.zen-question-desc {
    font-size: 14px;
    color: var(--text-secondary);
    line-height: 2.1;
    margin-bottom: 40px;
}
.zen-question-form {
    background: var(--bg-color);
    border: 1px solid rgba(184, 134, 11, 0.15);
    border-radius: 4px;
    padding: 28px;
    margin-bottom: 40px;
}
.zen-question-input {
    width: 100%;
    min-height: 120px;
    background: rgba(255, 255, 255, 0.8);
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 2px;
    padding: 16px;
    font-family: var(--serif);
    font-size: 14px;
    line-height: 1.9;
    color: var(--text-primary);
    resize: vertical;
    transition: all 0.3s;
}
.zen-question-input:focus {
    outline: none;
    border-color: var(--accent-gold);
    background: rgba(255, 255, 255, 1);
    box-shadow: 0 0 0 3px rgba(184, 134, 11, 0.08);
}
.zen-question-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 16px;
}
.zen-question-hint {
    font-size: 11px;
    color: var(--text-tertiary);
    letter-spacing: 1px;
}
.zen-question-submit {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 28px;
    background: var(--accent-red);
    color: white;
    border: none;
    border-radius: 2px;
    font-family: var(--serif);
    font-size: 13px;
    letter-spacing: 2px;
    cursor: pointer;
    transition: all 0.3s;
}
.zen-question-submit:hover {
    background: #a83035;
    transform: translateY(-2px);
}
.zen-question-icon {
    font-size: 16px;
}
.zen-question-featured {
    text-align: left;
    margin-bottom: 32px;
}
.zen-question-featured-label {
    font-size: 10px;
    color: var(--text-secondary);
    letter-spacing: 4px;
    display: block;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}
.zen-qa-card {
    background: var(--bg-color);
    border: 1px solid rgba(184, 134, 11, 0.12);
    border-radius: 3px;
    padding: 24px 28px;
}
.zen-qa-question {
    font-size: 15px;
    color: var(--text-primary);
    line-height: 1.8;
    margin-bottom: 16px;
    font-weight: 400;
}
.zen-qa-question::before {
    content: '问：';
    color: var(--accent-red);
    font-weight: 600;
}
.zen-qa-answer {
    font-size: 14px;
    color: var(--text-secondary);
    line-height: 2;
    margin-bottom: 16px;
    padding-left: 32px;
    position: relative;
}
.zen-qa-answer::before {
    content: '答：';
    color: var(--accent-gold);
    font-weight: 600;
    position: absolute;
    left: 0;
}
.zen-qa-source {
    font-size: 11px;
    color: var(--text-tertiary);
    letter-spacing: 2px;
    display: block;
    text-align: right;
}
.zen-question-more {
    display: inline-block;
    padding: 11px 32px;
    border: 1px solid rgba(45, 43, 40, 0.2);
    color: var(--text-tertiary);
    text-decoration: none;
    font-size: 12px;
    letter-spacing: 4px;
    transition: var(--transition);
    border-radius: 2px;
    font-family: var(--serif);
}
.zen-question-more:hover {
    border-color: var(--accent-red);
    color: var(--accent-red);
}
@media (max-width: 1024px) {
    .zen-question-section { padding: 52px 40px; }
}
@media (max-width: 600px) {
    .zen-question-section { padding: 40px 20px; }
    .zen-question-title { font-size: 24px; }
    .zen-question-actions { flex-direction: column; gap: 12px; }
    .zen-question-submit { width: 100%; justify-content: center; }
}

/* === Style Block 11 === */
.daily-sutra-section {
    background: linear-gradient(180deg, rgba(26,21,16,0.03) 0%, rgba(26,21,16,0.08) 50%, rgba(26,21,16,0.03) 100%);
    padding: 64px 24px;
    margin: 0;
    position: relative;
}
.daily-sutra-section::before {
    content: '';
    position: absolute;
    top: 0; left: 50%;
    transform: translateX(-50%);
    width: 60px; height: 1px;
    background: var(--accent-gold, #B8860B);
}
.ds-inner {
    max-width: 720px;
    margin: 0 auto;
}
.ds-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 28px;
}
.ds-label {
    font-size: 11px;
    letter-spacing: 6px;
    color: var(--accent-red, #C53D43);
    text-transform: uppercase;
    font-weight: 500;
}
.ds-date {
    font-size: 12px;
    color: var(--text-secondary, #999);
    letter-spacing: 2px;
}
.ds-card {
    background: var(--white, #FFFAF3);
    border: 1px solid rgba(184,134,11,0.12);
    border-radius: 3px;
    padding: 40px 48px;
    position: relative;
    box-shadow: 0 2px 20px rgba(0,0,0,0.04);
}
.ds-sutra-title {
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 8px;
    color: var(--text-primary, #2c2c2c);
    text-align: center;
    margin-bottom: 28px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(184,134,11,0.1);
}
.ds-sutra-body {
    font-size: 15px;
    line-height: 2.2;
    color: var(--text-primary, #2c2c2c);
    letter-spacing: 1.5px;
    margin-bottom: 32px;
    text-align: center;
}
.ds-line {
    margin: 0;
}
.ds-commentary {
    background: rgba(184,134,11,0.04);
    border-left: 2px solid var(--accent-gold, #B8860B);
    padding: 20px 24px;
    margin-bottom: 28px;
    border-radius: 0 2px 2px 0;
}
.ds-comm-label {
    font-size: 10px;
    letter-spacing: 4px;
    color: var(--accent-gold, #B8860B);
    text-transform: uppercase;
    margin-bottom: 8px;
}
.ds-comm-text {
    font-size: 13.5px;
    line-height: 1.9;
    color: var(--text-secondary, #666);
    margin: 0;
    letter-spacing: 0.5px;
}
.ds-practice {
    margin-bottom: 24px;
}
.ds-prac-label {
    font-size: 10px;
    letter-spacing: 4px;
    color: var(--accent-red, #C53D43);
    text-transform: uppercase;
    margin-bottom: 12px;
}
.ds-prac-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}
.ds-prac-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    background: transparent;
    border: 1px solid rgba(184,134,11,0.15);
    border-radius: 2px;
    cursor: pointer;
    transition: all 0.3s ease;
    font-size: 12px;
    color: var(--text-primary, #2c2c2c);
    letter-spacing: 1px;
}
.ds-prac-item:hover {
    border-color: var(--accent-gold, #B8860B);
    background: rgba(184,134,11,0.04);
}
.ds-prac-item.done {
    border-color: var(--accent-gold, #B8860B);
    background: rgba(184,134,11,0.08);
    opacity: 0.7;
}
.ds-prac-icon {
    font-size: 16px;
}
.ds-prac-check {
    margin-left: auto;
    font-size: 12px;
    color: var(--accent-gold, #B8860B);
    opacity: 0;
    transition: opacity 0.3s;
}
.ds-prac-item.done .ds-prac-check {
    opacity: 1;
}
.ds-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid rgba(184,134,11,0.08);
}
.ds-nav-btn {
    width: 36px; height: 36px;
    border: 1px solid rgba(184,134,11,0.2);
    background: transparent;
    border-radius: 50%;
    cursor: pointer;
    font-size: 14px;
    color: var(--text-primary, #2c2c2c);
    transition: all 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ds-nav-btn:hover {
    border-color: var(--accent-gold, #B8860B);
    background: rgba(184,134,11,0.06);
}
.ds-nav-info {
    font-size: 12px;
    color: var(--text-secondary, #999);
    letter-spacing: 2px;
}
@media (max-width: 640px) {
    .ds-card { padding: 28px 20px; }
    .ds-prac-grid { grid-template-columns: 1fr; }
    .ds-sutra-body { font-size: 14px; line-height: 2; }
}

/* === Style Block 12 === */
@media(max-width:900px){.explore-entry-grid{grid-template-columns:1fr !important}}
/* ── 一周禅题区块 ── */
.weekly-topic-section {
    background: linear-gradient(135deg, #1a1510 0%, #2a2420 50%, #1a1510 100%);
    padding: 72px 120px;
    position: relative;
    overflow: hidden;
    border-top: 1px solid rgba(184,134,11,0.2);
    border-bottom: 1px solid rgba(184,134,11,0.2);
}
.weekly-topic-section::before {
    content: '參';
    position: absolute;
    font-size: 420px;
    color: rgba(184,134,11,0.03);
    font-family: var(--serif);
    right: -60px; top: 50%;
    transform: translateY(-50%);
    line-height: 1;
    pointer-events: none;
}
.weekly-topic-inner {
    max-width: 900px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}
.weekly-topic-label {
    font-size: 10px;
    color: var(--accent-gold);
    letter-spacing: 8px;
    text-transform: uppercase;
    display: block;
    text-align: center;
    margin-bottom: 12px;
    opacity: 0.8;
}
.weekly-topic-char {
    font-size: 72px;
    font-weight: 200;
    color: rgba(247,243,238,0.95);
    letter-spacing: 12px;
    text-align: center;
    margin-bottom: 16px;
    font-family: var(--serif);
}
.weekly-topic-subtitle {
    font-size: 18px;
    font-weight: 300;
    color: rgba(247,243,238,0.7);
    letter-spacing: 4px;
    text-align: center;
    margin-bottom: 24px;
}
.weekly-topic-desc {
    font-size: 14px;
    color: rgba(247,243,238,0.5);
    line-height: 2.1;
    text-align: center;
    max-width: 640px;
    margin: 0 auto 32px;
}
.weekly-koan-box {
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(184,134,11,0.15);
    border-radius: 3px;
    padding: 32px 40px;
    margin-bottom: 32px;
    position: relative;
}
.weekly-koan-box::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 3px;
    height: 100%;
    background: linear-gradient(180deg, var(--accent-red) 0%, var(--accent-gold) 100%);
}
.weekly-koan-text {
    font-size: 20px;
    font-weight: 300;
    color: rgba(247,243,238,0.9);
    letter-spacing: 2px;
    line-height: 2.2;
    margin-bottom: 16px;
}
.weekly-koan-source {
    font-size: 11px;
    color: var(--accent-gold);
    letter-spacing: 3px;
    opacity: 0.7;
}
.weekly-guidance {
    margin-top: 32px;
}
.weekly-guidance-title {
    font-size: 11px;
    color: var(--accent-gold);
    letter-spacing: 5px;
    text-transform: uppercase;
    text-align: center;
    margin-bottom: 20px;
}
.weekly-guidance-list {
    list-style: none;
    max-width: 560px;
    margin: 0 auto;
}
.weekly-guidance-list li {
    font-size: 13px;
    color: rgba(247,243,238,0.6);
    line-height: 2.1;
    letter-spacing: 1px;
    padding: 8px 0;
    padding-left: 24px;
    position: relative;
}
.weekly-guidance-list li::before {
    content: '◦';
    position: absolute;
    left: 8px;
    color: var(--accent-gold);
    font-size: 16px;
    opacity: 0.6;
}
.weekly-topic-actions {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-top: 40px;
    flex-wrap: wrap;
}
.weekly-topic-btn {
    display: inline-block;
    padding: 12px 32px;
    border: 1px solid rgba(184,134,11,0.3);
    color: var(--accent-gold);
    text-decoration: none;
    font-size: 12px;
    letter-spacing: 3px;
    border-radius: 2px;
    transition: all 0.3s;
    background: transparent;
}
.weekly-topic-btn:hover {
    border-color: var(--accent-gold);
    background: rgba(184,134,11,0.1);
    transform: translateY(-2px);
}
.weekly-topic-btn.primary {
    background: var(--accent-red);
    border-color: var(--accent-red);
    color: white;
}
.weekly-topic-btn.primary:hover {
    background: #a83035;
    border-color: #a83035;
}
@media (max-width: 1024px) {
    .weekly-topic-section { padding: 52px 40px; }
    .weekly-topic-char { font-size: 56px; }
}
@media (max-width: 600px) {
    .weekly-topic-section { padding: 40px 20px; }
    .weekly-topic-char { font-size: 42px; letter-spacing: 6px; }
    .weekly-koan-box { padding: 24px 20px; }
    .weekly-topic-actions { flex-direction: column; }
    .weekly-topic-btn { width: 100%; text-align: center; }
}

/* ── 共修状态条 ── */
.practice-strip {
    background: #1a1510;
    padding: 18px 120px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 48px;
    border-top: 1px solid rgba(184,134,11,0.15);
    border-bottom: 1px solid rgba(184,134,11,0.15);
    flex-wrap: wrap;
}
.practice-stat-item {
    text-align: center;
}
.practice-stat-number {
    font-size: 24px;
    font-weight: 600;
    color: var(--accent-gold);
    letter-spacing: 3px;
    display: block;
    line-height: 1.2;
}
.practice-stat-label {
    font-size: 9px;
    color: rgba(247,243,238,0.4);
    letter-spacing: 3px;
    margin-top: 4px;
    display: block;
    text-transform: uppercase;
}
.practice-stat-divider {
    width: 1px;
    height: 36px;
    background: rgba(247,243,238,0.08);
}
.practice-live-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--accent-red);
    display: inline-block;
    margin-right: 6px;
    animation: livePulse 2s ease-in-out infinite;
}
@keyframes livePulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.4; transform: scale(1.3); }
}
@media (max-width: 1024px) {
    .practice-strip { padding: 16px 40px; gap: 32px; }
}
@media (max-width: 600px) {
    .practice-strip { padding: 14px 20px; gap: 24px; }
    .practice-stat-number { font-size: 20px; }
    .practice-stat-divider { display: none; }
}

/* ── 读者分享升级 ── */
.reader-share-submit {
    text-align: center;
    margin-top: 36px;
    padding-top: 28px;
    border-top: 1px solid rgba(0,0,0,0.05);
}
.reader-share-btn {
    display: inline-block;
    padding: 11px 32px;
    background: transparent;
    border: 1px solid rgba(184,134,11,0.3);
    color: var(--accent-gold);
    text-decoration: none;
    font-size: 12px;
    letter-spacing: 3px;
    border-radius: 2px;
    transition: all 0.3s;
}
.reader-share-btn:hover {
    border-color: var(--accent-gold);
    background: rgba(184,134,11,0.08);
    transform: translateY(-2px);
}
.reader-card-resonance-btn {
    background: none;
    border: none;
    cursor: pointer;
    font-family: var(--serif);
    font-size: 10px;
    color: var(--text-tertiary);
    letter-spacing: 1px;
    padding: 4px 8px;
    transition: all 0.3s;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.reader-card-resonance-btn:hover {
    color: var(--accent-red);
}
.reader-card-resonance-btn.active {
    color: var(--accent-red);
}
.reader-card-resonance-btn .heart {
    font-size: 12px;
}



/* ── 禅的本质 · 核心阐述区 (2026-04-06) ── */
.zen-essence-section {
    background: var(--white);
    padding: 96px 120px;
    scroll-margin-top: 76px;
    position: relative;
    overflow: hidden;
}
.zen-essence-section::before {
    content: '禪';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 480px;
    font-weight: 200;
    color: rgba(184,134,11,0.025);
    font-family: var(--serif);
    line-height: 1;
    pointer-events: none;
    letter-spacing: -12px;
}
.zen-essence-inner {
    max-width: 1100px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}
.zen-essence-label {
    font-size: 10px;
    color: var(--accent-red);
    letter-spacing: 8px;
    text-transform: uppercase;
    display: block;
    text-align: center;
    margin-bottom: 16px;
    opacity: 0.85;
}
.zen-essence-title {
    font-size: 36px;
    font-weight: 300;
    letter-spacing: 6px;
    text-align: center;
    margin-bottom: 12px;
    color: var(--text-primary);
}
.zen-essence-desc {
    font-size: 15px;
    color: var(--text-secondary);
    text-align: center;
    max-width: 580px;
    margin: 0 auto 56px;
    line-height: 2.2;
    letter-spacing: 1px;
}
.essence-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    margin-bottom: 48px;
}
.essence-card {
    background: var(--bg-color);
    border: 1px solid rgba(184,134,11,0.12);
    border-radius: 3px;
    padding: 40px 32px;
    transition: all 0.5s cubic-bezier(0.4,0,0.2,1);
    position: relative;
    overflow: hidden;
}
.essence-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 3px;
    height: 100%;
    background: linear-gradient(180deg, var(--accent-red) 0%, var(--accent-gold) 100%);
    transform: scaleY(0);
    transform-origin: bottom;
    transition: transform 0.5s cubic-bezier(0.4,0,0.2,1);
}
.essence-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 48px rgba(0,0,0,0.08);
    border-color: rgba(184,134,11,0.25);
}
.essence-card:hover::before {
    transform: scaleY(1);
}
.essence-icon {
    font-size: 13px;
    color: var(--accent-gold);
    letter-spacing: 4px;
    display: block;
    margin-bottom: 16px;
    font-weight: 500;
}
.essence-card-title {
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 3px;
    color: var(--text-primary);
    margin-bottom: 16px;
}
.essence-card-text {
    font-size: 13.5px;
    color: var(--text-secondary);
    line-height: 2.1;
    letter-spacing: 0.5px;
    margin-bottom: 24px;
}
.essence-quote {
    background: rgba(184,134,11,0.05);
    border-left: 3px solid rgba(184,134,11,0.35);
    padding: 16px 18px;
    margin-bottom: 20px;
    border-radius: 0 2px 2px 0;
}
.essence-quote-text {
    display: block;
    font-size: 14px;
    color: var(--text-primary);
    letter-spacing: 1px;
    line-height: 1.8;
    margin-bottom: 8px;
    font-style: italic;
}
.essence-quote-author {
    display: block;
    font-size: 11px;
    color: var(--text-tertiary);
    letter-spacing: 2px;
}
.essence-expand-btn {
    background: transparent;
    border: 1px solid rgba(197,61,67,0.25);
    color: var(--accent-red);
    font-family: var(--serif);
    font-size: 11px;
    letter-spacing: 3px;
    padding: 8px 20px;
    border-radius: 2px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
}
.essence-expand-btn:hover {
    background: var(--accent-red);
    color: white;
}
.essence-expand-btn .expand-icon {
    font-size: 14px;
    transition: transform 0.3s ease;
}
.essence-card.open .essence-expand-btn .expand-icon {
    transform: rotate(45deg);
}
.essence-detail {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s cubic-bezier(0.4,0,0.2,1), opacity 0.4s ease;
    opacity: 0;
    margin-top: 0;
}
.essence-card.open .essence-detail {
    max-height: 200px;
    opacity: 1;
    margin-top: 20px;
}
.essence-detail p {
    font-size: 13px;
    color: var(--text-tertiary);
    line-height: 2.1;
    letter-spacing: 0.5px;
    padding-top: 20px;
    border-top: 1px solid rgba(184,134,11,0.12);
}
.essence-footer {
    text-align: center;
    padding-top: 32px;
    border-top: 1px solid rgba(0,0,0,0.05);
}
.essence-footer-text {
    display: block;
    font-size: 13px;
    color: var(--text-secondary);
    letter-spacing: 3px;
    margin-bottom: 24px;
}
.essence-cta {
    display: inline-block;
    padding: 12px 36px;
    background: var(--accent-red);
    color: white;
    text-decoration: none;
    font-size: 13px;
    letter-spacing: 4px;
    border-radius: 2px;
    transition: all 0.3s ease;
}
.essence-cta:hover {
    background: #a83035;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(197,61,67,0.3);
}
@media (max-width: 1024px) {
    .zen-essence-section { padding: 64px 40px; }
    .essence-grid { grid-template-columns: repeat(2, 1fr); }
    .zen-essence-title { font-size: 28px; }
}
@media (max-width: 600px) {
    .zen-essence-section { padding: 48px 20px; }
    .essence-grid { grid-template-columns: 1fr; }
    .zen-essence-title { font-size: 24px; letter-spacing: 4px; }
    .essence-card { padding: 32px 24px; }
    .essence-quote-text { font-size: 13px; }
}



/* ── 同修见证 · 共鸣按钮 (2026-04-06) ── */
.resonance-actions {
    display: flex;
    justify-content: flex-end;
    padding-top: 14px;
    margin-top: 14px;
    border-top: 1px solid rgba(0,0,0,0.04);
}
.resonance-resonate-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    background: transparent;
    border: 1px solid rgba(184,134,11,0.2);
    color: var(--text-secondary);
    font-family: var(--serif);
    font-size: 11px;
    letter-spacing: 2px;
    padding: 5px 12px;
    border-radius: 14px;
    cursor: pointer;
    transition: all 0.3s ease;
}
.resonance-resonate-btn:hover {
    border-color: var(--accent-gold);
    color: var(--accent-gold);
    background: rgba(184,134,11,0.05);
}
.resonance-resonate-btn.resonated {
    background: var(--accent-gold);
    border-color: var(--accent-gold);
    color: white;
}
.resonate-icon {
    font-size: 12px;
    transition: transform 0.3s ease;
}
.resonance-resonate-btn:hover .resonate-icon {
    transform: scale(1.2);
}
.resonate-count {
    font-size: 10px;
    min-width: 16px;
    text-align: center;
}



/* ═══════════════════════════════════════════════════════════════
   新增：此刻·停顿体验条 (2026-04-06 迭代)
   ═══════════════════════════════════════════════════════════════ */
.pause-experience-strip {
    background: linear-gradient(135deg, #1a1815 0%, #2a2622 50%, #1a1815 100%);
    padding: 80px 120px;
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid rgba(184,134,11,0.15);
}
.pause-experience-strip::before {
    content: '停';
    position: absolute;
    font-size: 320px;
    color: rgba(184,134,11,0.03);
    font-family: var(--serif);
    right: -40px;
    top: 50%;
    transform: translateY(-50%);
    line-height: 1;
    pointer-events: none;
    font-weight: 200;
}
.pause-inner {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
    position: relative;
    z-index: 1;
}
.pause-label {
    font-size: 11px;
    color: var(--accent-gold);
    letter-spacing: 8px;
    text-transform: uppercase;
    display: block;
    margin-bottom: 24px;
    opacity: 0.8;
}
.pause-question {
    font-size: 26px;
    font-weight: 300;
    color: rgba(247,243,238,0.9);
    letter-spacing: 3px;
    line-height: 1.7;
    margin-bottom: 16px;
}
.pause-question em {
    font-style: normal;
    color: var(--accent-red);
    border-bottom: 1px solid rgba(197,61,67,0.4);
    padding-bottom: 2px;
}
.pause-hint {
    font-size: 13px;
    color: rgba(247,243,238,0.45);
    letter-spacing: 2px;
    margin-bottom: 40px;
}
.pause-actions {
    display: flex;
    gap: 20px;
    justify-content: center;
    flex-wrap: wrap;
}
.pause-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 36px;
    border-radius: 2px;
    font-size: 13px;
    letter-spacing: 3px;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.4,0,0.2,1);
    font-family: var(--serif);
    border: none;
}
.pause-btn.primary {
    background: var(--accent-gold);
    color: #1a1510;
}
.pause-btn.primary:hover {
    background: #d4a847;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(184,134,11,0.3);
}
.pause-btn.secondary {
    background: transparent;
    color: rgba(247,243,238,0.6);
    border: 1px solid rgba(247,243,238,0.2);
}
.pause-btn.secondary:hover {
    border-color: rgba(247,243,238,0.4);
    color: rgba(247,243,238,0.85);
}
.pause-btn-icon {
    font-size: 18px;
}

/* 停顿体验模态框 */
.pause-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(10,8,6,0.95);
    z-index: 100001;
    display: none;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    animation: fadeIn 0.5s ease;
}
.pause-modal.active {
    display: flex;
}
.pause-modal-content {
    text-align: center;
    position: relative;
    padding: 40px;
}
.pause-modal-close {
    position: absolute;
    top: 20px;
    right: 30px;
    font-size: 32px;
    color: rgba(247,243,238,0.4);
    cursor: pointer;
    background: none;
    border: none;
    transition: color 0.3s;
}
.pause-modal-close:hover {
    color: rgba(247,243,238,0.8);
}
.pause-breath-circle {
    width: 180px;
    height: 180px;
    margin: 0 auto 32px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(184,134,11,0.25) 0%, rgba(184,134,11,0.05) 70%);
    border: 1px solid rgba(184,134,11,0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: pauseBreath 4.5s ease-in-out infinite;
}
@keyframes pauseBreath {
    0%, 100% { 
        transform: scale(0.85); 
        box-shadow: 0 0 0 0 rgba(184,134,11,0.2);
    }
    50% { 
        transform: scale(1.15); 
        box-shadow: 0 0 0 32px rgba(184,134,11,0);
    }
}
.pause-phase-text {
    font-size: 22px;
    letter-spacing: 4px;
    color: var(--accent-gold);
    font-weight: 300;
}
.pause-instruction {
    font-size: 14px;
    color: rgba(247,243,238,0.6);
    letter-spacing: 3px;
    margin-bottom: 20px;
}
.pause-progress {
    font-size: 12px;
    color: rgba(247,243,238,0.35);
    letter-spacing: 4px;
}

@media (max-width: 1024px) {
    .pause-experience-strip { padding: 60px 40px; }
}
@media (max-width: 600px) {
    .pause-experience-strip { padding: 44px 20px; }
    .pause-question { font-size: 20px; letter-spacing: 2px; }
    .pause-actions { flex-direction: column; gap: 12px; }
    .pause-btn { width: 100%; justify-content: center; }
}


/* ── 七日禅修挑战 ── */

/* 七日挑战增强反馈样式 */
.sdcs-achievement {
    margin-top: 20px;
    padding: 16px 20px;
    background: linear-gradient(135deg, rgba(184, 134, 11, 0.15) 0%, rgba(197, 61, 67, 0.15) 100%);
    border-radius: 8px;
    display: none;
    align-items: center;
    justify-content: center;
    gap: 12px;
    animation: fadeIn 0.5s ease;
}
.sdcs-achievement.show {
    display: flex;
}
.sdcs-achievement-icon {
    font-size: 24px;
}
.sdcs-achievement-text {
    font-size: 13px;
    color: var(--accent-gold);
    letter-spacing: 2px;
    font-weight: 600;
}
.sdcs-streak-display {
    margin-top: 24px;
    padding: 20px;
    background: rgba(255, 255, 255, 0.5);
    border-radius: 8px;
    text-align: center;
}
.sdcs-streak-big {
    font-size: 48px;
    font-weight: 700;
    color: var(--accent-gold);
    letter-spacing: 4px;
    display: block;
}
.sdcs-streak-label {
    font-size: 12px;
    color: var(--text-secondary);
    letter-spacing: 3px;
    margin-top: 4px;
    display: block;
}
.sdcs-encouragement {
    margin-top: 20px;
    font-size: 14px;
    color: var(--text-tertiary);
    letter-spacing: 4px;
    font-style: italic;
}


.seven-days-challenge-section {
    background: linear-gradient(135deg, #1e1c19 0%, #2a2622 100%);
    padding: 72px 120px;
    position: relative;
    overflow: hidden;
    scroll-margin-top: 76px;
}
.seven-days-challenge-section::before {
    content: '七';
    position: absolute;
    font-size: 320px;
    color: rgba(184,134,11,0.03);
    font-family: var(--serif);
    right: -40px;
    top: 50%;
    transform: translateY(-50%);
    line-height: 1;
    pointer-events: none;
    font-weight: 200;
}
.sdcs-container {
    max-width: 1100px;
    margin: 0 auto;
    position: relative;
}
.sdcs-header {
    text-align: center;
    margin-bottom: 48px;
}
.sdcs-label {
    font-size: 10px;
    color: var(--accent-gold);
    letter-spacing: 8px;
    text-transform: uppercase;
    display: block;
    margin-bottom: 16px;
    opacity: 0.8;
}
.sdcs-title {
    font-size: 32px;
    font-weight: 300;
    letter-spacing: 5px;
    color: rgba(247,243,238,0.95);
    margin-bottom: 12px;
}
.sdcs-desc {
    font-size: 14px;
    color: rgba(247,243,238,0.5);
    letter-spacing: 1px;
    line-height: 2;
    max-width: 560px;
    margin: 0 auto;
}
.sdcs-progress-banner {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(184,134,11,0.15);
    border-radius: 4px;
    padding: 28px 36px;
    margin-bottom: 40px;
    display: flex;
    align-items: center;
    gap: 32px;
    flex-wrap: wrap;
}
.sdcs-progress-info {
    flex-shrink: 0;
    min-width: 140px;
}
.sdcs-current-day {
    display: block;
    font-size: 24px;
    font-weight: 600;
    color: var(--accent-gold);
    letter-spacing: 2px;
    margin-bottom: 4px;
}
.sdcs-progress-text {
    font-size: 12px;
    color: rgba(247,243,238,0.4);
    letter-spacing: 2px;
}
.sdcs-progress-bar {
    flex: 1;
    min-width: 200px;
    height: 6px;
    background: rgba(255,255,255,0.1);
    border-radius: 3px;
    overflow: hidden;
}
.sdcs-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--accent-gold) 0%, var(--accent-red) 100%);
    width: 0%;
    transition: width 0.6s ease;
    border-radius: 3px;
}
.sdcs-streak-badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 12px 24px;
    background: rgba(184,134,11,0.1);
    border: 1px solid rgba(184,134,11,0.2);
    border-radius: 3px;
    flex-shrink: 0;
}
.sdcs-streak-num {
    font-size: 28px;
    font-weight: 600;
    color: var(--accent-gold);
    letter-spacing: 2px;
    line-height: 1;
}
.sdcs-streak-label {
    font-size: 10px;
    color: rgba(247,243,238,0.4);
    letter-spacing: 2px;
    margin-top: 4px;
}
.sdcs-days-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 12px;
    margin-bottom: 40px;
}
.sdcs-day-card {
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 3px;
    padding: 24px 16px;
    text-align: center;
    transition: all 0.4s cubic-bezier(0.4,0,0.2,1);
    position: relative;
    cursor: pointer;
}
.sdcs-day-card::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--accent-gold);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.4s ease;
}
.sdcs-day-card:hover {
    background: rgba(255,255,255,0.06);
    border-color: rgba(184,134,11,0.3);
    transform: translateY(-4px);
}
.sdcs-day-card:hover::after {
    transform: scaleX(1);
}
.sdcs-day-card.completed {
    background: rgba(184,134,11,0.15);
    border-color: rgba(184,134,11,0.4);
}
.sdcs-day-card.completed::after {
    transform: scaleX(1);
}
.sdcs-day-card.active {
    border-color: var(--accent-red);
    box-shadow: 0 0 0 2px rgba(197,61,67,0.3);
}
.sdcs-day-num {
    font-size: 10px;
    color: rgba(247,243,238,0.3);
    letter-spacing: 3px;
    text-transform: uppercase;
    display: block;
    margin-bottom: 8px;
}
.sdcs-day-card.completed .sdcs-day-num {
    color: var(--accent-gold);
}
.sdcs-day-char {
    font-size: 36px;
    font-weight: 200;
    color: rgba(247,243,238,0.5);
    display: block;
    margin-bottom: 12px;
    font-family: var(--serif);
    transition: all 0.3s ease;
}
.sdcs-day-card.completed .sdcs-day-char {
    color: var(--accent-gold);
}
.sdcs-day-card:hover .sdcs-day-char {
    color: var(--accent-gold);
    transform: scale(1.1);
}
.sdcs-day-task {
    font-size: 11px;
    color: rgba(247,243,238,0.6);
    letter-spacing: 1px;
    line-height: 1.7;
    display: block;
}
.sdcs-day-card.completed .sdcs-day-task {
    color: rgba(247,243,238,0.8);
}
.sdcs-day-seal {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--accent-gold);
    display: none;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    color: #1e1c19;
}
.sdcs-day-card.completed .sdcs-day-seal {
    display: flex;
}
.sdcs-cta {
    text-align: center;
}
.sdcs-start-btn {
    display: inline-block;
    padding: 16px 48px;
    background: linear-gradient(135deg, var(--accent-red) 0%, #a83035 100%);
    color: white;
    border: none;
    border-radius: 3px;
    font-size: 14px;
    letter-spacing: 4px;
    cursor: pointer;
    transition: all 0.4s ease;
    font-family: var(--serif);
}
.sdcs-start-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(197,61,67,0.4);
}
.sdcs-start-btn:disabled {
    background: rgba(255,255,255,0.1);
    color: rgba(247,243,238,0.3);
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}
.sdcs-hint {
    font-size: 11px;
    color: rgba(247,243,238,0.3);
    letter-spacing: 2px;
    margin-top: 16px;
}
.sdcs-complete-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(10,8,6,0.95);
    z-index: 100000;
    display: none;
    align-items: center;
    justify-content: center;
    animation: fadeIn 0.4s ease;
}
.sdcs-complete-modal.active {
    display: flex;
}
.sdcs-modal-content {
    text-align: center;
    padding: 48px;
    position: relative;
    max-width: 400px;
}
.sdcs-modal-close {
    position: absolute;
    top: 16px;
    right: 20px;
    font-size: 28px;
    color: rgba(247,243,238,0.4);
    cursor: pointer;
    transition: color 0.3s;
}
.sdcs-modal-close:hover {
    color: rgba(247,243,238,0.8);
}
.sdcs-modal-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 24px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--accent-gold) 0%, #9a7008 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 40px;
    color: #1e1c19;
    animation: sdcsPulse 1s ease-in-out;
}
@keyframes sdcsPulse {
    0% { transform: scale(0); opacity: 0; }
    50% { transform: scale(1.1); }
    100% { transform: scale(1); opacity: 1; }
}
.sdcs-modal-title {
    font-size: 24px;
    font-weight: 300;
    letter-spacing: 4px;
    color: rgba(247,243,238,0.95);
    margin-bottom: 12px;
}
.sdcs-modal-desc {
    font-size: 13px;
    color: rgba(247,243,238,0.4);
    letter-spacing: 2px;
    margin-bottom: 32px;
}
.sdcs-modal-seal {
    display: inline-block;
    padding: 12px 32px;
    border: 2px solid var(--accent-gold);
    color: var(--accent-gold);
    font-size: 16px;
    letter-spacing: 6px;
    border-radius: 2px;
    animation: sdcsSealPulse 2s ease-in-out infinite;
}
@keyframes sdcsSealPulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(184,134,11,0.4); }
    50% { box-shadow: 0 0 0 12px rgba(184,134,11,0); }
}
@media (max-width: 1024px) {
    .seven-days-challenge-section { padding: 52px 40px; }
    .sdcs-days-grid { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 768px) {
    .sdcs-progress-banner { flex-direction: column; gap: 20px; text-align: center; }
    .sdcs-progress-info { min-width: auto; }
    .sdcs-streak-badge { width: 100%; }
}
@media (max-width: 600px) {
    .seven-days-challenge-section { padding: 40px 20px; }
    .sdcs-days-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
    .sdcs-day-card { padding: 16px 12px; }
    .sdcs-day-char { font-size: 28px; }
    .sdcs-day-task { font-size: 10px; }
    .sdcs-title { font-size: 24px; letter-spacing: 3px; }
    .sdcs-start-btn { padding: 14px 36px; font-size: 13px; letter-spacing: 3px; }
}


/* ── 此刻禅意增强 ── */
.zen-moment-section {
    background: linear-gradient(180deg, var(--white) 0%, var(--section-alt-bg) 100%);
    padding: 72px 120px;
    position: relative;
    overflow: hidden;
}
.zen-moment-section::before {
    content: '此刻';
    position: absolute;
    font-size: 280px;
    color: rgba(184,134,11,0.025);
    font-family: var(--serif);
    left: -20px;
    top: 50%;
    transform: translateY(-50%);
    line-height: 1;
    pointer-events: none;
    font-weight: 200;
}
.zen-moment-header {
    text-align: center;
    margin-bottom: 48px;
}
.zen-moment-label {
    font-size: 10px;
    color: var(--accent-red);
    letter-spacing: 8px;
    text-transform: uppercase;
    display: block;
    margin-bottom: 16px;
}
.zen-moment-title {
    font-size: 30px;
    font-weight: 300;
    letter-spacing: 5px;
    color: var(--text-primary);
    margin-bottom: 12px;
}
.zen-moment-time {
    font-size: 13px;
    color: var(--text-secondary);
    letter-spacing: 2px;
}
.zen-moment-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    max-width: 960px;
    margin: 0 auto 40px;
}
.moment-card {
    display: block;
    padding: 36px 28px;
    background: var(--white);
    border: 1px solid rgba(0,0,0,0.05);
    border-radius: 3px;
    text-decoration: none;
    transition: all 0.4s cubic-bezier(0.4,0,0.2,1);
    position: relative;
    overflow: hidden;
}
.moment-card::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--accent-gold) 0%, var(--accent-red) 100%);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.4s ease;
}
.moment-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 40px rgba(0,0,0,0.08);
    border-color: rgba(184,134,11,0.2);
}
.moment-card:hover::after {
    transform: scaleX(1);
}
.moment-card-icon {
    font-size: 36px;
    display: block;
    margin-bottom: 16px;
    opacity: 0.8;
}
.moment-card-label {
    font-size: 10px;
    color: var(--accent-gold);
    letter-spacing: 3px;
    text-transform: uppercase;
    display: block;
    margin-bottom: 8px;
}
.moment-card-title {
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 1.5px;
    color: var(--text-primary);
    margin-bottom: 8px;
    display: block;
}
.moment-card-desc {
    font-size: 12.5px;
    color: var(--text-secondary);
    letter-spacing: 0.5px;
    line-height: 1.9;
    display: block;
}
.zen-moment-cta {
    text-align: center;
}
.zen-moment-cta-btn {
    display: inline-block;
    padding: 12px 36px;
    border: 1px solid rgba(184,134,11,0.25);
    color: var(--text-tertiary);
    text-decoration: none;
    font-size: 12px;
    letter-spacing: 4px;
    transition: var(--transition);
    border-radius: 2px;
}
.zen-moment-cta-btn:hover {
    border-color: var(--accent-red);
    color: var(--accent-red);
}
@media (max-width: 1024px) {
    .zen-moment-section { padding: 52px 40px; }
    .zen-moment-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    .zen-moment-section { padding: 40px 20px; }
    .zen-moment-grid { grid-template-columns: 1fr; }
    .zen-moment-title { font-size: 24px; letter-spacing: 3px; }
}

/* ── 呼吸点留白空间 ── */
.breathing-space {
    height: 60px;
    background: transparent;
}
@media (max-width: 600px) {
    .breathing-space { height: 40px; }
}


/* ── 视觉层次优化 (2026-04-06) ── */
/* 增强核心区块的视觉优先级 */

/* 七日挑战区块 - 最高优先级，深色突出 */
.seven-days-challenge-section {
    box-shadow: 0 4px 40px rgba(0,0,0,0.15);
}

/* 今日功课区块 - 次高优先级 */
.greeting-practice-section {
    box-shadow: 0 2px 20px rgba(0,0,0,0.06);
}

/* 此刻禅意区块 - 中等优先级 */
.zen-moment-section {
    box-shadow: 0 2px 16px rgba(0,0,0,0.04);
}

/* 内容区块间距优化 */
section + .breathing-space + section {
    margin-top: 0;
}

/* 滚动揭示动画增强 */
.reveal {
    will-change: opacity, transform;
}

.reveal.revealed {
    will-change: auto;
}

/* 卡片悬停效果统一增强 */
.master-card:hover,
.path-card:hover,
.koan-card:hover,
.read-card:hover,
.moment-card:hover,
.sdcs-day-card:hover {
    will-change: transform, box-shadow;
}

/* 进度条动画平滑 */
.gp-progress-fill,
.sdcs-progress-fill {
    will-change: width;
}

/* 按钮点击反馈 */
.hero-cta:active,
.sdcs-start-btn:active,
.gp-task-link:active {
    transform: scale(0.98);
}

/* 移动端优化 */
@media (max-width: 600px) {
    .seven-days-challenge-section,
    .greeting-practice-section,
    .zen-moment-section {
        box-shadow: none;
    }
}

/* 加载性能优化 */
.hero-bg,
.master-icon img,
.split-image img {
    will-change: transform;
}

/* 减少不必要的动画 */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}


/* ═══════════════════════════════════════════════════════════════
   视觉层次优化 · 留白增强 (2026-04-07 迭代)
   ═══════════════════════════════════════════════════════════════ */

/* 增加呼吸空间 */
.breathing-space {
    height: 48px;
    background: transparent;
}

/* 优化区块间距 */
section + section {
    margin-top: 0;
}

/* 禅问箱后的留白 */
.zen-question-section + section {
    margin-top: 48px;
}

/* 修行里程碑后的留白 */
.milestone-banner + section {
    margin-top: 0;
}

/* 优化卡片悬停效果一致性 */
.master-card, .path-card, .reader-card, .koan-card, .read-card {
    will-change: transform;
}

/* 移动端优化 */
@media (max-width: 1024px) {
    .breathing-space {
        height: 32px;
    }
}

@media (max-width: 600px) {
    .breathing-space {
        height: 24px;
    }
    
    /* 移动端减少内边距 */
    section {
        padding: 40px 20px !important;
    }
    
    .zen-nav {
        padding: 14px 20px !important;
    }
}

/* ── 移动端优化 (768px) ── */
@media (max-width: 768px) {
    section { padding: 64px 24px; }
    .section-title { font-size: 26px; }
    .masters-grid { grid-template-columns: 1fr; }
    .split-section { flex-direction: column; gap: 40px; }
    .split-section.reverse { flex-direction: column; }
    .split-image { width: 100%; height: 280px; }
    .quote-box { padding: 36px 24px; }
    #zen-quote-text { font-size: 20px; }
    .daily-question-box { padding: 20px 16px; }
    .daily-q-text { font-size: 17px; }
    .zen-nav { padding: 14px 20px; }
    .hero h1, .hero h2 { font-size: 36px; letter-spacing: 4px; }
    .hero .tagline { font-size: 13px; }
    .hero-ctas { flex-direction: column; gap: 14px; }
    .hero-cta { padding: 11px 28px; font-size: 12px; }
}


/* 滚动揭示动画增强 */
.reveal {
    will-change: opacity, transform;
}

.reveal.revealed {
    will-change: auto;
}

/* 优化加载性能 */
.hero-bg, .split-image img {
    will-change: transform;
}

/* 止语模式下的导航栏隐藏非必要元素 */
.silence-mode-active .zen-nav .nav-links {
    display: none;
}

.silence-mode-active .zen-nav {
    justify-content: center;
}

/* ═══════════════════════════════════════════════════
   心经流光 · Heart Sutra Stream (2026-04-12 新增)
   ═══════════════════════════════════════════════════ */
.heart-sutra-stream {
    width: 100%;
    overflow: hidden;
    background: linear-gradient(180deg, rgba(45,43,40,0.95) 0%, rgba(30,28,26,0.98) 100%);
    padding: 14px 0;
    position: relative;
    border-top: 1px solid rgba(184,134,11,0.15);
    border-bottom: 1px solid rgba(184,134,11,0.15);
}
.heart-sutra-stream::before,
.heart-sutra-stream::after {
    content: '';
    position: absolute;
    top: 0; bottom: 0;
    width: 80px;
    z-index: 2;
    pointer-events: none;
}
.heart-sutra-stream::before {
    left: 0;
    background: linear-gradient(90deg, rgba(30,28,26,0.98) 0%, transparent 100%);
}
.heart-sutra-stream::after {
    right: 0;
    background: linear-gradient(-90deg, rgba(30,28,26,0.98) 0%, transparent 100%);
}
.hss-track {
    display: flex;
    white-space: nowrap;
    animation: hss-scroll 120s linear infinite;
    will-change: transform;
}
.hss-text {
    font-family: var(--serif);
    font-size: 13px;
    letter-spacing: 3px;
    color: rgba(197,61,67,0.45);
    line-height: 1;
    padding-right: 60px;
    user-select: none;
}
@keyframes hss-scroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}
@media (max-width: 600px) {
    .heart-sutra-stream { padding: 10px 0; }
    .hss-text { font-size: 11px; letter-spacing: 2px; padding-right: 40px; }
}

/* ═══════════════════════════════════════════════════
   禅心求签 · Zen Oracle (2026-04-12 新增)
   ═══════════════════════════════════════════════════ */
.zen-oracle-section {
    padding: 80px 24px;
    text-align: center;
    background: linear-gradient(180deg, var(--section-alt-bg) 0%, var(--bg-color) 100%);
    scroll-margin-top: 76px;
}
.oracle-container {
    max-width: 520px;
    margin: 48px auto 0;
    perspective: 800px;
}

/* 签筒 */
.oracle-tube {
    position: relative;
    display: inline-block;
    cursor: pointer;
    transition: transform 0.3s ease;
    user-select: none;
}
.oracle-tube:hover {
    transform: scale(1.03);
}
.oracle-tube.shaking {
    animation: oracle-shake 0.6s ease-in-out;
}
@keyframes oracle-shake {
    0%, 100% { transform: rotate(0deg) translateY(0); }
    15% { transform: rotate(-12deg) translateY(-4px); }
    30% { transform: rotate(10deg) translateY(-2px); }
    45% { transform: rotate(-8deg) translateY(-6px); }
    60% { transform: rotate(6deg) translateY(-2px); }
    75% { transform: rotate(-4deg) translateY(-3px); }
    90% { transform: rotate(2deg) translateY(-1px); }
}
.oracle-tube-body {
    position: relative;
    width: 120px;
    margin: 0 auto;
}
.oracle-tube-top {
    width: 110px;
    height: 18px;
    background: linear-gradient(180deg, #8B6914 0%, #6B4F10 100%);
    border-radius: 50%;
    margin: 0 auto;
    position: relative;
    z-index: 3;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}
.oracle-tube-main {
    width: 96px;
    height: 160px;
    background: linear-gradient(180deg, #A0742C 0%, #7A5A1E 30%, #6B4F10 70%, #5A4210 100%);
    margin: -4px auto 0;
    border-radius: 0 0 8px 8px;
    position: relative;
    overflow: hidden;
    box-shadow: inset -8px 0 16px rgba(0,0,0,0.15), 4px 8px 20px rgba(0,0,0,0.2);
}
.oracle-tube-char {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 36px;
    color: rgba(197,61,67,0.6);
    font-weight: 700;
    letter-spacing: 4px;
    z-index: 2;
    text-shadow: 0 1px 3px rgba(0,0,0,0.2);
}
.oracle-tube-bottom {
    width: 108px;
    height: 10px;
    background: linear-gradient(180deg, #5A4210 0%, #4A3608 100%);
    border-radius: 0 0 12px 12px;
    margin: 0 auto;
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}

/* 签棒 */
.oracle-sticks {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 140px;
    z-index: 1;
}
.oracle-stick {
    position: absolute;
    bottom: 0;
    width: 6px;
    height: 120px;
    background: linear-gradient(180deg, #F5E6C8 0%, #E8D5A8 50%, #D4C090 100%);
    border-radius: 2px 2px 1px 1px;
    left: calc(10px + var(--stick-delay) / 40ms * 12px);
    transform: rotate(calc((var(--stick-delay) - 160ms) / 100 * 3deg));
    box-shadow: 1px 1px 3px rgba(0,0,0,0.15);
    transition: transform 0.3s ease;
}
.oracle-tube.shaking .oracle-stick {
    animation: stick-rattle 0.5s ease-in-out;
    animation-delay: var(--stick-delay);
}
@keyframes stick-rattle {
    0%, 100% { transform: rotate(calc((var(--stick-delay) - 160ms) / 100 * 3deg)) translateY(0); }
    25% { transform: rotate(calc((var(--stick-delay) - 160ms) / 100 * 8deg)) translateY(-8px); }
    50% { transform: rotate(calc((var(--stick-delay) - 160ms) / 100 * -6deg)) translateY(-12px); }
    75% { transform: rotate(calc((var(--stick-delay) - 160ms) / 100 * 5deg)) translateY(-6px); }
}
.oracle-tube.stick-falling .oracle-stick:nth-child(3) {
    animation: stick-fall 0.8s ease-in forwards;
}
@keyframes stick-fall {
    0% { transform: rotate(0deg) translateY(0); opacity: 1; }
    50% { transform: rotate(30deg) translateY(-60px); opacity: 1; }
    100% { transform: rotate(60deg) translateY(30px); opacity: 0; }
}

.oracle-tube-shadow {
    width: 100px;
    height: 12px;
    background: radial-gradient(ellipse, rgba(0,0,0,0.15) 0%, transparent 70%);
    margin: 8px auto 0;
}
.oracle-hint {
    display: block;
    margin-top: 16px;
    font-size: 13px;
    color: var(--text-secondary);
    letter-spacing: 4px;
    animation: oracle-hint-pulse 2s ease-in-out infinite;
}
@keyframes oracle-hint-pulse {
    0%, 100% { opacity: 0.6; }
    50% { opacity: 1; }
}

/* 签诗结果 */
.oracle-result {
    margin-top: 40px;
    animation: oracle-reveal 0.6s ease-out;
}
@keyframes oracle-reveal {
    0% { opacity: 0; transform: translateY(20px); }
    100% { opacity: 1; transform: translateY(0); }
}
.oracle-result-inner {
    background: var(--white);
    border: 1px solid rgba(184,134,11,0.2);
    border-radius: 4px;
    padding: 48px 40px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.08);
    position: relative;
}
.oracle-result-inner::before {
    content: '';
    position: absolute;
    top: 12px;
    left: 12px;
    right: 12px;
    bottom: 12px;
    border: 1px solid rgba(184,134,11,0.1);
    border-radius: 2px;
    pointer-events: none;
}
.oracle-stick-fallen {
    width: 200px;
    height: 48px;
    margin: 0 auto 24px;
    background: linear-gradient(180deg, #F5E6C8 0%, #E8D5A8 50%, #D4C090 100%);
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    position: relative;
}
.osf-number {
    font-size: 20px;
    font-weight: 700;
    color: var(--accent-red);
    letter-spacing: 4px;
}
.oracle-divider {
    width: 60px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--accent-red), transparent);
    margin: 24px auto;
}
.oracle-poem {
    padding: 20px 0;
}
.oracle-poem-text {
    font-size: 20px;
    color: var(--text-primary);
    letter-spacing: 3px;
    line-height: 2;
    font-weight: 400;
}
.oracle-wisdom {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid rgba(0,0,0,0.05);
}
.oracle-wisdom-label {
    font-size: 11px;
    letter-spacing: 4px;
    color: var(--accent-red);
    display: block;
    margin-bottom: 12px;
}
.oracle-wisdom-text {
    font-size: 15px;
    color: var(--text-primary);
    line-height: 2;
    margin-bottom: 8px;
}
.oracle-wisdom-source {
    font-size: 12px;
    color: var(--text-secondary);
    letter-spacing: 2px;
}
.oracle-actions {
    margin-top: 32px;
    display: flex;
    gap: 16px;
    justify-content: center;
}
.oracle-btn {
    padding: 10px 28px;
    border-radius: 2px;
    font-family: var(--serif);
    font-size: 13px;
    letter-spacing: 2px;
    cursor: pointer;
    transition: all 0.3s ease;
}
.oracle-btn-again {
    background: var(--accent-red);
    color: white;
    border: none;
}
.oracle-btn-again:hover {
    background: #a83035;
    transform: translateY(-2px);
}
.oracle-btn-save {
    background: transparent;
    color: var(--text-tertiary);
    border: 1px solid rgba(45,43,40,0.2);
}
.oracle-btn-save:hover {
    border-color: var(--accent-gold);
    color: var(--accent-gold);
}
.oracle-history-hint {
    margin-top: 20px;
    font-size: 12px;
    color: var(--text-secondary);
    letter-spacing: 2px;
}
.oracle-history-hint strong {
    color: var(--accent-red);
    font-weight: 600;
}
@media (max-width: 600px) {
    .zen-oracle-section { padding: 48px 16px; }
    .oracle-result-inner { padding: 32px 20px; }
    .oracle-poem-text { font-size: 17px; }
    .oracle-actions { flex-direction: column; }
    .oracle-btn { width: 100%; text-align: center; }
}

/* ═══════════════════════════════════════════════════
   禅时钟 · Zen Clock Widget (2026-04-12 新增)
   ═══════════════════════════════════════════════════ */
.zen-clock-widget {
    position: fixed;
    bottom: 90px;
    left: 24px;
    z-index: 9999;
}
.zen-clock-toggle {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(45,43,40,0.92);
    border: 1px solid rgba(184,134,11,0.3);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    box-shadow: 0 2px 12px rgba(0,0,0,0.15);
    backdrop-filter: blur(8px);
}
.zen-clock-toggle:hover {
    transform: scale(1.1);
    border-color: var(--accent-gold);
    box-shadow: 0 4px 20px rgba(184,134,11,0.3);
}
.zcw-char {
    font-size: 18px;
    color: var(--accent-gold);
    font-weight: 700;
    letter-spacing: 0;
}
.zen-clock-panel {
    position: absolute;
    bottom: 56px;
    left: 0;
    width: 240px;
    background: rgba(255,255,255,0.96);
    border: 1px solid rgba(184,134,11,0.2);
    border-radius: 6px;
    padding: 20px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.12);
    backdrop-filter: blur(12px);
    animation: zcp-open 0.3s ease-out;
}
@keyframes zcp-open {
    0% { opacity: 0; transform: translateY(8px) scale(0.95); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
}
.zcp-header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
}
.zcp-shichen {
    font-size: 20px;
    font-weight: 700;
    color: var(--accent-red);
    letter-spacing: 3px;
}
.zcp-time {
    font-size: 14px;
    color: var(--text-secondary);
    font-variant-numeric: tabular-nums;
}
.zcp-period {
    font-size: 11px;
    color: var(--text-secondary);
    letter-spacing: 2px;
    margin-top: 2px;
}
.zcp-divider {
    height: 1px;
    background: linear-gradient(90deg, var(--accent-red), rgba(184,134,11,0.3), transparent);
    margin: 12px 0;
}
.zcp-wisdom-label {
    font-size: 10px;
    letter-spacing: 3px;
    color: var(--accent-gold);
    display: block;
    margin-bottom: 6px;
}
.zcp-wisdom-text {
    font-size: 13px;
    color: var(--text-primary);
    line-height: 1.8;
}
.zcp-element {
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid rgba(0,0,0,0.05);
    display: flex;
    align-items: center;
    gap: 8px;
}
.zcp-element-icon { font-size: 16px; }
.zcp-element-text {
    font-size: 12px;
    color: var(--text-secondary);
    letter-spacing: 1px;
}
.zcp-action {
    display: block;
    width: 100%;
    margin-top: 14px;
    padding: 8px 0;
    background: transparent;
    border: 1px solid rgba(197,61,67,0.3);
    color: var(--accent-red);
    font-family: var(--serif);
    font-size: 12px;
    letter-spacing: 2px;
    border-radius: 2px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: center;
}
.zcp-action:hover {
    background: var(--accent-red);
    color: white;
}
@media (max-width: 600px) {
    .zen-clock-widget { bottom: 80px; left: 16px; }
    .zen-clock-panel { width: 220px; }
}

/* === Style Block 13 === */
/* ── 1. 禅意日签卡片 ── */
.zen-daily-card-trigger {
    position: fixed;
    bottom: 160px;
    left: 40px;
    z-index: 9998;
    background: linear-gradient(135deg, rgba(197,61,67,0.9) 0%, rgba(184,134,11,0.9) 100%);
    color: rgba(247,243,238,0.95);
    border: none;
    padding: 10px 18px;
    border-radius: 20px;
    cursor: pointer;
    font-size: 12px;
    letter-spacing: 3px;
    font-family: var(--serif);
    box-shadow: 0 4px 16px rgba(184,134,11,0.3);
    transition: all 0.4s cubic-bezier(0.4,0,0.2,1);
    opacity: 0;
    transform: translateY(20px);
}
.zen-daily-card-trigger.visible {
    opacity: 1;
    transform: translateY(0);
}
.zen-daily-card-trigger:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 24px rgba(184,134,11,0.45);
}

.zen-daily-card-overlay {
    position: fixed;
    inset: 0;
    background: rgba(26,21,16,0.88);
    backdrop-filter: blur(8px);
    z-index: 10001;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: all 0.5s cubic-bezier(0.4,0,0.2,1);
}
.zen-daily-card-overlay.active {
    opacity: 1;
    visibility: visible;
}

.zen-daily-card {
    width: 380px;
    background: linear-gradient(170deg, #F7F3EE 0%, #EDE8E0 40%, #F0EBE3 100%);
    border-radius: 4px;
    padding: 48px 40px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 32px 64px rgba(0,0,0,0.4), 0 0 0 1px rgba(184,134,11,0.15);
    transform: scale(0.9) translateY(30px);
    transition: all 0.6s cubic-bezier(0.4,0,0.2,1);
}
.zen-daily-card-overlay.active .zen-daily-card {
    transform: scale(1) translateY(0);
}

.zen-daily-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--accent-red), var(--accent-gold), var(--accent-red));
}

.zen-daily-card::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--accent-gold), var(--accent-red), var(--accent-gold));
}

.zdc-stamp {
    position: absolute;
    top: 20px;
    right: 24px;
    width: 52px;
    height: 52px;
    border: 2px solid rgba(197,61,67,0.6);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: var(--accent-red);
    opacity: 0.7;
    transform: rotate(-15deg);
}
.zdc-date {
    font-size: 11px;
    color: var(--text-secondary);
    letter-spacing: 4px;
    margin-bottom: 28px;
}
.zdc-char {
    font-size: 72px;
    font-weight: 200;
    color: var(--text-primary);
    text-align: center;
    margin: 20px 0 16px;
    line-height: 1;
    opacity: 0.9;
}
.zdc-meaning {
    text-align: center;
    font-size: 14px;
    color: var(--text-tertiary);
    letter-spacing: 3px;
    margin-bottom: 32px;
}
.zdc-quote {
    text-align: center;
    font-size: 16px;
    line-height: 2;
    color: var(--text-primary);
    letter-spacing: 2px;
    margin-bottom: 12px;
    font-weight: 400;
}
.zdc-author {
    text-align: center;
    font-size: 12px;
    color: var(--text-secondary);
    letter-spacing: 4px;
}
.zdc-footer {
    margin-top: 36px;
    padding-top: 20px;
    border-top: 1px solid rgba(184,134,11,0.15);
    text-align: center;
    font-size: 10px;
    color: var(--text-secondary);
    letter-spacing: 5px;
    opacity: 0.6;
}
.zdc-close {
    position: absolute;
    top: 16px;
    left: 20px;
    background: none;
    border: none;
    font-size: 18px;
    color: var(--text-secondary);
    cursor: pointer;
    opacity: 0.5;
    transition: opacity 0.3s;
    padding: 4px;
}
.zdc-close:hover { opacity: 1; }

/* ── 2. 四阶段呼吸引导 ── */
.enso-phase-indicator {
    position: absolute;
    bottom: -60px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 8px;
    opacity: 0;
    transition: opacity 0.6s ease;
    pointer-events: none;
}
.enso-phase-indicator.active {
    opacity: 1;
}
.enso-phase-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgba(247,243,238,0.2);
    border: 1px solid rgba(247,243,238,0.3);
    transition: all 0.5s ease;
    position: relative;
}
.enso-phase-dot.current {
    background: rgba(184,134,11,0.8);
    border-color: rgba(184,134,11,0.9);
    box-shadow: 0 0 12px rgba(184,134,11,0.5);
    transform: scale(1.3);
}
.enso-phase-dot.completed {
    background: rgba(197,61,67,0.6);
    border-color: rgba(197,61,67,0.7);
}
.enso-phase-label {
    position: absolute;
    top: -24px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 11px;
    color: rgba(247,243,238,0.6);
    letter-spacing: 3px;
    white-space: nowrap;
    opacity: 0;
    transition: opacity 0.4s;
}
.enso-phase-dot.current .enso-phase-label {
    opacity: 1;
}

/* ── 3. 水墨光标轨迹 ── */
.ink-trail-dot {
    position: fixed;
    pointer-events: none;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(45,43,40,0.12) 0%, transparent 70%);
    z-index: 9990;
    transform: translate(-50%, -50%);
    transition: none;
}

/* ── 4. 智能访客觉醒 ── */
.zen-awaken-toast {
    position: fixed;
    top: 80px;
    right: 24px;
    background: linear-gradient(135deg, rgba(26,21,16,0.95) 0%, rgba(42,36,32,0.95) 100%);
    color: rgba(247,243,238,0.9);
    padding: 16px 28px;
    border-radius: 4px;
    font-family: var(--serif);
    font-size: 13px;
    letter-spacing: 2px;
    line-height: 1.8;
    z-index: 10002;
    box-shadow: 0 8px 32px rgba(0,0,0,0.3);
    border: 1px solid rgba(184,134,11,0.2);
    opacity: 0;
    transform: translateX(100px);
    transition: all 0.6s cubic-bezier(0.4,0,0.2,1);
    max-width: 320px;
}
.zen-awaken-toast.visible {
    opacity: 1;
    transform: translateX(0);
}
.zen-awaken-toast .zat-greeting {
    font-size: 15px;
    font-weight: 600;
    color: var(--accent-gold);
    letter-spacing: 4px;
    margin-bottom: 6px;
}
.zen-awaken-toast .zat-msg {
    font-size: 12px;
    color: rgba(247,243,238,0.6);
}

/* 响应式适配 */
@media (max-width: 768px) {
    .zen-daily-card {
        width: 320px;
        padding: 36px 28px;
    }
    .zen-daily-card-trigger {
        left: 20px;
        bottom: 140px;
    }
    .zen-awaken-toast {
        right: 12px;
        left: 12px;
        max-width: none;
    }
}

/* ═══════════════════════════════════════════════════
   首次用户引导体验 (2026-04-16 战略迭代)
   ═══════════════════════════════════════════════════ */
.zen-onboarding-overlay {
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(20, 18, 16, 0.95);
    z-index: 99999;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.6s ease;
}
.zen-onboarding-overlay.active {
    opacity: 1;
    pointer-events: auto;
}
.zen-onboarding-content {
    max-width: 600px;
    padding: 60px 40px;
    text-align: center;
    color: #F7F3EE;
}
.zen-onboarding-kanji {
    font-size: 120px;
    font-weight: 300;
    letter-spacing: 20px;
    margin-bottom: 30px;
    opacity: 0;
    animation: onboardingFadeIn 1.5s ease forwards;
    color: var(--accent-gold);
}
.zen-onboarding-title {
    font-size: 28px;
    font-weight: 400;
    letter-spacing: 8px;
    margin-bottom: 20px;
    opacity: 0;
    animation: onboardingFadeIn 1.5s ease forwards 0.5s;
}
.zen-onboarding-subtitle {
    font-size: 14px;
    color: rgba(247, 243, 238, 0.7);
    letter-spacing: 3px;
    line-height: 2;
    margin-bottom: 40px;
    opacity: 0;
    animation: onboardingFadeIn 1.5s ease forwards 1s;
}
.zen-onboarding-features {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 50px;
    opacity: 0;
    animation: onboardingFadeIn 1.5s ease forwards 1.5s;
}
.zen-onboarding-feature {
    padding: 20px;
    border: 1px solid rgba(184, 134, 11, 0.3);
    border-radius: 8px;
    background: rgba(184, 134, 11, 0.05);
}
.zen-onboarding-feature-icon {
    font-size: 32px;
    margin-bottom: 12px;
}
.zen-onboarding-feature-title {
    font-size: 13px;
    letter-spacing: 2px;
    margin-bottom: 8px;
    color: var(--accent-gold);
}
.zen-onboarding-feature-desc {
    font-size: 12px;
    color: rgba(247, 243, 238, 0.6);
    line-height: 1.8;
}
.zen-onboarding-buttons {
    display: flex;
    gap: 20px;
    justify-content: center;
    opacity: 0;
    animation: onboardingFadeIn 1.5s ease forwards 2s;
}
.zen-onboarding-btn {
    padding: 14px 40px;
    border: none;
    border-radius: 30px;
    font-size: 13px;
    letter-spacing: 3px;
    cursor: pointer;
    transition: all 0.3s ease;
}
.zen-onboarding-btn-primary {
    background: linear-gradient(135deg, var(--accent-red), var(--accent-gold));
    color: white;
}
.zen-onboarding-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(197, 61, 67, 0.4);
}
.zen-onboarding-btn-secondary {
    background: transparent;
    color: rgba(247, 243, 238, 0.8);
    border: 1px solid rgba(247, 243, 238, 0.3);
}
.zen-onboarding-btn-secondary:hover {
    border-color: rgba(247, 243, 238, 0.6);
}
@keyframes onboardingFadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 768px) {
    .zen-onboarding-features {
        grid-template-columns: 1fr;
    }
    .zen-onboarding-kanji {
        font-size: 80px;
    }
}

/* ═══════════════════════════════════════════════════
   浮动操作按钮 FAB (2026-04-16 战略迭代)
   ═══════════════════════════════════════════════════ */
.zen-fab-container {
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: flex-end;
}
.zen-fab-main {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--accent-red), var(--accent-gold));
    border: none;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 4px 20px rgba(197, 61, 67, 0.4);
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}
.zen-fab-main:hover {
    transform: scale(1.1);
    box-shadow: 0 8px 30px rgba(197, 61, 67, 0.5);
}
.zen-fab-main::before {
    content: '☯';
    font-size: 28px;
    color: white;
    transition: all 0.3s ease;
}
.zen-fab-main.active::before {
    content: '×';
    font-size: 32px;
}
.zen-fab-menu {
    display: flex;
    flex-direction: column;
    gap: 10px;
    opacity: 0;
    pointer-events: none;
    transform: translateY(20px);
    transition: all 0.3s ease;
}
.zen-fab-menu.active {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}
.zen-fab-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 20px;
    background: rgba(247, 243, 238, 0.95);
    backdrop-filter: blur(10px);
    border-radius: 30px;
    border: 1px solid rgba(184, 134, 11, 0.2);
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}
.zen-fab-item:hover {
    background: white;
    transform: translateX(-5px);
    border-color: var(--accent-gold);
}
.zen-fab-item-icon {
    font-size: 18px;
}
.zen-fab-item-label {
    font-size: 12px;
    letter-spacing: 2px;
    color: var(--text-primary);
    white-space: nowrap;
}
@media (max-width: 768px) {
    .zen-fab-container {
        bottom: 20px;
        right: 20px;
    }
    .zen-fab-main {
        width: 50px;
        height: 50px;
    }
    .zen-fab-item-label {
        display: none;
    }
}

/* ═══════════════════════════════════════════════════
   正念提醒系统 (2026-04-16 战略迭代)
   ═══════════════════════════════════════════════════ */
.zen-mindfulness-reminder {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.9);
    background: rgba(247, 243, 238, 0.98);
    backdrop-filter: blur(20px);
    padding: 40px 60px;
    border-radius: 20px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
    z-index: 99998;
    text-align: center;
    opacity: 0;
    pointer-events: none;
    transition: all 0.5s ease;
    border: 1px solid rgba(184, 134, 11, 0.2);
}
.zen-mindfulness-reminder.active {
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%, -50%) scale(1);
}
.zen-mindfulness-breath {
    width: 80px;
    height: 80px;
    margin: 0 auto 20px;
    position: relative;
}
.zen-mindfulness-breath-circle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60px;
    height: 60px;
    border-radius: 50%;
    border: 2px solid var(--accent-gold);
    animation: mindfulnessBreathe 8s ease-in-out infinite;
}
.zen-mindfulness-breath-circle::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(184, 134, 11, 0.2);
    animation: mindfulnessBreathe 8s ease-in-out infinite 0.5s;
}
@keyframes mindfulnessBreathe {
    0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: 0.6; }
    25% { transform: translate(-50%, -50%) scale(1.3); opacity: 1; }
    50% { transform: translate(-50%, -50%) scale(1.3); opacity: 1; }
    75% { transform: translate(-50%, -50%) scale(1); opacity: 0.6; }
}
.zen-mindfulness-text {
    font-size: 16px;
    letter-spacing: 4px;
    color: var(--text-primary);
    margin-bottom: 10px;
}
.zen-mindfulness-subtext {
    font-size: 12px;
    color: var(--text-secondary);
    letter-spacing: 2px;
}
.zen-mindfulness-close {
    position: absolute;
    top: 15px;
    right: 15px;
    background: none;
    border: none;
    font-size: 20px;
    cursor: pointer;
    color: var(--text-secondary);
    padding: 5px;
}

/* ═══════════════════════════════════════════════════
   视觉层次增强 (2026-04-16 战略迭代)
   ═══════════════════════════════════════════════════ */
.zen-section-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    padding: 60px 0;
    opacity: 0.6;
}
.zen-section-divider-line {
    flex: 1;
    max-width: 200px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--text-secondary), transparent);
}
.zen-section-divider-symbol {
    font-size: 20px;
    color: var(--accent-gold);
    letter-spacing: 10px;
}
.zen-content-card {
    background: rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(184, 134, 11, 0.15);
    border-radius: 12px;
    padding: 30px;
    transition: all 0.3s ease;
}
.zen-content-card:hover {
    background: rgba(255, 255, 255, 0.7);
    border-color: rgba(184, 134, 11, 0.3);
    box-shadow: 0 8px 30px rgba(184, 134, 11, 0.1);
}

/* ═══════════════════════════════════════════════════
   夜间模式 (2026-04-16 战略迭代)
   ═══════════════════════════════════════════════════ */
body.dark-mode {
    --bg-color: #1a1815;
    --section-alt-bg: #2d2b28;
    --text-primary: #e8e4de;
    --text-secondary: #8a847d;
    --text-tertiary: #a8a29c;
    --card-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}
body.dark-mode .zen-nav {
    background-color: rgba(26, 24, 21, 0.92);
}
body.dark-mode .zen-content-card {
    background: rgba(45, 43, 40, 0.5);
    border-color: rgba(184, 134, 11, 0.2);
}
body.dark-mode .zen-content-card:hover {
    background: rgba(45, 43, 40, 0.7);
}



/* =============================================
   一圆万象 · Unified Zen Orb (2026-04-17 战略迭代)
   ============================================= */
.zen-orb {
    position: fixed;
    bottom: 32px;
    right: 32px;
    z-index: 9998;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.zen-orb-breath-ring {
    position: absolute;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    border: 1.5px solid rgba(197, 61, 67, 0.25);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    animation: zenOrbBreath 4s ease-in-out infinite;
    pointer-events: none;
}
@keyframes zenOrbBreath {
    0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: 0.4; }
    50% { transform: translate(-50%, -50%) scale(1.3); opacity: 0.1; }
}
.zen-orb-core {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--accent-red) 0%, #8B3A4A 100%);
    border: 2px solid rgba(255,255,255,0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 2px 12px rgba(197,61,67,0.35);
    transition: all 0.4s cubic-bezier(0.4,0,0.2,1);
    position: relative;
    z-index: 2;
}
.zen-orb-core:hover {
    transform: scale(1.08);
    box-shadow: 0 4px 20px rgba(197,61,67,0.5);
}
.zen-orb-core:focus-visible {
    outline: 2px solid var(--accent-gold);
    outline-offset: 3px;
}
.zen-orb-glyph {
    color: rgba(247,243,238,0.9);
    font-size: 18px;
    font-family: var(--serif);
    letter-spacing: 1px;
    transition: transform 0.3s ease;
}
.zen-orb.open .zen-orb-glyph {
    transform: rotate(180deg);
}
.zen-orb-menu {
    position: absolute;
    bottom: 58px;
    right: 0;
    background: rgba(45,43,40,0.95);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-radius: 12px;
    padding: 8px 0;
    min-width: 160px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.3);
    opacity: 0;
    transform: translateY(8px) scale(0.95);
    pointer-events: none;
    transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
    border: 1px solid rgba(255,255,255,0.08);
}
.zen-orb.open .zen-orb-menu {
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
}
.zen-orb-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 16px;
    cursor: pointer;
    transition: background 0.2s ease;
    white-space: nowrap;
}
.zen-orb-item:hover {
    background: rgba(255,255,255,0.08);
}
.zen-orb-item-icon {
    font-size: 16px;
    color: rgba(247,243,238,0.6);
    width: 20px;
    text-align: center;
}
.zen-orb-item-label {
    font-size: 13px;
    color: rgba(247,243,238,0.85);
    letter-spacing: 1px;
    font-family: var(--serif);
}

/* =============================================
   当下之境 · Hero CTA Refinement (2026-04-17)
   ============================================= */
.hero-ctas-refined {
    gap: 16px;
}
.hero-cta-ghost {
    background: transparent !important;
    border: 1px solid rgba(247,243,238,0.25) !important;
    color: rgba(247,243,238,0.7) !important;
    box-shadow: none !important;
}
.hero-cta-ghost:hover {
    border-color: rgba(247,243,238,0.5) !important;
    color: rgba(247,243,238,0.95) !important;
    background: rgba(247,243,238,0.06) !important;
    transform: translateY(-1px);
}
.hero-breath-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 24px;
    padding: 10px 28px;
    border: 1px solid rgba(247,243,238,0.15);
    border-radius: 40px;
    background: rgba(247,243,238,0.04);
    color: rgba(247,243,238,0.55);
    font-family: var(--serif);
    font-size: 13px;
    letter-spacing: 2px;
    cursor: pointer;
    transition: all 0.4s ease;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.hero-breath-cta:hover {
    border-color: rgba(247,243,238,0.3);
    color: rgba(247,243,238,0.85);
    background: rgba(247,243,238,0.08);
    transform: translateY(-1px);
}
.hbc-icon {
    font-size: 14px;
    opacity: 0.7;
}
.hbc-text {
    letter-spacing: 2px;
}

/* Time-aware hero gradient */
.hero-time-dawn { background: linear-gradient(180deg, #3D2B2B 0%, #1a1512 100%) !important; }
.hero-time-morning { background: linear-gradient(180deg, #2B3030 0%, #1a1815 100%) !important; }
.hero-time-noon { background: linear-gradient(180deg, #1a1815 0%, #2B2520 100%) !important; }
.hero-time-afternoon { background: linear-gradient(180deg, #2B2820 0%, #1a1815 100%) !important; }
.hero-time-evening { background: linear-gradient(180deg, #2B2025 0%, #1a1512 100%) !important; }
.hero-time-night { background: linear-gradient(180deg, #151218 0%, #0d0a0f 100%) !important; }

/* Dark mode adjustments */
body.dark-mode .zen-orb-core {
    background: linear-gradient(135deg, #C53D43 0%, #D4756A 100%);
}
body.dark-mode .zen-orb-menu {
    background: rgba(26,24,21,0.95);
}

@media (max-width: 768px) {
    .zen-orb { bottom: 20px; right: 20px; }
    .zen-orb-core { width: 42px; height: 42px; }
    .zen-orb-breath-ring { width: 52px; height: 52px; }
    .zen-orb-menu { min-width: 140px; }
    .hero-breath-cta { font-size: 12px; padding: 8px 20px; }
}
