/* AppHeader/index.tsx, Context.md and brand-guidelines §5, translated 1:1. */
body.compact-journey-app{padding-top:var(--title-menu-rail-height,calc(56px + env(safe-area-inset-top,0px)));box-sizing:border-box}
body.compact-journey-app .topbar.mp-app-header{display:block!important;box-sizing:border-box;position:fixed;inset:0 0 auto;width:100%;margin:0;padding:env(safe-area-inset-top,0px) 0 0;border:0;border-bottom:1px solid rgb(var(--brand-rgb)/.07);background:rgb(var(--page-rgb)/.9);font-family:var(--font);backdrop-filter:blur(24px) saturate(1.5);-webkit-backdrop-filter:blur(24px) saturate(1.5);z-index:120;overflow:visible}
body.compact-journey-app .mp-app-header>.topbar-inner{display:flex;box-sizing:border-box;width:100%;max-width:none;height:56px;min-height:56px;align-items:center;gap:12px;margin:0;padding:0 16px;position:static;transform:none}
body.compact-journey-app .mp-app-header .app-header-home{all:unset;box-sizing:border-box;display:block;flex:none;margin:-4px;padding:4px;border-radius:9px;cursor:pointer;transition:transform 150ms var(--ease-spring,cubic-bezier(.22,1,.36,1))}
body.compact-journey-app .mp-app-header .app-header-logo{display:block;width:28px;height:auto;aspect-ratio:291/294;max-width:none;border-radius:7px;user-select:none}
body.compact-journey-app .mp-app-header .app-header-context-slot{flex:1;min-width:0}
body.compact-journey-app .mp-app-header .app-header-context{min-width:0;border-left:1px solid rgb(var(--brand-rgb)/.15);padding-left:12px}
body.compact-journey-app .mp-app-header :is(.app-header-eyebrow,.app-header-label){display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;line-height:1.25}
body.compact-journey-app .mp-app-header .app-header-eyebrow{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--action-ink)}
body.compact-journey-app .mp-app-header .app-header-label{font-size:13px;letter-spacing:normal;color:var(--ink)}
body.compact-journey-app .mp-app-header .topbar-inner>.stage-path-toggle{position:static;display:grid;place-items:center;flex:none;box-sizing:border-box;width:40px;height:40px;min-width:40px;min-height:40px;margin:0 -8px 0 0;padding:0;border:0;border-radius:9999px;background:transparent;color:var(--action-ink);box-shadow:none!important;transform:none;cursor:pointer;transition:transform 150ms cubic-bezier(.22,1,.36,1),background-color 150ms cubic-bezier(.22,1,.36,1),color 150ms cubic-bezier(.22,1,.36,1)}
body.compact-journey-app .mp-app-header .stage-path-toggle::after{content:none!important}
body.compact-journey-app .mp-app-header .stage-path-toggle:hover{background:var(--brand-tint)}
body.compact-journey-app .mp-app-header .stage-path-toggle[aria-expanded=true]{background:var(--brand);color:var(--on-brand)}
body.compact-journey-app .mp-app-header :is(.stage-path-toggle,.app-header-home):active{transform:scale(.95)}
body.compact-journey-app .mp-app-header :is(.stage-path-toggle,.app-header-home):focus-visible{outline:3px solid rgb(var(--brand-rgb)/.3);outline-offset:0}
body.compact-journey-app .mp-app-header .stage-path-toggle svg{width:20px;height:20px}
body.compact-journey-app .mp-app-header>.mp-rail-shell{box-sizing:border-box;position:static;top:auto;z-index:auto;width:100%;margin:0;padding:0 12px 4px;border:0;background:none;overflow:visible}
body.compact-journey-app .mp-app-header>.mp-rail-shell[hidden]{display:none}
body.compact-journey-app .mp-app-header>.teacher-app-menu{box-sizing:border-box;position:absolute!important;top:calc(52px + env(safe-area-inset-top,0px))!important;right:12px!important;left:auto!important;bottom:auto!important;z-index:30;display:grid;width:260px;max-width:calc(100vw - 24px);gap:2px;margin:0;padding:6px;border:0;border-radius:20px;background:var(--surface);color:var(--ink);box-shadow:var(--shadow-pop),0 0 0 1px rgb(var(--brand-rgb)/.1);overflow-y:auto;transform-origin:top right}
body.compact-journey-app .mp-app-header>.teacher-app-menu[hidden]{display:none}
body.compact-journey-app .mp-app-header .teacher-app-menu>button{box-sizing:border-box;display:flex;align-items:center;gap:12px;min-height:48px;width:100%;margin:0;padding:8px 12px;border:0;border-radius:12px;background:transparent;text-align:left;color:var(--action-ink-dark);cursor:pointer;box-shadow:none;font-family:var(--font);transition:background-color 150ms ease,color 150ms ease}
body.compact-journey-app .mp-app-header .teacher-app-menu>button:hover{background:var(--page)}
body.compact-journey-app .mp-app-header .teacher-app-menu>button[aria-current=page]{background:var(--brand-tint)}
body.compact-journey-app .mp-app-header .teacher-app-menu>button:focus-visible{outline:2px solid rgb(var(--brand-rgb)/.3);outline-offset:0}
body.compact-journey-app .mp-app-header .teacher-app-menu>button.app-header-profile{min-height:0;margin-bottom:4px;padding:10px 12px}
body.compact-journey-app .mp-app-header .app-header-avatar{display:grid;place-items:center;flex:none;box-sizing:border-box;width:36px;height:36px;border-radius:9999px;background:var(--brand);color:var(--on-brand);font-size:12px;font-weight:700;line-height:16px;letter-spacing:normal}
body.compact-journey-app .mp-app-header .app-header-profile-copy{min-width:0}
body.compact-journey-app .mp-app-header .app-header-profile-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;line-height:20px;letter-spacing:normal;text-transform:none;color:var(--ink)}
body.compact-journey-app .mp-app-header .app-header-profile-meta{display:block;font-size:11px;line-height:16.5px;font-weight:400;letter-spacing:normal;text-transform:none;color:var(--muted)}
/* The rail now shares the header. Screen titles only carry Back and the title. */
body.compact-journey-app>main{padding-top:0;min-height:calc(100dvh - var(--title-menu-rail-height,56px))}
body.compact-journey-app .mp-title-space{display:none}
body.compact-journey-app>main .mp-back{position:absolute!important;top:50%!important;left:0!important;transform:translateY(-50%)!important}
body.compact-journey-app>main:is(.engine-stack.student-roster,.eval-list-view){top:var(--title-menu-rail-height,56px)!important}
body.compact-journey-app dialog:has(>.mp-app-header){padding-top:var(--title-menu-rail-height,56px)}
@media(prefers-reduced-motion:reduce){body.compact-journey-app .mp-app-header *{animation:none!important;transition:none!important}}
/* Context in the header is never repeated in the hero. */
body.compact-journey-app>main .shell-title>.mp-back{position:static!important;transform:none!important;margin:0!important;width:36px;height:36px;min-width:36px;min-height:36px}
body.compact-journey-app>main .shell-title>.mp-back svg{width:16px;height:16px}
body.compact-journey-app>main .shell-title>div{align-items:flex-start;justify-content:flex-start;text-align:left;padding-inline:0}
body.compact-journey-app>main .shell-title h1{text-align:left}
/* Fixed source geometry: 56px bar + 1px edge, and the labelled 62px rail + 4px inset. */
body.compact-journey-app{--app-chrome-height:calc(57px + env(safe-area-inset-top,0px));--title-menu-rail-height:var(--app-chrome-height)!important;--app-header-height:var(--app-chrome-height)!important;--stage-header-height:var(--app-chrome-height)!important}
body.compact-journey-app:has(.mp-app-header>.mp-rail-shell:not([hidden])){--app-chrome-height:calc(123px + env(safe-area-inset-top,0px))}
body.compact-journey-app .mp-app-header{height:var(--app-chrome-height)}
body.compact-journey-app .mp-app-header>.mp-rail-shell{height:66px;flex:none}
