﻿/* V3 情绪陪伴层：场景、氛围、陪伴、功能四层分离。 */
.screen{overflow:hidden;animation:pageArrive .7s ease both}.screen>*:not(.atmosphere-layer){position:relative;z-index:2}
.atmosphere-layer{position:absolute!important;z-index:1!important;inset:0;overflow:hidden;pointer-events:none;opacity:.8}
.atmosphere-layer:before{content:"";position:absolute;width:140%;height:25%;left:-20%;top:8%;background:radial-gradient(ellipse at center,rgba(255,255,255,.55),transparent 68%);filter:blur(12px);animation:cloudDrift 24s ease-in-out infinite alternate}
.atmosphere-layer:after{content:"";position:absolute;width:60%;height:50%;right:-20%;top:16%;background:radial-gradient(circle,rgba(255,235,178,.28),transparent 66%);animation:lightShift 8s ease-in-out infinite alternate}
.atmosphere-layer i{position:absolute;width:5px;height:5px;border-radius:50%;background:rgba(255,239,193,.72);box-shadow:0 0 13px rgba(255,236,173,.85);animation:floatMote 11s linear infinite}.atmosphere-layer i:nth-child(1){left:16%;top:34%}.atmosphere-layer i:nth-child(2){left:76%;top:58%;animation-delay:-4s}.atmosphere-layer i:nth-child(3){left:46%;top:76%;animation-delay:-7s}
.companion-line,.page-whisper{font-size:13px;line-height:1.8;color:#486f6b;margin:20px 0 0;padding-left:14px;border-left:2px solid rgba(201,154,74,.48);max-width:350px}.page-whisper{margin:18px 4px -18px;padding:11px 15px;border:0;border-radius:14px;background:linear-gradient(105deg,rgba(255,250,235,.67),rgba(231,246,242,.52));box-shadow:0 7px 26px rgba(29,79,75,.05)}.page-whisper small,.complete-companion small{display:block;margin-top:4px;color:rgba(72,111,107,.72);font-size:11px;line-height:1.7}
.step-companion{margin:-8px 0 24px}.after-note{font-size:12px;line-height:1.8;color:#77908b;margin:14px 5px 0}.report-companion{max-width:390px}.complete-companion{margin:24px auto 0;text-align:left;max-width:300px}

/* 五心不是说明卡，而是五个自然旅程站点。 */
.journey-stations{overflow:visible;box-shadow:none;gap:12px}.journey-stations .dimension-card{position:relative;overflow:hidden;border-radius:21px!important;border:1px solid rgba(255,255,255,.66)!important;background:linear-gradient(115deg,rgba(251,249,242,.78),rgba(231,244,239,.54))!important;box-shadow:0 12px 34px rgba(29,79,75,.07)!important}.journey-stations .dimension-card:nth-child(even){margin-left:13px}.journey-stations .dimension-card:nth-child(odd){margin-right:13px}.dimension-symbol{width:44px;height:44px;flex:none;border-radius:50%;display:grid;place-items:center;font:22px/1 serif;color:var(--dimension-color);background:color-mix(in srgb,var(--dimension-color) 14%,white);box-shadow:0 7px 20px color-mix(in srgb,var(--dimension-color) 18%,transparent)}.journey-stations small{display:block;color:#8a9c97;font-size:10px;letter-spacing:.12em;margin-bottom:3px}.dimension-yuanxin:after,.dimension-anxin:after,.dimension-shanxin:after,.dimension-dingxin:after,.dimension-huixin:after{content:"";position:absolute;right:-14px;bottom:-18px;width:86px;height:62px;border-radius:50%;opacity:.18}.dimension-yuanxin:after{background:#e9bd66}.dimension-anxin:after{background:repeating-radial-gradient(ellipse,#6eb1c3 0 2px,transparent 3px 9px)}.dimension-shanxin:after{background:radial-gradient(circle at 30% 30%,#e4a566 0 7px,transparent 8px),radial-gradient(circle at 70% 55%,#e4a566 0 5px,transparent 6px)}.dimension-dingxin:after{background:#557f79;clip-path:polygon(0 100%,25% 35%,55% 70%,78% 10%,100% 100%)}.dimension-huixin:after{background:linear-gradient(135deg,transparent 30%,#887aad 31% 35%,transparent 36%)}

/* 少内容页增加场景安放层，而不是用空白填满。 */
.focus-day{padding-top:clamp(42px,7vh,68px)!important}.focus-day h1{margin-bottom:20px}.emotion-scene{position:relative;min-height:265px;border-radius:28px;overflow:hidden;display:flex;align-items:flex-end;padding:22px;margin:5px 0 17px;background-image:linear-gradient(180deg,rgba(20,70,70,.02),rgba(20,70,70,.52)),var(--visual-image);background-size:cover;background-position:center;box-shadow:0 18px 50px rgba(25,73,70,.15)}.emotion-scene:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 40%,rgba(255,239,188,.24));animation:sceneGlow 7s ease-in-out infinite alternate}.emotion-scene span{position:relative;color:#fff;font-family:"STSong","Songti SC",serif;font-size:19px;letter-spacing:.08em;text-shadow:0 2px 16px rgba(12,55,56,.65)}.anchor-note{margin:0;padding:16px 18px;border-radius:4px 18px 18px 4px;border-left:3px solid var(--color-gold);background:linear-gradient(100deg,rgba(255,249,231,.78),rgba(241,247,242,.52));color:#3e6864;font:16px/1.8 "STSong","Songti SC",serif;box-shadow:0 8px 28px rgba(29,79,75,.06)}
.focus-awareness:after,.focus-action:after,.focus-review:after{content:"";display:block;height:120px;margin-top:18px;border-radius:22px;background:linear-gradient(180deg,transparent,rgba(216,238,235,.28)),var(--visual-image) center 70%/cover;opacity:.28;mask-image:linear-gradient(transparent,#000)}
.journal-input{background:linear-gradient(rgba(251,249,242,.86),rgba(251,249,242,.78)),repeating-linear-gradient(transparent 0 31px,rgba(77,130,123,.11) 32px)!important;line-height:32px!important}
.voice-input{display:flex;flex-direction:column;align-items:center;margin-top:14px!important;padding:0 8px!important;border:0!important;background:transparent!important;box-shadow:none!important;text-align:center}.choice-divider{width:100%;display:flex;align-items:center;gap:10px;color:#9aaba6;font-size:11px}.choice-divider:before,.choice-divider:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,rgba(72,117,111,.18))}.choice-divider:after{background:linear-gradient(90deg,rgba(72,117,111,.18),transparent)}.voice-choice-label{margin:10px 0 12px;color:#6c8580;font-size:12px}.voice-record{width:76px!important;height:76px!important;padding:0!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:linear-gradient(145deg,#fffdf7,#dcefeb)!important;border:1px solid rgba(255,255,255,.9)!important;box-shadow:0 12px 30px rgba(29,79,75,.15),inset 0 0 0 1px rgba(47,129,121,.12)!important;color:#2f8179!important;transition:transform .2s,box-shadow .2s!important}.voice-record:active{transform:scale(.94)}.microphone-icon{font-size:31px;line-height:1;filter:saturate(.75)}.voice-button-label{position:absolute;margin-top:108px;width:130px;font-size:11px;font-weight:600;color:#557b76}.voice-record.recording{background:linear-gradient(145deg,#d47763,#a94f42)!important;color:#fff!important;box-shadow:0 0 0 9px rgba(188,91,72,.1),0 12px 32px rgba(135,64,52,.22)!important;animation:recordPulse 1.4s ease-in-out infinite}.voice-record.recording .microphone-icon{filter:grayscale(1) brightness(4)}.voice-status{display:block!important;min-height:18px;margin:31px 0 0!important;color:#7e9690!important;font-size:11px!important}.voice-input audio{width:100%;height:38px;margin-top:8px}.voice-privacy{display:block;max-width:310px;margin:9px auto 0;color:#94a39f;font-size:9px;line-height:1.6}
.action-guide{position:relative;border-radius:10px 22px 22px 10px!important;border-left:4px solid var(--color-gold);background:linear-gradient(110deg,rgba(255,244,210,.82),rgba(247,239,224,.58))!important;box-shadow:0 12px 36px rgba(126,93,43,.08);font-family:"STSong","Songti SC",serif}.action-guide:before{content:"今日一小步";display:block;font:10px/1.5 sans-serif;letter-spacing:.18em;color:#a47a3b;margin-bottom:6px}

/* 冥想页：呼吸圆、静海与更慢的节奏。 */
.kind-meditation{--safe-action-space:112px}.focus-meditation{text-align:center;align-items:center}.focus-meditation .eyebrow,.focus-meditation h1,.focus-meditation .step-companion{max-width:360px}.focus-meditation .step-companion{border:0;padding:0;text-align:center}.breathing-orb{position:relative;width:128px;height:128px;margin:0 auto 24px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.92),rgba(139,199,193,.28) 45%,rgba(79,151,147,.09) 68%,transparent 70%)}.breathing-orb i{position:absolute;inset:20px;border-radius:50%;border:1px solid rgba(62,139,134,.35);box-shadow:0 0 30px rgba(116,186,179,.25);animation:breathe 8s ease-in-out infinite}.breathing-orb span{position:relative;color:#4c7d78;font-size:11px;line-height:1.6;letter-spacing:.18em}.focus-meditation .media-intro{max-width:340px}.focus-meditation .meditation-cover{width:100%}

/* 晚间复盘转为黄昏陪伴。 */
.kind-review:after{background:linear-gradient(180deg,rgba(33,66,76,.06),rgba(83,89,110,.16) 50%,rgba(251,247,237,.72))!important}.focus-review{min-height:calc(100vh - 92px)!important;justify-content:center!important;padding-top:28px!important;padding-bottom:150px!important}.focus-review .focus-progress{top:2px}.focus-review .eyebrow{color:#796b91}.focus-review h1{margin-bottom:14px}.focus-review .step-companion{margin-bottom:20px}.focus-review .focus-input{min-height:150px;background:linear-gradient(145deg,rgba(247,244,241,.79),rgba(232,238,240,.68))!important;box-shadow:0 12px 38px rgba(47,61,77,.08)}.focus-review:after{display:none}

/* 光卡更像值得珍藏的终章卡面。 */
.focus-light-card .step-companion{text-align:center;border:0;padding:0;margin-left:auto;margin-right:auto}.light-card-scene{position:relative}.light-card-scene:before{content:"";position:absolute;inset:8% -5%;border-radius:50%;background:radial-gradient(ellipse,rgba(255,228,151,.48),transparent 68%);filter:blur(18px);animation:cardHalo 5s ease-in-out infinite alternate}.light-draw-card{animation:cardFloat 5s ease-in-out infinite}.just-drawn .light-draw-card{animation:cardReveal .8s cubic-bezier(.2,.8,.2,1) both,cardFloat 5s .8s ease-in-out infinite}

/* 对比报告下半区补充晨光收束，数据仍保持清晰。 */
.change-list{padding:8px 14px;border-radius:22px;background:rgba(251,249,242,.48);backdrop-filter:blur(10px)}[data-atmosphere^="回望"] .ai-note{position:relative;overflow:hidden;background:linear-gradient(125deg,rgba(235,247,242,.78),rgba(255,247,224,.62))!important}[data-atmosphere^="回望"] .ai-note:after{content:"";position:absolute;right:-30px;bottom:-40px;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(241,196,104,.25),transparent 68%)}

.button{animation:buttonBreathe 4.8s ease-in-out infinite}.home-screen .button{animation:buttonBreathe 4.8s ease-in-out infinite,homeGlow 6s ease-in-out infinite}
@keyframes pageArrive{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes cloudDrift{to{transform:translateX(9%) scale(1.05)}}@keyframes lightShift{to{opacity:.55;transform:translate(-8%,5%) scale(1.08)}}@keyframes floatMote{0%{transform:translateY(20px);opacity:0}25%{opacity:.65}100%{transform:translate(18px,-120px);opacity:0}}@keyframes sceneGlow{to{transform:translateX(-12%);opacity:.5}}@keyframes breathe{0%,100%{transform:scale(.78);opacity:.45}50%{transform:scale(1.18);opacity:1}}@keyframes cardHalo{to{transform:scale(1.08);opacity:.55}}@keyframes cardFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes buttonBreathe{0%,100%{filter:brightness(1)}50%{filter:brightness(1.04)}}@keyframes homeGlow{50%{box-shadow:0 16px 40px rgba(26,103,96,.34),0 0 30px rgba(234,214,168,.18)!important}}
@keyframes recordPulse{50%{box-shadow:0 0 0 15px rgba(188,91,72,.05),0 12px 32px rgba(135,64,52,.28)!important}}
@media(prefers-reduced-motion:reduce){.screen,.atmosphere-layer:before,.atmosphere-layer:after,.atmosphere-layer i,.breathing-orb i,.light-draw-card,.button{animation:none!important}}

