:root {
  --fmg-nav-inner-h: 62px;
  --fmg-nav-blur: 14px;
  --fmg-nav-bg: rgba(251, 252, 255, 0.74);
  --fmg-nav-mobile-bar-bg: linear-gradient(
    160deg,
    rgba(255, 255, 255, 0.95),
    rgba(247, 244, 255, 0.92)
  );
  --fmg-nav-mobile-shell-bg: linear-gradient(
    180deg,
    rgba(248, 246, 255, 0.978),
    rgba(248, 246, 255, 1)
  );
  --fmg-nav-mobile-slab-bg: linear-gradient(180deg, rgba(248, 246, 255, 1), #f8f6ff 100%);
  --fmg-nav-z-mount: 12010;
  --fmg-nav-z-sheet: 12040;
  --fmg-nav-border: rgba(115, 52, 240, 0.14);
  --fmg-nav-radius: 16px;
  --fmg-nav-rail-w: 253px;
  --fmg-nav-rail-base-w: 220px;
  --fmg-nav-dock-gap: 56px;
  --fmg-nav-dock-overhang: 0px;
  --fmg-nav-rail-y-offset: 50px;
  --fmg-nav-ink: #1a1f45;
  --fmg-nav-subtle: #66708b;
  --fmg-nav-accent: #7334f0;
  --fmg-nav-list-fs: 15px;
  --fmg-nav-list-row-h: 48px;
  --fmg-pad: 10px;
  --fmg-nav-accent-soft: rgba(115, 52, 240, 0.14);
  --fmg-nav-surface: linear-gradient(
    160deg,
    rgba(255, 255, 255, 0.84),
    rgba(247, 244, 255, 0.62)
  );
  --fmg-nav-shadow: 0 1px 2px rgba(20, 22, 51, 0.04), 0 8px 18px rgba(20, 22, 51, 0.07);
  --fmg-nav-card-border: rgba(123, 97, 234, 0.12);
  --fmg-nav-card-border-strong: rgba(123, 97, 234, 0.18);
  --fmg-nav-card-top-border: rgba(255, 255, 255, 0.74);
  --fmg-nav-card-shadow: 0 1px 2px rgba(20, 22, 51, 0.04), 0 10px 26px rgba(20, 22, 51, 0.08);
  --fmg-nav-card-shadow-strong: 0 1px 2px rgba(20, 22, 51, 0.05), 0 10px 24px rgba(20, 22, 51, 0.11);
  --fmg-nav-pill-border: rgba(115, 52, 240, 0.2);
  --fmg-nav-pill-border-strong: rgba(115, 52, 240, 0.34);
  --fmg-nav-pill-bg: rgba(255, 255, 255, 0.74);
  --fmg-nav-pill-ink: #4a4198;
  --fmg-nav-pill-shadow: 0 4px 10px rgba(34, 28, 72, 0.09);
  --fmg-nav-preview-border: rgba(115, 52, 240, 0.13);
  --fmg-nav-preview-bg: linear-gradient(165deg, rgba(248, 246, 255, 0.84), rgba(243, 239, 255, 0.66));
  --fmg-nav-preview-ink: #3b336f;
  --fmg-nav-search-border: rgba(115, 52, 240, 0.2);
  --fmg-nav-search-bg: rgba(255, 255, 255, 0.78);
  --fmg-nav-search-placeholder: #7f86a2;
  --fmg-nav-focus-outline: rgba(115, 52, 240, 0.7);
  --fmg-nav-link-hover-bg: rgba(115, 52, 240, 0.032);
  --fmg-nav-link-hover-shadow: 0 2px 6px rgba(20, 22, 51, 0.04);
  --fmg-nav-link-active-bg: linear-gradient(145deg, rgba(238, 231, 255, 0.86), rgba(244, 240, 255, 0.96));
  --fmg-nav-link-active-ink: #2f2a77;
  --fmg-nav-link-active-bar: #3fd08f;
  --fmg-nav-link-focus-bg: var(--fmg-nav-link-active-bg);
  --fmg-nav-link-focus-ink: var(--fmg-nav-link-active-ink);
  --fmg-nav-link-focus-shadow: none;
  --fmg-nav-link-ink: var(--fmg-nav-ink);
  --fmg-nav-link-pad-x-end: 12px;
  --fmg-nav-link-pad-x-start: 20px;
  --fmg-nav-link-line-height: 1.26;
  --fmg-nav-link-before-left: 10px;
  --fmg-nav-timeline-bg: linear-gradient(180deg, rgba(116, 90, 232, 0.34), rgba(116, 90, 232, 0.06));
  --fmg-nav-desktop-timeline-w: 30px;
  --fmg-nav-desktop-timeline-col-w: calc(var(--fmg-nav-desktop-timeline-w) + 6px);
  --fmg-nav-desktop-timeline-pad-inline: 4px;
  --fmg-nav-util-border: rgba(115, 52, 240, 0.09);
  --fmg-nav-util-btn-border: rgba(115, 52, 240, 0.16);
  --fmg-nav-util-btn-border-strong: rgba(115, 52, 240, 0.3);
  --fmg-nav-util-btn-bg: rgba(255, 255, 255, 0.8);
  --fmg-nav-util-btn-ink: #34306f;
  --fmg-nav-util-btn-min-h: 36px;
  --fmg-nav-util-btn-fs: 12px;
  --fmg-nav-mobile-bar-shadow: 0 1px 8px rgba(20, 22, 51, 0.06), 0 8px 18px rgba(20, 22, 51, 0.11);
  --fmg-nav-mobile-bar-radius: 14px;
  --fmg-nav-mobile-btn-bg: linear-gradient(135deg, #7e55f5, #5f41dc);
  --fmg-nav-mobile-btn-ink: #fff;
  --fmg-nav-mobile-ghost-bg: rgba(255, 255, 255, 0.92);
  --fmg-nav-mobile-ghost-border: rgba(115, 52, 240, 0.2);
  --fmg-nav-mobile-ghost-ink: #2f3562;
  --fmg-nav-progress-track: rgba(115, 52, 240, 0.24);
  --fmg-nav-progress-fill: linear-gradient(90deg, #3fd08f, #745ae8);
  --fmg-nav-progress-tick: rgba(115, 52, 240, 0.36);
  --fmg-nav-progress-tick-active: #3fd08f;
  --fmg-nav-sheet-scrim: rgba(18, 20, 45, 0.42);
  --fmg-nav-sheet-panel-bg: linear-gradient(160deg, rgba(255, 255, 255, 0.97), rgba(243, 239, 255, 0.95));
  --fmg-nav-sheet-panel-top-border: rgba(255, 255, 255, 0.92);
  --fmg-nav-sheet-panel-shadow: 0 -12px 30px rgba(20, 22, 51, 0.17);
  --fmg-nav-sheet-panel-after: linear-gradient(180deg, rgba(248, 246, 255, 0.99), #f8f6ff 100%);
  --fmg-nav-sheet-handle-bg: rgba(115, 52, 240, 0.24);
  --fmg-nav-sheet-handle-w: 56px;
  --fmg-nav-sheet-header-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(243, 239, 255, 0.94));
  --fmg-nav-sheet-header-min-h: 68px;
  --fmg-nav-sheet-header-pad: 10px 8px 8px;
  --fmg-nav-sheet-title-fs: 17px;
  --fmg-nav-sheet-title-ink: var(--fmg-nav-ink);
  --fmg-nav-sheet-close-border: rgba(115, 52, 240, 0.24);
  --fmg-nav-sheet-close-bg: #fff;
  --fmg-nav-sheet-close-ink: #2d2868;
  --fmg-nav-sheet-close-size: 36px;
  --fmg-nav-sheet-close-fs: 24px;
  --fmg-nav-sheet-close-shadow: none;
  --fmg-nav-sheet-search-min-h: 40px;
  --fmg-nav-sheet-search-shadow: inset 0 1px 1px rgba(20, 22, 51, 0.03);
  --fmg-nav-sheet-search-focus-shadow: none;
  --fmg-nav-sheet-item-hover-bg: rgba(115, 52, 240, 0.06);
  --fmg-nav-sheet-item-active-bg: linear-gradient(135deg, rgba(115, 52, 240, 0.15), rgba(115, 52, 240, 0.07));
  --fmg-nav-sheet-item-active-ink: #211f63;
  --fmg-nav-sheet-item-active-border: rgba(115, 52, 240, 0.28);
  --fmg-nav-sheet-item-active-shadow: 0 4px 12px rgba(44, 34, 94, 0.1);
  --fmg-nav-sheet-item-active-bar: #7334f0;
  --fmg-nav-sheet-body-cols: minmax(0, 1fr) 32px;
  --fmg-nav-sheet-body-gap: 8px;
  --fmg-nav-sheet-list-gap: 6px;
  --fmg-nav-sheet-item-min-h: 48px;
  --fmg-nav-sheet-item-pad: 10px 16px 10px 36px;
  --fmg-nav-sheet-item-fs: 15px;
  --fmg-nav-sheet-item-lh: 1.26;
  --fmg-nav-sheet-item-ink: var(--fmg-nav-ink);
  --fmg-nav-sheet-item-shadow: none;
  --fmg-nav-sheet-item-before-left: 16px;
  --fmg-nav-sheet-timeline-bg: linear-gradient(180deg, rgba(115, 52, 240, 0.42), rgba(115, 52, 240, 0.08));
  --fmg-nav-sheet-timeline-w: 32px;
  --fmg-nav-sheet-timeline-pad-inline: 0px;
  --fmg-nav-sheet-timeline-overflow: visible;
  --fmg-nav-sheet-dot-border: rgba(115, 52, 240, 0.44);
  --fmg-nav-sheet-dot-bg: rgba(255, 255, 255, 0.98);
  --fmg-nav-sheet-dot-complete-bg: rgba(63, 208, 143, 0.34);
  --fmg-nav-sheet-dot-complete-border: rgba(63, 208, 143, 0.58);
  --fmg-nav-sheet-dot-active-bg: #7334f0;
  --fmg-nav-sheet-dot-active-border: #7334f0;
  --fmg-nav-sheet-dot-active-ring: 0 0 0 2px rgba(115, 52, 240, 0.2);
  --fmg-nav-sheet-dot-w: 16px;
  --fmg-nav-sheet-dot-h: 16px;
  --fmg-nav-sheet-dot-border-w: 2px;
  --fmg-nav-sheet-dot-shadow: none;
  --fmg-nav-sheet-dot-complete-shadow: none;
  --fmg-nav-sheet-dot-active-shadow: var(--fmg-nav-sheet-dot-active-ring);
  --fmg-nav-desktop-dot-w: 11px;
  --fmg-nav-desktop-dot-h: 11px;
  --fmg-nav-desktop-dot-border-w: 1.5px;
  --fmg-nav-desktop-dot-border: rgba(115, 52, 240, 0.34);
  --fmg-nav-desktop-dot-complete-border: rgba(63, 208, 143, 0.5);
  --fmg-nav-desktop-dot-active-border: var(--fmg-nav-sheet-dot-active-border);
}

body.fmg-nav--compact {
  --fmg-nav-list-fs: 14px;
  --fmg-nav-list-row-h: 44px;
  --fmg-pad: 8px;
}

body.fmg-nav--comfy {
  --fmg-nav-list-fs: 15px;
  --fmg-nav-list-row-h: 48px;
  --fmg-pad: 10px;
}

body.fmg-article-nav--real-life {
  --fmg-nav-dock-overhang: 0px;
  --fmg-nav-card-border: rgba(150, 117, 83, 0.14);
  --fmg-nav-card-border-strong: rgba(150, 117, 83, 0.18);
  --fmg-nav-card-top-border: rgba(255, 255, 255, 0.78);
  --fmg-nav-surface: linear-gradient(180deg, rgba(255, 253, 250, 0.9), rgba(246, 240, 232, 0.78));
  --fmg-nav-card-shadow: 0 1px 2px rgba(38, 26, 18, 0.04), 0 12px 28px rgba(63, 40, 24, 0.09);
  --fmg-nav-card-shadow-strong: 0 1px 2px rgba(38, 26, 18, 0.05), 0 10px 24px rgba(63, 40, 24, 0.11);
  --fmg-nav-pill-border: rgba(150, 117, 83, 0.16);
  --fmg-nav-pill-border-strong: rgba(184, 109, 61, 0.24);
  --fmg-nav-pill-bg: rgba(255, 255, 255, 0.7);
  --fmg-nav-pill-ink: #6e4d38;
  --fmg-nav-pill-shadow: 0 4px 10px rgba(72, 42, 20, 0.05);
  --fmg-nav-preview-border: rgba(150, 117, 83, 0.14);
  --fmg-nav-preview-bg: linear-gradient(180deg, rgba(255, 252, 248, 0.92), rgba(248, 242, 235, 0.84));
  --fmg-nav-preview-ink: #5c473a;
  --fmg-nav-search-border: rgba(150, 117, 83, 0.14);
  --fmg-nav-search-bg: rgba(255, 255, 255, 0.76);
  --fmg-nav-search-placeholder: rgba(102, 79, 61, 0.72);
  --fmg-nav-focus-outline: rgba(184, 109, 61, 0.32);
  --fmg-nav-link-hover-bg: rgba(184, 109, 61, 0.04);
  --fmg-nav-link-active-bg: linear-gradient(145deg, rgba(247, 237, 226, 0.96), rgba(255, 250, 244, 0.98));
  --fmg-nav-link-active-ink: #493023;
  --fmg-nav-link-active-bar: #b86d3d;
  --fmg-nav-link-focus-bg: linear-gradient(145deg, rgba(238, 212, 189, 0.98), rgba(252, 241, 231, 0.98));
  --fmg-nav-link-focus-ink: #5a3220;
  --fmg-nav-link-focus-shadow: inset 0 0 0 1px rgba(184, 109, 61, 0.18), 0 3px 8px rgba(72, 42, 20, 0.05);
  --fmg-nav-link-ink: #5a4336;
  --fmg-nav-link-pad-x-end: 10px;
  --fmg-nav-link-pad-x-start: 18px;
  --fmg-nav-link-line-height: 1.32;
  --fmg-nav-link-before-left: 8px;
  --fmg-nav-timeline-bg: linear-gradient(180deg, rgba(184, 109, 61, 0.34), rgba(184, 109, 61, 0.08));
  --fmg-nav-desktop-timeline-w: 24px;
  --fmg-nav-util-border: rgba(150, 117, 83, 0.12);
  --fmg-nav-util-btn-border: rgba(150, 117, 83, 0.16);
  --fmg-nav-util-btn-border-strong: rgba(184, 109, 61, 0.24);
  --fmg-nav-util-btn-bg: rgba(255, 255, 255, 0.76);
  --fmg-nav-util-btn-ink: #5a463a;
  --fmg-nav-util-btn-min-h: 34px;
  --fmg-nav-util-btn-fs: 11px;
  --fmg-nav-mobile-bar-bg: linear-gradient(180deg, rgba(255, 252, 248, 0.96), rgba(248, 242, 235, 0.94));
  --fmg-nav-mobile-shell-bg: linear-gradient(180deg, rgba(248, 243, 236, 0.24), rgba(247, 241, 233, 0.98) 48%);
  --fmg-nav-mobile-slab-bg: linear-gradient(180deg, rgba(248, 242, 235, 0.98), #f8f2eb 100%);
  --fmg-nav-mobile-bar-shadow: 0 1px 6px rgba(38, 26, 18, 0.05), 0 8px 18px rgba(63, 40, 24, 0.1);
  --fmg-nav-mobile-bar-radius: 12px;
  --fmg-nav-mobile-btn-bg: linear-gradient(135deg, #c98853, #aa653b);
  --fmg-nav-mobile-ghost-bg: rgba(255, 255, 255, 0.78);
  --fmg-nav-mobile-ghost-border: rgba(150, 117, 83, 0.16);
  --fmg-nav-mobile-ghost-ink: #5d493c;
  --fmg-nav-progress-track: rgba(184, 109, 61, 0.22);
  --fmg-nav-progress-fill: linear-gradient(90deg, #d8a176, #b86d3d);
  --fmg-nav-progress-tick: rgba(184, 109, 61, 0.32);
  --fmg-nav-progress-tick-active: #b86d3d;
  --fmg-nav-sheet-scrim: rgba(34, 24, 18, 0.3);
  --fmg-nav-sheet-panel-bg: linear-gradient(180deg, rgba(255, 252, 248, 0.98), rgba(248, 242, 235, 0.97));
  --fmg-nav-sheet-panel-top-border: rgba(255, 255, 255, 0.94);
  --fmg-nav-sheet-panel-shadow: 0 -12px 28px rgba(48, 30, 18, 0.14);
  --fmg-nav-sheet-panel-after: linear-gradient(180deg, rgba(248, 242, 235, 0.98), #f8f2eb 100%);
  --fmg-nav-sheet-handle-bg: rgba(184, 109, 61, 0.24);
  --fmg-nav-sheet-handle-w: 52px;
  --fmg-nav-sheet-header-bg: linear-gradient(180deg, rgba(255, 252, 248, 0.98), rgba(248, 242, 235, 0.94));
  --fmg-nav-sheet-header-min-h: 62px;
  --fmg-nav-sheet-header-pad: 8px 6px 7px;
  --fmg-nav-sheet-title-fs: 16px;
  --fmg-nav-sheet-title-ink: #4f382c;
  --fmg-nav-sheet-close-border: rgba(150, 117, 83, 0.18);
  --fmg-nav-sheet-close-bg: rgba(255, 252, 248, 0.92);
  --fmg-nav-sheet-close-ink: #6d4d39;
  --fmg-nav-sheet-close-size: 32px;
  --fmg-nav-sheet-close-fs: 17px;
  --fmg-nav-sheet-close-shadow: none;
  --fmg-nav-sheet-search-min-h: 40px;
  --fmg-nav-sheet-search-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.44);
  --fmg-nav-sheet-search-focus-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.52), 0 0 0 3px rgba(201, 136, 83, 0.1);
  --fmg-nav-sheet-item-hover-bg: rgba(184, 109, 61, 0.04);
  --fmg-nav-sheet-item-active-bg: linear-gradient(135deg, rgba(244, 228, 213, 0.98), rgba(252, 246, 239, 0.98));
  --fmg-nav-sheet-item-active-ink: #442d22;
  --fmg-nav-sheet-item-active-border: rgba(184, 109, 61, 0.2);
  --fmg-nav-sheet-item-active-shadow: 0 3px 8px rgba(72, 42, 20, 0.05);
  --fmg-nav-sheet-item-active-bar: #b86d3d;
  --fmg-nav-sheet-body-cols: minmax(0, 1fr) 30px;
  --fmg-nav-sheet-body-gap: 8px;
  --fmg-nav-sheet-list-gap: 4px;
  --fmg-nav-sheet-item-min-h: 42px;
  --fmg-nav-sheet-item-pad: 9px 14px 9px 28px;
  --fmg-nav-sheet-item-fs: 14px;
  --fmg-nav-sheet-item-lh: 1.24;
  --fmg-nav-sheet-item-ink: #5e4739;
  --fmg-nav-sheet-item-shadow: none;
  --fmg-nav-sheet-item-before-left: 13px;
  --fmg-nav-sheet-timeline-bg: linear-gradient(180deg, rgba(184, 109, 61, 0.3), rgba(184, 109, 61, 0.08));
  --fmg-nav-sheet-timeline-w: 30px;
  --fmg-nav-sheet-timeline-pad-inline: 4px;
  --fmg-nav-sheet-timeline-overflow: visible;
  --fmg-nav-sheet-dot-border: rgba(184, 109, 61, 0.28);
  --fmg-nav-sheet-dot-bg: radial-gradient(circle at 35% 35%, rgba(255, 252, 247, 0.98), rgba(242, 225, 209, 0.92) 68%, rgba(224, 196, 171, 0.9) 100%);
  --fmg-nav-sheet-dot-complete-bg: radial-gradient(circle at 35% 35%, rgba(255, 247, 236, 0.98), rgba(231, 190, 154, 0.9) 68%, rgba(202, 136, 83, 0.84) 100%);
  --fmg-nav-sheet-dot-complete-border: rgba(184, 109, 61, 0.32);
  --fmg-nav-sheet-dot-active-bg: radial-gradient(circle at 34% 32%, rgba(255, 233, 216, 0.98), rgba(201, 136, 83, 0.98) 62%, rgba(150, 88, 50, 1) 100%);
  --fmg-nav-sheet-dot-active-border: rgba(150, 88, 50, 0.96);
  --fmg-nav-sheet-dot-active-ring: 0 0 0 2px rgba(201, 136, 83, 0.16);
  --fmg-nav-sheet-dot-w: 11px;
  --fmg-nav-sheet-dot-h: 11px;
  --fmg-nav-sheet-dot-border-w: 1.5px;
  --fmg-nav-sheet-dot-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.68), 0 0 0 1px rgba(255, 248, 241, 0.2);
  --fmg-nav-sheet-dot-complete-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.56), 0 0 0 1px rgba(201, 136, 83, 0.14);
  --fmg-nav-sheet-dot-active-shadow: 0 0 0 2px rgba(201, 136, 83, 0.16), 0 3px 8px rgba(86, 49, 25, 0.18);
  --fmg-nav-desktop-dot-w: 9px;
  --fmg-nav-desktop-dot-h: 9px;
  --fmg-nav-desktop-dot-border-w: 1.5px;
  --fmg-nav-desktop-dot-border: rgba(184, 109, 61, 0.24);
  --fmg-nav-desktop-dot-complete-border: rgba(184, 109, 61, 0.28);
  --fmg-nav-desktop-dot-active-border: rgba(150, 88, 50, 0.96);
}

.fmg-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.fmg-article-shell {
  width: 100%;
  align-items: flex-start;
  overflow: visible;
}

.fmg-article-main {
  width: 100%;
  min-width: 0;
}

.fmg-article-nav-desktop {
  position: sticky;
  top: var(--fmg-nav-sticky-top, 108px);
  align-self: flex-start;
  width: var(--fmg-nav-rail-w);
  min-width: 0;
}

.fmg-article-nav-editor-placeholder {
  display: grid;
  gap: 8px;
  padding: 16px 18px;
  border: 1px dashed rgba(115, 52, 240, 0.24);
  border-radius: 14px;
  background: linear-gradient(160deg, rgba(248, 246, 255, 0.84), rgba(255, 255, 255, 0.96));
  color: #2f3562;
  font: 600 14px/1.45 Nunito, system-ui, sans-serif;
}

.fmg-article-nav-editor-placeholder strong,
.fmg-article-nav-editor-placeholder p {
  margin: 0;
}

.fmg-article-nav-card {
  position: relative;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--fmg-nav-card-border);
  border-top-color: var(--fmg-nav-card-top-border);
  border-radius: var(--fmg-nav-radius);
  background: var(--fmg-nav-surface);
  -webkit-backdrop-filter: blur(var(--fmg-nav-blur));
  backdrop-filter: blur(var(--fmg-nav-blur));
  box-shadow: var(--fmg-nav-card-shadow);
  opacity: 0.88;
  max-height: calc(100vh - 124px);
  transition: opacity 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
  overflow: hidden;
}

body.fmg-nav-has-scrolled .fmg-article-nav-card {
  opacity: 1;
  border-color: var(--fmg-nav-card-border-strong);
  box-shadow: var(--fmg-nav-card-shadow-strong);
}

.fmg-article-nav-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 12px 12px 9px;
}

.fmg-article-nav-title {
  margin: 0;
  color: var(--fmg-nav-ink);
  font: 800 17px/1.1 Montserrat, system-ui, sans-serif;
  letter-spacing: -0.01em;
}

.fmg-article-nav-collapse {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  min-height: 28px;
  padding: 0 10px;
  border: 1px solid var(--fmg-nav-pill-border);
  border-radius: 999px;
  background: var(--fmg-nav-pill-bg);
  color: var(--fmg-nav-pill-ink);
  font: 700 11px/1 Montserrat, system-ui, sans-serif;
  letter-spacing: 0.01em;
  white-space: nowrap;
  cursor: pointer;
  transition:
    transform 0.18s cubic-bezier(0.175, 0.885, 0.32, 1.275),
    box-shadow 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275),
    border-color 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.fmg-article-nav-collapse__icon {
  width: 8px;
  height: 8px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-0.5px);
  transform-origin: 50% 50%;
  transition: transform 0.18s ease;
}

