/* Shared game presentation. Road graphics and instruments retain their meaning. */
body{font-family:var(--movli-font-body)}
/* Installed game chrome is not a document. Explicit fields remain editable. */
html.movli-native,html.movli-native body,html.movli-native body *{
  -webkit-user-select:none;user-select:none;-webkit-touch-callout:none;
}
html.movli-native{touch-action:manipulation}
html.movli-native body *{-webkit-tap-highlight-color:transparent}
html.movli-native body :is(input,textarea,[contenteditable]:not([contenteditable="false"])),
html.movli-native body [contenteditable]:not([contenteditable="false"]) *{
  -webkit-user-select:text;user-select:text;-webkit-touch-callout:default;
}
html.movli-native body :is(img,a,canvas){-webkit-user-drag:none}

.course-wordmark{font-family:var(--movli-font-display);text-shadow:none}
.course-wordmark img{filter:none}
.course-card,.course-modal{box-sizing:border-box;font-family:var(--movli-font-body)}
.course-modal{background:color-mix(in srgb,var(--movli-road-900) 48%,transparent)}
.course-card{background:var(--movli-surface);color:var(--movli-text);border-radius:var(--movli-radius-panel);box-shadow:var(--movli-shadow-panel);overflow-wrap:anywhere}
.course-card :is(h1,h2,h3){font-family:var(--movli-font-display)}
.course-card small{color:var(--movli-text-muted)}
.course-card :is(input[type=text],input[type=email],input[type=search],input[type=number],select){box-sizing:border-box;min-height:44px;border:1px solid var(--movli-border);border-radius:var(--movli-radius-control);background:var(--movli-surface);color:var(--movli-text);font:400 16px/1.5 var(--movli-font-body)}
.course-card input[type=number]{width:100%;min-width:0;padding:var(--movli-space-3) var(--movli-space-4)}
.movli-dialog.learner-profile-form .dialog-dismiss.learner-profile-dismiss{position:static;width:auto;flex-shrink:0;padding:var(--movli-space-2) 0;font:650 14px var(--movli-font-body);text-decoration:underline;text-underline-offset:4px}
.competency-page label>input[type=search]{display:block;margin-top:var(--movli-space-2)}
.course-card label:has(input[type=checkbox]){display:flex;align-items:center;gap:var(--movli-space-3);min-height:44px}
.course-card input[type=checkbox]{width:24px;height:24px;accent-color:var(--movli-sky-700);flex-shrink:0}
.course-card button,.course-button,.competency-page .course-button,.competency-home .course-button{
  min-height:48px;max-width:100%;white-space:normal;overflow-wrap:anywhere;
  border:1px solid var(--movli-action-edge);border-bottom-width:4px;border-radius:var(--movli-radius-control);
  background:var(--movli-action);color:var(--movli-action-text);padding:var(--movli-space-3) var(--movli-space-4);
  font:800 16px/1.4 var(--movli-font-display);cursor:pointer;box-shadow:none;
  transition:transform var(--movli-motion-micro) var(--movli-ease),background var(--movli-motion-micro);
}
.course-card button.secondary,.course-button.secondary,.competency-page .course-button.secondary,.competency-home .course-button.secondary{background:var(--movli-surface);color:var(--movli-text);border-color:var(--movli-border);box-shadow:none}
.course-card button.danger,.course-button.danger{background:var(--movli-error-text);color:var(--movli-cloud-000);border-color:var(--movli-error-text)}
:is(.course-card button,.course-button):hover:not(:disabled){filter:brightness(.97)}
:is(.course-card button,.course-button):active:not(:disabled){transform:translateY(2px);border-bottom-width:2px}
:is(.course-card button,.course-button):disabled{background:var(--movli-mist-200);color:var(--movli-text-muted);border-color:var(--movli-mist-300);cursor:default;box-shadow:none;transform:none}
.course-card .course-status{color:var(--movli-success-text);padding:var(--movli-space-3);background:var(--movli-surface-subtle);border-left:4px solid var(--movli-go-700);border-radius:var(--movli-radius-control)}
.course-card .course-error{color:var(--movli-error-text)}
.course-empty{grid-column:1/-1;padding:var(--movli-space-6);background:var(--movli-surface);border-radius:var(--movli-radius-control);color:var(--movli-text-muted)}
.mastery-evidence{background:var(--movli-surface-subtle);color:var(--movli-text);border-radius:var(--movli-radius-control);padding:var(--movli-space-4)}
.mastery-chapter,.course-card .course-skill{border-color:var(--movli-mist-300)}
.competency-page .course-card h2{margin:var(--movli-space-6) 0 var(--movli-space-3)}
.competency-page .course-card details{padding:var(--movli-space-2) 0}
.competency-page .course-card p{line-height:1.6}
.competency-page .course-card .keyhint{font-size:14px}
.competency-page .course-card .keyhint kbd{background:var(--movli-road-900);color:var(--movli-cloud-000)}
.course-card .keys div{color:var(--movli-text-muted);font-size:14px;line-height:1.5;flex-wrap:wrap}
.course-card .keys kbd{background:var(--movli-road-900);color:var(--movli-cloud-000);border-color:var(--movli-slate-600)}
.path-link{min-height:44px}
/* A light separator and dark outer ring remain visible on every brand surface. */
:is(#course-home,.course-card,#pauseOv,#assistance-phase) :is(button,input,select,summary,a):focus-visible{outline:3px solid var(--movli-focus)!important;outline-offset:3px;box-shadow:0 0 0 3px var(--movli-cloud-000)!important}
/* Pause keeps one obvious resume action. */
#pauseOv{background:color-mix(in srgb,var(--movli-road-900) 48%,transparent);overflow:auto}
#pauseOv .card{
  --ink:var(--movli-text);--ink-dim:var(--movli-text-muted);--panel2:var(--movli-surface-subtle);--line:var(--movli-border);
  width:min(600px,100%);background:var(--movli-surface);color:var(--movli-text);border:0;
  border-radius:var(--movli-radius-panel);box-shadow:var(--movli-shadow-panel);text-align:left;
  padding:var(--movli-space-8);font-family:var(--movli-font-body);overflow-wrap:anywhere;
}
#pauseOv .tag{color:var(--movli-sky-700)}
#pauseOv h1{font-family:var(--movli-font-display);font-size:clamp(26px,4vw,36px)}
#pauseOv p{font-size:16px}
#pauseOv .btn{display:block;width:100%;min-height:44px;margin:var(--movli-space-3) 0 0;border-radius:var(--movli-radius-control);background:var(--movli-action);color:var(--movli-action-text);border:1px solid var(--movli-action-edge);border-bottom-width:4px;font-family:var(--movli-font-display);white-space:normal}
#pauseOv .btn.ghost{background:var(--movli-surface);color:var(--movli-text);border:1px solid var(--movli-border)}
#pauseOv .btn:hover{filter:brightness(.97)}
#pauseOv #pauseAtmosphereWrap{margin:var(--movli-space-6) 0}
#pauseOv #course-pause-settings{display:block;margin-top:var(--movli-space-4);min-height:44px}
#pauseAtmosphereWrap summary{min-height:44px;padding:var(--movli-space-3) 0;font-size:16px;cursor:pointer}
#pauseAtmosphereWrap label{min-height:44px;align-content:center;font-size:14px}
#pauseAtmosphereWrap select{min-height:44px;background:var(--movli-surface);color:var(--movli-text);border:1px solid var(--movli-border);border-radius:var(--movli-radius-control);padding:var(--movli-space-2);font:inherit}
/* Opaque navy keeps navigation legible against changing road scenery. */
#nav,#competency-progress{background:var(--movli-hud-surface);color:var(--movli-hud-text);border-color:var(--movli-slate-500);border-radius:var(--movli-radius-control);font-family:var(--movli-font-body);box-shadow:var(--movli-shadow-panel)}
#navAct{background:transparent;font-family:var(--movli-font-display)}
#navExit{color:var(--movli-progress)}
#navDist,#navDist small,#navAct .navD,#navRoad,#navRoad b{color:var(--movli-hud-muted)}
#navRoad,#competency-progress .drive-footer{background:var(--movli-hud-detail-surface);border-top:1px solid color-mix(in srgb,var(--movli-hud-muted) 24%,transparent)}
#nav.urgent #navAct{background:color-mix(in srgb,var(--movli-progress) 15%,var(--movli-hud-surface))}
#nav.urgent #navAct :is(.navD,.ar){color:var(--movli-progress)}
#nav.go #navAct{background:var(--movli-hud-surface)}
#nav.go #navAct .ar{color:var(--movli-go-500)}
#competency-progress .drive-mode{color:var(--movli-sky-300)}
#competency-progress .drive-stage{color:var(--movli-progress)}
#competency-progress .drive-title{color:var(--movli-hud-text)}
/* Explicit progress paint avoids platform-native bevels and gray tracks. */
#competency-progress progress{appearance:none;-webkit-appearance:none;border:0;border-radius:var(--movli-radius-round);overflow:hidden;background:color-mix(in srgb,var(--movli-hud-muted) 30%,var(--movli-hud-detail-surface));color:var(--movli-progress)}
#competency-progress progress::-webkit-progress-bar{background:color-mix(in srgb,var(--movli-hud-muted) 30%,var(--movli-hud-detail-surface));border-radius:var(--movli-radius-round)}
#competency-progress progress::-webkit-progress-value{background:var(--movli-progress);border-radius:var(--movli-radius-round)}
#competency-progress progress::-moz-progress-bar{background:var(--movli-progress);border-radius:var(--movli-radius-round)}
@media(max-width:430px){#pauseOv .card{padding:var(--movli-space-6)}.tool-button{min-height:44px!important}.course-card .keys{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){
  :is(#course-home,.course-card,#pauseOv,#nav) *{animation:none!important;transition:none!important}
  .mode-choice:hover,.mode-choice:active,:is(.course-card button,.course-button):active{transform:none!important}
}

/* Skills are browsed by topic; recorded mastery stays beside each skill. */
/* Closing stays in the upper right and within reach while content scrolls. */
/* Dialog decisions follow the content, aligned to the bottom-right. */
.dialog-actions,.map-error-card .dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:var(--movli-space-3);margin-top:var(--movli-space-6);clear:both}
:is(.competency-page,.course-modal) .dialog-actions>.course-button{margin:0}
:is(.competency-page,.course-modal) .dialog-actions>.course-close{position:static;float:none;min-height:48px;background:var(--movli-surface)}
.competency-page .drive-introduction>.dialog-actions{width:100%;box-sizing:border-box;margin-top:0;padding:0 var(--movli-space-8) var(--movli-space-8);gap:var(--movli-space-4)}
.drive-introduction>.dialog-actions .drive-preparation{flex:0 0 100%;min-width:0;margin:0;font-size:16px;max-height:64px;opacity:1;overflow:hidden;transition:opacity var(--movli-motion-standard) var(--movli-ease),max-height var(--movli-motion-dialog) var(--movli-ease),margin var(--movli-motion-dialog) var(--movli-ease)}
.drive-introduction>.dialog-actions .drive-preparation.is-ready{opacity:0;max-height:0;margin-bottom:calc(-1 * var(--movli-space-4));pointer-events:none}
.drive-introduction>.dialog-actions .introduction-continue{width:100%;margin-left:0;min-width:0}
@media(max-width:520px){.competency-page .drive-introduction>.dialog-actions{padding:0 var(--movli-space-6) var(--movli-space-6)}}

