/* Hide menu bar until BlocksY UI customizations are applied */
body.blocksy-editor:not(.blocksy-ui-ready) [class*="menu-bar_menu-bar"] {
  visibility: hidden;
}

body.blocksy-editor.blocksy-ui-ready [class*="menu-bar_menu-bar"] {
  visibility: visible;
}

html.blocksy-embed-root,
html.blocksy-embed-root body.blocksy-embed {
  height: 100%;
  min-height: 100%;
  margin: 0;
  overflow: hidden;
  background: #fff;
}

body.blocksy-embed [class*="page-wrapper"],
body.blocksy-embed [class*="body-wrapper"],
body.blocksy-embed [class*="gui"],
body.blocksy-embed [class*="editor-wrapper"],
body.blocksy-embed [class*="flex-wrapper"] {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-width: 100% !important;
  background: #fff !important;
}

body.blocksy-embed [class*="flex-wrapper"] {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  overflow: hidden !important;
}

body.blocksy-embed [class*="blocks-wrapper"],
body.blocksy-embed [class*="blocks_blocks"],
body.blocksy-embed [class*="target-wrapper"],
body.blocksy-embed [class*="target-pane"],
body.blocksy-embed [class*="editor-wrapper"],
body.blocksy-embed [class*="menu-bar_menu-bar"],
body.blocksy-embed [class*="tabs"],
body.blocksy-embed [class*="extension-button-container"],
body.blocksy-embed [class*="monitor-list"],
body.blocksy-embed [class*="backpack_"] {
  display: none !important;
  width: 0 !important;
  min-width: 0 !important;
  flex: 0 0 0 !important;
  overflow: hidden !important;
}

body.blocksy-embed [class*="stage-and-target-wrapper"],
body.blocksy-embed [class*="stage-and-toolbar-wrapper"] {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: 1 1 auto !important;
  padding: 0 16px !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  background: #fff !important;
}

body.blocksy-embed [class*="stage-size-toggle"],
body.blocksy-embed [class*="stageSizeToggle"],
body.blocksy-embed [class*="stage-header"] [class*="stage-button"],
body.blocksy-embed [class*="stage-header"] [class*="stage-size-row"],
body.blocksy-embed [class*="stageMenuWrapper"] [class*="unselectWrapper"],
body.blocksy-embed [class*="stageMenuWrapper"] [class*="unselect-wrapper"],
body.blocksy-embed [class*="stage-header"] img[alt*="full screen" i],
body.blocksy-embed [class*="stage-header"] img[alt*="полноэкран" i],
body.blocksy-embed [class*="stage-header"] img[alt*="fullscreen" i],
body.blocksy-embed [class*="stage-header"] img[title*="Full Screen" i],
body.blocksy-embed [class*="stage-header"] img[title*="Полноэкран" i],
body.blocksy-embed [class*="stage-header"] [role="button"][class*="outlined-button"] {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body.blocksy-embed [class*="stage-header"] {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.blocksy-embed [class*="stage-and-toolbar-wrapper"],
body.blocksy-embed [class*="stage-wrapper"],
body.blocksy-embed [class*="stage-header"] {
  visibility: visible !important;
}

body.blocksy-embed [class*="stage-wrapper"] {
  width: auto !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  overflow: visible !important;
}

body.blocksy-embed [class*="stage-wrapper"] [class*="stage-canvas-wrapper"],
body.blocksy-embed [class*="stage_stage-wrapper"] {
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 auto !important;
  overflow: visible !important;
}

body.blocksy-embed [class*="stage_stage"]:not([class*="overlays"]):not([class*="bottom"]) {
  width: auto !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  border: none !important;
  border-radius: 0 !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  position: relative !important;
}

body.blocksy-embed [class*="stage-wrapper"] canvas:not([class*="dragging"]) {
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
  margin: 0 auto !important;
}

body.blocksy-embed.blocksy-embed-fs [class*="stage-header-wrapper-overlay"],
body.blocksy-embed.blocksy-embed-fs [class*="stageHeaderWrapperOverlay"] {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 5001;
}

body.blocksy-embed.blocksy-embed-fs [class*="stage-and-toolbar-wrapper"],
body.blocksy-embed.blocksy-embed-fs [class*="gui"] {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
}

body.blocksy-embed #blocksy-toast {
  display: none !important;
}

/* Hide non-functional Scratch community buttons */
button[aria-label="Поделиться"],
button[aria-label="Share"],
button[aria-label="Посмотреть страницу проекта"],
button[aria-label="See project page"],
div[class*="share-button"],
div[class*="project-page-button"],
div[class*="share-button-container"],
a[class*="project-page"],
[class*="main-menu"] [data-for="share-button"],
[class*="account-info-group"] > [class*="coming-soon"],
[class*="account-info-group"] > [class*="mystuff"],
[class*="settings-menu"],
[class*="language-submenu"],
[class*="color-mode_menu"],
[class*="main-menu"] [class*="menu-bar-item"][class*="growable"],
[class*="menu-bar"] [class*="project-title-input"],
[class*="menu-bar"] [class*="title-field-growable"],
[class*="backpack_"] {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
}

[class*="file-group"] [class*="scratch-logo"],
[class*="file-group"] #logo_img {
  display: none !important;
}

