:root { --pulse-ink:#111; --pulse-muted:#6e6e73; --pulse-paper:#fbfbfd; --pulse-blue:#bfdfff; --pulse-ease:cubic-bezier(.16,1,.3,1); }
body.pulse-open { overflow:hidden; }
#pulse-experience { position:fixed; inset:0; z-index:1200; overflow:hidden; isolation:isolate; background:var(--pulse-paper); color:var(--pulse-ink); opacity:0; visibility:hidden; transform:scale(1.014); transition:opacity .55s var(--pulse-ease),transform .55s var(--pulse-ease),visibility 0s linear .55s; }
#pulse-experience.is-open { opacity:1; visibility:visible; transform:none; transition:opacity .55s var(--pulse-ease),transform .55s var(--pulse-ease),visibility 0s; }
#pulse-experience.is-closing { opacity:0; transform:scale(.985); }
.pulse-shell,.pulse-scroll { width:100%; height:100%; }
.pulse-scroll { overflow-x:hidden; overflow-y:auto; scrollbar-width:none; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
.pulse-scroll::-webkit-scrollbar { display:none; }
#pulse-particles { position:absolute; inset:0; z-index:-2; width:100%; height:100%; pointer-events:none; opacity:.65; }
.pulse-ambient { position:absolute; z-index:-3; inset:-16%; pointer-events:none; background:radial-gradient(ellipse at 17% 24%,rgba(191,223,255,.23),transparent 34%),radial-gradient(ellipse at 86% 68%,rgba(223,236,255,.25),transparent 38%),radial-gradient(ellipse at 55% 4%,rgba(255,255,255,.95),transparent 35%); animation:pulse-sun 18s ease-in-out infinite alternate; }
@keyframes pulse-sun { from { transform:translate3d(-1.5%,-1%,0) scale(1); } to { transform:translate3d(1.5%,1%,0) scale(1.035); } }
.pulse-topbar { position:fixed; z-index:10; inset:0 0 auto; height:76px; display:flex; align-items:center; justify-content:space-between; padding:0 clamp(24px,4vw,58px); opacity:0; transform:translateY(-8px); pointer-events:none; transition:opacity .7s var(--pulse-ease),transform .7s var(--pulse-ease); }
#pulse-experience.is-dashboard .pulse-topbar { opacity:1; transform:none; }
.pulse-wordmark { font:700 18px/1 "Quicksand","Inter",sans-serif; letter-spacing:-.05em; }
.pulse-close { position:relative; width:42px; height:42px; border:0; border-radius:50%; background:rgba(255,255,255,.66); box-shadow:0 2px 16px rgba(17,17,17,.04); cursor:pointer; pointer-events:auto; transition:background .25s ease,transform .25s var(--pulse-ease); }
.pulse-close:hover { background:#fff; transform:scale(1.06); }
.pulse-close::before,.pulse-close::after { content:""; position:absolute; width:13px; height:1px; left:14px; top:20px; background:var(--pulse-ink); transform:rotate(45deg); }.pulse-close::after{transform:rotate(-45deg)}
.pulse-opening { position:absolute; z-index:5; inset:0; display:grid; place-items:center; overflow:hidden; pointer-events:none; text-align:center; opacity:1; transition:opacity .9s var(--pulse-ease),transform .9s var(--pulse-ease),filter .9s var(--pulse-ease); }
.pulse-opening.is-leaving { opacity:0; transform:translateY(-24px); filter:blur(1.5px); }
.pulse-opening p { position:relative; margin:0; font-size:clamp(48px,7.2vw,106px); font-weight:500; line-height:1; letter-spacing:-.075em; }
.pulse-opening-glow { position:absolute; width:min(62vw,720px); aspect-ratio:1.75; border-radius:50%; background:radial-gradient(ellipse,rgba(191,223,255,.46),rgba(191,223,255,.06) 38%,transparent 70%); filter:blur(15px); opacity:.48; animation:pulse-opening-breathe 4s ease-in-out infinite; }
@keyframes pulse-opening-breathe { 50% { transform:scale(1.12); opacity:.72; } }
.pulse-content { width:min(1200px,calc(100% - 48px)); margin:0 auto; padding:clamp(104px,11vh,132px) 0 78px; opacity:0; transform:scale(.96); transition:opacity .9s var(--pulse-ease),transform .9s var(--pulse-ease); }
#pulse-experience.is-dashboard .pulse-content { opacity:1; transform:none; }
.pulse-score-section { min-height:calc(88vh - 132px); min-height:calc(88svh - 132px); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.pulse-kicker,.pulse-section-head>p { margin:0; color:var(--pulse-muted); font-size:11px; font-weight:600; letter-spacing:.18em; }
.pulse-score-stage { position:relative; display:flex; align-items:flex-end; justify-content:center; gap:clamp(19px,3vw,38px); margin-top:28px; padding:20px 35px; transform:perspective(800px) rotateX(var(--score-x,0deg)) rotateY(var(--score-y,0deg)); transition:transform .35s var(--pulse-ease); }
.pulse-score { position:relative; z-index:1; font-size:clamp(154px,24vw,330px); font-weight:500; line-height:.72; letter-spacing:-.11em; animation:pulse-score-breathe 5s ease-in-out infinite; }
@keyframes pulse-score-breathe { 50% { transform:scale(1.018); } }
.pulse-score-copy { position:relative; z-index:1; padding-bottom:9px; text-align:left; }.pulse-score-copy strong{display:block;font-size:clamp(26px,3vw,42px);font-weight:500;letter-spacing:-.05em}.pulse-score-copy span{display:block;margin-top:9px;color:var(--pulse-muted);font-size:12px;letter-spacing:.08em}
.pulse-life-wave { position:absolute; width:clamp(260px,42vw,570px); aspect-ratio:1; border:1px solid rgba(145,197,241,.18); border-radius:50%; opacity:0; transform:scale(.7); }.pulse-score-stage:hover .pulse-life-wave,.pulse-life-wave.is-rippling { animation:pulse-ripple 2.8s ease-out infinite; }
@keyframes pulse-ripple { 0% {opacity:.8;transform:scale(.72)} 100%{opacity:0;transform:scale(1.24)} }
.pulse-live-status { display:flex; align-items:center; justify-content:center; gap:8px; min-height:24px; margin-top:43px; transition:opacity .55s ease,transform .55s ease; }.pulse-live-status.is-changing{opacity:0;transform:translateY(5px)}.pulse-live-status span{color:#7caa86;font-size:11px}.pulse-live-status p,.pulse-score-note{margin:0;font-size:15px;letter-spacing:-.025em}.pulse-score-note{margin-top:8px;color:var(--pulse-muted);font-size:13px}
.pulse-reveal { opacity:.18; transform:translateY(36px) scale(.96); transition:opacity 1s var(--pulse-ease),transform 1s var(--pulse-ease); }.pulse-reveal.is-visible{opacity:1;transform:none}
.pulse-metrics-section,.pulse-timeline-section,.pulse-analysis-section,.pulse-trend-section { padding-top:clamp(74px,9vh,112px); }
.pulse-section-head { max-width:720px; text-align:center; margin:0 auto 36px; }.pulse-section-head h2 { margin:12px 0 0; font-size:clamp(27px,3.6vw,44px); font-weight:500; line-height:1.12; letter-spacing:-.06em; }
.pulse-metrics { display:grid; grid-template-columns:repeat(6,1fr); gap:12px; align-items:start; }
.pulse-metric { min-width:0; min-height:208px; padding:22px 20px 18px; border-radius:30px; background:#fff; box-shadow:0 4px 24px rgba(17,17,17,.035); overflow:hidden; transition:transform .3s var(--pulse-ease),box-shadow .3s ease,min-height .3s var(--pulse-ease); opacity:0; transform:translateY(22px); }.pulse-metrics.is-visible .pulse-metric { animation:pulse-card-in .7s var(--pulse-ease) forwards; }.pulse-metrics.is-visible .pulse-metric:nth-child(2){animation-delay:.12s}.pulse-metrics.is-visible .pulse-metric:nth-child(3){animation-delay:.24s}.pulse-metrics.is-visible .pulse-metric:nth-child(4){animation-delay:.36s}.pulse-metrics.is-visible .pulse-metric:nth-child(5){animation-delay:.48s}.pulse-metrics.is-visible .pulse-metric:nth-child(6){animation-delay:.6s}@keyframes pulse-card-in{to{opacity:1;transform:none}}
.pulse-metric:hover { min-height:290px; transform:translateY(-7px); box-shadow:0 17px 40px rgba(17,17,17,.085); }.pulse-metric-top{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500}.pulse-metric-icon{color:var(--metric-color);font-size:17px}.pulse-metric-reading{display:flex;align-items:baseline;gap:5px;margin-top:25px}.pulse-metric-reading strong{font-size:clamp(26px,2.55vw,39px);font-weight:500;line-height:1;letter-spacing:-.065em}.pulse-metric-reading span{color:var(--pulse-muted);font-size:11px}.pulse-metric-detail{display:grid;grid-template-rows:43px 0fr;gap:10px;max-height:54px;margin-top:18px;opacity:1;transition:max-height .3s var(--pulse-ease),margin .3s var(--pulse-ease)}.pulse-metric:hover .pulse-metric-detail{grid-template-rows:58px 1fr;max-height:132px;margin-top:20px}.pulse-mini-chart{width:100%;height:43px;transition:height .3s var(--pulse-ease)}.pulse-metric:hover .pulse-mini-chart{height:58px}.pulse-metric-detail p{max-height:0;margin:0;overflow:hidden;opacity:0;color:var(--pulse-muted);font-size:11px;line-height:1.55;transition:max-height .25s ease,opacity .2s ease}.pulse-metric:hover .pulse-metric-detail p{max-height:44px;opacity:1}
.pulse-timeline { position:relative; height:122px; margin:0 5%; }.pulse-timeline-line{position:absolute;left:0;right:0;top:58px;height:1px;background:rgba(17,17,17,.16)}.pulse-timeline-dot{position:absolute;top:54px;left:var(--timeline-progress,3%);width:9px;height:9px;border-radius:50%;background:#94c4ec;box-shadow:0 0 0 5px rgba(191,223,255,.3);transition:left 1.7s linear}.pulse-event{position:absolute;left:var(--event-position);top:47px;display:flex;flex-direction:column;align-items:center;gap:11px;padding:0;border:0;background:transparent;color:var(--pulse-muted);font:inherit;cursor:pointer;transform:translateX(-50%)}.pulse-event i{display:grid;place-items:center;width:23px;height:23px;border:1px solid rgba(17,17,17,.17);border-radius:50%;background:#fff;font-style:normal;font-size:11px;transition:box-shadow .3s ease,border-color .3s ease}.pulse-event span{font-size:11px;white-space:nowrap;transition:color .3s ease}.pulse-event:hover i,.pulse-event.is-passing i{border-color:#acd5f7;box-shadow:0 0 0 5px rgba(191,223,255,.33)}.pulse-event:hover span{color:var(--pulse-ink)}.pulse-event-card{width:max-content;max-width:220px;margin:0 auto;padding:17px 19px;border-radius:20px;background:rgba(255,255,255,.8);box-shadow:0 10px 30px rgba(17,17,17,.04);text-align:center;opacity:0;transform:translateY(7px);transition:opacity .25s ease,transform .25s var(--pulse-ease)}.pulse-event-card.is-visible{opacity:1;transform:none}.pulse-event-card time,.pulse-event-card strong,.pulse-event-card span{display:block}.pulse-event-card time{font-size:11px;color:var(--pulse-muted)}.pulse-event-card strong{margin-top:4px;font-size:13px;font-weight:500}.pulse-event-card span{margin-top:4px;color:var(--pulse-muted);font-size:11px}.pulse-timeline-labels{display:flex;justify-content:space-between;margin:0 5%;color:var(--pulse-muted);font-size:10px}
.pulse-analysis-section { display:flex; justify-content:center; }.pulse-analysis-card{position:relative;width:min(720px,100%);overflow:hidden;padding:clamp(34px,4vw,48px);border:1px solid rgba(255,255,255,.65);border-radius:32px;background:rgba(255,255,255,.53);box-shadow:0 18px 46px rgba(27,49,70,.045),inset 0 1px 0 rgba(255,255,255,.8);backdrop-filter:blur(26px) saturate(135%);-webkit-backdrop-filter:blur(26px) saturate(135%)}.pulse-analysis-card::after{content:"";position:absolute;inset:-80%;background:linear-gradient(105deg,transparent 43%,rgba(255,255,255,.55) 50%,transparent 57%);transform:translateX(-50%) rotate(8deg);transition:transform 1.2s var(--pulse-ease);pointer-events:none}.pulse-analysis-card:hover::after{transform:translateX(55%) rotate(8deg)}.pulse-analysis-card>p{position:relative;z-index:1;margin:0;color:var(--pulse-muted);font-size:12px;letter-spacing:.1em}.pulse-analysis-copy{position:relative;z-index:1;margin:18px 0;font-size:clamp(24px,3vw,37px);font-weight:500;line-height:1.25;letter-spacing:-.055em;transition:opacity .65s ease,transform .65s var(--pulse-ease)}.pulse-analysis-copy.is-changing{opacity:0;transform:translateY(8px)}.pulse-analysis-card>span{position:relative;z-index:1;color:var(--pulse-muted);font-size:11px}
.pulse-trend-card{position:relative;height:300px;padding:20px;border-radius:32px;background:rgba(255,255,255,.67);box-shadow:0 5px 28px rgba(17,17,17,.035)}#pulse-trend-chart{width:100%;height:100%;display:block}.pulse-trend-tooltip{position:absolute;top:26px;right:29px;display:none;padding:13px 15px;border-radius:17px;background:rgba(255,255,255,.93);box-shadow:0 10px 30px rgba(17,17,17,.08);font-size:11px}.pulse-trend-tooltip.is-visible{display:block}.pulse-trend-tooltip>*{display:block}.pulse-trend-tooltip time,.pulse-trend-tooltip span{color:var(--pulse-muted)}.pulse-trend-tooltip strong{margin:5px 0;font-size:12px;font-weight:500}.pulse-trend-tooltip b{font-size:20px;font-weight:500;letter-spacing:-.05em}
.pulse-trend-section .pulse-section-head{max-width:none}.pulse-trend-section .pulse-section-head h2{white-space:nowrap;font-size:clamp(23px,3vw,40px)}.pulse-lifebase{padding:clamp(92px,11vh,132px) 0 28px;text-align:center}.pulse-lifebase>p{margin:0;font-family:"Quicksand","Inter",sans-serif;font-size:clamp(52px,7vw,86px);font-weight:700;letter-spacing:-.075em}.pulse-life-ring{position:relative;display:grid;place-items:center;width:178px;aspect-ratio:1;margin:34px auto 18px;border-radius:50%;background:transparent;animation:pulse-ring-breathe 3.5s ease-in-out infinite;box-shadow:0 0 26px rgba(191,223,255,.25)}.pulse-life-ring::before{content:"";position:absolute;inset:0;border-radius:inherit;background:conic-gradient(from 205deg,#b8dcfa 0deg 241deg,rgba(191,223,255,.14) 241deg 360deg);animation:pulse-ring-turn 13s linear infinite}.pulse-life-ring::after{content:"";position:absolute;z-index:1;inset:12px;border-radius:inherit;background:var(--pulse-paper)}.pulse-life-ring div{position:relative;z-index:2;display:flex;flex-direction:column;gap:6px}.pulse-life-ring strong{font-size:12px;font-weight:500}.pulse-life-ring span{font-size:31px;letter-spacing:-.06em}@keyframes pulse-ring-turn{to{transform:rotate(360deg)}}@keyframes pulse-ring-breathe{50%{box-shadow:0 0 34px rgba(191,223,255,.42)}}.pulse-life-caption{font-size:13px;color:var(--pulse-muted);letter-spacing:.03em}
@media(max-width:900px){.pulse-metrics{grid-template-columns:repeat(3,1fr)}.pulse-metric{min-height:174px}.pulse-score-section{min-height:calc(100svh - 130px)}}@media(max-width:600px){.pulse-content{width:min(100% - 28px,560px);padding-top:105px}.pulse-topbar{height:64px;padding:0 18px}.pulse-score-stage{gap:15px;padding:12px}.pulse-score{font-size:clamp(126px,40vw,200px)}.pulse-score-copy strong{font-size:26px}.pulse-metrics{grid-template-columns:repeat(2,1fr);gap:10px}.pulse-metric{padding:19px 16px;border-radius:25px}.pulse-metric-reading strong{font-size:28px}.pulse-metric:hover{min-height:300px}.pulse-event span{display:none}.pulse-event{top:48px}.pulse-timeline{margin:0}.pulse-timeline-labels{margin:0}.pulse-trend-card{height:250px;padding:12px}.pulse-trend-tooltip{right:16px;top:16px}.pulse-analysis-card{border-radius:27px;padding:38px 27px}.pulse-life-ring{width:166px}}
@media(prefers-reduced-motion:reduce){#pulse-experience,.pulse-topbar,.pulse-opening,.pulse-content,.pulse-reveal,.pulse-metric,.pulse-metric-detail,.pulse-analysis-copy,.pulse-event-card{transition-duration:1ms!important;animation-duration:1ms!important}.pulse-ambient,.pulse-score,.pulse-life-ring,.pulse-life-ring::before{animation:none!important}}