.competency-page .skill-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:var(--movli-space-4);margin:var(--movli-space-8) 0}
.competency-page .course-card .skill-group{padding:0;max-width:none;border:1px solid var(--movli-mist-300);border-radius:var(--movli-radius-control);background:var(--movli-surface);overflow:hidden}
.skill-group summary{display:flex;align-items:center;gap:var(--movli-space-4);padding:var(--movli-space-4);cursor:pointer;list-style:none;min-height:88px;box-sizing:border-box}
.skill-group summary::-webkit-details-marker{display:none}
.skill-group summary:hover{background:var(--movli-surface-subtle)}
.skill-topic-icon{display:grid;place-items:center;flex:0 0 48px;height:48px;background:var(--movli-mist-100);color:var(--movli-sky-700);border-radius:var(--movli-radius-control)}
.skill-topic-icon svg{width:28px;height:28px}
.skill-topic-copy{display:grid;gap:var(--movli-space-1);flex:1;min-width:0}
.skill-topic-copy strong{font-size:17px;line-height:1.3;color:var(--movli-text)}
.skill-topic-copy>span{font-size:13px;color:var(--movli-text-muted)}
.skill-chevron{color:var(--movli-text-muted);font-size:24px}
.skill-group[open] .skill-chevron{transform:rotate(180deg)}
.competency-page .skill-group .skill-list{display:grid;grid-template-columns:1fr;margin:0;padding:0 var(--movli-space-3) var(--movli-space-3);gap:var(--movli-space-1)}
.competency-page .skill-group .skill-list button{display:flex;align-items:center;gap:var(--movli-space-3);margin:0;padding:var(--movli-space-3);min-height:68px;text-align:left;border:0;border-top:1px solid var(--movli-mist-200);border-radius:0;box-shadow:none}
.competency-page .skill-group .skill-list button:hover{background:var(--movli-surface-subtle)}
.skill-row-icon{flex:0 0 24px;color:var(--movli-text-muted)}
.skill-row-icon svg{display:block;width:24px;height:24px}
.skill-row-title{flex:1;min-width:0;font-size:15px;line-height:1.4}
.skill-score{display:grid;gap:2px;flex:0 0 auto;text-align:right;color:var(--movli-text)}
.skill-score-label,.skill-score.is-unrated{font-size:12px;font-weight:500;color:var(--movli-text-muted)}
.skill-score strong{font-size:19px;font-variant-numeric:tabular-nums}
.skill-score small{font-size:12px;font-weight:500}
.skill-picker-note{font-size:14px;color:var(--movli-text-muted)}
@media(max-width:760px){.competency-page .skill-groups{grid-template-columns:1fr}.skill-group summary{min-height:80px}.skill-row-icon{display:none}.skill-topic-copy strong{font-size:16px}}
.competency-page .skill-group[open]{grid-column:1/-1}
.competency-page .skill-group[open] .skill-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--movli-space-6)}
.skill-score strong{white-space:nowrap}
.skill-score strong small{display:inline}
@media(max-width:760px){.competency-page .skill-group[open] .skill-list{grid-template-columns:1fr}}

/* Trip feedback puts the evidence and results in view without disclosure. */
.competency-page .trip-feedback{margin:0;padding-top:var(--movli-space-6)}
.feedback-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--movli-space-4);margin:var(--movli-space-8) 0}
.feedback-overview>div{display:flex;align-items:center;gap:var(--movli-space-4);padding:var(--movli-space-6);background:var(--movli-surface);border-radius:var(--movli-radius-control)}
.feedback-overview strong{font:800 40px/1 var(--movli-font-display);color:var(--movli-sky-700)}
.feedback-overview span{font-size:16px;line-height:1.4;color:var(--movli-text-muted)}
.feedback-section{margin-bottom:var(--movli-space-8)}
.competency-page .feedback-section h2{font-size:28px;margin-bottom:var(--movli-space-2)}
.feedback-section-note{color:var(--movli-text-muted);margin-bottom:var(--movli-space-6);max-width:65ch}
.feedback-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--movli-space-6)}
.feedback-skill{background:var(--movli-surface);border:1px solid var(--movli-mist-200);border-radius:var(--movli-radius-panel);padding:var(--movli-space-6)}
.feedback-skill header{display:flex;gap:var(--movli-space-4);align-items:center}
.feedback-skill h3{font-size:22px;line-height:1.3;margin:0}
.feedback-result{display:flex;align-items:center;gap:var(--movli-space-3);margin:var(--movli-space-6) 0 var(--movli-space-4)}
.feedback-result>strong{font:800 56px/1 var(--movli-font-display)}
.feedback-result>span{font-size:18px;color:var(--movli-text-muted)}
.feedback-result small{display:block;font-size:14px;margin-top:var(--movli-space-1)}
.feedback-meter{height:8px;background:var(--movli-mist-200);border-radius:var(--movli-radius-round);overflow:hidden}
.feedback-meter>span{display:block;height:100%;background:var(--movli-sky-700);border-radius:inherit}
.feedback-evidence-count{font-size:14px;color:var(--movli-text-muted);margin:var(--movli-space-2) 0 var(--movli-space-4)}
.feedback-evidence{padding-left:var(--movli-space-6);font-size:18px;line-height:1.6}
.feedback-evidence li+li{margin-top:var(--movli-space-3)}
.feedback-context{font-size:18px;line-height:1.6}
@media(max-width:650px){.feedback-overview{gap:var(--movli-space-2)}.feedback-overview>div{flex-direction:column;align-items:flex-start;padding:var(--movli-space-3);gap:var(--movli-space-2)}.feedback-overview strong{font-size:32px}.feedback-overview span{font-size:14px}.feedback-grid{grid-template-columns:1fr}.feedback-skill{padding:var(--movli-space-6)}}

@media(max-width:650px){.feedback-overview{grid-template-columns:1fr}.feedback-overview>div{flex-direction:row;align-items:center;gap:var(--movli-space-4)}.feedback-overview strong{min-width:32px}.feedback-overview span{font-size:16px}}

.drive-head .location-close{margin-left:auto;flex-shrink:0}

.drive-brand img{width:38px;height:38px}.drive-brand{font-family:var(--movli-font-display);color:var(--movli-text)}

/* Guest entry offers one playable trial before account creation. */
.guest-trial{display:grid;grid-template-columns:1fr 1fr;align-items:center;background:var(--movli-cloud-000);color:var(--movli-road-900);border-radius:var(--movli-radius-panel,28px);padding:clamp(20px,4vw,48px);gap:24px}
.guest-trial .mode-art{background:var(--movli-mist-100);border-radius:24px}
.guest-trial h2{font-size:clamp(24px,3vw,36px);line-height:1.15;margin-top:0}
.guest-trial p{font-size:18px;line-height:1.5;color:var(--movli-slate-600)}
.guest-trial .course-button{margin-top:16px}
.trial-next{margin-top:32px;padding:24px;background:var(--movli-cloud-000);border:1px solid var(--movli-mist-300);border-radius:24px}
.trial-next h2{margin-top:0}.trial-next .course-button{margin:8px 12px 0 0}
@media(max-width:680px){.guest-trial{grid-template-columns:1fr}.guest-trial .mode-art{max-height:180px}.guest-trial .mode-art svg{height:180px;width:100%}}

.guest-trial .mode-action{padding:0;margin:0}

.guest-trial .mode-art{width:100%;display:block}.guest-trial .mode-art svg{width:100%;margin:0;min-height:0}.guest-trial p{font:400 18px/1.5 var(--movli-font-body)}

