:root{
  --color-ink:#174f4c;--color-ink-soft:#537b77;--color-teal:#2f8179;
  --color-teal-light:#79b5ae;--color-sea:#b9dcd9;--color-sky:#deeff1;
  --color-ivory:#fbf7ed;--color-cream:#f6efe1;--color-gold:#c99a4a;
  --color-gold-light:#ead6a8;--color-sage:#b9cfbd;--color-sunset:#f2d0ad;
  --color-lilac:#c8b8dc;--radius-card:24px;--radius-button:999px;
  --shadow-soft:0 12px 40px rgba(29,79,75,.08);
  --shadow-floating:0 18px 55px rgba(25,73,70,.14);
  --page-gutter:22px;--safe-action-space:122px;
}
html{background:#dce8e4}body{color:var(--color-ink);background:var(--color-ivory)}
.screen{padding-left:var(--page-gutter);padding-right:var(--page-gutter);padding-bottom:calc(var(--safe-action-space) + env(safe-area-inset-bottom));color:var(--color-ink);background-position:center top!important;background-attachment:scroll!important}
.screen:not(.home-screen):after{content:"";position:absolute;z-index:0;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(251,247,237,.04),rgba(251,247,237,.25) 45%,rgba(251,247,237,.72) 100%)}
.screen[data-page-type="healing"]:after{background:linear-gradient(180deg,rgba(18,70,70,.03),rgba(251,247,237,.18) 48%,rgba(251,247,237,.64))}
.topbar{height:44px;color:var(--color-ink);text-shadow:0 1px 12px rgba(255,255,255,.8)}
.back{background:rgba(251,247,237,.72);border:1px solid rgba(255,255,255,.8);box-shadow:0 8px 24px rgba(25,73,70,.08);backdrop-filter:blur(12px)}
.hero-text,.report-title,.journey-head{padding-top:clamp(54px,10vh,90px)}
.hero-text h1,.report-title h1,.journey-head h1,.focus-day h1,.day-hero h1{font-family:"STSong","Songti SC","Noto Serif SC",serif;color:var(--color-ink);font-weight:600;letter-spacing:.04em}
.eyebrow,.section-label{color:#9d7538;letter-spacing:.16em}

/* 内容不再全部装进相同白盒子：重要信息悬浮，次要信息用轻分隔。 */
.paper-card,.report-card,.lesson-card,.form-card,.practice-card,.quote-card,.dimension-card{
  border:1px solid rgba(255,255,255,.68)!important;border-radius:var(--radius-card)!important;
  background:rgba(251,249,242,.72)!important;box-shadow:var(--shadow-soft)!important;
  backdrop-filter:blur(18px) saturate(1.08)
}
.report-card:not(.type-card),.form-card{background:rgba(251,249,242,.54)!important;box-shadow:0 8px 30px rgba(29,79,75,.05)!important}
.dimension-list{gap:4px;border-radius:var(--radius-card);overflow:hidden;box-shadow:var(--shadow-soft)}
.dimension-card{border:0!important;border-bottom:1px solid rgba(47,129,121,.1)!important;border-radius:0!important;box-shadow:none!important;background:rgba(251,249,242,.7)!important;padding:18px 17px}
.dimension-card:last-child{border-bottom:0!important}

/* 五心测评按维度变换情绪色，而不是一套机械选项。 */
.assessment-screen{--heart:#2f8179;--heart-soft:#deefea;background-blend-mode:normal}
.assessment-screen.theme-yuanxin{--heart:#c99544;--heart-soft:#fbefd1}
.assessment-screen.theme-anxin{--heart:#4d9aa0;--heart-soft:#dceff1}
.assessment-screen.theme-shanxin{--heart:#d99579;--heart-soft:#fae5dc}
.assessment-screen.theme-dingxin{--heart:#367b78;--heart-soft:#d9e9e7}
.assessment-screen.theme-huixin{--heart:#8372a5;--heart-soft:#ebe5f2}
.assessment-screen .progress i{background:linear-gradient(90deg,var(--heart),color-mix(in srgb,var(--heart) 45%,white))}
.assessment-screen .assessment-head span,.assessment-screen .question-card small{color:var(--heart)}
.assessment-screen .question-card{min-height:210px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,rgba(255,255,255,.9),var(--heart-soft))!important;border:1px solid rgba(255,255,255,.9)!important;box-shadow:var(--shadow-floating)!important}
.scale-list{gap:8px}.scale{height:56px;border:0;border-bottom:1px solid rgba(23,79,76,.1);border-radius:0;background:rgba(251,249,242,.58);transition:transform .18s,background .18s,color .18s}
.scale:first-child{border-radius:18px 18px 0 0}.scale:last-child{border-radius:0 0 18px 18px;border-bottom:0}.scale:active{transform:scale(.985)}
.scale.selected{background:var(--heart-soft);color:var(--heart);box-shadow:inset 3px 0 0 var(--heart)}.scale.selected i{border-color:var(--heart)}
.assessment-footer{position:sticky;bottom:8px;padding:9px;border-radius:22px;background:rgba(251,247,237,.88);backdrop-filter:blur(16px);box-shadow:var(--shadow-soft)}

/* 正式课程播放器：海面海报感，空接口也像待上线课程而非开发框。 */
.media-slot{position:relative;overflow:hidden;min-height:215px;border:0;border-radius:22px;background:linear-gradient(145deg,rgba(19,76,74,.9),rgba(81,151,143,.74)),url('./assets/visuals/daily-coast.png') center/cover;box-shadow:var(--shadow-floating);color:white}
.media-slot:before{content:"";width:58px;height:58px;border-radius:50%;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.46);box-shadow:0 0 0 10px rgba(255,255,255,.06);position:absolute;top:50%;left:50%;transform:translate(-50%,-66%)}
.media-slot span{z-index:1;color:white;font-size:25px}.media-slot b,.media-slot small{z-index:1;color:white}.media-slot b{margin-top:28px}.guided-media{border-radius:22px;box-shadow:var(--shadow-floating)}
.course-cover,.meditation-cover{position:relative;overflow:hidden;min-height:220px;border-radius:24px;padding:25px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;background:linear-gradient(180deg,rgba(12,58,59,.15),rgba(12,58,59,.72)),url('./assets/visuals/daily-coast.png') center/cover;box-shadow:var(--shadow-floating)}
.course-cover:after{content:"";position:absolute;inset:10px;border:1px solid rgba(255,255,255,.35);border-radius:18px;pointer-events:none}.course-cover small,.course-cover b,.course-play{position:relative;z-index:1}.course-cover small{margin-top:18px;letter-spacing:.18em;color:rgba(255,255,255,.78)}.course-cover b{margin-top:7px;font-family:"STSong","Songti SC",serif;font-size:23px}.course-play{display:grid;place-items:center;width:58px;height:58px;padding-left:4px;border-radius:50%;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.62);box-shadow:0 0 0 10px rgba(255,255,255,.08),0 10px 30px rgba(8,46,47,.22)}
.meditation-cover{min-height:180px;background:linear-gradient(145deg,rgba(28,88,88,.78),rgba(109,165,156,.55)),url('./assets/visuals/day3-calm-sea.png') center/cover}.meditation-cover span{font-size:34px}.meditation-cover b{font-family:"STSong","Songti SC",serif;font-size:21px;margin:8px 0}.meditation-cover small{color:rgba(255,255,255,.8)}
.micro-quote{border-left:0!important;text-align:center;padding:18px 10px!important;color:var(--color-ink)!important;font-family:"STSong","Songti SC",serif;font-size:20px!important}

/* 路线由交错的旅程节点组成，避免后台列表感。 */
.route{gap:18px;padding:52px 0 48px}.route:before{left:50%;top:28px;bottom:34px;width:2px;background:linear-gradient(var(--color-gold-light),var(--color-teal-light),transparent);filter:drop-shadow(0 0 8px rgba(201,154,74,.35))}.route:after{content:"N\A✦";white-space:pre;position:absolute;top:0;left:50%;transform:translateX(-50%);width:40px;height:40px;border-radius:50%;display:grid;place-items:center;text-align:center;font:10px/13px serif;color:var(--color-gold);background:rgba(251,247,237,.76);border:1px solid rgba(201,154,74,.45);box-shadow:0 8px 24px rgba(25,73,70,.1)}
.route-item{width:82%;min-height:78px;border:1px solid rgba(255,255,255,.78);border-radius:22px;padding:15px 16px;background:rgba(251,249,242,.7);box-shadow:var(--shadow-soft);backdrop-filter:blur(14px)}
.route-item:before{content:"";position:absolute;top:50%;width:18%;height:22px;border-top:1px dashed rgba(201,154,74,.55)}.route-item:nth-child(odd):before{right:-18%;border-radius:0 50% 0 0}.route-item:nth-child(even):before{left:-18%;border-radius:50% 0 0 0}
.route-item:nth-child(even){margin-left:auto}.route-item:nth-child(odd){margin-right:auto}.route-item>span{width:44px;height:44px;background:linear-gradient(145deg,#eef4ee,#d9e8e3);box-shadow:0 6px 18px rgba(29,79,75,.1)}
.route-item.current{transform:scale(1.035);background:linear-gradient(135deg,rgba(255,249,231,.92),rgba(220,241,235,.88));border-color:rgba(201,154,74,.45);box-shadow:var(--shadow-floating)}
.route-item.current>span{background:linear-gradient(145deg,var(--color-gold),#e8c47f)}

/* 单日页面把视觉焦点上移，减少无意义留白。 */
.focus-day{min-height:calc(100vh - 190px);justify-content:flex-start!important;padding-top:clamp(54px,9vh,88px)!important}
.focus-day .focus-progress{position:absolute;top:8px;right:8px;padding:5px 10px;border-radius:999px;background:rgba(251,247,237,.62);color:var(--color-ink-soft)}
.focus-day h1{max-width:360px;font-size:clamp(30px,8vw,39px)!important;line-height:1.35;margin-bottom:24px}
.focus-input{border:1px solid rgba(47,129,121,.16)!important;border-radius:20px!important;background:rgba(251,249,242,.72)!important;box-shadow:inset 0 2px 14px rgba(29,79,75,.04);padding:17px!important}

/* 真正的光卡：AI 光影素材 + 金边 + 呼吸光。 */
.light-card-scene{perspective:1200px;padding:5px}.light-draw-card,.light-draw-card.is-revealed{position:relative;overflow:hidden;min-height:390px;border-radius:30px;padding:38px 26px;background:linear-gradient(rgba(12,59,61,.26),rgba(12,59,61,.48)),url('./assets/visuals/light-card-v2.png') center/cover!important;color:#fff!important;border:1px solid rgba(236,214,168,.76);box-shadow:0 24px 65px rgba(20,67,66,.24),inset 0 0 55px rgba(255,239,196,.13)!important;transform-style:preserve-3d;backface-visibility:hidden;transform-origin:center;transition:transform .42s cubic-bezier(.55,.02,.3,1)}
.light-draw-card.is-flipping{transform:rotateY(90deg) scale(.96)}.light-card-scene.just-drawn .light-draw-card{animation:cardReveal .8s cubic-bezier(.2,.8,.2,1) both}
.light-draw-card:before{content:"✦";position:absolute;top:28px;left:50%;transform:translateX(-50%);color:#f4d999;font-size:21px;filter:drop-shadow(0 0 14px #fff2be);animation:lightBreathe 3s ease-in-out infinite}
.light-draw-card small,.light-draw-card span{color:rgba(255,255,255,.82)!important}.light-draw-card b,.light-draw-card blockquote{position:relative;text-shadow:0 2px 20px rgba(5,43,45,.48)}
@keyframes lightBreathe{50%{opacity:.48;transform:translateX(-50%) scale(.82)}}
@keyframes cardReveal{0%{transform:rotateY(-90deg) scale(.96);filter:brightness(1.8)}65%{transform:rotateY(8deg) scale(1.015)}100%{transform:rotateY(0) scale(1);filter:brightness(1)}}

/* 固定按钮安全区：正文永不被遮挡；完成页按钮强制显示文字。 */
.sticky-action{padding:30px var(--page-gutter) calc(14px + env(safe-area-inset-bottom));background:linear-gradient(transparent,rgba(251,247,237,.82) 34%,rgba(251,247,237,.98) 72%)!important;pointer-events:none}
.sticky-action .button{pointer-events:auto}.button{min-height:58px;border-radius:var(--radius-button)!important;background:linear-gradient(110deg,var(--color-ink),var(--color-teal))!important;box-shadow:0 14px 34px rgba(23,79,76,.24)!important;letter-spacing:.06em;transition:transform .18s,box-shadow .18s}.button:active{transform:translateY(2px);box-shadow:0 8px 18px rgba(23,79,76,.2)!important}
.report-card.suggestion,.ai-note,.change-list{margin-bottom:24px}.complete-screen{padding-bottom:calc(138px + env(safe-area-inset-bottom))}
.complete-screen>.home-action{position:absolute!important;z-index:5;left:var(--page-gutter);right:var(--page-gutter);bottom:calc(16px + env(safe-area-inset-bottom));width:auto!important}
.complete-screen>.home-action .button{color:#fff!important;background:linear-gradient(110deg,var(--color-ink),var(--color-teal))!important;border:1px solid rgba(234,214,168,.7)!important;box-shadow:var(--shadow-floating)!important;height:60px!important;min-height:60px!important}
.complete-screen>.home-action .button-arrow{display:inline!important;color:#fff}.complete-screen>.home-action p{color:var(--color-ink)}

@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(min-width:600px){.screen{min-height:900px}.route-item{width:78%}}