.fmg-article-nav-collapse.is-collapsed .fmg-article-nav-collapse__icon {
  transform: rotate(-135deg) translateY(0);
}

.fmg-article-nav-collapse:hover {
  transform: translateY(-0.5px);
  border-color: var(--fmg-nav-pill-border-strong);
  box-shadow: var(--fmg-nav-pill-shadow);
}

.fmg-article-nav-preview {
  display: none;
  margin: 0 10px 10px;
  padding: 9px 11px;
  border: 1px solid var(--fmg-nav-preview-border);
  border-radius: 12px;
  background: var(--fmg-nav-preview-bg);
  color: var(--fmg-nav-preview-ink);
  font: 600 13px/1.25 Nunito, system-ui, sans-serif;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.fmg-article-nav-searchwrap {
  padding: 0 11px 9px;
  max-height: 86px;
  opacity: 1;
  transition:
    max-height 0.28s cubic-bezier(0.175, 0.885, 0.32, 1.275),
    opacity 0.2s ease;
}

.fmg-article-nav-search {
  width: 100%;
  min-height: 40px;
  border-radius: 999px;
  border: 1px solid var(--fmg-nav-search-border);
  background: var(--fmg-nav-search-bg);
  color: var(--fmg-nav-ink);
  padding: 9px 32px 9px 12px;
  font: 600 14px/1.2 Nunito, system-ui, sans-serif;
  box-shadow: inset 0 1px 1px rgba(20, 22, 51, 0.03);
}

.fmg-article-nav-search::placeholder {
  color: var(--fmg-nav-search-placeholder);
}

.fmg-article-nav-search:focus-visible,
.fmg-nav-btn:focus-visible,
.fmg-article-nav-link:focus-visible,
.fmg-mobile-nav__btn:focus-visible,
.fmg-outline-sheet__close:focus-visible,
.fmg-outline-sheet__item:focus-visible,
.fmg-outline-sheet__dot:focus-visible {
  outline: 2px solid var(--fmg-nav-focus-outline);
  outline-offset: 2px;
}

.fmg-article-nav-listwrap {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--fmg-nav-desktop-timeline-col-w);
  column-gap: 8px;
  padding: 6px 8px 12px 8px;
  min-height: 0;
  flex: 1 1 auto;
  overflow: hidden;
  max-height: none;
  opacity: 1;
  transition:
    max-height 0.34s cubic-bezier(0.175, 0.885, 0.32, 1.275),
    opacity 0.2s ease;
}

