.map-editor{display:flex;flex-direction:column;gap:.6rem;width:100%}.map-editor__toolbar{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.75rem}.map-editor__actions,.map-editor__palette{display:flex;flex-wrap:wrap;gap:.4rem}.map-editor button{background:#2a2440;border:1px solid #555;border-radius:6px;color:#ece8f5;cursor:pointer;font:inherit;font-size:.875rem;padding:.35rem .75rem;transition:background .12s,border-color .12s}.map-editor button:focus-visible,.map-editor button:hover{background:#3a3460;border-color:#ece8f5;outline:2px solid #ffd34d;outline-offset:1px}.map-editor button:disabled{cursor:not-allowed;opacity:.45}.map-editor__palette-item{border-left:5px solid var(--swatch,#47a)}.map-editor__link-hint{align-items:center;background:#c45a9226;border:1px solid #c45a92;border-radius:6px;color:#e07bb0;display:inline-flex;font-size:.85rem;gap:.6rem;padding:.25rem .6rem}.map-editor__edit{background:#1e1929;border:1px solid #3a3150;border-radius:8px;display:flex;flex-direction:column;gap:.5rem;padding:.75rem 1rem}.map-editor__edit-row{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.map-editor__edit-label{color:#b3a9c7;font-size:.875rem;white-space:nowrap}.map-editor__edit-input{background:#14111c;border:1px solid #3a3150;border-radius:6px;color:#ece8f5;font:inherit;font-size:.875rem;min-width:12rem;padding:.3rem .6rem}.map-editor__edit-input:focus{border-color:#ffd34d;outline:2px solid #ffd34d;outline-offset:1px}.map-editor__desk-section,.map-editor__human-section{border-top:1px solid #3a3150;display:flex;flex-direction:column;gap:.5rem;padding-top:.5rem}.map-editor__seg{border:1px solid #555;border-radius:6px;display:flex;gap:0;overflow:hidden}.map-editor__seg-btn{border:none!important;border-radius:0!important;border-right:1px solid #555!important;font-size:.85rem;padding:.3rem .6rem}.map-editor__seg-btn:last-child{border-right:none!important}.map-editor__seg-btn.is-active{background:#c45a92!important;color:#fff}.map-editor__gen-label{color:#b3a9c7;display:flex;flex-direction:column;font-size:.8rem;gap:.15rem}.map-editor__gen-input{background:#14111c;border:1px solid #3a3150;border-radius:6px;color:#ece8f5;font:inherit;font-size:.875rem;padding:.25rem .4rem;width:4.5rem}.map-editor__gen-btn{align-self:flex-end;background:#c45a92!important;border-color:#e07bb0!important;color:#fff}.map-editor__gen-btn:hover{background:#e07bb0!important}.map-editor__group-chips{display:flex;flex-wrap:wrap;gap:.35rem}.map-editor__group-chip{background:var(--chip-color,#3a3150);border:2px solid transparent;border-radius:999px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:600;opacity:.7;padding:.2rem .75rem;transition:opacity .12s,border-color .12s}.map-editor__group-chip.is-active{border-color:#ffd34d;opacity:1}.map-editor__group-chip:hover{border-color:#ffffff80;opacity:1}.map-editor__add-group-btn{background:transparent!important;border-color:#3a3150!important;color:#b3a9c7!important;font-size:.8rem;padding:.2rem .5rem}.map-editor__new-group{align-items:center;background:#14111c;border:1px dashed #c45a92;border-radius:8px;display:flex;flex-wrap:wrap;gap:.5rem;padding:.6rem .75rem}.map-editor__new-group-title{color:#e07bb0;font-size:.8rem;font-weight:600;white-space:nowrap}.map-editor__confirm-group-btn{background:#c45a92!important;border-color:#e07bb0!important;color:#fff!important}.map-editor__confirm-group-btn:hover{background:#e07bb0!important}.map-editor__color-swatches{display:flex;gap:.35rem}.map-editor__color-swatch{border:2px solid transparent;border-radius:50%;cursor:pointer;height:22px;transition:border-color .12s,transform .12s;width:22px}.map-editor__color-swatch:hover{transform:scale(1.2)}.map-editor__color-swatch.is-selected{border-color:#ffd34d}.map-editor__link-btn{background:#261f35!important;border-color:#c45a92!important;color:#e07bb0!important;font-size:.85rem}.map-editor__link-btn.is-active,.map-editor__link-btn:hover{background:#c45a92!important;color:#fff!important}.map-editor__link-btn.is-active{opacity:1}.map-editor__link-tip{color:#8b7fa6;font-size:.78rem;font-style:italic;margin:0}.map-editor__canvas{aspect-ratio:297/210;background:#fafafa;border:1px solid #555;border-radius:8px;overflow:hidden;position:relative;width:100%}.map-editor__canvas:focus-visible{outline:2px solid #ffd34d;outline-offset:2px}