[class*="menu-bar"] a.logo,
[class*="menu-bar"] a.logo:visited,
[class*="menu-bar"] a.logo:hover,
[class*="menu-bar"] a.blocksy-logo-link,
[class*="menu-bar"] a.blocksy-logo-link:hover {
  padding: 0 0.75rem;
  color: #fff !important;
  font-size: 1.4rem;
  font-weight: 800;
  font-family: "Segoe UI", system-ui, sans-serif;
  line-height: 1;
  text-decoration: none !important;
  cursor: pointer;
  white-space: nowrap;
  background: transparent !important;
}

[class*="menu-bar"] a.logo span {
  color: #ff8c1a !important;
}

[class*="menu-bar"] .blocksy-project-title,
[class*="menu-bar"] .blocksy-project-title:hover {
  align-self: center;
  margin-left: 0.5rem;
  max-width: 14rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: rgba(255, 255, 255, 0.85);
  font-size: 0.85rem;
  font-weight: 500;
  line-height: 1.3;
  user-select: none;
  background: transparent !important;
  pointer-events: none;
}

[class*="file-group"] > [class*="menu-bar-item"]:first-child:hover {
  background: transparent !important;
}

[class*="account-info-group"] {
  display: flex;
  align-items: stretch;
}

[class*="menu-bar"] [data-blocksy].blocksy-menu-item:has(a[href="/dashboard/"]) {
  margin-right: 10px;
}

[class*="menu-bar"] [data-blocksy].blocksy-menu-item {
  display: flex;
  align-self: center;
  height: 3rem;
  margin: 0 0.25rem;
}

[class*="menu-bar"] [data-blocksy] .blocksy-menu-link,
[class*="menu-bar"] [data-blocksy] .blocksy-menu-btn,
[class*="menu-bar"] .blocksy-menu-item .blocksy-menu-link,
[class*="menu-bar"] .blocksy-menu-item .blocksy-menu-btn {
  display: flex;
  align-items: center;
  height: 100%;
  margin: 0;
  padding: 0 0.75rem;
  border: 0;
  background: transparent !important;
  background-image: none !important;
  color: #fff !important;
  font: inherit;
  font-weight: bold;
  cursor: pointer;
  text-decoration: none !important;
  white-space: nowrap;
  text-indent: 0 !important;
  width: auto !important;
  overflow: visible !important;
}

[class*="menu-bar"] [data-blocksy] .blocksy-menu-icon,
[class*="menu-bar"] [data-blocksy] .blocksy-menu-link img,
[class*="menu-bar"] [data-blocksy] .blocksy-menu-btn img {
  display: none !important;
}

[class*="menu-bar"] [data-blocksy].blocksy-menu-item:hover,
[class*="menu-bar"] .blocksy-menu-item:hover {
  background: rgba(0, 0, 0, 0.15);
}

[class*="menu-bar"] .blocksy-user-email {
  display: flex;
  align-items: center;
  align-self: center;
  max-width: 180px;
  padding: 0 0.75rem;
  overflow: hidden;
  color: rgba(255, 255, 255, 0.85) !important;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

[class*="menu-bar"] [data-blocksy].is-saving .blocksy-menu-btn,
[class*="menu-bar"] #blocksy-save-cloud.is-saving {
  opacity: 0.85;
  cursor: wait;
}

[class*="menu-bar-menu"] #blocksy-save-cloud.blocksy-file-save-item,
[class*="menu-bar_menu-bar-menu"] #blocksy-save-cloud.blocksy-file-save-item {
  display: block;
  box-sizing: border-box;
}

[class*="menu-bar-menu"] #blocksy-save-cloud.blocksy-file-save-item > span,
[class*="menu-bar_menu-bar-menu"] #blocksy-save-cloud.blocksy-file-save-item > span {
  display: block;
  white-space: nowrap;
}

[class*="menu-bar-menu"] #blocksy-save-cloud.blocksy-file-save-item.is-disabled,
[class*="menu-bar_menu-bar-menu"] #blocksy-save-cloud.blocksy-file-save-item.is-disabled,
[class*="menu-bar-menu"] #blocksy-save-cloud.blocksy-file-save-item[aria-disabled="true"],
[class*="menu-bar_menu-bar-menu"] #blocksy-save-cloud.blocksy-file-save-item[aria-disabled="true"] {
  opacity: 0.45;
  cursor: default;
  pointer-events: none;
}

[class*="menu-bar"] #blocksy-save-cloud.is-success {
  color: #b9ffb9 !important;
}

[class*="menu-bar"] #blocksy-save-cloud.is-error {
  color: #ffb4b4 !important;
}