.fmg-article-nav-list {
  list-style: none;
  margin: 0;
  padding: 0 2px 0 4px;
  display: grid;
  gap: 5px;
  justify-items: stretch;
  min-height: 0;
  max-height: 100%;
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.fmg-article-nav-list::-webkit-scrollbar {
  display: none;
}

.fmg-article-nav-item {
  position: relative;
  width: 100%;
  min-width: 0;
  margin: 0;
  border-top: 0;
}

.fmg-article-nav-link {
  position: relative;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  min-height: var(--fmg-nav-list-row-h);
  border-radius: 10px;
  text-align: left;
  border: 0;
  background: transparent;
  color: var(--fmg-nav-link-ink);
  padding: calc(var(--fmg-pad) - 1px) var(--fmg-nav-link-pad-x-end) calc(var(--fmg-pad) - 1px) var(--fmg-nav-link-pad-x-start);
  font: 600 var(--fmg-nav-list-fs)/var(--fmg-nav-link-line-height) Nunito, system-ui, sans-serif;
  letter-spacing: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  overflow: hidden;
  overflow-wrap: normal;
  transition:
    color 0.22s cubic-bezier(0.175, 0.885, 0.32, 1.1),
    background-color 0.22s cubic-bezier(0.175, 0.885, 0.32, 1.1),
    transform 0.22s cubic-bezier(0.175, 0.885, 0.32, 1.1),
    box-shadow 0.22s cubic-bezier(0.175, 0.885, 0.32, 1.1);
}

.fmg-article-nav-link__label {
  display: block;
  flex: 1 1 auto;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  overflow-wrap: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fmg-article-nav-link::before {
  content: "";
  position: absolute;
  left: var(--fmg-nav-link-before-left);
  top: 10px;
  bottom: 10px;
  width: 2px;
  border-radius: 999px;
  background: transparent;
  transition: background-color 0.18s ease;
}

.fmg-article-nav-link:hover {
  transform: translateX(0.5px);
  background: var(--fmg-nav-link-hover-bg);
  color: var(--fmg-nav-ink) !important;
  box-shadow: var(--fmg-nav-link-hover-shadow);
}

.fmg-article-nav-item.is-active .fmg-article-nav-link {
  color: var(--fmg-nav-link-active-ink) !important;
  background: var(--fmg-nav-link-active-bg);
  font-weight: 700;
  box-shadow: none;
}

.fmg-article-nav-item.is-active .fmg-article-nav-link::before {
  background: var(--fmg-nav-link-active-bar);
}

.fmg-article-nav-item.is-hidden {
  display: none;
}

.fmg-article-nav-timeline {
  position: relative;
  width: var(--fmg-nav-desktop-timeline-w);
  min-height: 100%;
  --fmg-rail-top: 10px;
  --fmg-rail-bottom: 10px;
  box-sizing: border-box;
  padding-inline: var(--fmg-nav-desktop-timeline-pad-inline);
  overflow: visible;
}

.fmg-article-nav-timeline::before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: var(--fmg-rail-top);
  bottom: var(--fmg-rail-bottom);
  width: 1px;
  border-radius: 2px;
  background: var(--fmg-nav-timeline-bg);
}

.fmg-article-nav-utils {
  display: flex;
  gap: 8px;
  padding: 11px;
  border-top: 1px solid var(--fmg-nav-util-border);
  max-height: 80px;
  opacity: 1;
  transition:
    max-height 0.24s cubic-bezier(0.175, 0.885, 0.32, 1.275),
    opacity 0.2s ease;
}

.fmg-nav-btn {
  flex: 1;
  min-height: var(--fmg-nav-util-btn-min-h);
  border: 1px solid var(--fmg-nav-util-btn-border);
  background: var(--fmg-nav-util-btn-bg);
  border-radius: 999px;
  color: var(--fmg-nav-util-btn-ink);
  font: 700 var(--fmg-nav-util-btn-fs)/1 Montserrat, system-ui, sans-serif;
  cursor: pointer;
  transition:
    transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.1),
    box-shadow 0.22s cubic-bezier(0.175, 0.885, 0.32, 1.1),
    border-color 0.22s cubic-bezier(0.175, 0.885, 0.32, 1.1);
}

