/* Shared research workspace. Section-specific readers own their content layout. */
body.experience {
  color-scheme: light;
  --ink: #302d3b;
  --ink-strong: #24212e;
  --muted: #777382;
  --line: #e7e4ec;
  --line-soft: #efedf2;
  --bg: #faf9f7;
  --surface: #fff;
  --accent: #7654eb;
  --accent-dark: #6140d2;
  --accent-soft: #f0ebff;
  --blue: #6750cb;
  --shadow: 0 3px 14px rgb(36 28 64 / 4%);
  --shadow-hover: 0 8px 22px rgb(36 28 64 / 7%);
  --radius: 14px;
  --motion-fast: 180ms;
  --motion-base: 320ms;
  --motion-panel: 420ms;
  --ease-mac: cubic-bezier(.22, 1, .36, 1);
  --shell-nav-width: 190px;
  --shell-gutter: clamp(24px, 2.8vw, 44px);
  margin: 0;
  min-width: 320px;
  min-height: 100dvh;
  color: var(--ink);
  background: var(--bg) !important;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Noto Sans CJK SC", sans-serif;
  font-size: 14px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.experience[data-section="evidence"] { --accent: #da674c; --accent-dark: #b94f38; --accent-soft: #fff0ea; }
body.experience[data-section="datasets"] { --accent: #139b87; --accent-dark: #087965; --accent-soft: #e8f7f1; }
body.experience[data-section="methods"] { --accent: #7961de; --accent-dark: #6147bd; --accent-soft: #f0ecff; }
body.experience[data-section="courses"] { --accent: #bd8125; --accent-dark: #946017; --accent-soft: #fff5e3; }
body.experience[data-section="proposals"] { --accent: #be5793; --accent-dark: #983d73; --accent-soft: #fcedf5; }
body.experience[data-section="documents"] { --accent: #6374cd; --accent-dark: #4d5eb4; --accent-soft: #eff1fd; }

body.experience::before,
body.experience::after,
body.experience .site-dock::before,
body.experience .site-dock::after,
body.experience .mark::before,
body.experience .mark::after {
  content: none !important;
  display: none !important;
  animation: none !important;
}

body.experience :is(button, a, input, select, textarea, summary):focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}
body.experience ::selection { color: var(--ink-strong); background: #e6dcff; }
body.experience a { color: var(--blue); text-decoration-color: #c4b6e5; }
body.experience button { -webkit-tap-highlight-color: transparent; }
body.experience button:disabled { cursor: default; }

/* Shell */
body.experience:not(.presentation) > .site-dock {
  position: fixed !important;
  inset: 0 auto 0 0 !important;
  z-index: 30;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0 !important;
  width: var(--shell-nav-width) !important;
  height: 100dvh !important;
  max-height: 100dvh !important;
  margin: 0 !important;
  padding: 26px 12px 20px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  border: 0 !important;
  border-right: 1px solid #e9e6ec !important;
  border-radius: 0 !important;
  color: var(--ink) !important;
  background: #f2f0f5 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  scrollbar-width: thin;
}
body.experience:not(.presentation) .site-dock .brand {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  min-height: 44px;
  padding: 0 8px;
  color: var(--ink-strong);
  font-size: 13px;
  font-weight: 690;
  line-height: 1.35;
  letter-spacing: 0;
}
body.experience:not(.presentation) .brand small {
  display: inline-block;
  margin-top: 1px;
  color: #86808e;
  font-size: 10px;
  font-weight: 550;
  letter-spacing: .08em;
}
body.experience:not(.presentation) .mark {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border: 0;
  border-radius: 11px;
  color: #fff;
  background: #7b57ec;
  box-shadow: 0 3px 8px rgb(110 77 195 / 15%);
  font-size: 12px;
  font-weight: 760;
  letter-spacing: .01em;
}
body.experience:not(.presentation) .site-dock nav {
  display: flex !important;
  flex: 0 0 auto !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 5px !important;
  width: 100%;
  min-width: 0;
  margin: 29px 0 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  white-space: normal !important;
}
body.experience:not(.presentation) .site-dock nav::before { content: none !important; display: none !important; }
body.experience:not(.presentation) .site-dock nav button {
  --nav-tone: #7a61ca;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  width: 100% !important;
  min-height: 42px !important;
  margin: 0;
  padding: 10px 11px !important;
  border: 0 !important;
  border-radius: 11px !important;
  color: #6a6375 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 580 !important;
  line-height: 1.4;
  text-align: left !important;
  transform: none !important;
  transition: background var(--motion-fast) var(--ease-mac), color var(--motion-fast) var(--ease-mac), box-shadow var(--motion-base) var(--ease-mac) !important;
}
body.experience .site-dock nav [data-view="library"] { --nav-tone: #7654eb; }
body.experience .site-dock nav [data-view="evidence"] { --nav-tone: #da674c; }
body.experience .site-dock nav [data-view="datasets"] { --nav-tone: #139b87; }
body.experience .site-dock nav [data-view="methods"] { --nav-tone: #7961de; }
body.experience .site-dock nav [data-view="courses"] { --nav-tone: #bd8125; }
body.experience .site-dock nav [data-view="proposals"] { --nav-tone: #be5793; }
body.experience .site-dock nav [data-view="documents"] { --nav-tone: #6374cd; }
body.experience:not(.presentation) .site-dock nav button:hover { background: #e9e5ef !important; color: var(--ink-strong) !important; }
body.experience:not(.presentation) .site-dock nav button.active {
  color: #342b46 !important;
  background: #fff !important;
  box-shadow: 0 1px 4px rgb(49 37 75 / 7%), 0 0 0 1px rgb(69 52 94 / 3%) !important;
  font-weight: 660 !important;
}
body.experience .nav-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 19px;
  width: 19px;
  height: 19px;
  color: var(--nav-tone);
}
body.experience .nav-icon svg { display: block; width: 18px; height: 18px; }
body.experience .nav-label { min-width: 0; white-space: nowrap; }
body.experience:not(.presentation) .dock-hint { display: none !important; }

body.experience:not(.presentation) > main {
  position: relative;
  z-index: 1;
  width: calc(100% - var(--shell-nav-width));
  max-width: none !important;
  min-width: 0;
  min-height: 100dvh;
  margin: 0 0 0 var(--shell-nav-width) !important;
  padding: 24px var(--shell-gutter) 60px !important;
}
body.experience:not(.presentation) .page-topbar {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  min-height: 44px !important;
  height: auto !important;
  margin: 0 0 22px !important;
  padding: 0 0 15px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
body.experience:not(.presentation) .topbar-title-group {
  display: flex;
  flex-direction: row !important;
  flex: 1 1 auto;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 5px 16px;
  min-width: 0;
}
body.experience:not(.presentation) .topbar-badge { display: none; }
body.experience:not(.presentation) .page-topbar h1 {
  flex: 0 0 auto;
  margin: 0 !important;
  color: var(--ink-strong) !important;
  font-size: 22px !important;
  font-weight: 730 !important;
  line-height: 1.35 !important;
  letter-spacing: -.035em !important;
}
body.experience:not(.presentation) .topbar-sub {
  flex: 1 1 380px;
  margin: 0 !important;
  color: var(--muted) !important;
  font-size: 11px !important;
  line-height: 1.65 !important;
}
body.experience:not(.presentation) .topbar-actions { flex: 0 0 auto; width: auto !important; gap: 8px; }
body.experience:not(.presentation) .btn-present {
  width: auto !important;
  min-height: 32px !important;
  padding: 5px 10px !important;
  border: 0 !important;
  border-radius: 9px !important;
  color: #78707f !important;
  background: #f0edf3 !important;
  box-shadow: none !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  transform: none !important;
}
body.experience:not(.presentation) .btn-present:hover { color: var(--accent-dark) !important; background: var(--accent-soft) !important; }
body.experience:not(.presentation) #content { min-width: 0; }
body.experience:not(.presentation) #content > :is(.intro, .stats, .toolbar, .mm-root, .stlab) { animation: none; }

/* Common controls and reading surfaces */
body.experience:not(.presentation) .btn {
  min-height: 34px;
  border-color: #e3dfe9;
  border-radius: 9px;
  color: #655b73;
  background: #fff;
  box-shadow: none;
  font-size: 12px;
  font-weight: 600;
  transition: color var(--motion-fast) var(--ease-mac), background var(--motion-fast) var(--ease-mac), border-color var(--motion-fast) var(--ease-mac), transform var(--motion-fast) var(--ease-mac);
}
body.experience:not(.presentation) .btn:hover { background: var(--accent-soft); border-color: #d4cae6; color: var(--accent-dark); box-shadow: none; }
body.experience:not(.presentation) .btn.primary { border-color: var(--accent); color: #fff; background: var(--accent); }
body.experience:not(.presentation) .btn.primary:hover { border-color: var(--accent-dark); background: var(--accent-dark); }
body.experience:not(.presentation) .intro { color: var(--muted); font-size: 13px; line-height: 1.8; margin-bottom: 18px; }
body.experience:not(.presentation) :is(.panel, .claim, .clean-doc-card, .doc-card) { border-color: transparent; background: transparent; box-shadow: none; }
body.experience:not(.presentation) :is(.panel, .claim, .clean-doc-card, .doc-card):hover { box-shadow: none; }
body.experience:not(.presentation) .toolbar { border: 0; border-radius: 0; background: transparent; box-shadow: none; }
body.experience:not(.presentation) :is(.notice, .evidence-context) { border-color: transparent; border-left-color: var(--accent); background: var(--accent-soft); color: #6c5c75; box-shadow: none; }
body.experience:not(.presentation) .table-wrap { border: 0; border-radius: 0; box-shadow: none; background: transparent; }
body.experience:not(.presentation) .table-wrap table { background: transparent; }
body.experience:not(.presentation) .table-wrap th { color: #79717f; background: #f0edf2; font-size: 11px; }
body.experience:not(.presentation) .table-wrap :is(th, td) { border-bottom-color: var(--line); }
body.experience:not(.presentation) .table-wrap :is(th + th, td + td) { border-left-color: transparent; }
body.experience:not(.presentation) .table-wrap tbody tr:hover td { background: #f6f2fb; }

/* Native dialog: a document drawer; data-closing is managed by app.js. */
body.experience #detail {
  position: fixed !important;
  inset: 12px 12px 12px auto !important;
  width: min(600px, calc(100vw - 24px)) !important;
  max-width: none !important;
  height: calc(100dvh - 24px) !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 30px 34px 48px !important;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  border: 1px solid rgb(255 255 255 / 80%) !important;
  border-radius: 20px !important;
  color: var(--ink);
  background: #fff !important;
  box-shadow: 0 18px 80px rgb(36 26 57 / 15%), 0 1px 6px rgb(36 26 57 / 6%) !important;
}
body.experience #detail::before { content: none !important; display: none !important; }
body.experience #detail::backdrop { background: rgb(44 36 59 / 16%); backdrop-filter: blur(3px); }
body.experience #detail[open] { animation: ex-drawer-enter var(--motion-panel) var(--ease-mac) both; }
body.experience #detail[open]::backdrop { animation: ex-backdrop-enter var(--motion-panel) var(--ease-mac) both; }
body.experience #detail[data-closing] { animation: ex-drawer-exit var(--motion-base) var(--ease-mac) both; pointer-events: none; }
body.experience #detail[data-closing]::backdrop { animation: ex-backdrop-exit var(--motion-base) var(--ease-mac) both; }
body.experience #closeDetail {
  position: sticky !important;
  top: 0 !important;
  right: auto !important;
  z-index: 3;
  display: grid;
  float: right;
  place-items: center;
  width: 32px;
  height: 32px;
  margin: -10px -14px 0 12px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: #8d8495;
  background: #f4f1f6;
  box-shadow: none;
  font-size: 22px;
  line-height: 1;
  transition: background var(--motion-fast) var(--ease-mac), color var(--motion-fast) var(--ease-mac);
}
body.experience #closeDetail:hover { color: #514258; background: #eae3f1; }
body.experience #detailContent { min-width: 0; }
body.experience #detail .eyebrow { color: #95849e; font-size: 10px; letter-spacing: .05em; }
body.experience #detail h2 { padding-right: 26px; color: var(--ink-strong); font-size: 23px; line-height: 1.5; letter-spacing: -.025em; }
body.experience #detail h3 { color: #514258; font-size: 15px; margin: 29px 0 10px; }
body.experience #detail :is(p, dd, li) { font-size: 13px; line-height: 1.9; }
body.experience #detail dt { color: #8b788d; font-size: 11px; margin-top: 20px; }
body.experience #detail dd { color: #4c4456; }
body.experience #detail .button-row { margin: 17px 0 26px; gap: 7px; }
body.experience #detail details { padding: 11px 0; border: 0; border-top: 1px solid var(--line-soft); border-radius: 0; background: transparent; }
body.experience #detail details summary { color: #675772; font-size: 12px; font-weight: 600; }
body.experience #detail .chip { border: 0; color: #8a6593; background: #f4eef7; }
body.experience #detail img { max-width: 100%; height: auto; }
body.experience #detail pre { color: #51445c; border-color: #eae4ef; background: #f8f5fa; }
@keyframes ex-drawer-enter { from { opacity: 0; transform: translate3d(42px, 0, 0) scale(.985); } to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); } }
@keyframes ex-drawer-exit { from { opacity: 1; transform: translate3d(0, 0, 0) scale(1); } to { opacity: 0; transform: translate3d(48px, 0, 0) scale(.99); } }
@keyframes ex-backdrop-enter { from { opacity: 0; } to { opacity: 1; } }
@keyframes ex-backdrop-exit { from { opacity: 1; } to { opacity: 0; } }
@keyframes ex-sheet-enter { from { opacity: 0; transform: translate3d(0, 44px, 0); } to { opacity: 1; transform: translate3d(0, 0, 0); } }
@keyframes ex-sheet-exit { from { opacity: 1; transform: translate3d(0, 0, 0); } to { opacity: 0; transform: translate3d(0, 56px, 0); } }

/* Existing method atlas: SVG behavior and all long-form reading are retained. */
body.experience:not(.presentation) .mm-root {
  --mm-ink: #302c40;
  --mm-muted: #766c80;
  --mm-line: #e8e0ee;
  --mm-teal: #7654db;
  --mm-paper: #fff;
  max-width: none;
  color: var(--mm-ink);
}
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-overview {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 24px;
  margin: 0 0 22px;
  padding: 2px 0 18px;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  color: var(--ink);
  background: transparent;
  box-shadow: none;
}
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-overview::after,
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-atlas::before,
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-graph-shell::before,
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-graph-shell::after { content: none; display: none; }
body.experience:not(.presentation) :is(.mm-overview-kicker, .mm-overline, .mm-section-kicker) { color: #796787; font-size: 9px; letter-spacing: .13em; }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-overview h2 { margin: 5px 0 7px; color: var(--ink-strong); font-size: 25px; line-height: 1.4; }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-overview > p { margin: 0; max-width: 78ch; color: var(--mm-muted); font-size: 12px; line-height: 1.8; }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-metrics { display: flex; gap: 20px; align-self: center; margin: 0; }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-metrics > div { display: block; min-width: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; backdrop-filter: none; transform: none; }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-metrics strong { color: #78618f; font-size: 24px; font-weight: 650; }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-metrics span { display: block; margin-top: 5px; color: var(--mm-muted); font-size: 10px; }
body.experience:not(.presentation) .mm-guide { border-color: #eee7f4; color: var(--ink); background: #f8f5fc; }
body.experience:not(.presentation) :is(.mm-atlas, .mm-overview-detail, .mm-group-cards article, .mm-directory, .mm-article, .mm-neighbors) { border: 0; border-radius: 0; background: transparent; box-shadow: none; backdrop-filter: none; }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-atlas { overflow: visible; }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-atlas-heading { gap: 18px; padding: 0 0 14px; }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-atlas-heading h2 { margin: 4px 0; color: var(--ink-strong); font-size: 18px; }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-atlas-heading p:not(.mm-overline) { color: var(--mm-muted); font-size: 12px; }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-atlas-count { padding: 5px 0; border: 0; background: transparent; box-shadow: none; color: #7a6c87; font-size: 11px; }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-controls { align-items: end; gap: 10px; padding: 0 0 14px; }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-controls label { min-width: 150px; color: #796787; font-size: 10px; font-weight: 600; }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-controls label:first-child { flex: 1.4; }
body.experience:not(.presentation) .mm-controls :is(input, select) { height: 36px; padding: 6px 10px; border-color: #e5dcec; border-radius: 9px; color: #665471; background: #fff; box-shadow: none; font-size: 12px; }
body.experience:not(.presentation) .mm-controls :is(input, select):focus { border-color: #bca2da; background: #fff; box-shadow: 0 0 0 3px #eee6f8; }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-reset { height: 36px; padding: 0 10px; border-color: transparent; border-radius: 9px; color: #77588d; background: #f1eaf7; box-shadow: none; font-size: 11px; transition: background var(--motion-fast) var(--ease-mac), color var(--motion-fast) var(--ease-mac); }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-reset:hover { color: #704b91; border-color: transparent; background: #e8ddf4; box-shadow: none; transform: none; }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-graph-shell {
  margin: 0;
  border: 1px solid #e8e1ed;
  border-radius: 18px;
  background-color: #fff;
  background-image: radial-gradient(circle, #dcd5e4 .7px, transparent .85px);
  background-size: 22px 22px;
  box-shadow: none;
}
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-graph { min-height: 500px; }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-graph svg { min-height: 500px; max-height: 680px; }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-graph svg .mm-edge { stroke: #b8a4cb; stroke-opacity: .36; filter: none; transition: stroke-opacity var(--motion-fast) var(--ease-mac), stroke-width var(--motion-fast) var(--ease-mac); }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-graph svg .mm-edge.is-focused { stroke: #9461bc; stroke-opacity: .95; filter: none; }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-graph svg .mm-edge.is-muted { stroke-opacity: .09; }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-group-plate { fill: #fff; stroke: #e6d7f0; filter: none; }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-cluster text { fill: #8a6a9f; stroke: #fff; }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-node .mm-node-dot { filter: drop-shadow(0 2px 3px #44335416); }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-node .mm-node-halo { filter: none; }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-node.is-selected .mm-node-halo { fill-opacity: .28; animation: none; filter: none; }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-node.is-selected .mm-node-dot { stroke: #715486; filter: drop-shadow(0 2px 5px #70548b26); }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-node-label { fill: #725682; stroke: #fff; }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-node-label.is-selected { fill: #7348a1; }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-tooltip { border-color: #eee6f5; color: #63516f; background: #ffffffed; box-shadow: 0 4px 16px #5a397b13; }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-tooltip span { color: #796386; }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-graph-tools { border-color: #ebe3f1; border-radius: 10px; background: #ffffffec; box-shadow: 0 2px 8px #5a397b08; }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-graph-tools button { border-color: transparent; border-radius: 7px; color: #77578f; background: #f5f0fa; }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-graph-tools button:hover { border-color: transparent; color: #754599; background: #ede1f7; box-shadow: none; transform: none; }
body.experience:not(.presentation) .mm-graph-status { margin: 10px 0 0; color: #7b6b86; font-size: 10px; }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-legend { gap: 6px; padding: 14px 0 18px; }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-legend button { padding: 6px 9px; border-color: transparent; border-radius: 8px; color: #775e87; background: #f3edf8; box-shadow: none; backdrop-filter: none; font-size: 10px; }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-legend button:hover { border-color: transparent; color: #77548f; background: #eae0f3; box-shadow: none; transform: none; }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-legend i { width: 7px; height: 7px; box-shadow: none; }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-legend span { color: #83708e; }

body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-inspector {
  border: 1px solid #e9dff0;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 14px 48px #63457c1e, 0 3px 12px #63457c10;
  animation: none !important;
}
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-inspector-head { min-height: 44px; padding: 9px 12px 9px 18px; border-bottom: 1px solid #eee6f4; color: #756083; background: #faf7fd; box-shadow: none; }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-inspector-label { color: #7c638a; font-size: 9px; letter-spacing: .1em; }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-inspector-actions button { width: 28px; height: 28px; border: 0; border-radius: 7px; color: #7f6294; background: #f0e8f7; transition: background var(--motion-fast) var(--ease-mac), color var(--motion-fast) var(--ease-mac); }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-inspector-actions button:hover { color: #765192; background: #e6d9f1; transform: none; }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-inspector-content { padding: 23px 26px 32px; background: #fff; scrollbar-width: thin; }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-inspector-title { color: #594265; font-size: 25px; }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-panel-kicker { color: #80628f; }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-full-reader { border: 0; color: #805096; background: #f5ecfb; }
body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-full-reader:hover { color: #7f499c; background: #eee0f6; transform: none; }
body.experience:not(.presentation) .mm-panel-meta span { border: 0; color: #7e638d; background: #f6f0fa; }
body.experience:not(.presentation) .mm-panel-toc { border-color: #f0e9f4; }
body.experience:not(.presentation) .mm-panel-toc details { border: 0; background: #faf6fd; }
body.experience:not(.presentation) .mm-panel-toc summary { color: #805a93; }
body.experience:not(.presentation) .mm-panel-toc-items button { border: 0; color: #805d91; background: #fff; }
body.experience:not(.presentation) .mm-panel-toc-items button:hover { background: #f1e7f8; }
body.experience:not(.presentation) .mm-panel-body { color: #65556e; font-size: 14px; line-height: 1.9; }
body.experience:not(.presentation) .mm-panel-body :is(h1, h2, h3, h4) { color: #7d508e; }
body.experience:not(.presentation) .mm-panel-body h2 { border-top-color: #eee3f4; }
body.experience:not(.presentation) .mm-panel-body a { color: #82549b; text-decoration-color: #d4bbdf; }
body.experience:not(.presentation) .mm-panel-body blockquote { border-left-color: #c599d8; color: #795b89; background: #faf3fd; }
body.experience:not(.presentation) .mm-panel-body pre { border-color: #eee4f4; color: #816491; background: #faf6fc; box-shadow: none; }
body.experience:not(.presentation) .mm-panel-body code:not(pre code) { color: #83559c; background: #f5ecfb; }
body.experience:not(.presentation) .mm-panel-body th { border-color: #eee4f4; color: #825f92; background: #f6f0fa; }
body.experience:not(.presentation) .mm-panel-body td { border-color: #f0e9f5; }
body.experience:not(.presentation) .mm-panel-body tr:nth-child(even) td { background: #fdfafe; }
body.experience:not(.presentation) :is(.mm-panel-loading, .mm-panel-notice) { border-left-color: #c299d2; color: #7f6390; background: #faf4fd; }
body.experience:not(.presentation) :is(.mm-panel-source-note, .mm-source-depth) { color: #82718e; }
body.experience:not(.presentation) .mm-source { border-color: #ebdef2; color: #815b96; background: #fdf9ff; }
body.experience:not(.presentation) .mm-source:hover { border-color: #ddc6e8; background: #f5ebfb; }
body.experience:not(.presentation) .mm-source-strong { border-color: #8a60aa; color: #fff; background: #8a60aa; }
body.experience:not(.presentation) .mm-source-strong:hover { color: #fff; background: #7b509b; }
body.experience:not(.presentation) .mm-relation-methods button { border: 0; color: #7e5d90; background: #f6eefb; }
body.experience:not(.presentation) .mm-relation-methods button:hover { background: #eee0f6; transform: none; }

body.experience:not(.presentation) .mm-overview-detail { margin-top: 30px; padding: 24px 0; border-top: 1px solid var(--line); }
body.experience:not(.presentation) .mm-overview-detail .mm-overview-sections section { padding: 0 0 18px; border: 0; border-bottom: 1px solid var(--line-soft); border-radius: 0; background: transparent; box-shadow: none; backdrop-filter: none; transform: none; }
body.experience:not(.presentation) .mm-overview-sections h3 { color: #79558e; font-size: 14px; }
body.experience:not(.presentation) .mm-overview-sections p { color: #73627e; font-size: 13px; }
body.experience:not(.presentation) .mm-axes > div:nth-child(1) { background: #f2ebfa; }
body.experience:not(.presentation) .mm-axes > div:nth-child(2) { background: #edf7f4; }
body.experience:not(.presentation) .mm-axes > div:nth-child(3) { background: #fff2eb; }
body.experience:not(.presentation) .mm-axes h3 { color: #7a5e8b; }
body.experience:not(.presentation) .mm-axes span { color: #7c618b; background: #ffffffb3; }
body.experience:not(.presentation) .mm-group-cards { gap: 12px 24px; }
body.experience:not(.presentation) .mm-group-cards article { padding: 16px 0; border-bottom: 1px solid var(--line-soft); transform: none; }
body.experience:not(.presentation) .mm-group-cards article:hover { background: transparent; box-shadow: none; transform: none; }
body.experience:not(.presentation) .mm-group-number { box-shadow: none; }
body.experience:not(.presentation) .mm-group-cards h3 { color: #79558d; font-size: 15px; }
body.experience:not(.presentation) .mm-group-cards p { color: #776882; font-size: 12px; }
body.experience:not(.presentation) .mm-group-cards :is(.mm-group-question, button) { color: #805a95; }
body.experience:not(.presentation) .mm-reading { grid-template-columns: minmax(0, 1fr) 280px; gap: 28px; margin-top: 34px; }
body.experience:not(.presentation) .mm-article { padding: 0 0 26px; }
body.experience:not(.presentation) .mm-article h3 { color: #765187; }
body.experience:not(.presentation) .mm-prose h4 { color: #7c5b90; }
body.experience:not(.presentation) .mm-prose p { color: #6c5c78; }
body.experience:not(.presentation) .mm-neighbors { padding: 22px 0; border-top: 1px solid var(--line); }
body.experience:not(.presentation) .mm-neighbors :is(h3, strong) { color: #7e568f; }
body.experience:not(.presentation) .mm-neighbors button { border-top-color: #f0e9f5; color: #796c84; }
body.experience:not(.presentation) .mm-relation-type { color: #875da0; }
body.experience:not(.presentation) .mm-directory { border-left: 1px solid var(--line); }
body.experience:not(.presentation) .mm-directory-header { padding: 15px 16px; border-bottom-color: #eee7f3; background: #f8f4fc; }
body.experience:not(.presentation) .mm-directory :is(h2, p) { color: #805e96; }
body.experience:not(.presentation) .mm-method-entry { border-bottom-color: #f0eaf5; background: transparent; color: #766082; transition: background var(--motion-fast) var(--ease-mac); }
body.experience:not(.presentation) .mm-method-entry:hover { padding-left: 18px; background: #f8f1fc; }
body.experience:not(.presentation) .mm-method-entry.active { background: #f3e8fa; box-shadow: inset 2px 0 #c196d5; }
body.experience:not(.presentation) .mm-method-entry small { color: #7d6988; }
body.experience:not(.presentation) .mm-edge-detail { border: 0; color: #7e5f91; background: #f7effc; }

/* Tablet: a compact, horizontal navigation surface. */
@media (max-width: 980px) {
  body.experience { --shell-gutter: 24px; }
  body.experience:not(.presentation) > .site-dock {
    position: sticky !important;
    inset: auto !important;
    top: 0 !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    padding: 13px 20px 11px !important;
    border-right: 0 !important;
    border-bottom: 1px solid #e7e2eb !important;
    background: #faf8fced !important;
    backdrop-filter: blur(18px) saturate(1.1) !important;
  }
  body.experience:not(.presentation) .site-dock .brand { min-height: 32px; padding: 0 3px; font-size: 11px; gap: 8px; }
  body.experience:not(.presentation) .brand small { font-size: 9px; }
  body.experience:not(.presentation) .mark { width: 30px; height: 30px; flex-basis: 30px; border-radius: 9px; font-size: 10px; }
  body.experience:not(.presentation) .site-dock nav {
    flex-direction: row !important;
    align-items: center !important;
    gap: 4px !important;
    margin: 10px 0 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none;
    scroll-padding-inline: 8px;
    scroll-snap-type: x proximity;
  }
  body.experience:not(.presentation) .site-dock nav button { flex: 0 0 auto; width: auto !important; min-height: 35px !important; padding: 8px 10px !important; gap: 6px; font-size: 11px !important; scroll-snap-align: center; white-space: nowrap; }
  body.experience .nav-icon { width: 16px; height: 16px; flex-basis: 16px; }
  body.experience .nav-icon svg { width: 16px; height: 16px; }
  body.experience:not(.presentation) > main { width: 100%; min-height: calc(100dvh - 106px); margin: 0 !important; padding: 20px var(--shell-gutter) 50px !important; }
  body.experience:not(.presentation) .topbar-sub { flex-basis: 100%; font-size: 11px !important; }
  body.experience:not(.presentation) .page-topbar { margin-bottom: 20px !important; padding-bottom: 14px !important; }
  body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-overview { grid-template-columns: minmax(0, 1fr); }
  body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-metrics { grid-column: 1; grid-row: 4; gap: 25px; margin-top: 14px; }
  body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-metrics > div { display: flex; align-items: baseline; gap: 7px; }
  body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-metrics strong { font-size: 19px; }
  body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-metrics span { margin: 0; }
}

@media (max-width: 750px) {
  body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-atlas-heading { flex-direction: column; align-items: flex-start; gap: 0; }
  body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-atlas-count { display: inline; }
  body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-controls { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
  body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-controls label { min-width: 0; grid-column: span 3; }
  body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-controls label:first-child { grid-column: 1 / -1; }
  body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-controls .mm-reset { grid-column: span 2; min-width: 0; padding: 0 4px; font-size: 10px; }
  body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-graph { min-height: 390px; }
  body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-graph svg { min-height: 390px; height: 390px; }
  body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-inspector { border-radius: 19px 19px 0 0; box-shadow: 0 -10px 42px #76538820; }
  body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-inspector-content { padding: 21px 22px 34px; }
  body.experience:not(.presentation) .mm-reading { grid-template-columns: 1fr; gap: 24px; }
  body.experience:not(.presentation) .mm-directory { border-left: 0; border-top: 1px solid var(--line); }
}

@media (max-width: 600px) {
  body.experience { --shell-gutter: 17px; }
  body.experience:not(.presentation) > .site-dock { padding: 11px 13px 10px !important; }
  body.experience:not(.presentation) .site-dock nav { margin-top: 8px !important; }
  body.experience:not(.presentation) .site-dock nav button { padding: 7px 9px !important; min-height: 34px !important; font-size: 10px !important; gap: 5px; }
  body.experience:not(.presentation) .site-dock .brand { min-height: 30px; }
  body.experience:not(.presentation) > main { padding-top: 18px !important; }
  body.experience:not(.presentation) .page-topbar { align-items: flex-start !important; gap: 10px !important; }
  body.experience:not(.presentation) .page-topbar h1 { font-size: 21px !important; }
  body.experience:not(.presentation) .topbar-sub { font-size: 10px !important; }
  body.experience:not(.presentation) .btn-present { min-height: 29px !important; padding: 5px 7px !important; font-size: 10px !important; }
  body.experience #detail { inset: auto 0 0 !important; width: 100% !important; height: 88dvh !important; border-radius: 22px 22px 0 0 !important; padding: 27px 23px 44px !important; }
  body.experience #detail[open] { animation-name: ex-sheet-enter; }
  body.experience #detail[data-closing] { animation-name: ex-sheet-exit; }
  body.experience #detail h2 { font-size: 21px; }
  body.experience #closeDetail { margin-right: -8px; }
  body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-overview h2 { font-size: 22px; }
  body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-overview > p { font-size: 11px; }
  body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-metrics { gap: 16px; }
  body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-graph-shell { border-radius: 13px; }
  body.experience:not(.presentation) .mm-panel-body { font-size: 13px; }
  body.experience:not(.presentation) .mm-group-cards { grid-template-columns: 1fr; }
}

@media (max-width: 380px) {
  body.experience:not(.presentation) .page-topbar { flex-wrap: wrap !important; }
  body.experience:not(.presentation) .topbar-actions { margin-left: auto; }
  body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-metrics { gap: 12px; }
  body.experience:not(.presentation) .mm-root:not(.mm-explorer) .mm-metrics span { font-size: 9px; }
}

@media (prefers-reduced-motion: reduce) {
  body.experience { --motion-fast: 1ms; --motion-base: 1ms; --motion-panel: 1ms; }
  body.experience *, body.experience *::before, body.experience *::after { animation-duration: 1ms !important; animation-iteration-count: 1 !important; transition-duration: 1ms !important; scroll-behavior: auto !important; }
  body.experience #detail, body.experience .mm-inspector { transform: none !important; }
}

body.experience .mm-root .mm-overline,body.experience .mm-root .mm-id { display:none; }
body.experience .mm-graph-status { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }

@media (max-width:600px) { body.experience:not(.presentation) .site-dock nav button { font-size:11px!important; } body.experience:not(.presentation) .topbar-sub { font-size:12px!important; } body.experience:not(.presentation) .btn-present { font-size:11px!important; } }

body.experience .sx-intro .sx-kicker,body.experience .sx-doc-code,body.experience .sx-resource-name>.sx-small,body.experience .sx-paper-ref { display:none; }
body.experience .sx-intro .sx-lead {margin-top:0!important;font-size:14px;}
body.experience .sx-proposal-column dd,body.experience .sx-calculation p,body.experience .sx-roadmap p {font-size:13px;color:#615966;}
body.experience .sx-doc-actions .sx-link,body.experience .sx-doc-topic,body.experience .sx-cohort-nav>button small {font-size:11px;}
body.experience .sx-doc-topic {margin-left:0;}
body.experience .sx-table {font-size:13px;}
body.experience .sx-table th,body.experience .sx-proposal-column dt,body.experience .sx-relation>div>span {font-size:11px;}
@media(max-width:580px){body.experience .sx-table .sx-resource-row td,body.experience .sx-calculation p,body.experience .sx-scope {font-size:13px;} body.experience .sx-doc-title {font-size:13px;} body.experience .sx-doc-actions .sx-link {font-size:11px;} body.experience .sx-resource-row td[data-label]:before {font-size:11px;}}

/* Presentation uses an open reading canvas and one floating navigation bar. */
body.experience.presentation > main {max-width:1320px;margin:0 auto;padding:46px 42px 32px;}
body.experience.presentation .page-topbar {display:none!important;}
body.experience.presentation .presentation-stage {padding:0;margin:0;max-width:none;}
body.experience.presentation .presentation-slide-deck {border:0;border-radius:0;background:transparent;box-shadow:none;padding:0;min-height:calc(100dvh - 166px);}
body.experience.presentation .ps-header {padding-bottom:24px;margin-bottom:28px;border-bottom:1px solid #e7e1eb;}
body.experience.presentation .ps-title {font-size:36px;line-height:1.45;color:#302d3b;letter-spacing:-.8px;}
body.experience.presentation .ps-subtitle {font-size:16px;line-height:1.8;color:#7a7084;}
body.experience.presentation .ps-tagline {font-size:12px;color:#7961de;}
body.experience.presentation .ed-pane-title {font-size:23px;line-height:1.5;}
body.experience.presentation .ed-pane-sub {font-size:14px;color:#85788e;}
body.experience.presentation .ed-bullet-list {font-size:17px;line-height:1.95;color:#615569;}
body.experience.presentation .ed-stage-name {font-size:22px!important;line-height:1.5;}
body.experience.presentation .ed-stage-desc {font-size:16px;line-height:1.9;}
body.experience.presentation .ed-stage-methods {font-size:14px;}
body.experience.presentation .ed-lead-para,body.experience.presentation .ed-feed-content p {font-size:17px;line-height:1.9;}
body.experience.presentation .ed-m-desc,body.experience.presentation .ed-col-section p {font-size:15px;line-height:1.85;}
body.experience.presentation .ps-dock {position:sticky;bottom:16px;max-width:100%;width:fit-content;margin:22px auto 0;padding:10px 14px;border:0;border-radius:18px;background:#fffffff2;box-shadow:0 8px 30px #5e477619;backdrop-filter:blur(18px);gap:28px;}
body.experience.presentation .btn-ps-nav,body.experience.presentation .btn-ps-exit {border:0;background:#f3edf9;border-radius:9px;font-size:12px;min-height:35px;}
@media(max-width:750px){
body.experience.presentation > main {padding:25px 19px 28px;}
body.experience.presentation .presentation-slide-deck {min-height:0;}
body.experience.presentation .ps-title {font-size:25px;letter-spacing:-.4px;}
body.experience.presentation .ps-subtitle {font-size:14px;}
body.experience.presentation .ps-header {margin-bottom:22px;padding-bottom:19px;}
body.experience.presentation .ed-pane-title {font-size:19px;}
body.experience.presentation .ed-bullet-list {font-size:15px;}
body.experience.presentation .ed-spec-header {display:none;}
body.experience.presentation .ed-spec-row {display:grid;grid-template-columns:1fr;gap:12px;min-width:0;padding:22px 0;align-items:start;}
body.experience.presentation .ed-spec-tier {font-size:15px;}
body.experience.presentation .ed-spec-scope,body.experience.presentation .ed-spec-task {font-size:14px;line-height:1.85;}
body.experience.presentation .ed-table-view {overflow:visible;}
body.experience.presentation .ps-indicators {display:none;}
body.experience.presentation .ps-dock {gap:0;padding:9px 11px;}
body.experience.presentation .ps-controls-group {gap:6px;flex-wrap:wrap;justify-content:center;}
body.experience.presentation .btn-ps-nav,body.experience.presentation .btn-ps-exit {font-size:11px;padding:7px 9px;}
body.experience.presentation .ed-lead-para,body.experience.presentation .ed-feed-content p {font-size:15px;}
}
