:root{--bg:#f8f6f1;--ink:#303329;--olive:#596044;--sand:#ece9e1;--muted:#696b5e;--line:#deddd2}*{box-sizing:border-box}html{font-size:16px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,sans-serif;line-height:1.5}header{max-width:1160px;margin:auto;padding:24px 32px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:16px}.brand{font:30px Georgia,serif;letter-spacing:5px;text-decoration:none;color:var(--ink)}.brand span{display:block;font:12px Arial;letter-spacing:2px;margin-top:10px}.demo{font-size:12px;color:var(--muted);border:1px solid var(--line);padding:7px 12px;border-radius:30px;white-space:nowrap}main{max-width:1100px;margin:0 auto;padding:38px 24px calc(110px + env(safe-area-inset-bottom))}.eyebrow{font-size:.75rem;letter-spacing:2px;text-transform:uppercase;color:var(--olive);margin:0 0 14px}h1{font:clamp(2rem,4vw,3.1rem)/1.12 Georgia,serif;font-weight:normal;margin:0 0 30px;max-width:750px}h2{font:1.65rem/1.2 Georgia,serif;font-weight:normal;margin:26px 0 14px}p{line-height:1.6}a,button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border:0}button:focus-visible,a:focus-visible{outline:3px solid #9a6b3e;outline-offset:4px}h1:focus{outline:none}svg{width:22px;height:22px;flex-shrink:0;vertical-align:middle}.muted{color:var(--muted)}.filter-group>p{font-size:.875rem;font-weight:600;margin:0 0 12px}.filter-group{margin-bottom:24px}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{background:var(--sand);color:var(--ink);padding:12px 17px;border-radius:24px;min-height:46px;font-size:.875rem;border:1px solid transparent}.chip:hover{border-color:var(--olive)}.chip[aria-pressed=true]{background:var(--olive);color:white}.home-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:44px;align-items:start}.choices{padding-top:8px}.choices .chips{display:grid;grid-template-columns:1fr 1fr}.choices .duration .chips{display:flex}.browse-link{color:var(--olive);font-size:.875rem;text-underline-offset:4px;display:inline-block;margin-top:6px;padding:8px 0;line-height:1.8}.browse-link svg{width:16px}.hero{background:#eeeadf;border:1px solid #e1dcce;border-radius:24px;overflow:hidden}.hero img{display:block;width:100%;height:260px;object-fit:cover;object-position:50% 42%}.hero-copy{padding:26px}.hero h2{font-size:2rem;line-height:1.1;margin:10px 0 14px}.meta{font-size:.875rem;color:var(--muted);display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0}.meta svg{width:17px;height:17px}.primary{display:inline-flex;gap:12px;align-items:center;justify-content:center;text-decoration:none;background:var(--olive);color:white;padding:14px 22px;border-radius:28px;min-height:50px;margin-top:10px;font-size:1rem}.primary:hover{background:#464e34}.hero .primary{width:100%}.smallnote{font-size:.8125rem;color:var(--muted);margin-top:22px}.smallnote:empty{display:none}nav{position:fixed;z-index:5;bottom:0;left:0;right:0;background:#f8f6f1f5;border-top:1px solid var(--line);display:flex;justify-content:center;gap:80px;padding:10px 16px max(12px,env(safe-area-inset-bottom));backdrop-filter:blur(12px)}nav a{color:var(--muted);text-decoration:none;text-align:center;min-width:90px;min-height:48px;padding:3px}nav svg{display:block;margin:0 auto 4px;width:23px;height:23px}nav span{display:block;font-size:.875rem}nav a[aria-current=page]{color:var(--olive);font-weight:bold}nav a[aria-current=page] svg{stroke-width:2.4}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card{border:1px solid var(--line);background:#fffdf8;border-radius:20px;padding:20px;min-width:0}.card:hover{border-color:#a6aa92}.card-top{display:flex;justify-content:space-between;align-items:center;gap:4px}.tag{font-size:.75rem;color:var(--olive);background:#eeeee5;border-radius:20px;padding:6px 10px}.favorite{width:44px;height:44px;border-radius:50%;background:transparent;color:var(--olive);display:grid;place-items:center;flex-shrink:0}.favorite:hover{background:var(--sand)}.saved svg{fill:var(--olive);stroke:var(--olive)}.card-link{color:inherit;text-decoration:none;display:block}.card-goal{display:block;font-size:.8125rem;color:var(--muted);margin-top:18px}.card h2{font-size:1.55rem;margin:8px 0 18px}.card-cta{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding-top:16px;margin-top:24px;font-size:.875rem;color:var(--olive)}.section-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:12px 0}.section-heading p{font-size:.875rem}.text-button{color:var(--olive);background:none;min-height:44px;text-decoration:underline;text-underline-offset:4px;font-size:.875rem}.library-filters{display:flex;justify-content:space-between;gap:26px;border-bottom:1px solid var(--line)}.back{color:var(--olive);text-decoration:none;display:inline-flex;align-items:center;gap:8px;margin-bottom:24px;min-height:44px;font-size:.875rem}.lesson{display:grid;grid-template-columns:1fr 1fr;gap:44px}.poster{position:relative;border-radius:22px;overflow:hidden;align-self:start}.poster img{display:block;width:100%;height:540px;object-fit:cover}.photo-caption{position:absolute;bottom:18px;left:18px;background:#f8f6f1ed;padding:9px 16px;border-radius:20px;font-size:.875rem}.lesson h1{margin-bottom:16px}.description{margin:22px 0}.availability{background:var(--sand);border-radius:16px;padding:18px 20px;margin:22px 0}.availability strong{font-size:.875rem}.availability p{font-size:.875rem;color:var(--muted);margin:6px 0 0}.outline{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:transparent;border:1px solid var(--olive);color:var(--olive);padding:12px 20px;border-radius:28px;min-height:48px}.empty{background:var(--sand);border-radius:24px;padding:36px;margin-top:18px;max-width:640px}.empty>svg{width:30px;height:30px;color:var(--olive)}.empty h2{margin-top:14px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:8px;left:8px;background:var(--olive);color:white;padding:12px;z-index:10;transform:translateY(-150%)}.skip:focus{transform:none}@media(max-width:850px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.home-layout{gap:24px}.library-filters{display:block}}@media(max-width:650px){header{padding:16px 20px}.brand{font-size:26px;letter-spacing:4px}.brand span{display:none}.demo{font-size:.75rem;padding:6px 10px}main{padding:24px 20px calc(100px + env(safe-area-inset-bottom))}.eyebrow{font-size:.75rem;letter-spacing:1.7px;margin-bottom:10px}h1{font-size:2rem;margin-bottom:22px}.home-layout{display:block}.choices{padding-top:0}.choices>.filter-group:first-child>p{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.filter-group{margin-bottom:18px}.filter-group>p{margin-bottom:8px}.chips{gap:7px}.chip{padding:10px 12px;min-height:44px}.choices .chips{display:flex}.browse-link{margin:0 0 14px;font-size:.8125rem}.hero{border-radius:20px;display:grid;grid-template-columns:minmax(0,1fr) 36%}.hero img{grid-column:2;grid-row:1;width:100%;height:100%;min-height:220px;object-position:65% 44%}.hero-copy{grid-column:1;grid-row:1;padding:20px 16px}.hero .eyebrow{font-size:.75rem;letter-spacing:1px;line-height:1.5}.hero h2{font-size:1.6rem;line-height:1.15;margin:10px 0}.hero .meta{font-size:.8125rem;gap:5px}.hero .meta svg{display:none}.hero .primary{padding:12px 10px;font-size:.875rem;min-height:46px;gap:6px}.hero .primary svg{width:17px}.cards{grid-template-columns:1fr}.card{padding:18px}.card h2{margin-bottom:10px}.card-goal{margin-top:8px}.card-cta{margin-top:16px}.lesson{grid-template-columns:1fr;gap:24px}.poster img{height:260px;object-position:50% 42%}.lesson h1{font-size:2rem}.back{margin-bottom:16px}.empty{padding:26px}nav{gap:0;justify-content:space-around;padding-left:8px;padding-right:8px}nav a{min-width:0;flex:1}nav span{font-size:.8125rem}.smallnote{font-size:.75rem}.library-filters .filter-group{margin-bottom:18px}}@media(prefers-reduced-motion:no-preference){button,a{transition:background-color .15s,border-color .15s}}@media(max-width:360px){main{padding-left:16px;padding-right:16px}.hero{grid-template-columns:1fr}.hero img{display:none}.hero-copy{padding:22px}.chip{padding:10px}.hero .primary{width:auto}}
/* MOVÊ V2 — extensions of the existing visual language */
fieldset.filter-group{border:0;padding:0;min-width:0}legend{font-size:.875rem;font-weight:600;margin-bottom:12px;padding:0}.choices legend{max-width:100%}.choices>fieldset:first-child legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.waiting{grid-template-columns:1fr;max-width:680px}.waiting .choices .chips{display:flex}.focus{font-size:.875rem;color:var(--olive);margin:8px 0}.recommendation-note{font-size:.875rem;color:var(--muted);margin:14px 0}.library-filters{display:block}.welcome{max-width:660px;margin:24px auto 0}.intro{font-size:1.125rem;color:var(--muted);max-width:490px}.welcome-steps{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin:30px 0}.welcome-steps p{margin:10px 0}.block{display:block;width:fit-content;margin-top:18px}.practice{max-width:820px;margin:auto}.practice h1{margin-bottom:16px}.video-stage{position:relative;aspect-ratio:16/9;min-height:270px;border-radius:22px;overflow:hidden;background:var(--sand);margin:24px 0}.video-stage>img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;position:absolute}.video-overlay{position:absolute;inset:0;background:#f8f6f1c9;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center}.video-label{font:1.6rem Georgia,serif}.video-overlay p{font-size:.8125rem;color:var(--muted)}.completion{max-width:620px;padding:30px 0}.completion legend{font:1.65rem Georgia,serif;margin-bottom:22px}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0;margin:28px 0}.summary strong{display:block;font:2.2rem Georgia,serif}.summary span{font-size:.875rem;color:var(--muted);display:block;margin-top:10px}.week-panel,.achievement{max-width:640px;margin:30px 0}.week{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;text-align:center}.week>div>span:first-child{font-size:.75rem;color:var(--muted)}.day-dot{display:grid;place-items:center;border:1px solid var(--line);width:36px;height:36px;border-radius:50%;margin:12px auto 0;color:var(--muted)}.day-dot.done{background:var(--olive);color:white;border-color:var(--olive)}.today .day-dot{outline:1px solid var(--olive);outline-offset:4px}.achievement{border:1px solid var(--line);border-radius:20px;padding:24px}.achievement h2{margin-top:8px}progress{width:100%;height:6px;border:0;appearance:none;background:var(--sand);border-radius:5px;overflow:hidden}progress::-webkit-progress-bar{background:var(--sand)}progress::-webkit-progress-value{background:var(--olive)}progress::-moz-progress-bar{background:var(--olive)}.share-layout{display:grid;grid-template-columns:minmax(0,360px) 1fr;gap:40px;align-items:center}.story{aspect-ratio:9/16;background:var(--bg);border:1px solid var(--line);padding:32px 28px;display:flex;flex-direction:column;justify-content:space-between;text-align:center;max-width:360px;width:100%;box-shadow:0 8px 28px #3033290a}.story .eyebrow{letter-spacing:1px;text-transform:none}.story-center>strong{font:clamp(2.8rem,7vw,4.5rem) Georgia,serif}.story-center>p{font-size:.875rem;color:var(--muted)}.story-feeling{border-top:1px solid var(--line);margin-top:26px;padding-top:20px}.story-feeling p{margin:8px 0;font-size:.875rem}.story-brand{font:2.25rem Georgia,serif;letter-spacing:5px}.story-brand+p{font-size:.875rem;color:var(--olive)}.retrospective-stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;margin:25px 0}.retrospective-stats strong{font:2.2rem Georgia,serif;padding-right:8px}.hero .text-button{font-size:.8125rem;text-align:left;line-height:1.6}.hero-copy{min-width:0}.welcome .primary{max-width:100%}.smallnote{overflow-wrap:anywhere}@media(max-width:650px){.summary{gap:10px;padding:24px 0}.summary strong{font-size:1.6rem}.summary span{font-size:.8125rem}.share-layout{grid-template-columns:1fr;gap:20px}.story{margin:auto}.share-actions{max-width:360px;margin:auto}.video-stage{aspect-ratio:4/3;min-height:260px}.welcome{margin-top:12px}.hero .recommendation-note{font-size:.8125rem}.hero img{min-height:100%}.week{gap:4px}.day-dot{width:30px;height:30px}.hero .primary{flex-wrap:wrap}.choices legend{line-height:1.5}.summary strong{white-space:nowrap}}@media(max-width:360px){.summary strong{font-size:1.3rem}.story{padding:24px 20px}}
/* Home: two decisions, with optional refinement. */
.home-recommendation{min-width:0}.home-recommendation>.browse-link{margin-top:12px}.region-refinement{margin:0 0 24px;color:var(--muted);font-size:.875rem}.region-refinement summary{cursor:pointer;padding:10px 0;min-height:44px;text-underline-offset:4px}.region-refinement summary:focus-visible{outline:3px solid #9a6b3e;outline-offset:4px}.region-refinement .filter-group{margin-top:10px;margin-bottom:0}.region-refinement legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.region-refinement .chips{display:flex}.region-refinement .chip{background:transparent;border-color:var(--line);font-size:.8125rem}.region-refinement .chip[aria-pressed=true]{background:var(--olive);border-color:var(--olive)}
/* Editorial opening and consistent text/photo recommendation proportions. */
.welcome-photo{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:40% 45%;border-radius:20px;margin:24px 0}.welcome-opening .welcome-steps{margin:24px 0}.home-layout{grid-template-columns:1fr;gap:10px}.home-layout .choices .chips{display:flex}.home-recommendation .hero{display:grid;grid-template-columns:minmax(0,1fr) 38%}.home-recommendation .hero img{display:block;grid-column:2;grid-row:1;width:100%;height:100%;min-height:220px;object-fit:cover;object-position:60% 42%}.home-recommendation .hero-copy{grid-column:1;grid-row:1}.home-recommendation .hero .primary{width:auto}@media(max-width:650px){.welcome-photo{margin:20px 0;aspect-ratio:16/10}.welcome-opening .welcome-steps{margin:20px 0;padding:12px 0}.home-recommendation .hero .primary{width:100%}}@media(max-width:360px){.home-recommendation .hero-copy{padding:18px 12px}.home-recommendation .hero h2{font-size:1.4rem}.home-recommendation .hero .primary{font-size:.8125rem;padding:12px 8px}}
/* Safe areas apply to the shared shell on every route. */
:root{--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}
html{scroll-padding-top:calc(16px + var(--safe-top));scroll-padding-bottom:calc(100px + var(--safe-bottom))}header{padding-top:calc(24px + var(--safe-top));padding-left:max(32px,var(--safe-left));padding-right:max(32px,var(--safe-right));min-width:0}.brand{flex-shrink:0}main{padding-bottom:calc(110px + var(--safe-bottom));padding-left:max(24px,var(--safe-left));padding-right:max(24px,var(--safe-right));min-width:0}nav{padding-bottom:calc(12px + var(--safe-bottom));padding-left:max(16px,var(--safe-left));padding-right:max(16px,var(--safe-right))}.skip{top:calc(8px + var(--safe-top))}.optional-label{display:inline-block;font-size:.75rem;color:var(--muted);margin-left:8px;font-weight:normal}.practice-hint{font-size:.875rem;color:var(--muted);margin:12px 0 20px}.practice-video{display:block;width:100%;max-height:70svh;aspect-ratio:16/9;background:var(--sand);border-radius:22px;margin:24px 0;object-fit:contain}.is-playing nav{display:none}.is-playing main{padding-bottom:calc(24px + var(--safe-bottom))}.is-playing .practice-hint{display:none}[hidden]{display:none!important}.waiting .filter-group{margin-bottom:12px}.waiting+.browse-link{margin-top:0}.completion .chips{align-items:stretch}.completion .chip{min-height:48px}h1,h2,.primary{overflow-wrap:break-word}
@media(max-width:650px){header{padding-top:calc(16px + var(--safe-top));padding-left:max(20px,var(--safe-left));padding-right:max(20px,var(--safe-right))}main{padding-top:20px;padding-left:max(20px,var(--safe-left));padding-right:max(20px,var(--safe-right));padding-bottom:calc(110px + var(--safe-bottom))}.home-layout.waiting{gap:0}.home-layout .choices{padding-top:0}.home-recommendation .hero .meta{display:block}.region-refinement{margin-bottom:18px}.welcome-opening{margin-top:4px}.practice-video{aspect-ratio:4/3}.completion{padding-top:12px}}@media(prefers-reduced-motion:no-preference){@keyframes move-reveal{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}[data-reveal=time] .time-step,[data-reveal=recommendation] .home-recommendation{animation:move-reveal 200ms ease-out}.chip{transition:background-color 180ms,color 180ms,border-color 180ms}}
.skip:not(:focus){transform:translateY(calc(-100% - var(--safe-top) - 16px))}

/* Final usability refinements: preserve the editorial visual system. */
.demo,.optional-label,.smallnote,.tag,.card-goal{font-size:.875rem}
.home-layout{gap:6px}.home-layout .filter-group{margin-bottom:14px}
.region-refinement{margin-bottom:8px}.home-recommendation .hero-copy{padding:24px}
.context-refinement{margin:0 0 14px;color:var(--olive)}
.context-refinement summary{cursor:pointer;min-height:44px;padding:10px 0;font-size:.875rem}
.context-refinement summary span{font-weight:normal;color:var(--muted);margin-left:10px}
.context-refinement summary:focus-visible{outline:3px solid #9a6b3e;outline-offset:4px}
.context-refinement .filter-group{margin-top:8px}.context-refinement legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.library-filters .filter-group{margin-bottom:16px}
.back{margin-bottom:8px}.practice .eyebrow{margin-bottom:10px}
.practice h1{margin-bottom:12px}.practice-hint{margin:8px 0 12px}
.video-stage,.practice-video{margin-top:16px}
.journey-start{margin:18px 0 24px}.journey-start p{font:1.4rem/1.3 Georgia,serif;margin:0 0 8px}
@media(max-width:650px){
.demo{font-size:.8125rem}.meta,.home-recommendation .hero .meta,.hero .recommendation-note,.browse-link,.smallnote,.summary span{font-size:.875rem}
.home-layout .filter-group{margin-bottom:12px}.region-refinement{margin-bottom:4px}
.home-recommendation .hero-copy{padding:18px 14px}.hero h2{font-size:1.5rem}.hero .recommendation-note{margin:10px 0}
.home-recommendation .hero .primary{font-size:.875rem;padding:12px 8px;line-height:1.35}
.practice h1{font-size:1.85rem}.back{margin-bottom:4px}.video-stage{min-height:220px}
}
@media(max-width:380px){
.home-recommendation .hero{grid-template-columns:minmax(0,1fr) 35%}
.home-recommendation .hero-copy{padding:16px 12px}.home-recommendation .hero h2{font-size:1.35rem}
}

/* A single ready-to-start suggestion, without preselecting answers. */
.daily-note{font-size:.8125rem;color:var(--muted);margin:0 0 12px;line-height:1.5}
.home-recommendation{max-width:760px}
@media(min-width:651px){.home-recommendation .hero h2{font-size:2.2rem;max-width:370px}.home-recommendation .hero img{max-height:420px}}

/* Favorites reuse the existing olive heart and card styles. */
.favorite-labeled{display:inline-flex;width:auto;gap:8px;padding:8px 12px;border-radius:24px;font-size:.875rem;min-height:44px}.favorites-section{margin:32px 0}.favorites-section h2:focus{outline:none}.is-playing .favorite-labeled{display:none}

@media(max-width:650px){.welcome-opening .intro{margin:12px 0}.welcome-opening .welcome-photo{margin:16px 0;aspect-ratio:2/1}.welcome-opening .welcome-steps{margin:16px 0;padding:8px 0}.welcome-opening .welcome-steps p{margin:6px 0}.welcome-opening .smallnote{margin-top:12px}}

@media(max-width:650px){.home-layout .time-step .chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.time-step .chip{padding-left:4px;padding-right:4px}}