.fmg-nav-btn:hover {
  transform: translateY(-0.5px);
  box-shadow: 0 4px 10px rgba(20, 22, 51, 0.07);
  border-color: var(--fmg-nav-util-btn-border-strong);
}

.fmg-nav-btn.is-copied {
  color: #147954;
  border-color: rgba(63, 208, 143, 0.55);
}

.fmg-article-nav-card.is-collapsed .fmg-article-nav-preview {
  display: block;
}

.fmg-article-nav-card.is-collapsed .fmg-article-nav-searchwrap,
.fmg-article-nav-card.is-collapsed .fmg-article-nav-listwrap,
.fmg-article-nav-card.is-collapsed .fmg-article-nav-utils {
  max-height: 0;
  opacity: 0;
  padding-top: 0;
  padding-bottom: 0;
  pointer-events: none;
  overflow: hidden;
}

.fmg-article-nav-mobile-mount {
  display: none;
}

.fmg-mobile-nav {
  width: 100%;
}

.fmg-mobile-nav__bar {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: var(--fmg-nav-inner-h);
  padding: 10px 12px;
  border-radius: var(--fmg-nav-mobile-bar-radius);
  border: 1px solid var(--fmg-nav-border);
  background: var(--fmg-nav-mobile-bar-bg);
  -webkit-backdrop-filter: blur(var(--fmg-nav-blur));
  backdrop-filter: blur(var(--fmg-nav-blur));
  box-shadow: var(--fmg-nav-mobile-bar-shadow);
}