/* Compact trip report and the guided-plan preview (brand 2.33.0). */
.competency-page .compact-feedback,.competency-page .learning-plan-preview,.competency-page .learning-plan-signup{max-width:960px;margin:0 auto;padding-top:var(--movli-space-6)}
.compact-feedback .page-intro{margin-bottom:var(--movli-space-6)}
.feedback-list{background:var(--movli-surface);border-radius:var(--movli-radius-panel);overflow:hidden}
.feedback-list-heading{display:flex;justify-content:space-between;align-items:baseline;gap:var(--movli-space-4);margin-bottom:var(--movli-space-4)}
.feedback-list-heading>span{font-size:14px;color:var(--movli-text-muted)}
.compact-feedback .feedback-list-heading h2{font-size:22px;margin:0}
.feedback-list .feedback-skill-row{display:grid;grid-template-columns:minmax(180px,1.5fr) minmax(100px,1fr) 85px 100px;align-items:center;gap:var(--movli-space-4);padding:var(--movli-space-4) var(--movli-space-6);border:0;border-bottom:1px solid var(--movli-mist-200);border-radius:0}
.feedback-list .feedback-skill-row:last-child{border-bottom:0}
.feedback-skill-row header{min-width:0}.feedback-skill-row h3{font-size:16px;line-height:1.4}
.feedback-skill-row .skill-topic-icon{flex-basis:32px;height:32px;background:transparent}.feedback-skill-row .skill-topic-icon svg{width:24px;height:24px}
.feedback-skill-row .feedback-result{margin:0;gap:var(--movli-space-1);justify-content:flex-end}.feedback-skill-row .feedback-result strong{font-size:22px}.feedback-skill-row .feedback-result>span{font-size:12px}
.feedback-skill-row .feedback-meter{height:10px}
.feedback-skill-row[data-rating=demonstrated] .feedback-meter>span{background:var(--movli-go-500)}
.feedback-skill-row[data-rating=practise] .feedback-meter>span{background:var(--movli-sun-500)}
.feedback-skill-row[data-rating=unrated] .feedback-meter>span{background:var(--movli-slate-500)}
.feedback-rating{font-size:13px;font-weight:800;text-align:center;padding:var(--movli-space-2);border-radius:var(--movli-radius-round);color:var(--movli-text);background:var(--movli-mist-100)}
.compact-feedback .feedback-details{max-width:none;margin-top:var(--movli-space-4)}
.feedback-details p{font-size:16px;line-height:1.5}.feedback-details section{padding:var(--movli-space-4) 0;border-top:1px solid var(--movli-mist-200)}
.trial-next.report-next{display:flex;justify-content:space-between;align-items:center;gap:var(--movli-space-6);background:var(--movli-road-900);color:var(--movli-cloud-000);border:0;margin-top:var(--movli-space-6)}
.report-next h2{font-size:26px;margin:var(--movli-space-2) 0}.report-next p{font-size:16px;line-height:1.5;color:var(--movli-mist-300);margin:0;max-width:43ch}
.report-next-label{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--movli-sun-500)}
.report-next-actions{display:flex;flex-direction:column;gap:var(--movli-space-3);align-items:center;flex-shrink:0}.report-next-actions .course-button{margin:0}.course-card .report-next-actions small{color:var(--movli-mist-300)}
.learning-plan-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:var(--movli-space-6);align-items:start}
.learning-plan-lessons,.learning-plan-start{padding:var(--movli-space-6);border-radius:var(--movli-radius-panel);background:var(--movli-surface)}
.learning-plan-lessons h2{font-size:22px;margin:0}.learning-plan-focus{font-size:16px;line-height:1.5;color:var(--movli-text-muted)}
.learning-plan-lessons>ol{list-style:none;padding:0;margin:0}.learning-plan-lessons>ol>li{display:flex;gap:var(--movli-space-4);padding:var(--movli-space-6) 0;border-top:1px solid var(--movli-mist-200)}
.learning-plan-number{flex-shrink:0;display:grid;place-items:center;width:36px;height:36px;border-radius:var(--movli-radius-control);background:var(--movli-mist-100);font-weight:800}.learning-plan-lessons>ol>li:first-child .learning-plan-number{background:var(--movli-sun-500)}
.learning-plan-lessons h3{font-size:18px;margin:0 0 var(--movli-space-2)}.learning-plan-lessons>ol>li p{font-size:16px;line-height:1.5;color:var(--movli-text-muted);margin:0 0 var(--movli-space-2)}
.learning-plan-start{background:var(--movli-road-900);color:var(--movli-cloud-000)}.learning-plan-start h2{font-size:26px;margin:0}.learning-plan-start p{font-size:16px;line-height:1.5;color:var(--movli-mist-300)}.learning-plan-start .course-button{width:100%;margin:var(--movli-space-2) 0}.learning-plan-start .learning-plan-note{font-size:13px}
.signup-plan-summary{background:var(--movli-surface);padding:var(--movli-space-6);border-radius:var(--movli-radius-panel);margin-bottom:var(--movli-space-6)}.signup-plan-summary>span{font-size:12px;font-weight:800;letter-spacing:.08em;color:var(--movli-text-muted)}.signup-plan-summary h2{font-size:22px}.signup-plan-summary p{font-size:16px;color:var(--movli-text-muted)}
@media(max-width:760px){.feedback-list .feedback-skill-row{grid-template-columns:minmax(0,1fr) 80px 90px;gap:var(--movli-space-3);padding:var(--movli-space-4)}.feedback-skill-row .feedback-meter{grid-column:1/-1;grid-row:2}.feedback-skill-row header{gap:var(--movli-space-2)}.feedback-skill-row .skill-topic-icon{display:none}.feedback-list-heading>span{display:none}.trial-next.report-next{flex-direction:column;align-items:stretch}.report-next-actions{align-items:stretch;text-align:center}.learning-plan-grid{grid-template-columns:1fr}.feedback-skill-row .feedback-result strong{font-size:20px}}

/* Driving utilities stay above the road view. */
#driveUtilities{
  position:fixed;z-index:40;right:calc(var(--sar,0px) + var(--movli-space-4));
  top:calc(var(--sat,0px) + var(--movli-space-4));
  display:flex;align-items:center;gap:var(--movli-space-2);pointer-events:auto;
}
#soundCtl,body.touch #soundCtl{
  position:static;width:auto;height:44px;padding:0 var(--movli-space-6) 0 var(--movli-space-1);gap:var(--movli-space-2);
  background:var(--movli-hud-surface);border:0;border-radius:var(--movli-radius-control);
  transition:padding var(--movli-motion-standard) var(--movli-ease),gap var(--movli-motion-standard) var(--movli-ease);
}
#soundCtl #mute{display:grid;place-items:center;min-width:var(--movli-icon-target);min-height:var(--movli-icon-target);padding:0;border-radius:var(--movli-radius-control);color:var(--movli-hud-text)}
#mute .sound-muted,#mute[data-sound="muted"] .sound-wave,#mute[data-sound="low"] .sound-wave-outer{display:none}
#mute[data-sound="muted"] .sound-muted{display:block}
body.touch #soundCtl{padding:0}
#driveMenuButton{display:grid;place-items:center;width:var(--movli-icon-target);height:var(--movli-icon-target);padding:0;background:var(--movli-hud-surface);border:0;border-radius:var(--movli-radius-control);color:var(--movli-hud-text);cursor:pointer}
#driveMenuButton:hover,#soundCtl #mute:hover{background:var(--movli-hud-detail-surface)}
#soundCtl[data-muted="true"],body.touch #soundCtl[data-muted="true"]{padding:0;gap:0}
#soundCtl[data-muted="true"] #vol{width:0;opacity:0;visibility:hidden;pointer-events:none}
#soundCtl #vol{transition:width var(--movli-motion-standard) var(--movli-ease),opacity var(--movli-motion-micro) var(--movli-ease);appearance:none;-webkit-appearance:none;width:92px;height:44px;margin:0;border:0;padding:0;--volume-fill:80%;background:linear-gradient(to right,var(--movli-sky-300) var(--volume-fill),var(--movli-slate-600) var(--volume-fill)) center/100% 4px no-repeat;cursor:pointer}
#soundCtl #vol::-webkit-slider-runnable-track{height:4px;border:0;border-radius:var(--movli-radius-control);background:transparent}
#soundCtl #vol::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:16px;height:16px;margin-top:-6px;border:0;border-radius:50%;background:var(--movli-sky-300)}
#soundCtl #vol::-moz-range-track{height:4px;border:0;border-radius:var(--movli-radius-control);background:transparent}
#soundCtl #vol::-moz-range-thumb{width:16px;height:16px;border:0;border-radius:50%;background:var(--movli-sky-300)}
body.touch :is(#tLeft,#tRight,#tGear){bottom:calc(10px + var(--sab))}

/* Keep progress above the controls and navigation above the passenger dashboard. */
#competency-progress{
  top:auto;right:auto;left:50%;transform:translateX(-50%);
  bottom:calc(var(--sab,0px) + var(--movli-space-4));
  width:min(360px,calc(100vw - 32px));
}
body:has(#competency-progress) #nav{
  top:52%;
  right:calc(var(--sar,0px) + var(--movli-space-4));max-width:min(360px,calc(100vw - 32px));
}
#forensics{left:auto;right:calc(var(--sar,0px) + var(--movli-space-4));top:calc(var(--sat,0px) + var(--movli-space-4) + var(--movli-icon-target) + var(--movli-space-2));bottom:auto;background:var(--movli-hud-surface);color:var(--movli-hud-text);border-color:var(--movli-hud-muted);border-radius:var(--movli-radius-control);font-family:var(--movli-font-body)}
#diagnosticsToggle[hidden]{display:none}
@media(max-width:420px){#driveUtilities:has(#diagnosticsToggle:not([hidden])) #vol{width:44px}#driveUtilities:has(#diagnosticsToggle:not([hidden])) #soundCtl{padding-right:var(--movli-space-2)}}

#forensics #inputModeToggle{display:block;height:auto;min-height:44px;margin:var(--movli-space-2) 0;font:700 14px/1.4 var(--movli-font-body);border-radius:var(--movli-radius-control);background:var(--movli-surface);color:var(--movli-text);border-color:var(--movli-border)}

/* One panel treatment for drive context and navigation. */
body:has(#competency-progress) :is(#competency-progress,#nav){
  box-sizing:border-box;width:min(360px,calc(100vw - 32px - var(--sal,0px) - var(--sar,0px)));
  max-width:none;
  background:var(--movli-hud-surface);color:var(--movli-hud-text);
  border:1px solid var(--movli-slate-500);border-radius:var(--movli-radius-control);
}
body #nav :is(#navTop,#navAct){padding:var(--movli-space-3) var(--movli-space-4)}
body #nav #navAct{font:800 22px/1.2 var(--movli-font-display);gap:var(--movli-space-3);background:var(--movli-hud-surface)}
body #nav #navActText{min-width:0;overflow-wrap:anywhere}
body #nav #navAct .navD{font:700 14px/1.4 var(--movli-font-body);letter-spacing:0;margin-top:var(--movli-space-2)}
body #nav #navRoad{
  padding:var(--movli-space-2) var(--movli-space-4) var(--movli-space-3);
  font:700 14px/1.4 var(--movli-font-body);background:var(--movli-hud-detail-surface);
}
/* Keep the urgency cues on the arrow and distance, not the whole surface. */
body #nav:is(.urgent,.go,.stop) #navAct{background:var(--movli-hud-surface)}

