.demo-note { margin: 0 0 16px; font-size: max(var(--font-min-readable), 11px); line-height: 1.7; color: #71808c; }
.checkin-banner { margin-top: 18px; padding: 18px; border: 1px solid #c8e6db; border-radius: 20px; background: #eaf7f0; }
.checkin-banner h3 { margin: 0 0 8px; font-size: 17px; }
.checkin-banner p { color: #497562; font-size: max(var(--font-min-body), 12px); line-height: 1.6; }
.stats-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 14px 0; }
.stat-card { border: 1px solid var(--line); background: #fff; padding: 16px 12px; border-radius: 16px; text-align: left; color: var(--ink); }
.stat-card span, .stat-card small { display: block; font-size: max(var(--font-min-readable), 12px); line-height: 1.7; }
.stat-card strong { display: block; font-size: 29px; margin: 6px 0; }
.stat-card small { color: var(--muted); }
.stat-card.indirect { background: #ecf6f2; border-color: #d3e9df; }
.back-btn { border: 0; background: transparent; color: #526273; padding: 0 0 15px; font-size: max(var(--font-min-control), 13px); }
.app.secondary-mode .topbar,
.app.secondary-mode > .demo-note { display: none; }
.energy-floating-back { position: fixed; z-index: 12; right: max(18px, calc((100vw - 430px) / 2 + 18px)); bottom: calc(var(--bottom-nav-height) + 12px + env(safe-area-inset-bottom, 0px)); border: 1px solid #d7e5df; border-radius: 999px; padding: 10px 14px; color: #36584b; background: rgba(255,255,255,.96); box-shadow: 0 8px 24px rgba(32,54,74,.14); font-size: max(var(--font-min-control), 12px); font-weight: 800; }
.location-retry { margin-top: 10px; border: 1px solid #c4d9d0; border-radius: 10px; padding: 8px 10px; color: #36584b; background: #fff; font-size: max(var(--font-min-control), 11px); font-weight: 700; }
.location-help { margin: 8px 0 0; color: #7d8b98; font-size: max(var(--font-min-readable), 10px); line-height: 1.6; }
.location-help summary { font-size: var(--font-min-control); }
.page-title { margin: 0 0 8px; font-size: 24px; }
.day-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 20px 0; }
.day { padding: 10px 6px; border-radius: 10px; background: #f3f6f7; text-align: center; font-size: max(var(--font-min-readable), 10px); color: #677985; }
.day strong { display: block; font-size: 17px; margin: 7px 0; }
.day.today { outline: 1px solid #35a57e; }
.day.done { background: #d9f5e7; color: #237254; }
.progress-label { color: #237254; font-size: max(var(--font-min-body), 15px); font-weight: 700; }
.rules { font-size: max(var(--font-min-body), 12px); line-height: 1.85; color: #71808c; padding-left: 18px; }
.milestone { padding: 14px 0; border-bottom: 1px solid var(--line); display: flex; align-items: center; gap: 12px; }
.milestone:last-child { border-bottom: 0; }
.prize-empty { flex-shrink: 0; width: 45px; height: 45px; border: 1px dashed #c8d2d8; border-radius: 10px; }
.milestone strong { font-size: max(var(--font-min-readable), 13px); }
.milestone p { margin: 5px 0 0; font-size: max(var(--font-min-body), 11px); color: var(--muted); }
.demo-control { padding: 14px; margin: 16px 0; border: 1px dashed #b9c9d0; border-radius: 12px; font-size: max(var(--font-min-body), 12px); color: #637682; }
.demo-control select { display: block; margin-top: 9px; width: 100%; padding: 10px; background: white; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); font-size: var(--font-min-control); }
.welcome-demo-control { border-color: #e8c982; background: #fffaf0; }
.welcome-demo-control > label:first-child { display: block; color: var(--ink); font-size: var(--font-min-control); font-weight: 800; }
.welcome-demo-control select { min-height: 48px; }
.welcome-demo-control .demo-check { display: flex; align-items: flex-start; gap: 10px; margin-top: 13px; color: #735122; font-size: var(--font-min-control); font-weight: 700; line-height: 1.5; }
.welcome-demo-control .demo-check input { flex: 0 0 22px; width: 22px; height: 22px; margin: 1px 0 0; accent-color: #ef8a25; }
.welcome-demo-control p { margin: 10px 0 0; color: #715f48; font-size: max(var(--font-min-body), 12px); line-height: 1.65; }
button:disabled { cursor: not-allowed; opacity: .5; box-shadow: none; }
.tabs { display: flex; gap: 8px; margin: 18px 0 12px; }
.tabs button { flex: 1; border: 1px solid var(--line); border-radius: 12px; background: white; padding: 12px 5px; color: #71808c; font-size: max(var(--font-min-control), 12px); }
.tabs button[aria-pressed="true"] { color: #246d54; border-color: #aad6c4; background: #e4f4ed; font-weight: 700; }
.person-card { padding: 15px; border: 1px solid var(--line); background: #fff; border-radius: 15px; margin: 10px 0; }
.person-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: max(var(--font-min-body), 14px); }
.person-card p { margin: 8px 0 0; color: #71808c; font-size: max(var(--font-min-body), 11px); line-height: 1.8; }
.person-card details { margin-top: 12px; font-size: max(var(--font-min-control), 12px); }
.person-card summary { cursor: pointer; color: #287555; padding: 6px 0; }
.child-row { padding: 10px 0 10px 12px; border-left: 2px solid #d3e9df; margin: 8px 0 0 5px; }
.relation-path { padding: 14px; border-radius: 14px; background: #edf3f6; font-size: max(var(--font-min-body), 13px); line-height: 1.8; }
.modal { max-height: 90vh; overflow-y: auto; }
.text-btn { margin-top: 10px; border: 0; background: transparent; color: var(--brand-deep); font-size: max(var(--font-min-control), 12px); }
.identity-card { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 15px; margin: 12px 0; border-radius: 16px; background: #eef6f2; border: 1px solid #d3e9df; }
.identity-card strong { display: block; margin-top: 3px; letter-spacing: .08em; }
.identity-card small { color: #638174; font-size: max(var(--font-min-readable), 10px); }
.identity-code { color: #287555; font-size: max(var(--font-min-body), 13px); font-weight: 800; }
.reward-table { width: 100%; border-collapse: collapse; margin: 12px 0; font-size: max(var(--font-min-readable), 11px); }
.reward-table th, .reward-table td { padding: 9px 5px; border-bottom: 1px solid var(--line); text-align: left; }
.reward-table th { color: var(--muted); font-weight: 600; }
.reward-table td:last-child, .reward-table th:last-child { text-align: right; }
.location-box { padding: 13px; border-radius: 14px; background: #f5f8f9; border: 1px dashed #cdd9de; color: #637682; font-size: max(var(--font-min-body), 11px); line-height: 1.7; }
.location-box strong { display: block; color: var(--ink); margin-bottom: 5px; }
.location-status { margin: 9px 0 0; color: #287555; }
.location-status.error { color: #c2523d; }
.welcome-streak { display: grid; grid-template-columns: auto 1fr; align-items: baseline; gap: 7px; padding: 12px 13px; border-radius: 13px; background: #fff5e8; color: #92602b; font-size: max(var(--font-min-body), 11px); }
.welcome-streak > span, .welcome-streak strong { white-space: nowrap; }
.welcome-streak strong { color: #d95424; font-size: 17px; }
.welcome-streak small { grid-column: 1 / -1; color: #a66a35; font-size: max(var(--font-min-body), 10px); }
.welcome-miss-rules { margin: 14px 0; padding: 14px; border: 1px solid #eadfd2; border-radius: 13px; background: #fffcf7; font-size: var(--font-min-body); line-height: 1.7; }
.welcome-miss-rules h4 { margin: 0 0 8px; font-size: var(--font-min-body); }
.welcome-miss-rules ul { margin: 0; padding-left: 22px; }
.welcome-miss-rules li + li { margin-top: 8px; }
.welcome-miss-rules p { margin: 12px 0 0; color: #637682; }
.welcome-miss-rules .makeup-limit { color: #a64d14; }
.welcome-miss-rules .miss-limit { color: #bf3429; }
.welcome-day { min-width: 0; padding: 9px 1px 8px; border: 1px solid #eceff0; border-radius: 11px; background: #f7f8f8; color: #89949a; text-align: center; }
.welcome-day > span, .welcome-day small, .welcome-day em { display: block; font-size: max(var(--font-min-readable), 8px); font-style: normal; white-space: nowrap; }
.welcome-day strong { display: block; margin: 5px 0 2px; font-size: 16px; }
.welcome-day em { margin-top: 4px; color: #9ba3a7; font-size: max(var(--font-min-readable), 7px); }
.welcome-day.done, .welcome-day.makeup-done { border-color: #9ed5b8; background: #e2f5e9; color: #176b48; box-shadow: inset 0 0 0 1px rgba(38, 132, 88, .08); }
.welcome-day.today:not(.done):not(.makeup-done) { border: 2px solid #f08425; background: #fff4e8; color: #b84b14; }
.welcome-day.today.done, .welcome-day.today.makeup-done { border: 2px solid #46a878; background: #d8f1e2; color: #176b48; }
.welcome-day.done em, .welcome-day.makeup-done em, .welcome-day.today.done em, .welcome-day.today.makeup-done em { color: #176b48; }
.welcome-day.today:not(.done):not(.makeup-done) em { color: #b84b14; }
.welcome-day.missed { border-color: #f1cccc; background: #fff0ef; color: #c1483d; }
.welcome-day.missed em { color: #c1483d; }
.welcome-day.locked { color: #a8b0b4; }
.welcome-actions { display: grid; gap: 9px; margin-bottom: 13px; }
.welcome-makeup-btn, .welcome-reminder-makeup { width: 100%; border: 1px solid #e69d37; border-radius: 13px; padding: 12px; color: #98530b; background: #fff4dc; font-size: max(var(--font-min-control), 12px); font-weight: 800; }
.welcome-ended-notice { padding: 12px; border: 1px solid #f0c7c2; border-radius: 12px; color: #a34036; background: #fff2f0; font-size: max(var(--font-min-body), 11px); line-height: 1.7; }
.welcome-history-row { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 5px 10px; padding: 10px 0; margin: 0; border-bottom: 1px solid var(--line); font-size: max(var(--font-min-body), 11px); color: #526273; }
.welcome-history-row strong { color: #287555; justify-self: end; }
.welcome-history-row strong.missed { color: #c1483d; }
.welcome-history-row small { grid-column: 1 / -1; color: #8a969d; font-size: max(var(--font-min-body), 9px); }
.welcome-reminder-backdrop { position: fixed; z-index: 40; inset: 0; display: flex; align-items: center; justify-content: center; padding: 22px; background: rgba(21, 29, 35, .72); }
.welcome-reminder { position: relative; width: min(100%, 360px); max-height: calc(100dvh - 32px); overflow-y: auto; padding: 16px 16px 22px; border: 0; border-radius: 24px 24px 28px 28px; background: #ff7818; box-shadow: 0 25px 65px rgba(16, 24, 30, .42); text-align: center; }
.welcome-reminder > * { position: relative; z-index: 1; }
.welcome-reminder {
  background-image:
    radial-gradient(circle at 7% 7%, #ffe9a4 0 2px, transparent 3px),
    radial-gradient(circle at 91% 5%, #ffe9a4 0 3px, transparent 4px),
    radial-gradient(circle at 13% 18%, #fff0b8 0 2px, transparent 3px),
    radial-gradient(circle at 83% 20%, #ffe699 0 2px, transparent 3px),
    radial-gradient(circle at 2% 39%, #ffe69999 0 2px, transparent 3px),
    radial-gradient(circle at 98% 58%, #ffe69999 0 2px, transparent 3px),
    radial-gradient(circle at 9% 94%, #ffe9a4 0 3px, transparent 4px),
    radial-gradient(circle at 89% 96%, #fff0b8 0 2px, transparent 3px),
    radial-gradient(ellipse at 0% 0%, #ffd56855, transparent 35%),
    radial-gradient(ellipse at 100% 100%, #ffc74b44, transparent 30%);
}
.welcome-reminder::before, .welcome-reminder::after { content: ''; position: absolute; pointer-events: none; z-index: 0; width: 6px; height: 15px; border-radius: 2px; background: #ffe792aa; }
.welcome-reminder::before { top: 91px; left: 25px; transform: rotate(-28deg); box-shadow: 18px 36px 0 -1px #fff0b888; }
.welcome-reminder::after { top: 100px; right: 25px; transform: rotate(32deg); box-shadow: -18px 32px 0 -1px #fff0b888; }
.welcome-reminder-top { display: flex; justify-content: space-between; align-items: center; color: #fff5dc; font-size: max(var(--font-min-readable), 10px); font-weight: 800; }
.welcome-reminder-topline { font-weight: 800; font-size: 18px; color: #fff; }
.welcome-reminder-top { flex-direction: column; gap: 7px; }
.welcome-reminder-body { background: #fffdf8; padding: 14px 10px; border-radius: 18px; margin: 18px 0; }
.welcome-reminder-medal { display: grid; place-items: center; width: 72px; height: 72px; margin: 10px auto -5px; border: 7px solid #ffe54f; border-radius: 50%; background: #ff9e00; box-shadow: 0 5px 0 #e75e00, 0 9px 18px rgba(137, 57, 0, .28); color: #fff; font-size: 38px; font-weight: 900; }
.welcome-reminder-medal span { display: block; transform: rotate(-8deg); }
.welcome-reminder-ribbon { position: relative; margin: 12px 0; border-radius: 10px; padding: 12px 16px; color: #fff; background: #ff9b00; box-shadow: 0 5px 0 #e76500; font-size: max(var(--font-min-control), 15px); font-weight: 900; letter-spacing: .02em; }
.welcome-reminder h2 { margin: 0 auto; max-width: 280px; color: #b94912; font-size: 22px; line-height: 1.35; text-shadow: none; }
.welcome-reminder-copy { margin: 8px 0 13px; color: #885d43; font-size: max(var(--font-min-body), 11px); line-height: 1.55; }
.welcome-reminder h2, .welcome-reminder-copy, .welcome-reminder-rule { display: none; }
.welcome-reminder-streak { display: flex; align-items: center; justify-content: space-between; gap: 5px; padding: 11px 12px; border-radius: 14px; background: #fff8ed; color: #8e4a13; font-size: max(var(--font-min-readable), 9px); }
.welcome-reminder-streak strong { color: #ea5b14; font-size: 18px; white-space: nowrap; }
.welcome-reminder-days { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 8px; margin: 14px 0 0; padding: 0; border-radius: 16px; background: transparent; }
.welcome-reminder-days .welcome-day { grid-column: span 2; padding: 8px 1px; }
.welcome-reminder-days .welcome-day:nth-child(5) { grid-column: 2 / span 2; }
.welcome-reminder-rule { margin: 9px 0 12px; padding: 9px; border: 1px solid #ffc98e; border-radius: 11px; color: #8c4a19; background: #fff4e1; font-size: max(var(--font-min-body), 10px); font-weight: 800; line-height: 1.6; }
.welcome-reminder-actions { display: grid; gap: 8px; }
.welcome-reminder-primary { width: 100%; border: 2px solid #f5a000; border-radius: 28px; padding: 14px 10px; color: #c55400; background: #ffe34f; box-shadow: 0 4px 0 #d56c00; font-size: max(var(--font-min-control), 16px); font-weight: 900; }
.welcome-reminder-primary:active { transform: translateY(2px); box-shadow: 0 2px 0 #d56c00; }
.welcome-reminder-close { display: block; margin: 18px auto 0; width: 44px; height: 44px; border: 1px solid #fff8; border-radius: 50%; color: #fff; background: transparent; font-size: 26px; line-height: 1; }
.welcome-reminder-location { min-height: 0; margin: 6px 0 0; color: #b84b3f; font-size: max(var(--font-min-body), 10px); line-height: 1.6; }
[hidden] { display: none !important; }
.daily-card { padding: 14px; border-radius: 24px; background: #fff; color: #334c43; overflow: hidden; border: 1px solid var(--line); }
.daily-meta { display: flex; justify-content: space-between; gap: 8px; font-size: max(var(--font-min-body), 10px); color: #6c7563; }
.poster-preview { display: block; width: 100%; padding: 0; border: 0; border-radius: 12px; overflow: hidden; margin-top: 12px; background: #f6f1df; }
.poster-preview img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 4; }
.daily-actions { display: flex; gap: 9px; margin-top: 14px; }
.daily-actions button { flex: 1; padding: 11px 4px; border-radius: 12px; border: 1px solid #c4c9ae; background: transparent; color: #36584b; font-size: max(var(--font-min-control), 12px); }
.daily-actions button:last-child { background: #36584b; color: #fff; border-color: #36584b; }
.daily-hint { font-size: max(var(--font-min-body), 10px); line-height: 1.7; color: #757c67; margin-bottom: 0; }
#homeView .checkin-banner { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
#homeView .checkin-banner h3 { font-size: 16px; }
#homeView .checkin-banner p { margin: 5px 0; }
#homeView .checkin-banner small { color: #5d8573; font-size: max(var(--font-min-readable), 10px); }
.referral-entry { width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 18px; border-radius: 18px; margin-top: 12px; border: 1px solid var(--line); background: #fff; text-align: left; color: var(--ink); }
.referral-entry strong { font-size: max(var(--font-min-body), 15px); }
.referral-entry small { display: block; color: var(--muted); font-size: max(var(--font-min-readable), 11px); margin-top: 7px; }
.home-campaign { width: 100%; text-align: left; color: var(--ink); margin-bottom: 12px; }
.quote-dialog { width: min(90vw, 370px); max-height: 90vh; overflow-y: auto; padding: 18px; border: 0; border-radius: 20px; color: var(--ink); }
.quote-dialog::backdrop { background: #11263d99; }
.quote-dialog img { display: block; width: 100%; border-radius: 12px; }
.quote-dialog a { display: block; text-align: center; text-decoration: none; margin: 14px 0; }
.quote-dialog p { font-size: max(var(--font-min-body), 12px); line-height: 1.7; color: #71808c; }
.home-campaigns { margin: 0 -1px; }
.campaign-track { display: flex; gap: 0; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; border-radius: 24px; touch-action: pan-x pan-y; }
.campaign-track::-webkit-scrollbar { display: none; }
.campaign-slide { flex: 0 0 100%; min-height: 244px; padding: 22px 20px; position: relative; overflow: hidden; border-radius: 24px; color: white; scroll-snap-align: start; box-shadow: var(--shadow); }
.referral-slide { background: linear-gradient(125deg, #ff7655 0%, #f25349 52%, #c93b5b 100%); }
.draw-slide { background: linear-gradient(125deg, #264b63 0%, #367c80 60%, #55ae91 100%); }
.care-slide { background: linear-gradient(125deg, #7553a7 0%, #b05d91 55%, #e28378 100%); }
.campaign-slide::after { content: ""; position: absolute; width: 192px; height: 192px; right: -64px; bottom: -92px; border: 26px solid rgba(255,255,255,.13); border-radius: 50%; }
.slide-kicker, .campaign-slide h1, .campaign-slide p, .slide-actions, .campaign-slide > .slide-primary, .slide-count { position: relative; z-index: 1; }
.slide-kicker { font-size: max(var(--font-min-readable), 11px); letter-spacing: .08em; color: rgba(255,255,255,.82); }
.campaign-slide h1 { margin: 14px 0 8px; max-width: 250px; font-size: 25px; line-height: 1.18; letter-spacing: -.04em; }
.campaign-slide p { max-width: 235px; margin: 0; color: rgba(255,255,255,.83); font-size: max(var(--font-min-body), 11px); line-height: 1.6; }
.slide-actions { display: flex; align-items: center; gap: 15px; margin-top: 16px; }
.slide-primary, .slide-secondary { border: 0; border-radius: 999px; padding: 10px 15px; font-size: max(var(--font-min-control), 11px); font-weight: 800; }
.slide-primary { margin-top: 16px; color: #853c34; background: #fff2d7; }
.slide-actions .slide-primary { margin-top: 0; }
.slide-primary span { padding-left: 8px; }
.slide-secondary { padding: 9px 3px; color: white; background: transparent; }
.slide-art { position: absolute; right: 22px; top: 56px; color: rgba(255,255,255,.28); font-size: 84px; font-weight: 800; transform: rotate(-10deg); }
.slide-count { position: absolute; right: 20px; bottom: 18px; color: rgba(255,255,255,.72); font-size: max(var(--font-min-readable), 9px); letter-spacing: .1em; }
.campaign-pagination { display: flex; justify-content: center; align-items: center; gap: 6px; height: 22px; }
.campaign-dot { width: 6px; height: 6px; padding: 0; border: 0; border-radius: 10px; background: #cad4d8; transition: width .2s ease, background .2s ease; }
.campaign-dot.active { width: 18px; background: var(--brand); }
.home-progress { margin-top: 10px; padding: 16px; border: 1px solid var(--line); border-radius: 20px; background: white; }
.progress-heading { display: flex; justify-content: space-between; align-items: center; }
.progress-heading .eyebrow { font-size: max(var(--font-min-readable), 9px); }
.progress-heading h2 { margin: 4px 0 0; font-size: 16px; }
.progress-heading .section-link { padding: 6px 0 6px 8px; }
.home-progress-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px; margin-top: 12px; }
.home-progress-stat { padding: 10px 12px; border: 1px solid #e8efed; border-radius: 13px; background: #f7faf9; color: var(--ink); text-align: left; }
.home-progress-stat > span, .home-progress-stat em { display: block; font-size: max(var(--font-min-control), 10px); font-style: normal; color: #75858d; }
.home-progress-stat strong { display: block; margin: 3px 0; font-size: 22px; line-height: 1.1; }
.home-progress-stat strong small { margin-left: 3px; font-size: max(var(--font-min-control), 10px); font-weight: 500; }
.home-progress-stat em { color: #318064; }
.reward-status { width: 100%; display: flex; align-items: center; gap: 9px; padding: 12px 2px 0; margin-top: 11px; border: 0; border-top: 1px solid var(--line); background: transparent; color: #526273; text-align: left; font-size: max(var(--font-min-body), 10px); }
.reward-status > span:nth-child(2) { flex: 1; }
.reward-icon { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 8px; color: #9a6b32; background: #fff4d9; font-weight: 800; }
.home-daily-card { margin-top: 18px; }
.energy-page-note { margin: -2px 0 15px; color: var(--muted); font-size: max(var(--font-min-body), 12px); line-height: 1.7; }
.energy-track { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 -1px; padding: 2px 1px 14px; touch-action: pan-x pan-y; overscroll-behavior-x: contain; }
.energy-track::-webkit-scrollbar { display: none; }
.energy-slide { flex: 0 0 100%; min-height: 468px; padding: 26px 22px; position: relative; overflow: hidden; border-radius: 25px; color: #294d40; scroll-snap-align: start; background: linear-gradient(145deg, #f8e6c4, #d6e1c1 58%, #9db9a5); box-shadow: var(--shadow); }
.energy-slide:nth-child(2) { background: linear-gradient(145deg, #f2dfd1, #d9e8d5 58%, #a8c2bb); }
.energy-slide:nth-child(3) { background: linear-gradient(145deg, #f3e6c6, #e0dfc4 58%, #b4c5a0); }
.energy-slide:nth-child(4) { background: linear-gradient(145deg, #f0ddd2, #d7e3cc 58%, #9ab5a2); }
.energy-slide:nth-child(5) { background: linear-gradient(145deg, #f7e5bf, #dbe6cf 58%, #a1bda9); }
.energy-slide:nth-child(6) { background: linear-gradient(145deg, #f2dfc6, #d8e2c7 58%, #9bb8a0); }
.energy-slide:nth-child(7) { background: linear-gradient(145deg, #f4dfd0, #d6e4d4 58%, #9eb8b2); }
.energy-slide::before { content: ""; position: absolute; width: 142px; height: 142px; right: -32px; top: 38px; border-radius: 50%; background: rgba(255,244,202,.62); }
.energy-slide::after { content: ""; position: absolute; width: 470px; height: 180px; left: -42px; bottom: -86px; border-radius: 50% 50% 0 0; background: rgba(50,105,85,.62); transform: rotate(-7deg); }
.energy-slide > * { position: relative; z-index: 1; }
.energy-kicker { color: #60715d; font-size: max(var(--font-min-readable), 10px); letter-spacing: .1em; }
.energy-slide h2 { margin: 58px 0 11px; max-width: 245px; color: #294d40; font-size: 31px; line-height: 1.2; letter-spacing: -.05em; }
.energy-slide p { max-width: 270px; color: #516850; font-size: max(var(--font-min-body), 14px); line-height: 1.8; }
.energy-signature { position: absolute; left: 22px; bottom: 20px; color: #eef2df; font-size: max(var(--font-min-readable), 10px); letter-spacing: .08em; }
.energy-swipe-hint { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 2px 0 12px; color: #789087; font-size: max(var(--font-min-body), 11px); }
.energy-arrow { border: 0; background: transparent; color: #527267; font-size: 23px; padding: 4px 8px; }
.energy-dots { display: flex; justify-content: center; gap: 6px; margin-bottom: 16px; }
.energy-dot { width: 6px; height: 6px; padding: 0; border: 0; border-radius: 10px; background: #c4d3cc; }
.energy-dot.active { width: 18px; background: #36584b; }
.energy-share-row { display: flex; gap: 9px; }
.energy-share-row button { flex: 1; padding: 12px 4px; border-radius: 12px; border: 1px solid #c4c9ae; background: #fff; color: #36584b; font-size: max(var(--font-min-control), 12px); }
.energy-share-row button:last-child { background: #36584b; color: #fff; border-color: #36584b; }

.welcome-reminder-streak { flex-wrap: wrap; justify-content: center; gap: 8px 14px; padding: 8px; }
.welcome-reminder-location:empty { display: none; }