.fmg-mobile-nav__btn {
  border: 0;
  border-radius: 999px;
  min-width: 92px;
  min-height: 42px;
  padding: 0 14px;
  color: var(--fmg-nav-mobile-btn-ink);
  background: var(--fmg-nav-mobile-btn-bg);
  font: 700 17px/1 Montserrat, system-ui, sans-serif;
  cursor: pointer;
}

.fmg-mobile-nav__btn--ghost {
  color: var(--fmg-nav-mobile-ghost-ink);
  background: var(--fmg-nav-mobile-ghost-bg);
  border: 1px solid var(--fmg-nav-mobile-ghost-border);
}

body.fmg-article-nav--real-life .fmg-article-nav-card__head {
  gap: 6px;
  padding: 13px 14px 10px;
}

body.fmg-article-nav--real-life .fmg-article-nav-title {
  font-size: 16px;
  letter-spacing: 0;
}

body.fmg-article-nav--real-life .fmg-article-nav-collapse {
  min-height: 26px;
  padding: 0 8px;
  font-size: 10px;
}

body.fmg-article-nav--real-life .fmg-article-nav-preview {
  margin: 0 12px 10px;
  padding: 8px 10px;
}

body.fmg-article-nav--real-life .fmg-article-nav-searchwrap {
  padding: 0 12px 8px;
}

body.fmg-article-nav--real-life .fmg-article-nav-search {
  min-height: 38px;
  padding-right: 28px;
}

body.fmg-article-nav--real-life .fmg-article-nav-listwrap {
  grid-template-columns: minmax(0, 1fr) var(--fmg-nav-desktop-timeline-col-w);
  column-gap: 8px;
  padding: 6px 10px 12px 10px;
}

body.fmg-article-nav--real-life .fmg-article-nav-list {
  gap: 8px;
  padding: 0 2px 0 2px;
}

body.fmg-article-nav--real-life .fmg-outline-sheet__search .fmg-article-nav-search {
  min-height: var(--fmg-nav-sheet-search-min-h);
  box-shadow: var(--fmg-nav-sheet-search-shadow);
}

body.fmg-article-nav--real-life .fmg-outline-sheet__search .fmg-article-nav-search:focus-visible {
  box-shadow: var(--fmg-nav-sheet-search-focus-shadow);
}

.fmg-mobile-nav__progress {
  position: relative;
  flex: 1;
  min-width: 120px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: clip;
}

.fmg-mobile-nav__track,
.fmg-mobile-nav__fill {
  position: absolute;
  left: 6px;
  right: 6px;
  height: 2px;
  border-radius: 2px;
  top: 13px;
}

.fmg-mobile-nav__track { background: var(--fmg-nav-progress-track); }

.fmg-mobile-nav__fill {
  right: auto;
  width: 0;
  background: var(--fmg-nav-progress-fill);
  transition: width 0.24s cubic-bezier(0.175, 0.885, 0.32, 1.1);
}

.fmg-mobile-nav__ticks {
  position: relative;
  z-index: 2;
  width: calc(100% - 12px);
  display: flex;
  justify-content: space-between;
  gap: 5px;
  overflow: clip;
}

.fmg-mobile-nav__tick {
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: var(--fmg-nav-progress-tick);
  transition: transform 0.2s ease, background-color 0.2s ease;
}