#driveUtilities :is(button,input):focus-visible{outline:var(--movli-icon-focus-width) solid var(--movli-hud-text);outline-offset:var(--movli-icon-focus-offset)}
#forensics .body{max-height:max(44px,calc(100dvh - var(--driving-controls-height,0px) - var(--sat,0px) - var(--sab,0px) - 140px))}

/* Short touch views and narrow screens keep navigation clear of bottom progress. */
@media(max-width:650px),(max-height:500px){
  body:has(#competency-progress) #nav{top:calc(var(--sat,0px) + 46px + var(--movli-space-4) + var(--movli-space-3))}
}

/* One translucent layer keeps traffic visible; child fills must not stack. */
body #nav,
body:has(#competency-progress) #nav{
  background:color-mix(in srgb,var(--movli-hud-surface) var(--movli-opacity-navigation),transparent);
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
body #nav :is(#navTop,#navAct,#navRoad),
body #nav:is(.urgent,.go,.stop) #navAct{background:transparent}
body #nav #navRoad{color:var(--movli-hud-text)}
@media(prefers-reduced-transparency:reduce){
  body #nav,body:has(#competency-progress) #nav{background:var(--movli-hud-surface)}
}

/* Four reusable dialog variants; long-form learning content stays on pages. */
.movli-dialog-overlay.competency-page,.course-modal:has(.movli-dialog),#pauseOv{
  background:color-mix(in srgb,var(--movli-road-900) 48%,transparent);backdrop-filter:blur(6px);
}
.movli-dialog-overlay.competency-page{display:flex;padding:var(--movli-space-6);animation:none}
.movli-dialog-overlay.competency-page:has(.learner-profile-form,.reminder-settings){background:linear-gradient(140deg,var(--movli-sky-300),var(--movli-sky-500) 60%,var(--movli-sky-700));backdrop-filter:none}
.movli-dialog-overlay .competency-page-shell{width:100%;max-width:var(--movli-dialog-extended);min-height:0;padding:0;margin:auto}
.movli-dialog-overlay .course-card.movli-dialog,.course-card.movli-dialog,#pauseOv .card.movli-dialog,:is(#rotateOv,#gpuCompatibility,#briefOv) .card.movli-dialog{
  position:relative;box-sizing:border-box;width:min(var(--movli-dialog-compact),100%);max-height:none;margin:auto;
  padding:var(--movli-space-8);background:var(--movli-dialog-surface);color:var(--movli-text);
  border:1px solid var(--movli-mist-300);border-radius:var(--movli-radius-dialog);box-shadow:var(--movli-shadow-dialog);overflow:visible;
}
.movli-dialog-overlay .course-card[data-dialog-size=extended]{width:min(var(--movli-dialog-extended),100%)}
.movli-dialog :is(h1,h2),#pauseOv .movli-dialog h1{font:800 30px/1.16 var(--movli-font-display);letter-spacing:-.035em;margin:0 0 var(--movli-space-4);max-width:none;padding-right:var(--movli-space-8)}
.movli-dialog :is(p,.page-intro),#pauseOv .movli-dialog p{font:400 16px/1.55 var(--movli-font-body);color:var(--movli-text-muted);margin:0 0 var(--movli-space-6)}
.movli-dialog .page-intro:empty{display:none}
.movli-dialog .dialog-actions{margin-top:var(--movli-space-6);gap:var(--movli-space-3);justify-content:flex-end}
.movli-dialog .course-button.secondary{background:transparent;border-color:var(--movli-mist-300);border-bottom-width:1px}
.movli-dialog .dialog-dismiss.course-close{position:absolute;top:var(--movli-space-4);right:var(--movli-space-4);display:grid;place-items:center;float:none;width:44px;min-height:44px;margin:0;padding:0;border:0;background:transparent;color:var(--movli-text-muted);box-shadow:none;font:400 28px/1 var(--movli-font-body)}
.movli-dialog .dialog-utilities{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--movli-space-2);margin:var(--movli-space-6) calc(-1 * var(--movli-space-8)) calc(-1 * var(--movli-space-8));padding:var(--movli-space-3) var(--movli-space-6);background:var(--movli-dialog-utility-surface);border-top:1px solid var(--movli-mist-300);border-radius:0 0 var(--movli-radius-dialog) var(--movli-radius-dialog)}
.movli-dialog .dialog-utilities .dialog-utility,#pauseOv #course-pause-settings{display:inline-flex;align-items:center;min-height:44px;width:auto;max-width:100%;margin:0;padding:var(--movli-space-2);background:transparent;color:var(--movli-text-muted);border:0;box-shadow:none;font:650 14px/1.4 var(--movli-font-body)}
#pauseOv .movli-dialog .dialog-utilities #course-pause-settings{order:-1}
#pauseOv .movli-dialog .dialog-actions .course-button{margin:0;flex:0 1 auto}
#pauseOv .movli-dialog:has(#endBtn:not([style*="display: none"])) #toMenuBtn{display:none}
.movli-dialog-overlay .drive-introduction.movli-dialog .introduction-heading{padding:0;background:none}
.movli-dialog-overlay .drive-introduction.movli-dialog .introduction-copy{padding:0}
.movli-dialog-overlay .drive-introduction.movli-dialog .introduction-eyebrow{font-size:14px;margin-bottom:var(--movli-space-2)}
.movli-dialog-overlay .drive-introduction.movli-dialog>.dialog-actions{padding:0;margin-top:var(--movli-space-6)}
.movli-dialog-overlay .drive-introduction.movli-dialog .introduction-steps{margin:0}
:is(#rotateOv,#gpuCompatibility,#briefOv) .card{background:var(--movli-dialog-surface);color:var(--movli-text);border:1px solid var(--movli-mist-300);border-radius:var(--movli-radius-dialog);box-shadow:var(--movli-shadow-dialog)}
:is(#rotateOv,#gpuCompatibility,#briefOv) .card p{color:var(--movli-text-muted)}
.map-error-card{background:var(--movli-dialog-surface);color:var(--movli-text);border-color:var(--movli-mist-300);border-radius:var(--movli-radius-dialog);box-shadow:var(--movli-shadow-dialog)}
@media(max-width:520px){
  .movli-dialog-overlay.competency-page{padding:var(--movli-space-4)}
  .movli-dialog-overlay .course-card.movli-dialog,.course-card.movli-dialog,#pauseOv .card.movli-dialog,:is(#rotateOv,#gpuCompatibility,#briefOv) .card.movli-dialog{padding:var(--movli-space-6)}
  .movli-dialog .dialog-utilities{margin-left:calc(-1 * var(--movli-space-6));margin-right:calc(-1 * var(--movli-space-6));margin-bottom:calc(-1 * var(--movli-space-6));padding:var(--movli-space-2) var(--movli-space-4)}
  .movli-dialog .dialog-actions>.course-button{flex:1 1 130px}
}

/* Compact trip context sits above the bottom safe area. */
body:has(#competency-progress) #competency-progress{
  bottom:calc(var(--sab,0px) + var(--movli-space-2));
  width:min(300px,calc(100vw - 32px - var(--sal,0px) - var(--sar,0px)));
  padding:var(--movli-space-2) var(--movli-space-3);
  z-index:41;
  border:1px solid var(--movli-slate-500);border-radius:var(--movli-radius-control);
}
#competency-progress .drive-title{font-size:18px;margin-top:var(--movli-space-1)}
#competency-progress .drive-mode{font-size:12px}
#competency-progress .drive-footer{
  margin:var(--movli-space-1) calc(-1 * var(--movli-space-3)) calc(-1 * var(--movli-space-2));
  padding:var(--movli-space-1) var(--movli-space-3) var(--movli-space-2);
}
#competency-progress progress{height:4px;margin-top:var(--movli-space-1)}

.map-error-card,#osloLoadCard .map-error-card{width:min(var(--movli-dialog-compact),100%);padding:var(--movli-space-8);background:var(--movli-dialog-surface);color:var(--movli-text);border:1px solid var(--movli-mist-300);border-radius:var(--movli-radius-dialog);box-shadow:var(--movli-shadow-dialog);text-align:left}
.map-error-card h2,#osloLoadCard .map-error-card h2{color:var(--movli-text);font:800 30px/1.16 var(--movli-font-display)}
.map-error-card p,#osloLoadCard .map-error-card p{color:var(--movli-text-muted);font:400 16px/1.55 var(--movli-font-body);margin:var(--movli-space-4) 0}
.map-error-card .map-error-art,.map-error-card .map-error-kicker{display:none}
.movli-dialog .introduction-steps li{grid-template-columns:28px minmax(0,1fr);gap:var(--movli-space-4)}
.movli-dialog .introduction-steps li::before{width:28px;height:28px;border-radius:var(--movli-radius-round);background:var(--movli-dialog-utility-surface);color:var(--movli-text);font-size:14px}
.movli-dialog .introduction-steps strong{font-size:16px;line-height:1.5}
.movli-dialog .introduction-steps p{margin:var(--movli-space-1) 0 0}

/* Recovery shares the navigation surface and makes straight-line distance explicit. */
#nav.recovery #navAct .ar{color:var(--movli-progress)}
#nav.recovery #navAct .ar .movli-icon{width:32px;height:32px}
#nav.recovery #navAct .navD{letter-spacing:normal;line-height:1.4;font-weight:600}

/* Keyboard reference: every shortcut enters and leaves as one group. */
#controlExplainerToggle{width:var(--movli-icon-target);height:var(--movli-icon-target);padding:0;background:var(--movli-hud-surface);color:var(--movli-hud-text);border:0;border-radius:var(--movli-radius-control);cursor:pointer}
#controlExplainerToggle[aria-pressed="true"]{box-shadow:inset 0 0 0 2px currentColor}
#controlExplainerToggle[hidden],body.touch #controlExplainerToggle{display:none!important}
#controlExplainer{position:fixed;inset:0;z-index:39;pointer-events:none}
#controlExplainer[hidden],.explainer-card[hidden]{display:none}
#controlExplainer>svg{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:var(--movli-sky-300);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.explainer-card{position:absolute;width:max-content;max-width:min(220px,calc(100vw - 32px));box-sizing:border-box;padding:var(--movli-space-2) var(--movli-space-3);border:1px solid var(--movli-sky-300);border-radius:var(--movli-radius-control);background:var(--movli-hud-surface);color:var(--movli-hud-text);font:400 16px/1.4 var(--movli-font-body)}
.explainer-card strong{display:block;margin-bottom:var(--movli-space-1);overflow-wrap:anywhere}
.explainer-keys{display:flex;align-items:center;flex-wrap:wrap;gap:var(--movli-space-2)}
.explainer-keys kbd{background:var(--movli-hud-detail-surface);color:var(--movli-hud-text);padding:2px 7px;border:1px solid var(--movli-sky-300);border-radius:4px;font:inherit}
@media(max-height:800px){.explainer-card{padding:var(--movli-space-1) var(--movli-space-3)}}


/* Feedback-led report: one top action and large, comparable improvement rows. */
.competency-page .course-card.trip-feedback{max-width:960px;margin:var(--movli-space-8) auto;padding:0;background:transparent;border:0;border-radius:0}
.trip-feedback .dialog-actions[hidden]{display:none}
.trip-feedback .feedback-header{display:flex;justify-content:space-between;align-items:center;gap:var(--movli-space-6);margin-bottom:var(--movli-space-8)}
.trip-feedback .feedback-heading-copy{min-width:0}
.trip-feedback .feedback-header h1{font-size:var(--movli-feedback-title);line-height:1.05;letter-spacing:-1.6px;margin:0 0 var(--movli-space-2)}
.trip-feedback .feedback-header .page-intro{font-size:16px;margin:0}
.trip-feedback .report-next-actions{flex-shrink:0}
.trip-feedback .report-next-actions .course-button{margin:0}
.compact-feedback .feedback-section{background:var(--movli-surface);border-radius:var(--movli-radius-panel);overflow:hidden;margin:0}
.compact-feedback .feedback-list-heading{padding:var(--movli-space-6) var(--movli-space-8);margin:0;border-bottom:1px solid var(--movli-mist-200)}
.compact-feedback .feedback-list-heading h2{font-size:22px;margin:0}
.compact-feedback .feedback-list{padding:0 var(--movli-space-8);border-radius:0;background:none}
.compact-feedback .feedback-list .feedback-skill-row{display:grid;grid-template-columns:var(--movli-feedback-icon-container) minmax(0,1fr) auto;column-gap:var(--movli-space-6);row-gap:var(--movli-space-4);padding:var(--movli-space-6) 0;border:0;border-bottom:1px solid var(--movli-mist-200);border-radius:0}
.compact-feedback .feedback-list .feedback-skill-row:last-child{border-bottom:0}
.compact-feedback .feedback-skill-row .skill-topic-icon{display:flex;align-items:center;justify-content:center;grid-column:1;grid-row:1/3;width:var(--movli-feedback-icon-container);height:var(--movli-feedback-icon-container);border-radius:var(--movli-radius-round);background:var(--movli-surface-subtle);color:var(--movli-sky-700)}
.compact-feedback .feedback-skill-row .skill-topic-icon svg{width:var(--movli-feedback-icon);height:var(--movli-feedback-icon);flex-shrink:0}
.compact-feedback .feedback-skill-copy{grid-column:2;grid-row:1;min-width:0}
.compact-feedback .feedback-skill-copy h3{font-size:25px;line-height:1.2;letter-spacing:-.4px;margin:0;hyphens:auto}
.compact-feedback .feedback-basis{display:block;font-size:13px;line-height:1.4;color:var(--movli-text-muted);margin-top:var(--movli-space-2)}
.compact-feedback .feedback-skill-row .feedback-result{grid-column:3;grid-row:1;display:flex;align-items:baseline;gap:var(--movli-space-2);margin:0;white-space:nowrap}
.compact-feedback .feedback-skill-row .feedback-result strong{font-size:var(--movli-feedback-score);line-height:1;color:var(--movli-score-practice)}
.compact-feedback .feedback-skill-row .feedback-result>span{font-size:16px;color:var(--movli-text-muted)}
.compact-feedback .feedback-skill-row .feedback-meter{grid-column:2/-1;grid-row:2;height:12px}
.compact-feedback .feedback-skill-row .feedback-meter>span{background:var(--movli-score-practice)}
@media(max-width:900px){.trip-feedback .feedback-header{flex-direction:column;align-items:flex-start}.trip-feedback .feedback-header h1{font-size:44px;letter-spacing:-1.2px}}
@media(max-width:520px){.competency-page .course-card.trip-feedback{margin:0 auto}.trip-feedback .feedback-header h1{font-size:var(--movli-feedback-title-mobile)}.compact-feedback .feedback-list-heading{padding:var(--movli-space-6)}.compact-feedback .feedback-list-heading h2{font-size:20px}.compact-feedback .feedback-list{padding:0 var(--movli-space-6)}.compact-feedback .feedback-list .feedback-skill-row{grid-template-columns:56px minmax(0,1fr);column-gap:var(--movli-space-4)}.compact-feedback .feedback-skill-row .skill-topic-icon{width:56px;height:56px;grid-row:1;align-self:start}.compact-feedback .feedback-skill-row .skill-topic-icon svg{width:34px;height:34px}.compact-feedback .feedback-skill-copy h3{font-size:22px;overflow-wrap:anywhere}.compact-feedback .feedback-skill-row .feedback-result{grid-column:2;grid-row:2;justify-content:flex-start}.compact-feedback .feedback-skill-row .feedback-result strong{font-size:44px}.compact-feedback .feedback-skill-row .feedback-meter{grid-column:1/-1;grid-row:3}}

.learning-plan-preview .dialog-actions[hidden]{display:none}
.learning-plan-lessons>ol>.learning-plan-lesson:first-child{padding-top:0;border-top:0}
.learning-plan-lessons>ol>.learning-plan-lesson:last-child{padding-bottom:0}
.learning-plan-lesson-content{min-width:0}
.learning-plan-lessons .learning-plan-skills{list-style:none;display:grid;gap:var(--movli-space-3);margin:var(--movli-space-4) 0;padding:0}
.learning-plan-skills>li{display:flex;align-items:center;gap:var(--movli-space-3);font-size:18px;font-weight:700;line-height:1.35}
.learning-plan-skill-icon{display:flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;border-radius:var(--movli-radius-round);background:var(--movli-surface-subtle);color:var(--movli-sky-700)}
.learning-plan-skill-icon svg{width:24px;height:24px}
@media(max-width:420px){.learning-plan-lessons{padding:var(--movli-space-4)}.learning-plan-lessons>ol>li{gap:var(--movli-space-3)}.learning-plan-skills>li{font-size:16px}.learning-plan-skill-icon{flex-basis:32px;width:32px;height:32px}}

/* The preview describes the stored encounters, not a generic lesson template. */
.learning-plan-preview .plan-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--movli-space-3) var(--movli-space-6);align-items:center;margin-bottom:var(--movli-space-8)}
.learning-plan-preview .plan-header h1{font-size:var(--movli-feedback-title);line-height:1.08;margin:0;letter-spacing:-1.5px}
.learning-plan-preview .plan-header .page-intro{grid-column:1;margin:0}
.learning-plan-preview .plan-header .course-button{grid-column:2;grid-row:1/3}
.learning-plan-preview .learning-plan-lessons{padding:0;overflow:hidden}
.learning-plan-preview .plan-focus{padding:var(--movli-space-8);border-bottom:1px solid var(--movli-mist-200)}
.learning-plan-preview .learning-plan-skills{grid-template-columns:repeat(3,minmax(0,1fr));margin:var(--movli-space-6) 0 0}
.plan-skill-0{--plan-skill:var(--movli-plan-skill-1)}.plan-skill-1{--plan-skill:var(--movli-plan-skill-2)}.plan-skill-2{--plan-skill:var(--movli-plan-skill-3)}
.learning-plan-preview .learning-plan-skill-icon{width:64px;height:64px;flex-basis:64px;color:var(--plan-skill);background:color-mix(in srgb,var(--plan-skill) 10%,var(--movli-surface))}
.learning-plan-preview .learning-plan-skill-icon svg{width:34px;height:34px}
.learning-plan-preview .learning-plan-lessons>ol>.learning-plan-lesson{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--movli-space-8);padding:var(--movli-space-8)}
.learning-plan-preview .learning-plan-lessons>ol>.learning-plan-lesson:first-child{border-top:0}
.plan-lesson-meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--movli-space-3);font-size:14px;font-weight:750;color:var(--movli-sky-700);margin-bottom:var(--movli-space-4)}
.plan-difficulty-0{--plan-level:var(--movli-plan-level-easy)}.plan-difficulty-1{--plan-level:var(--movli-plan-level-moderate)}.plan-difficulty-2{--plan-level:var(--movli-plan-level-advanced)}
.plan-difficulty{color:var(--plan-level);background:color-mix(in srgb,var(--plan-level) 12%,var(--movli-surface));padding:6px 13px;border-radius:var(--movli-radius-round);font-size:15px}
.learning-plan-preview .plan-lesson-copy h3{font-size:30px;line-height:1.15;margin:0 0 var(--movli-space-4)}
.learning-plan-preview .plan-lesson-copy .plan-pacing{font-size:14px;margin-top:var(--movli-space-4)}
.plan-encounters{background:var(--movli-surface-subtle);border-radius:var(--movli-radius-dialog);padding:var(--movli-space-6);min-width:0}
.plan-encounters h4{font-size:18px;margin:0 0 var(--movli-space-4)}
.learning-plan-preview .plan-phase p{font-size:13px;margin:var(--movli-space-3) 0 var(--movli-space-2)}
.plan-encounter-buttons{display:flex;gap:6px;flex-wrap:wrap}
.learning-plan-preview .plan-encounter-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:44px;min-height:48px;border:1px solid var(--movli-mist-200);border-radius:10px;background:var(--movli-surface);color:var(--movli-text);padding:7px;font:750 16px var(--movli-font-body);cursor:pointer}
.learning-plan-preview .plan-encounter-button[aria-pressed="true"]{border-color:var(--movli-road-900);box-shadow:inset 0 0 0 1px var(--movli-road-900)}
.plan-skill-marks{display:flex;gap:3px;min-height:9px}.plan-skill-mark{width:9px;height:9px;border-radius:50%;background:var(--plan-skill);display:inline-block;flex-shrink:0}
.plan-encounter-detail{margin-top:var(--movli-space-4);padding-top:var(--movli-space-4);border-top:1px solid var(--movli-mist-200);font-size:16px;line-height:1.4}
.plan-encounter-detail>div{display:flex;gap:var(--movli-space-2) var(--movli-space-3);flex-wrap:wrap;margin-top:var(--movli-space-2)}
.plan-skill-name{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--movli-text-muted)}
.learning-plan-preview .plan-replay{margin-top:var(--movli-space-6)}
@media(max-width:760px){.learning-plan-preview .plan-header{grid-template-columns:1fr}.learning-plan-preview .plan-header h1{font-size:var(--movli-feedback-title-mobile)}.learning-plan-preview .plan-header .course-button{grid-column:1;grid-row:auto;justify-self:start}.learning-plan-preview .learning-plan-skills{grid-template-columns:1fr}.learning-plan-preview .learning-plan-lessons>ol>.learning-plan-lesson{grid-template-columns:1fr;padding:var(--movli-space-6)}.learning-plan-preview .plan-focus{padding:var(--movli-space-6)}}

