.editor-core-page .site-header,
.editor-core-page .status-banner,
.editor-core-page .site-footer,
.editor-core-page .feedback-fab,
.editor-core-page .scroll-top,
.editor-core-page .cookie-consent {
  display: none !important;
}

.editor-core-page main#main-content {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.editor-core-page .editor-core-hero {
  display: none;
}

.editor-core-page .panel {
  overflow: visible;
}

.editor-core-hero .chip-row {
  margin-top: 0.75rem;
}

.editor-core-app {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: #050608;
}

.editor-core-app__topbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  padding: 0.75rem 0.9rem;
  border-bottom: 1px solid var(--border);
}

.editor-core-topbar__project {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-width: 0;
  flex: 1 1 28rem;
  flex-wrap: wrap;
}

.editor-core-topbar__project label { flex: 1 1 16rem; min-width: 0; }

.editor-core-project-name {
  width: 100%;
  min-width: 0;
  max-width: 460px;
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.editor-core-badge {
  border: 1px solid color-mix(in srgb, var(--accent) 45%, var(--border));
  border-radius: 999px;
  color: var(--accent);
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 0.11rem 0.48rem;
  max-width: 100%;
  overflow-wrap: anywhere;
}

.editor-core-badge.is-active {
  color: #eaf1ff;
  background: rgba(87, 140, 255, 0.2);
}

.editor-core-badge.is-error {
  color: #ffd4cc;
  border-color: rgba(255, 126, 96, 0.55);
  background: rgba(255, 126, 96, 0.15);
}

.editor-core-topbar__actions {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.editor-core-page .editor-core-app__topbar--notices {
  column-gap: 0.75rem;
}

.editor-core-page .editor-core-app__topbar--notices .editor-core-topbar__project {
  flex: 0 1 24rem;
}

.editor-core-topbar__notices {
  flex: 1 1 14rem;
  min-width: 0;
  max-height: min(5.25rem, 18dvh);
  display: grid;
  gap: 0.35rem;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
}

.editor-core-topbar__notices .alert {
  margin: 0;
  padding: 0.35rem 0.55rem;
  font-size: 0.75rem;
  line-height: 1.4;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.editor-core-topbar__notices:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

@media (max-width: 1200px) {
  .editor-core-page .editor-core-app__topbar--notices {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
  }

  .editor-core-topbar__notices {
    grid-column: 1 / -1;
  }

  .editor-core-page .editor-core-app__topbar--notices .editor-core-topbar__actions {
    grid-column: 1 / -1;
    min-width: 0;
    max-width: 100%;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
}

.editor-core-export-menu { position:relative; }
.editor-core-export-menu > summary { cursor:pointer;list-style:none; }
.editor-core-export-menu > summary::-webkit-details-marker { display:none; }
.editor-core-export-menu > summary::after { content:' ▾'; }
.editor-core-export-menu__options { position:absolute;right:0;top:calc(100% + 8px);z-index:50;display:grid;gap:8px;width:280px;max-width:calc(100vw - 48px);padding:14px;background:#080b10;border:1px solid var(--border);box-shadow:0 12px 28px #0008; }
.editor-core-export-menu__options p { margin:0 0 4px;font-size:.8rem;line-height:1.5; }
.editor-core-workflow { display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding:16px;border-bottom:1px solid var(--border);background:linear-gradient(110deg,#0b192e,#080b10 70%); }
.editor-core-workflow__copy { flex:1 1 23rem;min-width:0; }
.editor-core-workflow__copy strong { font-size:1rem; }
.editor-core-workflow__copy p { margin:5px 0 0;font-size:.85rem;line-height:1.5;max-width:68ch; }
.editor-core-workflow__actions { display:flex;flex-wrap:wrap;align-items:center;gap:8px; }
.editor-core-workflow [hidden] { display:none !important; }
.editor-core-workflow .button { transition:background-color .16s,border-color .16s; }
@media(max-width:600px) {
  .editor-core-workflow { padding:12px; }
  .editor-core-workflow__actions { width:100%; }
  .editor-core-workflow__actions > :is(a,button) { flex:1 1 9rem;white-space:normal;text-align:center; }
}
@media(prefers-reduced-motion:reduce) { .editor-core-workflow .button { transition:none; } }

.editor-core-app__workspace {
  display: grid;
  grid-template-columns: minmax(290px, 360px) minmax(0, 1fr) minmax(280px, 340px);
  gap: 0.75rem;
  padding: 0.75rem;
}

.editor-core-pane,
.editor-core-stage {
  min-width: 0;
  align-self: start;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: #050608;
}

.editor-core-pane {
  padding: 0.55rem;
  overflow: auto;
  max-height: 1120px;
}

.editor-core-stage {
  display: grid;
  grid-template-rows: auto auto auto minmax(0, 1fr) auto;
  gap: 0.55rem;
  padding: 0.55rem;
}

.editor-core-block {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.01);
  margin-bottom: 0.55rem;
}

.editor-core-block__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  border-bottom: 1px solid var(--border);
  padding: 0.45rem 0.55rem;
}

.editor-core-block__header h2,
.editor-core-stage__header h2 {
  margin: 0;
  color: #f4f7ff;
  font-size: 0.87rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.editor-core-block__body {
  padding: 0.55rem;
}

.editor-core-tab .form-grid > .full {
  grid-column: 1 / -1;
  min-width: 0;
}

[data-editor-native-color-info] {
  margin: 0 0 0.5rem;
}

.editor-core-block.is-collapsed .editor-core-block__header {
  border-bottom: 0;
}

.editor-core-field {
  display: grid;
  gap: 0.28rem;
  margin-bottom: 0.45rem;
}

.editor-core-field span {
  color: var(--muted);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.editor-core-inline-actions {
  display: flex;
  gap: 0.45rem;
  flex-wrap: wrap;
  margin-bottom: 0.45rem;
}

.editor-core-hint {
  margin: 0.35rem 0 0;
  font-size: 0.75rem;
}

.editor-core-sample-list {
  width: 100%;
  max-height: 14rem;
  overflow: auto;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: #040506;
  padding: 0.35rem;
  display: grid;
  gap: 0.32rem;
}

.editor-core-sample-item {
  width: 100%;
  text-align: left;
  border: 1px solid transparent;
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.01);
  color: var(--text);
  font-size: 0.79rem;
  line-height: 1.24;
  padding: 0.32rem 0.42rem;
  cursor: pointer;
}

.editor-core-sample-item:hover {
  border-color: rgba(87, 140, 255, 0.45);
  background: rgba(87, 140, 255, 0.07);
}

.editor-core-sample-item.is-active {
  border-color: var(--accent);
  background: rgba(87, 140, 255, 0.16);
}

.editor-core-sample-item__name {
  display: block;
  color: #f4f7ff;
  font-weight: 600;
}

.editor-core-sample-item__name em {
  color: var(--muted);
  font-style: normal;
  font-weight: 500;
}

.editor-core-sample-item__dir {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.editor-core-layer-tools,
.editor-core-layer-ops {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  flex-wrap: wrap;
  margin-bottom: 0.45rem;
}

.editor-core-layer-tree {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.28rem;
  max-height: 360px;
  overflow: auto;
}

.editor-core-layer-item {
  width: 100%;
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  border: 1px solid transparent;
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.01);
  color: var(--muted);
  text-align: left;
  padding: 0.42rem 0.48rem;
  cursor: pointer;
  display: grid;
  gap: 0.1rem;
}

.editor-core-layer-item strong {
  color: var(--text);
  font-size: 0.8rem;
  line-height: 1.2;
}

.editor-core-layer-item span {
  font-size: 0.72rem;
}

.editor-core-layer-item:hover {
  border-color: rgba(87, 140, 255, 0.45);
  color: var(--text);
}

.editor-core-layer-item.is-active {
  border-color: var(--accent);
  background: rgba(87, 140, 255, 0.14);
  color: #eaf0ff;
}

.editor-core-layer-item.is-hidden {
  opacity: 0.58;
}

.editor-core-outline-row { display:grid;grid-template-columns:24px minmax(0,1fr);align-items:start;min-width:0; }
.editor-core-outline-row.layer-depth-1 { padding-left:.65rem; }
.editor-core-outline-row.layer-depth-2 { padding-left:1.3rem; }
.editor-core-outline-row.layer-depth-3 { padding-left:1.95rem; }
.editor-core-outline-row.layer-depth-4 { padding-left:2.6rem; }
.editor-core-outline-toggle { width:24px;min-height:32px;padding:0;border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer; }

.editor-core-asset-grid {
  display: grid;
  gap: 0.32rem;
  max-height: 250px;
  overflow: auto;
}

.editor-core-asset-card {
  border: 1px solid color-mix(in srgb, var(--border) 78%, #ffffff 22%);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.01);
  color: var(--text);
  text-align: left;
  padding: 0.42rem 0.48rem;
  font-size: 0.75rem;
  display: grid;
  gap: 0.28rem;
}

.editor-core-asset-card button {
  justify-self: start;
}

.editor-core-stats {
  margin: 0;
  display: grid;
  gap: 0.4rem;
}

.editor-core-stats > div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px dashed rgba(255, 255, 255, 0.12);
  padding-bottom: 0.25rem;
}

.editor-core-stats dt {
  color: var(--muted);
}

.editor-core-stats dd {
  margin: 0;
  font-weight: 600;
}

.editor-core-compat {
  margin-top: 0.55rem;
  display: grid;
  gap: 0.42rem;
}

.editor-core-compat-row {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 0.45rem 0.5rem;
  background: rgba(255, 255, 255, 0.01);
}

.editor-core-compat-row strong {
  display: block;
  margin-bottom: 0.25rem;
  color: var(--muted);
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.editor-core-compat-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.32rem;
}

.editor-core-compat-chips span {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 0.12rem 0.42rem;
  font-size: 0.72rem;
  background: #040506;
}

.editor-core-warnings {
  margin-top: 0.42rem;
  font-size: 0.74rem;
}

.editor-core-stage__header {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.15rem 0.2rem;
}

.editor-core-stage__meta {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  flex-wrap: wrap;
}

.editor-core-mode-toggle {
  display: inline-flex;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
}

.editor-core-mode-toggle .button {
  border: 0;
  border-radius: 0;
}

.editor-core-mode-toggle .button.is-active {
  background: var(--accent);
  color: #fff;
}

.editor-core-stage__toolbar {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.01);
  padding: 0.45rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.editor-core-toolgroup {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  flex-wrap: wrap;
}

.editor-core-toolgroup .button.is-active,
.editor-core-tabbar .button.is-active {
  background: var(--accent);
  color: #fff;
  border-color: var(--accent);
}

.editor-core-zoom-control {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  color: var(--muted);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.editor-core-zoom-control input[type='range'] {
  width: 118px;
}

.editor-core-zoom-label {
  min-width: 3rem;
  text-align: right;
  font-size: 0.76rem;
  color: var(--accent);
}

.editor-core-simulation {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.01);
  padding: 0.45rem;
  display: grid;
  gap: 0.48rem;
}

.editor-core-simulation__row,
.editor-core-simulation__metrics {
  display: flex;
  align-items: center;
  gap: 0.62rem;
  flex-wrap: wrap;
}

.editor-core-simulation__row label,
.editor-core-simulation__label,
.editor-core-simulation__metrics label {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: var(--muted);
  font-size: 0.78rem;
}

.editor-core-time-input input[type='time'] {
  min-width: 7.2rem;
}

.editor-core-simulation__metrics {
  border-top: 1px dashed rgba(255, 255, 255, 0.14);
  padding-top: 0.45rem;
}

.editor-core-simulation__metrics label {
  gap: 0.28rem;
}

.editor-core-simulation__metrics input[type='number'] {
  max-width: 8rem;
}


.editor-core-stage__viewport {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: #040506;
  overflow: hidden;
  height: clamp(300px, 50vh, 560px);
  min-height: 0;
  position: relative;
}

.editor-core-stage__grid {
  width: 100%;
  height: 100%;
  min-height: 0;
  display: flex;
  overflow: auto;
  padding: 32px;
  box-sizing: border-box;
  background-image:
    linear-gradient(rgba(41, 50, 65, 0.45) 1px, transparent 1px),
    linear-gradient(90deg, rgba(41, 50, 65, 0.45) 1px, transparent 1px);
  background-size: 30px 30px;
}

.editor-core-scene-wrap {
  flex: none;
  margin: auto;
}

.editor-core-scene {
  position: relative;
  transform-origin: top left;
}

.editor-core-scene canvas {
  display: block;
  border: 1px dashed rgba(121, 166, 255, 0.62);
  background: #08111f;
}

.editor-core-selection {
  position: absolute;
  border: 1px solid rgba(87, 140, 255, 0.94);
  box-shadow: 0 0 0 1px rgba(87, 140, 255, 0.22);
  pointer-events: none;
  z-index: 2;
}

.editor-core-selection__handle,
.editor-core-selection__rotate {
  position: absolute;
  width: 10px;
  height: 10px;
  border: 1px solid rgba(173, 205, 255, 0.95);
  background: #0a1322;
  border-radius: 999px;
  pointer-events: auto;
}

.editor-core-selection__handle[data-handle='nw'] {
  left: -6px;
  top: -6px;
  cursor: nwse-resize;
}

.editor-core-selection__handle[data-handle='ne'] {
  right: -6px;
  top: -6px;
  cursor: nesw-resize;
}

.editor-core-selection__handle[data-handle='sw'] {
  left: -6px;
  bottom: -6px;
  cursor: nesw-resize;
}

.editor-core-selection__handle[data-handle='se'] {
  right: -6px;
  bottom: -6px;
  cursor: nwse-resize;
}

.editor-core-selection__rotate {
  left: 50%;
  top: -24px;
  transform: translateX(-50%);
  cursor: grab;
}

.editor-core-selection__rotate::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 10px;
  width: 1px;
  height: 13px;
  background: rgba(173, 205, 255, 0.88);
  transform: translateX(-50%);
}

.editor-core-canvas-loader {
  position: absolute;
  inset: 0;
  background: rgba(3, 6, 10, 0.62);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  color: #eef4ff;
  font-size: 0.86rem;
  letter-spacing: 0.02em;
  backdrop-filter: blur(1px);
  z-index: 3;
}

.editor-core-canvas-loader[hidden] {
  display: none;
}

.editor-core-canvas-loader__spinner {
  width: 0.95rem;
  height: 0.95rem;
  border-radius: 999px;
  border: 2px solid rgba(255, 255, 255, 0.35);
  border-top-color: #fff;
  animation: editor-core-spin 0.8s linear infinite;
}

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

.editor-core-stage__timeline {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.01);
  padding: 0.45rem 0.5rem;
}

.editor-core-timeline__controls {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  flex-wrap: wrap;
  margin-bottom: 0.4rem;
}

.editor-core-time {
  margin-left: auto;
  color: var(--accent);
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  font-family: "Space Mono", "JetBrains Mono", monospace;
}

.editor-core-app .editor-shell-checkbox {
  display: inline-flex;
  align-items: center;
  gap: 0.32rem;
  color: var(--muted);
}

.editor-core-app .editor-shell-checkbox input[type='checkbox'] {
  width: 0.95rem;
  height: 0.95rem;
}

.editor-core-tabbar {
  display: flex;
  gap: 0.36rem;
  margin-bottom: 0.5rem;
}

.editor-core-tab {
  margin-bottom: 0.55rem;
}

.editor-core-app__status {
  border-top: 1px solid var(--border);
  padding: 0.55rem 0.85rem 0.68rem;
  color: var(--muted);
  font-size: 0.74rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.55rem;
  flex-wrap: wrap;
}

.editor-core-app__status [data-editor-core-status] {
  color: color-mix(in srgb, var(--accent) 78%, #ffffff);
}

@media (max-width: 1460px) {
  .editor-core-app__workspace {
    grid-template-columns: minmax(290px, 360px) minmax(0, 1fr);
  }

  .editor-core-pane--right {
    grid-column: 1 / -1;
    max-height: none;
  }
}

@media (max-width: 1060px) {
  .editor-core-app__topbar {
    flex-direction: column;
    align-items: stretch;
  }

  .editor-core-topbar__actions {
    justify-content: flex-start;
  }

  .editor-core-topbar__project { flex: 0 1 auto; }

  .editor-core-app__workspace {
    grid-template-columns: 1fr;
  }
  .editor-core-stage { grid-row: 1; }

  .editor-core-pane,
  .editor-core-stage {
    min-height: 0;
    max-height: none;
  }

  .editor-core-time {
    margin-left: 0;
  }
}

.editor-core-project-help { padding: 0 0.9rem; font-size: 0.8rem; }
.editor-core-app [hidden] { display: none !important; }

.editor-core-app input:is([type='text'], [type='search'], [type='number'], [type='url'], [type='time']),
.editor-core-app textarea {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  color: var(--text);
  padding: 0.4rem 0.5rem;
  font: inherit;
  color-scheme: dark;
}

.editor-core-app input:focus-visible,
.editor-core-app textarea:focus-visible { outline: 1px solid var(--accent); outline-offset: 1px; }

.editor-scenario-dialog .editor-operation-previews { grid-template-columns:repeat(4,minmax(0,1fr)); }
.editor-scenario-dialog figure { margin:0; }
.editor-scenario-dialog img { width:100%; height:auto; }
@media(max-width:760px) { .editor-scenario-dialog .editor-operation-previews { grid-template-columns:repeat(2,minmax(0,1fr)); } }
/* Build history is a compact tool beside the existing editor, with no modal trap. */
.editor-core-builds { border:1px solid var(--line, #26303d);padding:14px 16px;margin-bottom:16px; }
.editor-core-builds > summary { cursor:pointer;font-weight:600; }
.editor-core-builds > p { max-width:80ch; }
.editor-core-builds ol { list-style:none;padding:0;margin:12px 0 0;display:grid;gap:12px;max-height:20rem;overflow-y:auto; }
.editor-core-builds ol > li { border-top:1px solid var(--line, #26303d);padding-top:12px;display:grid;gap:8px;min-width:0; }
.editor-core-builds small { overflow-wrap:anywhere; }
.editor-core-builds details li { overflow-wrap:anywhere; }
.editor-core-artwork { border:1px solid var(--line, #26303d);padding:14px 16px;margin-bottom:16px;min-width:0; }
.editor-core-artwork h2 { font-size:1rem;margin:0; }
.editor-core-artwork ul { list-style:none;margin:0;padding:0;display:grid;gap:12px;max-height:20rem;overflow:auto; }
.editor-core-artwork li { display:grid;gap:6px;padding-top:10px;border-top:1px solid var(--line, #26303d);overflow-wrap:anywhere; }
.editor-artwork-dialog { max-width:min(40rem,calc(100vw - 32px));box-sizing:border-box;overflow-wrap:anywhere; }
.editor-artwork-dialog img { display:block;max-width:100%;width:auto;height:auto;max-height:12rem;margin:12px auto;background:#111; }
.editor-artwork-dialog .editor-core-field { margin:12px 0; }
.editor-artwork-dialog select { max-width:100%; }
.editor-artwork-dialog select { padding:8px;background:#080b10;color:#e8ebf0;border:1px solid var(--line, #26303d);color-scheme:dark; }
.editor-artwork-dialog [hidden] { display:none !important; }
.editor-artwork-dialog .editor-core-inline-actions { flex-wrap:wrap; }
.editor-core-asset-preview { width:100%;padding:8px;min-height:72px;background-color:#0c1018;background-image:linear-gradient(45deg,#1a2230 25%,transparent 25%),linear-gradient(-45deg,#1a2230 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#1a2230 75%),linear-gradient(-45deg,transparent 75%,#1a2230 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0; }
.editor-core-asset-preview img { display:block;max-width:100%;height:72px;width:100%;object-fit:contain; }
.editor-core-projects { border:1px solid var(--line,#26303d);padding:14px 16px;margin-bottom:16px;min-width:0; }
.editor-core-projects summary { cursor:pointer;font-weight:600; }
.editor-core-projects ul,.editor-core-builds [data-build-drafts] { list-style:none;padding:0;display:grid;gap:10px;max-height:20rem;overflow:auto; }
.editor-core-projects li,.editor-core-builds [data-build-drafts] li { display:flex;flex-wrap:wrap;align-items:center;gap:8px;border-top:1px solid var(--line,#26303d);padding-top:10px;overflow-wrap:anywhere; }
.editor-core-projects li > strong { flex:1 1 12rem; }
.editor-core-projects [data-project-note] { width:100%; }
.editor-core-projects,.editor-core-builds { overflow-wrap:anywhere; }
.editor-core-projects li > button { max-width:100%;white-space:normal;text-align:left;overflow-wrap:anywhere; }
.editor-core-projects [data-project-history] { max-height:24rem;overflow:auto; }
.editor-core-project-revision { display:flex;flex-wrap:wrap;gap:8px;align-items:center;border-top:1px solid var(--line,#26303d);padding:12px 0; }
.editor-core-project-revision > small { flex-basis:100%; }
.editor-core-import-options { border:1px solid var(--line,#26303d);padding:14px 16px;margin-bottom:16px;min-width:0; }
.editor-core-import-options > summary { cursor:pointer;font-weight:600; }
.editor-core-import-options select { color-scheme:dark;background:#080b10;color:var(--text,#e8ebf0);border:1px solid var(--line,#26303d);font:inherit;padding:8px;max-width:100%; }
.editor-core-app input[type='date'] { color-scheme:dark;background:#080b10;color:var(--text,#e8ebf0);border:1px solid var(--line,#26303d);font:inherit;max-width:100%; }
.editor-asset-dialog img { display:block;max-width:100%;max-height:60vh;width:auto;height:auto;margin:1rem auto; }
.editor-aod-dialog { width:min(57rem,calc(100vw - 32px));max-width:calc(100vw - 32px);box-sizing:border-box;max-height:calc(100dvh - 32px);padding:0;overflow:hidden;color-scheme:dark; }
.editor-aod-dialog[open] { display:flex;flex-direction:column; }
.editor-aod-header { display:flex;align-items:start;justify-content:space-between;gap:20px;padding:22px 24px 18px;border-bottom:1px solid var(--line,#26303d);flex:0 0 auto; }
.editor-aod-header h2 { margin:0 0 6px;font-size:1.25rem;line-height:1.3; }
.editor-aod-header p { margin:0;font-size:.875rem; }
.editor-aod-close { display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;padding:0;border:1px solid transparent;background:transparent;color:var(--muted,#92a0b8);font:inherit;font-size:1.5rem;line-height:1;cursor:pointer; }
.editor-aod-close:hover { border-color:var(--line,#26303d);color:inherit; }
.editor-aod-close:focus-visible { outline:2px solid var(--accent,#428cff);outline-offset:2px; }
.editor-aod-body { min-height:0;overflow:auto;overscroll-behavior:contain;padding:24px; }
.editor-aod-workspace { display:grid;grid-template-columns:minmax(0,1fr) 16rem;gap:24px;align-items:start; }
.editor-aod-comparison,.editor-aod-settings { min-width:0;overflow-wrap:anywhere; }
.editor-aod-settings { border-left:1px solid var(--line,#26303d);padding-left:24px; }
.editor-aod-controls { display:grid;gap:20px;margin:0 0 24px; }
.editor-aod-controls label { display:grid;grid-template-columns:minmax(0,1fr);gap:8px;min-width:0;font-size:.875rem; }
.editor-aod-controls select { box-sizing:border-box;width:100%;min-width:0;background:#080b10;color:inherit;border:1px solid var(--line,#26303d);padding:8px;font:inherit;max-width:100%; }
.editor-aod-controls small { line-height:1.5; }
.editor-aod-controls input[type=range] { box-sizing:border-box;min-width:0;max-width:100%;width:100%;margin-inline:0;accent-color:var(--accent,#428cff); }
.editor-aod-previews { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px; }
.editor-aod-dialog figure { min-width:0;margin:0;text-align:center; }
.editor-aod-dialog figure img { display:block;width:100%;max-width:15rem;margin-inline:auto;height:auto;aspect-ratio:1;object-fit:contain;background:#000;border-radius:50%; }
.editor-aod-dialog figcaption { margin-top:10px;font-size:.8rem;color:var(--muted,#92a0b8); }
.editor-aod-status { min-height:1.5em;margin:20px 0 16px;font-size:.875rem; }
.editor-aod-checks { border-top:1px solid var(--line,#26303d);padding-top:14px;font-size:.8rem; }
.editor-aod-extra-preview { width:min(10rem,100%);margin:18px auto; }
.editor-aod-estimate { font-variant-numeric:tabular-nums; }
.editor-aod-dialog summary { cursor:pointer;font-weight:600; }
.editor-aod-choices { display:grid;gap:8px;max-height:20rem;overflow:auto;margin:12px 0; }
.editor-aod-choices label { display:flex;align-items:start;gap:10px;border-top:1px solid var(--line,#26303d);padding:10px 0;overflow-wrap:anywhere; }
.editor-aod-choices input { flex:0 0 auto;margin-top:4px; }
.editor-aod-choices span { min-width:0; }
.editor-aod-choices :is(strong,small) { display:block; }
.editor-aod-choices small { color:var(--muted,#92a0b8);margin-top:4px; }
.editor-aod-actions { display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:16px 24px;border-top:1px solid var(--line,#26303d);flex:0 0 auto; }
.editor-aod-actions > small { margin-right:auto;font-size:.75rem; }
.editor-aod-actions > .button { flex:0 0 auto; }
.editor-aod-downloads { display:flex;flex-wrap:wrap;gap:8px;margin:12px 0; }
.editor-conversion-dialog { width:min(58rem,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;box-sizing:border-box;overflow-wrap:anywhere; }
.editor-conversion-source { display:grid;gap:8px; }
.editor-conversion-source > div { display:grid;grid-template-columns:minmax(7rem,1fr) minmax(0,3fr);gap:12px; }
.editor-conversion-source :is(dt,dd) { margin:0;min-width:0; }
.editor-conversion-source dt { color:var(--muted,#92a0b8); }
.editor-conversion-groups { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:16px 0; }
.editor-conversion-groups section { min-width:0;border-top:1px solid var(--line,#26303d);padding-top:12px; }
.editor-conversion-groups h3 { font-size:.95rem; }
.editor-conversion-dialog :is(details,summary,code,li) { overflow-wrap:anywhere;white-space:normal; }
.editor-conversion-dialog summary { cursor:pointer; }
.editor-conversion-dialog [hidden],.editor-aod-dialog [hidden] { display:none !important; }
.editor-conversion-actions { display:flex;flex-wrap:wrap;gap:8px;margin-top:16px; }
.editor-core-warnings summary { cursor:pointer; }
.editor-core-warnings li { margin:8px 0;overflow-wrap:anywhere; }
.editor-calendar-dialog { width:min(58rem,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;box-sizing:border-box;overflow-wrap:anywhere;color-scheme:dark; }
.editor-calendar-dialog [hidden] { display:none !important; }
.editor-calendar-controls { display:flex;flex-wrap:wrap;gap:12px;margin:16px 0;align-items:end; }
.editor-calendar-controls label { display:grid;gap:6px;flex:1 1 13rem;min-width:0; }
.editor-calendar-controls .editor-calendar-rebuild { display:flex;align-items:center;gap:8px;align-self:center; }
.editor-calendar-rebuild input { width:auto;flex:0 0 auto; }
.editor-calendar-dialog :is(select,textarea) { background:#080b10;color:inherit;border:1px solid var(--line,#26303d);padding:8px;font:inherit;box-sizing:border-box;max-width:100%; }
.editor-calendar-dialog textarea { width:100%;resize:vertical; }
.editor-calendar-dialog details > label { display:block;margin:12px 0; }
.editor-calendar-banks { display:flex;flex-wrap:wrap;gap:12px;margin:12px 0; }
.editor-calendar-banks label { display:flex;gap:8px;align-items:center; }
.editor-calendar-dialog summary { cursor:pointer;font-weight:600; }
.editor-calendar-previews { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0; }
.editor-calendar-previews figure { margin:0;min-width:0;text-align:center; }
.editor-calendar-previews img { display:block;width:100%;aspect-ratio:1;object-fit:contain;background:#000;border-radius:50%; }
.editor-calendar-previews figcaption { margin-top:8px;font-size:.85rem; }
.editor-calendar-sheet { display:block;max-width:100%;width:40rem;height:auto;margin:12px auto; }
.editor-calendar-actions,.editor-calendar-downloads { display:flex;flex-wrap:wrap;gap:8px;padding:12px 0; }
.editor-calendar-actions { position:sticky;bottom:-1px;background:var(--panel,#080b10);border-top:1px solid var(--line,#26303d); }
@media(max-width:540px) { .editor-calendar-actions button { flex:1 1 0;min-width:0;width:auto;white-space:normal; } .editor-calendar-downloads button { flex:1 1 8rem;white-space:normal; } }
@media(max-width:600px) { .editor-conversion-groups { grid-template-columns:minmax(0,1fr); } .editor-conversion-source > div { grid-template-columns:minmax(0,1fr);gap:2px; } .editor-conversion-actions button { flex:1 1 8rem;max-width:100%;white-space:normal; } }
@media(max-width:700px) { .editor-aod-dialog { width:calc(100vw - 24px);max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px); } .editor-aod-header { padding:18px; } .editor-aod-body { padding:18px; } .editor-aod-workspace { grid-template-columns:minmax(0,1fr);gap:20px; } .editor-aod-settings { border-left:0;border-top:1px solid var(--line,#26303d);padding:18px 0 0; } .editor-aod-controls { grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px; } .editor-aod-actions { padding:14px 18px; } }
@media(max-width:440px) { .editor-aod-header h2 { font-size:1.125rem; } .editor-aod-controls { grid-template-columns:minmax(0,1fr); } .editor-aod-actions { flex-wrap:wrap; } .editor-aod-actions > small { flex-basis:100%; } .editor-aod-actions > .button { flex:1 1 0;min-width:0;width:auto;white-space:normal; } .editor-aod-downloads button { flex:1 1 8rem;white-space:normal; } }

/* Snapshot-only presentation PNG export: the editor page stays fixed. */
.editor-image-export { box-sizing:border-box;width:min(54rem,calc(100vw - 24px));height:min(42rem,calc(100dvh - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:18px;overflow:hidden;color-scheme:dark;background:var(--panel,#090d13);color:var(--text,#f3f5f7);border:1px solid var(--border,#26303d); }
.editor-image-export::backdrop { background:#000b; }
.editor-image-export[open] { display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:14px; }
.editor-image-export header,.editor-image-export footer { display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0; }
.editor-image-export h2 { margin:0;font-size:1.25rem; }
.editor-image-export p { margin:4px 0 0;font-size:.85rem;overflow-wrap:anywhere; }
.editor-image-export__body { display:grid;grid-template-columns:minmax(0,1fr) minmax(12rem,15rem);gap:18px;min-height:0; }
.editor-image-export__preview { position:relative;min-width:0;min-height:0;overflow:hidden;display:grid;place-items:center;background-color:#171e27;background-image:linear-gradient(45deg,#252f3b 25%,transparent 25%),linear-gradient(-45deg,#252f3b 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#252f3b 75%),linear-gradient(-45deg,transparent 75%,#252f3b 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0; }
.editor-image-export__preview canvas { position:absolute;inset:0;margin:auto;display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain; }
.editor-image-export__preview[aria-busy=true] { opacity:.5; }
.editor-image-export__controls { min-width:0;min-height:0;display:grid;align-content:start;gap:10px;overflow:auto;overscroll-behavior:contain; }
.editor-image-export label { display:grid;gap:4px;font-size:.82rem;min-width:0; }
.editor-image-export select { width:100%;min-width:0;background:#080b10;color:inherit;border:1px solid var(--line,#26303d);font:inherit;padding:7px; }
.editor-image-export__presentation { font-weight:600;border-color:var(--accent,#428cff)!important; }
.editor-image-export input[type=color] { width:100%;height:32px;min-height:32px;padding:3px;background:#080b10;border:1px solid var(--line,#26303d); }
.editor-image-export__controls a { font-size:.78rem; }
.editor-image-export .editor-image-export__credit { display:flex;align-items:center;gap:7px;font-weight:400; }
.editor-image-export__credit input { accent-color:var(--accent,#428cff);margin:0; }
.editor-image-export footer button { flex:0 0 auto; }
.editor-image-export [hidden] { display:none!important; }
@media(max-width:620px) { .editor-image-export { padding:12px;gap:10px!important; } .editor-image-export__body { grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:10px; } .editor-image-export__controls { grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:13rem; } .editor-image-export footer { align-items:end; } .editor-image-export footer p { font-size:.75rem; } }

/* Mobile AOD controls retain a usable touch area. */
@media(max-width:700px) {
  .editor-aod-dialog .button,.editor-aod-dialog select { min-height:44px; }
  .editor-aod-close { flex-basis:44px;width:44px;height:44px; }
  .editor-aod-dialog summary { box-sizing:border-box;min-height:44px;padding-block:12px; }
  .editor-aod-controls input[type=range] { height:44px;margin-block:0; }
}