.fmg-mobile-nav__tick.is-active {
  transform: scale(1.08);
  background: var(--fmg-nav-progress-tick-active);
}

.fmg-outline-sheet {
  position: fixed;
  inset: 0;
  z-index: var(--fmg-nav-z-sheet);
  opacity: 0;
  pointer-events: none;
  overflow: hidden;
  touch-action: pan-y;
  overscroll-behavior-x: none;
  overscroll-behavior-y: none;
  transition: opacity 0.2s ease-out;
}

.fmg-outline-sheet[hidden] {
  display: none;
}

.fmg-outline-sheet.is-open {
  opacity: 1;
  pointer-events: auto;
}

.fmg-outline-sheet__scrim {
  position: absolute;
  inset: 0;
  z-index: 1;
  border: 0;
  background: var(--fmg-nav-sheet-scrim);
  appearance: none;
  -webkit-appearance: none;
  padding: 0;
  margin: 0;
  color: transparent;
  box-shadow: none;
  opacity: 0;
  transition: opacity 0.2s ease-out;
}

.fmg-outline-sheet__scrim:hover,
.fmg-outline-sheet__scrim:active,
.fmg-outline-sheet__scrim:focus-visible {
  background: transparent;
  box-shadow: none;
  outline: none;
}

.fmg-outline-sheet.is-open .fmg-outline-sheet__scrim {
  opacity: 1;
}

.fmg-outline-sheet__panel {
  position: absolute;
  z-index: 2;
  left: 0;
  right: 0;
  bottom: 0;
  height: clamp(430px, 82vh, 760px);
  max-height: calc(100vh - 8px);
  border-radius: 24px 24px 0 0;
  border-top: 1px solid var(--fmg-nav-sheet-panel-top-border);
  background: var(--fmg-nav-sheet-panel-bg);
  -webkit-backdrop-filter: blur(24px);
  backdrop-filter: blur(24px);
  box-shadow: var(--fmg-nav-sheet-panel-shadow);
  padding: 10px 12px calc(env(safe-area-inset-bottom, 0px) + 12px);
  display: flex;
  flex-direction: column;
  gap: 10px;
  overflow: hidden;
  overflow-x: hidden;
  touch-action: pan-y;
  overscroll-behavior-x: none;
  overscroll-behavior-y: none;
  transform: translate3d(0, 104%, 0);
  transform-origin: bottom center;
  transition: transform 0.2s cubic-bezier(0.2, 0.9, 0.24, 1);
  will-change: transform, opacity;
}

.fmg-outline-sheet__panel::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: calc(env(safe-area-inset-bottom, 0px) + 4px);
  pointer-events: none;
  background: var(--fmg-nav-sheet-panel-after);
}

.fmg-outline-sheet.is-open .fmg-outline-sheet__panel {
  transform: translate3d(0, var(--fmg-sheet-drag-y, 0px), 0);
}

.fmg-outline-sheet.is-dragging .fmg-outline-sheet__panel {
  transition: none;
}

.fmg-outline-sheet__handle {
  width: var(--fmg-nav-sheet-handle-w);
  height: 5px;
  border-radius: 999px;
  background: var(--fmg-nav-sheet-handle-bg);
  margin: 0 auto 2px;
  touch-action: none;
}

.fmg-outline-sheet__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: var(--fmg-nav-sheet-header-min-h);
  padding: var(--fmg-nav-sheet-header-pad);
  touch-action: none;
}

.fmg-outline-sheet__header h3 {
  margin: 0;
  color: var(--fmg-nav-sheet-title-ink);
  font: 800 var(--fmg-nav-sheet-title-fs)/1.2 Montserrat, system-ui, sans-serif;
  letter-spacing: -0.01em;
}

.fmg-outline-sheet__search {
  position: sticky;
  top: 68px;
  z-index: 3;
  padding: 0 8px 8px;
  background: var(--fmg-nav-sheet-header-bg);
}

.fmg-outline-sheet__close {
  min-width: var(--fmg-nav-sheet-close-size);
  min-height: var(--fmg-nav-sheet-close-size);
  border-radius: 999px;
  border: 1px solid var(--fmg-nav-sheet-close-border);
  background: var(--fmg-nav-sheet-close-bg);
  color: var(--fmg-nav-sheet-close-ink);
  font: 700 var(--fmg-nav-sheet-close-fs)/1 Nunito, system-ui, sans-serif;
  cursor: pointer;
  box-shadow: var(--fmg-nav-sheet-close-shadow);
}

.fmg-outline-sheet__body {
  position: relative;
  display: grid;
  grid-template-columns: var(--fmg-nav-sheet-body-cols);
  gap: var(--fmg-nav-sheet-body-gap);
  padding: 0 12px 0 14px;
  min-height: 0;
  flex: 1 1 auto;
  overflow: hidden;
  overflow-x: hidden;
  touch-action: pan-y;
}