/* Guest welcome alternatives use the same dialog, art, actions and loading barrier. */
.competency-page.startup-welcome{background:linear-gradient(color-mix(in srgb,var(--movli-road-900) 32%,transparent),color-mix(in srgb,var(--movli-road-900) 32%,transparent)),linear-gradient(155deg,var(--movli-sky-300),var(--movli-sky-500))}
.drive-introduction .welcome-login{display:flex;align-items:center;gap:var(--movli-space-3);width:100%;justify-content:space-between}
.drive-introduction .welcome-login>span{font:400 14px/1.4 var(--movli-font-body);color:var(--movli-text-muted)}
.movli-dialog-overlay .welcome-card.movli-dialog{overflow:hidden;padding:0}
.welcome-card .welcome-content{display:flex;flex-direction:column}
.welcome-card .welcome-heading{padding:var(--movli-space-8) var(--movli-space-8) 0}
.welcome-card .welcome-eyebrow{font:800 12px/1.4 var(--movli-font-body);letter-spacing:.1em;margin:0 0 var(--movli-space-3);color:var(--movli-sky-700)}
.welcome-card h1{font-size:42px;line-height:1.06;letter-spacing:-.04em;margin:0 0 var(--movli-space-4)}
.welcome-card .welcome-description{margin:0;max-width:46ch}
.welcome-card .welcome-art{position:relative;background:var(--movli-sky-500);overflow:hidden}
.welcome-card .welcome-art .mode-art{display:block;height:190px;margin:0;background:none}
.welcome-card .welcome-art svg{display:block;width:100%;height:100%}
.welcome-card .welcome-art-label{position:absolute;left:var(--movli-space-6);top:var(--movli-space-6);font:900 14px/1 var(--movli-font-display);letter-spacing:.08em;color:var(--movli-cloud-000)}
.welcome-card .welcome-note{margin:var(--movli-space-6) var(--movli-space-8) 0;padding-top:var(--movli-space-4);border-top:1px solid var(--movli-mist-300);font-size:14px}
.movli-dialog-overlay .welcome-card.movli-dialog>.dialog-actions{padding:0 var(--movli-space-8);margin:var(--movli-space-6) 0}
.welcome-card .dialog-utilities{margin:0;border-radius:0;padding:var(--movli-space-3) var(--movli-space-8)}
.welcome-cockpit .welcome-content{display:grid;grid-template-columns:36% 1fr}
.welcome-cockpit .welcome-art{grid-row:1/3;background:var(--movli-road-900);display:flex;align-items:center}
.welcome-cockpit .welcome-art .mode-art{width:100%;height:300px;transform:scale(1.3)}
.welcome-cockpit .welcome-heading{padding:var(--movli-space-8) var(--movli-space-6) 0}
.welcome-cockpit .welcome-note{margin:var(--movli-space-6) var(--movli-space-6) var(--movli-space-6);border-top:0;padding-top:0}
.welcome-cockpit h1{font-size:52px}
.welcome-journey .welcome-art{display:none}
.welcome-journey .welcome-heading{padding-top:var(--movli-space-8)}
.welcome-journey h1{font-size:44px}
.welcome-card .welcome-sequence{list-style:none;margin:var(--movli-space-6) var(--movli-space-8) 0;padding:0;display:grid;gap:var(--movli-space-6)}
.welcome-sequence li{display:flex;gap:var(--movli-space-4);position:relative;align-items:center}
.welcome-sequence li:not(:last-child)::after{content:'';position:absolute;left:21px;top:42px;width:2px;height:var(--movli-space-6);background:var(--movli-mist-300)}
.welcome-sequence .welcome-step{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:var(--movli-radius-round);background:var(--movli-mist-200);font:800 14px/1 var(--movli-font-body)}
.welcome-sequence li:first-child .welcome-step{background:var(--movli-sun-500)}
.welcome-sequence strong,.welcome-sequence li div>span{display:block;font-size:16px;line-height:1.45}
.welcome-sequence li div>span{color:var(--movli-text-muted);font-size:14px}
.welcome-postcard .welcome-art{order:2;margin:var(--movli-space-6) var(--movli-space-8) 0;border-radius:var(--movli-radius-panel);background:var(--movli-mist-200)}
.welcome-postcard .welcome-art-label{color:var(--movli-road-900);font-size:12px}
.welcome-postcard .welcome-art .mode-art{height:190px;transform:translateX(16%) rotate(-8deg) scale(1.2)}
.welcome-postcard .welcome-note{order:3}
@media(max-width:520px){
  .welcome-card h1,.welcome-journey h1{font-size:34px}
  .welcome-cockpit h1{font-size:40px}
  .welcome-card .welcome-heading{padding:var(--movli-space-6) var(--movli-space-6) 0}
  .welcome-card .welcome-art .mode-art{height:140px}
  .welcome-card .welcome-note{margin:var(--movli-space-4) var(--movli-space-6) 0}
  .welcome-card .welcome-sequence{margin:var(--movli-space-6) var(--movli-space-6) 0}
  .movli-dialog-overlay .welcome-card.movli-dialog>.dialog-actions{padding:0 var(--movli-space-6);margin:var(--movli-space-6) 0}
  .welcome-card .dialog-utilities{margin:0;padding:var(--movli-space-2) var(--movli-space-6)}
  .welcome-cockpit .welcome-content{display:flex}
  .welcome-cockpit .welcome-art{display:none}
  .welcome-postcard .welcome-art{margin:var(--movli-space-6) var(--movli-space-6) 0}
}

