#editorScene { min-height: 100svh; }
.editor-layout { display: grid; width: min(100%,var(--content-wide)); margin: 0 auto; grid-template-columns: minmax(530px,1fr) minmax(300px,340px); align-items: start; gap: clamp(18px,2.4vw,30px); }
.editor-canvas-card { display: grid; padding: 22px; grid-template-columns: 72px minmax(0,1fr); grid-template-rows: auto auto auto; gap: 16px 18px; border-radius: var(--panel-radius); }
.editor-card-title { display: flex; min-height: 30px; margin: 0; grid-column: 1/-1; align-items: center; justify-content: space-between; gap: 10px; }
.editor-card-title strong { font-size: 18px; }
.editor-card-title span { color: var(--muted); font-size: 10px; }
.editor-tools { display: flex; margin: 0; grid-column: 1; grid-row: 2; flex-direction: column; gap: 10px; }
.editor-tool { width: 72px; min-height: 52px; padding: 0 5px; border: 1px solid var(--line); border-radius: 10px; color: #aab8ca; background: var(--panel-deep); font-size: 11px; font-weight: 900; letter-spacing: .1em; transition: .18s; }
.editor-tool.is-active { border-color: #bce2ff; color: #fff; background: linear-gradient(#76beff,var(--accent)); box-shadow: inset 0 2px rgba(255,255,255,.52), 0 5px var(--accent-dark), 0 0 13px var(--accent-glow); }
.editor-board { width: min(59svh,calc(100vw - 540px),540px); max-width: 100%; grid-column: 2; grid-row: 2; justify-self: center; }
.editor-board.is-grabbing { cursor: grabbing; }
.palette { display: flex; min-height: 54px; margin-top: 2px; grid-column: 2; grid-row: 3; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px; }
#editorScene[data-editor-tool="move"] .palette { opacity: .28; filter: grayscale(.8); pointer-events: none; }
#editorScene[data-editor-tool="move"] .editor-board { cursor: grab; }

.editor-settings { display: flex; width: 100%; max-height: calc(100svh - 118px); padding: 22px; overflow: auto; flex-direction: column; gap: 15px; border-radius: var(--panel-radius); overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: var(--accent) var(--panel-deep); }
.editor-level-loader { display:grid; grid-template-columns:minmax(0,1fr) 70px; align-items:end; gap:8px; padding:10px; border:1px solid rgba(101,180,255,.2); border-radius:12px; background:rgba(52,124,242,.06); }
.editor-level-loader label { display:flex; min-width:0; color:#b0bed1; font-size:11px; font-weight:800; flex-direction:column; gap:7px; }
.editor-level-loader .text-button { min-height:46px; }
.editor-settings > label,
.editor-settings fieldset label { display: flex; color: #b0bed1; font-size: 11px; font-weight: 800; flex-direction: column; gap: 7px; }
.editor-settings input,
.editor-settings select { width: 100%; min-height: 46px; padding: 0 13px; border: 1px solid rgba(101,180,255,.19); border-radius: 10px; color: #fff; background: #091221; box-shadow: inset 0 2px 5px rgba(0,0,0,.45); font: inherit; font-weight: 800; }
.editor-settings input:focus,
.editor-settings select:focus,
.editor-output:focus { border-color: var(--accent); box-shadow: inset 0 2px 5px rgba(0,0,0,.5), 0 0 0 3px rgba(52,124,242,.18); }
.editor-level-number-field { padding:12px; border:2px solid rgba(255,232,95,.5); border-radius:13px; background:rgba(255,198,32,.1); }
.editor-level-number-field small { color:#ffe86a; font-size:9px; line-height:1.45; }
.editor-settings fieldset { display: grid; margin: 0; padding: 15px; grid-template-columns: repeat(3,1fr); gap: 10px; border: 1px solid var(--line); border-radius: 13px; }
.editor-settings legend { padding: 0 7px; color: #9eacc0; font-size: 10px; font-weight: 900; }
.editor-settings fieldset label { color: var(--gold); }
.editor-generator { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
.editor-advanced-rules { grid-template-columns: 1.35fr .65fr !important; }
.editor-special-rules { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
.editor-special-rules label:first-of-type { grid-column: 1/-1; }
.editor-link-coordinate { display: none !important; }
.editor-special-rules:has(#editorSpecialType option[value="link"]:checked) .editor-link-coordinate { display: flex !important; }
.editor-utility-buttons { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.editor-utility-buttons button { min-height: 44px; min-width: 0; padding-inline: 7px; font-size: 9px; }
.editor-buttons { position: sticky; z-index: 4; bottom: 0; display: grid; padding: 8px 0 11px; grid-template-columns: .8fr 1.2fr; gap: 12px; background: linear-gradient(transparent,#101725 22%); }
.editor-buttons .brick-button { min-width: 0; min-height: 52px; padding-inline: 12px; font-size: 11px; }
.editor-output { width: 100%; min-height: 100px; resize: vertical; padding: 11px; border: 1px solid rgba(101,180,255,.19); border-radius: 11px; color: #b7c6d9; background: #091221; box-shadow: inset 0 2px 7px rgba(0,0,0,.55); font-family: var(--casual-font); font-size: 11.5px; font-weight: 700; line-height: 1.55; letter-spacing: .015em; }
.editor-message { min-height: 34px; margin: 3px 0 0; color: #8acaff; font-size: 11px; line-height: 1.45; }
.editor-message.is-error { color: var(--danger-light); }
.editor-message.is-success { color: #9dffa6; }

.editor-danger-zone {
  display: flex;
  padding: 13px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid rgba(255, 97, 116, .2);
  border-radius: 13px;
  background: rgba(92, 18, 34, .12);
}
.editor-danger-zone > div {
  display: grid;
  min-width: 0;
  gap: 3px;
}
.editor-danger-zone strong {
  color: var(--danger-light);
  font-size: 9px;
  letter-spacing: .1em;
}
.editor-danger-zone span {
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
  line-height: 1.35;
}
.editor-danger-zone .text-button { flex: 0 0 auto; }
