/* Participant session rail contract 1.3.18. Load after engine styles. */
:is(.learning-platform .session-focus,.map-shell .left,.moi-shell .left,.sidebar[id="leftPanel"],.journey-scroll) :is(.session-team-card,.team-context){
 display:grid!important;grid-template-columns:minmax(0,1fr) 16px!important;align-items:center;gap:10px!important;
 width:100%!important;min-width:0;margin:0 0 20px!important;padding:12px!important;text-align:left;
 color:#f4f0e7!important;background:rgb(255 255 255 / 8%)!important;
 border:1px solid rgb(255 255 255 / 22%)!important;border-radius:12px!important;
 box-shadow:inset 0 1px rgb(255 255 255 / 7%)!important;cursor:pointer;
 transition:background .15s ease,border-color .15s ease;
}
:is(.learning-platform .session-focus,.map-shell .left,.moi-shell .left,.sidebar[id="leftPanel"],.journey-scroll) :is(.session-team-card,.team-context):hover{
 background:rgb(255 255 255 / 16%)!important;border-color:rgb(255 255 255 / 45%)!important;
}
:is(.learning-platform .session-focus,.map-shell .left,.moi-shell .left,.sidebar[id="leftPanel"],.journey-scroll) :is(.session-team-card,.team-context):focus-visible{
 outline:2px solid currentColor;outline-offset:3px;
}
:is(.learning-platform .session-focus,.map-shell .left,.moi-shell .left,.sidebar[id="leftPanel"],.journey-scroll) :is(.session-team-card,.team-context) strong{
 display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap!important;overflow-wrap:normal!important;font-size:14px;font-weight:600;
}
.team-context-copy{min-width:0}
.session-team-card>span[aria-hidden],.team-context-arrow{display:block!important}
:is(.session-nav-progress,.sidebar-footer,.session-menu-progress) .session-progress-track{
 display:block;height:4px!important;margin:0 0 8px!important;overflow:hidden;border-radius:99px;background:rgb(255 255 255 / 18%);
}
:is(.session-nav-progress,.sidebar-footer,.session-menu-progress) .session-progress-track>span{
 display:block;height:100%;border-radius:inherit;background:var(--cyan,var(--mint,#73ffe1));transition:width .2s ease;
}
.sidebar-footer::after{display:none!important}
.learning-platform .session-focus .session-column-toolbar{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px}
.session-column-toolbar>.session-column-toggle{order:0;position:static;align-self:center;flex:0 0 auto}
/* PEIA session engines share the selected activity colors of sessions 1–3. */
.learning-platform .session-focus .learning-activities button.active,
.learning-platform .session-focus .learning-activities [aria-current="step"],
.map-shell .nav-item.active,.sidebar#leftPanel .step-nav.active{
 color:#f2f5ff!important;background:rgb(69 108 215 / 24%)!important;border-color:rgb(151 178 255 / 38%)!important;box-shadow:inset 4px 0 #f5c400!important;
}
.learning-platform .session-focus .learning-activities button.active .activity-icon,
.learning-platform .session-focus .learning-activities [aria-current="step"] .activity-icon,
.map-shell .nav-item.active .num,.sidebar#leftPanel .step-nav.active>.activity-icon{
 color:#dce6ff!important;background:rgb(40 84 215 / 46%)!important;border-color:rgb(220 230 255 / 70%)!important;
}
.map-shell .nav-item.active .nav-check{color:#73ffe1}
.learning-platform.session-column-collapsed .session-team-card,.map-shell.left-collapsed .session-team-card,
.moi-shell.collapsed .session-team-card,.app-shell.left-collapsed .session-team-card,
body.sidebar-collapsed .journey-scroll>.team-context{display:none!important}
@media(max-width:1120px){.map-shell:not(.left-open) .session-team-card{display:none!important}}
@media(prefers-reduced-motion:reduce){.session-team-card,.team-context,.session-progress-track>span{transition:none!important}}

/* Shared PEIA rail background, matching the Session 1–2 shell. */
.learning-platform .guide-route,.map-shell .left,.sidebar#leftPanel{
 background:linear-gradient(165deg,#2854d7 0%,#203d96 43%,#11162b 100%)!important;
}
/* Labels remain regular even when selected; completion checks keep their weight. */
.learning-platform .session-focus .learning-activities :is(button,a),
.learning-platform .session-focus .learning-activities .activity-label,
.map-shell .nav-item,.map-shell .nav-item>.hide-collapse,
.moi-shell .nav-item,.moi-shell .nav-item>.hide-collapse,
.sidebar#leftPanel .step-nav,.sidebar#leftPanel .step-nav>.name,
.journey .nav-step,.journey .nav-step :is(strong,.step-title,.step-label){font-weight:400!important}
/* Compact expanded rails without changing the collapsed icon layout. */
.learning-platform:not(.session-column-collapsed) .guide-route{padding-inline:16px!important}
.app-shell:not(.left-collapsed) .session-sidebar-scroll{padding-inline:16px!important}
.map-shell.left-open .left,.moi-shell:not(.collapsed) .left{padding-inline:16px!important}
.learning-platform:not(.session-column-collapsed) .session-focus .learning-activities :is(button,a),
.map-shell.left-open .nav-item,.moi-shell:not(.collapsed) .nav-item,
.app-shell:not(.left-collapsed) .sidebar#leftPanel .step-nav{
 grid-template-columns:12px 29px minmax(0,1fr)!important;gap:6px!important;padding-inline:6px!important;
}
.app-shell:not(.left-collapsed) .sidebar#leftPanel .step-nav>.check{min-width:12px!important}
body:not(.sidebar-collapsed) .journey .nav-step{padding-inline:6px!important}
/* The activity progress bar has no separator above it. */
.learning-platform .learning-sidebar-progress,.map-shell .session-progress-dock,
.moi-shell .session-progress-dock,.sidebar#leftPanel .sidebar-footer,
.journey>.session-menu-progress{border-top:0!important}
.app-shell:not(.left-collapsed) .sidebar#leftPanel .sidebar-footer{margin-inline:16px!important}