/* Active plan: visible skills above a journey rail and one next-drive action. */
.learning-plan-preview .plan-header{display:flex;justify-content:space-between;align-items:center;gap:var(--movli-space-6)}
.learning-plan-preview .plan-header h1{font-size:40px;letter-spacing:-1px}
.learning-plan-preview .plan-header .page-intro{margin:var(--movli-space-2) 0 0}
.plan-completion{min-width:210px;font-size:14px}.plan-segments{display:flex;gap:var(--movli-space-1);margin-top:var(--movli-space-3)}
.plan-segments>span{height:8px;flex:1;background:var(--movli-mist-200);border-radius:var(--movli-radius-round)}
.plan-segments>.is-complete{background:var(--movli-go-700)}.plan-segments>.is-current{background:var(--movli-progress)}
.plan-active{padding:0;background:transparent;border:0;border-radius:0}
.learning-plan-preview .plan-active>.plan-focus{padding:0 0 var(--movli-space-8);border:0}
.learning-plan-preview .plan-active>.plan-focus h2{font:650 14px/1.5 var(--movli-font-body);color:var(--movli-text-muted);margin:0 0 var(--movli-space-4)}
.learning-plan-preview .plan-active>.plan-focus .learning-plan-skills{display:grid;list-style:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--movli-space-4);margin:0;padding:0}
.plan-active>.plan-focus .learning-plan-skills>li{min-width:0;font-size:16px;font-weight:650;gap:var(--movli-space-3)}
.plan-active>.plan-focus .learning-plan-skills>li>span:last-child{white-space:nowrap}
.learning-plan-preview .plan-active>.plan-focus .learning-plan-skill-icon{width:48px;height:48px;flex-basis:48px;background:color-mix(in srgb,var(--plan-skill) 12%,var(--movli-surface-subtle))}
.learning-plan-preview .plan-active>.plan-focus .learning-plan-skill-icon svg{width:var(--movli-icon-size-default);height:var(--movli-icon-size-default)}
.plan-active-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:var(--movli-space-8);padding-top:var(--movli-space-8);border-top:1px solid var(--movli-mist-200)}
.plan-next{min-width:0;padding:0;background:transparent;border:0;border-radius:0}
.plan-next .plan-next-label{font-size:14px;font-weight:650;text-transform:uppercase;letter-spacing:0;line-height:24px;margin:0 0 var(--movli-space-4)}
.competency-page .plan-next>h2{font-size:32px;line-height:1.2;letter-spacing:-.6px;margin:0 0 var(--movli-space-4)}
.plan-next>p{font-size:15px;line-height:1.55;color:var(--movli-text-muted)}
.plan-next-meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--movli-space-4);margin:var(--movli-space-6) 0;font-size:14px;color:var(--movli-text-muted)}
.plan-next>.course-button{width:100%;margin:0}
.competency-page .plan-context{max-width:none;border-bottom:0;margin-top:var(--movli-space-6)}
.plan-context>summary{font-size:14px;font-weight:650;color:var(--movli-text-muted);min-height:44px;align-content:center;cursor:pointer}
.learning-plan-preview .plan-context .learning-plan-lessons{background:transparent;border-radius:0;overflow:visible}
.learning-plan-preview .plan-context .learning-plan-lesson{grid-template-columns:1fr;padding:var(--movli-space-6) 0;gap:var(--movli-space-4)}
.learning-plan-preview .plan-context .plan-lesson-copy h3{font-size:22px}.learning-plan-preview .plan-context .plan-encounters{padding:0}
.plan-route{min-width:0;padding-right:var(--movli-space-8);border-right:1px solid var(--movli-mist-200)}
.competency-page .plan-route h2{font:650 14px/24px var(--movli-font-body);color:var(--movli-text-muted);margin:0 0 var(--movli-space-4)}
.plan-route ol{list-style:none;margin:0;padding:0}.plan-route li{position:relative;display:grid;grid-template-columns:32px minmax(0,1fr);gap:var(--movli-space-3);padding-bottom:var(--movli-space-6)}
.plan-route li:last-child{padding-bottom:0}
.plan-route li:not(:last-child):before{content:'';position:absolute;top:32px;bottom:0;left:15px;width:2px;background:var(--movli-mist-200)}
.plan-route-number{width:32px;height:32px;display:grid;place-items:center;background:var(--movli-mist-200);border-radius:var(--movli-radius-round);font-weight:800;font-size:14px}
.plan-route .is-complete .plan-route-number{background:var(--movli-go-700);color:var(--movli-cloud-000)}.plan-route .is-current .plan-route-number{background:var(--movli-progress)}
.plan-route strong{display:block;font-size:14px;font-weight:600;line-height:1.45}.plan-route .is-current strong{font-weight:750}.plan-route small{display:block;margin-top:var(--movli-space-1);font-size:13px}
.plan-history{margin-top:var(--movli-space-8);padding-top:var(--movli-space-4);border-top:1px solid var(--movli-mist-200)}.competency-page .plan-history>h2{font:650 16px/1.5 var(--movli-font-body);margin:0 0 var(--movli-space-2)}.plan-history>h2>span{font-size:14px;color:var(--movli-text-muted);margin-left:var(--movli-space-2)}
.plan-archive{background:var(--movli-surface);border-bottom:1px solid var(--movli-mist-200);padding:0 var(--movli-space-6)}
.plan-archive:first-of-type{border-radius:var(--movli-radius-dialog) var(--movli-radius-dialog) 0 0}.plan-archive:last-of-type{border-radius:0 0 var(--movli-radius-dialog) var(--movli-radius-dialog)}.plan-archive:only-of-type{border-radius:var(--movli-radius-dialog)}
.plan-archive summary{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:var(--movli-space-4);align-items:center;list-style:none;padding:var(--movli-space-6) 0;cursor:pointer}.plan-archive summary::-webkit-details-marker{display:none}
.plan-archive-check{color:var(--movli-go-700);font-size:24px}.plan-archive small{display:block;margin-top:var(--movli-space-1);font-size:13px}.plan-archive-open{font-size:14px;color:var(--movli-text-muted)}.plan-archive[open] .plan-archive-open{visibility:hidden}
.plan-archive ol{padding:0 0 var(--movli-space-6) var(--movli-space-12);margin:0}.plan-archive li{padding:var(--movli-space-2) 0}.plan-archive li span{display:block;color:var(--movli-text-muted);font-size:13px}
.plan-history-note,.plan-history-empty{color:var(--movli-text-muted);font-size:14px;line-height:1.5}
@media(min-width:761px) and (max-width:1000px){.plan-active>.plan-focus .learning-plan-skills>li{flex-direction:column;align-items:flex-start}}
@media(max-width:760px){.learning-plan-preview .plan-header{display:block}.learning-plan-preview .plan-header h1{font-size:34px}.plan-completion{margin-top:var(--movli-space-6)}.learning-plan-preview .plan-active>.plan-focus .learning-plan-skills{grid-template-columns:1fr}.plan-active>.plan-focus .learning-plan-skills>li>span:last-child{white-space:normal;overflow-wrap:anywhere}.plan-active-grid{grid-template-columns:1fr;gap:var(--movli-space-6)}.plan-next{grid-row:1}.plan-route{grid-row:2;padding:var(--movli-space-6) 0 0;border-right:0;border-top:1px solid var(--movli-mist-200)}.competency-page .plan-next>h2{font-size:28px}.plan-archive{padding:0 var(--movli-space-4)}.plan-archive summary{grid-template-columns:24px minmax(0,1fr)}.plan-archive-open{display:none}}