.fmg-outline-sheet__list {
  list-style: none;
  margin: 0;
  padding: 6px 8px 6px 2px;
  overflow-y: auto;
  overflow-x: hidden;
  max-height: 100%;
  display: grid;
  gap: var(--fmg-nav-sheet-list-gap);
  justify-items: stretch;
  overscroll-behavior: contain;
  overscroll-behavior-x: none;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.fmg-outline-sheet__list::-webkit-scrollbar {
  display: none;
}

.fmg-outline-sheet__list > li {
  width: 100%;
  min-width: 0;
}

.fmg-outline-sheet__item {
  position: relative;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  min-width: 0;
  min-height: var(--fmg-nav-sheet-item-min-h);
  border: 0;
  border-radius: 14px;
  text-align: left;
  background: transparent;
  color: var(--fmg-nav-sheet-item-ink);
  padding: var(--fmg-nav-sheet-item-pad);
  font: 700 var(--fmg-nav-sheet-item-fs)/var(--fmg-nav-sheet-item-lh) Nunito, system-ui, sans-serif;
  cursor: pointer;
  display: flex;
  align-items: center;
  overflow: hidden;
  overflow-wrap: normal;
  transition: background-color 0.18s ease, color 0.18s ease;
  box-shadow: var(--fmg-nav-sheet-item-shadow);
}

.fmg-outline-sheet__item-label {
  display: block;
  flex: 1 1 auto;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  overflow-wrap: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fmg-outline-sheet__item:hover {
  background: var(--fmg-nav-sheet-item-hover-bg);
  color: var(--fmg-nav-ink) !important;
}

.fmg-outline-sheet__item:active {
  color: #211f63 !important;
}

.fmg-outline-sheet__item.is-active {
  background: var(--fmg-nav-sheet-item-active-bg);
  color: var(--fmg-nav-sheet-item-active-ink);
  box-shadow:
    inset 0 0 0 1px var(--fmg-nav-sheet-item-active-border),
    var(--fmg-nav-sheet-item-active-shadow);
}

.fmg-outline-sheet__item.is-active::before {
  content: "";
  position: absolute;
  left: var(--fmg-nav-sheet-item-before-left);
  top: 11px;
  bottom: 11px;
  width: 2px;
  border-radius: 999px;
  background: var(--fmg-nav-sheet-item-active-bar);
}

.fmg-outline-sheet__item.is-hidden {
  display: none;
}

.fmg-outline-sheet__timeline {
  position: relative;
  width: var(--fmg-nav-sheet-timeline-w);
  min-height: 100%;
  --fmg-rail-top: 10px;
  --fmg-rail-bottom: 10px;
  box-sizing: border-box;
  padding-inline: var(--fmg-nav-sheet-timeline-pad-inline);
  overflow: var(--fmg-nav-sheet-timeline-overflow);
}

.fmg-outline-sheet__timeline::before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: var(--fmg-rail-top);
  bottom: var(--fmg-rail-bottom);
  width: 1.5px;
  border-radius: 2px;
  background: var(--fmg-nav-sheet-timeline-bg);
}

.fmg-outline-sheet__dot {
  position: absolute;
  left: 50%;
  top: 0;
  z-index: 2;
  width: var(--fmg-nav-sheet-dot-w);
  height: var(--fmg-nav-sheet-dot-h);
  border-radius: 999px;
  border: var(--fmg-nav-sheet-dot-border-w) solid var(--fmg-nav-sheet-dot-border);
  background: var(--fmg-nav-sheet-dot-bg);
  cursor: pointer;
  transform: translate(-50%, -50%);
  transition: transform 0.18s ease, background-color 0.18s ease, border-color 0.18s ease;
  box-shadow: var(--fmg-nav-sheet-dot-shadow);
}

.fmg-outline-sheet__dot.is-complete {
  background: var(--fmg-nav-sheet-dot-complete-bg);
  border-color: var(--fmg-nav-sheet-dot-complete-border);
  box-shadow: var(--fmg-nav-sheet-dot-complete-shadow);
}

.fmg-outline-sheet__dot.is-active {
  background: var(--fmg-nav-sheet-dot-active-bg);
  border-color: var(--fmg-nav-sheet-dot-active-border);
  box-shadow: var(--fmg-nav-sheet-dot-active-shadow);
  transform: translate(-50%, -50%) scale(1.08);
}

.fmg-article-nav-timeline .fmg-outline-sheet__dot {
  width: var(--fmg-nav-desktop-dot-w);
  height: var(--fmg-nav-desktop-dot-h);
  border-width: var(--fmg-nav-desktop-dot-border-w);
  border-color: var(--fmg-nav-desktop-dot-border);
}

.fmg-article-nav-timeline .fmg-outline-sheet__dot.is-complete {
  background: rgba(63, 208, 143, 0.3);
  border-color: var(--fmg-nav-desktop-dot-complete-border);
}

.fmg-article-nav-timeline .fmg-outline-sheet__dot.is-active {
  border-color: var(--fmg-nav-desktop-dot-active-border);
  transform: translate(-50%, -50%) scale(1.05);
}

.fmg-outline-sheet__dot.is-hidden {
  visibility: hidden;
}

.fmg-outline-sheet__dot.is-offscreen {
  visibility: hidden;
  pointer-events: none;
}

body.fmg-outline-open {
  overflow: hidden;
  overscroll-behavior: none;
}

html.fmg-outline-open {
  overflow: hidden;
  overscroll-behavior: none;
}

/* Shared-shell breakpoint changes affect indexed medical articles; keep runtime edits explicit and isolated. */
@media (min-width: 1280px) {
  body.fmg-article-nav--medical {
    --fmg-nav-desktop-timeline-pad-inline: 4px 6px;
  }

  .fmg-article-shell {
    display: block;
  }

  .fmg-article-main {
    width: 100%;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
  }

  .fmg-article-nav-desktop {
    display: block !important;
    width: var(--fmg-nav-rail-w);
    min-width: 0;
    max-width: var(--fmg-nav-rail-w);
    margin-left: 0;
    transform: none;
    z-index: 6;
  }

  .elementor-element.fmg-article-nav-desktop {
    position: sticky;
    top: var(--fmg-nav-sticky-top, 108px);
    width: 710px;
    max-width: 710px;
    height: 0;
    margin-left: auto;
    margin-right: auto;
    overflow: visible !important;
    pointer-events: none;
  }

  .elementor-element.fmg-article-nav-desktop .elementor-widget-container,
  .elementor-element.fmg-article-nav-desktop .elementor-shortcode {
    pointer-events: none;
  }

  [data-fmg-article-nav-root][data-fmg-nav-role="desktop"] {
    position: sticky;
    top: 0;
    margin-left: 0;
    margin-top: 0;
    width: var(--fmg-nav-rail-w);
    transform: translateX(calc(-100% - var(--fmg-nav-dock-gap) + (var(--fmg-nav-rail-w) - var(--fmg-nav-rail-base-w)))) translateY(var(--fmg-nav-rail-y-offset));
    pointer-events: auto;
  }

  .fmg-article-nav-mobile-mount {
    display: none !important;
  }
  body.fmg-article-nav--real-life [data-fmg-article-nav-root][data-fmg-nav-role="desktop"] {
    width: var(--fmg-nav-rail-w);
    max-width: var(--fmg-nav-rail-w);
  }
}

@media (min-width: 1440px) {
  :root {
    --fmg-nav-rail-w: 328px;
    --fmg-nav-rail-base-w: 285px;
    --fmg-nav-dock-gap: 68px;
  }
}

@media (min-width: 1600px) {
  :root {
    --fmg-nav-rail-w: 351px;
    --fmg-nav-rail-base-w: 305px;
    --fmg-nav-dock-gap: 72px;
  }
}

@media (max-width: 1279px) {
  .fmg-outline-sheet__scrim {
    background: transparent;
  }

  .fmg-article-shell {
    display: block;
  }

  .fmg-article-nav-desktop {
    display: none !important;
  }

  .fmg-article-nav-mobile-mount {
    display: block;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: var(--fmg-nav-z-mount);
    padding: 8px 10px calc(env(safe-area-inset-bottom, 0px) + 8px);
    border-top: 1px solid var(--fmg-nav-border);
    overflow: visible;
    overflow-x: visible;
    overflow-y: visible;
    touch-action: pan-y;
    overscroll-behavior-x: none;
    isolation: isolate;
    background-color: #f8f6ff;
    background: var(--fmg-nav-mobile-shell-bg);
  }

  .elementor-element.fmg-article-nav-mobile-mount,
  .fmg-article-nav-mobile-mount.elementor-element {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: var(--fmg-nav-z-mount) !important;
    overflow: visible !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
    contain: none !important;
    transform: none !important;
    -webkit-transform: none !important;
    will-change: auto !important;
  }

  .fmg-article-nav-mobile-mount::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background: var(--fmg-nav-mobile-shell-bg);
  }

  .fmg-article-nav-mobile-mount::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: calc(env(safe-area-inset-bottom, 0px) + 12px);
    pointer-events: none;
    z-index: 1;
    background: var(--fmg-nav-mobile-slab-bg);
  }

  .fmg-article-nav-mobile-mount .fmg-mobile-nav {
    position: relative;
    z-index: 2;
  }

  /* iOS focus zoom guard: keep mobile search controls at >=16px text. */
  .fmg-outline-sheet .fmg-article-nav-search {
    font-size: 16px;
    line-height: 1.28;
  }

  body.fmg-has-article-nav {
    padding-bottom: calc(var(--fmg-nav-inner-h) + env(safe-area-inset-bottom, 0px) + 16px);
  }

  body.fmg-outline-open [data-fmg-article-nav-root][data-fmg-nav-role="mobile"].is-sheet-open .fmg-mobile-nav {
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    transform: translateY(calc(env(safe-area-inset-bottom, 0px) + 18px));
  }

  body.fmg-has-article-nav.fmg-article-nav--real-life {
    padding-bottom: calc(var(--fmg-nav-inner-h) + env(safe-area-inset-bottom, 0px) + 10px);
  }
}

