.ed-body { margin: 0; height: 100vh; overflow: hidden; }
.ed-app { display: flex; flex-direction: column; height: 100vh; box-sizing: border-box; padding: 8px 12px; gap: 8px; }
.ed-top { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.ed-top .cz-title { margin: 0; font-size: 22px; }
.ed-btns { display: flex; gap: 6px; flex-wrap: wrap; margin-left: auto; align-items: center; }
.ed-btns button { font: inherit; font-weight: 700; font-size: 14px; padding: 7px 14px; border-radius: 999px; border: 2px solid #19c155; background: #fff; color: #0b3d1e; cursor: pointer; }
.ed-btns button:hover, .ed-btns button:focus-visible { background: #e6f9ec; outline: none; }
.ed-btns button.primary { background: #19c155; color: #fff; }
.ed-btns select { width: 170px; }
.ed-btns select, .ed-row select, .ed-row input { font: inherit; padding: 4px 6px; border-radius: 8px; border: 1px solid #ccc; }
.ed-main { flex: 1; min-height: 0; display: grid; grid-template-columns: 250px 1fr 270px; gap: 10px; }
.ed-pal, .ed-help { overflow: auto; background: rgba(255,255,255,.75); border-radius: 14px; padding: 8px 10px; font-size: 13px; }
.ed-row { display: flex; justify-content: space-between; align-items: center; gap: 6px; margin: 3px 0; }
.ed-row input { width: 140px; }
.ed-h { font-weight: 800; margin: 8px 0 4px; }
.ed-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; }
.ed-grid button { font: inherit; font-size: 10px; line-height: 1.1; padding: 3px 2px; min-height: 40px; border-radius: 8px; border: 2px solid transparent; background: #f4f4f6; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 2px; }
.ed-grid button i { display: block; width: 18px; height: 18px; border-radius: 4px; font-style: normal; font-size: 13px; line-height: 18px; text-align: center; }
.ed-grid button[aria-pressed="true"] { border-color: #19c155; background: #e6f9ec; }
.ed-stage { min-height: 0; display: flex; align-items: center; justify-content: center; }
.ed-stage canvas { max-width: 100%; max-height: 100%; aspect-ratio: 1; background: #111; border-radius: 10px; cursor: crosshair; touch-action: none; }
.ed-help p { margin: 4px 0; line-height: 1.35; }
.ed-help textarea { width: 100%; box-sizing: border-box; font: 11px monospace; border-radius: 8px; }
.ed-msg { margin-top: 6px; font-weight: 600; min-height: 2.4em; }
.ed-msg.bad { color: #c0392b; }
