.editor { color: var(--text, #f5efdc); background: var(--bg, #111b1c); min-height: 100vh; padding: 28px clamp(16px, 3vw, 48px) 64px; font: 14px/1.5 system-ui, sans-serif; }
.editor * { box-sizing: border-box; }
.editor h2, .editor h3, .editor h4, .editor p { margin-top: 0; }
.editor h2 { font: 32px/1.2 Georgia, serif; margin-bottom: 8px; }
.editor h3 { font: 23px/1.25 Georgia, serif; margin-bottom: 20px; color: #f5e4bd; }
.editor h4 { font-size: 15px; margin: 18px 0 12px; }
.editor button, .ed-import, .ed-upload { font: inherit; color: var(--text, #f5efdc); background: #25332f; border: 1px solid var(--line, #34443d); border-radius: 7px; padding: 9px 13px; cursor: pointer; transition: background .16s, border-color .16s; }
.editor button:hover, .ed-import:hover, .ed-upload:hover { background: #34483c; border-color: #8a8059; }
.editor button:focus-visible, .editor input:focus-visible, .editor select:focus-visible, .editor textarea:focus-visible, .ed-import:focus-within, .ed-upload:focus-within { outline: 2px solid var(--gold, #e9be69); outline-offset: 3px; }
.editor .ed-primary { background: #e9be69; color: #1d241e; border-color: #e9be69; font-weight: 750; }
.editor .ed-primary:hover { background: #f3d596; }
.editor .ed-active { background: #34493a; border-color: #bd9f61; color: #ffe1a4; }
.editor .ed-text { padding: 5px 8px; background: transparent; border-color: transparent; font-size: 12px; }
.editor .ed-danger { color: #efa592; }
.ed-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 25px; }
.ed-eyebrow { display: block; color: var(--gold, #e9be69); font-size: 10px; letter-spacing: .2em; margin-bottom: 8px; }
.ed-header p { color: var(--muted, #a5b3a5); font-size: 12px; margin-bottom: 0; }
.ed-header-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }
.ed-import, .ed-upload { display: inline-block; position: relative; overflow: hidden; }
.ed-import input, .ed-upload input { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; }
.ed-message { padding: 14px 18px; border: 1px solid #5a765c; border-radius: 8px; background: #20392b; margin: 0 0 20px; white-space: pre-line; max-height: 240px; overflow: auto; }
.ed-message.ed-error { border-color: #b86c54; background: #412b24; color: #ffd1be; }
.ed-tabs { display: flex; gap: 8px; border-bottom: 1px solid var(--line, #34443d); padding-bottom: 18px; margin-bottom: 24px; }
.ed-tabs button { min-width: 125px; }
.ed-tabs span { margin-left: 8px; opacity: .55; font-size: 12px; }
.ed-workspace { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 26px; max-width: 1500px; margin: auto; }
.ed-sidebar { align-self: start; position: sticky; top: 18px; }
.ed-list { display: grid; gap: 8px; margin-bottom: 18px; }
.ed-list button { display: flex; align-items: center; gap: 12px; text-align: left; overflow: hidden; }
.ed-list button > span:last-child { min-width: 0; }
.ed-list small { display: block; color: var(--muted, #a5b3a5); font-size: 9px; margin-top: 4px; overflow: hidden; text-overflow: ellipsis; }
.ed-entity-icon { font-size: 23px; color: #d3ba7e; }
.editor .ed-full { width: 100%; margin-bottom: 8px; }
.ed-sidebar .ed-hint { margin-top: 20px; }
.ed-section { background: var(--panel, #1b2828); border: 1px solid var(--line, #34443d); border-radius: 12px; padding: 24px; margin-bottom: 20px; }
.ed-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.ed-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; margin-bottom: 12px; }
.ed-field > span { font-size: 12px; color: #c3cdbc; }
.ed-field input, .ed-field textarea, .ed-field select { width: 100%; color: #f5efdc; background: #111d1b; border: 1px solid #3d5043; border-radius: 6px; font: inherit; padding: 10px 11px; min-height: 42px; }
.ed-field textarea { resize: vertical; }
.ed-field input[type="color"] { padding: 5px; width: 80px; height: 42px; }
.ed-field small, .ed-hint { color: #a5b3a5; font-size: 12px; line-height: 1.6; font-weight: normal; }
.ed-wide { grid-column: 1 / -1; }
.ed-effects { border: 1px solid #3d5043; border-radius: 7px; padding: 12px 14px; margin: 16px 0 0; display: flex; flex-wrap: wrap; gap: 12px 20px; }
.ed-effects legend { font-size: 12px; color: #c3cdbc; padding: 0 6px; }
.ed-effects label { display: flex; align-items: center; gap: 7px; font-size: 12px; cursor: pointer; }
.ed-effects input { accent-color: #e9be69; width: 16px; height: 16px; }
.ed-dot { width: 7px; height: 7px; border-radius: 50%; }
.ed-map-toolbar { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 12px; }
.ed-map-toolbar button { padding: 7px 10px; font-size: 12px; }
.ed-map { display: block; width: 100%; height: auto; border-radius: 8px; border: 1px solid #627653; cursor: crosshair; touch-action: manipulation; }
.ed-map-caption { display: flex; justify-content: space-between; gap: 10px; font-size: 11px; color: #a5b3a5; margin-top: 10px; }
.ed-wave-layout { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 18px; }
.ed-wave-list { display: grid; align-content: start; gap: 8px; }
.ed-wave-list button { text-align: left; }
.ed-wave-list b { display: block; font-size: 12px; }
.ed-wave-list span { display: block; color: #a5b3a5; font-size: 10px; margin-top: 5px; }
.ed-card { background: #16231f; border: 1px solid #3a4c3f; border-radius: 8px; padding: 17px; min-width: 0; }
.ed-card-head { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 16px; }
.ed-card-head h4 { margin: 0; }
.ed-card-head b { font-size: 12px; }
.ed-nested { background: #1b2c24; padding: 15px; border: 1px solid #3a4c3f; border-radius: 7px; margin-bottom: 12px; }
.ed-level-tabs { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 22px; }
.ed-level-tabs button { font-size: 12px; }
.ed-upgrades { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.ed-upgrades h4 { margin-top: 0; color: #e9be69; }
.ed-asset { display: grid; grid-template-columns: 88px minmax(0, 1fr); align-items: center; gap: 16px; padding: 15px; border: 1px dashed #53634d; border-radius: 8px; }
.ed-asset-preview { width: 80px; height: 80px; display: grid; place-items: center; border-radius: 8px; border: 1px solid #3d5043; background-color: #14221d; background-size: contain; background-repeat: no-repeat; background-position: center; }
.ed-asset-preview span { font-size: 42px; }
.ed-asset-preview.ed-has-image span { visibility: hidden; }
.ed-asset-preview.ed-animated.ed-has-image { background-size: 600% 100%; animation: ed-sprite 1s steps(6) infinite; }
.ed-upload { padding: 6px 10px; font-size: 12px; }
@keyframes ed-sprite { from { background-position: 0 0; } to { background-position: 120% 0; } }
@media (prefers-reduced-motion: reduce) { .ed-asset-preview.ed-animated.ed-has-image { animation: none; } }
@media (max-width: 1000px) { .ed-header { align-items: flex-start; flex-direction: column; }.ed-header-actions { justify-content: flex-start; }.ed-workspace { grid-template-columns: 170px minmax(0, 1fr); gap: 15px; }.ed-wave-layout { grid-template-columns: 1fr; }.ed-wave-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }.ed-section { padding: 18px; } }
@media (max-width: 680px) { .editor { padding: 20px 12px 40px; }.ed-tabs { overflow-x: auto; }.ed-tabs button { min-width: 90px; }.ed-workspace { grid-template-columns: 1fr; }.ed-sidebar { position: static; }.ed-list { display: flex; overflow-x: auto; }.ed-list button { min-width: 160px; }.editor .ed-full { width: auto; margin-right: 5px; }.ed-sidebar .ed-hint { margin: 8px 0 0; }.ed-grid, .ed-upgrades { grid-template-columns: 1fr; gap: 8px; }.ed-header-actions button, .ed-import { padding: 8px 10px; font-size: 12px; }.ed-asset { grid-template-columns: 1fr; }.ed-map-caption { flex-direction: column; }.ed-card, .ed-nested { padding: 12px; } }
