/* Reserve the classic scrollbar track while navigation locks document scrolling. */
html {scrollbar-gutter:stable}

/* Shared document and app navigation is portaled outside every scroll shell. */
/* Canonical text-action dimensions, including the native Google large button. */
@layer marcoJourney {
 body {--m55-action-width:220px;--m55-action-height:40px;--m55-action-font:14px}
 #marco55-root#marco55-root button:not(:is(nav button,svg *,[role=tab],[role=option],[aria-pressed],.brand,.apps-button,.m55-icon-button,.cycling-guide-icon,.wm-selector-trigger,.wm-score-trigger,.wm-score-breakdown-link,.wm-score-dialog-close,.chart-touch-target,.chart-touch-close,.header-action,.day-card,.recorded-activity-row,.account-plan-select,.rw-week,.rw-day,.rw-steps button,.system-actions button,.public-actions button,.entry-actions button,.phone-head-actions button,.registration-password button,.signin-password button,.password-row button,.switch button,.switch-account-list>button,[aria-label*='Previous'],[aria-label*='Next'],[aria-label*='Show characters'],[aria-label*='Hide characters'],[aria-label*='night mode'],[aria-label*='day mode'],[aria-label*='color mode'],.theme-toggle)),
 #marco55-root#marco55-root :is(button.dark,button.auth-submit,button.sync-action,button.sync-secondary,button.dp-save,button.welcome-start,button.wm-action,button.dp-submit,button.passkey-button,.contact-actions>button,.contact-error>button,.dp-actions>button,.account-actions>button,.account-payment-method>button,.account-membership>button,.pilot-conversion-actions button,.hero-copy button,.tablet-hero-copy button,.phone-hero-copy button,a.live-button,a.impact-button,.rp-actions>button,.rp-status>button,.account-order>button,.account-checkout-summary>header>button,.sg-offer button),
 .setup-ai-toggle,
 #marco55-admin-root#marco55-admin-root :is(.training-record-load,.text-button,.member-context-action,.management-refresh,.dossier-back,.management-no-results>button,.account-access-error>button,.management-advanced>button,.member-saved-views form>button,.account-access-confirm button) {
  box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;
  inline-size:var(--m55-action-width)!important;width:var(--m55-action-width)!important;max-inline-size:100%!important;max-width:100%!important;min-inline-size:0!important;min-width:0!important;
  block-size:var(--m55-action-height)!important;height:var(--m55-action-height)!important;min-block-size:var(--m55-action-height)!important;min-height:var(--m55-action-height)!important;
  padding:0 12px!important;margin-inline:auto!important;align-self:center!important;justify-self:center!important;flex:none!important;
  font-size:var(--m55-action-font)!important;font-weight:500!important;line-height:20px!important;letter-spacing:.25px!important;text-align:center!important;white-space:normal!important;border-radius:4px!important;
 }
 #marco55-root#marco55-root :is(button.dark,button.auth-submit,button.sync-action,button.sync-secondary,button.dp-save,button.welcome-start,button.wm-action,button.dp-submit,button.passkey-button)>span {font-size:inherit!important;font-weight:inherit!important;line-height:inherit!important}
 #marco55-root#marco55-root .access-flow :is(button.dark,button.auth-submit,button.sync-action,button.sync-secondary,button.passkey-button,button.access-text-action) {
  background:#fff!important;background-image:none!important;color:#1f1f1f!important;-webkit-text-fill-color:#1f1f1f!important;border:1px solid #747775!important;box-shadow:none!important;font-family:"Google Sans",Roboto,Arial,sans-serif!important;
 }
 #marco55-root#marco55-root .access-flow :is(button.dark,button.auth-submit,button.sync-action,button.sync-secondary,button.passkey-button,button.access-text-action):hover:not(:disabled) {background:#f8faff!important}
 #marco55-root#marco55-root .access-flow :is(button.dark,button.auth-submit,button.sync-action,button.sync-secondary,button.passkey-button,button.access-text-action) :is(span,b,strong) {color:inherit!important;-webkit-text-fill-color:inherit!important;font-size:inherit!important;font-weight:inherit!important;line-height:inherit!important}
 #marco55-root#marco55-root .access-flow :is(button.dark,button.auth-submit,button.sync-action,button.sync-secondary,button.passkey-button,button.access-text-action):focus-visible {outline:2px solid #1a73e8!important;outline-offset:3px!important}
 #marco55-root#marco55-root :is(.passkey-signin,.google-auth-action) {box-sizing:border-box!important;width:var(--m55-action-width)!important;max-width:100%!important;min-width:0!important;margin-inline:auto!important}
 #marco55-root#marco55-root .google-auth-action {height:auto!important;min-height:var(--m55-action-height)!important}
 #marco55-root#marco55-root .google-auth-target {box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;max-width:100%!important;min-width:0!important;height:var(--m55-action-height)!important;min-height:var(--m55-action-height)!important}
 #marco55-root#marco55-root .google-auth-target>div {transform:none!important;max-width:100%!important}
}
.m55-navigation{position:fixed!important;z-index:10000!important;box-sizing:border-box!important;display:none!important;flex-direction:column;gap:0;padding:8px!important;margin:0!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;border:1px solid #42474e!important;border-radius:4px!important;background:#111419!important;color:#f5f6f8!important;box-shadow:0 16px 48px #0005;font:17px/1.4 Inter,Arial,sans-serif;max-width:calc(100vw - 32px)!important;transform:none!important;resize:none!important}
.m55-navigation.open{display:flex!important}
.m55-navigation>header{display:none!important}
.m55-navigation :is(button,a){box-sizing:border-box;display:flex;align-items:center;gap:12px;flex:none;width:100%;min-height:44px;padding:10px 12px;border:0;border-radius:4px;background:transparent;color:inherit;text-align:left;text-decoration:none;font:inherit;white-space:normal;overflow-wrap:anywhere;cursor:pointer}
.m55-navigation svg{width:21px;height:21px;flex:none;color:#8eb7e8}
.m55-navigation :is(button,a):is(:hover,:focus-visible),.m55-navigation .active{background:#ffffff12;outline-offset:-2px}
.m55-navigation .nav-section-label{display:flex;align-items:center;gap:12px;padding:8px 10px 2px;font-size:22px;color:#b4c0cf}
.m55-navigation .nav-subitem{padding-left:45px}
.m55-navigation .nav-guide-group{border-top:1px solid #42474e;margin-top:10px;padding-top:6px}
.m55-navigation .nav-logout{border-top:1px solid #42474e;margin-top:8px}
.home-navigation{display:block!important;position:relative!important;inset:auto!important;transform:none!important;width:44px!important;height:44px!important;min-width:44px!important;margin:0!important;padding:0!important;order:0!important;z-index:40}
.home-navigation>div{display:contents}
.home-navigation .compact-menu-toggle{display:grid!important;place-items:center!important;box-sizing:border-box;width:44px!important;height:44px!important;padding:10px!important;border:1px solid #65686e!important;border-radius:4px!important;background:transparent!important;color:inherit!important;cursor:pointer}
.home-navigation svg{width:23px;height:23px}
.public-header-navigation{display:contents}
/* Important layer wins over legacy per-page !important rules without escalating
   selector specificity. Keep the same physical geometry in every document. */
@layer marco-header-layout {
 :is(#marco55-root,#marco55-admin-root) :is(.sg-header,.home-nav,.device-public-nav,.access-flow>header,.athlete-loading>header,.app-header-main,.topbar),.m55-document-header {
  --m55-logo-width:clamp(80px,24vw,150px);
  display:grid!important;grid-template-columns:minmax(44px,1fr) var(--m55-logo-width) minmax(44px,1fr)!important;
  grid-template-areas:none!important;align-items:center!important;justify-content:stretch!important;
  direction:ltr!important;column-gap:clamp(8px,1vw,12px)!important;row-gap:8px!important;
  box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:none!important;
  min-height:76px!important;height:auto!important;padding-block:12px!important;
  position:relative!important;inset:auto!important;transform:none!important;overflow:visible!important;
 }
 :is(.app-header-main>.app-brand-group,.topbar>.brand-lockup,.m55-brand-slot,.public-header-navigation){display:contents!important}
 :is(#marco55-root,#marco55-admin-root) :is(.sg-header,.home-nav,.device-public-nav,.access-flow>header,.athlete-loading>header,.app-header-main,.topbar)>:is(img,.brand,.setup-brand),
 .app-header-main .app-header-logo,.topbar .brand,.m55-document-header .m55-brand-slot>a,.m55-document-header>a:has(img[alt="Marco55"]) {
  grid-column:2!important;grid-row:1!important;justify-self:center!important;align-self:center!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  position:relative!important;inset:auto!important;transform:none!important;margin:0!important;padding:0!important;
  width:100%!important;max-width:var(--m55-logo-width)!important;min-width:0!important;height:auto!important;
 }
 :is(.brand,.setup-brand)>img,.m55-brand-slot img,.m55-document-header>a>img,.topbar .brand>img {
  display:block!important;width:100%!important;max-width:100%!important;height:auto!important;margin:0!important;
 }
 :is(.brand,.setup-brand)>.brand-mark {
  display:block!important;width:var(--m55-logo-width)!important;height:54px!important;max-width:100%!important;
  background-size:contain!important;background-position:center!important;
 }
 :is(#marco55-root,#marco55-admin-root) :is(.sg-header,.home-nav,.device-public-nav,.access-flow>header,.athlete-loading>header,.app-header-main,.topbar) :is(.home-navigation,.compact-menu-toggle),
 .m55-document-header>:is(.home-navigation,.m55-site-menu) {
  grid-column:1!important;grid-row:1!important;justify-self:start!important;align-self:center!important;
  position:relative!important;inset:auto!important;transform:none!important;margin:0!important;order:0!important;
  box-sizing:border-box!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;
 }
 :is(.home-navigation .compact-menu-toggle,.app-header-main>.compact-menu-toggle) {
  display:grid!important;place-items:center!important;padding:10px!important;
  border:1px solid #65686e!important;border-radius:4px!important;background:transparent!important;color:inherit!important;
  box-shadow:none!important;cursor:pointer!important;touch-action:manipulation!important;
 }
 :is(.home-navigation .compact-menu-toggle,.app-header-main>.compact-menu-toggle) svg{width:23px!important;height:23px!important}
 :is(#marco55-root,#marco55-admin-root,.m55-document-header) .account-greeting {
  grid-column:3!important;grid-row:1!important;justify-self:stretch!important;align-self:center!important;
  box-sizing:border-box!important;display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;
  position:relative!important;inset:auto!important;transform:none!important;margin:0!important;padding:0!important;
  text-align:right!important;white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important;
  font:20px/1.4 Inter,Arial,sans-serif!important;letter-spacing:normal!important;
 }
 .account-greeting bdi{display:inline-block!important;white-space:nowrap!important;max-width:none!important}
 :is(.access-flow>header,.athlete-loading>header,.device-public-nav,.home-nav)>:is(.entry-actions,.public-actions,div:not(.home-navigation):not(.public-header-navigation):not(.m55-brand-slot)),.topbar>.top-actions {
  grid-column:1/-1!important;grid-row:3!important;justify-self:end!important;max-width:100%!important;flex-wrap:wrap!important;
 }
 .topbar .product-context {grid-column:1/-1!important;grid-row:5!important;justify-self:center!important;text-align:center!important}
 .topbar>.top-actions {grid-row:4!important}
 .m55-document-header>.m55-brand-slot{display:contents!important}
 .m55-page-links,.m55-document-header>nav,.topbar>.header-nav {
  grid-column:1/-1!important;grid-row:3!important;justify-self:center!important;min-width:0!important;max-width:100%!important;
 }
 .m55-page-links nav{display:flex!important;justify-content:center!important;gap:24px!important;flex-wrap:wrap!important}
 .m55-page-links nav a{white-space:nowrap!important}
 /* Server-rendered fallback uses the same left-hand slot until React mounts. */
 .m55-document-header>.m55-site-menu>summary {
  display:grid!important;place-items:center!important;box-sizing:border-box!important;
  width:44px!important;height:44px!important;min-height:44px!important;padding:10px!important;
  border:1px solid #65686e!important;border-radius:4px!important;background:transparent!important;color:inherit!important;
 }
 .m55-document-header>.m55-site-menu>summary>span{display:none!important}
 .m55-document-header>.m55-site-menu>div{position:absolute!important;inset:56px auto auto 0!important;z-index:10000!important;width:min(300px,calc(100vw - 32px))!important;box-sizing:border-box!important;padding:12px!important;background:#111419!important;border:1px solid #42474e!important;border-radius:4px!important}

 /* The portal must not inherit page-wide nav/link typography or spacing. */
 .m55-navigation {
  direction:ltr!important;text-align:left!important;letter-spacing:normal!important;text-transform:none!important;
  min-width:0!important;min-height:0!important;max-width:calc(100vw - 32px)!important;
  line-height:1.4!important;align-items:stretch!important;justify-content:flex-start!important;
 }
 .m55-navigation :is(button,a) {
  display:flex!important;align-items:center!important;justify-content:flex-start!important;
  gap:8px!important;width:100%!important;height:auto!important;min-height:44px!important;max-width:100%!important;
  padding:6px 10px!important;margin:0!important;border:0!important;background:transparent!important;
  color:inherit!important;font:24px/1.35 Inter,Arial,sans-serif!important;letter-spacing:normal!important;word-spacing:normal!important;
  text-align:left!important;text-transform:none!important;text-decoration:none!important;
  white-space:normal!important;overflow-wrap:anywhere!important;transform:none!important;box-shadow:none!important;
 }
 .m55-navigation .nav-subitem{padding-left:45px!important}
 .m55-navigation .nav-home{position:sticky!important;top:0!important;z-index:1!important;background:#111419!important}
 .m55-navigation[data-theme="day"] .nav-home{background:#fff!important}
 .m55-navigation :is(button,a):is(:hover,:focus-visible),.m55-navigation .active{background:#ffffff12!important}
 .m55-navigation[data-theme="day"] :is(button,a):is(:hover,:focus-visible),.m55-navigation[data-theme="day"] .active{background:#e8eef5!important}
 .m55-navigation .nav-section-label{font:22px/1.4 Inter,Arial,sans-serif!important;letter-spacing:normal!important;text-transform:none!important}
}

/* Keep approved banner and wide-shell rules independent of header geometry. */
#marco55-root .app-scroll>:is(.wellness-page-photo,.training-page-photo){width:100%!important;max-width:none!important;margin-inline:0!important;box-sizing:border-box!important}
#marco55-root .sport-gateway{padding-inline:clamp(16px,2.5vw,40px)!important}
@media(min-width:1280px) and (min-aspect-ratio:3/2) and (hover:hover) and (pointer:fine){body>.page{box-sizing:border-box;width:80vw!important;max-width:none!important;margin-inline:auto!important;padding-inline:clamp(16px,2.5vw,40px)!important}}
.m55-navigation[data-theme="day"]{background:#fff!important;color:#171b22!important;box-shadow:0 16px 48px #0002}
.m55-navigation[data-theme="day"] .nav-section-label{color:#465871}
/* All owned frames, images and buttons share the approved sport-card corners.
   Circular data indicators and SVG drawing geometry are not rectangular frames. */
@layer marco-frame-policy {
 body :where(*):not(svg):not(svg *):not(input[type=radio]):not(.readiness-ring,.health-ring,.score-ring,.ring,.status-dot,.setup-ai-dot,.connection-recovery-dot,.chart-selected-dot,.rp-orbit-dot):not([class*="circle"]) {border-radius:4px!important}
 body :is(img,picture,button,[role=button]) {border-radius:4px!important}
}

/* Owner4Nov: full name right, brand centered, hamburger left in one row. */
#marco55-root#marco55-root#marco55-root#marco55-root#marco55-root#marco55-root#marco55-root#marco55-root#marco55-root :is(.sg-header,.home-nav,.device-public-nav,.access-flow>header,.athlete-loading>header,.app-header-main,.m55-document-header):has(>.account-greeting){grid-template-columns:minmax(0,1fr) clamp(80px,24vw,150px) minmax(0,1fr)!important}
#marco55-root#marco55-root#marco55-root#marco55-root#marco55-root#marco55-root#marco55-root#marco55-root#marco55-root :is(.sg-header,.home-nav,.device-public-nav,.access-flow>header,.athlete-loading>header,.app-header-main,.m55-document-header)>.account-greeting{
 grid-column:3!important;grid-row:1!important;justify-self:stretch!important;align-self:center!important;
 box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;
 text-align:right!important;white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important;line-height:1.4!important;
}
#marco55-root#marco55-root#marco55-root#marco55-root#marco55-root#marco55-root#marco55-root#marco55-root#marco55-root .account-greeting bdi{display:inline!important;white-space:nowrap!important;text-wrap:nowrap!important;max-width:none!important}
#marco55-root#marco55-root#marco55-root#marco55-root#marco55-root#marco55-root#marco55-root#marco55-root#marco55-root :is(.sg-header,.home-nav,.device-public-nav,.access-flow>header,.athlete-loading>header):has(>.account-greeting)>:is(img,.brand,.setup-brand),
#marco55-root#marco55-root#marco55-root#marco55-root#marco55-root#marco55-root#marco55-root#marco55-root#marco55-root .app-header-main:has(>.account-greeting) .app-header-logo{width:100%!important;max-width:150px!important}

#marco55-root#marco55-root#marco55-root#marco55-root#marco55-root#marco55-root#marco55-root#marco55-root#marco55-root#marco55-root#marco55-root .m55-document-header:has(>.account-greeting) .m55-brand-slot>a{width:100%!important;max-width:100%!important;min-width:0!important}

/* Marketing entry controls share the authenticated header identity. */
[data-m55-guest-entry][hidden]{display:none!important}

/* Native headers have two rows: the identity grid, then the decorative rail.
   Important layering owns this geometry across legacy orientation overrides. */
@layer marco-header-policy {
 #marco55-root .app-header.app-modern-header {display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:0!important;width:100%!important;height:auto!important;min-height:0!important;padding:0!important;grid-template-columns:none!important;box-sizing:border-box!important}
 #marco55-root .app-header.app-modern-header>.app-header-main {width:100%!important;flex:0 0 auto!important;box-sizing:border-box!important}
 #marco55-root .app-header.app-modern-header>.app-header-rail {display:flex!important;position:static!important;flex:0 0 auto!important;align-items:center!important;gap:12px!important;box-sizing:border-box!important;width:100%!important;height:auto!important;min-height:24px!important;margin:0!important;padding:5px clamp(16px,2.5vw,28px)!important;transform:none!important}
 #marco55-root .app-header-rail>.training-spectrum {min-width:0!important;flex:1 1 0!important}
 #marco55-root .app-header-rail>span {flex:0 0 auto!important;white-space:nowrap!important;font-size:clamp(10px,1.2vw,14px)!important;line-height:1.2!important}
}

/* One seven-segment brand rail on every page and every device. */
@layer marco-header-policy {
 body .m55-brand-rail {grid-column:1/-1!important;grid-row:2!important;display:flex!important;align-items:center!important;gap:12px!important;box-sizing:border-box!important;width:100%!important;min-width:0!important;min-height:22px!important;height:auto!important;padding:5px 0!important;margin:0!important;position:static!important;transform:none!important;border:0!important;background:transparent!important}
 body .m55-training-spectrum {display:flex!important;align-items:center!important;gap:4px!important;flex:1 1 0!important;min-width:0!important;width:auto!important;height:4px!important}
 body .m55-training-spectrum>i {display:block!important;flex-basis:0!important;min-width:3px!important;height:4px!important;opacity:1!important;visibility:visible!important}
 body .m55-brand-rail>span {display:block!important;flex:0 0 auto!important;font:500 clamp(9px,1vw,12px)/1.2 Inter,Arial,sans-serif!important;letter-spacing:.02em!important;white-space:nowrap!important;color:inherit!important;opacity:.65!important}
 body .m55-document-header>.m55-page-links {grid-row:3!important;justify-self:center!important}
 body .m55-page-links:empty {display:none!important}
 #marco55-admin-root .topbar>.header-nav {grid-row:3!important}
 #marco55-admin-root .topbar>.top-actions {grid-row:4!important}
 #marco55-admin-root .topbar .product-context {grid-row:5!important}
 /* Decorative gray rules are replaced by spacing; full card/control frames stay. */
 body :is(header,footer,h1,h2,h3,.app-header-main,.section-head,.screen-title,.sg-details,.sg-choices,.sg-footer-bottom,.health-reading,.training-cycle,.home-showcase,.profile-head,.review-result,.complete-impact,.cn-workout,.cn-report-result,.wm-page-heading,.wm-score-headline,.wa-header,.wa-footer,.pilot-conversion,.pilot-service-brands,.section-divider,.header-divider,.m55-navigation .nav-guide-group,.m55-navigation .nav-logout) {border-top-width:0!important;border-bottom-width:0!important}
 body :is(.home-approved .product-choice-grid>a,.home-approved .combined-demo>div:not(.demo-foot),.page .section,.page .settings-list article,.page .faq-list details,.page .profile-list li,.page .evidence-panel>div,.page .explore-links,.page .continuity-insight) {border-top-width:0!important;border-bottom-width:0!important}
 body :is(hr,[role=separator],.divider:empty,.separator:empty) {display:none!important}
}

/* Registration instructions share the exact rendered CTA availability.
   Pending identity and authenticated members have no guest-entry controls. */
#marco55-root .live-extension:has(>.pilot-conversion .pilot-conversion-actions:empty),
#marco55-root .pilot-conversion:has(.pilot-conversion-actions:empty),
#marco55-root .run-product-action:not(:has(>button.dark)) {display:none!important}
#marco55-root :is(.hero-centered-actions,.tablet-hero-copy,.phone-hero-copy):not(:has(>button.dark))>.pilot-hero-note {display:none!important}

/* One content width across public, access, product and administrative pages. */
@layer marco-content-width {
 body,#marco55-root,#marco55-admin-root {--m55-content-gutter:clamp(16px,2.5vw,40px)}
 #marco55-root .sport-gateway {padding-inline:var(--m55-content-gutter)!important}
 #marco55-root .sport-gateway>.sg-marketing-copy {width:100%!important;max-width:none!important;min-width:0!important;margin-inline:0!important;padding-inline:0!important}
 #marco55-root .home-approved {box-sizing:border-box!important;width:100%!important;max-width:none!important;min-width:0!important;margin-inline:0!important;padding-inline:var(--m55-content-gutter)!important}
 #marco55-root .sport-gateway .home-approved {padding-inline:0!important}
 #marco55-root .home-approved :is(.live-extension,.live-slice,.home.long-home) {box-sizing:border-box!important;width:100%!important;max-width:none!important;min-width:0!important;margin-inline:0!important;padding-inline:0!important}
 #marco55-root .home-approved :is(.home.long-home>section,.home.long-home>.flow-method-heading,.home-showcase,.pilot-conversion) {box-sizing:border-box!important;width:100%!important;max-width:none!important;min-width:0!important;margin-inline:0!important;padding-inline:clamp(16px,2.1vw,32px)!important}
 #marco55-root .prototype>.stage>.frame :is(.home.long-home>.home-hero,.tablet-site>.tablet-hero,.phone-site>.phone-hero,.running-marketing>.home-hero,.running-marketing>.run-product-story) {box-sizing:border-box!important;width:calc(100% - 2 * var(--m55-content-gutter))!important;max-width:none!important;min-width:0!important;margin-inline:var(--m55-content-gutter)!important;padding-inline:0!important}
 #marco55-root .device-shell .app-surface.canonical-shell.with-chrome>.app-scroll {padding-inline:var(--m55-content-gutter)!important}
 #marco55-root .device-shell .app-surface.canonical-shell.with-chrome>.app-scroll>.screen:not(.welcome-screen),
 #marco55-root .device-shell .app-surface.canonical-shell.with-chrome>.app-scroll>.app-footer {box-sizing:border-box!important;width:100%!important;max-width:none!important;min-width:0!important;margin-inline:0!important}
 #marco55-root .app-scroll>.screen>:is(.settings-panel,.profile-content,.calendar-content,.account-details,.account-membership,.training-workouts,.workout-detail-layout) {box-sizing:border-box!important;width:100%!important;max-width:none!important;min-width:0!important;margin-inline:0!important}
 #marco55-root .access-flow>main {box-sizing:border-box!important;width:100%!important;max-width:none!important;min-width:0!important;margin-inline:0!important;padding-inline:var(--m55-content-gutter)!important}
 body>.page,body>main:has(>header),body>footer[aria-label="Marco55 legal documents"] {box-sizing:border-box!important;width:100%!important;max-width:none!important;min-width:0!important;margin-inline:0!important;padding-inline:var(--m55-content-gutter)!important}
 body>.page>:is(section,.section),body>main:has(>header)>section {box-sizing:border-box!important;width:100%!important;max-width:none!important;min-width:0!important;margin-inline:0!important}
 #marco55-admin-root .main-content>:is(.account-access,.page-stack) {box-sizing:border-box!important;width:100%!important;max-width:none!important;min-width:0!important;margin-inline:0!important}
 #marco55-admin-root .main-content {box-sizing:border-box!important;width:100%!important;max-width:none!important;min-width:0!important;margin-inline:0!important;padding-inline:var(--m55-content-gutter)!important}
 @media(min-width:1280px) and (min-aspect-ratio:3/2) and (hover:hover) and (pointer:fine) {
  body>.page,body>main:has(>header),body>footer[aria-label="Marco55 legal documents"],body>#access-theme,#marco55-root>#access-theme:has(>.recovery-page),#marco55-admin-root {width:80vw!important;max-width:none!important;margin-inline:auto!important}
  #marco55-admin-root .app-shell {width:80vw!important;inset-inline:10vw!important}
 }
 @media(any-pointer:coarse) {#marco55-admin-root .app-shell {width:100vw!important;inset-inline:0!important}body>.page,body>main:has(>header),body>footer[aria-label="Marco55 legal documents"],body>#access-theme,#marco55-root>#access-theme:has(>.recovery-page),#marco55-admin-root {width:100%!important;margin-inline:0!important}}
}
/* Extend the existing important component layers without changing their order. */
@layer marcoAccount {
 #marco55-root .access-flow.registration-unified>main {width:100%!important;max-width:none!important;min-width:0!important;margin-inline:0!important;padding-inline:var(--m55-content-gutter)!important}
}
@layer marco-carousel {
 #marco55-root .home-approved .m55-service-carousel {box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;margin-inline:0!important;}
}

/* Outer width and inner reading space are independent contracts. */
@layer marco-content-width {
 #marco55-root .home-approved .home.long-home>.rich-method {padding-inline:0!important}
 #marco55-root .home-approved :is(.health-story,.health-paper) {container-type:inline-size}
 #marco55-root .home-approved .next-preview {container-type:inline-size}
 #marco55-root .home-approved .next-preview .facts>span {box-sizing:border-box;min-inline-size:0;max-inline-size:100%}
 @container(max-width:400px) {
  #marco55-root .home-approved .next-preview .facts {display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
  #marco55-root .home-approved .next-preview .facts>span {padding:12px!important}
 }
 #marco55-root .home-approved :is(.health-story,.rich-method,.home-feature,.training-cycle,.home-showcase,.complete-impact) :is(h2,h3,h4,p,small,label) {min-inline-size:0;max-inline-size:100%;word-break:normal!important;overflow-wrap:break-word!important}
 #marco55-root .home-approved :is(.health-story,.rich-method,.home-feature,.training-cycle,.home-showcase,.complete-impact) :is(h2,h3,h4) {text-wrap:balance;line-height:1.25!important}
 #marco55-root .home-approved :is(.health-story,.rich-method,.home-feature,.training-cycle,.home-showcase,.complete-impact) p {text-wrap:pretty}
 #marco55-root .home-approved .health-story .story-context-tile {box-sizing:border-box;min-inline-size:0;padding:16px 16px 36px!important}
 #marco55-root .home-approved .health-story .health-report-links {flex-wrap:wrap;gap:12px}
 #marco55-root .home-approved .rich-method :is(.plan-label,.review-tags) {flex-wrap:wrap;gap:8px}
 #marco55-root .home-approved .rich-method .plan-label>span {white-space:nowrap}
 #marco55-root .wm-root {container-type:inline-size}
 #marco55-root .wm-root .wm-history-continuity :is(.wm-score-history,.wm-continuity-card,.wm-history-resources) {min-inline-size:0;max-inline-size:100%}
 #marco55-root .wm-root .wm-history-continuity :is(h2,h3,h4,p) {min-inline-size:0;max-inline-size:100%;word-break:normal!important;overflow-wrap:break-word!important}
 #marco55-root .wm-root .wm-history-continuity :is(.wm-recording-map>h3,.wm-health-notice h3) {font-size:20px!important;line-height:1.5!important}
 @container(max-width:620px) {
  #marco55-root .wm-root .wm-history-continuity {grid-template-columns:minmax(0,1fr)!important}
  #marco55-root .wm-root .wm-history-continuity>:is(.wm-score-history,.wm-continuity-card,.wm-history-resources) {grid-column:1!important;grid-row:auto!important}
 }
 @container(max-width:560px) {
  #marco55-root .home-approved .health-story .story-steps {grid-template-columns:minmax(0,1fr)!important;gap:20px!important}
  #marco55-root .home-approved .health-story .story-steps li {display:grid!important;grid-template-columns:36px minmax(0,1fr)!important;gap:12px!important;align-items:start!important}
  #marco55-root .home-approved .health-story .story-steps h3 {font-size:18px!important;line-height:1.4!important}
  #marco55-root .home-approved .health-story .story-steps p {font-size:16px!important;line-height:1.55!important}
  #marco55-root .home-approved .health-story .story-context-grid {grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
  #marco55-root .home-approved .health-story .story-context-tile {display:grid!important;grid-template-columns:28px minmax(0,1fr)!important;align-items:start!important;gap:12px!important}
  #marco55-root .home-approved .health-story .story-context-tile h4 {font-size:18px!important;line-height:1.4!important;margin:0 0 4px!important}
  #marco55-root .home-approved .health-story .story-context-tile p {font-size:16px!important;line-height:1.55!important}
 }
}

/* Public footer shares the same single content inset as every home section. */
@layer m55-footer-contract {
 #marco55-root .prototype>.stage>.frame>:is(.home.long-home,.tablet-site,.phone-site,.running-marketing)>.m55-footer-mount{box-sizing:border-box!important;width:calc(100% - 2 * var(--m55-content-gutter))!important;max-width:none!important;margin-inline:var(--m55-content-gutter)!important}
}
@layer m55-footer-contract {
 #marco55-root .prototype>.stage>.frame>.m55-footer-mount{box-sizing:border-box!important;width:calc(100% - 2 * var(--m55-content-gutter))!important;max-width:none!important;margin-inline:var(--m55-content-gutter)!important}
 body>.m55-footer-host{box-sizing:border-box!important;width:calc(100% - 2 * var(--m55-content-gutter))!important;margin-inline:var(--m55-content-gutter)!important}
 @media(min-width:1280px) and (min-aspect-ratio:3/2) and (hover:hover) and (pointer:fine){body>.m55-footer-host{width:calc(80vw - 2 * var(--m55-content-gutter))!important;margin-inline:auto!important}}
 @media(any-pointer:coarse){body>.m55-footer-host{width:calc(100% - 2 * var(--m55-content-gutter))!important;margin-inline:var(--m55-content-gutter)!important}}
}

/* Equal vertical rhythm across destinations, section labels and guide links. */
@layer marcoJourney {
 .m55-navigation.m55-navigation{--m55-nav-row-height:48px;gap:2px!important;padding:6px!important;font-size:24px!important}
 .m55-navigation.m55-navigation :is(button,a,.nav-section-label){box-sizing:border-box!important;display:flex!important;align-items:center!important;flex:none!important;width:100%!important;height:auto!important;min-height:var(--m55-nav-row-height)!important;max-height:none!important;margin:0!important;padding-block:0!important;line-height:30px!important;border-top:0!important;border-bottom:0!important;gap:10px!important}
 .m55-navigation.m55-navigation .nav-guide-group{display:contents!important;margin:0!important;padding:0!important;border:0!important}
 @media(pointer:fine){.m55-navigation.m55-navigation{--m55-nav-row-height:42px}}
}
@layer marco-header-layout{.m55-page-links nav{gap:12px!important}}

/* Compact disclosure navigation retains the shared row geometry. */
@layer marcoJourney {
 .m55-navigation.m55-navigation .nav-category-toggle{cursor:pointer!important;text-align:left!important}
 .m55-navigation.m55-navigation .nav-category-toggle>span{flex:1!important}
 .m55-navigation.m55-navigation .nav-category-chevron{width:16px!important;height:16px!important;flex:none!important;color:inherit!important;transform:rotate(0deg)!important;transition:transform .15s ease}
 .m55-navigation.m55-navigation .nav-category-toggle[aria-expanded="true"]{background:#ffffff10!important}
 .m55-navigation.m55-navigation .nav-category-toggle[aria-expanded="true"] .nav-category-chevron{transform:rotate(180deg)!important}
 .m55-navigation.m55-navigation .nav-submenu:not([hidden]){display:contents!important}
 .m55-navigation.m55-navigation .nav-submenu[hidden]{display:none!important}
 .m55-navigation.m55-navigation[data-theme="day"] .nav-category-toggle[aria-expanded="true"]{background:#15243c0d!important}
 @media(prefers-reduced-motion:reduce){.m55-navigation.m55-navigation .nav-category-chevron{transition:none!important}}
}

/* Owner screenshot, 5 November: light Wellness context cards and report labels. */
@layer marcoJourney {
 #marco55-root .home-approved .live-extension.day .story-context-tile {background:#f7f8fa!important;background-image:none!important;border-color:#c5cbd3!important}
 #marco55-root .home-approved .live-extension.day .story-context-tile h4 {color:#242832!important;-webkit-text-fill-color:#242832!important}
 #marco55-root .home-approved .live-extension.day .story-context-tile p {color:#515966!important;-webkit-text-fill-color:#515966!important}
 #marco55-root .home-approved .live-extension.day .story-sleep :is(.story-context-icon,.story-wave){color:#70539f!important}
 #marco55-root .home-approved .live-extension.day .story-recovery :is(.story-context-icon,.story-wave){color:#85651d!important}
 #marco55-root .home-approved .live-extension.day .story-activity :is(.story-context-icon,.story-wave){color:#485d70!important}
 #marco55-root .home-approved .live-extension.day .flow-report-frequency b {background:#f1f3f6!important;color:#303744!important;-webkit-text-fill-color:#303744!important;border-color:#aeb7c4!important}
}

/* Owner, 7 November 2026: double Home vertical spacing only. */
@layer marcoJourney {
 #marco55-root .sport-gateway{--m55-home-gap:48px!important;--m55-entry-gap:192px!important}
 #marco55-root .sport-gateway.sg-tablet{--m55-entry-gap:160px!important}
 #marco55-root .sport-gateway.sg-phone{--m55-entry-gap:128px!important}
 #marco55-root .sport-gateway :is(.sg-choices,.sg-details-grid,.m55-home-composition,.m55-plan-film){column-gap:24px!important}
 @media(max-width:699px){
  #marco55-root .sport-gateway{--m55-home-gap:40px!important}
  #marco55-root .sport-gateway :is(.sg-choices,.sg-details-grid,.m55-home-composition,.m55-plan-film){column-gap:20px!important}
 }
}