/* Program / session / activity / inner element, shared by every session engine. */
.program-breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 24px;color:#2854d7;font-size:14px;line-height:1.6}
.program-breadcrumbs>button{display:inline;padding:0;min-height:0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;box-shadow:none}
.program-breadcrumbs>button:hover{text-decoration:underline;text-underline-offset:3px}
.program-breadcrumbs>button:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.program-breadcrumbs>[aria-current="page"]{color:#11110f;font-weight:400}
.program-breadcrumbs>.breadcrumb-separator{color:#777}
@media(max-width:720px){.program-breadcrumbs{gap:6px 8px;font-size:12px}}

/* Menu symbols have no circular container; the account avatar stays circular. */
.learning-platform .session-focus .learning-activities .activity-icon,
.learning-platform .session-focus .learning-activities button.active .activity-icon,
.map-shell .nav-item .num,.map-shell .nav-item.active .num,
.moi-shell .nav-item .num,.moi-shell .nav-item.active .num,
.sidebar#leftPanel .step-nav>.activity-icon,.sidebar#leftPanel .step-nav.active>.activity-icon,
.journey .nav-step .activity-icon,.journey .nav-step.active .activity-icon,
.navigation-icon,.nav .symbol{
 border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
}
/* A centered square wraps the selected symbol inside the collapsed rail. */
:is(.learning-platform.session-column-collapsed,.navigation-collapsed) :is(.learning-activities button,.learning-activities a,.navigation-item),
.map-shell.left-collapsed .nav-item,.moi-shell.collapsed .nav-item,
.app-shell.left-collapsed .sidebar#leftPanel .step-nav,
body.sidebar-collapsed .journey .nav-step{
 position:relative!important;display:grid!important;grid-template-columns:1fr!important;grid-template-rows:1fr!important;
 place-items:center!important;width:min(42px,100%)!important;max-width:100%!important;min-width:0!important;aspect-ratio:1;height:auto!important;min-height:0!important;
 margin-inline:auto!important;padding:4px!important;gap:0!important;box-sizing:border-box;border:1px solid transparent!important;border-radius:9px!important;
}
:is(.learning-platform.session-column-collapsed,.navigation-collapsed) :is(.learning-activities button,.learning-activities a,.navigation-item).active,
.map-shell.left-collapsed .nav-item.active,.moi-shell.collapsed .nav-item.active,
.app-shell.left-collapsed .sidebar#leftPanel .step-nav.active,
body.sidebar-collapsed .journey .nav-step.active{
 box-shadow:inset 3px 0 var(--navigation-accent,#f5c400)!important;
}
:is(.learning-platform.session-column-collapsed,.navigation-collapsed) :is(.activity-icon,.navigation-icon),
.map-shell.left-collapsed .nav-item .num,.moi-shell.collapsed .nav-item .num,
.app-shell.left-collapsed .sidebar#leftPanel .step-nav>.activity-icon,
body.sidebar-collapsed .journey .nav-step .step-number{
 grid-column:1!important;grid-row:1!important;margin:0!important;justify-self:center!important;align-self:center!important;width:24px!important;height:24px!important;min-width:0!important;
}
body.sidebar-collapsed .journey .nav-step .step-number{display:block!important;position:relative}
:is(.learning-platform.session-column-collapsed,.navigation-collapsed) .step-check,
.map-shell.left-collapsed .nav-check,.moi-shell.collapsed .nav-check,
.app-shell.left-collapsed .sidebar#leftPanel .step-nav>.check,
body.sidebar-collapsed .journey .nav-step .activity-done{
 position:absolute!important;top:0!important;right:0!important;min-width:0!important;margin:0!important;font-size:10px!important;line-height:1!important;
}
:is(.session-column-collapsed,.navigation-collapsed,.left-collapsed,.moi-shell.collapsed) .participant-account-identity,
body.sidebar-collapsed .journey .participant-account-identity{display:none!important}
:is(.session-column-collapsed,.navigation-collapsed,.left-collapsed,.moi-shell.collapsed) .participant-account>summary,
body.sidebar-collapsed .journey .participant-account>summary{justify-content:center!important;padding:0!important;gap:0!important;min-width:0!important;list-style:none}
:is(.session-column-collapsed,.navigation-collapsed,.left-collapsed,.moi-shell.collapsed) .participant-account>summary::after,
body.sidebar-collapsed .journey .participant-account>summary::after{display:none!important}
:is(.session-column-collapsed,.navigation-collapsed,.left-collapsed,.moi-shell.collapsed) .participant-account>summary .avatar,
body.sidebar-collapsed .journey .participant-account>summary .avatar{width:min(40px,100%)!important;height:auto!important;aspect-ratio:1;flex:0 1 40px!important;border-radius:50%!important}
.config-list .config-section-current{outline:2px solid #2854d7;outline-offset:4px;border-radius:4px}
/* Tablet auto-collapse uses the same centered geometry as manual collapse. */
@media(max-width:1120px){
 .map-shell:not(.left-open) .nav-item{position:relative!important;display:grid!important;grid-template-columns:1fr!important;place-items:center!important;width:min(42px,100%)!important;aspect-ratio:1;min-height:0!important;margin-inline:auto!important;padding:4px!important;gap:0!important;box-sizing:border-box;border-radius:9px!important}
 .map-shell:not(.left-open) .nav-item .num{grid-column:1!important;grid-row:1!important;justify-self:center!important;width:24px!important;height:24px!important}
 .map-shell:not(.left-open) .nav-check{position:absolute!important;top:0;right:0;font-size:10px!important}
 .map-shell:not(.left-open) .participant-account-identity{display:none!important}
 .map-shell:not(.left-open) .participant-account>summary{justify-content:center!important;padding:0!important;gap:0!important}
}

body.sidebar-collapsed .journey .nav-step .activity-icon{width:24px!important;height:24px!important}
body.sidebar-collapsed .journey .nav-step.active .activity-icon{color:inherit!important}

@media(max-width:1120px){.map-shell:not(.left-open) .nav-item.active{box-shadow:inset 3px 0 #f5c400!important}}

:is(.learning-platform.session-column-collapsed,.learning-platform.navigation-collapsed) .session-focus .session-team-card,
.app-shell.left-collapsed .sidebar#leftPanel .session-team-card,
.map-shell.left-collapsed .left .session-team-card,.moi-shell.collapsed .left .session-team-card,
body.sidebar-collapsed .journey-scroll>.team-context{display:none!important}
/* Session 4 is the shared navigation typography reference. */
.learning-platform,.map-shell,.moi-shell,.app-shell,.shell{font-family:"Space Grotesk","Avenir Next",Arial,sans-serif;font-size:16px;line-height:1.55}
.learning-platform .session-focus .learning-activities :is(button,a),
.sidebar#leftPanel .step-nav>.name,.map-shell .nav-item,.moi-shell .nav-item,
.journey .nav-step .step-name,.navigation-item{font-family:"Space Grotesk","Avenir Next",Arial,sans-serif!important;font-size:13px!important;line-height:1.3!important;font-weight:400!important;letter-spacing:normal!important}
.session-program-resources{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px;margin-top:24px;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;font-size:13px;line-height:1.4}
.session-program-resources a,.session-program-resources>span{
 display:block;margin:0;padding:0!important;color:inherit;background:transparent!important;
 border:0!important;border-radius:0!important;box-shadow:none!important;font:inherit;font-weight:400;
 text-align:left;text-decoration:none;overflow-wrap:anywhere;
}
.session-program-resources a:hover{text-decoration:underline;text-underline-offset:3px}
.session-program-resources a:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.session-program-resources>[aria-disabled="true"]{opacity:.6}

:is(.session-column-collapsed,.navigation-collapsed,.left-collapsed,.moi-shell.collapsed) .session-program-resources,
body.sidebar-collapsed .session-program-resources{display:none!important}
@media(max-width:1120px){.map-shell:not(.left-open) .session-program-resources{display:none!important}}

/* Every label in the left rail uses regular weight, including team/account. */
:is(.learning-platform #learning-sidebar,.map-shell .left,.moi-shell .left,.app-shell .sidebar#leftPanel,.journey,.shell>.sidebar),
:is(.learning-platform #learning-sidebar,.map-shell .left,.moi-shell .left,.app-shell .sidebar#leftPanel,.journey,.shell>.sidebar) *,
:is(.learning-platform #learning-sidebar,.map-shell .left,.moi-shell .left,.app-shell .sidebar#leftPanel,.journey,.shell>.sidebar) :is(.name,.activity-label,.step-check,.nav-check,.check,.avatar,.participant-account-summary-name){font-weight:400!important}
/* Progress text is deliberately smaller than the activity labels (13 px). */
:is(.learning-platform #learning-sidebar,.map-shell .left,.moi-shell .left,.app-shell .sidebar#leftPanel,.journey) :is(.session-nav-progress,.sidebar-footer,.session-menu-progress),
:is(.learning-platform #learning-sidebar,.map-shell .left,.moi-shell .left,.app-shell .sidebar#leftPanel,.journey) :is(.session-nav-progress,.sidebar-footer,.session-menu-progress) :is(span,strong,b){font-size:11px!important;line-height:1.4!important;font-weight:400!important}

/* Completion colors belong to the check; labels follow normal/active navigation ink. */
.learning-platform .session-focus .learning-activities .activity-label,
.sidebar#leftPanel .step-nav>.name,
.map-shell .nav-item>.hide-collapse,.moi-shell .nav-item>.hide-collapse,
.journey .nav-step .step-name,.navigation-item .navigation-label{color:inherit!important}

/* Program/session titles start beside the rail separator with content padding. */
@media(min-width:761px){
 .shell.session-header-aligned .topbar,
 .learning-platform.session-header-aligned>.guide-header,
 :is(.map-shell,.moi-shell).session-header-aligned>.topbar,
 body.session-header-aligned>.topbar{
  display:grid!important;grid-template-columns:var(--participant-header-rail) minmax(0,1fr) auto auto!important;
  column-gap:0!important;padding-inline:0!important;
 }
 .shell.session-header-aligned .topbar>.brand>img,
 .learning-platform.session-header-aligned>.guide-header>img,
 :is(.map-shell,.moi-shell).session-header-aligned>.topbar>.brand>img,
 body.session-header-aligned>.topbar>.brand-lockup>.brand-logo{
  display:block!important;width:min(232px,calc(var(--participant-header-rail) - 32px))!important;
  max-width:100%!important;height:auto!important;max-height:none!important;margin:0!important;
  justify-self:center;object-fit:contain;object-position:center;
 }
 .shell.session-header-aligned .topbar>.brand,
 :is(.map-shell,.moi-shell).session-header-aligned>.topbar>.brand,
 body.session-header-aligned>.topbar>.brand-lockup{
  display:flex;justify-content:center;width:100%!important;min-width:0;height:auto;margin:0;padding:0;overflow:hidden;
 }
 .shell.session-header-aligned .topbar>.crumb,
 .learning-platform.session-header-aligned>.guide-header>.learning-brand-title,
 :is(.map-shell,.moi-shell).session-header-aligned>.topbar>.program-title,
 body.session-header-aligned>.topbar>.program-heading{
  grid-column:2;min-width:0;margin:0!important;padding-left:var(--participant-content-gutter)!important;
  border-left:1px solid rgb(255 255 255 / 24%)!important;
 }
 .shell.session-header-compact-logo .topbar>.brand>img,
 .learning-platform.session-header-compact-logo>.guide-header>img,
 :is(.map-shell,.moi-shell).session-header-compact-logo>.topbar>.brand>img,
 body.session-header-compact-logo>.topbar>.brand-lockup>.brand-logo{
  width:36px!important;height:36px!important;object-fit:cover;object-position:left center;
 }
}
@media(min-width:761px) and (max-width:1120px){
 .learning-platform.session-header-aligned>.guide-header>img,
 :is(.map-shell,.moi-shell).session-header-aligned>.topbar>.brand>img,
 body.session-header-aligned>.topbar>.brand-lockup>.brand-logo{max-width:212px!important}
}
@media(max-width:760px){
 .learning-platform.session-header-aligned>.guide-header{
  grid-template-columns:minmax(0,1fr) auto!important;row-gap:12px;
 }
 .learning-platform.session-header-aligned>.guide-header>img{justify-self:center;margin:0!important;max-width:calc(100% - 32px)!important}
 .learning-platform.session-header-aligned>.guide-header>.learning-brand-title{
  display:flex!important;grid-column:1/-1;grid-row:2;min-width:0;border-left:0;
  padding-inline:var(--learning-content-gutter);overflow-wrap:anywhere;
 }
 .learning-platform.session-header-aligned>.guide-header>.learning-brand-title>strong{font-size:14px}
 .learning-platform.session-header-aligned .learning-header-actions>.btn{grid-row:3}
 body.session-header-aligned>.topbar>.brand-lockup{justify-content:center}
 body.session-header-aligned>.topbar>.program-heading{padding-left:17px!important}
 /* Mobile map rails overlay content; their closed 56px boundary stays fixed. */
 .map-shell.session-header-aligned>.topbar{grid-template-columns:56px minmax(0,1fr) auto;gap:0;padding-inline:0}
 .map-shell.session-header-aligned>.topbar>.brand{width:36px;margin:0;justify-self:center;overflow:hidden}
 .map-shell.session-header-aligned>.topbar>.program-title{padding-left:16px}
}

@media(max-width:760px){
 .learning-platform.peia3-mode.session-header-aligned>.guide-header>.learning-brand-title{padding-left:calc(var(--participant-header-rail) + var(--participant-content-gutter))}
 .moi-shell.session-header-aligned>.topbar>.program-title strong{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;font-size:clamp(16px,5vw,22px);line-height:1.2}
 .shell.session-header-aligned .topbar>.brand{display:flex;justify-content:center}
 .shell.session-header-aligned .topbar>.crumb{padding-left:16px}
}

@media(min-width:761px){
 body.session-header-aligned>.topbar>.program-stage{grid-column:3;grid-row:1}
 body.session-header-aligned>.topbar>.topbar-actions{grid-column:4;grid-row:1}
 .shell.session-header-aligned .topbar>.crumb{min-height:48px}
}

body.session-header-aligned>.topbar>.program-heading{flex-direction:column;align-items:flex-start;justify-content:center;gap:3px}
body.session-header-aligned>.topbar>.program-heading>.session-navbar-subtitle{color:rgb(255 255 255 / 72%);font-size:12px;line-height:1.4}

@media(max-width:760px){
 body.session-header-aligned>.topbar>.program-heading{gap:2px}
 body.session-header-aligned>.topbar>.program-heading>strong{font-size:13px;line-height:1.2}
 body.session-header-aligned>.topbar>.program-heading>.session-navbar-subtitle{font-size:10px;line-height:1.2}
}

/* Legacy wrappers do not reintroduce boxes or a second resource layout. */
.guide-resources:has(>.session-program-resources){margin-top:0;padding:0;border:0;background:transparent;box-shadow:none}
.sidebar#leftPanel .resource-zone:has(>.session-program-resources){display:block!important;margin-top:0;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}

/* Compact navigation and a quiet resource heading, following the existing rail. */
.learning-platform:not(.session-column-collapsed) .session-focus .learning-activities :is(button,a),
.map-shell.left-open .nav-item,.moi-shell:not(.collapsed) .nav-item,
.app-shell:not(.left-collapsed) .sidebar#leftPanel .step-nav{
 grid-template-columns:8px 29px minmax(0,1fr)!important;gap:4px!important;padding-inline:0!important;
}
@media(min-width:1121px){.map-shell:not(.left-collapsed) .nav-item{grid-template-columns:8px 29px minmax(0,1fr)!important;gap:4px!important;padding-inline:0!important}}
.learning-platform:not(.session-column-collapsed) .step-check,
.app-shell:not(.left-collapsed) .sidebar#leftPanel .step-nav>.check,
.map-shell .nav-check,.moi-shell .nav-check{min-width:8px!important;font-size:13px!important}
body:not(.sidebar-collapsed) .journey .nav-step{padding-inline:0!important;gap:4px!important}
.session-program-resources{gap:8px}
.session-program-resources>.session-resources-title{margin:0 0 2px;font:inherit;font-size:12px;font-weight:400;line-height:1.4;color:inherit;opacity:.75;letter-spacing:normal}
.session-program-resources>a,.session-program-resources>span{padding-left:12px!important}
/* Session 3 keeps its edge control fixed; the return link shares that row. */
.app-shell:not(.left-collapsed) .sidebar#leftPanel .sidebar-sessions-back{position:absolute;top:14px;left:16px;min-height:34px;max-width:calc(100% - 66px);margin:0;font-size:13px}
.app-shell:not(.left-collapsed) .sidebar#leftPanel .session-column-toolbar{min-height:0;margin-bottom:20px}
/* Map engines share a single header row outside their scrolling activity area. */
:is(.map-shell,.moi-shell) .left>.session-rail-toolbar{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:8px;min-height:34px;margin-bottom:20px}
:is(.map-shell,.moi-shell) .session-rail-toolbar>.back{margin:0!important;padding:0;min-width:0;text-align:left;font-size:13px}
:is(.map-shell,.moi-shell) .session-rail-toolbar>.collapse{position:static!important;flex:0 0 34px;width:34px;height:34px;margin:0}
:is(.map-shell,.moi-shell) .left{padding-top:14px!important}
.map-shell.left-collapsed .session-rail-toolbar>.back,.moi-shell.collapsed .session-rail-toolbar>.back{display:none!important}
.map-shell.left-collapsed .session-rail-toolbar,.moi-shell.collapsed .session-rail-toolbar{justify-content:center}
@media(max-width:1120px){.map-shell:not(.left-open) .session-rail-toolbar>.back{display:none!important}.map-shell:not(.left-open) .session-rail-toolbar{justify-content:center}}

.learning-platform.session-column-collapsed .session-focus .session-column-toolbar{justify-content:center}

/* Completion checks stay inside the active button and its left accent. */
.learning-platform:not(.session-column-collapsed) .session-focus .learning-activities :is(button,a),
.map-shell.left-open .nav-item,.moi-shell:not(.collapsed) .nav-item,
.app-shell:not(.left-collapsed) .sidebar#leftPanel .step-nav{
 grid-template-columns:12px 29px minmax(0,1fr)!important;padding-inline:8px!important;column-gap:2px!important;box-sizing:border-box;
}
@media(min-width:1121px){.map-shell:not(.left-collapsed) .nav-item{grid-template-columns:12px 29px minmax(0,1fr)!important;padding-inline:8px!important;column-gap:2px!important;box-sizing:border-box}}
.learning-platform:not(.session-column-collapsed) .session-focus .step-check,
.app-shell:not(.left-collapsed) .sidebar#leftPanel .step-nav>.check,
.map-shell.left-open .nav-check,.moi-shell:not(.collapsed) .nav-check{min-width:12px!important;text-align:center}
body:not(.sidebar-collapsed) .journey .nav-step{padding-inline:8px!important;box-sizing:border-box}

body:not(.sidebar-collapsed) .journey .nav-step .step-number{column-gap:2px!important}

/* All collapse symbols are centered independently of font metrics. */
button:is(.session-column-toggle,.navigation-toggle,.sidebar-toggle,.panel-edge-toggle,.collapse,.right-toggle,.anchor-collapse){
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 padding:0!important;gap:0!important;line-height:1!important;text-align:center!important;box-sizing:border-box;
}
button:is(.session-column-toggle,.navigation-toggle,.sidebar-toggle,.panel-edge-toggle,.collapse,.right-toggle,.anchor-collapse)>svg{
 display:block;width:18px!important;height:18px!important;flex:0 0 18px;margin:0!important;
}

button:is(.session-column-toggle,.navigation-toggle,.sidebar-toggle,.panel-edge-toggle,.collapse,.right-toggle,.anchor-collapse)[hidden]{display:none!important}
@media(max-width:760px){button.navigation-toggle{display:none!important}}

/* Session 3 is the platform-wide visual reference for collapse controls. */
button:is(.session-column-toggle,.navigation-toggle,.sidebar-toggle,.panel-edge-toggle,.collapse,.right-toggle,.anchor-collapse,#sidebarToggle,#leftPanelToggle,#rightPanelToggle){
 width:34px!important;min-width:34px!important;max-width:34px!important;
 height:34px!important;min-height:34px!important;max-height:34px!important;flex:0 0 34px!important;
 border:1px solid var(--collapse-control-border,rgb(255 255 255 / 38%))!important;
 border-radius:50%!important;background:var(--collapse-control-bg,rgb(17 17 15 / 18%))!important;
 color:var(--collapse-control-ink,inherit)!important;box-shadow:none!important;
}
:is(.right,.evidence-rail,.anchors) button:is(.collapse,.right-toggle,.panel-edge-toggle,.anchor-collapse){
 --collapse-control-bg:rgb(255 255 255 / 88%);--collapse-control-border:var(--line,#dedbd2);--collapse-control-ink:var(--charcoal,var(--ink,#11110f));
}
button:is(.session-column-toggle,.navigation-toggle,.sidebar-toggle,.panel-edge-toggle,.collapse,.right-toggle,.anchor-collapse,#sidebarToggle,#leftPanelToggle,#rightPanelToggle):hover{
 color:var(--navigation-accent,var(--yellow,#f5c400))!important;border-color:var(--navigation-accent,var(--yellow,#f5c400))!important;
}
button:is(.session-column-toggle,.navigation-toggle,.sidebar-toggle,.panel-edge-toggle,.collapse,.right-toggle,.anchor-collapse,#sidebarToggle,#leftPanelToggle,#rightPanelToggle):focus-visible{outline:2px solid currentColor;outline-offset:3px}

/* Text-only lesson actions belong to the expanded rail, not its icon strip. */
:is(.learning-platform.session-column-collapsed,.learning-platform.navigation-collapsed) #learning-sidebar-content > #lesson-document{display:none!important}

/* 1.3.18: translucent active navigation and visible semantic symbols. */
.navigation-item.active,.navigation-item[aria-current="page"],
.sidebar .navigation-item.active,
.moi-shell .nav-item.active,.journey .nav-step.active{
 background:rgb(255 255 255 / 13%)!important;
 color:#f2f5ff!important;border-top-color:rgb(255 255 255 / 26%)!important;border-right-color:rgb(255 255 255 / 26%)!important;border-bottom-color:rgb(255 255 255 / 26%)!important;
 backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}
.learning-platform .session-focus .learning-activities button.active,
.map-shell .nav-item.active,.sidebar#leftPanel .step-nav.active{
 backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}
.moi-shell .nav-item .num,.moi-shell .nav-item.active .num,
.map-shell .nav-item .num,.map-shell .nav-item.active .num,
.learning-platform .session-focus .learning-activities button .activity-icon,
.sidebar#leftPanel .step-nav>.activity-icon,
.journey .nav-step .activity-icon,.navigation-item .navigation-icon{
 color:inherit!important;visibility:visible!important;opacity:1!important;
}
:is(.moi-shell,.map-shell) :is(.content,.right) button{
 font-family:'Space Grotesk','Avenir Next',Arial,sans-serif!important;font-weight:400!important;
}

.moi-shell .right .piece,.map-shell .right .piece{font-weight:400!important}

.journey .nav-step .step-number,.journey .nav-step.active .step-number{color:inherit!important;background:transparent!important;border-color:transparent!important}

.session-team-dialog{width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow:auto;margin:auto;padding:24px;border:1px solid #d9dde7;border-radius:18px;background:#fff;color:#11162b;box-sizing:border-box}
.session-team-dialog::backdrop{background:rgb(7 19 52 / 45%);backdrop-filter:blur(3px)}
.session-team-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.session-team-dialog-heading h2{margin:0;font-size:22px}
.session-team-dialog-heading button{border:0;background:transparent;color:inherit;font-size:28px;cursor:pointer;padding:6px 12px}
.session-team-roster article{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #eee}
.session-team-roster small{display:block;font-size:12px;color:#596174;margin-top:4px}
.session-team-roster .avatar{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:50%;background:#eaf0ff;overflow:hidden}
.session-team-roster img{width:100%;height:100%;object-fit:cover}
