/* Align Health: photography, warm paper and clear app controls. */
.align-app-surface{background:#f5f2ec;color:#232b26;padding-bottom:calc(90px + env(safe-area-inset-bottom));--teal:#354536}
.align-app-surface .site-header{background:#f5f2ec;position:static}.align-app-surface .app-sidebar,.align-app-surface .site-footer{display:none}
.align-app-surface .stride-app{max-width:1160px;margin:auto;padding:24px 20px 32px;background:transparent}
.align-app-surface .bottom-nav{display:grid!important;grid-template-columns:repeat(4,1fr);position:fixed;bottom:0;max-width:600px;left:0;right:0;margin-inline:auto;margin-bottom:0;border-radius:0;background:#f5f2ec;box-shadow:none;border:0;border-top:1px solid #d8d5cb;padding-bottom:max(8px,env(safe-area-inset-bottom))}
.align-app-surface .bottom-nav>a[aria-current]>span{background:#e4e6da;color:#354536}.align-app-surface .bottom-nav a{color:#5b6259}
.stride-app .st-visual-home{max-width:1080px;margin:auto;color:#232b26}
.vh-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}
.stride-app .vh-heading p{font-size:11px;letter-spacing:.04em;color:#656c60;margin-bottom:5px}
.stride-app .vh-heading h1{font:400 38px/1.1 Georgia,serif;letter-spacing:-1.2px}
.vh-avatar{display:grid;place-items:center;flex:none;width:44px;height:44px;border:1px solid #cfcec1;border-radius:50%;background:transparent;color:#303e32}.vh-avatar svg{width:22px;height:22px}
.vh-home-layout{display:grid;gap:27px;align-items:start}
.vh-timer-card{position:relative;isolation:isolate;overflow:hidden;padding:18px;border-radius:10px;background:#263730;color:#fffdf6}
.vh-timer-card:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(#152e2bcc,#172d29d9),url('images/breathe.jpg') center/cover}
.vh-timer-label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:#f2eee3}
.vh-timer-label a{display:flex;align-items:center;gap:6px;min-height:30px;color:#f2eee3}.vh-timer-label svg{width:14px;height:14px}
.vh-ring{position:relative;width:210px;max-width:100%;aspect-ratio:1;margin:5px auto 13px}
.vh-ring>svg{width:100%;height:100%;display:block;transform:rotate(-90deg)}.vh-ring circle{fill:none;stroke-width:5;stroke-linecap:round}
.vh-ring-track{stroke:#ffffff40}.stride-app .vh-ring .st-ring-progress{stroke:#dfc6a2;transition:stroke-dasharray 1s linear}
.vh-ring-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px}
.stride-app .vh-ring-center strong{font:400 52px/1.1 var(--body);letter-spacing:-2px;font-variant-numeric:tabular-nums;color:#fffdf6}.vh-ring-center span{font-size:12px;color:#e4e2d4}.vh-ring-center small{display:none}
.stride-app .vh-start{display:flex;align-items:center;justify-content:center;width:100%;min-height:46px;margin:0 auto;background:#f4efe4;color:#253329;border:0;border-radius:5px;font-size:13px;box-shadow:none;font-weight:600}
.vh-shift-cue{display:flex;align-items:center;gap:10px;margin:17px 0 0;padding:14px 0 0;border:0;border-top:1px solid #ffffff30;background:transparent;color:#fffdf6}
.vh-shift-cue>span:first-child{display:grid;place-items:center;color:#d8c3a3}.vh-shift-cue>span:nth-child(2){display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.vh-shift-cue strong{font-size:12px;font-weight:600}.vh-shift-cue small{font-size:11px;color:#e3e3d6}.vh-shift-cue svg{width:19px;height:19px}.vh-shift-cue>svg{width:16px;height:16px}
.vh-section-label{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.stride-app .vh-section-label h2{font:400 26px/1.2 Georgia,serif;letter-spacing:-.5px}.vh-section-label a{display:flex;gap:6px;align-items:center;font-size:11px;color:#4e594b;min-height:44px}.vh-section-label svg{width:14px;height:14px}
.vh-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 13px}
.vh-tile{padding:0;min-width:0;border:0;border-radius:7px;overflow:hidden;background:#fffdf8;color:#26352c;text-align:left;display:flex;flex-direction:column;box-shadow:0 1px 0 #dedbd2}
.vh-tile-art{display:block;position:relative;width:100%;height:126px;overflow:hidden}.vh-tile-art>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}.vh-tile-label{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:46px;padding:11px 12px;font-size:13px;font-weight:600;line-height:1.3}.vh-tile-label>span{font-size:17px;font-weight:400;color:#6e7867}
.vh-journal .vh-tile-art img{object-position:50% 32%}.vh-learn .vh-tile-art img{object-position:50% 45%}.vh-movement .vh-tile-art img{object-position:30% 50%}
.vh-ramadan{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin-top:18px;padding:16px 14px;background:#e9e3d8;border:1px solid #d9d0c1;border-radius:6px;color:#383e31;font-size:11px}.vh-ramadan span{display:flex;align-items:center;gap:9px}.vh-ramadan svg{width:17px;height:17px}
.stride-app .vh-water-wrap .st-water-card{display:flex;align-items:center;justify-content:space-between;gap:8px;border:0;border-top:1px solid #d6d5c9;border-radius:0;background:transparent;padding:20px 0 0;margin:23px 0 0;box-shadow:none}.stride-app .vh-water-wrap .st-water-drop,.stride-app .vh-water-wrap .st-water-amount small{display:none}.stride-app .vh-water-wrap h2{font-size:12px}.stride-app .vh-water-wrap .st-water-amount strong{font-size:22px;color:#384a3c}.stride-app .vh-water-wrap .st-water-actions{width:auto;margin:0;gap:7px}.stride-app .vh-water-wrap .st-water-actions .st-button{font-size:11px;min-height:42px;padding:8px 12px;background:transparent;border:1px solid #b6bda9;border-radius:5px;color:#384a3c}.stride-app .vh-water-wrap .st-round-button{width:40px;height:40px;min-height:40px}
.vh-details{margin-top:24px;border-top:1px solid #d6d5c9;font-size:12px;color:#515d50}.vh-details summary{padding:17px 0;cursor:pointer}.vh-timer-dates{display:grid;gap:12px;padding:16px;background:#fffdf8;border:1px solid #dedbd2;border-radius:6px}.vh-timer-dates span{display:flex;flex-direction:column;gap:3px}.vh-timer-dates strong{color:#28392e}
.align-app-surface .st-panel,.align-app-surface .wb-card{border-radius:8px;box-shadow:none;border-color:#dcd9ce;background:#fffdf8}
.align-app-surface .wb-card h2,.align-app-surface .st-page-heading h1,.align-app-surface .wb-editorial-heading h1{font-family:Georgia,serif;font-weight:400;color:#26352c}
body.align-app-surface .stride-app .st-dialog[open]{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border:0;border-radius:0;overflow:auto;background:#f5f2ec;color:#26352c}
body.align-app-surface .stride-app .st-dialog:not(.st-onboarding-v12) .st-dialog-inner{box-sizing:border-box;max-width:650px;min-height:100%;margin:auto;padding:35px 24px}
body.align-app-surface .stride-app .st-dialog-heading h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.5px}
.align-app-surface .sc-calendar-card,.align-app-surface .sc-selected{border-radius:8px;border:1px solid #d8d6c9;background:#fffdf8}.align-app-surface .sc-selected{background:#eeeee5}.align-app-surface .sc-heading h1{font:400 32px/1.2 Georgia,serif;letter-spacing:-.6px}.align-app-surface .sc-date-cell.sc-day{background:#e9d8b8}.align-app-surface .sc-date-cell.sc-night{background:#d7e0df;color:#304846}.align-app-surface .sc-date-cell.sc-off{background:#e6e8dc}.align-app-surface .sc-button,.align-app-surface .sc-primary{border-radius:5px}
@media(hover:hover){.vh-tile:hover .vh-tile-art img{transform:scale(1.04)}.vh-tile:hover{box-shadow:0 2px 0 #8c9880}}
@media(min-width:760px){.align-app-surface .header-inner{max-width:1160px}.align-app-surface .stride-app{padding:35px 40px}.vh-heading{margin-bottom:30px}.stride-app .vh-heading h1{font-size:46px}.vh-home-layout{grid-template-columns:.85fr 1.25fr;gap:38px}.vh-timer-card{padding:27px;position:sticky;top:25px}.vh-ring{width:265px;margin-block:20px}.stride-app .vh-ring-center strong{font-size:63px}.vh-tiles{gap:20px}.vh-tile-art{height:160px}.vh-tile-label{font-size:14px;min-height:50px}.vh-details{max-width:450px}}
@media(max-width:759px){.align-app-surface .site-header{display:none}.align-app-surface .stride-app{padding-top:max(22px,env(safe-area-inset-top));min-height:calc(100svh - 90px)}}
@media(max-width:359px){.align-app-surface .stride-app{padding-inline:14px}.stride-app .vh-heading h1{font-size:34px}.vh-timer-card{padding:15px}.vh-ring{width:185px}.vh-tiles{gap:13px 10px}.vh-tile-art{height:110px}.vh-tile-label{font-size:12px;padding-inline:9px}}
@media(prefers-reduced-motion:reduce){.vh-tile-art>img,.vh-ring .st-ring-progress{transition:none}}

/* Keep the calendar card usable even when its photo request fails. */
.vh-calendar-fallback{height:100%;width:100%;display:grid;place-items:center;background:#e4e4d7;color:#43543c}.vh-calendar-fallback svg{width:54px;height:54px}
.align-app-surface:has([data-screen="profile"]) .app-header-actions{display:none}
.align-app-surface .st-welcome-copy:empty{display:none}
.align-app-surface .st-heading{margin-bottom:24px}.align-app-surface .st-heading h1{font:400 36px/1.15 Georgia,serif}
.align-app-surface .st-more-prompt,.align-app-surface .st-assessment-card,.align-app-surface .st-push-reminders{border-radius:7px;background:#fffdf8;border-color:#d9d7ca;box-shadow:none}
.align-app-surface .st-more-prompt .st-mini-icon{background:transparent;color:#536649}

/* Refined photo proportions and contrast. */
.vh-heading{margin-bottom:20px}.vh-timer-card{border-radius:8px}
.vh-timer-card:before{background-image:linear-gradient(#152e2bb8,#172d29d4),url('images/breathe.jpg')}
.vh-tile{border-radius:5px;background:#fffdf8}.vh-tile-art{height:auto;aspect-ratio:4/3}
.vh-tile-label{min-height:45px;padding:12px 13px;font-weight:400;font-size:14px}
.vh-tile-label>span{font-size:15px;color:#65725d}
.vh-schedule .vh-tile-art img{object-position:50% 56%}.vh-learn .vh-tile-art img{object-position:50% 70%}
.align-app-surface:has([data-screen="today"]) .app-header-actions{display:none}
@media(min-width:760px){.vh-tile-art{height:auto;aspect-ratio:3/2}.vh-tiles{gap:22px 20px}}
@media(max-width:359px){.vh-tile-label{padding-inline:9px;font-size:12px}.vh-tile-art{height:auto}}
