/* 页面与底部标签栏共用布局空间，嵌入页只负责内部工作区。 */
#minimax-plan {
  --page-inset: 16px;
  --page-inline: 20px;
  --tab-height: 48px;
  --tab-space: calc(var(--tab-height) + env(safe-area-inset-bottom, 0px));
}
#minimax-plan .titlebar { flex-shrink: 0; }
#minimax-plan .app > .page {
  flex: 1 1 0;
  min-height: 0;
  min-width: 0;
  padding: var(--page-inset) max(var(--page-inline), env(safe-area-inset-right, 0px)) var(--page-inset) max(var(--page-inline), env(safe-area-inset-left, 0px));
  scroll-padding-bottom: var(--page-inset);
}
#minimax-plan .app > .page[data-page="image"],
#minimax-plan .app > .page[data-page="clone"] {
  height: auto;
  overflow: hidden;
}
#minimax-plan .page-head { margin-bottom: 12px; }
#minimax-plan [data-page="works"] { --works-top-padding: var(--page-inset); }
#minimax-plan [data-setting-pane="upscale"] :is(input, select, button) { scroll-margin-bottom: var(--page-inset); }
#minimax-plan .workbench { min-height: 0; }
#minimax-plan .app > .dock {
  position: relative;
  inset: auto;
  z-index: 61;
  flex: 0 0 var(--tab-space);
  width: 100%;
  max-width: none;
  height: var(--tab-space);
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 0;
  padding: 0 max(var(--page-inline), env(safe-area-inset-right, 0px)) env(safe-area-inset-bottom, 0px) max(var(--page-inline), env(safe-area-inset-left, 0px));
  border: 0;
  border-top: 1px solid var(--mm-line);
  border-radius: 0;
  background: var(--mm-surface);
  box-shadow: none;
  transform: none;
}
#minimax-plan .app > .dock button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 1 132px;
  width: auto;
  min-width: 0;
  height: 100%;
  min-height: 0;
  gap: 8px;
  padding: 0 16px;
  border: 0;
  border-radius: 0;
  color: var(--mm-muted);
  background: transparent;
  box-shadow: none;
  transform: none;
  font-size: 12px;
}
#minimax-plan .app > .dock button svg { flex: none; width: 16px; height: 16px; }
#minimax-plan .app > .dock button:hover { color: var(--mm-text); background: var(--mm-raised); }
#minimax-plan .app > .dock button.active {
  color: var(--mm-text);
  background: color-mix(in srgb, var(--mm-text) 5%, var(--mm-surface));
}
#minimax-plan .app > .dock button.active::before {
  content: "";
  position: absolute;
  inset: -1px 16px auto;
  height: 2px;
  background: var(--mm-green);
}
#minimax-plan .app > .dock button:focus-visible { outline: 2px solid var(--mm-green); outline-offset: -4px; }
#minimax-plan .app > .dock .dock-divider { flex: none; align-self: center; height: 18px; margin: 0 8px; }
#minimax-plan .app > .dock .mini-status { flex: 0 0 32px; padding: 0; color: var(--mm-green); }
/* 云端使用同一底栏；iframe 到标签栏上沿结束。 */
#minimax-plan .platform-shell,
#minimax-plan .app.show-mode-titlebar ~ .platform-shell:not([hidden]) {
  bottom: var(--tab-space);
  height: calc(100% - var(--tab-space));
}
#minimax-plan .app.show-mode-titlebar ~ .platform-shell:not([hidden]) {
  height: calc(100% - var(--platform-titlebar-height, 54px) - var(--tab-space));
}
#minimax-plan.platform-recharge-active .app > .dock { display: none; }
#minimax-plan.platform-recharge-active .platform-shell,
#minimax-plan.platform-recharge-active .app.show-mode-titlebar ~ .platform-shell:not([hidden]) { inset: 0; height: 100%; }
#minimax-plan.image-viewer-open .app > .page[data-page="image"] { flex: none; height: 100dvh; padding: 0; }
@media (min-width: 2000px) and (min-height: 900px) {
  #minimax-plan { --page-inset: 24px; --page-inline: 32px; --tab-height: 56px; }
  #minimax-plan .app > .dock button { flex-basis: 156px; font-size: 14px; }
}
@media (max-width: 700px), (max-width: 1000px) and (max-height: 500px) {
  #minimax-plan { --page-inset: 12px; --page-inline: 12px; --tab-height: 56px; }
  #minimax-plan .app > .dock { padding-left: env(safe-area-inset-left, 0px); padding-right: env(safe-area-inset-right, 0px); }
  #minimax-plan .app > .dock button { flex: 1 1 0; flex-direction: column; gap: 4px; padding: 4px 0; font-size: 10px; }
  #minimax-plan .app > .dock button.active::before { left: 8px; right: 8px; }
  #minimax-plan .app > .dock .mini-status { flex: 0 0 24px; min-width: 0; }
  #minimax-plan .app > .dock .dock-divider { margin: 0; }
  .keyboard-open #minimax-plan { --tab-space: 0px; }
  .keyboard-open #minimax-plan .app > .dock { display: none; }
}
@media (max-width: 1000px) and (max-height: 500px) {
  #minimax-plan { --tab-height: 48px; }
  #minimax-plan .app > .dock button { flex-direction: row; gap: 6px; }
  #minimax-plan .app.show-mode-titlebar ~ .platform-shell:not([hidden]) { top: 0; height: calc(100% - var(--tab-space)); }
}