[class*="menu-bar"] #blocksy-save-cloud:disabled,
[class*="menu-bar"] #blocksy-save-cloud.is-disabled:not(.blocksy-file-save-item) {
  opacity: 0.45;
  cursor: default;
  pointer-events: none;
}

.blocksy-toast,
#blocksy-toast {
  position: fixed;
  bottom: 24px;
  right: 24px;
  max-width: min(420px, calc(100vw - 32px));
  padding: 14px 20px;
  border-radius: 12px;
  z-index: 2147483646;
  display: none;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.28);
  font-family: "Segoe UI", system-ui, sans-serif;
  font-size: 14px;
  line-height: 1.45;
  color: #fff;
  background: #1a1a2e;
}

.blocksy-toast.show,
#blocksy-toast.show {
  display: block;
  animation: blocksy-toast-in 0.2s ease;
}

.blocksy-toast.success,
#blocksy-toast.success {
  background: #1b5e20;
}

.blocksy-toast.error,
#blocksy-toast.error {
  background: #b71c1c;
}

.blocksy-toast.loading,
#blocksy-toast.loading {
  background: #3373cc;
}

@keyframes blocksy-toast-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.blocksy-save-panel {
  position: fixed;
  inset: 0;
  z-index: 2147483645;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(15, 18, 30, 0.5);
  backdrop-filter: blur(3px);
}

.blocksy-save-panel.hidden {
  display: none;
}

.blocksy-save-card {
  position: relative;
  width: min(480px, 100%);
  padding: 28px 24px 24px;
  border-radius: 16px;
  background: #fff;
  color: #1a1a2e;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.22);
  font-family: "Segoe UI", system-ui, sans-serif;
}

.blocksy-save-close {
  position: absolute;
  top: 10px;
  right: 12px;
  border: 0;
  background: transparent;
  color: #5c6370;
  font-size: 1.6rem;
  line-height: 1;
  cursor: pointer;
}

.blocksy-save-heading {
  margin: 0 0 8px;
  font-size: 1.25rem;
}

.blocksy-save-status {
  margin: 0 0 16px;
  color: #5c6370;
}

.blocksy-save-spinner {
  width: 40px;
  height: 40px;
  margin-bottom: 16px;
  border: 3px solid #e8ecf2;
  border-top-color: #4c97ff;
  border-radius: 50%;
  animation: blocksy-spin 0.8s linear infinite;
}

.blocksy-save-success .blocksy-save-spinner {
  display: none;
}

@keyframes blocksy-spin {
  to {
    transform: rotate(360deg);
  }
}

.blocksy-save-steps {
  margin: 0;
  padding: 0;
  list-style: none;
}

.blocksy-save-steps li {
  position: relative;
  padding: 8px 0 8px 28px;
  color: #5c6370;
}

.blocksy-save-steps li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 16px;
  height: 16px;
  margin-top: -8px;
  border-radius: 50%;
  border: 2px solid #c5cdd8;
  background: #fff;
}

.blocksy-save-steps li.active {
  color: #1a1a2e;
  font-weight: 600;
}

.blocksy-save-steps li.active::before {
  border-color: #4c97ff;
  border-top-color: transparent;
  animation: blocksy-spin 0.8s linear infinite;
}

.blocksy-save-steps li.done {
  color: #2e7d32;
}

.blocksy-save-steps li.done::before {
  content: "✓";
  display: flex;
  align-items: center;
  justify-content: center;
  border-color: #2e7d32;
  background: #e8f5e9;
  color: #2e7d32;
  font-size: 10px;
  font-weight: 700;
  animation: none;
}

.blocksy-save-success.hidden,
.blocksy-save-progress.hidden {
  display: none;
}

.blocksy-save-success-icon {
  width: 48px;
  height: 48px;
  margin-bottom: 12px;
  border-radius: 50%;
  background: #e8f5e9;
  color: #2e7d32;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 48px;
  text-align: center;
}

.blocksy-save-project-title {
  margin: 0 0 16px;
  color: #5c6370;
  word-break: break-word;
}

.blocksy-save-link-row {
  display: flex;
  gap: 8px;
  margin-bottom: 16px;
}

.blocksy-save-link-input {
  flex: 1;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid #d8dee8;
  border-radius: 8px;
  font-size: 0.9rem;
}

.blocksy-save-copy {
  flex-shrink: 0;
  padding: 10px 14px;
  border: 0;
  border-radius: 8px;
  background: #4c97ff;
  color: #fff;
  font-weight: 600;
  cursor: pointer;
}

.blocksy-save-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.blocksy-save-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  border-radius: 999px;
  font-weight: 600;
  text-decoration: none !important;
  border: 2px solid #4c97ff;
  color: #4c97ff;
  background: #fff;
  cursor: pointer;
}

.blocksy-save-action.primary {
  background: #4c97ff;
  color: #fff !important;
}

.blocksy-save-action.ghost {
  border-color: #d8dee8;
  color: #5c6370 !important;
}