@media (min-width: 768px) and (max-width: 1279px) {
  .fmg-mobile-nav {
    max-width: 520px;
    margin: 0 auto;
  }

  .fmg-mobile-nav__bar {
    gap: 8px;
  }

  .fmg-mobile-nav__btn {
    min-width: 70px;
    min-height: 34px;
    font-size: 13px;
  }

  .fmg-mobile-nav__progress {
    min-width: 78px;
  }

  .fmg-outline-sheet {
    inset: 0;
  }

  .fmg-outline-sheet__panel {
    left: auto;
    right: 16px;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 14px);
    width: min(460px, calc(100vw - 34px));
    height: min(58vh, 500px);
    max-height: calc(100vh - 54px);
    border-radius: 24px;
    gap: 6px;
    padding-top: 8px;
  }

  .fmg-outline-sheet__header {
    min-height: 48px;
    padding: 6px 6px 3px;
  }

  .fmg-outline-sheet__search {
    top: 48px;
    padding: 0 8px 3px;
  }

  .fmg-outline-sheet__search .fmg-article-nav-search {
    min-height: 38px;
    padding-left: 12px;
    padding-right: 12px;
  }

  .fmg-outline-sheet__body {
    grid-template-columns: minmax(0, 1fr) 20px;
    gap: 2px;
    padding: 0 10px 0 12px;
  }

  .fmg-outline-sheet__list {
    padding: 2px 4px 4px 0;
    gap: 1px;
  }

  .fmg-outline-sheet__item {
    min-height: 34px;
    padding: 6px 10px 6px 20px;
    font-size: 12.6px;
    line-height: 1.16;
    border-radius: 12px;
  }

  .fmg-outline-sheet__item.is-active::before {
    left: 9px;
    top: 7px;
    bottom: 7px;
  }

  .fmg-outline-sheet__timeline {
    width: 20px;
    --fmg-rail-top: 8px;
    --fmg-rail-bottom: 8px;
    padding-inline: 3px;
  }

  .fmg-outline-sheet__dot {
    width: 9px;
    height: 9px;
    border-width: 1.25px;
  }

  body.fmg-article-nav--real-life .fmg-article-nav-mobile-mount {
    padding: 6px 10px calc(env(safe-area-inset-bottom, 0px) + 6px);
    background: linear-gradient(180deg, rgba(248, 243, 236, 0.24), rgba(247, 241, 233, 0.98) 48%);
  }

  body.fmg-article-nav--real-life .fmg-mobile-nav__progress {
    opacity: 0.72;
  }

  body.fmg-article-nav--real-life .fmg-outline-sheet__panel {
    border: 1px solid rgba(228, 210, 195, 0.92);
    box-shadow: 0 12px 30px rgba(48, 30, 18, 0.15);
  }

  body.fmg-article-nav--real-life .fmg-outline-sheet__dot.is-active {
    box-shadow:
      0 0 0 1.5px rgba(201, 136, 83, 0.12),
      0 2px 6px rgba(86, 49, 25, 0.14);
  }

  body.fmg-article-nav--medical .fmg-outline-sheet__body {
    grid-template-columns: minmax(0, 1fr) 22px;
    gap: 12px;
  }

  body.fmg-article-nav--medical .fmg-outline-sheet__list {
    padding-right: 2px;
  }

  body.fmg-article-nav--medical .fmg-outline-sheet__timeline {
    width: 22px;
    padding-inline: 4px;
  }
}

@media (min-width: 768px) and (max-width: 1100px) {
  .fmg-outline-sheet__panel {
    width: min(438px, calc(100vw - 38px));
    height: min(56vh, 472px);
    max-height: calc(100vh - 64px);
  }

  .fmg-outline-sheet__body {
    grid-template-columns: minmax(0, 1fr) 18px;
    gap: 1px;
  }

  .fmg-outline-sheet__item {
    min-height: 33px;
    padding: 6px 9px 6px 18px;
    font-size: 12.4px;
    line-height: 1.14;
  }

  .fmg-outline-sheet__timeline {
    width: 18px;
  }

  .fmg-outline-sheet__dot {
    width: 8px;
    height: 8px;
  }

  body.fmg-article-nav--real-life .fmg-outline-sheet__item {
    color: #5e4739;
  }

  body.fmg-article-nav--medical .fmg-outline-sheet__body {
    grid-template-columns: minmax(0, 1fr) 22px;
    gap: 12px;
  }

  body.fmg-article-nav--medical .fmg-outline-sheet__timeline {
    width: 22px;
    padding-inline: 4px;
  }
}

@media (max-width: 767px) {
  .fmg-mobile-nav__bar {
    gap: 8px;
    padding: 7px 8px;
  }

  .fmg-mobile-nav__btn {
    min-width: 72px;
    padding: 0 10px;
  }

  .fmg-outline-sheet__body {
    grid-template-columns: minmax(0, 1fr) 32px;
    gap: 8px;
  }

  .fmg-outline-sheet__list {
    padding: 6px 8px 6px 2px;
    gap: 6px;
  }

  .fmg-outline-sheet__item {
    min-height: 48px;
    padding: 10px 16px 10px 36px;
    font-size: 15px;
    line-height: 1.26;
    border-radius: 14px;
  }

  .fmg-outline-sheet__item.is-active::before {
    left: 16px;
    top: 11px;
    bottom: 11px;
  }

  .fmg-outline-sheet__timeline {
    width: 32px;
    padding-inline: 0;
  }

  .fmg-outline-sheet__dot {
    width: 16px;
    height: 16px;
    border-width: 2px;
  }

  body.fmg-article-nav--real-life .fmg-article-nav-mobile-mount {
    padding: 6px 8px calc(env(safe-area-inset-bottom, 0px) + 6px);
  }
}

@supports (height: 100dvh) {
  .fmg-outline-sheet__panel {
    height: clamp(430px, 82dvh, 760px);
    max-height: calc(100dvh - 8px);
  }
}

@supports (height: 100dvh) {
  @media (min-width: 768px) and (max-width: 1279px) {
    .fmg-outline-sheet__panel {
      height: min(58dvh, 500px);
      max-height: calc(100dvh - 54px);
    }
  }

  @media (min-width: 768px) and (max-width: 1100px) {
    .fmg-outline-sheet__panel {
      height: min(56dvh, 472px);
      max-height: calc(100dvh - 64px);
    }
  }
}

@media (prefers-reduced-motion: reduce) {
  .fmg-outline-sheet,
  .fmg-outline-sheet__panel,
  .fmg-article-nav-link,
  .fmg-nav-btn,
  .fmg-mobile-nav__btn,
  .fmg-mobile-nav__fill,
  .fmg-mobile-nav__tick,
  .fmg-outline-sheet__item,
  .fmg-outline-sheet__dot {
    transition: none !important;
  }
}
