:root{
  --heart-yuanxin:#339b74;--heart-yuanxin-soft:#dff3e8;
  --heart-anxin:#246c93;--heart-anxin-soft:#dcecf4;
  --heart-shanxin:#d96b5f;--heart-shanxin-soft:#f9e3df;
  --heart-dingxin:#b1843f;--heart-dingxin-soft:#f1e6cf;
  --heart-huixin:#a6adb5;--heart-huixin-soft:#f1f3f4;
  --brand-ocean:#176f69;--brand-ocean-deep:#0d5552;--brand-gold:#d7ae63;
}

/* 组件：代码原生五心罗盘，可在首页、报告、路线与 Day 主题页复用。 */
.five-heart-compass{width:min(100%,var(--compass-size));margin:0 auto;color:#194f4c}.compass-stage{position:relative;width:100%;aspect-ratio:1}.compass-stage:before{content:"";position:absolute;inset:13%;border-radius:50%;background:radial-gradient(circle,rgba(255,250,229,.94),rgba(255,255,255,.22) 58%,transparent 72%);filter:blur(4px);box-shadow:0 0 42px rgba(220,183,104,.18)}.five-heart-compass svg{position:relative;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 14px 22px rgba(31,83,77,.12))}.compass-orbit{fill:none;stroke:rgba(184,145,74,.44)}.orbit-outer{stroke-width:1.1;stroke-dasharray:2 7}.orbit-inner{stroke-width:.8;stroke-dasharray:1 5}.compass-flow{fill:none;stroke:#e4c176;stroke-width:2.2;stroke-linecap:round;stroke-dasharray:2 9;filter:drop-shadow(0 0 4px #f8dc92)}.heart-halo{fill:var(--heart-glow);opacity:.15;filter:blur(5px)}.heart-petal{fill:color-mix(in srgb,var(--heart-soft) 84%,white);stroke:color-mix(in srgb,var(--heart-color) 76%,#fff);stroke-width:1.4;filter:drop-shadow(0 5px 8px rgba(31,74,69,.12))}.heart-symbol{fill:var(--heart-color);font:600 13px "STSong","Songti SC",serif}.heart-name{fill:#285b57;font:700 13px "STSong","Songti SC",serif}.heart-element{fill:color-mix(in srgb,var(--heart-color) 75%,#637976);font:8px sans-serif}.compass-heart.is-active .heart-halo{opacity:.8}.compass-heart.is-active .heart-petal{stroke-width:2.4;filter:drop-shadow(0 0 13px var(--heart-glow))}.compass-heart.is-active .heart-name{fill:var(--heart-color)}.compass-core circle{fill:url(#compassCore);stroke:rgba(176,132,58,.72);stroke-width:1.2;filter:drop-shadow(0 6px 13px rgba(110,81,34,.18))}.core-kicker{fill:#8d6a31;font:8px sans-serif;letter-spacing:2px}.core-title{fill:#174f4c;font:700 22px "STSong","Songti SC",serif;letter-spacing:4px}.core-subtitle{fill:#8d6a31;font:8px sans-serif;letter-spacing:2px}.compass-sparks circle{fill:#f0c664;filter:drop-shadow(0 0 5px #ffdf86)}.compass-descriptions{display:flex;justify-content:center;flex-wrap:wrap;gap:7px 9px;margin-top:-6px}.compass-descriptions span{display:grid;grid-template-columns:7px auto;align-items:center;column-gap:5px;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.56);border:1px solid rgba(255,255,255,.7)}.compass-descriptions i{grid-row:1/3;width:6px;height:6px;border-radius:50%;background:var(--heart-color);box-shadow:0 0 8px color-mix(in srgb,var(--heart-color) 42%,transparent)}.compass-descriptions b{font:600 10px/1.1 sans-serif;color:#345f5b}.compass-descriptions small{font:8px/1.2 sans-serif;color:#83918f}
.five-heart-compass.is-animated .compass-rotor{transform-origin:150px 150px;animation:compassDrift 30s linear infinite}.five-heart-compass.is-animated .compass-heart{transform-box:fill-box;transform-origin:center;animation:heartBreathe 4.8s ease-in-out infinite}.five-heart-compass.is-animated .compass-heart:nth-child(2){animation-delay:-.8s}.five-heart-compass.is-animated .compass-heart:nth-child(3){animation-delay:-1.6s}.five-heart-compass.is-animated .compass-heart:nth-child(4){animation-delay:-2.4s}.five-heart-compass.is-animated .compass-heart:nth-child(5){animation-delay:-3.2s}.five-heart-compass.is-animated .compass-sparks{transform-origin:150px 150px;animation:sparkFlow 9s linear infinite}

/* 首页：所有关键信息均为真实 DOM，不依赖背景图内烘焙文字。 */
.home-screen.brand-home{min-height:100svh;padding:0 22px calc(22px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;background-image:linear-gradient(180deg,rgba(255,253,247,.92) 0%,rgba(255,253,247,.68) 30%,rgba(230,246,244,.26) 55%,rgba(21,88,86,.10) 100%),url('./public/assets/five-heart/compass.png')!important;background-size:cover!important;background-position:center bottom!important}.brand-home:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.12),transparent 48%,rgba(9,70,68,.14));pointer-events:none}.brand-masthead{width:100%;padding-top:calc(18px + env(safe-area-inset-top));text-align:center}.brand-masthead b{display:block;font:600 14px/1.4 "STSong","Songti SC",serif;letter-spacing:.22em;color:#174f4c}.brand-masthead span{display:block;margin-top:3px;font-size:9px;letter-spacing:.42em;color:#a77c39}.brand-hero{width:100%;text-align:center;margin-top:clamp(15px,3vh,28px)}.brand-hero .brand-kicker{margin:0 0 8px;font-size:10px;letter-spacing:.25em;color:#8c744b}.brand-hero h1{margin:0;font:700 clamp(49px,13vw,64px)/1.04 "STKaiti","KaiTi","STSong",serif;letter-spacing:.12em;color:#135b57;text-shadow:0 5px 24px rgba(255,255,255,.94),0 1px 0 #fff}.brand-hero h2{margin:9px 0 0;font:600 clamp(17px,4.8vw,22px)/1.4 "STSong","Songti SC",serif;letter-spacing:.2em;color:#285f5b}.brand-hero .brand-value{margin:10px auto 0;max-width:330px;font-size:12px;line-height:1.7;color:#4e716d}.home-compass{width:100%;margin-top:clamp(3px,1vh,8px);display:flex;justify-content:center}.home-compass .five-heart-compass{width:min(66vw,285px)}.home-promise{margin:-5px auto 12px;text-align:center;font:600 14px/1.7 "STSong","Songti SC",serif;letter-spacing:.08em;color:#255f5a;text-shadow:0 1px 10px rgba(255,255,255,.9)}.brand-home>.home-action{position:relative!important;inset:auto!important;width:100%!important;margin-top:auto}.brand-home>.home-action .button{height:58px!important;min-height:58px!important;color:#fff!important;background:linear-gradient(112deg,#126962,#23877e)!important;border:1px solid rgba(236,201,127,.9)!important;box-shadow:0 15px 35px rgba(18,93,87,.28),inset 0 0 0 1px rgba(255,255,255,.18),0 0 24px rgba(229,195,116,.20)!important}.brand-home>.home-action .button-arrow{display:inline!important;color:#f6d999}.brand-home>.home-action p{margin:7px 0 0;color:#456b67;font-size:10px}.brand-home .sea-scene,.brand-home>.home-copy{display:none!important}

/* 报告：罗盘负责品牌识别，雷达图负责量化表达。 */
.report-compass-card{padding:14px 10px 18px!important;text-align:center;background:linear-gradient(145deg,rgba(255,253,246,.86),rgba(228,244,239,.64))!important}.report-compass-card .five-heart-compass{width:min(58vw,245px)}.report-compass-card>p{margin:0 0 -5px;font:600 13px "STSong","Songti SC",serif;letter-spacing:.12em;color:#426c67}.growth-direction{position:relative;overflow:hidden;border-left:3px solid var(--growth-color)!important;background:linear-gradient(120deg,color-mix(in srgb,var(--growth-color) 10%,#fffdf8),rgba(255,255,255,.62))!important}.growth-direction:after{content:"";position:absolute;right:-30px;bottom:-45px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--growth-color) 22%,transparent),transparent 68%)}.growth-direction h2{color:var(--growth-color)!important}.growth-direction .direction-lead{font-weight:700;color:#365f5b}

/* 路线页：罗盘 + 当前定位 + 七日成长节点。 */
.journey-head.brand-journey-head{padding-bottom:8px;text-align:center}.journey-head.brand-journey-head h1{font-size:34px}.journey-compass{margin:2px 0 12px}.journey-compass .five-heart-compass{width:min(70vw,290px)}.journey-now{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:4px 0 8px;padding:15px 16px;border-radius:22px;background:linear-gradient(130deg,rgba(255,252,240,.84),rgba(222,242,236,.78));border:1px solid rgba(255,255,255,.85);box-shadow:0 13px 34px rgba(29,79,75,.09)}.journey-now small{display:block;color:#8b806c;font-size:9px;letter-spacing:.14em}.journey-now b{display:block;margin-top:4px;font:600 16px "STSong","Songti SC",serif;color:#245d59}.journey-now .today-task{grid-column:1/-1;padding-top:9px;border-top:1px solid rgba(46,111,103,.10)}.journey-now .today-task b{font-size:13px;line-height:1.55}.brand-route{padding-top:34px}.brand-route:after{content:"五心\A循环"}.brand-route .route-item{--route-heart:#7fa69e}.brand-route .route-item[data-heart="愿心"]{--route-heart:var(--heart-yuanxin)}.brand-route .route-item[data-heart="安心"]{--route-heart:var(--heart-anxin)}.brand-route .route-item[data-heart="善心"]{--route-heart:var(--heart-shanxin)}.brand-route .route-item[data-heart="定心"]{--route-heart:var(--heart-dingxin)}.brand-route .route-item[data-heart="慧心"]{--route-heart:var(--heart-huixin)}.brand-route .route-item>span{background:color-mix(in srgb,var(--route-heart) 16%,white);color:var(--route-heart);border:1px solid color-mix(in srgb,var(--route-heart) 32%,white)}.brand-route .route-item.current{border-color:color-mix(in srgb,var(--route-heart) 43%,white);box-shadow:0 14px 38px color-mix(in srgb,var(--route-heart) 18%,transparent)}.brand-route .route-item.current>span{background:var(--route-heart);color:#fff}.brand-route .route-item small{color:var(--route-heart)}

/* Day 主题色：只改变视觉层，不触碰内容、音频与进度逻辑。 */
.test-day-screen{--day-heart:#277c75;--day-soft:#e0f0eb;--day-accent:#d3af66}.test-day-screen.day-1{--day-heart:#638c70;--day-soft:#edf2df;--day-accent:#d2ac62}.test-day-screen.day-2{--day-heart:var(--heart-yuanxin);--day-soft:var(--heart-yuanxin-soft);--day-accent:#8dc77e}.test-day-screen.day-3{--day-heart:var(--heart-anxin);--day-soft:var(--heart-anxin-soft);--day-accent:#6ba6c3}.test-day-screen.day-4{--day-heart:var(--heart-dingxin);--day-soft:var(--heart-dingxin-soft);--day-accent:#397696}.test-day-screen.day-5{--day-heart:#8b969f;--day-soft:var(--heart-huixin-soft);--day-accent:#c8d0d7}.test-day-screen.day-6{--day-heart:var(--heart-shanxin);--day-soft:var(--heart-shanxin-soft);--day-accent:#e6a36d}.test-day-screen.day-7{--day-heart:#397b75;--day-soft:#edf1e8;--day-accent:#d7ae63}.test-day-screen .eyebrow{color:var(--day-heart)}.test-day-screen .focus-progress{border:1px solid color-mix(in srgb,var(--day-heart) 18%,white);color:var(--day-heart)}.test-day-screen .anchor-note,.test-day-screen .action-guide{border-left-color:var(--day-heart)!important;background:linear-gradient(110deg,color-mix(in srgb,var(--day-soft) 84%,white),rgba(255,255,255,.58))!important}.test-day-screen .sticky-action .button{background:linear-gradient(110deg,color-mix(in srgb,var(--day-heart) 85%,#123f3d),var(--day-heart))!important;border:1px solid color-mix(in srgb,var(--day-accent) 70%,white)!important}.day-compass{margin:-15px auto 1px}.day-compass .five-heart-compass{width:min(55vw,220px)}.day-compass .compass-descriptions{display:none}.day-heart-caption{display:flex;justify-content:center;gap:8px;margin:-4px 0 15px;font-size:10px;color:var(--day-heart);letter-spacing:.12em}.emotion-scene{border:1px solid color-mix(in srgb,var(--day-accent) 55%,white);box-shadow:0 18px 50px color-mix(in srgb,var(--day-heart) 18%,transparent)}

/* 各心的自然意象：新芽、水波、山、月、花。 */
.test-day-screen .emotion-scene:after{content:"";position:absolute;z-index:0;pointer-events:none}.test-day-screen.day-2 .emotion-scene:after{right:9%;top:10%;width:34px;height:70px;border:2px solid rgba(51,155,116,.46);border-width:0 0 0 2px;border-radius:70% 0;transform:rotate(35deg);box-shadow:12px 11px 0 -9px #66ad88,-10px 31px 0 -8px #8cc8a5}.test-day-screen.day-3 .emotion-scene:after{left:8%;right:8%;bottom:18%;height:22px;border-top:1px solid rgba(185,225,239,.65);border-bottom:1px solid rgba(185,225,239,.38);border-radius:50%;box-shadow:0 8px 0 rgba(185,225,239,.22)}.test-day-screen.day-4 .emotion-scene:after{right:5%;bottom:0;width:38%;height:34%;background:rgba(128,104,66,.22);clip-path:polygon(0 100%,35% 38%,53% 68%,75% 18%,100% 100%)}.test-day-screen.day-5 .emotion-scene:after{right:10%;top:10%;width:52px;height:52px;border-radius:50%;background:rgba(250,252,251,.82);box-shadow:0 0 32px rgba(239,245,245,.94)}.test-day-screen.day-6 .emotion-scene:after{right:9%;top:12%;width:54px;height:54px;border-radius:50%;background:radial-gradient(circle,#f7d795 0 11%,transparent 12%),radial-gradient(ellipse at 50% 8%,rgba(255,236,220,.84) 0 18%,transparent 20%),radial-gradient(ellipse at 92% 50%,rgba(255,236,220,.84) 0 18%,transparent 20%),radial-gradient(ellipse at 50% 92%,rgba(255,236,220,.84) 0 18%,transparent 20%),radial-gradient(ellipse at 8% 50%,rgba(255,236,220,.84) 0 18%,transparent 20%)}

@keyframes compassDrift{to{transform:rotate(360deg)}}@keyframes heartBreathe{0%,100%{scale:.96}50%{scale:1.035}}@keyframes sparkFlow{to{transform:rotate(-360deg)}}
@media(max-height:760px){.brand-hero{margin-top:8px}.brand-hero h1{font-size:46px}.brand-hero .brand-value{display:none}.home-compass .five-heart-compass{width:min(48vw,220px)}.home-promise{font-size:12px;margin-bottom:7px}}
@media(prefers-reduced-motion:reduce){.five-heart-compass *{animation:none!important}}

/* 覆盖旧首页曾为“图片内按钮”保留的透明点击热区。 */
.home-screen.brand-home[data-page-type="departure"]>.home-action .button{display:block!important;height:58px!important;min-height:58px!important;color:#fff!important;background:linear-gradient(112deg,#126962,#23877e)!important;border:1px solid rgba(236,201,127,.9)!important;box-shadow:0 15px 35px rgba(18,93,87,.28),inset 0 0 0 1px rgba(255,255,255,.18),0 0 24px rgba(229,195,116,.20)!important}.home-screen.brand-home[data-page-type="departure"]>.home-action .button-arrow{display:inline!important;color:#f6d999!important}

/* 最终首页：完整使用用户确认的视觉母版，只叠加无视觉干扰的真实点击热区。 */
.home-screen.master-home{min-height:100svh!important;padding:0!important;display:block;background:#e9eeea!important;overflow:hidden}.master-home:after,.master-home>.atmosphere-layer{display:none!important}.home-master-art{position:relative;width:100%;line-height:0}.home-master-art:after{content:"";position:absolute;z-index:-1;inset:0;background:url('./public/assets/five-heart/home-master.png') center/cover;filter:blur(24px);opacity:.35}.home-master-art>img{display:block;width:100%;height:auto;min-height:0;object-fit:contain}.home-master-cta{position:absolute;z-index:3;left:20.8%;top:84.1%;width:58.4%;height:8.5%;border-radius:999px;background:transparent!important;border:0!important;box-shadow:none!important;color:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}.home-master-cta:focus-visible{outline:3px solid #fff1bf;outline-offset:4px;box-shadow:0 0 0 6px rgba(19,116,132,.38)!important}.home-master-cta:active{background:rgba(255,255,255,.10)!important}.home-master-test{position:absolute!important;z-index:5!important;left:14px;right:14px;bottom:12px;padding:8px;border-radius:14px;background:rgba(255,253,246,.88);backdrop-filter:blur(10px)}.home-master-test .test-badge{margin:0 0 5px}.home-master-test .skip-test{margin:0}

/* 从母版继承的视觉语言：清透海天、象牙白玻璃、海洋青与鎏金细线。 */
.screen:not(.master-home){background-color:#eef4f1;background-blend-mode:soft-light,normal}.screen:not(.master-home) .topbar{border:1px solid rgba(255,255,255,.72);border-radius:999px;padding:0 8px;background:rgba(255,253,246,.72);box-shadow:0 10px 30px rgba(27,83,78,.07);backdrop-filter:blur(18px)}.screen:not(.master-home) .paper-card,.screen:not(.master-home) .report-card,.screen:not(.master-home) .journey-now{border-color:rgba(224,189,112,.24)!important}.screen:not(.master-home) .button{border:1px solid rgba(229,193,112,.72)!important;box-shadow:0 14px 34px rgba(20,94,91,.23),inset 0 0 0 1px rgba(255,255,255,.17)!important}.screen:not(.master-home) .eyebrow:before{content:"✦";margin-right:7px;color:#d5ad5e;font-size:.8em}.heart-petal{filter:drop-shadow(0 6px 10px rgba(31,74,69,.12)) drop-shadow(0 0 5px rgba(255,255,255,.75))}.compass-core circle{stroke-width:2;filter:drop-shadow(0 7px 15px rgba(110,81,34,.18)) drop-shadow(0 0 8px rgba(255,237,183,.48))}

@media(min-width:600px){.home-screen.master-home{min-height:0!important}.home-master-art>img{width:100%}}
.home-screen.master-home{background:linear-gradient(180deg,#edf2ef,#e5ede9)!important}
@media(min-width:600px){.home-screen.master-home{min-height:100svh!important}}

/* 用户确认版五心模型：所有场景统一使用正式母版，不再呈现内部设计代号。 */
.five-heart-compass.compass-model{display:block;width:min(100%,var(--compass-size));margin:0 auto;line-height:0;filter:none}.compass-model-image{display:block;width:100%;height:auto;border-radius:20px}.report-compass-card .compass-model{width:min(100%,380px)!important}.journey-compass .compass-model{width:min(100%,390px)!important}.day-compass .compass-model{width:min(100%,350px)!important}.compass-model.is-animated{animation:modelLight 6s ease-in-out infinite}.journey-compass .compass-model-image,.day-compass .compass-model-image{box-shadow:0 14px 40px rgba(34,83,78,.10)}
.journey-stations .dimension-card{min-height:0;padding:18px 20px!important}.journey-stations .dimension-card>div{width:100%}.journey-stations .dimension-card b{margin-left:0}.journey-stations .dimension-card:after{opacity:.10}
@keyframes modelLight{0%,100%{filter:brightness(1)}50%{filter:brightness(1.025)}}
.day-heart-caption{display:none!important}
.journey-now{display:none!important}

/* Day1 / Day7 使用完整模型；Day2—Day6 从同一母版中聚焦当日之心。 */
.day-compass .compass-model[data-active-heart]:not([data-active-heart=""]){width:min(100%,350px)!important;height:300px;border-radius:26px;background-image:url('./public/assets/five-heart/compass-model.png');background-repeat:no-repeat;background-size:300% 300%;box-shadow:0 14px 42px rgba(34,83,78,.11);overflow:hidden}.day-compass .compass-model[data-active-heart]:not([data-active-heart=""]) .compass-model-image{opacity:0}.day-compass .compass-model[data-active-heart="愿心"]{background-position:50% 24%}.day-compass .compass-model[data-active-heart="安心"]{background-position:5% 53%}.day-compass .compass-model[data-active-heart="善心"]{background-position:95% 53%}.day-compass .compass-model[data-active-heart="慧心"]{background-position:22% 88%}.day-compass .compass-model[data-active-heart="定心"]{background-position:79% 88%}

/* 独立心形正式资产：不再从整张模型截图裁切。 */
.compass-heart-focus{display:none;width:100%;height:auto;border-radius:24px}.day-compass .compass-model[data-active-heart]:not([data-active-heart=""]){height:auto!important;background:none!important;box-shadow:none!important;overflow:visible!important}.day-compass .compass-model[data-active-heart]:not([data-active-heart=""]) .compass-model-image{display:none!important;opacity:1!important}.day-compass .compass-model[data-active-heart]:not([data-active-heart=""]) .compass-heart-focus{display:block}.test-day-screen.step-0 .emotion-scene,.test-day-screen.step-0 .anchor-note{display:none!important}.test-day-screen.step-0 .day-compass{margin:4px auto 12px}.test-day-screen.step-0 .focus-day{padding-bottom:30px}

/* Day 首屏：主题、主视觉、核心句纵向均衡分布，避免内容拥挤在顶部。 */
.test-day-screen.step-0 .topbar>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 8px;color:var(--day-heart);font-size:clamp(12px,3.2vw,15px);letter-spacing:.04em}
.test-day-screen.step-0 .focus-day{display:grid!important;grid-template-rows:auto minmax(300px,1fr) auto;align-content:stretch;min-height:calc(100svh - 176px);padding-top:clamp(30px,5.5vh,58px)!important;padding-bottom:20px!important}
.test-day-screen.step-0 .focus-day>.eyebrow{display:none!important}
.test-day-screen.step-0 .focus-day>h1{align-self:start;margin:0!important;font-size:clamp(34px,8.8vw,43px)!important;line-height:1.2}
.test-day-screen.step-0 .day-compass{width:100%;margin:0 auto!important;display:flex;align-items:center;justify-content:center;padding:clamp(14px,2.4vh,25px) 0}
.test-day-screen.step-0 .day-compass .compass-model{width:min(88vw,410px)!important}
.test-day-screen.step-0 .day-cover-core{position:relative;margin:0 4px;padding:16px 20px 16px 23px;border:1px solid color-mix(in srgb,var(--day-accent) 34%,white);border-radius:5px 22px 22px 5px;background:linear-gradient(112deg,color-mix(in srgb,var(--day-soft) 58%,#fffdf8),rgba(255,255,255,.72));box-shadow:0 12px 32px color-mix(in srgb,var(--day-heart) 10%,transparent);color:#315f5b;font:600 clamp(15px,3.8vw,18px)/1.8 "STSong","Songti SC",serif;letter-spacing:.025em}
.test-day-screen.step-0 .day-cover-core:before{content:"";position:absolute;left:-1px;top:15px;bottom:15px;width:3px;border-radius:3px;background:linear-gradient(var(--day-accent),var(--day-heart))}
@media(max-height:760px){.test-day-screen.step-0 .focus-day{grid-template-rows:auto minmax(230px,1fr) auto;padding-top:22px!important}.test-day-screen.step-0 .day-compass{padding:8px 0}.test-day-screen.step-0 .day-compass .compass-model{width:min(72vw,330px)!important}.test-day-screen.step-0 .day-cover-core{padding:12px 17px 12px 20px;font-size:14px;line-height:1.65}}
