/* Shared presentation for the complete app. No account or timer behaviour here. */
body.align-app-surface{--paper:#f5f2ec;--ink:#232b26;--olive:#354536;--line:#d9d7cc;--muted:#656c60;padding-left:0}
body.align-app-surface .stride-app{color:var(--ink)}
body.align-app-surface .stride-app :is(.st-panel,.wb-card,.st-assessment-card,.st-push-reminders,.st-more-prompt,.st-custom-window,.st-week-card,.st-record-stats>div){border-color:var(--line);border-radius:7px;background:#fffdf8;box-shadow:none;color:var(--ink)}
body.align-app-surface .stride-app :is(.st-button,.wb-primary,.wbc-button,.sc-primary){background:var(--olive);border-color:var(--olive);color:#fffdf6;border-radius:5px;box-shadow:none;font-weight:600}
body.align-app-surface .stride-app :is(.st-button-outline,.wb-button,.wbc-secondary,.sc-button){background:transparent;color:var(--olive);border:1px solid #b8bfac;border-radius:5px;box-shadow:none}
body.align-app-surface .stride-app :is(.st-text-button,.st-text-link,.wb-link,.wb-back){color:#42543b}
body.align-app-surface .stride-app :is(.st-field input,.st-field select,.st-field textarea,.wb-field input,.wb-field select,.wb-field textarea,.wbc-content input,.wbc-content select,.wbc-dialog input,.wbc-dialog select,.wbc-dialog textarea){border:1px solid #cccfc1;border-radius:5px;background:#fffdf8;color:#25372c;box-shadow:none}
body.align-app-surface .stride-app :is(.st-field,.wb-field,.wbc-content label,.wbc-dialog label){color:#46513f}
body.align-app-surface .stride-app :is(.st-panel h2,.wb-card h2,.wbc-content h2,.wbc-content h3,.wbc-dialog h2,.wbc-dialog h3,.st-custom-window h2){font-family:Georgia,serif;font-weight:400;letter-spacing:-.025em;color:var(--ink)}
body.align-app-surface .stride-app :is(.st-muted,.wb-subtle,.wb-card-copy,.wbc-small){color:#666f60}
body.align-app-surface .stride-app :focus-visible{outline:2px solid #697950;outline-offset:4px}
/* Every section begins with its own photograph and one clear title. */
body.align-app-surface .stride-app .pa-photo-heading{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:218px;margin:0 0 24px;padding:23px;overflow:hidden;border-radius:7px;background:#283b30;text-align:left;color:#fffdf5}
body.align-app-surface .stride-app .pa-photo-heading>img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:none;border-radius:0}
body.align-app-surface .stride-app .pa-photo-heading:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#182b1808 20%,#102016b8 100%)}
body.align-app-surface .stride-app .pa-photo-heading>h1{font:400 37px/1.1 Georgia,serif;letter-spacing:-1px;color:#fffdf5;margin:0;max-width:100%}
body.align-app-surface .stride-app [data-screen=profile] .pa-photo-heading>img{object-position:50% 32%}
body.align-app-surface .stride-app .wb-heading-art{display:none}
/* Tools become photographs, rather than pastel icon badges. */
body.align-app-surface .stride-app .st-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
body.align-app-surface .stride-app .st-quick-tool{position:relative;display:flex;flex-wrap:wrap;gap:0;align-items:center;justify-content:space-between;padding:0;border:0;border-radius:6px;overflow:hidden;background:#fffdf8;color:#27392b;box-shadow:0 1px 0 #d8d6cb}
body.align-app-surface .stride-app .st-quick-tool .pa-tool-photo{display:block;flex:0 0 100%;width:100%;height:124px;object-fit:cover;border-radius:0;margin:0}
body.align-app-surface .stride-app .st-quick-tool>span{padding:13px;font-size:13px}.stride-app .st-quick-tool>svg{width:16px;height:16px;margin-right:12px;color:#68735e}
body.align-app-surface .stride-app .pa-tool-photo{display:block;width:66px;height:76px;flex:none;object-fit:cover;border-radius:4px}
body.align-app-surface .stride-app :is(.st-tool-row,.st-tool-choice){border-color:#d9d7cc;border-radius:6px;background:#fffdf8}
body.align-app-surface .stride-app .st-quick-tool[data-tool=journal] img{object-position:center 30%}
/* Plans, progress, journal and account panels share the same restrained treatment. */
body.align-app-surface .stride-app .st-plan-card{background:#fffdf8;border:1px solid #d7d6c9;border-radius:7px;color:#27372d;box-shadow:none;overflow:hidden}
body.align-app-surface .stride-app .st-plan-card:before{content:"";display:block;position:relative;inset:auto;height:112px;margin:-22px -22px 22px;background:url('images/breathe.jpg') center/cover;opacity:1;transform:none;border-radius:0}
body.align-app-surface .stride-app .st-plan-colour-14:before{background-image:url('images/ie-coastal-walk.jpg')}
body.align-app-surface .stride-app .st-plan-card.is-selected{border:2px solid #63734e;background:#f1f2e8}
body.align-app-surface .stride-app .st-plan-card :is(h2,p,strong,small,.st-plan-selection){color:#304331}
body.align-app-surface .stride-app .st-plan-card>strong{font-family:Georgia,serif;font-weight:400}.stride-app .st-plan-card p{font-size:12px}
body.align-app-surface .stride-app :is(.st-mini-icon,.st-history-icon,.st-mood-button,.st-plan-check,.st-custom-tag){background:#e9ecdf;color:#4e6242;border-color:#d4dcc7}
body.align-app-surface .stride-app .st-mood-button.is-selected{background:#dde6d0;border-color:#6c7b51}
body.align-app-surface .stride-app :is(.st-record-stats strong,.st-week-count strong,.wb-week-stats strong){font-family:Georgia,serif;font-weight:400;color:#314631}
body.align-app-surface .stride-app :is(.st-progress-stat,.st-history-row,.st-journal-entry,.st-setting-row){border-color:#ddded2}
/* Daily tools and their content pages. */
body.align-app-surface .stride-app .wb-tabs{border:0;border-bottom:1px solid #cdd0c2;border-radius:0;padding:0;background:transparent;gap:8px}
body.align-app-surface .stride-app .wb-tab{border-radius:0;background:transparent;color:#67705f;box-shadow:none;border-bottom:2px solid transparent}
body.align-app-surface .stride-app .wb-tab.is-active{color:#2e432e;border-bottom-color:#52683c;background:transparent}
body.align-app-surface .stride-app :is(.wb-habit,.wb-choice,.wb-reminder-item,.wb-window-note,.wbc-planner,.wbc-slot,.wbc-empty){background:#fffdf8;border:1px solid #d9dbcb;border-radius:6px;color:#344a32;box-shadow:none}
body.align-app-surface .stride-app :is(.wb-habit.is-done,.wb-choice:has(input:checked)){background:#e9eedf;border-color:#8b9972}
body.align-app-surface .stride-app :is(.wb-habit-symbol,.wb-habit-check,.wb-week-day strong,.wb-context-tags span){border-radius:5px;background:#e7ecda;color:#526442}
body.align-app-surface .stride-app :is(.wb-timeline-dot,.wb-week-day.has-record strong){background:#798760;color:#fff}
body.align-app-surface .stride-app :is(.wb-window-pair small,.wb-week-stats span,.wb-date-controls,.wb-plan-label){color:#66745e}
body.align-app-surface .stride-app .wb-explore-card{border:0;border-radius:6px;box-shadow:none;background:#fffdf8;color:#2e3f30}
body.align-app-surface .stride-app .wb-explore-card>span>strong{font:400 25px/1.2 Georgia,serif;color:#273b2b}
body.align-app-surface .stride-app .wbc-content{--wbc-ink:#25352a;--wbc-muted:#66705f;--wbc-line:#daddcd;--wbc-green:#3c5135;padding-top:0}
body.align-app-surface .stride-app .wbc-heading{display:none}
body.align-app-surface .stride-app :is(.wbc-recipe,.wbc-move,.wbc-article){border-radius:6px;background:#fffdf8;box-shadow:none;border:1px solid #d9dbce}
body.align-app-surface .stride-app :is(.wbc-recipe strong,.wbc-article strong){font:400 22px/1.22 Georgia,serif;letter-spacing:-.4px}
body.align-app-surface .stride-app :is(.wbc-recipe img,.wbc-article img,.wbc-move>img){height:190px}
body.align-app-surface .stride-app .wbc-breathe-hero{background:linear-gradient(#f5f2ece6,#f5f2ecd9),url('images/breathe.jpg') center/cover;border-color:#d5dace;border-radius:7px}
body.align-app-surface .stride-app :is(.wbc-orbit,.wbc-live-orb){background:#dce4ce;border-color:#acb899;box-shadow:none;color:#405735}
body.align-app-surface .stride-app .wbc-pills .wbc-button{border-radius:4px}
/* Account overlays keep their existing controls and full-screen forms. */
body.align-app-surface .as-dialog{background:#f5f2ec;border-radius:8px;color:#293b2d}
body.align-app-surface .as-body{background:#f5f2ec}.align-app-surface .as-body h2{font-family:Georgia,serif;font-weight:400}
body.align-app-surface :is(.as-field input,.as-field select,.as-plan>span){border-radius:5px;border-color:#cbd2bd;background:#fffdf8}
body.align-app-surface :is(.as-submit,.as-form button[type=submit]){background:#354536;border-radius:5px}
@media(min-width:760px){body.align-app-surface .stride-app .pa-photo-heading{min-height:280px;padding:35px;margin-bottom:30px}body.align-app-surface .stride-app .pa-photo-heading>h1{font-size:49px}body.align-app-surface .stride-app .st-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}body.align-app-surface .stride-app .st-quick-tool .pa-tool-photo{height:160px}}
@media(max-width:359px){body.align-app-surface .stride-app .pa-photo-heading{min-height:190px;padding:19px}body.align-app-surface .stride-app .pa-photo-heading>h1{font-size:32px}body.align-app-surface .stride-app .st-quick-grid{gap:12px}.stride-app .st-quick-tool>svg{margin-right:9px}}
@media(prefers-reduced-motion:reduce){body.align-app-surface .stride-app *{scroll-behavior:auto!important}}

body.align-app-surface .stride-app .ah-push-open{background:#fffdf8;color:#3e5335;border:1px solid #c6cfb7;border-radius:5px}
body.align-app-surface .stride-app .ah-push-copy p{color:#687160}
body.align-app-surface .stride-app .ah-push-icon{background:#e7ecda;color:#526442;border-radius:6px}

body.align-app-surface .stride-app .st-plan-card :is(.st-plan-card-top,.st-plan-card-top>span,.st-plan-split,.st-plan-split>span,.st-plan-selection){color:#405339;border-color:#bfc9b1}

/* Readable text and consistent breathing room, using the existing bundled typeface. */
body.align-app-surface .stride-app{font-size:16px;line-height:1.55}
body.align-app-surface .stride-app :is(.st-panel h2,.wb-card h2,.wbc-content h2,.wbc-content h3,.st-custom-window h2,.st-dialog h2){font-family:AlignSans,Arial,sans-serif;font-weight:600;letter-spacing:-.025em;line-height:1.25}
body.align-app-surface .stride-app :is(.st-panel h2,.wb-card h2){font-size:23px}
body.align-app-surface .stride-app :is(.st-field,.wb-field,.wb-choice strong,.wb-habit strong,.st-quick-tool>span,.vh-tile-label){font-size:16px;font-weight:600}
body.align-app-surface .stride-app :is(.st-field input,.st-field select,.st-field textarea,.wb-field input,.wb-field select,.wb-field textarea){font-size:17px;line-height:1.5}
body.align-app-surface .stride-app [data-screen=profile]>:is(section,details,a){margin-bottom:22px}
body.align-app-surface .stride-app :is(.wb-day-side,.wb-day-grid){gap:22px}
body.align-app-surface .stride-app .wb-tabs{flex-wrap:wrap;gap:6px}
body.align-app-surface .stride-app .wb-tab{padding:10px 12px;font-size:14px}
body.align-app-surface .stride-app .st-onboarding-v12 h2{font-family:AlignSans,Arial,sans-serif;font-size:clamp(27px,4.5vw,38px);font-weight:600;letter-spacing:-.035em;line-height:1.15}
body.align-app-surface .stride-app .st-onboarding-v12 :is(.st-cue-option strong,.st-choice-card strong,.st-choice strong){font-size:17px;font-weight:600}
.aj-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 22px}
.aj-toolbar .st-button{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.aj-locked{text-align:center;padding:38px 24px!important}.aj-locked>svg{width:42px;height:42px;color:#42543b;margin:0 auto 20px}.aj-locked p{margin-bottom:25px}
.aj-history-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.aj-history-heading .st-field{margin-bottom:12px}
.aj-day-note{padding:18px 0;border-bottom:1px solid #dddccf}.aj-day-note summary{font-weight:600;cursor:pointer}.aj-day-note p{white-space:normal;overflow-wrap:anywhere}
.stride-app [data-screen=journal]>.st-panel{margin-bottom:22px}.stride-app .st-journal-entry p{overflow-wrap:anywhere;white-space:normal}.stride-app .st-journal-entry .st-button{font-size:14px;padding:9px 14px;min-height:40px}.stride-app .st-journal-entry time{font-size:14px}
.af-stage{border-top:1px solid #dbdacf;margin:20px 0 4px;text-align:left}.af-stage summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 0;list-style:none}.af-stage summary::-webkit-details-marker{display:none}.af-stage summary strong,.af-stage summary small{display:block}.af-stage summary strong{font-size:17px;font-weight:600}.af-stage summary small{font-size:12px;color:#616b5c;margin-bottom:4px}.af-stage-body{font-size:15px;line-height:1.55}.af-stage-body ol{list-style:none;margin:20px 0;padding:0}.af-stage-body li{border-left:2px solid #dadbcd;padding:3px 0 3px 16px;margin-bottom:18px}.af-stage-body li.is-current{border-left:3px solid #496041}.af-stage-body li small{display:block;margin-top:3px;font-size:13px;color:#68715f}.af-stage-body p{margin:9px 0}.af-sources{font-size:13px;margin:18px 0}
@media(max-width:380px){.aj-toolbar .st-button{font-size:14px;padding:12px}.stride-app .wb-tab{padding:9px!important;font-size:13px!important}}

/* The timer sits on photography; its expanded guide gets an opaque reading surface. */
.stride-app .vh-timer-card .af-stage{border-color:#ffffff55}
.stride-app .vh-timer-card .af-stage summary small{color:#e1e6d9}
.stride-app .vh-timer-card .af-stage summary strong{color:#fffdf5}
.stride-app .vh-timer-card .af-stage-body{background:#fffdf8;color:#25372c;padding:18px;border-radius:5px;margin-bottom:18px}
.stride-app .vh-timer-card .af-stage-body :is(p,strong){color:#25372c}
.stride-app .vh-timer-card .af-stage-body small{color:#626c5c}
.stride-app .vh-timer-card .af-stage-body a{color:#3c5632;text-decoration:underline}

/* Sage background surrounds the ivory cards without tinting photographs. */
body.align-app-surface,body.align-app-surface .stride-app,body.align-app-surface .st-app-shell,body.align-app-surface .st-app-main{--paper:#e5ecdf;--st-paper:#e5ecdf;background:#e5ecdf}
body.align-app-surface .app-tabbar{background:#f0f4eb;border-color:#bdcbb1}
body.stride-site .stride-app .st-onboarding-v12[open],body.stride-site .stride-app .sc-fullscreen[open]{background:#e5ecdf}
body.align-app-surface .stride-app .st-dialog{background:#e5ecdf}
