/* ===== 全局重置 ===== */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html,body{width:100%;height:100%;overflow:hidden;background:#0a0a0a;font-family:"PingFang SC","Microsoft YaHei","STHeiti",sans-serif;color:#e8e0d0;user-select:none;-webkit-tap-highlight-color:transparent}
button{font-family:inherit;cursor:pointer;border:none;outline:none;background:none;color:inherit}
.hidden{display:none!important}

/* ===== 游戏容器 ===== */
#game-container{width:100%;height:100%;position:relative;max-width:600px;margin:0 auto;overflow:hidden}
.screen{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center}
.screen.active{display:flex}

/* ===== 启动画面 ===== */
#screen-splash{background:linear-gradient(180deg,#1a1a2e 0%,#16213e 50%,#0f3460 100%)}
.splash-content{text-align:center;animation:fadeIn 2s ease}
.game-title{font-size:3.5rem;font-weight:200;letter-spacing:0.8rem;color:#e8d5a0;text-shadow:0 0 30px rgba(232,213,160,0.3);margin-bottom:0.5rem}
.game-subtitle{font-size:1.2rem;letter-spacing:0.5rem;color:#a08060;margin-bottom:2rem}
.splash-divider{width:2px;height:40px;background:linear-gradient(180deg,transparent,#a08060,transparent);margin:0 auto 2rem}
.game-desc{font-size:0.85rem;color:#807060;margin-bottom:3rem;letter-spacing:0.1rem}
.btn-primary{background:linear-gradient(135deg,#3a2a1a,#5a3a20);color:#e8d5a0;padding:0.8rem 2.5rem;font-size:1rem;letter-spacing:0.2rem;border:1px solid #6a4a30;border-radius:2px;transition:all 0.3s;margin:0.5rem}
.btn-primary:hover{background:linear-gradient(135deg,#4a3a2a,#6a4a30);box-shadow:0 0 20px rgba(232,213,160,0.2)}
.btn-secondary{color:#807060;padding:0.6rem 2rem;font-size:0.9rem;letter-spacing:0.2rem;border:1px solid #3a2a1a;border-radius:2px;margin:0.5rem;transition:all 0.3s}
.btn-secondary:hover{color:#a09080;border-color:#5a4a30}
.splash-hint{font-size:0.75rem;color:#504030;margin-top:1rem}

/* ===== 序章：三段式沉浸入口 ===== */
#screen-prologue{background:#000;overflow:hidden}

/* 环境层 */
#prologue-env{position:absolute;inset:0;z-index:0}
#prologue-sky{position:absolute;inset:0;transition:background 2s ease}
#prologue-particles{position:absolute;inset:0;pointer-events:none;overflow:hidden}
#prologue-fog{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity 2s ease}
#prologue-vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 200px 60px rgba(0,0,0,0.8);z-index:5}

/* === 第一段：天台 === */
.prologue-stage-0-bg{background:linear-gradient(180deg,#0a0a18 0%,#12122a 30%,#1a1830 60%,#0a0a0a 100%)}
#prologue-sky.stage-0{background:linear-gradient(180deg,#0a0a18 0%,#12122a 30%,#1a1830 60%,#0a0a0a 100%)}

/* 星星 */
.star{position:absolute;width:2px;height:2px;background:#e8e0d0;border-radius:50%;animation:twinkle 3s ease-in-out infinite}
.star.bright{width:3px;height:3px;box-shadow:0 0 4px rgba(232,224,208,0.8)}

/* 城市灯火 */
.city-light{position:absolute;bottom:15%;width:100%;height:30%;background-image:radial-gradient(circle at 15% 80%,rgba(200,160,60,0.3) 1px,transparent 2px),radial-gradient(circle at 25% 70%,rgba(200,140,40,0.2) 1px,transparent 2px),radial-gradient(circle at 40% 85%,rgba(180,120,40,0.25) 1px,transparent 2px),radial-gradient(circle at 55% 75%,rgba(200,160,60,0.2) 1px,transparent 2px),radial-gradient(circle at 70% 80%,rgba(180,140,40,0.3) 1px,transparent 2px),radial-gradient(circle at 85% 70%,rgba(200,160,60,0.2) 1px,transparent 2px);background-size:200px 100px;animation:cityFlicker 4s ease-in-out infinite}

/* 天台栏杆 */
.rooftop-rail{position:absolute;bottom:10%;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,rgba(80,70,50,0.4) 20%,rgba(80,70,50,0.4) 80%,transparent);box-shadow:0 -1px 0 rgba(60,50,30,0.2)}

/* === 第二段：坠落 === */
#prologue-sky.stage-1{background:radial-gradient(ellipse at 50% 50%,#1a1020 0%,#0a0510 40%,#000 100%);animation:fallingBg 4s ease-in forwards}

.falling-vortex{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:300px;height:300px;pointer-events:none;opacity:0;animation:vortexAppear 1s ease 0.5s forwards}
.vortex-ring{position:absolute;top:50%;left:50%;border-radius:50%;border:1px solid rgba(180,140,80,0.15);transform:translate(-50%,-50%)}
.vortex-ring.r1{width:100px;height:100px;animation:vortexSpin 3s linear infinite,vortexExpand 4s ease-in forwards}
.vortex-ring.r2{width:200px;height:200px;animation:vortexSpin 4s linear infinite reverse,vortexExpand 4s ease-in 0.3s forwards}
.vortex-ring.r3{width:300px;height:300px;animation:vortexSpin 5s linear infinite,vortexExpand 4s ease-in 0.6s forwards}

/* 坠落粒子 */
.fall-particle{position:absolute;width:2px;height:2px;background:rgba(200,180,120,0.4);border-radius:50%;animation:fallStreak 2s linear infinite}

/* === 第三段：龙场醒来 === */
#prologue-sky.stage-2{background:linear-gradient(180deg,#1a1a08 0%,#1a2010 20%,#0f1808 50%,#0a0e05 100%);animation:longchangRise 3s ease-out forwards}

.arrival-ground{position:absolute;bottom:0;left:0;right:0;height:35%;background:linear-gradient(180deg,transparent,rgba(30,25,10,0.6) 30%,rgba(15,12,5,0.9) 100%);animation:groundRise 3s ease-out forwards}

.arrival-fog-drift{position:absolute;inset:0;background:radial-gradient(ellipse at 30% 70%,rgba(120,110,80,0.12),transparent 50%),radial-gradient(ellipse at 70% 60%,rgba(100,90,70,0.1),transparent 60%);animation:fogDrift 8s ease-in-out infinite}

/* 龙场虫萤 */
.firefly{position:absolute;width:3px;height:3px;background:rgba(200,220,100,0.6);border-radius:50%;box-shadow:0 0 6px rgba(200,220,100,0.4);animation:fireflyFloat 6s ease-in-out infinite}

/* === 通用序章文字 === */
.prologue-stage{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:flex-start;z-index:10;padding-top:16vh}
.prologue-stage.active{display:flex}
.prologue-text{max-width:82%;max-height:68vh;overflow-y:auto;text-align:center;line-height:2.2;font-size:0.95rem;color:#a09080;position:relative;z-index:2;padding-bottom:20vh}
.prologue-text p{margin-bottom:1.4rem;opacity:0;animation:fadeUp 1.2s ease forwards}
.prologue-text p.emphasis{color:#e8d5a0;font-size:1.1rem;letter-spacing:0.1rem;text-shadow:0 0 12px rgba(232,213,160,0.15)}
.prologue-text p.whisper{color:#605848;font-size:0.8rem;font-style:italic}
.prologue-text p.divider{color:#403828;letter-spacing:1rem;font-size:0.7rem}

/* 第三段文字调整 */
#prologue-stage-2 .prologue-text{color:#8a8060}
#prologue-stage-2 .prologue-text p.emphasis{color:#c8b880;text-shadow:0 0 10px rgba(200,184,128,0.2)}

/* 继续按钮 */
.btn-continue{position:absolute;bottom:8vh;left:50%;transform:translateX(-50%);z-index:50;display:block;animation:fadeIn 1.5s ease;padding:0.7rem 2rem;background:rgba(10,10,10,0.6);border:1px solid rgba(120,100,60,0.4);color:#e8d5a0;font-size:0.9rem;letter-spacing:0.2rem;border-radius:2px;transition:all 0.3s}
.btn-continue.hidden{display:block!important;opacity:0;pointer-events:none}
.btn-continue:hover,.btn-continue:active{background:rgba(40,30,20,0.9);box-shadow:0 0 20px rgba(232,213,160,0.2)}
.btn-continue::after{content:'';display:block;width:30px;height:1px;background:rgba(160,140,100,0.3);margin:0.5rem auto;animation:pulse 2s ease-in-out infinite}

/* 序章进度圆点 + 阶段提示 */
.prologue-progress{position:absolute;top:7vh;left:50%;transform:translateX(-50%);display:flex;gap:10px;z-index:40}
.prologue-progress-dot{width:8px;height:8px;border-radius:50%;background:rgba(160,140,100,0.22);transition:all .35s ease}
.prologue-progress-dot.active{background:rgba(232,213,160,0.95);box-shadow:0 0 10px rgba(232,213,160,0.55);transform:scale(1.25)}
.prologue-stage-hint{position:absolute;top:10.5vh;left:50%;transform:translateX(-50%);z-index:40;color:rgba(232,213,160,0.62);font-size:0.75rem;letter-spacing:0.2rem;margin:0}
.prologue-stage-tip{position:absolute;bottom:11.5vh;left:50%;transform:translateX(-50%);z-index:40;color:rgba(205,195,175,0.5);font-size:0.72rem;letter-spacing:0.05rem;margin:0;text-align:center;padding:0 1.2rem;max-width:90%}

/* ===== 龙场主场景 ===== */
#screen-longchang{background:#1a1a1a}
#env-layer{position:absolute;inset:0;overflow:hidden}
#sky-layer{position:absolute;inset:0;transition:background 3s ease}
#fog-layer{position:absolute;inset:0;pointer-events:none;opacity:0.3;transition:opacity 3s ease}
#scene-layer{position:absolute;bottom:0;left:0;right:0;height:60%;pointer-events:none}
#weather-layer{position:absolute;inset:0;pointer-events:none}

/* 环境主题色 */
.env-dawn{background:linear-gradient(180deg,#3a3020 0%,#5a4a30 40%,#4a3a20 70%,#2a2010 100%)}
.env-noon{background:linear-gradient(180deg,#4a4a3a 0%,#5a5a3a 50%,#3a3a2a 100%)}
.env-dusk{background:linear-gradient(180deg,#4a2a1a 0%,#6a3a20 30%,#3a2010 70%,#1a1008 100%)}
.env-night{background:linear-gradient(180deg,#0a0a1a 0%,#1a1a2a 40%,#0a0a0a 100%)}
.env-meditate{background:linear-gradient(180deg,#1a1a1a 0%,#2a2520 50%,#0a0805 100%)}

/* 雾气 */
.fog-heavy{background:radial-gradient(ellipse at 50% 60%,rgba(180,170,150,0.15),transparent 70%);opacity:0.6}
.fog-light{background:radial-gradient(ellipse at 50% 60%,rgba(180,170,150,0.08),transparent 70%);opacity:0.3}

/* 龙场场景动态元素 */
.scene-dawn-mist{position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(150,140,110,0.06) 70%,rgba(120,110,80,0.1) 100%);animation:fogDrift 12s ease-in-out infinite}
.scene-noon-heat{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 30%,rgba(200,180,100,0.05),transparent 60%);animation:breathe 6s ease-in-out infinite}
.scene-dusk-leaf{position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(120,80,40,0.06) 80%,rgba(80,50,20,0.1) 100%);animation:fogDrift 8s ease-in-out infinite}
.scene-firefly{position:absolute;width:3px;height:3px;background:rgba(200,220,100,0.5);border-radius:50%;box-shadow:0 0 6px rgba(200,220,100,0.3);animation:fireflyFloat 6s ease-in-out infinite}

/* HUD */
#hud-layer{position:absolute;inset:0;pointer-events:none;z-index:10}
.hud-top{position:absolute;top:0;left:0;right:0;padding:0.8rem 1rem;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(180deg,rgba(0,0,0,0.5),transparent)}
.day-display{display:flex;align-items:center;gap:0.3rem}
.day-label{font-size:0.8rem;color:#807060}
.day-number{font-size:1.2rem;color:#e8d5a0;font-weight:300}
.day-phase{font-size:0.8rem;color:#a09080;margin-left:0.5rem;padding:0.2rem 0.6rem;background:rgba(0,0,0,0.3);border-radius:2px}

.phase-progress{display:flex;align-items:center;gap:0.2rem}
.phase-dot{width:20px;height:20px;border-radius:50%;background:rgba(255,255,255,0.1);display:flex;align-items:center;justify-content:center;font-size:0.6rem;color:#504030;transition:all 0.3s}
.phase-dot.active{background:rgba(232,213,160,0.3);color:#e8d5a0}
.phase-line{width:12px;height:1px;background:rgba(255,255,255,0.1)}

/* 生存指标 */
.hud-survival{position:absolute;top:3.5rem;left:1rem;display:flex;flex-direction:column;gap:0.5rem}
.survival-item{display:flex;align-items:center;gap:0.4rem}
.survival-icon{font-size:0.7rem;color:#605040;width:1.2rem;text-align:center}
.survival-bar{width:60px;height:6px;background:rgba(0,0,0,0.4);border-radius:3px;overflow:hidden}
.survival-fill{height:100%;border-radius:3px;transition:width 1s ease}
#survival-hunger{background:linear-gradient(90deg,#8a6a30,#caa050)}
#survival-warmth{background:linear-gradient(90deg,#8a3a20,#ca5a30)}
#survival-health{background:linear-gradient(90deg,#3a6a3a,#5aa05a)}

/* 念头云 */
#thought-cloud{position:absolute;top:3.5rem;right:0.5rem;width:140px;max-height:300px;background:rgba(10,10,10,0.7);border:1px solid rgba(100,80,60,0.3);border-radius:4px;padding:0.5rem;overflow-y:auto;pointer-events:auto}
.thought-cloud-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:0.4rem;padding-bottom:0.3rem;border-bottom:1px solid rgba(100,80,60,0.2)}
.thought-title{font-size:0.7rem;color:#806040}
.thought-count{font-size:0.7rem;color:#a08060;background:rgba(100,80,60,0.2);padding:0 0.4rem;border-radius:8px}
.thought-list{display:flex;flex-direction:column;gap:0.3rem}
.thought-item{padding:0.3rem 0.5rem;border-radius:3px;font-size:0.65rem;line-height:1.4;animation:thoughtAppear 0.5s ease}
.thought-obsession{background:rgba(120,40,30,0.3);color:#ca7a5a;border-left:2px solid #8a3a20}
.thought-turning{background:rgba(150,120,40,0.3);color:#caa050;border-left:2px solid #8a6a20}
.thought-resolved{background:rgba(100,140,100,0.2);color:#8aaa8a;border-left:2px solid #3a6a3a}

/* 心力 */
.hud-heart{position:absolute;bottom:5.5rem;left:1rem;display:flex;align-items:center;gap:0.4rem}
.heart-label{font-size:0.7rem;color:#605040}
.heart-bar{width:80px;height:6px;background:rgba(0,0,0,0.4);border-radius:3px;overflow:hidden}
.heart-fill{height:100%;background:linear-gradient(90deg,#5a3a5a,#aa6aaa);border-radius:3px;transition:width 0.5s ease}

/* 交互菜单 */
#interaction-layer{position:absolute;bottom:0;left:0;right:0;padding:1rem;z-index:20}
.action-menu{display:flex;flex-direction:column;gap:0.5rem;align-items:center}
.action-btn{background:rgba(20,15,10,0.8);color:#a09080;padding:0.6rem 1.5rem;font-size:0.85rem;letter-spacing:0.15rem;border:1px solid rgba(80,60,40,0.4);border-radius:2px;transition:all 0.3s;width:80%;max-width:280px}
.action-btn:hover,.action-btn:active{background:rgba(40,30,20,0.9);color:#e8d5a0;border-color:rgba(120,100,60,0.5)}

/* 消息提示 */
.message-toast{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(10,10,10,0.9);color:#e8d5a0;padding:1rem 1.5rem;border-radius:4px;font-size:0.9rem;text-align:center;max-width:80%;z-index:50;opacity:0;pointer-events:none;transition:opacity 0.3s;border:1px solid rgba(100,80,60,0.3)}
.message-toast.show{opacity:1}

/* ===== 石棺冥想（重构：念头汇聚人形） ===== */
#screen-meditation{background:linear-gradient(180deg,#060504 0%,#120e0a 50%,#060403 100%);overflow:hidden}
.meditation-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,rgba(40,35,25,0.25),transparent 60%);animation:breathe 5s ease-in-out infinite}

/* 中央打坐人形 */
.meditation-figure{position:absolute;top:42%;left:50%;transform:translate(-50%,-50%);width:140px;height:200px;z-index:5;pointer-events:none;transition:all 1.5s ease}
.figure-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:200px;height:200px;background:radial-gradient(circle,rgba(232,213,160,0.12),transparent 60%);opacity:0;transition:opacity 2s ease}
.figure-head{position:absolute;top:0;left:50%;transform:translateX(-50%);width:38px;height:38px;background:radial-gradient(circle at 40% 35%,#e8d5a0,#8a7a40);border-radius:50%;opacity:0.1;transition:opacity 1.5s ease,box-shadow 1.5s ease}
.figure-body{position:absolute;top:42px;left:50%;transform:translateX(-50%);width:80px;height:80px;background:linear-gradient(180deg,#a09060,#5a4a30);border-radius:40px 40px 20px 20px;clip-path:polygon(20% 0,80% 0,100% 100%,0 100%);opacity:0.1;transition:opacity 1.5s ease}
.figure-arms{position:absolute;top:54px;left:50%;transform:translateX(-50%);width:100px;height:50px;background:transparent;border:3px solid #8a7a40;border-radius:50px;border-top:none;border-left-color:rgba(232,213,160,0.4);border-right-color:rgba(232,213,160,0.4);opacity:0.1;transition:opacity 1.5s ease}
.figure-legs{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:90px;height:45px;background:linear-gradient(180deg,#6a5a3a,#3a2a1a);clip-path:polygon(0 0,100% 0,80% 100%,20% 100%);border-radius:0 0 45% 45%;opacity:0.1;transition:opacity 1.5s ease}

/* 人形进度阶级 */
.figure-stage-0 .figure-head,.figure-stage-0 .figure-body,.figure-stage-0 .figure-arms,.figure-stage-0 .figure-legs{opacity:0.05}
.figure-stage-1 .figure-head{opacity:0.3;box-shadow:0 0 8px rgba(232,213,160,0.2)}
.figure-stage-1 .figure-body,.figure-stage-1 .figure-arms,.figure-stage-1 .figure-legs{opacity:0.25}
.figure-stage-2 .figure-head{opacity:0.6;box-shadow:0 0 14px rgba(232,213,160,0.3)}
.figure-stage-2 .figure-body,.figure-stage-2 .figure-arms,.figure-stage-2 .figure-legs{opacity:0.5}
.figure-stage-3 .figure-head{opacity:0.9;box-shadow:0 0 18px rgba(232,213,160,0.5)}
.figure-stage-3 .figure-body,.figure-stage-3 .figure-arms,.figure-stage-3 .figure-legs{opacity:0.8;box-shadow:0 0 12px rgba(232,213,160,0.25)}
.figure-stage-3 .figure-glow{opacity:0.5}
.figure-complete .figure-head{opacity:1;box-shadow:0 0 30px rgba(255,250,224,0.9)}
.figure-complete .figure-body,.figure-complete .figure-arms,.figure-complete .figure-legs{opacity:1;box-shadow:0 0 25px rgba(255,250,224,0.6)}
.figure-complete .figure-glow{opacity:1;background:radial-gradient(circle,rgba(255,250,224,0.4),transparent 60%);animation:figureGlowPulse 2s ease-in-out infinite}
.figure-complete{animation:figureRise 2s ease-out forwards}

/* 念头光点层 */
.thought-particles{position:absolute;inset:0;z-index:8;pointer-events:none}
.thought-dot{position:absolute;width:10px;height:10px;border-radius:50%;cursor:pointer;pointer-events:auto;transition:all 0.3s;box-shadow:0 0 8px currentColor;animation:floatThought 6s ease-in-out infinite}
.thought-dot.obsession{background:radial-gradient(circle,#d06040,#7a2a1a);color:#ca5a3a;width:12px;height:12px;animation:floatThought 5s ease-in-out infinite,thoughtPulse 2s ease-in-out infinite}
.thought-dot.turning{background:radial-gradient(circle,#e0b050,#8a6020);color:#caa050;width:10px;height:10px;animation:floatThought 7s ease-in-out infinite}
.thought-dot:hover{transform:scale(1.3)}
.thought-dot.flying{animation:none;transition:all 1.5s cubic-bezier(0.4,0,0.6,1);transform:translate(var(--fly-x),var(--fly-y)) scale(0.2);opacity:0;pointer-events:none}

/* 念头展开浮层 */
.thought-popup{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:20;width:80%;max-width:320px;background:rgba(15,12,8,0.92);border:1px solid rgba(120,100,60,0.4);border-radius:6px;padding:1.5rem 1.2rem;text-align:center;box-shadow:0 0 30px rgba(0,0,0,0.6);cursor:pointer;animation:fadeIn 0.3s ease}
.thought-popup-text{font-size:0.95rem;line-height:1.8;color:#c8b090;margin-bottom:1rem;letter-spacing:0.05rem}
.thought-popup-hint{font-size:0.75rem;color:#807060;font-style:italic}
.thought-popup.obsession .thought-popup-text{color:#ca7a5a;border-top:2px solid rgba(120,40,30,0.5);padding-top:1rem}
.thought-popup.turning .thought-popup-text{color:#caa050;border-top:2px solid rgba(150,120,40,0.5);padding-top:1rem}

/* 顶部 HUD */
.meditation-hud{position:absolute;top:0;left:0;right:0;z-index:15;display:flex;justify-content:space-between;align-items:center;padding:0.8rem 1rem;background:linear-gradient(180deg,rgba(0,0,0,0.5),transparent)}
.med-stage-label{font-size:0.85rem;color:#a09080;letter-spacing:0.2rem}
.med-progress{display:flex;align-items:center;gap:0.4rem}
.med-progress-label{font-size:0.7rem;color:#605040}
.med-progress-bar{width:80px;height:5px;background:rgba(0,0,0,0.4);border-radius:3px;overflow:hidden}
#meditation-calm-bar{height:100%;background:linear-gradient(90deg,#3a3a5a,#6a8aaa);border-radius:3px;transition:width 0.5s ease}

/* 悟道过场文字 */
.meditation-enlighten-msg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:30;font-size:1rem;line-height:2;color:#e8d5a0;text-align:center;letter-spacing:0.1rem;max-width:80%;text-shadow:0 0 20px rgba(232,213,160,0.5);animation:fadeIn 1s ease}
.btn-meditation-exit{position:absolute;bottom:6vh;left:50%;transform:translateX(-50%);z-index:15;background:rgba(20,15,10,0.7);color:#a09080;padding:0.6rem 2rem;font-size:0.85rem;letter-spacing:0.3rem;border:1px solid rgba(80,60,40,0.4);border-radius:2px;transition:all 0.3s}
.btn-meditation-exit:hover,.btn-meditation-exit:active{color:#e8d5a0;border-color:rgba(120,100,60,0.5)}

/* ===== 年谱碎片闪回 ===== */
#screen-flashback{background:#0a0a0a}
.flashback-bg{position:absolute;inset:0;opacity:0.3;transition:background 1s ease}
.flashback-content{position:relative;z-index:1;width:90%;max-width:400px;text-align:center}
.flashback-scene{font-size:0.95rem;line-height:2;color:#c0b090;margin-bottom:2rem;min-height:150px}
.flashback-scene .scene-emotion{font-style:italic;color:#807060;font-size:0.8rem;margin-top:0.5rem}
.flashback-choices{display:flex;flex-direction:column;gap:0.8rem}
.flashback-choice{background:rgba(30,25,15,0.8);border:1px solid rgba(80,60,40,0.3);color:#a09080;padding:0.8rem 1rem;font-size:0.85rem;border-radius:3px;transition:all 0.3s;text-align:left;line-height:1.5}
.flashback-choice:hover{background:rgba(50,40,25,0.9);color:#e8d5a0;border-color:rgba(120,100,60,0.5)}

/* ===== 心魔对战 ===== */
#screen-demon{background:#1a0a0a}
.demon-bg{position:absolute;inset:0;transition:background 1s ease}
.demon-content{position:relative;z-index:1;width:90%;max-width:450px;display:flex;flex-direction:column;height:100%;padding:1rem 0}
.demon-header{display:flex;justify-content:space-between;align-items:center;padding:0 1rem;margin-bottom:1rem}
.demon-name{font-size:1.5rem;font-weight:300;letter-spacing:0.3rem;color:#ca5a3a}
.demon-obsession-bar{display:flex;align-items:center;gap:0.5rem}
.demon-obsession-label{font-size:0.7rem;color:#604030}
.demon-obsession-track{width:100px;height:8px;background:rgba(0,0,0,0.4);border-radius:4px;overflow:hidden}
.demon-obsession-fill{height:100%;background:linear-gradient(90deg,#5a1a0a,#ca3a1a);border-radius:4px;transition:width 0.5s ease}
.demon-body{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:0 1rem}
.demon-form{width:120px;height:120px;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:center;font-size:3rem;animation:demonPulse 2s ease-in-out infinite}
.demon-dialogue{font-size:0.95rem;line-height:1.8;color:#c0a080;text-align:center;margin-bottom:1.5rem;min-height:80px;animation:fadeIn 0.5s ease}
.demon-choices{display:flex;flex-direction:column;gap:0.6rem;width:100%;max-width:350px}
.demon-choice{background:rgba(20,15,10,0.8);border:1px solid rgba(80,60,40,0.3);color:#a09080;padding:0.7rem 1rem;font-size:0.85rem;border-radius:3px;transition:all 0.2s;text-align:left;line-height:1.5}
.demon-choice:hover{background:rgba(40,30,20,0.9);color:#e8d5a0;border-color:rgba(120,100,60,0.4)}
.demon-choice.six-heart{border-left:3px solid #caa050}
.demon-timer{width:100%;max-width:300px;height:3px;background:rgba(0,0,0,0.3);border-radius:2px;margin-top:0.5rem;overflow:hidden}
.demon-timer-fill{height:100%;background:#ca5a3a;transition:width 0.1s linear;border-radius:2px}

/* ===== 悟道·心法合成 ===== */
#screen-enlightenment{background:#f8f8f5}
.enlightenment-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 30%,rgba(255,250,240,1),rgba(240,235,220,0.8) 60%,rgba(220,210,190,0.4) 100%)}
.enlightenment-content{position:relative;z-index:1;width:90%;max-width:450px;text-align:center;display:flex;flex-direction:column;align-items:center;height:100%;padding:2rem 0}
.lamp-container{margin-bottom:1rem}
.lamp{width:40px;height:40px;border-radius:50%;background:radial-gradient(circle,#fffae0,#caa050);box-shadow:0 0 20px rgba(255,250,224,0.5);transition:all 1s ease;margin:0 auto}
.lamp.bright{width:60px;height:60px;box-shadow:0 0 60px rgba(255,250,224,0.8)}
.lamp.blazing{width:80px;height:80px;box-shadow:0 0 100px rgba(255,250,224,1)}
.enlight-title{font-size:1.3rem;font-weight:300;letter-spacing:0.5rem;color:#5a4a30;margin-bottom:0.5rem}
.enlight-hint{font-size:0.8rem;color:#8a7a5a;margin-bottom:1.5rem}
.shard-pool{display:flex;flex-wrap:wrap;gap:0.5rem;justify-content:center;margin-bottom:1.5rem;min-height:100px;padding:0 0.5rem}
.shard{padding:0.5rem 0.8rem;border-radius:3px;font-size:0.7rem;cursor:pointer;transition:all 0.3s;line-height:1.4;max-width:140px}
.shard:hover{transform:scale(1.05)}
.shard-chronicle{background:rgba(200,170,100,0.15);border:1px solid rgba(200,170,100,0.4);color:#8a7a40}
.shard-vein{background:rgba(220,180,50,0.15);border:1px solid rgba(220,180,50,0.4);color:#8a7a20}
.shard-demon{background:rgba(150,180,180,0.15);border:1px solid rgba(150,180,180,0.4);color:#4a6a6a}
.shard.selected{opacity:0.4;pointer-events:none}
.shard-pair{box-shadow:0 0 10px rgba(232,213,160,0.5)}
.dharma-display{min-height:120px;width:100%;display:flex;flex-direction:column;gap:0.5rem;align-items:center;margin-bottom:1rem}
.dharma-line{font-size:0.9rem;line-height:1.8;color:#3a2a1a;text-align:center;animation:fadeIn 0.5s ease;max-width:90%}
.dharma-line.past{color:#6a5a30}
.dharma-line.transformation{color:#5a4a20}
.dharma-line.future{color:#3a2a1a;font-weight:500}
.enlight-actions{margin-top:1rem;display:flex;flex-direction:column;gap:0.5rem;align-items:center}
#btn-confirm-dharma{background:linear-gradient(135deg,#5a4a30,#8a7a50);color:#f8f5e8}
#btn-skip-dharma{color:#8a7a5a;border:1px solid rgba(138,122,90,0.3)}

/* ===== 结局 ===== */
#screen-ending{background:#0a0a0a}
.ending-bg{position:absolute;inset:0;transition:background 2s ease}
.ending-bg.perfect{background:linear-gradient(180deg,#1a1a0a 0%,#3a3a1a 30%,#5a5a2a 60%,#8a8a4a 100%)}
.ending-bg.half{background:linear-gradient(180deg,#1a1a1a 0%,#2a2a2a 50%,#3a3a3a 100%)}
.ending-bg.bitter{background:linear-gradient(180deg,#0a0a0a 0%,#1a1a1a 30%,#2a1a1a 100%)}
.ending-bg.unenlightened{background:#e8e8e0}
.ending-content{position:relative;z-index:1;text-align:center;width:90%;max-width:400px;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}
.ending-dharma{font-size:1rem;line-height:2.2;color:#e8d5a0;margin-bottom:2rem;font-weight:300;letter-spacing:0.05rem;max-width:90%}
.ending-dharma.unenlightened{color:#8a7a5a;font-style:italic}
.ending-stats{font-size:0.75rem;color:#807060;margin-bottom:2rem;line-height:1.8;border-top:1px solid rgba(100,80,60,0.2);border-bottom:1px solid rgba(100,80,60,0.2);padding:1rem 0;width:100%}
.ending-actions{display:flex;flex-direction:column;gap:0.5rem;align-items:center}

/* ===== 动画 ===== */
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes thoughtAppear{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:translateX(0)}}
@keyframes breathe{0%,100%{opacity:0.6}50%{opacity:1}}
@keyframes demonPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
@keyframes flicker{0%,100%{opacity:1}50%{opacity:0.7}}

/* 序章专用动画 */
@keyframes twinkle{0%,100%{opacity:0.3}50%{opacity:1}}
@keyframes cityFlicker{0%,100%{opacity:0.6}50%{opacity:0.9}}
@keyframes pulse{0%,100%{opacity:0.3}50%{opacity:0.8}}
@keyframes fallingBg{0%{transform:scale(1)}50%{transform:scale(1.5) translateY(10%);filter:blur(2px)}100%{transform:scale(1)}}
@keyframes vortexAppear{to{opacity:1}}
@keyframes vortexSpin{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes vortexExpand{0%{opacity:0.6}100%{opacity:0;border-width:0.5px}}
@keyframes fallStreak{0%{transform:translateY(-100vh) translateX(0);opacity:0}10%{opacity:0.6}90%{opacity:0.6}100%{transform:translateY(100vh) translateX(20px);opacity:0}}
@keyframes longchangRise{0%{filter:brightness(0.3) blur(8px)}50%{filter:brightness(0.6) blur(4px)}100%{filter:brightness(1) blur(0)}}
@keyframes groundRise{0%{transform:translateY(30px);opacity:0}100%{transform:translateY(0);opacity:1}}
@keyframes fogDrift{0%,100%{transform:translateX(0)}50%{transform:translateX(15px)}}
@keyframes fireflyFloat{0%,100%{transform:translate(0,0);opacity:0.3}25%{transform:translate(15px,-10px);opacity:0.8}50%{transform:translate(-10px,-20px);opacity:0.5}75%{transform:translate(10px,-15px);opacity:0.7}}

/* ===== 滚动条 ===== */
::-webkit-scrollbar{width:3px}
::-webkit-scrollbar-track{background:rgba(0,0,0,0.2)}
::-webkit-scrollbar-thumb{background:rgba(100,80,60,0.3);border-radius:2px}

/* ===== 响应式 ===== */
@media(max-width:400px){
    .game-title{font-size:2.5rem}
    .game-subtitle{font-size:1rem}
    #thought-cloud{width:120px}
    .action-btn{font-size:0.8rem;padding:0.5rem 1rem}
}
@media(max-height:600px){
    .hud-survival{top:3rem}
    #thought-cloud{top:3rem;max-height:200px}
}

/* ===== 视觉增强：启动画面 ===== */
.splash-bg{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none}
.splash-stars{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(232,224,208,0.6) 1px,transparent 1px),radial-gradient(circle,rgba(232,224,208,0.3) 1px,transparent 1px);background-size:80px 80px,120px 120px;background-position:0 0,40px 40px;opacity:0.5;animation:starDrift 60s linear infinite}
.splash-mountains{position:absolute;bottom:0;left:0;right:0;height:45%;z-index:1}
.splash-mountain{position:absolute;bottom:0;width:0;height:0;border-style:solid;opacity:0.4}
.splash-mountain.m1{left:-10%;border-width:0 180px 200px 180px;border-color:transparent transparent #1a1a2e transparent;animation:mountainBreathe 6s ease-in-out infinite}
.splash-mountain.m2{left:30%;border-width:0 220px 260px 220px;border-color:transparent transparent #16213e transparent;animation:mountainBreathe 7s ease-in-out infinite 1s}
.splash-mountain.m3{left:60%;border-width:0 160px 180px 160px;border-color:transparent transparent #0f3460 transparent;animation:mountainBreathe 5s ease-in-out infinite 2s}
.splash-glow{position:absolute;top:30%;left:50%;transform:translateX(-50%);width:200px;height:200px;background:radial-gradient(circle,rgba(232,213,160,0.2),transparent 70%);animation:breathe 4s ease-in-out infinite;z-index:2}
.splash-fog{position:absolute;bottom:0;left:0;right:0;height:30%;background:linear-gradient(180deg,transparent,rgba(10,15,30,0.6));z-index:3}

/* ===== 视觉增强：龙场主场景 ===== */
#distant-mountains{position:absolute;bottom:35%;left:0;right:0;height:25%;background:linear-gradient(135deg,transparent 40%,rgba(60,50,30,0.3) 40%,rgba(60,50,30,0.3) 42%,transparent 42%),linear-gradient(225deg,transparent 55%,rgba(50,40,25,0.3) 55%,rgba(50,40,25,0.3) 57%,transparent 57%),linear-gradient(160deg,transparent 70%,rgba(40,30,20,0.25) 70%,rgba(40,30,20,0.25) 72%,transparent 72%);z-index:2;opacity:0.6;filter:blur(1px)}
#scene-layer{position:absolute;bottom:0;left:0;right:0;height:60%;pointer-events:none;z-index:3}
.longchang-shed{position:absolute;bottom:12%;left:8%;width:90px;height:70px;opacity:0.7}
.longchang-shed .shed-roof{position:absolute;top:0;left:0;width:100%;height:35px;background:linear-gradient(135deg,#3a3020,#2a2015);clip-path:polygon(50% 0,100% 100%,0 100%);border-radius:2px}
.longchang-shed .shed-body{position:absolute;bottom:0;left:8%;width:84%;height:45px;background:linear-gradient(180deg,#4a3a2a,#2a2015);border-radius:2px}
.longchang-shed .shed-door{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:24px;height:32px;background:rgba(20,15,10,0.8);border-radius:1px 1px 0 0}
.longchang-stone-coffin{position:absolute;bottom:10%;right:10%;width:80px;height:30px;opacity:0.6}
.longchang-stone-coffin .coffin-lid{position:absolute;top:0;left:0;width:100%;height:12px;background:linear-gradient(180deg,#5a5a5a,#3a3a3a);border-radius:2px 2px 0 0}
.longchang-stone-coffin .coffin-body{position:absolute;bottom:0;left:5%;width:90%;height:20px;background:linear-gradient(180deg,#4a4a4a,#2a2a2a);border-radius:0 0 2px 2px}
.longchang-stream{position:absolute;bottom:0;left:25%;width:50%;height:8px;background:linear-gradient(90deg,transparent,rgba(100,120,140,0.3),transparent);border-radius:50%;animation:streamShimmer 4s ease-in-out infinite}
.longchang-trees{position:absolute;bottom:0;left:0;right:0;height:100%;pointer-events:none}
.tree{position:absolute;bottom:5%;width:0;height:0;border-style:solid;opacity:0.5}
.tree-1{left:5%;border-width:0 15px 80px 15px;border-color:transparent transparent #1a1510 transparent;animation:treeSway 6s ease-in-out infinite}
.tree-2{left:75%;border-width:0 20px 100px 20px;border-color:transparent transparent #151210 transparent;animation:treeSway 7s ease-in-out infinite 1s}
.tree-3{left:85%;border-width:0 12px 60px 12px;border-color:transparent transparent #1a1510 transparent;animation:treeSway 5s ease-in-out infinite 2s}

/* ===== 视觉增强：石棺冥想 ===== */
.coffin-visual{display:none}
.coffin-stone{display:none}
.candle-flame{display:none}
.meditation-particles{display:none}

/* ===== 视觉增强：年谱闪回 ===== */
.memory-film{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent,transparent 19px,rgba(0,0,0,0.05) 20px),repeating-linear-gradient(0deg,transparent,transparent 19px,rgba(0,0,0,0.05) 20px);opacity:0.4;pointer-events:none}
.memory-dust{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(232,213,160,0.1) 1px,transparent 1px);background-size:30px 30px;animation:dustFloat 10s ease-in-out infinite;pointer-events:none}

/* ===== 视觉增强：心魔对战 ===== */
.demon-aura{position:absolute;inset:0;pointer-events:none;z-index:0;opacity:0.3;background:radial-gradient(circle at 50% 40%,rgba(202,90,58,0.15),transparent 60%);animation:demonAuraPulse 3s ease-in-out infinite}
.demon-form{position:relative;width:120px;height:120px;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:center;font-size:3rem;animation:demonPulse 2s ease-in-out infinite;z-index:2}
.demon-form::before{content:'';position:absolute;inset:-20px;border-radius:50%;border:1px solid rgba(202,90,58,0.2);animation:demonRingPulse 2s ease-in-out infinite}
.demon-form::after{content:'';position:absolute;inset:-40px;border-radius:50%;border:1px solid rgba(202,90,58,0.1);animation:demonRingPulse 2s ease-in-out infinite 0.5s}

/* ===== 视觉增强：悟道 ===== */
.enlightenment-particles{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle,rgba(232,213,160,0.2) 1px,transparent 1px);background-size:40px 40px;animation:particleRise 8s linear infinite;opacity:0.4}
.enlightenment-rays{position:absolute;top:20%;left:50%;transform:translateX(-50%);width:300px;height:300px;background:radial-gradient(circle,rgba(255,250,224,0.15) 0%,transparent 40%,rgba(255,250,224,0.08) 50%,transparent 70%);animation:rayPulse 4s ease-in-out infinite;pointer-events:none}
.lamp{position:relative;z-index:2}

/* ===== 视觉增强：结局 ===== */
.ending-light-rays{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 30%,rgba(232,213,160,0.1),transparent 50%,rgba(232,213,160,0.05) 70%,transparent 100%);animation:rayPulse 6s ease-in-out infinite}
.ending-particles{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle,rgba(232,213,160,0.2) 1px,transparent 1px);background-size:50px 50px;animation:particleRise 10s linear infinite;opacity:0.3}

/* ===== 新增动画 ===== */
@keyframes starDrift{from{background-position:0 0,40px 40px}to{background-position:80px 80px,120px 120px}}
@keyframes mountainBreathe{0%,100%{opacity:0.3}50%{opacity:0.6}}
@keyframes streamShimmer{0%,100%{opacity:0.3;transform:scaleX(1)}50%{opacity:0.6;transform:scaleX(1.1)}}
@keyframes treeSway{0%,100%{transform:rotate(-1deg) translateX(0)}50%{transform:rotate(1deg) translateX(3px)}}
@keyframes flameFlicker{0%,100%{transform:translateX(-50%) scaleY(1);opacity:1}50%{transform:translateX(-50%) scaleY(1.1);opacity:0.8}}
@keyframes dustFloat{0%,100%{transform:translateY(0);opacity:0.3}50%{transform:translateY(-10px);opacity:0.6}}
@keyframes demonAuraPulse{0%,100%{opacity:0.2;transform:scale(1)}50%{opacity:0.4;transform:scale(1.1)}}
@keyframes demonRingPulse{0%,100%{opacity:0.2;transform:scale(1)}50%{opacity:0.6;transform:scale(1.05)}}
@keyframes particleRise{0%{transform:translateY(100vh);opacity:0}20%{opacity:0.5}80%{opacity:0.5}100%{transform:translateY(-100vh);opacity:0}}
@keyframes rayPulse{0%,100%{opacity:0.5;transform:translateX(-50%) scale(1)}50%{opacity:0.8;transform:translateX(-50%) scale(1.1)}}
@keyframes floatThought{0%,100%{transform:translate(0,0)}25%{transform:translate(8px,-12px)}50%{transform:translate(-6px,-20px)}75%{transform:translate(4px,-8px)}}
@keyframes thoughtPulse{0%,100%{box-shadow:0 0 6px currentColor}50%{box-shadow:0 0 16px currentColor}}
@keyframes figureGlowPulse{0%,100%{opacity:0.6;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.15)}}
@keyframes figureRise{0%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-52%) scale(1.05)}100%{transform:translate(-50%,-50%) scale(1.02)}}

/* ===== 音量控制（全局） ===== */
.audio-control{
    position:fixed;top:14px;right:14px;z-index:60;
    display:flex;align-items:center;gap:8px;
    padding:7px 10px;border-radius:22px;
    background:rgba(20,16,12,0.55);
    border:1px solid rgba(232,213,160,0.28);
    backdrop-filter:blur(6px);
    box-shadow:0 4px 16px rgba(0,0,0,0.35);
    user-select:none;
    transition:opacity .4s ease, transform .4s ease;
}
/* 底部版本号 */
.version-tag{
    position:fixed;left:50%;bottom:6px;transform:translateX(-50%);
    z-index:55;font-size:11px;letter-spacing:1px;
    color:rgba(245,237,222,0.35);pointer-events:none;user-select:none;
    font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;
}
.audio-mute-btn{
    width:30px;height:30px;flex:0 0 auto;
    border:none;border-radius:50%;
    background:rgba(232,213,160,0.16);
    color:#e8d5a0;font-size:15px;line-height:1;
    cursor:pointer;transition:background .2s ease, transform .2s ease;
}
.audio-mute-btn:hover{background:rgba(232,213,160,0.32);transform:scale(1.08)}
.audio-mute-btn:active{transform:scale(0.94)}
.volume-wrap{display:flex;align-items:center;gap:6px}
.volume-emoji{font-size:11px;color:rgba(232,213,160,0.7);letter-spacing:0}
.volume-slider{
    -webkit-appearance:none;appearance:none;
    width:96px;height:5px;border-radius:3px;
    background:linear-gradient(90deg,#e8d5a0 60%,rgba(232,213,160,0.25) 60%);
    outline:none;cursor:pointer;
}
.volume-slider::-webkit-slider-thumb{
    -webkit-appearance:none;appearance:none;
    width:15px;height:15px;border-radius:50%;
    background:#e8d5a0;border:2px solid #3a2f1f;
    box-shadow:0 0 6px rgba(232,213,160,0.7);
    cursor:pointer;transition:transform .15s ease;
}
.volume-slider::-webkit-slider-thumb:hover{transform:scale(1.18)}
.volume-slider::-moz-range-thumb{
    width:15px;height:15px;border-radius:50%;
    background:#e8d5a0;border:2px solid #3a2f1f;
    box-shadow:0 0 6px rgba(232,213,160,0.7);
    cursor:pointer;
}
.volume-slider::-moz-range-track{height:5px;border-radius:3px;background:rgba(232,213,160,0.25)}
/* 静音态：按钮变红提示 */
.audio-control.muted .audio-mute-btn{background:rgba(180,80,80,0.35);color:#ffb3b3}
/* 开场前隐藏，避免遮挡 */
.audio-control.hidden{opacity:0;pointer-events:none;transform:translateY(-8px)}

/* =========================================================
   水墨丹青场景系统（v6 · 留白为魂）
   ========================================================= */
/* 水墨底层（保留墨色层次） */
.real-bg{
    position:absolute; inset:0; z-index:0;
    background-size:cover; background-position:center; background-repeat:no-repeat;
    filter:contrast(1.02) brightness(0.96);
    transition:filter 1s ease;
    pointer-events:none;
}
/* 各场景水墨图 */
.bg-splash{background-image:url(../img/scenes/splash.jpg)}
.bg-prologue-roof{background-image:url(../img/scenes/prologue_roof.jpg)}
.bg-prologue-fall{background-image:url(../img/scenes/prologue_fall.jpg)}
.bg-prologue-arrival{background-image:url(../img/scenes/prologue_arrival.jpg)}
.bg-longchang-morning{background-image:url(../img/scenes/longchang_morning.jpg)}
.bg-longchang-noon{background-image:url(../img/scenes/longchang_noon.jpg)}
.bg-longchang-dusk{background-image:url(../img/scenes/longchang_dusk.jpg);filter:brightness(0.94) sepia(0.06)}
.bg-longchang-night{background-image:url(../img/scenes/longchang_night.jpg);filter:brightness(0.82) contrast(1.06)}
.bg-meditation{background-image:url(../img/scenes/meditation_cave1.jpg);filter:brightness(0.88) contrast(1.04)}
/* 冥想洞穴轮播 */
.bg-meditation.cave2{background-image:url(../img/scenes/meditation_cave2.jpg)}
.bg-meditation.cave3{background-image:url(../img/scenes/meditation_cave3.jpg)}
.bg-meditation.cave4{background-image:url(../img/scenes/meditation_cave4.jpg)}
@keyframes caveCrossfade{
    0%{opacity:0}
    15%{opacity:1}
    85%{opacity:1}
    100%{opacity:0}
}
.bg-demon{background-image:url(../img/scenes/demon.jpg);filter:brightness(0.72) contrast(1.12) saturate(0.85)}
.bg-enlightenment{background-image:url(../img/scenes/enlightenment.jpg);filter:brightness(1.02)}
.bg-ending{background-image:url(../img/scenes/ending.jpg);filter:brightness(0.98)}
.bg-flashback{background-image:url(../img/scenes/prologue_arrival.jpg);filter:brightness(0.9)}

/* 极淡暗角（保护留白） */
.scene-vignette{
    position:absolute; inset:0; z-index:2; pointer-events:none;
    background:
        radial-gradient(ellipse at 50% 36%, transparent 35%, rgba(4,3,2,0.18) 100%),
        linear-gradient(to bottom, rgba(4,3,2,0.12) 0%, transparent 30%, transparent 60%, rgba(4,3,2,0.32) 100%);
}
/* 屏内通用暗角 */
#screen-demon::after, #screen-flashback::after{
    content:""; position:absolute; inset:0; z-index:2; pointer-events:none;
    background:radial-gradient(ellipse at 50% 45%, transparent 35%, rgba(4,3,2,0.22) 100%);
}

/* ---- 色罩改为极淡墨调 ---- */
#prologue-sky.stage-0{background:linear-gradient(180deg,rgba(8,10,24,0.28),rgba(12,10,20,0.10) 55%,rgba(4,4,8,0.32))}
#prologue-sky.stage-1{background:radial-gradient(ellipse at 50% 50%,rgba(24,12,28,0.22),rgba(8,4,12,0.30) 55%,rgba(0,0,0,0.40))}
#prologue-sky.stage-2{background:linear-gradient(180deg,rgba(16,18,8,0.22),rgba(14,20,10,0.08) 50%,rgba(6,10,4,0.32))}
#sky-layer.env-dawn{background:linear-gradient(180deg,rgba(70,55,35,0.06),rgba(120,90,55,0.02) 50%,rgba(20,15,10,0.26))}
#sky-layer.env-noon{background:linear-gradient(180deg,rgba(90,75,40,0.02),rgba(20,15,10,0.18))}
#sky-layer.env-dusk{background:linear-gradient(180deg,rgba(130,55,30,0.10),rgba(45,22,15,0.22))}
#sky-layer.env-night{background:linear-gradient(180deg,rgba(15,22,48,0.16),rgba(5,8,20,0.30))}

/* 远景山影（淡墨，不阻挡交互） */
#distant-mountains{opacity:0.12;pointer-events:none}
.splash-mountains{opacity:0.12;pointer-events:none}
/* 悟道/结局色罩（宣纸暖白底） */
.enlightenment-bg{background:radial-gradient(ellipse at 50% 32%,rgba(255,252,245,0.32),rgba(245,240,228,0.14) 60%,transparent 100%)}
.ending-bg.perfect{background:linear-gradient(180deg,rgba(255,248,230,0.22),rgba(220,190,140,0.08))}
.ending-bg.half{background:linear-gradient(180deg,rgba(210,208,215,0.20),rgba(130,130,145,0.10))}
.ending-bg.bitter{background:linear-gradient(180deg,rgba(130,100,75,0.20),rgba(65,45,30,0.10))}
.ending-bg.unenlightened{background:linear-gradient(180deg,rgba(65,65,72,0.24),rgba(32,32,38,0.14)}

/* =========================================================
   SVG 打坐人形（冥想）
   ========================================================= */
.meditation-figure{
    width:158px; height:220px; top:40%;
}
.meditation-figure .fig-svg{
    width:100%; height:100%; overflow:visible;
    filter:drop-shadow(0 8px 16px rgba(0,0,0,0.55));
    transition:opacity 1.5s ease, filter 1.5s ease, transform 1.5s ease;
}
.meditation-figure .fig-halo{opacity:0; transition:opacity 2s ease}
.meditation-figure.figure-stage-0 .fig-svg{opacity:0.12; filter:blur(6px) saturate(0.5); transform:scale(0.92)}
.meditation-figure.figure-stage-1 .fig-svg{opacity:0.34; filter:blur(3.5px) saturate(0.7)}
.meditation-figure.figure-stage-2 .fig-svg{opacity:0.6;  filter:blur(1.8px) saturate(0.9)}
.meditation-figure.figure-stage-3 .fig-svg{opacity:0.9;  filter:blur(0.5px) saturate(1.05)}
.meditation-figure.figure-stage-3 .fig-halo{opacity:0.5}
.meditation-figure.figure-complete .fig-svg{
    opacity:1; filter:drop-shadow(0 0 22px rgba(255,240,200,0.9)) saturate(1.2) brightness(1.08);
}
.meditation-figure.figure-complete .fig-halo{opacity:1; animation:figureGlowPulse 2.4s ease-in-out infinite}

/* 旧 div 人形样式失效（无害保留） */
.figure-glow,.figure-head,.figure-body,.figure-arms,.figure-legs{display:none}

/* =========================================================
   SVG 心魔阴影形象
   ========================================================= */
#demon-form{display:flex; justify-content:center; align-items:center; min-height:200px}
#demon-form svg{
    width:min(62vw,260px); height:auto;
    filter:drop-shadow(0 0 22px rgba(150,25,35,0.65));
    animation:demonFloat 4.2s ease-in-out infinite;
}
@keyframes demonFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-10px) scale(1.02)}}
#demon-form .demon-eye{animation:demonBlink 3.5s ease-in-out infinite}
@keyframes demonBlink{0%,92%,100%{opacity:1}96%{opacity:0.2}}

/* =========================================================
   常驻 NPC 文人剪影（龙场）
   ========================================================= */
.npc-figure{
    position:absolute; bottom:7%; left:7%; width:84px; height:200px; z-index:4;
    opacity:0.85; pointer-events:none;
    filter:drop-shadow(0 8px 12px rgba(0,0,0,0.6));
}
.npc-figure svg{width:100%; height:100%}
.npc-figure.idle{animation:npcSway 6s ease-in-out infinite; transform-origin:bottom center}
@keyframes npcSway{0%,100%{transform:rotate(-1deg)}50%{transform:rotate(1.2deg)}}

/* 今日指引（轻引导常驻小字） */
.day-hint{
    position:absolute; bottom:calc(7rem + 8px); left:50%; transform:translateX(-50%);
    z-index:18; color:rgba(220,205,175,0.6); font-size:0.74rem; letter-spacing:0.04rem;
    text-align:center; padding:0.3rem 0.9rem; max-width:86%;
    background:rgba(10,8,6,0.32); border-radius:20px; border:1px solid rgba(180,160,120,0.15);
    pointer-events:none; user-select:none; backdrop-filter:blur(2px);
}

/* =========================================================
   光粒子线框真实人形（冥想·图片版）
   ========================================================= */
.meditation-figure{
    width:min(72vw, 300px); height:auto; top:38%;
}
.meditation-figure .fig-img{
    width:100%; height:auto;
    object-fit:contain; object-position:center;
    filter:drop-shadow(0 8px 20px rgba(0,0,0,0.7));
    transition:opacity 1.8s ease, filter 2s ease, transform 2s ease;
}
.meditation-figure .fig-halo-overlay{
    position:absolute; inset:-10%; pointer-events:none;
    background:radial-gradient(ellipse at 50% 42%, rgba(255,230,160,0) 40%, transparent 70%);
    opacity:0; transition:opacity 2s ease;
}

/* 阶段过渡：散念→凝聚→悟道 */
.meditation-figure.figure-stage-0 .fig-img{ opacity:0.12; filter:blur(7px) brightness(0.5); transform:scale(0.88) }
.meditation-figure.figure-stage-1 .fig-img{ opacity:0.32; filter:blur(4px) brightness(0.65); transform:scale(0.94) }
.meditation-figure.figure-stage-2 .fig-img{ opacity:0.58; filter:blur(2px) brightness(0.82); transform:scale(0.98) }
.meditation-figure.figure-stage-3 .fig-img{ opacity:0.88; filter:blur(0.4px) brightness(1); transform:scale(1.02) }
.meditation-figure.figure-stage-3 .fig-halo-overlay{ opacity:0.45 }

/* 悟道完成：全亮+光晕脉冲 */
.meditation-figure.figure-complete .fig-img{
    opacity:1;
    filter:drop-shadow(0 0 30px rgba(255,220,140,0.9)) drop-shadow(0 12px 28px rgba(0,0,0,0.55)) brightness(1.15);
    animation:enlightPulse 2.5s ease-in-out infinite;
}
.meditation-figure.figure-complete .fig-halo-overlay{
    opacity:1;
    background:radial-gradient(ellipse at 50% 42%, rgba(255,235,180,0.45) 25%, rgba(255,210,120,0.18) 55%, transparent 75%);
    animation:figureGlowPulse 2s ease-in-out infinite;
}
@keyframes enlightPulse{
    0%,100%{transform:scale(1)}
    50%{transform:scale(1.03)}
}

/* 恢复旧 div 隐藏（兼容） */
.fig-svg,.figure-glow,.figure-head,.figure-body,.figure-arms,.figure-legs{display:none!important}

/* =========================================================
   悟道金影人形（背光剪影）
   ========================================================= */
.enlight-figure{
    position:absolute; bottom:8%; left:50%; transform:translateX(-50%);
    width:min(56vw, 240px); z-index:4;
    opacity:0; transition:opacity 2.5s ease, transform 2.5s ease;
    pointer-events:none;
}
.enlight-figure.active{
    opacity:1; animation:enlightFloat 5s ease-in-out infinite;
}
.enlight-figure img{ width:100%; height:auto; object-fit:contain; filter:drop-shadow(0 0 35px rgba(255,200,80,0.65)) }
@keyframes enlightFloat{
    0%,100%{transform:translateX(-50%) translateY(0)}
    50%{transform:translateX(-50%) translateY(-8px)}
}