.compact-feedback .feedback-skill-row[data-rating="demonstrated"] .feedback-result strong{color:var(--movli-score-good)}
.compact-feedback .feedback-skill-row[data-rating="demonstrated"] .feedback-meter>span{background:var(--movli-score-good)}

/* Practice signals are context links, visually quieter than the mode choices. */
:is(#course-home,.course-card) button.practice-signal{display:flex;align-items:center;gap:var(--movli-space-4);background:transparent;color:inherit;border:0;box-shadow:none;padding:var(--movli-space-2);margin:0;border-radius:var(--movli-radius-control);font:inherit;max-width:100%;min-height:44px}
:is(#course-home,.course-card) button.practice-percentile{display:block;background:transparent;color:inherit;border:0;box-shadow:none;font:700 14px/1.4 var(--movli-font-body);text-decoration:underline;text-underline-offset:4px;padding:var(--movli-space-2);margin:0;min-height:44px}
@media(max-width:650px){:is(#course-home,.course-card) button.practice-signal{flex-direction:column;gap:var(--movli-space-3)}}

/* Privacy utilities stay outside the main driving decision. */
.privacy-links{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 16px;margin-top:16px}
.privacy-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--movli-text-muted);font-size:13px;text-underline-offset:3px}
.privacy-links a:focus-visible{outline:3px solid var(--movli-sun-500);outline-offset:3px}
.privacy-notice{padding:16px;border:1px solid var(--movli-mist-200);border-radius:var(--movli-radius-control);background:var(--movli-surface-subtle);color:var(--movli-text);font-size:14px;line-height:1.5}

/* Native, keyboard-operable choice controls for compact preference forms. */
.course-card .movli-switch{position:relative;display:inline-flex;align-items:center;width:48px;min-width:48px;height:44px}
.course-card .movli-switch>input,.course-card .movli-choice>input{position:absolute;inset:0;margin:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:1}
.course-card .movli-switch>span{display:block;box-sizing:border-box;width:48px;height:28px;border-radius:var(--movli-radius-round);background:var(--movli-mist-300);border:1px solid var(--movli-slate-500);pointer-events:none;transition:background var(--movli-motion-micro) var(--movli-ease)}
.course-card .movli-switch>span::after{content:"";display:block;width:20px;height:20px;margin:3px;border-radius:var(--movli-radius-round);background:var(--movli-surface);box-shadow:0 1px 2px color-mix(in srgb,var(--movli-road-900) 20%,transparent);transition:transform var(--movli-motion-micro) var(--movli-ease)}
.course-card .movli-switch>input:checked+span{background:var(--movli-sky-700);border-color:var(--movli-sky-700)}
.course-card .movli-switch>input:checked+span::after{transform:translateX(20px)}
.course-card .movli-choice{position:relative;display:block;min-width:44px;cursor:pointer}
.course-card .movli-choice>span{display:grid;box-sizing:border-box;place-items:center;width:100%;min-height:48px;padding:var(--movli-space-2);border:1px solid var(--movli-mist-300);border-radius:var(--movli-radius-control);background:var(--movli-surface);color:var(--movli-text-muted);font:700 14px/1.2 var(--movli-font-body);pointer-events:none}
.course-card .movli-choice>input:checked+span{border-width:2px;font-weight:900;background:var(--movli-sky-700);border-color:var(--movli-sky-700);color:var(--movli-cloud-000)}
.course-card :is(.movli-switch,.movli-choice)>input:focus-visible+span{outline:3px solid var(--movli-focus);outline-offset:3px}
.course-card :is(.movli-switch,.movli-choice)>input:disabled{cursor:default}
.course-card :is(.movli-switch,.movli-choice):has(input:disabled){opacity:.6;cursor:default}
.course-card .movli-time-picker{display:flex;align-items:center;gap:var(--movli-space-1);padding:0 var(--movli-space-2);border:1px solid var(--movli-mist-300);border-radius:var(--movli-radius-control);background:var(--movli-surface);color:var(--movli-text);font:800 20px/1.4 var(--movli-font-display);font-variant-numeric:tabular-nums;color-scheme:light}
.course-card .movli-time-picker select{appearance:none;box-sizing:border-box;width:48px;min-width:48px;min-height:48px;margin:0;padding:0;border:0;border-radius:var(--movli-radius-tooltip);background:transparent;color:inherit;font:inherit;text-align:center;cursor:pointer}
.course-card .movli-time-picker select:hover{background:var(--movli-surface-subtle)}
@media(prefers-reduced-motion:reduce){.course-card .movli-switch>span,.course-card .movli-switch>span::after{transition:none}}

/* Recovery dialogs and contextual statuses must honor semantic visibility. */
.competency-page[hidden],.competency-page [hidden]{display:none!important}

/* Task navigation is utility chrome, outside the decision area. */
.competency-page .course-card.movli-screen{background:var(--movli-surface-subtle);border:0;border-radius:0;box-shadow:none}
.course-card .screen-navigation .movli-icon-button{width:var(--movli-icon-target);height:var(--movli-icon-target);min-height:var(--movli-icon-target);padding:0;border:0;border-radius:var(--movli-radius-control);background:var(--movli-surface);color:var(--movli-text);box-shadow:none;transform:none}
/* Pause is an aligned action menu, not a flex-wrap button group. */
#pauseOv .card.movli-dialog{text-align:left;overflow:auto;max-height:calc(var(--movli-viewport-height,100dvh) - var(--movli-space-8));box-sizing:border-box}
#pauseOv .movli-dialog .dialog-actions{display:flex;flex-direction:column;align-items:stretch}
#pauseOv .movli-dialog .dialog-actions .course-button{width:100%;flex:none}
#pauseOv #resumeBtn{order:-1}
#pauseOv .movli-dialog .dialog-utilities{display:flex;flex-direction:column;align-items:stretch;gap:var(--movli-space-2);margin:var(--movli-space-4) 0 0;padding:var(--movli-space-3) 0 0;border-radius:0;background:none}
#pauseOv .movli-dialog .dialog-utilities .dialog-utility{width:100%;justify-content:flex-start;padding-inline:0;text-align:left}
@media(max-height:420px) and (min-width:520px){
 #pauseOv .card.movli-dialog{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:var(--movli-space-3) var(--movli-space-6);padding:var(--movli-space-4)}
 #pauseOv .movli-dialog h2,#pauseOv .movli-dialog .keyhint{grid-column:1;margin:0}
 #pauseOv .movli-dialog .dialog-actions{grid-column:2;grid-row:1/3;margin:0}
 #pauseOv .movli-dialog .dialog-utilities{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;margin:0}
}

/* Embedded provider forms share the Movli action hierarchy. */
.auth-host button{border-color:var(--movli-border);background:var(--movli-surface);color:var(--movli-text)}
.auth-host button.cl-formButtonPrimary{border-color:var(--movli-action-edge);background:var(--movli-action);color:var(--movli-action-text)}
#menuCard[data-menu-screen=locations]{background:var(--movli-surface-subtle);color:var(--movli-text)}
#menuCard[data-menu-screen=locations] .drive-head{flex-direction:row;align-items:center;padding:var(--movli-screen-navigation-inset) var(--movli-space-4);gap:var(--movli-space-3);background:var(--movli-surface-subtle);border-color:var(--movli-border)}
#menuCard[data-menu-screen=locations] .drive-head>div:nth-child(2){flex:1;min-width:0}
#menuCard[data-menu-screen=locations] .drive-brand{font:800 16px var(--movli-font-display);letter-spacing:.18em;color:var(--movli-text);gap:var(--movli-space-2)}
#menuCard[data-menu-screen=locations] .drive-brand img{width:32px;height:32px}
#menuCard[data-menu-screen=locations] .drive-brand span{background:none;color:inherit;padding:0}
#menuCard[data-menu-screen=locations] h1{font-size:22px;margin:0}
#menuCard[data-menu-screen=locations] .drive-head small{font-size:14px;color:var(--movli-text-muted)}
#menuCard[data-location-mode=free] .drive-head small,#menuCard[data-location-mode=free] .map-preview{display:none!important}
#menuCard[data-menu-screen=locations] .location-close{border:0;min-width:var(--movli-icon-target);width:var(--movli-icon-target);height:var(--movli-icon-target);padding:0;background:var(--movli-surface);color:var(--movli-text);border-radius:var(--movli-radius-control)}
#menuCard[data-menu-screen=locations] .city-map{background:var(--movli-mist-200)}
#menuCard[data-menu-screen=locations] .pin-label,#menuCard[data-menu-screen=locations] .pin-ring{fill:var(--movli-surface)}
#menuCard[data-menu-screen=locations] .pin-dot{fill:var(--movli-sky-700)}
#menuCard[data-menu-screen=locations] .map-place text{fill:var(--movli-text)}
#menuCard[data-menu-screen=locations] .map-caption{background:var(--movli-surface);color:var(--movli-text);border-color:var(--movli-border)}
#menuCard[data-location-mode=free] .map-caption{display:none}
.location-selection{flex:none;max-height:45%;overflow:auto;display:flex;align-items:center;justify-content:space-between;gap:var(--movli-space-4);padding:var(--movli-space-4);background:var(--movli-surface-subtle);border-top:1px solid var(--movli-border)}
.location-selection-copy{min-width:0}
#menuCard .location-selection h2{font:800 22px/1.15 var(--movli-font-display);margin:0 0 var(--movli-space-1);color:var(--movli-text)}
.location-selection p{margin:0;font:400 14px/1.4 var(--movli-font-body);color:var(--movli-text-muted)}
.location-selection>.course-button{margin:0;flex:none}
.location-selection summary{min-height:44px;cursor:pointer;padding-top:var(--movli-space-2);font:650 14px var(--movli-font-body)}
.location-selection label{display:flex;align-items:center;gap:var(--movli-space-3);min-height:44px;font:400 16px var(--movli-font-body)}
@media(max-width:420px){#menuCard[data-menu-screen=locations] .drive-brand span{display:none}#menuCard[data-menu-screen=locations] h1{font-size:18px}.location-selection{flex-direction:column;align-items:stretch}.location-selection>.course-button{width:100%}}
@media(max-height:420px){#menuCard[data-menu-screen=locations] .drive-head{padding-block:var(--movli-screen-navigation-inset-short)}.location-selection{padding-block:var(--movli-space-3)}.location-selection-copy{display:flex;align-items:center;gap:var(--movli-space-3)}.location-selection-copy>p{display:none}.location-selection-copy details{flex:none}.location-selection-copy summary{max-width:130px;padding:0;display:flex;align-items:center}.location-selection:has(details[open]) .location-selection-copy{display:block}}

.course-card .screen-action-context.course-button{min-height:44px;width:auto;border:0;background:transparent;color:var(--movli-sky-700);box-shadow:none;font:650 16px/1.4 var(--movli-font-body);padding:var(--movli-space-3) 0;text-decoration:underline;text-underline-offset:3px}

#menuCard[data-menu-screen=locations] .map-footer{left:var(--movli-space-4);right:auto;bottom:var(--movli-space-2);max-width:calc(100% - 100px);min-width:0}
#menuCard[data-menu-screen=locations] .map-footer>span:first-child{display:none}
#menuCard[data-menu-screen=locations] .map-controls{top:var(--movli-space-3);right:var(--movli-space-3);background:var(--movli-surface);color:var(--movli-text);border-color:var(--movli-border)}

#menuCard[data-menu-screen=locations] .map-footer .map-credit{display:flex;align-items:center;gap:var(--movli-space-2);flex-wrap:wrap}#menuCard[data-menu-screen=locations] .map-credit a{min-width:44px;min-height:44px;display:inline-flex;align-items:center;font:400 14px var(--movli-font-body);color:var(--movli-text-muted)}

/* Native typography follows OS text size without changing road graphics. */
html.movli-native :is(.course-card,.movli-dialog,#course-home) :is(input,textarea,select,button,p,label,summary,.page-intro){font-size:calc(var(--movli-input-font-size) * var(--movli-native-text-scale))}
html.movli-native :is(.course-card,.movli-dialog,#course-home) h1{font-size:calc(var(--movli-screen-landscape-title) * var(--movli-native-text-scale))}
html.movli-native :is(.course-card,.movli-dialog,#course-home) :is(h2,h3){font-size:calc(var(--movli-input-font-size) * 1.25 * var(--movli-native-text-scale))}
html.movli-native #course-home :is(.mode-title,.mode-description,.mode-action,.tool-button){font-size:calc(var(--movli-input-font-size) * var(--movli-native-text-scale))}
html.movli-native :is(.screen-body,.touch-reading-body){touch-action:pan-y}
html.movli-native :is(input,textarea,select){font-size:calc(var(--movli-input-font-size) * var(--movli-native-text-scale))!important}
html.movli-native .movli-screen>.dialog-actions{max-height:50%;overflow:auto}
@media(hover:none){
 .mode-choice:hover{transform:none}
 :is(.course-card button,.course-button):hover:not(:disabled){filter:none}
}

/* Operation help illuminates the existing control; no extra HUD panel. */
.native-control-cue{box-shadow:0 0 var(--movli-guidance-halo) color-mix(in srgb,var(--movli-guidance) calc(var(--native-cue-strength)*100%),transparent)!important;border-color:var(--movli-guidance)!important;background:color-mix(in srgb,var(--movli-guidance) calc(var(--native-cue-strength)*100%),var(--movli-hud-surface))!important}
